DRA API: rename DeviceCapacity.Quantity to DeviceCapacity.Value

Based on review
feedback (https://github.com/kubernetes/kubernetes/pull/127511#discussion_r1823521172).
This commit is contained in:
Patrick Ohly 2024-10-31 21:30:28 +01:00
parent 0b8a85c54a
commit 30f5282656
23 changed files with 164 additions and 165 deletions

View File

@ -16343,13 +16343,13 @@
"io.k8s.api.resource.v1beta1.DeviceCapacity": { "io.k8s.api.resource.v1beta1.DeviceCapacity": {
"description": "DeviceCapacity describes a quantity associated with a device.", "description": "DeviceCapacity describes a quantity associated with a device.",
"properties": { "properties": {
"quantity": { "value": {
"$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity", "$ref": "#/definitions/io.k8s.apimachinery.pkg.api.resource.Quantity",
"description": "Quantity defines how much of a certain device capacity is available." "description": "Value defines how much of a certain device capacity is available."
} }
}, },
"required": [ "required": [
"quantity" "value"
], ],
"type": "object" "type": "object"
}, },

View File

@ -264,17 +264,17 @@
"io.k8s.api.resource.v1beta1.DeviceCapacity": { "io.k8s.api.resource.v1beta1.DeviceCapacity": {
"description": "DeviceCapacity describes a quantity associated with a device.", "description": "DeviceCapacity describes a quantity associated with a device.",
"properties": { "properties": {
"quantity": { "value": {
"allOf": [ "allOf": [
{ {
"$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity" "$ref": "#/components/schemas/io.k8s.apimachinery.pkg.api.resource.Quantity"
} }
], ],
"description": "Quantity defines how much of a certain device capacity is available." "description": "Value defines how much of a certain device capacity is available."
} }
}, },
"required": [ "required": [
"quantity" "value"
], ],
"type": "object" "type": "object"
}, },

View File

@ -219,10 +219,10 @@ type BasicDevice struct {
// DeviceCapacity describes a quantity associated with a device. // DeviceCapacity describes a quantity associated with a device.
type DeviceCapacity struct { type DeviceCapacity struct {
// Quantity defines how much of a certain device capacity is available. // Value defines how much of a certain device capacity is available.
// //
// +required // +required
Quantity resource.Quantity Value resource.Quantity
// potential future addition: fields which define how to "consume" // potential future addition: fields which define how to "consume"
// capacity (= share a single device between different consumers). // capacity (= share a single device between different consumers).

View File

@ -42,11 +42,11 @@ func addConversionFuncs(scheme *runtime.Scheme) error {
} }
func Convert_resource_DeviceCapacity_To_resource_Quantity(in *resourceapi.DeviceCapacity, out *resource.Quantity, s conversion.Scope) error { func Convert_resource_DeviceCapacity_To_resource_Quantity(in *resourceapi.DeviceCapacity, out *resource.Quantity, s conversion.Scope) error {
*out = in.Quantity *out = in.Value
return nil return nil
} }
func Convert_resource_Quantity_To_resource_DeviceCapacity(in *resource.Quantity, out *resourceapi.DeviceCapacity, s conversion.Scope) error { func Convert_resource_Quantity_To_resource_DeviceCapacity(in *resource.Quantity, out *resourceapi.DeviceCapacity, s conversion.Scope) error {
out.Quantity = *in out.Value = *in
return nil return nil
} }

View File

@ -530,7 +530,7 @@ func Convert_resource_DeviceAttribute_To_v1beta1_DeviceAttribute(in *resource.De
} }
func autoConvert_v1beta1_DeviceCapacity_To_resource_DeviceCapacity(in *resourcev1beta1.DeviceCapacity, out *resource.DeviceCapacity, s conversion.Scope) error { func autoConvert_v1beta1_DeviceCapacity_To_resource_DeviceCapacity(in *resourcev1beta1.DeviceCapacity, out *resource.DeviceCapacity, s conversion.Scope) error {
out.Quantity = in.Quantity out.Value = in.Value
return nil return nil
} }
@ -540,7 +540,7 @@ func Convert_v1beta1_DeviceCapacity_To_resource_DeviceCapacity(in *resourcev1bet
} }
func autoConvert_resource_DeviceCapacity_To_v1beta1_DeviceCapacity(in *resource.DeviceCapacity, out *resourcev1beta1.DeviceCapacity, s conversion.Scope) error { func autoConvert_resource_DeviceCapacity_To_v1beta1_DeviceCapacity(in *resource.DeviceCapacity, out *resourcev1beta1.DeviceCapacity, s conversion.Scope) error {
out.Quantity = in.Quantity out.Value = in.Value
return nil return nil
} }

View File

@ -40,7 +40,7 @@ func testAttributes() map[resourceapi.QualifiedName]resourceapi.DeviceAttribute
func testCapacity() map[resourceapi.QualifiedName]resourceapi.DeviceCapacity { func testCapacity() map[resourceapi.QualifiedName]resourceapi.DeviceCapacity {
return map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{ return map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
"memory": {Quantity: resource.MustParse("1Gi")}, "memory": {Value: resource.MustParse("1Gi")},
} }
} }
@ -418,7 +418,7 @@ func TestValidateResourceSlice(t *testing.T) {
slice.Spec.Devices[1].Basic.Attributes = map[resourceapi.QualifiedName]resourceapi.DeviceAttribute{} slice.Spec.Devices[1].Basic.Attributes = map[resourceapi.QualifiedName]resourceapi.DeviceAttribute{}
slice.Spec.Devices[1].Basic.Capacity = map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{} slice.Spec.Devices[1].Basic.Capacity = map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{}
quantity := resource.MustParse("1Gi") quantity := resource.MustParse("1Gi")
capacity := resourceapi.DeviceCapacity{Quantity: quantity} capacity := resourceapi.DeviceCapacity{Value: quantity}
for i := 0; i < resourceapi.ResourceSliceMaxAttributesAndCapacitiesPerDevice; i++ { for i := 0; i < resourceapi.ResourceSliceMaxAttributesAndCapacitiesPerDevice; i++ {
slice.Spec.Devices[1].Basic.Capacity[resourceapi.QualifiedName(fmt.Sprintf("cap_%d", i))] = capacity slice.Spec.Devices[1].Basic.Capacity[resourceapi.QualifiedName(fmt.Sprintf("cap_%d", i))] = capacity
} }

View File

@ -206,7 +206,7 @@ func (in *DeviceAttribute) DeepCopy() *DeviceAttribute {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeviceCapacity) DeepCopyInto(out *DeviceCapacity) { func (in *DeviceCapacity) DeepCopyInto(out *DeviceCapacity) {
*out = *in *out = *in
out.Quantity = in.Quantity.DeepCopy() out.Value = in.Value.DeepCopy()
return return
} }

View File

@ -47892,14 +47892,14 @@ func schema_k8sio_api_resource_v1beta1_DeviceCapacity(ref common.ReferenceCallba
Description: "DeviceCapacity describes a quantity associated with a device.", Description: "DeviceCapacity describes a quantity associated with a device.",
Type: []string{"object"}, Type: []string{"object"},
Properties: map[string]spec.Schema{ Properties: map[string]spec.Schema{
"quantity": { "value": {
SchemaProps: spec.SchemaProps{ SchemaProps: spec.SchemaProps{
Description: "Quantity defines how much of a certain device capacity is available.", Description: "Value defines how much of a certain device capacity is available.",
Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"), Ref: ref("k8s.io/apimachinery/pkg/api/resource.Quantity"),
}, },
}, },
}, },
Required: []string{"quantity"}, Required: []string{"value"},
}, },
}, },
Dependencies: []string{ Dependencies: []string{

View File

@ -985,124 +985,123 @@ func init() {
} }
var fileDescriptor_ba331e3ec6484c27 = []byte{ var fileDescriptor_ba331e3ec6484c27 = []byte{
// 1862 bytes of a gzipped FileDescriptorProto // 1855 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x59, 0xcb, 0x6f, 0x1c, 0x49, 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x19, 0xcd, 0x6f, 0xdc, 0x58,
0x19, 0x77, 0xbb, 0xed, 0xf1, 0xf8, 0x1b, 0xbf, 0x52, 0x81, 0xc5, 0xeb, 0x88, 0x99, 0xa4, 0x23, 0x3d, 0x1e, 0x67, 0x26, 0xc9, 0x6f, 0xf2, 0xd5, 0x57, 0x58, 0xb2, 0xa9, 0x98, 0x69, 0x5d, 0x09,
0xc1, 0x6c, 0x36, 0xe9, 0x49, 0x0c, 0x44, 0x51, 0xb8, 0x30, 0xed, 0x78, 0x23, 0x43, 0xe2, 0x78, 0x66, 0xbb, 0xad, 0xa7, 0x09, 0x50, 0x55, 0xe5, 0xc2, 0x38, 0xc9, 0x56, 0x81, 0x26, 0xcd, 0xbe,
0xcb, 0x6c, 0x88, 0x96, 0x5d, 0x44, 0x4d, 0x4f, 0x65, 0xdc, 0xb8, 0xa7, 0xbb, 0xd3, 0x5d, 0x6d, 0xb0, 0xa1, 0x5a, 0x76, 0x11, 0x6f, 0x3c, 0x2f, 0x13, 0x13, 0x8f, 0xed, 0xda, 0xcf, 0x61, 0x73,
0xd6, 0x07, 0x04, 0xda, 0xf3, 0x0a, 0x71, 0x47, 0x5c, 0x91, 0x90, 0x38, 0xf0, 0x17, 0x80, 0x04, 0x40, 0xa0, 0x3d, 0xaf, 0x10, 0x77, 0xc4, 0x15, 0x09, 0x89, 0x03, 0x7f, 0x01, 0x48, 0x20, 0xa4,
0x42, 0x8a, 0x38, 0xc0, 0x0a, 0x2e, 0x2b, 0x0e, 0x03, 0x99, 0xbd, 0x70, 0xe3, 0x9e, 0x13, 0xaa, 0x8a, 0x03, 0xac, 0xe0, 0xb2, 0xe2, 0x30, 0xd0, 0xd9, 0x0b, 0x37, 0xee, 0x39, 0x21, 0x3f, 0x3f,
0xea, 0xea, 0xe7, 0x4c, 0x0f, 0x6d, 0xb4, 0x58, 0xbb, 0xb7, 0xe9, 0xef, 0x5d, 0xdf, 0xa3, 0xbe, 0x7f, 0xce, 0x78, 0x70, 0xd0, 0x12, 0xed, 0xde, 0xc6, 0xbf, 0xef, 0xef, 0xdf, 0xcf, 0x1e, 0x78,
0x5f, 0xf7, 0xc0, 0xeb, 0xc7, 0x77, 0x02, 0xdd, 0x72, 0x3b, 0xc4, 0xb3, 0x3a, 0x3e, 0x0d, 0xdc, 0xfd, 0xf4, 0xa1, 0xa7, 0x1a, 0x76, 0x9b, 0x38, 0x46, 0xdb, 0xa5, 0x9e, 0xed, 0xbb, 0x3a, 0x6d,
0xd0, 0x37, 0x69, 0xe7, 0xe4, 0x56, 0x8f, 0x32, 0x72, 0xab, 0x33, 0xa0, 0x0e, 0xf5, 0x09, 0xa3, 0x9f, 0x6d, 0x74, 0x29, 0x23, 0x1b, 0xed, 0x3e, 0xb5, 0xa8, 0x4b, 0x18, 0xed, 0xa9, 0x8e, 0x6b,
0x7d, 0xdd, 0xf3, 0x5d, 0xe6, 0xa2, 0x4b, 0x91, 0xb0, 0x4e, 0x3c, 0x4b, 0x8f, 0x85, 0x75, 0x29, 0x33, 0x1b, 0xdd, 0x08, 0x89, 0x55, 0xe2, 0x18, 0x6a, 0x44, 0xac, 0x0a, 0xe2, 0xf5, 0x7b, 0x7d,
0xbc, 0x75, 0x63, 0x60, 0xb1, 0xa3, 0xb0, 0xa7, 0x9b, 0xee, 0xb0, 0x33, 0x70, 0x07, 0x6e, 0x47, 0x83, 0x9d, 0xf8, 0x5d, 0x55, 0xb7, 0x07, 0xed, 0xbe, 0xdd, 0xb7, 0xdb, 0x9c, 0xa7, 0xeb, 0x1f,
0xe8, 0xf4, 0xc2, 0xa7, 0xe2, 0x49, 0x3c, 0x88, 0x5f, 0x91, 0xad, 0x2d, 0x2d, 0xe3, 0xd8, 0x74, 0xf3, 0x27, 0xfe, 0xc0, 0x7f, 0x85, 0xb2, 0xd6, 0x95, 0x94, 0x62, 0xdd, 0x76, 0x03, 0xa5, 0x79,
0x7d, 0xee, 0xb4, 0xe8, 0x6f, 0xeb, 0xab, 0xa9, 0xcc, 0x90, 0x98, 0x47, 0x96, 0x43, 0xfd, 0xd3, 0x7d, 0xeb, 0x5f, 0x4d, 0x68, 0x06, 0x44, 0x3f, 0x31, 0x2c, 0xea, 0x9e, 0xb7, 0x9d, 0xd3, 0x7e,
0x8e, 0x77, 0x3c, 0xc8, 0x47, 0x7b, 0x16, 0xad, 0xa0, 0x33, 0xa4, 0x8c, 0x4c, 0xf3, 0xd5, 0x29, 0xd6, 0xda, 0xcb, 0x70, 0x79, 0xed, 0x01, 0x65, 0x64, 0x92, 0xae, 0x76, 0x11, 0x97, 0xeb, 0x5b,
0xd3, 0xf2, 0x43, 0x87, 0x59, 0xc3, 0x49, 0x37, 0xb7, 0xff, 0x9b, 0x42, 0x60, 0x1e, 0xd1, 0x21, 0xcc, 0x18, 0x8c, 0xab, 0x79, 0xf0, 0xdf, 0x18, 0x3c, 0xfd, 0x84, 0x0e, 0x48, 0x9e, 0x4f, 0xf9,
0x29, 0xea, 0x69, 0x7f, 0x52, 0x60, 0xa3, 0x6b, 0xdb, 0xae, 0x49, 0x98, 0xe5, 0x3a, 0x98, 0x06, 0x93, 0x04, 0xab, 0x1d, 0xd3, 0xb4, 0x75, 0xc2, 0x0c, 0xdb, 0xc2, 0xd4, 0xf3, 0x4d, 0x86, 0xbe,
0xa1, 0xcd, 0xd0, 0xf7, 0x60, 0xa9, 0x4f, 0x4f, 0x2c, 0x93, 0x06, 0x9b, 0xca, 0x65, 0xa5, 0xdd, 0x07, 0x73, 0x3d, 0x7a, 0x66, 0xe8, 0xd4, 0x5b, 0x93, 0x6e, 0x4a, 0xad, 0xfa, 0xe6, 0x57, 0xd4,
0xd8, 0xfe, 0x8a, 0x3e, 0x23, 0xd7, 0xfa, 0x3d, 0x21, 0x5b, 0xb4, 0x62, 0xac, 0x3f, 0x1f, 0xb5, 0x29, 0xb1, 0x56, 0xb7, 0x39, 0x6d, 0x5e, 0x8a, 0xb6, 0xf2, 0x62, 0xd8, 0x9c, 0x19, 0x0d, 0x9b,
0xe6, 0xc6, 0xa3, 0xd6, 0x52, 0xc4, 0x0f, 0x70, 0x6c, 0x14, 0x3d, 0x86, 0x15, 0xc7, 0xed, 0xd3, 0x73, 0x21, 0xde, 0xc3, 0x91, 0x50, 0x74, 0x04, 0x8b, 0x96, 0xdd, 0xa3, 0x87, 0xd4, 0xa4, 0x3a,
0x43, 0x6a, 0x53, 0x93, 0xb9, 0xfe, 0xa6, 0x2a, 0x9c, 0x5c, 0xce, 0x3a, 0xe1, 0x45, 0xd0, 0x4f, 0xb3, 0xdd, 0x35, 0x99, 0x2b, 0xb9, 0x99, 0x56, 0x12, 0x24, 0x41, 0x3d, 0xdb, 0x50, 0xf7, 0x53,
0x6e, 0xe9, 0xfb, 0x19, 0x39, 0x63, 0x63, 0x3c, 0x6a, 0xad, 0x64, 0x29, 0x38, 0x67, 0x47, 0xfb, 0x74, 0xda, 0xea, 0x68, 0xd8, 0x5c, 0x4c, 0x43, 0x70, 0x46, 0x8e, 0xf2, 0x77, 0x19, 0xea, 0x1a,
0xbb, 0x0a, 0x0d, 0x83, 0x04, 0x96, 0x19, 0x79, 0x44, 0x3f, 0x02, 0x20, 0x8c, 0xf9, 0x56, 0x2f, 0xf1, 0x0c, 0x3d, 0xd4, 0x88, 0x7e, 0x04, 0x40, 0x18, 0x73, 0x8d, 0xae, 0xcf, 0xb8, 0x2b, 0x72,
0x64, 0xe2, 0x28, 0x6a, 0xbb, 0xb1, 0x7d, 0x67, 0xe6, 0x51, 0x32, 0xda, 0x7a, 0x37, 0x51, 0xdd, 0xab, 0xbe, 0xf9, 0x70, 0xaa, 0x2b, 0x29, 0x6e, 0xb5, 0x13, 0xb3, 0xee, 0x58, 0xcc, 0x3d, 0xd7,
0x75, 0x98, 0x7f, 0x6a, 0x5c, 0x95, 0xe7, 0x81, 0x94, 0xf1, 0xfe, 0x3f, 0x5a, 0xab, 0x6f, 0x86, 0x6e, 0x0b, 0x7f, 0x20, 0x41, 0xbc, 0xff, 0x8f, 0xe6, 0xd2, 0x9b, 0x3e, 0x31, 0x8d, 0x63, 0x83,
0xc4, 0xb6, 0x9e, 0x5a, 0xb4, 0xbf, 0x4f, 0x86, 0x14, 0x67, 0x1c, 0xa2, 0x10, 0xea, 0x26, 0xf1, 0xf6, 0xf6, 0xc9, 0x80, 0xe2, 0x94, 0x42, 0xe4, 0xc3, 0xbc, 0x4e, 0x1c, 0xa2, 0x1b, 0xec, 0x7c,
0x88, 0x69, 0xb1, 0xd3, 0xcd, 0x79, 0xe1, 0xfc, 0x76, 0x65, 0xe7, 0x3b, 0x52, 0x31, 0x72, 0x7d, 0xad, 0xc2, 0x95, 0x3f, 0x28, 0xad, 0x7c, 0x4b, 0x30, 0x86, 0xaa, 0x6f, 0x09, 0xd5, 0xf3, 0x11,
0x45, 0xba, 0xae, 0xc7, 0xe4, 0x49, 0xc7, 0x89, 0xab, 0xad, 0x63, 0x58, 0x2f, 0x84, 0x8e, 0x36, 0x78, 0x5c, 0x71, 0xac, 0x6a, 0xfd, 0x14, 0x56, 0x72, 0xa6, 0xa3, 0x55, 0x90, 0x4f, 0xe9, 0x39,
0x40, 0x3d, 0xa6, 0xa7, 0xa2, 0x98, 0xcb, 0x98, 0xff, 0x44, 0x06, 0x2c, 0x9e, 0x10, 0x3b, 0xa4, 0x4f, 0xe6, 0x02, 0x0e, 0x7e, 0x22, 0x0d, 0xaa, 0x67, 0xc4, 0xf4, 0xe9, 0x5a, 0x85, 0xc7, 0xfe,
0x9b, 0xf3, 0x22, 0xf7, 0xd7, 0xab, 0x14, 0x38, 0x36, 0x8a, 0x23, 0xd5, 0xbb, 0xf3, 0x77, 0x94, 0x6e, 0x99, 0x04, 0x47, 0x42, 0x71, 0xc8, 0xfa, 0xa8, 0xf2, 0x50, 0x5a, 0x3f, 0x81, 0xa5, 0x8c,
0xad, 0x23, 0x58, 0xcd, 0x85, 0x3a, 0xc5, 0x55, 0x37, 0xef, 0xea, 0xf5, 0x0a, 0xae, 0x62, 0x93, 0xa9, 0x13, 0x54, 0x75, 0xb2, 0xaa, 0x5e, 0x2f, 0xa1, 0x2a, 0x12, 0x99, 0xd2, 0xa4, 0x3c, 0x86,
0x19, 0x4f, 0xda, 0x7d, 0xb8, 0xb0, 0xb3, 0xfb, 0x20, 0xe2, 0xc7, 0x15, 0x47, 0xdb, 0x00, 0xf4, 0x6b, 0x5b, 0x3b, 0x4f, 0x42, 0x7c, 0x94, 0x71, 0xb4, 0x09, 0x40, 0xdf, 0x73, 0x5c, 0xea, 0x79,
0x3d, 0xcf, 0xa7, 0x41, 0x60, 0xb9, 0x4e, 0xe4, 0xd4, 0x40, 0x71, 0x9d, 0x76, 0x13, 0x0e, 0xce, 0x86, 0x6d, 0x85, 0x4a, 0x35, 0x14, 0xe5, 0x69, 0x27, 0xc6, 0xe0, 0x14, 0x95, 0xe2, 0x43, 0x4d,
0x48, 0x69, 0x21, 0xd4, 0x64, 0x7f, 0x5c, 0x86, 0x05, 0x87, 0x0c, 0xa9, 0xd4, 0x5b, 0x91, 0x7a, 0xd4, 0xc7, 0x4d, 0x98, 0xb5, 0xc8, 0x80, 0x0a, 0xbe, 0x45, 0xc1, 0x37, 0xcb, 0xe3, 0xc9, 0x31,
0x0b, 0x22, 0x9f, 0x82, 0x83, 0xf6, 0x60, 0xb1, 0xc7, 0xab, 0x22, 0x63, 0x6f, 0x57, 0xad, 0x9f, 0x68, 0x17, 0xaa, 0xdd, 0x20, 0x2b, 0xc2, 0xf6, 0x56, 0xd9, 0xfc, 0x69, 0x0b, 0xa3, 0x61, 0xb3,
0xb1, 0x3c, 0x1e, 0xb5, 0x16, 0x05, 0x01, 0x47, 0x16, 0xb4, 0x0f, 0xe6, 0xe1, 0x8b, 0xc5, 0x49, 0xca, 0x01, 0x38, 0x94, 0xa0, 0x7c, 0x50, 0x81, 0x2f, 0xe6, 0x3b, 0x65, 0xcb, 0xb6, 0x8e, 0x8d,
0xd9, 0x71, 0x9d, 0xa7, 0xd6, 0x20, 0xf4, 0xc5, 0x03, 0xfa, 0x06, 0xd4, 0x22, 0x8b, 0x32, 0xa0, 0xbe, 0xef, 0xf2, 0x07, 0xf4, 0x0d, 0xa8, 0x85, 0x12, 0x85, 0x41, 0x2d, 0x61, 0x50, 0xed, 0x90,
0xb6, 0x0c, 0xa8, 0x76, 0x28, 0xa8, 0x2f, 0x47, 0xad, 0x57, 0x8a, 0xaa, 0x11, 0x07, 0x4b, 0x3d, 0x43, 0x2f, 0x86, 0xcd, 0x57, 0xf2, 0xac, 0x21, 0x06, 0x0b, 0x3e, 0xd4, 0x82, 0x79, 0x97, 0x3e,
0xd4, 0x86, 0xba, 0x4f, 0x9f, 0x85, 0x34, 0x60, 0x81, 0xe8, 0xb8, 0x65, 0x63, 0x85, 0x77, 0x0d, 0xf7, 0xa9, 0xc7, 0x3c, 0x5e, 0x71, 0x0b, 0xda, 0x62, 0x50, 0x35, 0x58, 0xc0, 0x70, 0x8c, 0x45,
0x96, 0x34, 0x9c, 0x70, 0xd1, 0x8f, 0xe1, 0x62, 0x34, 0x8d, 0xb9, 0x10, 0xe4, 0x24, 0xde, 0xac, 0x3f, 0x86, 0xeb, 0x61, 0x37, 0x66, 0x4c, 0x10, 0x9d, 0x78, 0xbf, 0x4c, 0x8a, 0xd2, 0x7c, 0xda,
0x52, 0xa2, 0xac, 0x9e, 0x71, 0x49, 0x86, 0x7a, 0x71, 0x0a, 0x13, 0x4f, 0xf3, 0xa4, 0x7d, 0xac, 0x0d, 0x61, 0xea, 0xf5, 0x09, 0x48, 0x3c, 0x49, 0x93, 0xf2, 0xb1, 0x04, 0xaf, 0x4c, 0x1e, 0x1c,
0xc0, 0x2b, 0xd3, 0x2f, 0x0e, 0x44, 0x61, 0xc9, 0x17, 0xbf, 0xe2, 0x99, 0xbd, 0x5b, 0x21, 0x1e, 0x88, 0xc2, 0x9c, 0xcb, 0x7f, 0x45, 0x3d, 0xfb, 0xa8, 0x84, 0x3d, 0xc2, 0xc7, 0xe2, 0x29, 0x14,
0x79, 0xc6, 0xf2, 0x5b, 0x28, 0x7a, 0x0e, 0x70, 0x6c, 0x1b, 0xf5, 0xa0, 0x66, 0x8a, 0x90, 0xe4, 0x3e, 0x7b, 0x38, 0x92, 0x8d, 0xba, 0x50, 0xd3, 0xb9, 0x49, 0xa2, 0x39, 0x1f, 0x5d, 0x6a, 0xc8,
0x70, 0xde, 0x3d, 0xd3, 0x25, 0x97, 0x3f, 0xff, 0x5a, 0x5c, 0xaa, 0x88, 0x8c, 0xa5, 0x65, 0xed, 0x65, 0xfd, 0x5f, 0x8e, 0x52, 0x15, 0x82, 0xb1, 0x90, 0xac, 0xfc, 0x4a, 0x82, 0x95, 0x5c, 0xf7,
0x57, 0x0a, 0xac, 0x17, 0xa6, 0x07, 0x35, 0x41, 0xb5, 0x1c, 0x26, 0x3a, 0x4a, 0x8d, 0xea, 0xb3, 0xa0, 0x06, 0xc8, 0x86, 0xc5, 0x78, 0x45, 0xc9, 0x61, 0x7e, 0x76, 0x2d, 0x76, 0x14, 0xd4, 0x39,
0xe7, 0xb0, 0xc7, 0xbc, 0xcf, 0x31, 0x67, 0xa0, 0x2b, 0xb0, 0xd0, 0x73, 0x5d, 0x5b, 0xd4, 0xa2, 0x0e, 0x10, 0xe8, 0x16, 0xcc, 0x76, 0x6d, 0xdb, 0xe4, 0xb9, 0x98, 0xd7, 0x96, 0x46, 0xc3, 0xe6,
0x6e, 0xac, 0x8e, 0x47, 0xad, 0x65, 0xc3, 0x75, 0xed, 0x48, 0x42, 0xb0, 0xd0, 0x97, 0xa1, 0x16, 0x82, 0x66, 0xdb, 0x66, 0x48, 0xc1, 0x51, 0xe8, 0xcb, 0x50, 0xf3, 0x98, 0x6b, 0x58, 0xfd, 0xb5,
0x30, 0xdf, 0x72, 0x06, 0x9b, 0x0b, 0xa2, 0x53, 0xd6, 0xc7, 0xa3, 0x56, 0xe3, 0x50, 0x50, 0x22, 0x59, 0x5e, 0x29, 0x2b, 0xa3, 0x61, 0xb3, 0x7e, 0xc8, 0x21, 0x21, 0x99, 0x40, 0xa3, 0x3b, 0x30,
0x31, 0xc9, 0x46, 0xd7, 0x60, 0xe9, 0x84, 0xfa, 0x62, 0x38, 0x16, 0x85, 0xa4, 0xb8, 0x42, 0x1f, 0x77, 0x46, 0x5d, 0xde, 0x1c, 0x55, 0x4e, 0xc9, 0x47, 0xe8, 0x51, 0x08, 0x0a, 0x49, 0x23, 0x02,
0x47, 0xa4, 0x48, 0x34, 0x16, 0xd0, 0x1c, 0x58, 0xcb, 0x4f, 0x1f, 0x7a, 0x07, 0xea, 0xcf, 0x42, 0x85, 0xc2, 0x72, 0xb6, 0xfb, 0xd0, 0x61, 0xd4, 0xb9, 0xe1, 0x16, 0x50, 0x53, 0x01, 0x8a, 0x97,
0xe2, 0x30, 0x7e, 0x81, 0x45, 0x8b, 0x40, 0xcf, 0xe4, 0x28, 0xd9, 0x33, 0xba, 0x77, 0x3c, 0xc8, 0x8c, 0xea, 0x9c, 0xf6, 0xb3, 0x11, 0x7b, 0xd3, 0x27, 0x16, 0x33, 0xd8, 0xb9, 0xb6, 0x24, 0x82,
0x27, 0xed, 0x4d, 0xa9, 0x65, 0x6c, 0xc4, 0x17, 0x57, 0x4c, 0xc1, 0x89, 0x45, 0xed, 0xd7, 0xf3, 0x52, 0x0d, 0x15, 0x85, 0xb2, 0x94, 0x5f, 0x57, 0xa0, 0x2e, 0xf4, 0x98, 0xc4, 0x18, 0xa0, 0x67,
0xd0, 0x90, 0x0e, 0x6d, 0x62, 0x0d, 0xd1, 0x93, 0x4c, 0xf3, 0x46, 0x75, 0xbf, 0x56, 0xbd, 0xee, 0xa9, 0x9a, 0x0d, 0xd3, 0x7d, 0xa7, 0x7c, 0xba, 0xb5, 0xd5, 0x68, 0x32, 0x4e, 0xa8, 0xf1, 0x1e,
0xa9, 0xa7, 0x29, 0xcd, 0xde, 0x87, 0x86, 0xe9, 0x3a, 0x01, 0xf3, 0x89, 0xe5, 0xc8, 0xc9, 0x68, 0xd4, 0x75, 0xdb, 0xf2, 0x98, 0x4b, 0x0c, 0x4b, 0x34, 0x44, 0x7d, 0xf3, 0x5e, 0xb9, 0xda, 0x16,
0x6c, 0xdf, 0xa8, 0xd6, 0xe4, 0x52, 0xcb, 0xb8, 0x28, 0xed, 0x37, 0x52, 0x5a, 0x80, 0xb3, 0x66, 0x5c, 0xda, 0x75, 0x21, 0xbf, 0x9e, 0xc0, 0x3c, 0x9c, 0x16, 0x8b, 0xde, 0x8d, 0xcb, 0x48, 0xe6,
0xd1, 0xbb, 0x49, 0x3f, 0xa9, 0xc2, 0xc1, 0xd7, 0xaa, 0x38, 0xe0, 0x27, 0xaf, 0xd6, 0x4a, 0x7f, 0x0a, 0xbe, 0x56, 0x46, 0x41, 0xe0, 0x79, 0xb9, 0x0a, 0xfa, 0xa3, 0x04, 0x6b, 0x45, 0x4c, 0x99,
0x54, 0x60, 0xb3, 0x4c, 0x29, 0x37, 0xf8, 0xca, 0xff, 0x32, 0xf8, 0xf3, 0xe7, 0x36, 0xf8, 0xbf, 0x7e, 0x97, 0xfe, 0x97, 0x7e, 0xaf, 0x5c, 0x59, 0xbf, 0xff, 0x4e, 0x4a, 0xa5, 0xdd, 0xf3, 0xd0,
0x53, 0x32, 0x65, 0x0f, 0x02, 0xf4, 0x7d, 0xa8, 0x73, 0x14, 0xd4, 0x27, 0x8c, 0xc8, 0x26, 0xbb, 0xf7, 0x61, 0x3e, 0x38, 0x7e, 0x7a, 0x84, 0x11, 0x51, 0x5e, 0xf7, 0xa7, 0x95, 0x97, 0xa7, 0x06,
0x39, 0xab, 0xc9, 0x02, 0x9d, 0x4b, 0x73, 0x68, 0xf0, 0xa8, 0xf7, 0x03, 0x6a, 0xb2, 0x87, 0x94, 0xd4, 0xc1, 0x45, 0xf0, 0xb4, 0xfb, 0x03, 0xaa, 0xb3, 0x3d, 0xca, 0x48, 0x32, 0xe9, 0x13, 0x18,
0x91, 0xf4, 0xca, 0x4f, 0x69, 0x38, 0xb1, 0x8a, 0xf6, 0x61, 0x21, 0xf0, 0xa8, 0x79, 0x86, 0x55, 0x8e, 0xa5, 0xa2, 0x7d, 0x98, 0xf5, 0x1c, 0xaa, 0x5f, 0x62, 0xc3, 0x71, 0xcb, 0x0e, 0x1d, 0xaa,
0x27, 0x22, 0x3b, 0xf4, 0xa8, 0x99, 0x2e, 0x05, 0xfe, 0x84, 0x85, 0x1d, 0xed, 0xe7, 0xd9, 0x4a, 0x27, 0xbb, 0x20, 0x78, 0xc2, 0x5c, 0x8e, 0xf2, 0xf3, 0x74, 0x26, 0x3c, 0x2f, 0x9b, 0x89, 0x82,
0x04, 0x41, 0xbe, 0x12, 0x25, 0xf9, 0x55, 0xce, 0x2d, 0xbf, 0xbf, 0x4d, 0xae, 0x1c, 0x11, 0xdd, 0xf8, 0x4a, 0x57, 0x16, 0xdf, 0xdf, 0xc6, 0x93, 0x86, 0x5b, 0xf7, 0xc4, 0xf0, 0x18, 0x7a, 0x67,
0x03, 0x2b, 0x60, 0x7c, 0x90, 0x0b, 0x39, 0xd6, 0xab, 0xe5, 0x98, 0x6b, 0x8b, 0x0c, 0x27, 0xe3, 0x2c, 0xc6, 0x6a, 0xb9, 0x18, 0x07, 0xdc, 0x3c, 0xc2, 0x71, 0x7b, 0x45, 0x90, 0x54, 0x7c, 0xf7,
0x15, 0x53, 0x32, 0xf9, 0x7d, 0x08, 0x8b, 0x16, 0xa3, 0xc3, 0x78, 0xb0, 0xda, 0x55, 0x13, 0x6c, 0xa0, 0x6a, 0x30, 0x3a, 0x88, 0x1a, 0xab, 0x55, 0x36, 0xc0, 0xc9, 0x5c, 0xd8, 0x0d, 0xd8, 0x71,
0xac, 0x4a, 0xa3, 0x8b, 0x7b, 0x5c, 0x1d, 0x47, 0x56, 0xb4, 0x3f, 0xe7, 0x0f, 0xc0, 0x13, 0x8f, 0x28, 0x45, 0xf9, 0x73, 0xd6, 0x81, 0x20, 0xf0, 0xe8, 0x1d, 0x58, 0xf0, 0xc4, 0xaa, 0x8f, 0x86,
0xde, 0x81, 0xe5, 0x40, 0xee, 0xfc, 0xf8, 0x72, 0xa8, 0x82, 0x23, 0x12, 0xe4, 0x78, 0x41, 0x7a, 0x43, 0x99, 0xf3, 0x21, 0x3e, 0x18, 0xaf, 0x09, 0x4d, 0x0b, 0x11, 0xc4, 0xc3, 0x89, 0xc0, 0x54,
0x5a, 0x8e, 0x29, 0x01, 0x4e, 0x0d, 0x66, 0x26, 0x77, 0xfe, 0x2c, 0x93, 0x5b, 0x28, 0x7d, 0xe9, 0xe7, 0x56, 0x2e, 0xd3, 0xb9, 0xb9, 0xd4, 0x17, 0x76, 0xee, 0x73, 0x98, 0x94, 0x3d, 0xf4, 0x36,
0xe4, 0x3e, 0x83, 0x69, 0xd5, 0x43, 0x6f, 0x43, 0xcd, 0xf5, 0xc8, 0xb3, 0x90, 0xca, 0x92, 0xcc, 0xd4, 0x6c, 0x87, 0x3c, 0x8f, 0xa7, 0xea, 0xf4, 0x9b, 0xf0, 0x29, 0x27, 0x9d, 0x54, 0x22, 0x10,
0x06, 0x87, 0x8f, 0x84, 0xe8, 0xb4, 0x16, 0x01, 0xee, 0x32, 0x62, 0x63, 0x69, 0x51, 0xfb, 0xa9, 0xa8, 0x0c, 0xd1, 0x58, 0x48, 0x54, 0x7e, 0x2a, 0xc1, 0x6a, 0x7e, 0x84, 0x5d, 0x62, 0x48, 0x1c,
0x02, 0x1b, 0xc5, 0x2b, 0xec, 0x0c, 0x97, 0xc4, 0x01, 0xac, 0x0d, 0x09, 0x33, 0x8f, 0x92, 0xa5, 0xc0, 0xf2, 0x80, 0x30, 0xfd, 0x24, 0xde, 0x55, 0xbc, 0x77, 0x16, 0xb4, 0xd6, 0x68, 0xd8, 0x5c,
0x25, 0x66, 0x67, 0xd9, 0x68, 0x8f, 0x47, 0xad, 0xb5, 0x87, 0x39, 0xce, 0xcb, 0x51, 0x0b, 0xbd, 0xde, 0xcb, 0x60, 0x2e, 0x86, 0x4d, 0xf4, 0x86, 0x6f, 0x9a, 0xe7, 0xd9, 0x2b, 0x34, 0xc7, 0xaf,
0x11, 0xda, 0xf6, 0x69, 0x1e, 0x8e, 0x16, 0xf4, 0xb5, 0xf7, 0x55, 0x58, 0xcd, 0x5d, 0xd8, 0x15, 0xbc, 0x2f, 0xc3, 0x52, 0x66, 0x60, 0x97, 0xb8, 0xb9, 0x3a, 0xb0, 0xd2, 0x4b, 0x62, 0x1d, 0x20,
0xc0, 0x57, 0x17, 0xd6, 0xfb, 0x69, 0xae, 0x39, 0x43, 0x86, 0xf1, 0x05, 0x29, 0x9c, 0x6d, 0x13, 0x84, 0x19, 0x5f, 0x10, 0xc4, 0xe9, 0x32, 0xe1, 0x7c, 0x79, 0xfa, 0x6c, 0xdd, 0xc8, 0x9f, 0x74,
0xa1, 0x57, 0x94, 0xcf, 0xf7, 0x8d, 0xfa, 0x49, 0xf7, 0xcd, 0x63, 0x58, 0x23, 0x09, 0x20, 0x78, 0xdd, 0x1c, 0xc1, 0x32, 0x89, 0xef, 0x80, 0x3d, 0xbb, 0x47, 0xc5, 0x16, 0x56, 0x05, 0xd7, 0x72,
0xe8, 0xf6, 0xa9, 0x5c, 0xc7, 0xba, 0xd4, 0x5a, 0xeb, 0xe6, 0xb8, 0x2f, 0x47, 0xad, 0xcf, 0x15, 0x27, 0x83, 0xbd, 0x18, 0x36, 0x3f, 0x97, 0xbf, 0x1e, 0x02, 0x38, 0xce, 0x49, 0x41, 0xb7, 0xa1,
0x61, 0x04, 0xa7, 0xe3, 0x82, 0x15, 0x74, 0x15, 0x16, 0x4d, 0x37, 0x74, 0x98, 0xd8, 0xd9, 0x6a, 0xaa, 0xdb, 0xbe, 0xc5, 0xf8, 0xaa, 0x96, 0x93, 0x36, 0xd9, 0x0a, 0x80, 0x38, 0xc4, 0xa1, 0x0d,
0x3a, 0x26, 0x3b, 0x9c, 0x88, 0x23, 0x1e, 0xba, 0x05, 0x0d, 0xd2, 0x1f, 0x5a, 0x4e, 0xd7, 0x34, 0xa8, 0x93, 0xde, 0xc0, 0xb0, 0x3a, 0xba, 0x4e, 0x3d, 0x6f, 0xad, 0xc6, 0x8f, 0x04, 0xbe, 0xff,
0x69, 0x10, 0x6c, 0xd6, 0x04, 0x5a, 0x10, 0x40, 0xa0, 0x9b, 0x92, 0x71, 0x56, 0x46, 0xfb, 0xb7, 0x3b, 0x09, 0x18, 0xa7, 0x69, 0x94, 0x7f, 0x4b, 0xd1, 0xe5, 0x59, 0x70, 0x24, 0xa1, 0xd7, 0x82,
0x12, 0x43, 0xd0, 0x12, 0xb4, 0x84, 0x5e, 0xe3, 0xd0, 0x4b, 0xb0, 0x64, 0x5d, 0x32, 0xf0, 0x49, 0x8b, 0x8b, 0xa3, 0x44, 0x5e, 0x52, 0x57, 0x13, 0x07, 0xe3, 0x08, 0x8f, 0xbe, 0x04, 0xb5, 0x9e,
0x90, 0x71, 0xcc, 0x47, 0x5f, 0x82, 0x5a, 0xdf, 0xb7, 0x4e, 0xa8, 0x2f, 0x8b, 0x92, 0x74, 0xff, 0x6b, 0x9c, 0x51, 0x57, 0x24, 0x25, 0xae, 0xfe, 0x6d, 0x0e, 0xc5, 0x02, 0x1b, 0xe4, 0xd9, 0x89,
0x3d, 0x41, 0xc5, 0x92, 0xcb, 0xeb, 0xec, 0xc5, 0x70, 0x26, 0x53, 0xe7, 0x03, 0xd7, 0xb5, 0xb1, 0xae, 0x98, 0x54, 0x9e, 0x0f, 0x6c, 0xdb, 0xc4, 0x1c, 0xc3, 0x25, 0x71, 0xab, 0x44, 0xf8, 0x12,
0xe0, 0x08, 0x4b, 0x22, 0x2a, 0x99, 0xbe, 0xd4, 0x52, 0x14, 0xab, 0xe4, 0x16, 0x4f, 0xbc, 0x58, 0x49, 0xa1, 0xad, 0x02, 0x9b, 0xf7, 0xb8, 0x5a, 0xc2, 0xe3, 0xef, 0x46, 0xa7, 0x4c, 0xfc, 0xa2,
0xe1, 0xc4, 0xdf, 0x8d, 0x31, 0x4d, 0xf2, 0xc6, 0xb0, 0x07, 0xaa, 0x49, 0xed, 0x29, 0xb7, 0xe0, 0xb0, 0x0b, 0xb2, 0x4e, 0xcd, 0x09, 0x53, 0x70, 0xbc, 0x16, 0xc6, 0xde, 0x32, 0xb4, 0xb9, 0xd1,
0x64, 0x2f, 0x4c, 0xbc, 0x6e, 0x18, 0x4b, 0xe3, 0x51, 0x4b, 0xdd, 0xd9, 0x7d, 0x80, 0xb9, 0x0d, 0xb0, 0x29, 0x6f, 0xed, 0x3c, 0xc1, 0x81, 0x0c, 0xe5, 0x97, 0x12, 0xbc, 0x5a, 0xd8, 0x96, 0xa9,
0xed, 0x97, 0x0a, 0xbc, 0x5a, 0x3a, 0x96, 0x99, 0xfc, 0x28, 0x33, 0xf3, 0x43, 0x00, 0x3c, 0xe2, 0xf8, 0x48, 0x53, 0xe3, 0x43, 0x00, 0x1c, 0xe2, 0x92, 0x01, 0x65, 0xd4, 0xf5, 0xc4, 0x8e, 0xba,
0x93, 0x21, 0x65, 0xd4, 0x0f, 0xe4, 0x8e, 0xba, 0x51, 0x7a, 0x3b, 0xcb, 0xd7, 0x79, 0x1d, 0x93, 0x57, 0x38, 0x9d, 0xc5, 0x5b, 0xbc, 0x8a, 0xc9, 0x0f, 0x77, 0xde, 0x63, 0xd4, 0x0a, 0x0e, 0xb6,
0x1f, 0xee, 0xbe, 0xc7, 0xa8, 0xc3, 0x91, 0x5b, 0xba, 0xfe, 0x0e, 0x12, 0x43, 0x38, 0x63, 0x54, 0x64, 0xfd, 0x1d, 0xc4, 0x82, 0x70, 0x4a, 0xa8, 0xf2, 0x8b, 0x0a, 0x2c, 0x61, 0xe1, 0x5d, 0x78,
0xfb, 0xc5, 0x3c, 0xac, 0x62, 0x79, 0xba, 0x08, 0x6b, 0xfd, 0xff, 0x97, 0xee, 0x41, 0x6e, 0xe9, 0x6b, 0xfd, 0xff, 0x97, 0xee, 0x41, 0x66, 0xe9, 0x4e, 0x0f, 0x74, 0xc6, 0xb6, 0xa2, 0xb5, 0x8b,
0xce, 0x4e, 0x74, 0x2e, 0xb6, 0xb2, 0xb5, 0x8b, 0x9e, 0x70, 0xd0, 0x4b, 0x58, 0x18, 0x54, 0x7a, 0x9e, 0x05, 0xb7, 0x2e, 0x61, 0xbe, 0x57, 0xea, 0xe5, 0x24, 0x2b, 0x93, 0xf3, 0x25, 0x29, 0x08,
0x4b, 0xc9, 0xdb, 0x14, 0x7a, 0x69, 0x09, 0xa2, 0x67, 0x2c, 0xed, 0x69, 0x63, 0x05, 0x9a, 0x39, 0x9f, 0xb1, 0x90, 0xa7, 0x8c, 0x24, 0x68, 0x64, 0xe8, 0x83, 0xa1, 0xe9, 0x0f, 0xa8, 0x8b, 0xe9,
0x79, 0x7e, 0x69, 0x86, 0x43, 0xea, 0x63, 0xfa, 0x94, 0xfa, 0xd4, 0x31, 0x29, 0xba, 0x0e, 0x75, 0x31, 0x75, 0xa9, 0xa5, 0x53, 0x74, 0x17, 0xe6, 0x89, 0x63, 0x3c, 0x76, 0x6d, 0xdf, 0x11, 0xf9,
0xe2, 0x59, 0xf7, 0x7d, 0x37, 0xf4, 0x64, 0x3d, 0x93, 0x8d, 0xd8, 0x3d, 0xd8, 0x13, 0x74, 0x9c, 0x8c, 0x37, 0x62, 0xe7, 0x60, 0x97, 0xc3, 0x71, 0x4c, 0x11, 0x50, 0x47, 0x06, 0x89, 0xba, 0x4f,
0x48, 0x70, 0xe9, 0x38, 0x20, 0xd9, 0xf7, 0x19, 0x78, 0x1a, 0xd1, 0x71, 0x22, 0x91, 0xdc, 0x84, 0x9d, 0xa7, 0x21, 0x1c, 0xc7, 0x14, 0xf1, 0x24, 0x9c, 0x2d, 0x9c, 0x84, 0x1a, 0xc8, 0xbe, 0xd1,
0x0b, 0xa5, 0x37, 0xa1, 0x01, 0x6a, 0x68, 0xf5, 0x25, 0x84, 0xbf, 0x29, 0x05, 0xd4, 0xb7, 0xf6, 0x13, 0x97, 0xfb, 0x7d, 0x41, 0x20, 0xbf, 0xb5, 0xbb, 0x7d, 0x31, 0x6c, 0xde, 0x2a, 0xfa, 0xe0,
0xee, 0xbd, 0x1c, 0xb5, 0xae, 0x94, 0x7d, 0xf9, 0x61, 0xa7, 0x1e, 0x0d, 0xf4, 0xb7, 0xf6, 0xee, 0xc3, 0xce, 0x1d, 0xea, 0xa9, 0x6f, 0xed, 0x6e, 0xe3, 0x80, 0x59, 0xf9, 0xbd, 0x04, 0xd7, 0x32,
0x61, 0xae, 0xac, 0xfd, 0x5e, 0x81, 0x0b, 0xb9, 0x43, 0x9e, 0x03, 0x32, 0x78, 0x94, 0x47, 0x06, 0x4e, 0x5e, 0xc1, 0x65, 0xf0, 0x34, 0x7b, 0x19, 0xdc, 0x29, 0x9f, 0xb1, 0x82, 0xdb, 0xe0, 0x24,
0xd7, 0xaa, 0x57, 0xac, 0x04, 0x1b, 0x1c, 0x15, 0xce, 0x20, 0xc0, 0xc1, 0x61, 0xf1, 0x73, 0x55, 0xe7, 0x03, 0x3f, 0x0e, 0x0e, 0xf3, 0x5f, 0xa9, 0x5a, 0x65, 0x2f, 0xef, 0xe2, 0x4f, 0x53, 0xca,
0xbb, 0x2a, 0xf2, 0x2e, 0xff, 0x46, 0xa5, 0xfd, 0x4b, 0x81, 0x8b, 0x53, 0x7a, 0x08, 0xbd, 0x0b, 0xbf, 0x24, 0xb8, 0x3e, 0xa1, 0x86, 0xd0, 0xbb, 0x00, 0xc9, 0xb4, 0x16, 0xfa, 0xa6, 0xbf, 0x4a,
0x90, 0xde, 0xd6, 0xd2, 0xdf, 0xec, 0x57, 0x89, 0x89, 0x57, 0xd2, 0x35, 0xf1, 0x11, 0x29, 0xa5, 0x8c, 0xbd, 0x89, 0x2e, 0xf3, 0x6f, 0x47, 0x09, 0x34, 0x25, 0x10, 0xb9, 0x50, 0x77, 0xa9, 0x47,
0x66, 0x0c, 0x22, 0x1f, 0x1a, 0x3e, 0x0d, 0xa8, 0x7f, 0x42, 0xfb, 0x6f, 0xb8, 0xbe, 0xcc, 0xdb, 0xdd, 0x33, 0xda, 0x7b, 0xc3, 0x76, 0x45, 0xdc, 0xbe, 0x5e, 0x3e, 0x6e, 0x63, 0x95, 0x9b, 0xbc,
0xd7, 0xab, 0xe7, 0x6d, 0xa2, 0x73, 0xd3, 0x17, 0x17, 0x9c, 0xda, 0xc5, 0x59, 0x27, 0xda, 0xdf, 0xb8, 0xe0, 0x44, 0x2e, 0x4e, 0x2b, 0x51, 0xfe, 0x26, 0xc1, 0xe7, 0x33, 0x42, 0xbe, 0x4d, 0x07,
0x14, 0xf8, 0x7c, 0xce, 0xc8, 0xb7, 0xe9, 0xd0, 0xb3, 0x09, 0xa3, 0xe7, 0x70, 0x4d, 0x3c, 0xc9, 0x8e, 0x49, 0x18, 0xbd, 0x82, 0x31, 0xf1, 0x2c, 0x33, 0x26, 0x1e, 0x94, 0x77, 0x34, 0xb2, 0xb1,
0x5d, 0x13, 0xb7, 0xab, 0x1f, 0x34, 0x8e, 0xb1, 0x14, 0xa5, 0xff, 0x55, 0x81, 0x57, 0xa7, 0x6a, 0xf0, 0x4a, 0xff, 0xab, 0x04, 0xaf, 0x4e, 0xe4, 0xb8, 0x82, 0xba, 0xff, 0x4e, 0xb6, 0xee, 0x37,
0x9c, 0x43, 0xdf, 0x7f, 0x27, 0xdf, 0xf7, 0xdb, 0x67, 0x3f, 0x56, 0x49, 0xff, 0xff, 0xa5, 0xec, 0x2f, 0xef, 0x56, 0x41, 0xfd, 0xff, 0xa5, 0xc8, 0x29, 0xde, 0x08, 0x9f, 0xc1, 0xa9, 0xae, 0xfc,
0x50, 0x62, 0x10, 0x3e, 0x83, 0xb7, 0xba, 0xf6, 0x1b, 0x05, 0x56, 0x62, 0x49, 0x8e, 0x09, 0x2a, 0x46, 0x82, 0xc5, 0x88, 0x32, 0xb8, 0x09, 0x4a, 0xdc, 0x85, 0x9b, 0x00, 0xe2, 0xeb, 0x75, 0xf4,
0xe0, 0xc2, 0x6d, 0x00, 0xf9, 0x19, 0x3b, 0x7e, 0x73, 0x55, 0xd3, 0xb0, 0xef, 0x27, 0x1c, 0x9c, 0xe6, 0x2a, 0x27, 0x66, 0x3f, 0x8e, 0x31, 0x38, 0x45, 0x85, 0xbe, 0x09, 0x28, 0x32, 0xf0, 0xd0,
0x91, 0x42, 0xdf, 0x04, 0x14, 0x07, 0x78, 0x68, 0x8b, 0x5d, 0xcd, 0xf1, 0x95, 0x2a, 0x74, 0xb7, 0xe4, 0xbb, 0x3a, 0xb8, 0xaf, 0x64, 0xce, 0xbb, 0x2e, 0x78, 0x11, 0x1e, 0xa3, 0xc0, 0x13, 0xb8,
0xa4, 0x2e, 0xc2, 0x13, 0x12, 0x78, 0x8a, 0x96, 0xf6, 0x07, 0x25, 0x5d, 0xa7, 0x82, 0xfc, 0x29, 0x94, 0x3f, 0x48, 0xc9, 0x3a, 0xe5, 0xe0, 0x4f, 0x69, 0xe0, 0xb9, 0x6d, 0x85, 0x81, 0x4f, 0xef,
0x4d, 0xbc, 0x88, 0xad, 0x34, 0xf1, 0xd9, 0x7d, 0x20, 0x24, 0x3f, 0xad, 0xfb, 0x40, 0x04, 0x57, 0x03, 0x4e, 0xf9, 0x69, 0xdd, 0x07, 0xdc, 0xb8, 0x82, 0x7e, 0xf8, 0x40, 0xce, 0x39, 0xc1, 0xfb,
0x32, 0x0f, 0x1f, 0xa8, 0x85, 0x43, 0x88, 0x39, 0xa8, 0x0a, 0xbd, 0xbe, 0x25, 0xa1, 0x69, 0x94, 0xa0, 0xec, 0xe9, 0xf5, 0x2d, 0x71, 0x9a, 0x86, 0x41, 0x7d, 0xad, 0x94, 0x35, 0x41, 0x8d, 0x4e,
0xd4, 0xd7, 0x2a, 0x45, 0xc3, 0x7b, 0x74, 0x2a, 0x8a, 0xbd, 0x0e, 0x75, 0xc7, 0xed, 0x53, 0xf1, 0xbc, 0x62, 0xef, 0xc2, 0xbc, 0x65, 0xf7, 0x28, 0x7f, 0x4d, 0xc9, 0xed, 0xfc, 0x7d, 0x01, 0xc7,
0x9a, 0x52, 0xd8, 0xf9, 0xfb, 0x92, 0x8e, 0x13, 0x89, 0x89, 0xbf, 0x40, 0x16, 0x3e, 0x99, 0xbf, 0x31, 0xc5, 0xd8, 0x3f, 0x1f, 0xb3, 0x9f, 0xcc, 0x3f, 0x1f, 0xfc, 0x4e, 0x31, 0xcd, 0x80, 0x20,
0x40, 0x04, 0x4e, 0xb1, 0x6d, 0x2e, 0x10, 0x03, 0xe4, 0x14, 0xa7, 0x48, 0x3a, 0x4e, 0x24, 0xd0, 0x3a, 0x90, 0x93, 0x3b, 0x45, 0xc0, 0x71, 0x4c, 0x81, 0xf6, 0x93, 0xcd, 0x59, 0xe3, 0x19, 0xb9,
0x7e, 0xba, 0x39, 0x6b, 0xa2, 0x22, 0x57, 0x2b, 0x6c, 0xce, 0xf2, 0xa5, 0x69, 0x74, 0x9f, 0xbf, 0x5d, 0x62, 0x73, 0x16, 0x2f, 0x4d, 0xad, 0xf3, 0xe2, 0x65, 0x63, 0xe6, 0xc3, 0x97, 0x8d, 0x99,
0x68, 0xce, 0x7d, 0xf8, 0xa2, 0x39, 0xf7, 0xd1, 0x8b, 0xe6, 0xdc, 0x4f, 0xc6, 0x4d, 0xe5, 0xf9, 0x8f, 0x5e, 0x36, 0x66, 0x7e, 0x32, 0x6a, 0x48, 0x2f, 0x46, 0x0d, 0xe9, 0xc3, 0x51, 0x43, 0xfa,
0xb8, 0xa9, 0x7c, 0x38, 0x6e, 0x2a, 0x1f, 0x8d, 0x9b, 0xca, 0x3f, 0xc7, 0x4d, 0xe5, 0x67, 0x1f, 0x68, 0xd4, 0x90, 0xfe, 0x39, 0x6a, 0x48, 0x3f, 0xfb, 0xb8, 0x31, 0xf3, 0xf6, 0x8d, 0x29, 0x7f,
0x37, 0xe7, 0xde, 0xbe, 0x34, 0xe3, 0x5f, 0xbe, 0xff, 0x04, 0x00, 0x00, 0xff, 0xff, 0x42, 0x0c, 0xee, 0xfd, 0x27, 0x00, 0x00, 0xff, 0xff, 0x71, 0xc4, 0xd3, 0x93, 0xfa, 0x1b, 0x00, 0x00,
0x39, 0x8d, 0x03, 0x1c, 0x00, 0x00,
} }
func (m *AllocationResult) Marshal() (dAtA []byte, err error) { func (m *AllocationResult) Marshal() (dAtA []byte, err error) {
@ -1470,7 +1469,7 @@ func (m *DeviceCapacity) MarshalToSizedBuffer(dAtA []byte) (int, error) {
var l int var l int
_ = l _ = l
{ {
size, err := m.Quantity.MarshalToSizedBuffer(dAtA[:i]) size, err := m.Value.MarshalToSizedBuffer(dAtA[:i])
if err != nil { if err != nil {
return 0, err return 0, err
} }
@ -2735,7 +2734,7 @@ func (m *DeviceCapacity) Size() (n int) {
} }
var l int var l int
_ = l _ = l
l = m.Quantity.Size() l = m.Value.Size()
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
return n return n
} }
@ -3260,7 +3259,7 @@ func (this *DeviceCapacity) String() string {
return "nil" return "nil"
} }
s := strings.Join([]string{`&DeviceCapacity{`, s := strings.Join([]string{`&DeviceCapacity{`,
`Quantity:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Quantity), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`, `Value:` + strings.Replace(strings.Replace(fmt.Sprintf("%v", this.Value), "Quantity", "resource.Quantity", 1), `&`, ``, 1) + `,`,
`}`, `}`,
}, "") }, "")
return s return s
@ -4689,7 +4688,7 @@ func (m *DeviceCapacity) Unmarshal(dAtA []byte) error {
switch fieldNum { switch fieldNum {
case 1: case 1:
if wireType != 2 { if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field Quantity", wireType) return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
} }
var msglen int var msglen int
for shift := uint(0); ; shift += 7 { for shift := uint(0); ; shift += 7 {
@ -4716,7 +4715,7 @@ func (m *DeviceCapacity) Unmarshal(dAtA []byte) error {
if postIndex > l { if postIndex > l {
return io.ErrUnexpectedEOF return io.ErrUnexpectedEOF
} }
if err := m.Quantity.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { if err := m.Value.Unmarshal(dAtA[iNdEx:postIndex]); err != nil {
return err return err
} }
iNdEx = postIndex iNdEx = postIndex

View File

@ -206,10 +206,10 @@ message DeviceAttribute {
// DeviceCapacity describes a quantity associated with a device. // DeviceCapacity describes a quantity associated with a device.
message DeviceCapacity { message DeviceCapacity {
// Quantity defines how much of a certain device capacity is available. // Value defines how much of a certain device capacity is available.
// //
// +required // +required
optional .k8s.io.apimachinery.pkg.api.resource.Quantity quantity = 1; optional .k8s.io.apimachinery.pkg.api.resource.Quantity value = 1;
} }
// DeviceClaim defines how to request devices with a ResourceClaim. // DeviceClaim defines how to request devices with a ResourceClaim.

View File

@ -222,10 +222,10 @@ type BasicDevice struct {
// DeviceCapacity describes a quantity associated with a device. // DeviceCapacity describes a quantity associated with a device.
type DeviceCapacity struct { type DeviceCapacity struct {
// Quantity defines how much of a certain device capacity is available. // Value defines how much of a certain device capacity is available.
// //
// +required // +required
Quantity resource.Quantity `json:"quantity" protobuf:"bytes,1,rep,name=quantity"` Value resource.Quantity `json:"value" protobuf:"bytes,1,rep,name=value"`
// potential future addition: fields which define how to "consume" // potential future addition: fields which define how to "consume"
// capacity (= share a single device between different consumers). // capacity (= share a single device between different consumers).

View File

@ -99,8 +99,8 @@ func (DeviceAttribute) SwaggerDoc() map[string]string {
} }
var map_DeviceCapacity = map[string]string{ var map_DeviceCapacity = map[string]string{
"": "DeviceCapacity describes a quantity associated with a device.", "": "DeviceCapacity describes a quantity associated with a device.",
"quantity": "Quantity defines how much of a certain device capacity is available.", "value": "Value defines how much of a certain device capacity is available.",
} }
func (DeviceCapacity) SwaggerDoc() map[string]string { func (DeviceCapacity) SwaggerDoc() map[string]string {

View File

@ -206,7 +206,7 @@ func (in *DeviceAttribute) DeepCopy() *DeviceAttribute {
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DeviceCapacity) DeepCopyInto(out *DeviceCapacity) { func (in *DeviceCapacity) DeepCopyInto(out *DeviceCapacity) {
*out = *in *out = *in
out.Quantity = in.Quantity.DeepCopy() out.Value = in.Value.DeepCopy()
return return
} }

View File

@ -90,7 +90,7 @@
}, },
"capacity": { "capacity": {
"capacityKey": { "capacityKey": {
"quantity": "0" "value": "0"
} }
} }
} }

View File

@ -44,7 +44,7 @@ spec:
version: versionValue version: versionValue
capacity: capacity:
capacityKey: capacityKey:
quantity: "0" value: "0"
name: nameValue name: nameValue
driver: driverValue driver: driverValue
nodeName: nodeNameValue nodeName: nodeNameValue

View File

@ -12821,7 +12821,7 @@ var schemaYAML = typed.YAMLObject(`types:
- name: io.k8s.api.resource.v1beta1.DeviceCapacity - name: io.k8s.api.resource.v1beta1.DeviceCapacity
map: map:
fields: fields:
- name: quantity - name: value
type: type:
namedType: io.k8s.apimachinery.pkg.api.resource.Quantity namedType: io.k8s.apimachinery.pkg.api.resource.Quantity
- name: io.k8s.api.resource.v1beta1.DeviceClaim - name: io.k8s.api.resource.v1beta1.DeviceClaim

View File

@ -25,7 +25,7 @@ import (
// DeviceCapacityApplyConfiguration represents a declarative configuration of the DeviceCapacity type for use // DeviceCapacityApplyConfiguration represents a declarative configuration of the DeviceCapacity type for use
// with apply. // with apply.
type DeviceCapacityApplyConfiguration struct { type DeviceCapacityApplyConfiguration struct {
Quantity *resource.Quantity `json:"quantity,omitempty"` Value *resource.Quantity `json:"value,omitempty"`
} }
// DeviceCapacityApplyConfiguration constructs a declarative configuration of the DeviceCapacity type for use with // DeviceCapacityApplyConfiguration constructs a declarative configuration of the DeviceCapacity type for use with
@ -34,10 +34,10 @@ func DeviceCapacity() *DeviceCapacityApplyConfiguration {
return &DeviceCapacityApplyConfiguration{} return &DeviceCapacityApplyConfiguration{}
} }
// WithQuantity sets the Quantity field in the declarative configuration to the given value // WithValue sets the Value field in the declarative configuration to the given value
// and returns the receiver, so that objects can be built by chaining "With" function invocations. // and returns the receiver, so that objects can be built by chaining "With" function invocations.
// If called multiple times, the Quantity field is set to the value of the last call. // If called multiple times, the Value field is set to the value of the last call.
func (b *DeviceCapacityApplyConfiguration) WithQuantity(value resource.Quantity) *DeviceCapacityApplyConfiguration { func (b *DeviceCapacityApplyConfiguration) WithValue(value resource.Quantity) *DeviceCapacityApplyConfiguration {
b.Quantity = &value b.Value = &value
return b return b
} }

View File

@ -64,5 +64,5 @@ type DeviceAttribute struct {
} }
type DeviceCapacity struct { type DeviceCapacity struct {
Quantity resource.Quantity Value resource.Quantity
} }

View File

@ -195,7 +195,7 @@ func Convert_v1beta1_DeviceAttribute_To_api_DeviceAttribute(in *v1beta1.DeviceAt
} }
func autoConvert_api_DeviceCapacity_To_v1beta1_DeviceCapacity(in *DeviceCapacity, out *v1beta1.DeviceCapacity, s conversion.Scope) error { func autoConvert_api_DeviceCapacity_To_v1beta1_DeviceCapacity(in *DeviceCapacity, out *v1beta1.DeviceCapacity, s conversion.Scope) error {
out.Quantity = in.Quantity out.Value = in.Value
return nil return nil
} }
@ -205,7 +205,7 @@ func Convert_api_DeviceCapacity_To_v1beta1_DeviceCapacity(in *DeviceCapacity, ou
} }
func autoConvert_v1beta1_DeviceCapacity_To_api_DeviceCapacity(in *v1beta1.DeviceCapacity, out *DeviceCapacity, s conversion.Scope) error { func autoConvert_v1beta1_DeviceCapacity_To_api_DeviceCapacity(in *v1beta1.DeviceCapacity, out *DeviceCapacity, s conversion.Scope) error {
out.Quantity = in.Quantity out.Value = in.Value
return nil return nil
} }

View File

@ -215,7 +215,7 @@ func (c CompilationResult) DeviceMatches(ctx context.Context, input Device) (boo
if capacity[domain] == nil { if capacity[domain] == nil {
capacity[domain] = make(map[string]apiservercel.Quantity) capacity[domain] = make(map[string]apiservercel.Quantity)
} }
capacity[domain].(map[string]apiservercel.Quantity)[id] = apiservercel.Quantity{Quantity: &cap.Quantity} capacity[domain].(map[string]apiservercel.Quantity)[id] = apiservercel.Quantity{Quantity: &cap.Value}
} }
variables := map[string]any{ variables := map[string]any{

View File

@ -149,14 +149,14 @@ var testcases = map[string]struct {
}, },
"quantity": { "quantity": {
expression: `device.capacity["dra.example.com"].name.isGreaterThan(quantity("1Ki"))`, expression: `device.capacity["dra.example.com"].name.isGreaterThan(quantity("1Ki"))`,
capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{"name": {Quantity: resource.MustParse("1Mi")}}, capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{"name": {Value: resource.MustParse("1Mi")}},
driver: "dra.example.com", driver: "dra.example.com",
expectMatch: true, expectMatch: true,
expectCost: 6, expectCost: 6,
}, },
"check-positive": { "check-positive": {
expression: `"name" in device.capacity["dra.example.com"] && device.capacity["dra.example.com"].name.isGreaterThan(quantity("1Ki"))`, expression: `"name" in device.capacity["dra.example.com"] && device.capacity["dra.example.com"].name.isGreaterThan(quantity("1Ki"))`,
capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{"name": {Quantity: resource.MustParse("1Mi")}}, capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{"name": {Value: resource.MustParse("1Mi")}},
driver: "dra.example.com", driver: "dra.example.com",
expectMatch: true, expectMatch: true,
expectCost: 10, expectCost: 10,
@ -186,7 +186,7 @@ device.attributes["dra.example.com"]["version"].isGreaterThan(semver("0.0.1"))
"version": {VersionValue: ptr.To("1.0.0")}, "version": {VersionValue: ptr.To("1.0.0")},
}, },
capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{ capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
"quantity": {Quantity: resource.MustParse("1Mi")}, "quantity": {Value: resource.MustParse("1Mi")},
}, },
driver: "dra.example.com", driver: "dra.example.com",
expectMatch: true, expectMatch: true,

View File

@ -193,7 +193,7 @@ func device(name string, capacity map[resourceapi.QualifiedName]resource.Quantit
} }
device.Basic.Capacity = make(map[resourceapi.QualifiedName]resourceapi.DeviceCapacity, len(capacity)) device.Basic.Capacity = make(map[resourceapi.QualifiedName]resourceapi.DeviceCapacity, len(capacity))
for name, quantity := range capacity { for name, quantity := range capacity {
device.Basic.Capacity[name] = resourceapi.DeviceCapacity{Quantity: quantity} device.Basic.Capacity[name] = resourceapi.DeviceCapacity{Value: quantity}
} }
return device return device
} }

View File

@ -231,7 +231,7 @@ func resourceSlice(driverName, nodeName string, capacity int) *resourceapi.Resou
"dra.example.com/numa": {IntValue: ptr.To(int64(i))}, "dra.example.com/numa": {IntValue: ptr.To(int64(i))},
}, },
Capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{ Capacity: map[resourceapi.QualifiedName]resourceapi.DeviceCapacity{
"memory": {Quantity: resource.MustParse("1Gi")}, "memory": {Value: resource.MustParse("1Gi")},
}, },
}, },
}, },