diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index b02d6bcaad3..923f3f097c6 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -115,18 +115,23 @@ }, { "ImportPath": "github.com/appc/spec/schema", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/appc/spec/schema/common", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/appc/spec/schema/types", - "Comment": "v0.8.1-6-gab50d12", - "Rev": "ab50d12e88f57788bf84b83fef2be236eb1fcc0b" + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" + }, + { + "ImportPath": "github.com/appc/spec/schema/types/resource", + "Comment": "v0.8.9-17-gfc380db", + "Rev": "fc380db5fc13c6dd71a5b0bf2af0d182865d1b1d" }, { "ImportPath": "github.com/armon/circbuf", diff --git a/Godeps/LICENSES b/Godeps/LICENSES index beccada1089..baca75e68ae 100644 --- a/Godeps/LICENSES +++ b/Godeps/LICENSES @@ -1546,6 +1546,216 @@ Apache License ================================================================================ +================================================================================ += vendor/github.com/appc/spec/schema/types/resource licensed under: = + +Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright {yyyy} {name of copyright owner} + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + += vendor/github.com/appc/spec/LICENSE d2794c0df5b907fdace235a619d80314 - +================================================================================ + + ================================================================================ = vendor/github.com/armon/circbuf licensed under: = diff --git a/cmd/kube-aggregator/pkg/apiserver/BUILD b/cmd/kube-aggregator/pkg/apiserver/BUILD index 0bb93d52d02..324da4336df 100644 --- a/cmd/kube-aggregator/pkg/apiserver/BUILD +++ b/cmd/kube-aggregator/pkg/apiserver/BUILD @@ -22,6 +22,7 @@ go_test( "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/listers/core/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/diff", diff --git a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go index 2bf18eed602..00c1322cacb 100644 --- a/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go +++ b/cmd/kube-aggregator/pkg/apiserver/handler_apis_test.go @@ -23,6 +23,7 @@ import ( "net/http/httputil" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/diff" @@ -305,7 +306,7 @@ func TestAPIs(t *testing.T) { t.Errorf("%s: %v", tc.name, err) continue } - if !api.Semantic.DeepEqual(tc.expected, actual) { + if !apiequality.Semantic.DeepEqual(tc.expected, actual) { t.Errorf("%s: %v", tc.name, diff.ObjectDiff(tc.expected, actual)) continue } @@ -467,7 +468,7 @@ func TestAPIGroup(t *testing.T) { t.Errorf("%s: %v", tc.name, err) continue } - if !api.Semantic.DeepEqual(tc.expected, actual) { + if !apiequality.Semantic.DeepEqual(tc.expected, actual) { t.Errorf("%s: %v", tc.name, diff.ObjectDiff(tc.expected, actual)) continue } diff --git a/cmd/kubeadm/app/master/BUILD b/cmd/kubeadm/app/master/BUILD index 30363e34cac..491a639dec1 100644 --- a/cmd/kubeadm/app/master/BUILD +++ b/cmd/kubeadm/app/master/BUILD @@ -26,7 +26,6 @@ go_library( "//cmd/kubeadm/app/images:go_default_library", "//cmd/kubeadm/app/phases/kubeconfig:go_default_library", "//cmd/kubeadm/app/util:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -35,6 +34,7 @@ go_library( "//pkg/util/intstr:go_default_library", "//vendor:github.com/blang/semver", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/uuid", "//vendor:k8s.io/apimachinery/pkg/util/wait", diff --git a/cmd/kubeadm/app/master/addons.go b/cmd/kubeadm/app/master/addons.go index 62c00619c03..d2cf62917ac 100644 --- a/cmd/kubeadm/app/master/addons.go +++ b/cmd/kubeadm/app/master/addons.go @@ -22,11 +22,11 @@ import ( "path" "runtime" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/cmd/kubeadm/app/images" "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/registry/core/service/ipallocator" diff --git a/cmd/kubeadm/app/master/manifests.go b/cmd/kubeadm/app/master/manifests.go index 2324de95d6a..420abc5fa69 100644 --- a/cmd/kubeadm/app/master/manifests.go +++ b/cmd/kubeadm/app/master/manifests.go @@ -24,11 +24,11 @@ import ( "path" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubeadmapi "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" kubeadmconstants "k8s.io/kubernetes/cmd/kubeadm/app/constants" "k8s.io/kubernetes/cmd/kubeadm/app/images" - "k8s.io/kubernetes/pkg/api/resource" api "k8s.io/kubernetes/pkg/api/v1" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" "k8s.io/kubernetes/pkg/util/intstr" diff --git a/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go b/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go index fc5bd4ac1f8..fe3341fe670 100644 --- a/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go +++ b/cmd/libs/go2idl/go-to-protobuf/protobuf/cmd.go @@ -63,7 +63,7 @@ func New() *Generator { ProtoImport: []string{defaultProtoImport}, Packages: strings.Join([]string{ `+k8s.io/kubernetes/pkg/util/intstr`, - `+k8s.io/kubernetes/pkg/api/resource`, + `+k8s.io/apimachinery/pkg/api/resource`, `+k8s.io/apimachinery/pkg/runtime/schema`, `+k8s.io/apimachinery/pkg/runtime`, `k8s.io/apimachinery/pkg/apis/meta/v1`, diff --git a/federation/apis/federation/v1beta1/generated.pb.go b/federation/apis/federation/v1beta1/generated.pb.go index 6e36ab7227f..8a4618f43b0 100644 --- a/federation/apis/federation/v1beta1/generated.pb.go +++ b/federation/apis/federation/v1beta1/generated.pb.go @@ -1487,56 +1487,56 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 802 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0x4d, 0x6b, 0x33, 0x55, - 0x14, 0xce, 0xe4, 0xb3, 0xb9, 0x35, 0x5a, 0x2e, 0x0a, 0x31, 0x8b, 0x49, 0x09, 0x22, 0xad, 0xe8, - 0x8c, 0x09, 0x22, 0x05, 0x51, 0xe8, 0xa4, 0x08, 0x85, 0x96, 0xca, 0x6d, 0x71, 0x51, 0x04, 0x9d, - 0x4c, 0x4e, 0xa6, 0x63, 0x32, 0x1f, 0xdc, 0x7b, 0x27, 0x90, 0xae, 0xfc, 0x01, 0x2e, 0xfc, 0x11, - 0xfe, 0x03, 0xd7, 0xee, 0xbb, 0xb3, 0x0b, 0x17, 0x5d, 0x05, 0x1b, 0xff, 0x45, 0x57, 0x2f, 0xf7, - 0xce, 0xcd, 0x24, 0xd3, 0x24, 0x7d, 0xfb, 0xb6, 0xbb, 0x39, 0x67, 0xce, 0x79, 0x9e, 0xe7, 0x9e, - 0x2f, 0x74, 0x34, 0x3c, 0x60, 0x86, 0x17, 0x9a, 0xc3, 0xb8, 0x07, 0x34, 0x00, 0x0e, 0xcc, 0x1c, - 0x40, 0x1f, 0xa8, 0xcd, 0xbd, 0x30, 0x30, 0xed, 0xc8, 0xcb, 0xd8, 0xe3, 0x76, 0x0f, 0xb8, 0xdd, - 0x36, 0x5d, 0x08, 0x84, 0x0b, 0xfa, 0x46, 0x44, 0x43, 0x1e, 0xe2, 0xaf, 0x12, 0x14, 0x63, 0x81, - 0x62, 0x2c, 0xb2, 0x0c, 0x81, 0xb2, 0x6c, 0x2b, 0x94, 0xc6, 0x17, 0xae, 0xc7, 0xaf, 0xe2, 0x9e, - 0xe1, 0x84, 0xbe, 0xe9, 0x86, 0x6e, 0x68, 0x4a, 0xb0, 0x5e, 0x3c, 0x90, 0x96, 0x34, 0xe4, 0x57, - 0x42, 0xd2, 0x50, 0x24, 0x42, 0x94, 0x6f, 0x3b, 0x57, 0x5e, 0x00, 0x74, 0x62, 0x46, 0x43, 0x37, - 0x51, 0xe9, 0x03, 0xb7, 0xcd, 0xf1, 0x8a, 0xb4, 0x86, 0xb9, 0x29, 0x8b, 0xc6, 0x01, 0xf7, 0x7c, - 0x58, 0x49, 0xf8, 0xfa, 0x6d, 0x09, 0xcc, 0xb9, 0x02, 0xdf, 0x5e, 0xc9, 0xeb, 0xac, 0x56, 0x52, - 0x89, 0x33, 0x29, 0xb0, 0x30, 0xa6, 0xce, 0x2a, 0xd7, 0xe7, 0x9b, 0x73, 0xd6, 0x3c, 0xa5, 0xbd, - 0x3e, 0x3a, 0xe6, 0xde, 0xc8, 0xf4, 0x02, 0xce, 0x38, 0x7d, 0x9c, 0xd2, 0xfa, 0x3b, 0x8f, 0x2a, - 0xdd, 0x51, 0xcc, 0x38, 0x50, 0xfc, 0x0b, 0xda, 0x12, 0x45, 0xea, 0xdb, 0xdc, 0xae, 0x6b, 0xbb, - 0xda, 0xde, 0x76, 0xe7, 0x4b, 0x43, 0xf5, 0x6d, 0xf9, 0xad, 0x46, 0x34, 0x74, 0x93, 0x96, 0x89, - 0x68, 0x63, 0xdc, 0x36, 0xce, 0x7a, 0xbf, 0x82, 0xc3, 0x4f, 0x81, 0xdb, 0x16, 0xbe, 0x99, 0x36, - 0x73, 0xb3, 0x69, 0x13, 0x2d, 0x7c, 0x24, 0x45, 0xc5, 0x0e, 0x2a, 0xb2, 0x08, 0x9c, 0x7a, 0x5e, - 0xa2, 0x1f, 0x1a, 0x2f, 0x99, 0x0a, 0x43, 0xc9, 0x3d, 0x8f, 0xc0, 0xb1, 0xde, 0x53, 0x74, 0x45, - 0x61, 0x11, 0x09, 0x8e, 0x87, 0xa8, 0xcc, 0xb8, 0xcd, 0x63, 0x56, 0x2f, 0x48, 0x9a, 0xee, 0xeb, - 0x68, 0x24, 0x94, 0xf5, 0xbe, 0x22, 0x2a, 0x27, 0x36, 0x51, 0x14, 0xad, 0xbb, 0x02, 0xda, 0x51, - 0x91, 0xdd, 0x30, 0xe8, 0x7b, 0x02, 0x02, 0x1f, 0xa0, 0x22, 0x9f, 0x44, 0x20, 0x8b, 0x58, 0xb5, - 0x3e, 0x99, 0x6b, 0xbc, 0x98, 0x44, 0xf0, 0x30, 0x6d, 0x7e, 0xf8, 0x38, 0x5e, 0xf8, 0x89, 0xcc, - 0xc0, 0x3f, 0xa6, 0xda, 0xf3, 0x32, 0xf7, 0xbb, 0x2c, 0xed, 0xc3, 0xb4, 0xf9, 0xe4, 0x44, 0x18, - 0x29, 0x66, 0x56, 0x26, 0x76, 0x51, 0x6d, 0x64, 0x33, 0xfe, 0x03, 0x0d, 0x7b, 0x70, 0xe1, 0xf9, - 0xa0, 0x4a, 0xf3, 0xd9, 0xf3, 0xfa, 0x2b, 0x32, 0xac, 0x8f, 0x94, 0x94, 0xda, 0xc9, 0x32, 0x10, - 0xc9, 0xe2, 0xe2, 0x31, 0xc2, 0xc2, 0x71, 0x41, 0xed, 0x80, 0x25, 0x8f, 0x13, 0x6c, 0xc5, 0x77, - 0x66, 0x6b, 0x28, 0x36, 0x7c, 0xb2, 0x82, 0x46, 0xd6, 0x30, 0xe0, 0x4f, 0x51, 0x99, 0x82, 0xcd, - 0xc2, 0xa0, 0x5e, 0x92, 0x85, 0x4b, 0xfb, 0x45, 0xa4, 0x97, 0xa8, 0xbf, 0x78, 0x1f, 0x55, 0x7c, - 0x60, 0xcc, 0x76, 0xa1, 0x5e, 0x96, 0x81, 0x1f, 0xa8, 0xc0, 0xca, 0x69, 0xe2, 0x26, 0xf3, 0xff, - 0xad, 0x7f, 0x34, 0xb4, 0xad, 0x5a, 0x75, 0xe2, 0x31, 0x8e, 0x7f, 0x5a, 0x59, 0x0f, 0xe3, 0x79, - 0x0f, 0x12, 0xd9, 0x72, 0x39, 0x76, 0x14, 0xd7, 0xd6, 0xdc, 0xb3, 0xb4, 0x1a, 0x3d, 0x54, 0xf2, - 0x38, 0xf8, 0xa2, 0xf1, 0x85, 0xbd, 0xed, 0xce, 0xb7, 0xaf, 0x1a, 0x5a, 0xab, 0xa6, 0x98, 0x4a, - 0xc7, 0x02, 0x93, 0x24, 0xd0, 0xad, 0x3f, 0xf3, 0xe9, 0x8b, 0xc4, 0xbe, 0xe0, 0xbf, 0x34, 0xd4, - 0x60, 0x40, 0xc7, 0x40, 0x0f, 0xfb, 0x7d, 0x0a, 0x8c, 0x59, 0x93, 0xee, 0xc8, 0x83, 0x80, 0x77, - 0x8f, 0x8f, 0x08, 0xab, 0x6b, 0x52, 0xc9, 0xd9, 0xcb, 0x94, 0x9c, 0x6f, 0xc2, 0xb5, 0x5a, 0x4a, - 0x5b, 0x63, 0x63, 0x08, 0x23, 0x4f, 0xc8, 0xc2, 0x3f, 0xa3, 0x2a, 0x03, 0x87, 0x02, 0x27, 0x30, - 0x50, 0x97, 0xa4, 0xb3, 0x46, 0xa3, 0x6a, 0x83, 0x6c, 0x40, 0xe8, 0xd8, 0xa3, 0xe4, 0x20, 0x11, - 0x18, 0x00, 0x85, 0xc0, 0x01, 0xab, 0x36, 0x9b, 0x36, 0xab, 0xe7, 0x73, 0x20, 0xb2, 0xc0, 0x6c, - 0xfd, 0xab, 0xa1, 0x5a, 0x66, 0xfb, 0xf1, 0x35, 0x42, 0xce, 0x7c, 0xb3, 0xe6, 0x75, 0xf9, 0xfe, - 0x55, 0x1d, 0x4a, 0x17, 0x75, 0x71, 0x31, 0x53, 0x17, 0x23, 0x4b, 0x6c, 0xb8, 0x89, 0x4a, 0xd7, - 0x61, 0x00, 0xac, 0x5e, 0xda, 0x2d, 0xec, 0x55, 0xad, 0xaa, 0xe8, 0xea, 0xa5, 0x70, 0x90, 0xc4, - 0x9f, 0x8c, 0xbe, 0xeb, 0x85, 0x81, 0x9a, 0xe8, 0xa5, 0xd1, 0x17, 0x5e, 0xa2, 0xfe, 0xb6, 0x7e, - 0xd7, 0xd0, 0xc7, 0x1b, 0x4b, 0x8e, 0x3b, 0x08, 0x39, 0xa9, 0xa5, 0x2e, 0xd7, 0x42, 0x5a, 0xfa, - 0x87, 0x2c, 0x45, 0xe1, 0x6f, 0x50, 0x2d, 0xd3, 0x27, 0x75, 0xb4, 0xd2, 0x4b, 0x91, 0x61, 0x23, - 0xd9, 0x58, 0x6b, 0xff, 0xe6, 0x5e, 0xcf, 0xdd, 0xde, 0xeb, 0xb9, 0xbb, 0x7b, 0x3d, 0xf7, 0xdb, - 0x4c, 0xd7, 0x6e, 0x66, 0xba, 0x76, 0x3b, 0xd3, 0xb5, 0xff, 0x66, 0xba, 0xf6, 0xc7, 0xff, 0x7a, - 0xee, 0xb2, 0xa2, 0x6a, 0xf6, 0x26, 0x00, 0x00, 0xff, 0xff, 0x4c, 0x52, 0x01, 0x24, 0x84, 0x08, - 0x00, 0x00, + // 804 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x54, 0xcd, 0x6e, 0xf3, 0x44, + 0x14, 0x8d, 0xf3, 0xdb, 0x4c, 0x09, 0x54, 0x23, 0x90, 0x42, 0x16, 0x4e, 0x15, 0x21, 0xd4, 0x22, + 0xb0, 0x49, 0x84, 0x50, 0x25, 0x04, 0x52, 0x9d, 0x0a, 0xa9, 0x52, 0xab, 0xa2, 0x69, 0xc5, 0xa2, + 0x42, 0x02, 0xc7, 0xb9, 0x71, 0x4d, 0xe2, 0x1f, 0xcd, 0x8c, 0x23, 0xa5, 0x2b, 0x1e, 0x80, 0x05, + 0x0f, 0xc1, 0x1b, 0xb0, 0x66, 0xdf, 0x1d, 0x5d, 0xb0, 0xe8, 0x2a, 0xa2, 0xe1, 0x2d, 0xba, 0xfa, + 0x34, 0xe3, 0x89, 0x13, 0x37, 0x49, 0xbf, 0x7e, 0xed, 0xce, 0xf7, 0xf8, 0xde, 0x73, 0xce, 0xdc, + 0x3b, 0x77, 0xd0, 0xd1, 0xf0, 0x80, 0x19, 0x5e, 0x68, 0x0e, 0xe3, 0x1e, 0xd0, 0x00, 0x38, 0x30, + 0x73, 0x00, 0x7d, 0xa0, 0x36, 0xf7, 0xc2, 0xc0, 0xb4, 0x23, 0x2f, 0x13, 0x8f, 0xdb, 0x3d, 0xe0, + 0x76, 0xdb, 0x74, 0x21, 0x10, 0x10, 0xf4, 0x8d, 0x88, 0x86, 0x3c, 0xc4, 0x5f, 0x25, 0x2c, 0xc6, + 0x82, 0xc5, 0x58, 0x54, 0x19, 0x82, 0x65, 0x39, 0x56, 0x2c, 0x8d, 0x2f, 0x5c, 0x8f, 0x5f, 0xc5, + 0x3d, 0xc3, 0x09, 0x7d, 0xd3, 0x0d, 0xdd, 0xd0, 0x94, 0x64, 0xbd, 0x78, 0x20, 0x23, 0x19, 0xc8, + 0xaf, 0x44, 0xa4, 0xa1, 0x44, 0x84, 0x29, 0xdf, 0x76, 0xae, 0xbc, 0x00, 0xe8, 0xc4, 0x8c, 0x86, + 0xae, 0x00, 0x4c, 0x0a, 0x2c, 0x8c, 0xa9, 0x03, 0x8f, 0xad, 0x3d, 0x59, 0xc5, 0x4c, 0x1f, 0xb8, + 0x6d, 0x8e, 0x57, 0x0e, 0xd4, 0x30, 0x37, 0x55, 0xd1, 0x38, 0xe0, 0x9e, 0xbf, 0x2a, 0xf3, 0xf5, + 0xdb, 0x0a, 0x98, 0x73, 0x05, 0xbe, 0xbd, 0x52, 0xf7, 0xf9, 0x6a, 0xff, 0xe7, 0x47, 0x5a, 0x63, + 0xab, 0xbd, 0x3e, 0x3b, 0xe6, 0xde, 0xc8, 0xf4, 0x02, 0xce, 0x38, 0x7d, 0x5c, 0xd2, 0xfa, 0x3b, + 0x8f, 0x2a, 0xdd, 0x51, 0xcc, 0x38, 0x50, 0xfc, 0x0b, 0xda, 0x12, 0x07, 0xee, 0xdb, 0xdc, 0xae, + 0x6b, 0xbb, 0xda, 0xde, 0x76, 0xe7, 0x4b, 0x43, 0x4d, 0x6e, 0xd9, 0xb7, 0x11, 0x0d, 0xdd, 0x64, + 0x68, 0x22, 0xdb, 0x18, 0xb7, 0x8d, 0xb3, 0xde, 0xaf, 0xe0, 0xf0, 0x53, 0xe0, 0xb6, 0x85, 0x6f, + 0xa6, 0xcd, 0xdc, 0x6c, 0xda, 0x44, 0x0b, 0x8c, 0xa4, 0xac, 0xd8, 0x41, 0x45, 0x16, 0x81, 0x53, + 0xcf, 0x4b, 0xf6, 0x43, 0xe3, 0x25, 0xf7, 0xc2, 0x50, 0x76, 0xcf, 0x23, 0x70, 0xac, 0xf7, 0x94, + 0x5c, 0x51, 0x44, 0x44, 0x92, 0xe3, 0x21, 0x2a, 0x33, 0x6e, 0xf3, 0x98, 0xd5, 0x0b, 0x52, 0xa6, + 0xfb, 0x3a, 0x19, 0x49, 0x65, 0xbd, 0xaf, 0x84, 0xca, 0x49, 0x4c, 0x94, 0x44, 0xeb, 0xae, 0x80, + 0x76, 0x54, 0x66, 0x37, 0x0c, 0xfa, 0x9e, 0xa0, 0xc0, 0x07, 0xa8, 0xc8, 0x27, 0x11, 0xc8, 0x26, + 0x56, 0xad, 0x4f, 0xe6, 0x1e, 0x2f, 0x26, 0x11, 0x3c, 0x4c, 0x9b, 0x1f, 0x3e, 0xce, 0x17, 0x38, + 0x91, 0x15, 0xf8, 0xc7, 0xd4, 0x7b, 0x5e, 0xd6, 0x7e, 0x97, 0x95, 0x7d, 0x98, 0x36, 0x9f, 0xbc, + 0x11, 0x46, 0xca, 0x99, 0xb5, 0x89, 0x5d, 0x54, 0x1b, 0xd9, 0x8c, 0xff, 0x40, 0xc3, 0x1e, 0x5c, + 0x78, 0x3e, 0xa8, 0xd6, 0x7c, 0xf6, 0xbc, 0xf9, 0x8a, 0x0a, 0xeb, 0x23, 0x65, 0xa5, 0x76, 0xb2, + 0x4c, 0x44, 0xb2, 0xbc, 0x78, 0x8c, 0xb0, 0x00, 0x2e, 0xa8, 0x1d, 0xb0, 0xe4, 0x70, 0x42, 0xad, + 0xf8, 0xce, 0x6a, 0x0d, 0xa5, 0x86, 0x4f, 0x56, 0xd8, 0xc8, 0x1a, 0x05, 0xfc, 0x29, 0x2a, 0x53, + 0xb0, 0x59, 0x18, 0xd4, 0x4b, 0xb2, 0x71, 0xe9, 0xbc, 0x88, 0x44, 0x89, 0xfa, 0x8b, 0xf7, 0x51, + 0xc5, 0x07, 0xc6, 0x6c, 0x17, 0xea, 0x65, 0x99, 0xf8, 0x81, 0x4a, 0xac, 0x9c, 0x26, 0x30, 0x99, + 0xff, 0x6f, 0xfd, 0xa3, 0xa1, 0x6d, 0x35, 0xaa, 0x13, 0x8f, 0x71, 0xfc, 0xd3, 0xca, 0x7a, 0x18, + 0xcf, 0x3b, 0x90, 0xa8, 0x96, 0xcb, 0xb1, 0xa3, 0xb4, 0xb6, 0xe6, 0xc8, 0xd2, 0x6a, 0xf4, 0x50, + 0xc9, 0xe3, 0xe0, 0x8b, 0xc1, 0x17, 0xf6, 0xb6, 0x3b, 0xdf, 0xbe, 0xea, 0xd2, 0x5a, 0x35, 0xa5, + 0x54, 0x3a, 0x16, 0x9c, 0x24, 0xa1, 0x6e, 0xfd, 0x99, 0x4f, 0x4f, 0x24, 0xf6, 0x05, 0xff, 0xa5, + 0xa1, 0x06, 0x03, 0x3a, 0x06, 0x7a, 0xd8, 0xef, 0x53, 0x60, 0xcc, 0x9a, 0x74, 0x47, 0x1e, 0x04, + 0xbc, 0x7b, 0x7c, 0x44, 0x58, 0x5d, 0x93, 0x4e, 0xce, 0x5e, 0xe6, 0xe4, 0x7c, 0x13, 0xaf, 0xd5, + 0x52, 0xde, 0x1a, 0x1b, 0x53, 0x18, 0x79, 0xc2, 0x16, 0xfe, 0x19, 0x55, 0x19, 0x38, 0x14, 0x38, + 0x81, 0x81, 0x7a, 0x49, 0x3a, 0x6b, 0x3c, 0xaa, 0x31, 0xc8, 0x01, 0x84, 0x8e, 0x3d, 0x4a, 0x1e, + 0x24, 0x02, 0x03, 0xa0, 0x10, 0x38, 0x60, 0xd5, 0x66, 0xd3, 0x66, 0xf5, 0x7c, 0x4e, 0x44, 0x16, + 0x9c, 0xad, 0x7f, 0x35, 0x54, 0xcb, 0x6c, 0x3f, 0xbe, 0x46, 0xc8, 0x99, 0x6f, 0xd6, 0xbc, 0x2f, + 0xdf, 0xbf, 0x6a, 0x42, 0xe9, 0xa2, 0x2e, 0x5e, 0xcc, 0x14, 0x62, 0x64, 0x49, 0x0d, 0x37, 0x51, + 0xe9, 0x3a, 0x0c, 0x80, 0xd5, 0x4b, 0xbb, 0x85, 0xbd, 0xaa, 0x55, 0x15, 0x53, 0xbd, 0x14, 0x00, + 0x49, 0xf0, 0xe4, 0xea, 0xbb, 0x5e, 0x18, 0xa8, 0x1b, 0xbd, 0x74, 0xf5, 0x05, 0x4a, 0xd4, 0xdf, + 0xd6, 0xef, 0x1a, 0xfa, 0x78, 0x63, 0xcb, 0x71, 0x07, 0x21, 0x27, 0x8d, 0xd4, 0xcb, 0xb5, 0xb0, + 0x96, 0xfe, 0x21, 0x4b, 0x59, 0xf8, 0x1b, 0x54, 0xcb, 0xcc, 0x49, 0x3d, 0x5a, 0xe9, 0x4b, 0x91, + 0x51, 0x23, 0xd9, 0x5c, 0x6b, 0xff, 0xe6, 0x5e, 0xcf, 0xdd, 0xde, 0xeb, 0xb9, 0xbb, 0x7b, 0x3d, + 0xf7, 0xdb, 0x4c, 0xd7, 0x6e, 0x66, 0xba, 0x76, 0x3b, 0xd3, 0xb5, 0xff, 0x66, 0xba, 0xf6, 0xc7, + 0xff, 0x7a, 0xee, 0xb2, 0xa2, 0x7a, 0xf6, 0x26, 0x00, 0x00, 0xff, 0xff, 0x4d, 0x90, 0x9b, 0x38, + 0x86, 0x08, 0x00, 0x00, } diff --git a/federation/apis/federation/v1beta1/generated.proto b/federation/apis/federation/v1beta1/generated.proto index 0be7a854ddd..a95484b4b86 100644 --- a/federation/apis/federation/v1beta1/generated.proto +++ b/federation/apis/federation/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.federation.apis.federation.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/federation/pkg/kubefed/BUILD b/federation/pkg/kubefed/BUILD index b1b7605699c..6f5c0f3fc99 100644 --- a/federation/pkg/kubefed/BUILD +++ b/federation/pkg/kubefed/BUILD @@ -55,6 +55,7 @@ go_test( "//pkg/api/v1:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/diff", diff --git a/federation/pkg/kubefed/init/BUILD b/federation/pkg/kubefed/init/BUILD index cb11d1e950b..d1f80a36fdf 100644 --- a/federation/pkg/kubefed/init/BUILD +++ b/federation/pkg/kubefed/init/BUILD @@ -16,7 +16,6 @@ go_library( "//cmd/kubeadm/app/phases/kubeconfig:go_default_library", "//federation/pkg/kubefed/util:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/kubectl/cmd/templates:go_default_library", @@ -24,6 +23,7 @@ go_library( "//pkg/util/intstr:go_default_library", "//pkg/version:go_default_library", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/client-go/tools/clientcmd", @@ -42,14 +42,15 @@ go_test( "//federation/pkg/kubefed/testing:go_default_library", "//federation/pkg/kubefed/util:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/kubectl/cmd/testing:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/client-go/dynamic", diff --git a/federation/pkg/kubefed/init/init.go b/federation/pkg/kubefed/init/init.go index b0704c5b224..017640d9352 100644 --- a/federation/pkg/kubefed/init/init.go +++ b/federation/pkg/kubefed/init/init.go @@ -36,6 +36,7 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/tools/clientcmd" @@ -45,7 +46,6 @@ import ( kubeadmkubeconfigphase "k8s.io/kubernetes/cmd/kubeadm/app/phases/kubeconfig" "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/apis/extensions" client "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/kubectl/cmd/templates" diff --git a/federation/pkg/kubefed/init/init_test.go b/federation/pkg/kubefed/init/init_test.go index 21e7961d66b..025b8573b3b 100644 --- a/federation/pkg/kubefed/init/init_test.go +++ b/federation/pkg/kubefed/init/init_test.go @@ -30,7 +30,9 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/client-go/dynamic" @@ -39,7 +41,6 @@ import ( kubefedtesting "k8s.io/kubernetes/federation/pkg/kubefed/testing" "k8s.io/kubernetes/federation/pkg/kubefed/util" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -767,7 +768,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, if err != nil { return nil, err } - if !api.Semantic.DeepEqual(got, namespace) { + if !apiequality.Semantic.DeepEqual(got, namespace) { return nil, fmt.Errorf("Unexpected namespace object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, namespace)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &namespace)}, nil @@ -781,7 +782,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, if err != nil { return nil, err } - if !api.Semantic.DeepEqual(got, svc) { + if !apiequality.Semantic.DeepEqual(got, svc) { return nil, fmt.Errorf("Unexpected service object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, svc)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &svc)}, nil @@ -812,7 +813,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, case cmKubeconfigSecretName: want = cmKubeconfigSecret } - if !api.Semantic.DeepEqual(got, want) { + if !apiequality.Semantic.DeepEqual(got, want) { return nil, fmt.Errorf("Unexpected secret object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, want)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &want)}, nil @@ -826,7 +827,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, if err != nil { return nil, err } - if !api.Semantic.DeepEqual(got, pvc) { + if !apiequality.Semantic.DeepEqual(got, pvc) { return nil, fmt.Errorf("Unexpected PVC object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, pvc)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &pvc)}, nil @@ -846,7 +847,7 @@ func fakeInitHostFactory(federationName, namespaceName, ip, dnsZoneName, image, case cmName: want = cm } - if !api.Semantic.DeepEqual(got, want) { + if !apiequality.Semantic.DeepEqual(got, want) { return nil, fmt.Errorf("Unexpected deployment object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, want)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(extCodec, &want)}, nil diff --git a/federation/pkg/kubefed/join_test.go b/federation/pkg/kubefed/join_test.go index f9922635bce..165eab71d47 100644 --- a/federation/pkg/kubefed/join_test.go +++ b/federation/pkg/kubefed/join_test.go @@ -23,6 +23,7 @@ import ( "net/http" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/client-go/dynamic" @@ -189,7 +190,7 @@ func testJoinFederationFactory(clusterName, secretName, server string) cmdutil.F if err != nil { return nil, err } - if !api.Semantic.DeepEqual(got, want) { + if !apiequality.Semantic.DeepEqual(got, want) { return nil, fmt.Errorf("Unexpected cluster object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, want)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &want)}, nil @@ -265,7 +266,7 @@ func fakeJoinHostFactory(clusterName, clusterCtx, secretName, server, token stri if err != nil { return nil, err } - if !api.Semantic.DeepEqual(got, secretObject) { + if !apiequality.Semantic.DeepEqual(got, secretObject) { return nil, fmt.Errorf("Unexpected secret object\n\tDiff: %s", diff.ObjectGoPrintDiff(got, secretObject)) } return &http.Response{StatusCode: http.StatusCreated, Header: kubefedtesting.DefaultHeader(), Body: kubefedtesting.ObjBody(codec, &secretObject)}, nil diff --git a/hack/.linted_packages b/hack/.linted_packages index adc79f5dfd0..9f20d9e383e 100644 --- a/hack/.linted_packages +++ b/hack/.linted_packages @@ -264,7 +264,9 @@ plugin/pkg/admission/securitycontext/scdeny plugin/pkg/auth plugin/pkg/auth/authorizer plugin/pkg/auth/authorizer/rbac/bootstrappolicy +staging/src/k8s.io/apimachinery/pkg/api/equality staging/src/k8s.io/apimachinery/pkg/api/errors +staging/src/k8s.io/apimachinery/pkg/api/resource staging/src/k8s.io/apimachinery/pkg/apimachinery staging/src/k8s.io/apimachinery/pkg/conversion/queryparams staging/src/k8s.io/apimachinery/pkg/runtime diff --git a/pkg/api/BUILD b/pkg/api/BUILD index 24919406ed4..0ac7562ebaf 100644 --- a/pkg/api/BUILD +++ b/pkg/api/BUILD @@ -26,11 +26,11 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/util/intstr:go_default_library", "//pkg/util/labels:go_default_library", "//vendor:github.com/davecgh/go-spew/spew", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apimachinery/announced", "//vendor:k8s.io/apimachinery/pkg/apimachinery/registered", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", @@ -56,7 +56,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -91,7 +91,9 @@ go_test( "//vendor:github.com/google/gofuzz", "//vendor:github.com/spf13/pflag", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/testing", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/api/conversion.go b/pkg/api/conversion.go index 420813579e9..06b465d0b17 100644 --- a/pkg/api/conversion.go +++ b/pkg/api/conversion.go @@ -21,12 +21,12 @@ import ( "strconv" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/intstr" utillabels "k8s.io/kubernetes/pkg/util/labels" ) diff --git a/pkg/api/conversion_test.go b/pkg/api/conversion_test.go index da651a466c9..6033ce096df 100644 --- a/pkg/api/conversion_test.go +++ b/pkg/api/conversion_test.go @@ -21,15 +21,17 @@ import ( "math/rand" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" + apitesting "k8s.io/apimachinery/pkg/api/testing" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" ) func BenchmarkPodConversion(b *testing.B) { - apiObjectFuzzer := apitesting.FuzzerFor(nil, api.SchemeGroupVersion, rand.NewSource(benchmarkSeed)) + apiObjectFuzzer := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(b), rand.NewSource(benchmarkSeed)) items := make([]api.Pod, 4) for i := range items { apiObjectFuzzer.Fuzz(&items[i]) @@ -79,7 +81,7 @@ func BenchmarkNodeConversion(b *testing.B) { result = obj.(*api.Node) } b.StopTimer() - if !api.Semantic.DeepDerivative(node, *result) { + if !apiequality.Semantic.DeepDerivative(node, *result) { b.Fatalf("Incorrect conversion: %s", diff.ObjectDiff(node, *result)) } } @@ -109,7 +111,7 @@ func BenchmarkReplicationControllerConversion(b *testing.B) { result = obj.(*api.ReplicationController) } b.StopTimer() - if !api.Semantic.DeepDerivative(replicationController, *result) { + if !apiequality.Semantic.DeepDerivative(replicationController, *result) { b.Fatalf("Incorrect conversion: expected %v, got %v", replicationController, *result) } } diff --git a/pkg/api/copy_test.go b/pkg/api/copy_test.go index 5393a6d02ad..56ec756af40 100644 --- a/pkg/api/copy_test.go +++ b/pkg/api/copy_test.go @@ -22,11 +22,12 @@ import ( "reflect" "testing" + apitesting "k8s.io/apimachinery/pkg/api/testing" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "github.com/google/gofuzz" ) @@ -34,7 +35,7 @@ import ( func TestDeepCopyApiObjects(t *testing.T) { for i := 0; i < *fuzzIters; i++ { for _, version := range []schema.GroupVersion{testapi.Default.InternalGroupVersion(), api.Registry.GroupOrDie(api.GroupName).GroupVersion} { - f := apitesting.FuzzerFor(t, version, rand.NewSource(rand.Int63())) + f := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(rand.Int63())) for kind := range api.Scheme.KnownTypes(version) { doDeepCopyTest(t, version.WithKind(kind), f) } @@ -83,7 +84,7 @@ func doDeepCopyTest(t *testing.T, kind schema.GroupVersionKind, f *fuzz.Fuzzer) func TestDeepCopySingleType(t *testing.T) { for i := 0; i < *fuzzIters; i++ { for _, version := range []schema.GroupVersion{testapi.Default.InternalGroupVersion(), api.Registry.GroupOrDie(api.GroupName).GroupVersion} { - f := apitesting.FuzzerFor(t, version, rand.NewSource(rand.Int63())) + f := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(rand.Int63())) doDeepCopyTest(t, version.WithKind("Pod"), f) } } diff --git a/pkg/api/deep_copy_test.go b/pkg/api/deep_copy_test.go index b1a0e002dc4..1b8423b7cad 100644 --- a/pkg/api/deep_copy_test.go +++ b/pkg/api/deep_copy_test.go @@ -21,6 +21,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -140,7 +141,7 @@ func BenchmarkPodCopy(b *testing.B) { } result = obj.(*api.Pod) } - if !api.Semantic.DeepEqual(benchmarkPod, *result) { + if !apiequality.Semantic.DeepEqual(benchmarkPod, *result) { b.Fatalf("Incorrect copy: expected %v, got %v", benchmarkPod, *result) } } @@ -163,7 +164,7 @@ func BenchmarkNodeCopy(b *testing.B) { } result = obj.(*api.Node) } - if !api.Semantic.DeepEqual(node, *result) { + if !apiequality.Semantic.DeepEqual(node, *result) { b.Fatalf("Incorrect copy: expected %v, got %v", node, *result) } } @@ -186,7 +187,7 @@ func BenchmarkReplicationControllerCopy(b *testing.B) { } result = obj.(*api.ReplicationController) } - if !api.Semantic.DeepEqual(replicationController, *result) { + if !apiequality.Semantic.DeepEqual(replicationController, *result) { b.Fatalf("Incorrect copy: expected %v, got %v", replicationController, *result) } } diff --git a/pkg/api/helpers.go b/pkg/api/helpers.go index 3ae3da78fc2..283dc8062c4 100644 --- a/pkg/api/helpers.go +++ b/pkg/api/helpers.go @@ -25,6 +25,7 @@ import ( "github.com/davecgh/go-spew/spew" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/fields" @@ -32,7 +33,6 @@ import ( "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/selection" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/api/resource" ) // Conversion error conveniently packages up errors in conversions. @@ -67,7 +67,7 @@ func NonConvertibleFields(annotations map[string]string) map[string]string { } // Semantic can do semantic deep equality checks for api objects. -// Example: api.Semantic.DeepEqual(aPod, aPodWithNonNilButEmptyMaps) == true +// Example: apiequality.Semantic.DeepEqual(aPod, aPodWithNonNilButEmptyMaps) == true var Semantic = conversion.EqualitiesOrDie( func(a, b resource.Quantity) bool { // Ignore formatting, only care that numeric value stayed the same. diff --git a/pkg/api/helpers_test.go b/pkg/api/helpers_test.go index bb19f933e5e..1b58690b5a1 100644 --- a/pkg/api/helpers_test.go +++ b/pkg/api/helpers_test.go @@ -21,8 +21,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/labels" - "k8s.io/kubernetes/pkg/api/resource" ) func TestConversionError(t *testing.T) { diff --git a/pkg/api/resource/BUILD b/pkg/api/resource/BUILD index 64527a36e73..deefdcef3c1 100644 --- a/pkg/api/resource/BUILD +++ b/pkg/api/resource/BUILD @@ -5,52 +5,12 @@ licenses(["notice"]) load( "@io_bazel_rules_go//go:def.bzl", "go_library", - "go_test", ) go_library( name = "go_default_library", - srcs = [ - "amount.go", - "generated.pb.go", - "math.go", - "quantity.go", - "quantity_proto.go", - "scale_int.go", - "suffix.go", - ], + srcs = ["doc.go"], tags = ["automanaged"], - deps = [ - "//vendor:github.com/go-openapi/spec", - "//vendor:github.com/gogo/protobuf/proto", - "//vendor:github.com/spf13/pflag", - "//vendor:gopkg.in/inf.v0", - "//vendor:k8s.io/apimachinery/pkg/openapi", - ], -) - -go_test( - name = "go_default_test", - srcs = [ - "amount_test.go", - "math_test.go", - "quantity_test.go", - "scale_int_test.go", - ], - library = ":go_default_library", - tags = ["automanaged"], - deps = [ - "//vendor:github.com/google/gofuzz", - "//vendor:github.com/spf13/pflag", - "//vendor:gopkg.in/inf.v0", - ], -) - -go_test( - name = "go_default_xtest", - srcs = ["quantity_example_test.go"], - tags = ["automanaged"], - deps = ["//pkg/api/resource:go_default_library"], ) filegroup( diff --git a/pkg/api/resource/doc.go b/pkg/api/resource/doc.go new file mode 100644 index 00000000000..80c5e64bf8b --- /dev/null +++ b/pkg/api/resource/doc.go @@ -0,0 +1,21 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Package resource only exists until heapster rebases +// TODO genericapiserver remove this empty package. Godep fails without this because heapster relies +// on this package. This will allow us to start splitting packages, but will force +// heapster to update on their next kube rebase. +package resource diff --git a/pkg/api/resource/generated.pb.go b/pkg/api/resource/generated.pb.go deleted file mode 100644 index 42e56c7dc76..00000000000 --- a/pkg/api/resource/generated.pb.go +++ /dev/null @@ -1,70 +0,0 @@ -/* -Copyright 2017 The Kubernetes Authors. - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. -*/ - -// Code generated by protoc-gen-gogo. -// source: k8s.io/kubernetes/pkg/api/resource/generated.proto -// DO NOT EDIT! - -/* - Package resource is a generated protocol buffer package. - - It is generated from these files: - k8s.io/kubernetes/pkg/api/resource/generated.proto - - It has these top-level messages: - Quantity -*/ -package resource - -import proto "github.com/gogo/protobuf/proto" -import fmt "fmt" -import math "math" - -// Reference imports to suppress errors if they are not otherwise used. -var _ = proto.Marshal -var _ = fmt.Errorf -var _ = math.Inf - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the proto package it is being compiled against. -const _ = proto.GoGoProtoPackageIsVersion1 - -func (m *Quantity) Reset() { *m = Quantity{} } -func (*Quantity) ProtoMessage() {} -func (*Quantity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } - -func init() { - proto.RegisterType((*Quantity)(nil), "k8s.io.kubernetes.pkg.api.resource.Quantity") -} - -var fileDescriptorGenerated = []byte{ - // 236 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0x8f, 0xa1, 0x4e, 0x03, 0x41, - 0x10, 0x86, 0x67, 0x0d, 0x29, 0x27, 0x1b, 0x42, 0x48, 0xc5, 0x5e, 0x53, 0x45, 0x48, 0xd8, 0x09, - 0xa8, 0x06, 0xc9, 0x1b, 0x80, 0xc4, 0xdd, 0x95, 0x61, 0x99, 0x1c, 0xec, 0x6e, 0x76, 0x67, 0x05, - 0xae, 0x12, 0x59, 0x89, 0xec, 0xbd, 0x4d, 0x65, 0x25, 0x02, 0xc1, 0x1d, 0x2f, 0x42, 0x72, 0xa5, - 0x21, 0x21, 0xb8, 0xf9, 0xc4, 0x37, 0xf9, 0xfe, 0xe2, 0xb2, 0x99, 0x27, 0xc3, 0x1e, 0x9b, 0x5c, - 0x53, 0x74, 0x24, 0x94, 0x30, 0x34, 0x16, 0xab, 0xc0, 0x18, 0x29, 0xf9, 0x1c, 0x17, 0x84, 0x96, - 0x1c, 0xc5, 0x4a, 0xe8, 0xde, 0x84, 0xe8, 0xc5, 0x8f, 0x67, 0x3b, 0xc7, 0xfc, 0x3a, 0x26, 0x34, - 0xd6, 0x54, 0x81, 0xcd, 0xde, 0x99, 0x9c, 0x5b, 0x96, 0xc7, 0x5c, 0x9b, 0x85, 0x7f, 0x46, 0xeb, - 0xad, 0xc7, 0x41, 0xad, 0xf3, 0xc3, 0x40, 0x03, 0x0c, 0xd7, 0xee, 0xe5, 0xe4, 0xe2, 0xff, 0x8c, - 0x2c, 0xfc, 0x84, 0xec, 0x24, 0x49, 0xfc, 0x5b, 0x31, 0x9b, 0x17, 0xa3, 0x9b, 0x5c, 0x39, 0x61, - 0x79, 0x19, 0x1f, 0x17, 0x07, 0x49, 0x22, 0x3b, 0x7b, 0xa2, 0xa6, 0xea, 0xf4, 0xf0, 0xf6, 0x87, - 0xae, 0x8e, 0xde, 0xd6, 0x25, 0xbc, 0xb6, 0x25, 0xac, 0xda, 0x12, 0xd6, 0x6d, 0x09, 0xcb, 0x8f, - 0x29, 0x5c, 0x9f, 0x6d, 0x3a, 0x0d, 0xdb, 0x4e, 0xc3, 0x7b, 0xa7, 0x61, 0xd9, 0x6b, 0xb5, 0xe9, - 0xb5, 0xda, 0xf6, 0x5a, 0x7d, 0xf6, 0x5a, 0xad, 0xbe, 0x34, 0xdc, 0x8d, 0xf6, 0x3b, 0xbe, 0x03, - 0x00, 0x00, 0xff, 0xff, 0x90, 0x1c, 0x7f, 0xff, 0x20, 0x01, 0x00, 0x00, -} diff --git a/pkg/api/resource_helpers.go b/pkg/api/resource_helpers.go index 9ca3297e66b..88d0f80d769 100644 --- a/pkg/api/resource_helpers.go +++ b/pkg/api/resource_helpers.go @@ -19,8 +19,8 @@ package api import ( "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" ) // Returns string version of ResourceName. diff --git a/pkg/api/resource_helpers_test.go b/pkg/api/resource_helpers_test.go index 7ac328cdee7..a52bab14bed 100644 --- a/pkg/api/resource_helpers_test.go +++ b/pkg/api/resource_helpers_test.go @@ -20,8 +20,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" ) func TestResourceHelpers(t *testing.T) { diff --git a/pkg/api/serialization_proto_test.go b/pkg/api/serialization_proto_test.go index 37d14e486ea..c4229136d50 100644 --- a/pkg/api/serialization_proto_test.go +++ b/pkg/api/serialization_proto_test.go @@ -23,6 +23,8 @@ import ( "testing" "github.com/gogo/protobuf/proto" + apiequality "k8s.io/apimachinery/pkg/api/equality" + apitesting "k8s.io/apimachinery/pkg/api/testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -31,7 +33,7 @@ import ( "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/extensions" _ "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -67,7 +69,7 @@ func TestUniversalDeserializer(t *testing.T) { if err != nil { t.Fatalf("%s: %v", mediaType, err) } - if !api.Semantic.DeepEqual(expected, obj) { + if !apiequality.Semantic.DeepEqual(expected, obj) { t.Fatalf("%s: %#v", mediaType, obj) } } @@ -75,7 +77,7 @@ func TestUniversalDeserializer(t *testing.T) { func TestProtobufRoundTrip(t *testing.T) { obj := &v1.Pod{} - apitesting.FuzzerFor(t, v1.SchemeGroupVersion, rand.NewSource(benchmarkSeed)).Fuzz(obj) + apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(benchmarkSeed)).Fuzz(obj) // InitContainers are turned into annotations by conversion. obj.Spec.InitContainers = nil obj.Status.InitContainerStatuses = nil @@ -87,7 +89,7 @@ func TestProtobufRoundTrip(t *testing.T) { if err := out.Unmarshal(data); err != nil { t.Fatal(err) } - if !api.Semantic.Equalities.DeepEqual(out, obj) { + if !apiequality.Semantic.Equalities.DeepEqual(out, obj) { t.Logf("marshal\n%s", hex.Dump(data)) t.Fatalf("Unmarshal is unequal\n%s", diff.ObjectGoPrintDiff(out, obj)) } @@ -96,7 +98,7 @@ func TestProtobufRoundTrip(t *testing.T) { // BenchmarkEncodeCodec measures the cost of performing a codec encode, which includes // reflection (to clear APIVersion and Kind) func BenchmarkEncodeCodecProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) s := protobuf.NewSerializer(nil, nil, "application/arbitrary.content.type") b.ResetTimer() @@ -111,7 +113,7 @@ func BenchmarkEncodeCodecProtobuf(b *testing.B) { // BenchmarkEncodeCodecFromInternalProtobuf measures the cost of performing a codec encode, // including conversions and any type setting. This is a "full" encode. func BenchmarkEncodeCodecFromInternalProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encodable := make([]api.Pod, width) for i := range items { @@ -131,7 +133,7 @@ func BenchmarkEncodeCodecFromInternalProtobuf(b *testing.B) { } func BenchmarkEncodeProtobufGeneratedMarshal(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -145,7 +147,7 @@ func BenchmarkEncodeProtobufGeneratedMarshal(b *testing.B) { // BenchmarkDecodeCodecToInternalProtobuf measures the cost of performing a codec decode, // including conversions and any type setting. This is a "full" decode. func BenchmarkDecodeCodecToInternalProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) s := protobuf.NewSerializer(api.Scheme, api.Scheme, "application/arbitrary.content.type") encoder := api.Codecs.EncoderForVersion(s, v1.SchemeGroupVersion) @@ -170,7 +172,7 @@ func BenchmarkDecodeCodecToInternalProtobuf(b *testing.B) { // BenchmarkDecodeJSON provides a baseline for regular JSON decode performance func BenchmarkDecodeIntoProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { diff --git a/pkg/api/serialization_test.go b/pkg/api/serialization_test.go index 29b9d989995..438abc5f0e5 100644 --- a/pkg/api/serialization_test.go +++ b/pkg/api/serialization_test.go @@ -32,7 +32,9 @@ import ( flag "github.com/spf13/pflag" "github.com/ugorji/go/codec" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/meta" + apitesting "k8s.io/apimachinery/pkg/api/testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/runtime" @@ -43,7 +45,7 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -63,7 +65,7 @@ var codecsToTest = []func(version schema.GroupVersion, item runtime.Object) (run // fuzzInternalObject fuzzes an arbitrary runtime object using the appropriate // fuzzer registered with the apitesting package. func fuzzInternalObject(t *testing.T, forVersion schema.GroupVersion, item runtime.Object, seed int64) runtime.Object { - apitesting.FuzzerFor(t, forVersion, rand.NewSource(seed)).Fuzz(item) + apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(seed)).Fuzz(item) j, err := meta.TypeAccessor(item) if err != nil { @@ -320,7 +322,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, item runtime.Object) { // ensure that the deep copy is equal to the original; neither the deep // copy or conversion should alter the object - if !api.Semantic.DeepEqual(original, item) { + if !apiequality.Semantic.DeepEqual(original, item) { t.Errorf("0: %v: encode altered the object, diff: %v", name, diff.ObjectReflectDiff(original, item)) return } @@ -334,7 +336,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, item runtime.Object) { // ensure that the object produced from decoding the encoded data is equal // to the original object - if !api.Semantic.DeepEqual(original, obj2) { + if !apiequality.Semantic.DeepEqual(original, obj2) { t.Errorf("\n1: %v: diff: %v\nCodec: %#v\nSource:\n\n%#v\n\nEncoded:\n\n%s\n\nFinal:\n\n%#v", name, diff.ObjectReflectDiff(item, obj2), codec, printer.Sprintf("%#v", item), dataAsString(data), printer.Sprintf("%#v", obj2)) return } @@ -349,7 +351,7 @@ func roundTrip(t *testing.T, codec runtime.Codec, item runtime.Object) { // ensure that the new runtime object is equal to the original after being // decoded into - if !api.Semantic.DeepEqual(item, obj3) { + if !apiequality.Semantic.DeepEqual(item, obj3) { t.Errorf("3: %v: diff: %v\nCodec: %#v", name, diff.ObjectReflectDiff(item, obj3), codec) return } @@ -382,7 +384,7 @@ func TestEncodePtr(t *testing.T) { if _, ok := obj2.(*api.Pod); !ok { t.Fatalf("Got wrong type") } - if !api.Semantic.DeepEqual(obj2, pod) { + if !apiequality.Semantic.DeepEqual(obj2, pod) { t.Errorf("\nExpected:\n\n %#v,\n\nGot:\n\n %#vDiff: %v\n\n", pod, obj2, diff.ObjectDiff(obj2, pod)) } } @@ -440,7 +442,7 @@ func TestUnversionedTypes(t *testing.T) { // TestObjectWatchFraming establishes that a watch event can be encoded and // decoded correctly through each of the supported RFC2046 media types. func TestObjectWatchFraming(t *testing.T) { - f := apitesting.FuzzerFor(nil, api.SchemeGroupVersion, rand.NewSource(benchmarkSeed)) + f := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(benchmarkSeed)) secret := &api.Secret{} f.Fuzz(secret) secret.Data["binary"] = []byte{0x00, 0x10, 0x30, 0x55, 0xff, 0x00} @@ -479,7 +481,7 @@ func TestObjectWatchFraming(t *testing.T) { } resultSecret.Kind = "Secret" resultSecret.APIVersion = "v1" - if !api.Semantic.DeepEqual(v1secret, res) { + if !apiequality.Semantic.DeepEqual(v1secret, res) { t.Fatalf("objects did not match: %s", diff.ObjectGoPrintDiff(v1secret, res)) } @@ -513,7 +515,7 @@ func TestObjectWatchFraming(t *testing.T) { } } - if !api.Semantic.DeepEqual(secret, outEvent.Object.Object) { + if !apiequality.Semantic.DeepEqual(secret, outEvent.Object.Object) { t.Fatalf("%s: did not match after frame decoding: %s", info.MediaType, diff.ObjectGoPrintDiff(secret, outEvent.Object.Object)) } } @@ -521,8 +523,8 @@ func TestObjectWatchFraming(t *testing.T) { const benchmarkSeed = 100 -func benchmarkItems() []v1.Pod { - apiObjectFuzzer := apitesting.FuzzerFor(nil, api.SchemeGroupVersion, rand.NewSource(benchmarkSeed)) +func benchmarkItems(b *testing.B) []v1.Pod { + apiObjectFuzzer := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(b), rand.NewSource(benchmarkSeed)) items := make([]v1.Pod, 10) for i := range items { var pod api.Pod @@ -540,7 +542,7 @@ func benchmarkItems() []v1.Pod { // BenchmarkEncodeCodec measures the cost of performing a codec encode, which includes // reflection (to clear APIVersion and Kind) func BenchmarkEncodeCodec(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -554,7 +556,7 @@ func BenchmarkEncodeCodec(b *testing.B) { // BenchmarkEncodeCodecFromInternal measures the cost of performing a codec encode, // including conversions. func BenchmarkEncodeCodecFromInternal(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encodable := make([]api.Pod, width) for i := range items { @@ -573,7 +575,7 @@ func BenchmarkEncodeCodecFromInternal(b *testing.B) { // BenchmarkEncodeJSONMarshal provides a baseline for regular JSON encode performance func BenchmarkEncodeJSONMarshal(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) b.ResetTimer() for i := 0; i < b.N; i++ { @@ -586,7 +588,7 @@ func BenchmarkEncodeJSONMarshal(b *testing.B) { func BenchmarkDecodeCodec(b *testing.B) { codec := testapi.Default.Codec() - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { @@ -608,7 +610,7 @@ func BenchmarkDecodeCodec(b *testing.B) { func BenchmarkDecodeIntoExternalCodec(b *testing.B) { codec := testapi.Default.Codec() - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { @@ -631,7 +633,7 @@ func BenchmarkDecodeIntoExternalCodec(b *testing.B) { func BenchmarkDecodeIntoInternalCodec(b *testing.B) { codec := testapi.Default.Codec() - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { @@ -655,7 +657,7 @@ func BenchmarkDecodeIntoInternalCodec(b *testing.B) { // BenchmarkDecodeJSON provides a baseline for regular JSON decode performance func BenchmarkDecodeIntoJSON(b *testing.B) { codec := testapi.Default.Codec() - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { @@ -679,7 +681,7 @@ func BenchmarkDecodeIntoJSON(b *testing.B) { // BenchmarkDecodeJSON provides a baseline for codecgen JSON decode performance func BenchmarkDecodeIntoJSONCodecGen(b *testing.B) { kcodec := testapi.Default.Codec() - items := benchmarkItems() + items := benchmarkItems(b) width := len(items) encoded := make([][]byte, width) for i := range items { diff --git a/pkg/api/testing/BUILD b/pkg/api/testing/BUILD index 86e4ba689fb..c95b951f248 100644 --- a/pkg/api/testing/BUILD +++ b/pkg/api/testing/BUILD @@ -18,7 +18,6 @@ go_library( deps = [ "//cmd/kubeadm/app/apis/kubeadm:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling:go_default_library", @@ -29,12 +28,13 @@ go_library( "//pkg/apis/rbac:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/api/resource", + "//vendor:k8s.io/apimachinery/pkg/api/testing", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", - "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/api/testing/fuzzer.go b/pkg/api/testing/fuzzer.go index d73506f6c60..7fe170cfd1e 100644 --- a/pkg/api/testing/fuzzer.go +++ b/pkg/api/testing/fuzzer.go @@ -18,22 +18,20 @@ package testing import ( "fmt" - "math/rand" "reflect" "strconv" - "testing" "github.com/google/gofuzz" + "k8s.io/apimachinery/pkg/api/resource" + apitesting "k8s.io/apimachinery/pkg/api/testing" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/cmd/kubeadm/app/apis/kubeadm" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/apis/autoscaling" "k8s.io/kubernetes/pkg/apis/batch" @@ -44,51 +42,65 @@ import ( "k8s.io/kubernetes/pkg/util/intstr" ) -// FuzzerFor can randomly populate api objects that are destined for version. -func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz.Fuzzer { - f := fuzz.New().NilChance(.5).NumElements(0, 1) - if src != nil { - f.RandSource(src) - } - f.Funcs( - func(j *int, c fuzz.Continue) { - *j = int(c.Int31()) - }, - func(j **int, c fuzz.Continue) { - if c.RandBool() { - i := int(c.Int31()) - *j = &i +// overrideGenericFuncs override some generic fuzzer funcs from k8s.io/apiserver in order to have more realistic +// values in a Kubernetes context. +func overrideGenericFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ + func(j *runtime.Object, c fuzz.Continue) { + // TODO: uncomment when round trip starts from a versioned object + if true { //c.RandBool() { + *j = &runtime.Unknown{ + // We do not set TypeMeta here because it is not carried through a round trip + Raw: []byte(`{"apiVersion":"unknown.group/unknown","kind":"Something","someKey":"someValue"}`), + ContentType: runtime.ContentTypeJSON, + } } else { - *j = nil + types := []runtime.Object{&api.Pod{}, &api.ReplicationController{}} + t := types[c.Rand.Intn(len(types))] + c.Fuzz(t) + *j = t } }, + func(r *runtime.RawExtension, c fuzz.Continue) { + // Pick an arbitrary type and fuzz it + types := []runtime.Object{&api.Pod{}, &extensions.Deployment{}, &api.Service{}} + obj := types[c.Rand.Intn(len(types))] + c.Fuzz(obj) + + // Find a codec for converting the object to raw bytes. This is necessary for the + // api version and kind to be correctly set be serialization. + var codec runtime.Codec + switch obj.(type) { + case *api.Pod: + codec = testapi.Default.Codec() + case *extensions.Deployment: + codec = testapi.Extensions.Codec() + case *api.Service: + codec = testapi.Default.Codec() + default: + + t.Errorf("Failed to find codec for object type: %T", obj) + return + } + + // Convert the object to raw bytes + bytes, err := runtime.Encode(codec, obj) + if err != nil { + t.Errorf("Failed to encode object: %v", err) + return + } + + // Set the bytes field on the RawExtension + r.Raw = bytes + }, + } +} + +func coreFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ func(q *resource.Quantity, c fuzz.Continue) { *q = *resource.NewQuantity(c.Int63n(1000), resource.DecimalExponent) }, - func(j *runtime.TypeMeta, c fuzz.Continue) { - // We have to customize the randomization of TypeMetas because their - // APIVersion and Kind must remain blank in memory. - j.APIVersion = "" - j.Kind = "" - }, - func(j *metav1.TypeMeta, c fuzz.Continue) { - // We have to customize the randomization of TypeMetas because their - // APIVersion and Kind must remain blank in memory. - j.APIVersion = "" - j.Kind = "" - }, - func(j *metav1.ObjectMeta, c fuzz.Continue) { - j.Name = c.RandString() - j.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10) - j.SelfLink = c.RandString() - j.UID = types.UID(c.RandString()) - j.GenerateName = c.RandString() - - var sec, nsec int64 - c.Fuzz(&sec) - c.Fuzz(&nsec) - j.CreationTimestamp = metav1.Unix(sec, nsec).Rfc3339Copy() - }, func(j *api.ObjectReference, c fuzz.Continue) { // We have to customize the randomization of TypeMetas because their // APIVersion and Kind must remain blank in memory. @@ -99,10 +111,6 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz j.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10) j.FieldPath = c.RandString() }, - func(j *metav1.ListMeta, c fuzz.Continue) { - j.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10) - j.SelfLink = c.RandString() - }, func(j *api.ListOptions, c fuzz.Continue) { label, _ := labels.Parse("a=b") j.LabelSelector = label @@ -158,48 +166,6 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz c.FuzzNoCustom(j) // fuzz self without calling this function again //j.TemplateRef = nil // this is required for round trip }, - func(j *extensions.DeploymentStrategy, c fuzz.Continue) { - c.FuzzNoCustom(j) // fuzz self without calling this function again - // Ensure that strategyType is one of valid values. - strategyTypes := []extensions.DeploymentStrategyType{extensions.RecreateDeploymentStrategyType, extensions.RollingUpdateDeploymentStrategyType} - j.Type = strategyTypes[c.Rand.Intn(len(strategyTypes))] - if j.Type != extensions.RollingUpdateDeploymentStrategyType { - j.RollingUpdate = nil - } else { - rollingUpdate := extensions.RollingUpdateDeployment{} - if c.RandBool() { - rollingUpdate.MaxUnavailable = intstr.FromInt(int(c.Rand.Int31())) - rollingUpdate.MaxSurge = intstr.FromInt(int(c.Rand.Int31())) - } else { - rollingUpdate.MaxSurge = intstr.FromString(fmt.Sprintf("%d%%", c.Rand.Int31())) - } - j.RollingUpdate = &rollingUpdate - } - }, - func(j *batch.JobSpec, c fuzz.Continue) { - c.FuzzNoCustom(j) // fuzz self without calling this function again - completions := int32(c.Rand.Int31()) - parallelism := int32(c.Rand.Int31()) - j.Completions = &completions - j.Parallelism = ¶llelism - if c.Rand.Int31()%2 == 0 { - j.ManualSelector = newBool(true) - } else { - j.ManualSelector = nil - } - }, - func(sj *batch.CronJobSpec, c fuzz.Continue) { - c.FuzzNoCustom(sj) - suspend := c.RandBool() - sj.Suspend = &suspend - sds := int64(c.RandUint64()) - sj.StartingDeadlineSeconds = &sds - sj.Schedule = c.RandString() - }, - func(cp *batch.ConcurrencyPolicy, c fuzz.Continue) { - policies := []batch.ConcurrencyPolicy{batch.AllowConcurrent, batch.ForbidConcurrent, batch.ReplaceConcurrent} - *cp = policies[c.Rand.Intn(len(policies))] - }, func(j *api.List, c fuzz.Continue) { c.FuzzNoCustom(j) // fuzz self without calling this function again // TODO: uncomment when round trip starts from a versioned object @@ -207,21 +173,6 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz j.Items = []runtime.Object{} } }, - func(j *runtime.Object, c fuzz.Continue) { - // TODO: uncomment when round trip starts from a versioned object - if true { //c.RandBool() { - *j = &runtime.Unknown{ - // We do not set TypeMeta here because it is not carried through a round trip - Raw: []byte(`{"apiVersion":"unknown.group/unknown","kind":"Something","someKey":"someValue"}`), - ContentType: runtime.ContentTypeJSON, - } - } else { - types := []runtime.Object{&api.Pod{}, &api.ReplicationController{}} - t := types[c.Rand.Intn(len(types))] - c.Fuzz(t) - *j = t - } - }, func(q *api.ResourceRequirements, c fuzz.Continue) { randomQuantity := func() resource.Quantity { var q resource.Quantity @@ -513,12 +464,28 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz c.FuzzNoCustom(s) s.Allocatable = s.Capacity }, - func(s *autoscaling.HorizontalPodAutoscalerSpec, c fuzz.Continue) { - c.FuzzNoCustom(s) // fuzz self without calling this function again - minReplicas := int32(c.Rand.Int31()) - s.MinReplicas = &minReplicas - targetCpu := int32(c.RandUint64()) - s.TargetCPUUtilizationPercentage = &targetCpu + } +} + +func extensionFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ + func(j *extensions.DeploymentStrategy, c fuzz.Continue) { + c.FuzzNoCustom(j) // fuzz self without calling this function again + // Ensure that strategyType is one of valid values. + strategyTypes := []extensions.DeploymentStrategyType{extensions.RecreateDeploymentStrategyType, extensions.RollingUpdateDeploymentStrategyType} + j.Type = strategyTypes[c.Rand.Intn(len(strategyTypes))] + if j.Type != extensions.RollingUpdateDeploymentStrategyType { + j.RollingUpdate = nil + } else { + rollingUpdate := extensions.RollingUpdateDeployment{} + if c.RandBool() { + rollingUpdate.MaxUnavailable = intstr.FromInt(int(c.Rand.Int31())) + rollingUpdate.MaxSurge = intstr.FromInt(int(c.Rand.Int31())) + } else { + rollingUpdate.MaxSurge = intstr.FromString(fmt.Sprintf("%d%%", c.Rand.Int31())) + } + j.RollingUpdate = &rollingUpdate + } }, func(psp *extensions.PodSecurityPolicySpec, c fuzz.Continue) { c.FuzzNoCustom(psp) // fuzz self without calling this function again @@ -546,6 +513,52 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz } } }, + } +} + +func batchFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ + func(j *batch.JobSpec, c fuzz.Continue) { + c.FuzzNoCustom(j) // fuzz self without calling this function again + completions := int32(c.Rand.Int31()) + parallelism := int32(c.Rand.Int31()) + j.Completions = &completions + j.Parallelism = ¶llelism + if c.Rand.Int31()%2 == 0 { + j.ManualSelector = newBool(true) + } else { + j.ManualSelector = nil + } + }, + func(sj *batch.CronJobSpec, c fuzz.Continue) { + c.FuzzNoCustom(sj) + suspend := c.RandBool() + sj.Suspend = &suspend + sds := int64(c.RandUint64()) + sj.StartingDeadlineSeconds = &sds + sj.Schedule = c.RandString() + }, + func(cp *batch.ConcurrencyPolicy, c fuzz.Continue) { + policies := []batch.ConcurrencyPolicy{batch.AllowConcurrent, batch.ForbidConcurrent, batch.ReplaceConcurrent} + *cp = policies[c.Rand.Intn(len(policies))] + }, + } +} + +func autoscalingFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ + func(s *autoscaling.HorizontalPodAutoscalerSpec, c fuzz.Continue) { + c.FuzzNoCustom(s) // fuzz self without calling this function again + minReplicas := int32(c.Rand.Int31()) + s.MinReplicas = &minReplicas + targetCpu := int32(c.RandUint64()) + s.TargetCPUUtilizationPercentage = &targetCpu + }, + } +} + +func rbacFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ func(r *rbac.RoleRef, c fuzz.Continue) { c.FuzzNoCustom(r) // fuzz self without calling this function again @@ -554,37 +567,11 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz r.APIGroup = rbac.GroupName } }, - func(r *runtime.RawExtension, c fuzz.Continue) { - // Pick an arbitrary type and fuzz it - types := []runtime.Object{&api.Pod{}, &extensions.Deployment{}, &api.Service{}} - obj := types[c.Rand.Intn(len(types))] - c.Fuzz(obj) + } +} - // Find a codec for converting the object to raw bytes. This is necessary for the - // api version and kind to be correctly set be serialization. - var codec runtime.Codec - switch obj.(type) { - case *api.Pod: - codec = testapi.Default.Codec() - case *extensions.Deployment: - codec = testapi.Extensions.Codec() - case *api.Service: - codec = testapi.Default.Codec() - default: - t.Errorf("Failed to find codec for object type: %T", obj) - return - } - - // Convert the object to raw bytes - bytes, err := runtime.Encode(codec, obj) - if err != nil { - t.Errorf("Failed to encode object: %v", err) - return - } - - // Set the bytes field on the RawExtension - r.Raw = bytes - }, +func kubeAdmFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ func(obj *kubeadm.MasterConfiguration, c fuzz.Continue) { c.FuzzNoCustom(obj) obj.KubernetesVersion = "v10" @@ -594,16 +581,40 @@ func FuzzerFor(t *testing.T, version schema.GroupVersion, src rand.Source) *fuzz obj.AuthorizationMode = "foo" obj.Discovery.Token = &kubeadm.TokenDiscovery{} }, + } +} + +func policyFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ func(s *policy.PodDisruptionBudgetStatus, c fuzz.Continue) { c.FuzzNoCustom(s) // fuzz self without calling this function again s.PodDisruptionsAllowed = int32(c.Rand.Intn(2)) }, + } +} + +func certificateFuncs(t apitesting.TestingCommon) []interface{} { + return []interface{}{ func(obj *certificates.CertificateSigningRequestSpec, c fuzz.Continue) { c.FuzzNoCustom(obj) // fuzz self without calling this function again obj.Usages = []certificates.KeyUsage{certificates.UsageKeyEncipherment} }, + } +} + +func FuzzerFuncs(t apitesting.TestingCommon) []interface{} { + return mergeFuncLists(t, + apitesting.GenericFuzzerFuncs(t), + overrideGenericFuncs(t), + coreFuncs(t), + extensionFuncs(t), + batchFuncs(t), + autoscalingFuncs(t), + rbacFuncs(t), + kubeAdmFuncs(t), + policyFuncs(t), + certificateFuncs(t), ) - return f } func newBool(val bool) *bool { @@ -611,3 +622,25 @@ func newBool(val bool) *bool { *p = val return p } + +// mergeFuncLists will merge the given funcLists, overriding early funcs with later ones if there first +// argument has the same type. +func mergeFuncLists(t apitesting.TestingCommon, funcLists ...[]interface{}) []interface{} { + funcMap := map[string]interface{}{} + for _, list := range funcLists { + for _, f := range list { + fT := reflect.TypeOf(f) + if fT.Kind() != reflect.Func || fT.NumIn() != 2 { + t.Errorf("Fuzzer func with invalid type: %v", fT) + continue + } + funcMap[fT.In(0).String()] = f + } + } + + result := []interface{}{} + for _, f := range funcMap { + result = append(result, f) + } + return result +} diff --git a/pkg/api/testing/pod_specs.go b/pkg/api/testing/pod_specs.go index eb7c4e06b73..1cfd0c5e0ee 100644 --- a/pkg/api/testing/pod_specs.go +++ b/pkg/api/testing/pod_specs.go @@ -21,7 +21,7 @@ import ( "k8s.io/kubernetes/pkg/api/v1" ) -// DeepEqualSafePodSpec returns a PodSpec which is ready to be used with api.Semantic.DeepEqual +// DeepEqualSafePodSpec returns a PodSpec which is ready to be used with apiequality.Semantic.DeepEqual func DeepEqualSafePodSpec() api.PodSpec { grace := int64(30) return api.PodSpec{ @@ -33,7 +33,7 @@ func DeepEqualSafePodSpec() api.PodSpec { } } -// V1DeepEqualSafePodSpec returns a PodSpec which is ready to be used with api.Semantic.DeepEqual +// V1DeepEqualSafePodSpec returns a PodSpec which is ready to be used with apiequality.Semantic.DeepEqual func V1DeepEqualSafePodSpec() v1.PodSpec { grace := int64(30) return v1.PodSpec{ diff --git a/pkg/api/types.go b/pkg/api/types.go index d726140cd43..dcf1a403cef 100644 --- a/pkg/api/types.go +++ b/pkg/api/types.go @@ -17,12 +17,12 @@ limitations under the License. package api import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/unstructured_test.go b/pkg/api/unstructured_test.go index 17ea662183b..189ce64c0e5 100644 --- a/pkg/api/unstructured_test.go +++ b/pkg/api/unstructured_test.go @@ -21,9 +21,11 @@ import ( "reflect" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" + apitesting "k8s.io/apimachinery/pkg/api/testing" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/apimachinery/pkg/util/diff" @@ -41,7 +43,7 @@ func doRoundTrip(t *testing.T, group testapi.TestGroup, kind string) { t.Fatalf("Couldn't create internal object %v: %v", kind, err) } seed := rand.Int63() - apitesting.FuzzerFor(t, group.InternalGroupVersion(), rand.NewSource(seed)). + apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(seed)). // We are explicitly overwriting custom fuzzing functions, to ensure // that InitContainers and their statuses are not generated. This is // because in thise test we are simply doing json operations, in which @@ -88,7 +90,7 @@ func doRoundTrip(t *testing.T, group testapi.TestGroup, kind string) { t.Errorf("Error when unmarshaling to object: %v", err) return } - if !api.Semantic.DeepEqual(item, unmarshalledObj) { + if !apiequality.Semantic.DeepEqual(item, unmarshalledObj) { t.Errorf("Object changed during JSON operations, diff: %v", diff.ObjectReflectDiff(item, unmarshalledObj)) return } @@ -110,7 +112,7 @@ func doRoundTrip(t *testing.T, group testapi.TestGroup, kind string) { return } - if !api.Semantic.DeepEqual(item, newObj) { + if !apiequality.Semantic.DeepEqual(item, newObj) { t.Errorf("Object changed, diff: %v", diff.ObjectReflectDiff(item, newObj)) } */ @@ -155,7 +157,7 @@ func BenchmarkToFromUnstructured(b *testing.B) { */ func BenchmarkToFromUnstructuredViaJSON(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) size := len(items) b.ResetTimer() for i := 0; i < b.N; i++ { diff --git a/pkg/api/v1/BUILD b/pkg/api/v1/BUILD index d74dcf7a5bb..771d1357bfd 100644 --- a/pkg/api/v1/BUILD +++ b/pkg/api/v1/BUILD @@ -31,7 +31,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/apis/extensions:go_default_library", "//pkg/util:go_default_library", "//pkg/util/intstr:go_default_library", @@ -40,6 +39,7 @@ go_library( "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/labels", @@ -63,11 +63,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testing/compat:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/diff", @@ -84,8 +85,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", ], diff --git a/pkg/api/v1/conversion_test.go b/pkg/api/v1/conversion_test.go index 9eb0afdc381..ca4e5bb0650 100644 --- a/pkg/api/v1/conversion_test.go +++ b/pkg/api/v1/conversion_test.go @@ -22,11 +22,12 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) @@ -210,7 +211,7 @@ func TestResourceListConversion(t *testing.T) { if err != nil { t.Fatalf("unexpected error for case %d: %v", i, err) } - if !api.Semantic.DeepEqual(test.expected, output) { + if !apiequality.Semantic.DeepEqual(test.expected, output) { t.Errorf("unexpected conversion for case %d: Expected %+v; Got %+v", i, test.expected, output) } } diff --git a/pkg/api/v1/defaults_test.go b/pkg/api/v1/defaults_test.go index 61d7ac467aa..8612f4bf43e 100644 --- a/pkg/api/v1/defaults_test.go +++ b/pkg/api/v1/defaults_test.go @@ -21,10 +21,10 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/v1/generated.pb.go b/pkg/api/v1/generated.pb.go index 396232f674c..2a3c53bcee6 100644 --- a/pkg/api/v1/generated.pb.go +++ b/pkg/api/v1/generated.pb.go @@ -192,11 +192,10 @@ import proto "github.com/gogo/protobuf/proto" import fmt "fmt" import math "math" +import k8s_io_apimachinery_pkg_api_resource "k8s.io/apimachinery/pkg/api/resource" import k8s_io_apimachinery_pkg_apis_meta_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" import k8s_io_apimachinery_pkg_runtime "k8s.io/apimachinery/pkg/runtime" -import k8s_io_kubernetes_pkg_api_resource "k8s.io/kubernetes/pkg/api/resource" - import k8s_io_apimachinery_pkg_types "k8s.io/apimachinery/pkg/types" import strings "strings" @@ -13041,7 +13040,7 @@ func (this *ResourceFieldSelector) String() string { s := strings.Join([]string{`&ResourceFieldSelector{`, `ContainerName:` + fmt.Sprintf("%v", this.ContainerName) + `,`, `Resource:` + fmt.Sprintf("%v", this.Resource) + `,`, - `Divisor:` + strings.Replace(strings.Replace(this.Divisor.String(), "Quantity", "k8s_io_kubernetes_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, + `Divisor:` + strings.Replace(strings.Replace(this.Divisor.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -22161,7 +22160,7 @@ func (m *LimitRangeItem) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -22277,7 +22276,7 @@ func (m *LimitRangeItem) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -22393,7 +22392,7 @@ func (m *LimitRangeItem) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -22509,7 +22508,7 @@ func (m *LimitRangeItem) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -22625,7 +22624,7 @@ func (m *LimitRangeItem) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -24934,7 +24933,7 @@ func (m *NodeResources) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -25556,7 +25555,7 @@ func (m *NodeStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -25672,7 +25671,7 @@ func (m *NodeStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -28038,7 +28037,7 @@ func (m *PersistentVolumeClaimStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -29025,7 +29024,7 @@ func (m *PersistentVolumeSpec) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -35156,7 +35155,7 @@ func (m *ResourceQuotaSpec) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -35351,7 +35350,7 @@ func (m *ResourceQuotaStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -35467,7 +35466,7 @@ func (m *ResourceQuotaStatus) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -35633,7 +35632,7 @@ func (m *ResourceRequirements) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -35749,7 +35748,7 @@ func (m *ResourceRequirements) Unmarshal(data []byte) error { if postmsgIndex > l { return io.ErrUnexpectedEOF } - mapvalue := &k8s_io_kubernetes_pkg_api_resource.Quantity{} + mapvalue := &k8s_io_apimachinery_pkg_api_resource.Quantity{} if err := mapvalue.Unmarshal(data[iNdEx:postmsgIndex]); err != nil { return err } @@ -40242,653 +40241,654 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 10366 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x8c, 0x24, 0xc7, - 0x75, 0x98, 0x7a, 0x66, 0xbf, 0xe6, 0xed, 0xe7, 0xd5, 0x7d, 0x70, 0xb9, 0x22, 0x6f, 0x8f, 0x4d, - 0x91, 0x3a, 0x92, 0xc7, 0x5d, 0xdd, 0x91, 0x14, 0x4f, 0xa2, 0x42, 0x69, 0x77, 0x67, 0xf7, 0x6e, - 0x75, 0x5f, 0xc3, 0x9a, 0xbd, 0x3b, 0x4a, 0x62, 0x44, 0xf6, 0x4e, 0xd7, 0xee, 0xb6, 0xae, 0xa7, - 0x7b, 0xd8, 0xdd, 0xb3, 0x77, 0x2b, 0x45, 0x80, 0x2d, 0x13, 0x36, 0x82, 0x28, 0x09, 0x03, 0x43, - 0x40, 0x90, 0x0f, 0xd8, 0x09, 0x90, 0x40, 0x89, 0x91, 0x0f, 0x45, 0xb1, 0x25, 0xc3, 0x4a, 0x82, - 0x38, 0x96, 0x22, 0x07, 0x89, 0xa1, 0xc0, 0x40, 0xec, 0x58, 0xc0, 0xda, 0x5c, 0x05, 0xfe, 0x99, - 0x1f, 0xf1, 0xbf, 0x4d, 0x90, 0x04, 0xf5, 0xd9, 0x55, 0x3d, 0x33, 0xdb, 0x3d, 0xcb, 0xdb, 0x15, - 0x65, 0xf8, 0xdf, 0xcc, 0x7b, 0xaf, 0x5e, 0x7d, 0x74, 0xd5, 0xab, 0xf7, 0x5e, 0xbd, 0x7a, 0x05, - 0x17, 0xee, 0x5d, 0x8e, 0xe7, 0xbc, 0x70, 0xfe, 0x5e, 0x7b, 0x9d, 0x44, 0x01, 0x49, 0x48, 0x3c, - 0xdf, 0xba, 0xb7, 0x39, 0xef, 0xb4, 0xbc, 0xf9, 0xed, 0x8b, 0xf3, 0x9b, 0x24, 0x20, 0x91, 0x93, - 0x10, 0x77, 0xae, 0x15, 0x85, 0x49, 0x88, 0x1e, 0xe3, 0xd4, 0x73, 0x29, 0xf5, 0x5c, 0xeb, 0xde, - 0xe6, 0x9c, 0xd3, 0xf2, 0xe6, 0xb6, 0x2f, 0xce, 0x3c, 0xbf, 0xe9, 0x25, 0x5b, 0xed, 0xf5, 0xb9, - 0x46, 0xd8, 0x9c, 0xdf, 0x0c, 0x37, 0xc3, 0x79, 0x56, 0x68, 0xbd, 0xbd, 0xc1, 0xfe, 0xb1, 0x3f, - 0xec, 0x17, 0x67, 0x36, 0xf3, 0xa2, 0xa8, 0xda, 0x69, 0x79, 0x4d, 0xa7, 0xb1, 0xe5, 0x05, 0x24, - 0xda, 0x91, 0x95, 0xc7, 0xf3, 0x4d, 0x92, 0x38, 0x5d, 0x9a, 0x30, 0x33, 0xdf, 0xab, 0x54, 0xd4, - 0x0e, 0x12, 0xaf, 0x49, 0x3a, 0x0a, 0x7c, 0x3c, 0xaf, 0x40, 0xdc, 0xd8, 0x22, 0x4d, 0xa7, 0xa3, - 0xdc, 0xa5, 0xde, 0x23, 0x13, 0x91, 0x38, 0x6c, 0x47, 0x8d, 0xce, 0xba, 0x2e, 0x76, 0x2f, 0xd3, - 0x4e, 0x3c, 0x7f, 0xde, 0x0b, 0x92, 0x38, 0x89, 0xb2, 0x45, 0xec, 0x3f, 0xb0, 0xe0, 0xdc, 0xc2, - 0xdd, 0xfa, 0xb2, 0xef, 0xc4, 0x89, 0xd7, 0x58, 0xf4, 0xc3, 0xc6, 0xbd, 0x7a, 0x12, 0x46, 0xe4, - 0x4e, 0xe8, 0xb7, 0x9b, 0xa4, 0xce, 0xea, 0x41, 0x17, 0x60, 0x64, 0x9b, 0xfd, 0x5f, 0xad, 0x4e, - 0x5b, 0xe7, 0xac, 0xf3, 0x95, 0xc5, 0xa9, 0x1f, 0xee, 0xce, 0x7e, 0x68, 0x6f, 0x77, 0x76, 0xe4, - 0x8e, 0x80, 0x63, 0x45, 0x81, 0x9e, 0x86, 0xa1, 0x8d, 0x78, 0x6d, 0xa7, 0x45, 0xa6, 0x4b, 0x8c, - 0x76, 0x42, 0xd0, 0x0e, 0xad, 0xd4, 0x29, 0x14, 0x0b, 0x2c, 0x9a, 0x87, 0x4a, 0xcb, 0x89, 0x12, - 0x2f, 0xf1, 0xc2, 0x60, 0xba, 0x7c, 0xce, 0x3a, 0x3f, 0xb8, 0x78, 0x42, 0x90, 0x56, 0x6a, 0x12, - 0x81, 0x53, 0x1a, 0xda, 0x8c, 0x88, 0x38, 0xee, 0xad, 0xc0, 0xdf, 0x99, 0x1e, 0x38, 0x67, 0x9d, - 0x1f, 0x49, 0x9b, 0x81, 0x05, 0x1c, 0x2b, 0x0a, 0xfb, 0xbb, 0x25, 0x18, 0x59, 0xd8, 0xd8, 0xf0, - 0x02, 0x2f, 0xd9, 0x41, 0x6f, 0xc1, 0x58, 0x10, 0xba, 0x44, 0xfe, 0x67, 0xbd, 0x18, 0xbd, 0xf4, - 0xec, 0xdc, 0x41, 0x13, 0x6a, 0xee, 0xa6, 0x56, 0x62, 0x71, 0x6a, 0x6f, 0x77, 0x76, 0x4c, 0x87, - 0x60, 0x83, 0x23, 0x7a, 0x03, 0x46, 0x5b, 0xa1, 0xab, 0x2a, 0x28, 0xb1, 0x0a, 0x9e, 0x39, 0xb8, - 0x82, 0x5a, 0x5a, 0x60, 0x71, 0x72, 0x6f, 0x77, 0x76, 0x54, 0x03, 0x60, 0x9d, 0x1d, 0xf2, 0x61, - 0x92, 0xfe, 0x0d, 0x12, 0x4f, 0xd5, 0x50, 0x66, 0x35, 0x3c, 0x9f, 0x5f, 0x83, 0x56, 0x68, 0xf1, - 0xe4, 0xde, 0xee, 0xec, 0x64, 0x06, 0x88, 0xb3, 0xac, 0xed, 0x2f, 0xc3, 0xc4, 0x42, 0x92, 0x38, - 0x8d, 0x2d, 0xe2, 0xf2, 0xef, 0x8b, 0x5e, 0x84, 0x81, 0xc0, 0x69, 0x12, 0xf1, 0xf5, 0xcf, 0x89, - 0x61, 0x1f, 0xb8, 0xe9, 0x34, 0xc9, 0xfe, 0xee, 0xec, 0xd4, 0xed, 0xc0, 0x7b, 0xbb, 0x2d, 0xe6, - 0x0c, 0x85, 0x61, 0x46, 0x8d, 0x2e, 0x01, 0xb8, 0x64, 0xdb, 0x6b, 0x90, 0x9a, 0x93, 0x6c, 0x89, - 0xd9, 0x80, 0x44, 0x59, 0xa8, 0x2a, 0x0c, 0xd6, 0xa8, 0xec, 0xaf, 0x59, 0x50, 0x59, 0xd8, 0x0e, - 0x3d, 0xb7, 0x16, 0xba, 0x31, 0x6a, 0xc3, 0x64, 0x2b, 0x22, 0x1b, 0x24, 0x52, 0xa0, 0x69, 0xeb, - 0x5c, 0xf9, 0xfc, 0xe8, 0xa5, 0x4b, 0x39, 0xfd, 0x36, 0x0b, 0x2d, 0x07, 0x49, 0xb4, 0xb3, 0xf8, - 0x88, 0xa8, 0x7a, 0x32, 0x83, 0xc5, 0xd9, 0x3a, 0xec, 0xbf, 0x55, 0x82, 0xd3, 0x0b, 0x5f, 0x6e, - 0x47, 0xa4, 0xea, 0xc5, 0xf7, 0xb2, 0x4b, 0xc1, 0xf5, 0xe2, 0x7b, 0x37, 0xd3, 0xc1, 0x50, 0x73, - 0xb0, 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0xe7, 0x61, 0x98, 0xfe, 0xbe, 0x8d, 0x57, 0x45, 0xef, 0x4f, - 0x0a, 0xe2, 0xd1, 0xaa, 0x93, 0x38, 0x55, 0x8e, 0xc2, 0x92, 0x06, 0xdd, 0x80, 0xd1, 0x06, 0x93, - 0x11, 0x9b, 0x37, 0x42, 0x97, 0xb0, 0x2f, 0x5c, 0x59, 0x7c, 0x8e, 0x92, 0x2f, 0xa5, 0xe0, 0xfd, - 0xdd, 0xd9, 0x69, 0xde, 0x36, 0xc1, 0x42, 0xc3, 0x61, 0xbd, 0x3c, 0xb2, 0xd5, 0x42, 0x1c, 0x60, - 0x9c, 0xa0, 0xcb, 0x22, 0x3c, 0xaf, 0xad, 0xa9, 0x41, 0xb6, 0xa6, 0xc6, 0x7a, 0xac, 0xa7, 0x7f, - 0x6a, 0x89, 0x31, 0x59, 0xf1, 0x7c, 0x53, 0x3c, 0x5c, 0x02, 0x88, 0x49, 0x23, 0x22, 0x89, 0x36, - 0x2a, 0xea, 0x33, 0xd7, 0x15, 0x06, 0x6b, 0x54, 0x74, 0xf1, 0xc7, 0x5b, 0x4e, 0xc4, 0x66, 0x8b, - 0x18, 0x1b, 0xb5, 0xf8, 0xeb, 0x12, 0x81, 0x53, 0x1a, 0x63, 0xf1, 0x97, 0x73, 0x17, 0xff, 0x6f, - 0x5b, 0x30, 0xbc, 0xe8, 0x05, 0xae, 0x17, 0x6c, 0xa2, 0xb7, 0x60, 0x84, 0x4a, 0x73, 0xd7, 0x49, - 0x1c, 0xb1, 0xee, 0x3f, 0x26, 0x27, 0x8f, 0x2e, 0x94, 0xe5, 0xf4, 0x89, 0xe7, 0x28, 0x35, 0x9d, - 0x44, 0xb7, 0xd6, 0xbf, 0x44, 0x1a, 0xc9, 0x0d, 0x92, 0x38, 0x69, 0x77, 0x52, 0x18, 0x56, 0x5c, - 0xd1, 0x6d, 0x18, 0x4a, 0x9c, 0x68, 0x93, 0x24, 0x62, 0xd9, 0xe7, 0x2c, 0x4a, 0xce, 0x03, 0xd3, - 0x29, 0x47, 0x82, 0x06, 0x49, 0x05, 0xe4, 0x1a, 0x63, 0x82, 0x05, 0x33, 0xbb, 0x01, 0x63, 0x4b, - 0x4e, 0xcb, 0x59, 0xf7, 0x7c, 0x2f, 0xf1, 0x48, 0x8c, 0x3e, 0x0a, 0x65, 0xc7, 0x75, 0xd9, 0x02, - 0xa8, 0x2c, 0x9e, 0xde, 0xdb, 0x9d, 0x2d, 0x2f, 0xb8, 0xee, 0xfe, 0xee, 0x2c, 0x28, 0xaa, 0x1d, - 0x4c, 0x29, 0xd0, 0xb3, 0x30, 0xe0, 0x46, 0x61, 0x6b, 0xba, 0xc4, 0x28, 0xcf, 0xd0, 0x95, 0x5a, - 0x8d, 0xc2, 0x56, 0x86, 0x94, 0xd1, 0xd8, 0xdf, 0x2f, 0x01, 0x5a, 0x22, 0xad, 0xad, 0x95, 0xba, - 0xf1, 0x4d, 0xcf, 0xc3, 0x48, 0x33, 0x0c, 0xbc, 0x24, 0x8c, 0x62, 0x51, 0x21, 0x9b, 0x17, 0x37, - 0x04, 0x0c, 0x2b, 0x2c, 0x3a, 0x07, 0x03, 0xad, 0x74, 0x79, 0x8f, 0x49, 0xd1, 0xc0, 0x16, 0x36, + // 10369 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x7d, 0x6d, 0x6c, 0x24, 0xc7, + 0x95, 0x98, 0x7b, 0x86, 0x5f, 0xf3, 0xf8, 0xb9, 0xb5, 0xbb, 0x12, 0xc5, 0x93, 0x96, 0xab, 0x96, + 0x25, 0xaf, 0xa4, 0x15, 0xe9, 0x5d, 0x49, 0xd6, 0xda, 0x72, 0x64, 0x93, 0x1c, 0x72, 0x97, 0xde, + 0xe5, 0xee, 0xa8, 0x86, 0xbb, 0x2b, 0xdb, 0x8a, 0xa5, 0xe6, 0x74, 0x91, 0x6c, 0x6d, 0x4f, 0xf7, + 0xa8, 0xbb, 0x87, 0xbb, 0xb4, 0x63, 0xe0, 0xce, 0x67, 0xf8, 0x12, 0xc4, 0x49, 0x1c, 0x1c, 0x0c, + 0x04, 0xf9, 0xc0, 0x5d, 0x02, 0x24, 0x70, 0x72, 0x08, 0x12, 0xc7, 0x38, 0xdb, 0x87, 0x73, 0x12, + 0xe4, 0x72, 0x76, 0x7c, 0x41, 0x72, 0x30, 0x70, 0x48, 0xee, 0x92, 0x4b, 0x78, 0x67, 0x3a, 0xb9, + 0x9f, 0xf9, 0x91, 0xfb, 0xc7, 0x04, 0x49, 0x50, 0x9f, 0x5d, 0xd5, 0x33, 0xc3, 0xee, 0xa1, 0x96, + 0xb4, 0x7c, 0xc8, 0xbf, 0x99, 0xf7, 0x5e, 0xbd, 0xfa, 0xe8, 0xaa, 0x57, 0xef, 0xbd, 0x7a, 0xf5, + 0x0a, 0x2e, 0xde, 0xbb, 0x12, 0xcf, 0x79, 0xe1, 0xfc, 0xbd, 0xf6, 0x06, 0x89, 0x02, 0x92, 0x90, + 0x78, 0xbe, 0x75, 0x6f, 0x6b, 0xde, 0x69, 0x79, 0xf3, 0x3b, 0x97, 0xe6, 0xb7, 0x48, 0x40, 0x22, + 0x27, 0x21, 0xee, 0x5c, 0x2b, 0x0a, 0x93, 0x10, 0x3d, 0xce, 0xa9, 0xe7, 0x52, 0xea, 0xb9, 0xd6, + 0xbd, 0xad, 0x39, 0xa7, 0xe5, 0xcd, 0xed, 0x5c, 0x9a, 0x79, 0x61, 0xcb, 0x4b, 0xb6, 0xdb, 0x1b, + 0x73, 0x8d, 0xb0, 0x39, 0xbf, 0x15, 0x6e, 0x85, 0xf3, 0xac, 0xd0, 0x46, 0x7b, 0x93, 0xfd, 0x63, + 0x7f, 0xd8, 0x2f, 0xce, 0x6c, 0xe6, 0x25, 0x51, 0xb5, 0xd3, 0xf2, 0x9a, 0x4e, 0x63, 0xdb, 0x0b, + 0x48, 0xb4, 0xab, 0x2a, 0x8f, 0x48, 0x1c, 0xb6, 0xa3, 0x06, 0xc9, 0x36, 0xe1, 0xd0, 0x52, 0xf1, + 0x7c, 0x93, 0x24, 0x4e, 0x97, 0x86, 0xcf, 0xcc, 0xf7, 0x2a, 0x15, 0xb5, 0x83, 0xc4, 0x6b, 0x76, + 0x56, 0xf3, 0x91, 0xbc, 0x02, 0x71, 0x63, 0x9b, 0x34, 0x9d, 0x8e, 0x72, 0x97, 0xba, 0x8f, 0x67, + 0x3b, 0xf1, 0xfc, 0x79, 0x2f, 0x48, 0xe2, 0x24, 0xca, 0x16, 0xb1, 0x7f, 0xdf, 0x82, 0xf3, 0x0b, + 0x77, 0xeb, 0xcb, 0xbe, 0x13, 0x27, 0x5e, 0x63, 0xd1, 0x0f, 0x1b, 0xf7, 0xea, 0x49, 0x18, 0x91, + 0x3b, 0xa1, 0xdf, 0x6e, 0x92, 0x3a, 0x1b, 0x06, 0x74, 0x11, 0x46, 0x76, 0xd8, 0xff, 0xd5, 0xea, + 0xb4, 0x75, 0xde, 0xba, 0x50, 0x59, 0x9c, 0xfa, 0xe1, 0xde, 0xec, 0x07, 0xf6, 0xf7, 0x66, 0x47, + 0xee, 0x08, 0x38, 0x56, 0x14, 0xe8, 0x19, 0x18, 0xda, 0x8c, 0xd7, 0x77, 0x5b, 0x64, 0xba, 0xc4, + 0x68, 0x27, 0x04, 0xed, 0xd0, 0x4a, 0x9d, 0x42, 0xb1, 0xc0, 0xa2, 0x79, 0xa8, 0xb4, 0x9c, 0x28, + 0xf1, 0x12, 0x2f, 0x0c, 0xa6, 0xcb, 0xe7, 0xad, 0x0b, 0x83, 0x8b, 0xa7, 0x04, 0x69, 0xa5, 0x26, + 0x11, 0x38, 0xa5, 0xa1, 0xcd, 0x88, 0x88, 0xe3, 0xde, 0x0a, 0xfc, 0xdd, 0xe9, 0x81, 0xf3, 0xd6, + 0x85, 0x91, 0xb4, 0x19, 0x58, 0xc0, 0xb1, 0xa2, 0xb0, 0xbf, 0x5b, 0x82, 0x91, 0x85, 0xcd, 0x4d, + 0x2f, 0xf0, 0x92, 0x5d, 0xf4, 0x36, 0x8c, 0x05, 0xa1, 0x4b, 0xe4, 0x7f, 0xd6, 0x8b, 0xd1, 0xcb, + 0xcf, 0xcd, 0x1d, 0x36, 0xa5, 0xe6, 0x6e, 0x6a, 0x25, 0x16, 0xa7, 0xf6, 0xf7, 0x66, 0xc7, 0x74, + 0x08, 0x36, 0x38, 0xa2, 0x37, 0x61, 0xb4, 0x15, 0xba, 0xaa, 0x82, 0x12, 0xab, 0xe0, 0xd9, 0xc3, + 0x2b, 0xa8, 0xa5, 0x05, 0x16, 0x27, 0xf7, 0xf7, 0x66, 0x47, 0x35, 0x00, 0xd6, 0xd9, 0x21, 0x1f, + 0x26, 0xe9, 0xdf, 0x20, 0xf1, 0x54, 0x0d, 0x65, 0x56, 0xc3, 0x0b, 0xf9, 0x35, 0x68, 0x85, 0x16, + 0x4f, 0xef, 0xef, 0xcd, 0x4e, 0x66, 0x80, 0x38, 0xcb, 0xda, 0xfe, 0x3c, 0x4c, 0x2c, 0x24, 0x89, + 0xd3, 0xd8, 0x26, 0x2e, 0xff, 0xbe, 0xe8, 0x25, 0x18, 0x08, 0x9c, 0x26, 0x11, 0x5f, 0xff, 0xbc, + 0x18, 0xf6, 0x81, 0x9b, 0x4e, 0x93, 0x1c, 0xec, 0xcd, 0x4e, 0xdd, 0x0e, 0xbc, 0x77, 0xdb, 0x62, + 0xce, 0x50, 0x18, 0x66, 0xd4, 0xe8, 0x32, 0x80, 0x4b, 0x76, 0xbc, 0x06, 0xa9, 0x39, 0xc9, 0xb6, + 0x98, 0x0d, 0x48, 0x94, 0x85, 0xaa, 0xc2, 0x60, 0x8d, 0xca, 0xfe, 0x92, 0x05, 0x95, 0x85, 0x9d, + 0xd0, 0x73, 0x6b, 0xa1, 0x1b, 0xa3, 0x36, 0x4c, 0xb6, 0x22, 0xb2, 0x49, 0x22, 0x05, 0x9a, 0xb6, + 0xce, 0x97, 0x2f, 0x8c, 0x5e, 0xbe, 0x9c, 0xd3, 0x6f, 0xb3, 0xd0, 0x72, 0x90, 0x44, 0xbb, 0x8b, + 0x8f, 0x8a, 0xaa, 0x27, 0x33, 0x58, 0x9c, 0xad, 0xc3, 0xfe, 0xeb, 0x25, 0x38, 0xbb, 0xf0, 0xf9, + 0x76, 0x44, 0xaa, 0x5e, 0x7c, 0x2f, 0xbb, 0x14, 0x5c, 0x2f, 0xbe, 0x77, 0x33, 0x1d, 0x0c, 0x35, + 0x07, 0xab, 0x02, 0x8e, 0x15, 0x05, 0x7a, 0x01, 0x86, 0xe9, 0xef, 0xdb, 0x78, 0x55, 0xf4, 0xfe, + 0xb4, 0x20, 0x1e, 0xad, 0x3a, 0x89, 0x53, 0xe5, 0x28, 0x2c, 0x69, 0xd0, 0x1a, 0x8c, 0x36, 0xd8, + 0x7a, 0xdf, 0x5a, 0x0b, 0x5d, 0xc2, 0xbe, 0x70, 0x65, 0xf1, 0x79, 0x4a, 0xbe, 0x94, 0x82, 0x0f, + 0xf6, 0x66, 0xa7, 0x79, 0xdb, 0x04, 0x0b, 0x0d, 0x87, 0xf5, 0xf2, 0xc8, 0x56, 0x0b, 0x71, 0x80, + 0x71, 0x82, 0x2e, 0x8b, 0xf0, 0x82, 0xb6, 0xa6, 0x06, 0xd9, 0x9a, 0x1a, 0xeb, 0xb1, 0x9e, 0xfe, + 0x91, 0x25, 0xc6, 0x64, 0xc5, 0xf3, 0x4d, 0xf1, 0x70, 0x19, 0x20, 0x26, 0x8d, 0x88, 0x24, 0xda, + 0xa8, 0xa8, 0xcf, 0x5c, 0x57, 0x18, 0xac, 0x51, 0xd1, 0xc5, 0x1f, 0x6f, 0x3b, 0x11, 0x9b, 0x2d, + 0x62, 0x6c, 0xd4, 0xe2, 0xaf, 0x4b, 0x04, 0x4e, 0x69, 0x8c, 0xc5, 0x5f, 0xce, 0x5d, 0xfc, 0xbf, + 0x65, 0xc1, 0xf0, 0xa2, 0x17, 0xb8, 0x5e, 0xb0, 0x85, 0xde, 0x86, 0x11, 0x2a, 0x99, 0x5d, 0x27, + 0x71, 0xc4, 0xba, 0xff, 0xb0, 0x9c, 0x3c, 0xba, 0x80, 0x95, 0xd3, 0x27, 0x9e, 0xa3, 0xd4, 0x74, + 0x12, 0xdd, 0xda, 0x78, 0x87, 0x34, 0x92, 0x35, 0x92, 0x38, 0x69, 0x77, 0x52, 0x18, 0x56, 0x5c, + 0xd1, 0x6d, 0x18, 0x4a, 0x9c, 0x68, 0x8b, 0x24, 0x62, 0xd9, 0xe7, 0x2c, 0x4a, 0xce, 0x03, 0xd3, + 0x29, 0x47, 0x82, 0x06, 0x49, 0x05, 0xe4, 0x3a, 0x63, 0x82, 0x05, 0x33, 0xbb, 0x01, 0x63, 0x4b, + 0x4e, 0xcb, 0xd9, 0xf0, 0x7c, 0x2f, 0xf1, 0x48, 0x8c, 0x3e, 0x04, 0x65, 0xc7, 0x75, 0xd9, 0x02, + 0xa8, 0x2c, 0x9e, 0xdd, 0xdf, 0x9b, 0x2d, 0x2f, 0xb8, 0xee, 0xc1, 0xde, 0x2c, 0x28, 0xaa, 0x5d, + 0x4c, 0x29, 0xd0, 0x73, 0x30, 0xe0, 0x46, 0x61, 0x6b, 0xba, 0xc4, 0x28, 0x1f, 0xa1, 0x2b, 0xb5, + 0x1a, 0x85, 0xad, 0x0c, 0x29, 0xa3, 0xb1, 0xbf, 0x5f, 0x02, 0xb4, 0x44, 0x5a, 0xdb, 0x2b, 0x75, + 0xe3, 0x9b, 0x5e, 0x80, 0x91, 0x66, 0x18, 0x78, 0x49, 0x18, 0xc5, 0xa2, 0x42, 0x36, 0x2f, 0xd6, + 0x04, 0x0c, 0x2b, 0x2c, 0x3a, 0x0f, 0x03, 0xad, 0x74, 0x79, 0x8f, 0x49, 0xd1, 0xc0, 0x16, 0x36, 0xc3, 0x50, 0x8a, 0x76, 0x4c, 0x22, 0x31, 0x9f, 0x15, 0xc5, 0xed, 0x98, 0x44, 0x98, 0x61, 0xd2, - 0x19, 0x44, 0xe7, 0x96, 0x98, 0xad, 0x99, 0x19, 0x44, 0x31, 0x58, 0xa3, 0x42, 0x6f, 0x42, 0x85, - 0xff, 0xc3, 0x64, 0x83, 0x4d, 0xdd, 0x5c, 0xa1, 0x70, 0x3d, 0x6c, 0x38, 0x7e, 0x76, 0xf0, 0xc7, - 0xd9, 0x8c, 0x93, 0x8c, 0x70, 0xca, 0xd3, 0x98, 0x71, 0x43, 0xb9, 0x33, 0xee, 0x6f, 0x5b, 0x80, - 0x96, 0xbc, 0xc0, 0x25, 0xd1, 0x31, 0x6c, 0x9d, 0xfd, 0x2d, 0x86, 0x1f, 0xd3, 0xa6, 0x85, 0xcd, - 0x56, 0x18, 0x90, 0x20, 0x59, 0x0a, 0x03, 0x97, 0x6f, 0xa7, 0x9f, 0x84, 0x81, 0x84, 0x56, 0xc5, - 0x9b, 0xf5, 0xb4, 0xfc, 0x2c, 0xb4, 0x82, 0xfd, 0xdd, 0xd9, 0x33, 0x9d, 0x25, 0x58, 0x13, 0x58, - 0x19, 0xf4, 0x09, 0x18, 0x8a, 0x13, 0x27, 0x69, 0xc7, 0xa2, 0xa1, 0x4f, 0xc8, 0x86, 0xd6, 0x19, - 0x74, 0x7f, 0x77, 0x76, 0x52, 0x15, 0xe3, 0x20, 0x2c, 0x0a, 0xa0, 0x67, 0x60, 0xb8, 0x49, 0xe2, - 0xd8, 0xd9, 0x94, 0x02, 0x6e, 0x52, 0x94, 0x1d, 0xbe, 0xc1, 0xc1, 0x58, 0xe2, 0xd1, 0x93, 0x30, - 0x48, 0xa2, 0x28, 0x8c, 0xc4, 0x8c, 0x18, 0x17, 0x84, 0x83, 0xcb, 0x14, 0x88, 0x39, 0xce, 0xfe, - 0xef, 0x16, 0x4c, 0xaa, 0xb6, 0xf2, 0xba, 0x8e, 0x61, 0xc9, 0xbb, 0x00, 0x0d, 0xd9, 0xc1, 0x98, - 0x2d, 0x34, 0xad, 0x8e, 0xee, 0xd3, 0xaf, 0x73, 0x40, 0xd3, 0x3a, 0x14, 0x28, 0xc6, 0x1a, 0x5f, - 0xfb, 0x3f, 0x5a, 0x70, 0x32, 0xd3, 0xb7, 0xeb, 0x5e, 0x9c, 0xa0, 0x37, 0x3a, 0xfa, 0x37, 0x57, - 0xac, 0x7f, 0xb4, 0x34, 0xeb, 0x9d, 0x9a, 0x2f, 0x12, 0xa2, 0xf5, 0x0d, 0xc3, 0xa0, 0x97, 0x90, - 0xa6, 0xec, 0xd6, 0xf3, 0x05, 0xbb, 0xc5, 0xdb, 0x97, 0x7e, 0xa5, 0x55, 0xca, 0x03, 0x73, 0x56, - 0xf6, 0xff, 0xb6, 0xa0, 0xb2, 0x14, 0x06, 0x1b, 0xde, 0xe6, 0x0d, 0xa7, 0x75, 0x0c, 0xdf, 0xa7, - 0x0e, 0x03, 0x8c, 0x3b, 0xef, 0xc2, 0xc5, 0xbc, 0x2e, 0x88, 0x86, 0xcd, 0xd1, 0x3d, 0x95, 0x2b, - 0x0b, 0x4a, 0x4c, 0x51, 0x10, 0x66, 0xcc, 0x66, 0x5e, 0x86, 0x8a, 0x22, 0x40, 0x53, 0x50, 0xbe, - 0x47, 0xb8, 0x26, 0x59, 0xc1, 0xf4, 0x27, 0x3a, 0x05, 0x83, 0xdb, 0x8e, 0xdf, 0x16, 0x8b, 0x17, - 0xf3, 0x3f, 0x9f, 0x2c, 0x5d, 0xb6, 0xec, 0xef, 0xb3, 0x15, 0x28, 0x2a, 0x59, 0x0e, 0xb6, 0x85, - 0x70, 0x78, 0xc7, 0x82, 0x53, 0x7e, 0x17, 0xa1, 0x24, 0xc6, 0xe4, 0x30, 0xe2, 0xec, 0x31, 0xd1, - 0xec, 0x53, 0xdd, 0xb0, 0xb8, 0x6b, 0x6d, 0x54, 0xd6, 0x87, 0x2d, 0x3a, 0xe1, 0x1c, 0x9f, 0x35, - 0x5d, 0xe8, 0x00, 0xb7, 0x04, 0x0c, 0x2b, 0xac, 0xfd, 0xa7, 0x16, 0x9c, 0x52, 0xfd, 0xb8, 0x46, - 0x76, 0xea, 0xc4, 0x27, 0x8d, 0x24, 0x8c, 0x3e, 0x28, 0x3d, 0x79, 0x9c, 0x7f, 0x13, 0x2e, 0x93, - 0x46, 0x05, 0x83, 0xf2, 0x35, 0xb2, 0xc3, 0x3f, 0x90, 0xde, 0xd1, 0xf2, 0x81, 0x1d, 0xfd, 0x2d, - 0x0b, 0xc6, 0x55, 0x47, 0x8f, 0x61, 0xc9, 0x5d, 0x37, 0x97, 0xdc, 0x47, 0x0b, 0xce, 0xd7, 0x1e, - 0x8b, 0xed, 0x77, 0x4b, 0x70, 0x5a, 0xd1, 0x18, 0xdb, 0xd1, 0x07, 0xe4, 0x3b, 0xf5, 0xd7, 0xdd, - 0x6b, 0x64, 0x67, 0x2d, 0xa4, 0xfa, 0x44, 0xf7, 0xee, 0xa2, 0x8b, 0x30, 0xea, 0x92, 0x0d, 0xa7, - 0xed, 0x27, 0x4a, 0x6d, 0x1e, 0xe4, 0xf6, 0x54, 0x35, 0x05, 0x63, 0x9d, 0xc6, 0x98, 0x09, 0x03, - 0x07, 0xce, 0x84, 0x5f, 0x19, 0x65, 0x82, 0x2b, 0x71, 0xe8, 0xe7, 0xa5, 0xaa, 0x8c, 0x66, 0x07, - 0x8d, 0xe9, 0x76, 0x90, 0xb0, 0x79, 0x9e, 0x84, 0x41, 0xaf, 0x49, 0x37, 0xb7, 0x92, 0xb9, 0x67, - 0xad, 0x52, 0x20, 0xe6, 0x38, 0xf4, 0x14, 0x0c, 0x37, 0xc2, 0x66, 0xd3, 0x09, 0xdc, 0xe9, 0x32, - 0x53, 0xae, 0x46, 0xe9, 0xfe, 0xb7, 0xc4, 0x41, 0x58, 0xe2, 0xd0, 0x63, 0x30, 0xe0, 0x44, 0x9b, - 0xf1, 0xf4, 0x00, 0xa3, 0x19, 0xa1, 0x35, 0x2d, 0x44, 0x9b, 0x31, 0x66, 0x50, 0xaa, 0x34, 0xdd, - 0x0f, 0xa3, 0x7b, 0x5e, 0xb0, 0x59, 0xf5, 0x22, 0xa6, 0x01, 0x69, 0x4a, 0xd3, 0x5d, 0x85, 0xc1, - 0x1a, 0x15, 0xaa, 0xc1, 0x60, 0x2b, 0x8c, 0x92, 0x78, 0x7a, 0x88, 0x0d, 0xfc, 0x73, 0xb9, 0xf3, - 0x8c, 0xf7, 0xbb, 0x16, 0x46, 0x49, 0xda, 0x15, 0xfa, 0x2f, 0xc6, 0x9c, 0x11, 0x5a, 0x82, 0x32, - 0x09, 0xb6, 0xa7, 0x87, 0x19, 0xbf, 0x8f, 0x1c, 0xcc, 0x6f, 0x39, 0xd8, 0xbe, 0xe3, 0x44, 0xe9, - 0xc2, 0x5c, 0x0e, 0xb6, 0x31, 0x2d, 0x8d, 0x1a, 0x50, 0x91, 0x4e, 0x8d, 0x78, 0x7a, 0xa4, 0xc8, - 0x54, 0xc4, 0x82, 0x1c, 0x93, 0xb7, 0xdb, 0x5e, 0x44, 0x9a, 0x24, 0x48, 0xe2, 0xd4, 0x82, 0x90, - 0xd8, 0x18, 0xa7, 0x7c, 0x51, 0x03, 0xc6, 0xb8, 0xa2, 0x75, 0x23, 0x6c, 0x07, 0x49, 0x3c, 0x5d, - 0x61, 0x4d, 0xce, 0x31, 0xd1, 0xef, 0xa4, 0x25, 0x16, 0x4f, 0x09, 0xf6, 0x63, 0x1a, 0x30, 0xc6, - 0x06, 0x53, 0xf4, 0x06, 0x8c, 0xfb, 0xde, 0x36, 0x09, 0x48, 0x1c, 0xd7, 0xa2, 0x70, 0x9d, 0x4c, - 0x03, 0xeb, 0xcd, 0x93, 0x79, 0xe6, 0x6a, 0xb8, 0x4e, 0x16, 0x4f, 0xec, 0xed, 0xce, 0x8e, 0x5f, - 0xd7, 0x4b, 0x63, 0x93, 0x19, 0x7a, 0x13, 0x26, 0xa8, 0x56, 0xe7, 0xa5, 0xec, 0x47, 0x8b, 0xb3, - 0x47, 0x7b, 0xbb, 0xb3, 0x13, 0xd8, 0x28, 0x8e, 0x33, 0xec, 0xd0, 0x1a, 0x54, 0x7c, 0x6f, 0x83, - 0x34, 0x76, 0x1a, 0x3e, 0x99, 0x1e, 0x63, 0xbc, 0x73, 0x16, 0xe7, 0x75, 0x49, 0xce, 0x35, 0x69, - 0xf5, 0x17, 0xa7, 0x8c, 0xd0, 0x1d, 0x38, 0x93, 0x90, 0xa8, 0xe9, 0x05, 0x0e, 0x5d, 0x54, 0x42, - 0xcd, 0x63, 0x3e, 0x81, 0x71, 0x36, 0x6b, 0xcf, 0x8a, 0x81, 0x3d, 0xb3, 0xd6, 0x95, 0x0a, 0xf7, - 0x28, 0x8d, 0x6e, 0xc1, 0x24, 0x5b, 0x4f, 0xb5, 0xb6, 0xef, 0xd7, 0x42, 0xdf, 0x6b, 0xec, 0x4c, - 0x4f, 0x30, 0x86, 0x4f, 0x49, 0x4b, 0x7f, 0xd5, 0x44, 0x53, 0x0b, 0x28, 0xfd, 0x87, 0xb3, 0xa5, - 0x91, 0x0f, 0x93, 0x31, 0x69, 0xb4, 0x23, 0x2f, 0xd9, 0xa1, 0x73, 0x9f, 0x3c, 0x48, 0xa6, 0x27, - 0x8b, 0x58, 0x74, 0x75, 0xb3, 0x10, 0x77, 0xb3, 0x64, 0x80, 0x38, 0xcb, 0x9a, 0x8a, 0x8a, 0x38, - 0x71, 0xbd, 0x60, 0x7a, 0x8a, 0x49, 0x20, 0xb5, 0xbe, 0xea, 0x14, 0x88, 0x39, 0x8e, 0x19, 0xca, - 0xf4, 0xc7, 0x2d, 0x2a, 0xa5, 0x4f, 0x30, 0xc2, 0xd4, 0x50, 0x96, 0x08, 0x9c, 0xd2, 0xd0, 0x3d, - 0x30, 0x49, 0x76, 0xa6, 0x11, 0x23, 0x55, 0x4b, 0x6d, 0x6d, 0xed, 0x73, 0x98, 0xc2, 0xd1, 0x1d, - 0x18, 0x26, 0xc1, 0xf6, 0x4a, 0x14, 0x36, 0xa7, 0x4f, 0x16, 0x91, 0x01, 0xcb, 0x9c, 0x98, 0xef, - 0x1f, 0xa9, 0xae, 0x2e, 0xc0, 0x58, 0x32, 0x43, 0x0f, 0x60, 0xba, 0xcb, 0x57, 0xe2, 0x1f, 0xe5, - 0x14, 0xfb, 0x28, 0x9f, 0x12, 0x65, 0xa7, 0xd7, 0x7a, 0xd0, 0xed, 0x1f, 0x80, 0xc3, 0x3d, 0xb9, - 0xdb, 0xeb, 0x30, 0xa1, 0x04, 0x15, 0xfb, 0xde, 0x68, 0x16, 0x06, 0xa9, 0x2c, 0x96, 0x96, 0x6b, - 0x85, 0x0e, 0x2a, 0x15, 0xd1, 0x31, 0xe6, 0x70, 0x36, 0xa8, 0xde, 0x97, 0xc9, 0xe2, 0x4e, 0x42, - 0xb8, 0x05, 0x53, 0xd6, 0x06, 0x55, 0x22, 0x70, 0x4a, 0x63, 0xff, 0x5f, 0xae, 0x0f, 0xa4, 0xd2, - 0xb0, 0xc0, 0x4e, 0x70, 0x01, 0x46, 0xb6, 0xc2, 0x38, 0xa1, 0xd4, 0xac, 0x8e, 0xc1, 0x54, 0x03, - 0xb8, 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0x57, 0x60, 0xbc, 0xa1, 0x57, 0x20, 0xb6, 0xb1, 0xd3, 0xa2, - 0x88, 0x59, 0x3b, 0x36, 0x69, 0xd1, 0x65, 0x18, 0x61, 0xee, 0xdc, 0x46, 0xe8, 0x0b, 0x5b, 0x49, - 0xee, 0xca, 0x23, 0x35, 0x01, 0xdf, 0xd7, 0x7e, 0x63, 0x45, 0x4d, 0x2d, 0x4e, 0xda, 0x84, 0xd5, - 0x9a, 0xd8, 0x40, 0x94, 0xc5, 0x79, 0x95, 0x41, 0xb1, 0xc0, 0xda, 0xff, 0xb2, 0xa4, 0x8d, 0x32, - 0xd5, 0xf4, 0x09, 0xfa, 0x3c, 0x0c, 0xdf, 0x77, 0xbc, 0xc4, 0x0b, 0x36, 0x85, 0xf6, 0xf0, 0x42, - 0xc1, 0xdd, 0x84, 0x15, 0xbf, 0xcb, 0x8b, 0xf2, 0x9d, 0x4f, 0xfc, 0xc1, 0x92, 0x21, 0xe5, 0x1d, - 0xb5, 0x83, 0x80, 0xf2, 0x2e, 0xf5, 0xcf, 0x1b, 0xf3, 0xa2, 0x9c, 0xb7, 0xf8, 0x83, 0x25, 0x43, - 0xb4, 0x01, 0x20, 0xe7, 0x12, 0x71, 0x85, 0x1b, 0xf5, 0xe3, 0xfd, 0xb0, 0x5f, 0x53, 0xa5, 0x17, - 0x27, 0xe8, 0x5e, 0x9b, 0xfe, 0xc7, 0x1a, 0x67, 0x3b, 0x61, 0x4a, 0x58, 0x67, 0xb3, 0xd0, 0x17, - 0xe8, 0x92, 0x76, 0xa2, 0x84, 0xb8, 0x0b, 0x49, 0xd6, 0x13, 0x7d, 0xb0, 0x2e, 0xb9, 0xe6, 0x35, - 0x89, 0xbe, 0xfc, 0x05, 0x13, 0x9c, 0xf2, 0xb3, 0xbf, 0x53, 0x86, 0xe9, 0x5e, 0xcd, 0xa5, 0x53, - 0x92, 0x3c, 0xf0, 0x92, 0x25, 0xaa, 0x26, 0x59, 0xe6, 0x94, 0x5c, 0x16, 0x70, 0xac, 0x28, 0xe8, - 0xdc, 0x88, 0xbd, 0x4d, 0x69, 0x15, 0x0c, 0xa6, 0x73, 0xa3, 0xce, 0xa0, 0x58, 0x60, 0x29, 0x5d, - 0x44, 0x9c, 0x58, 0x78, 0xf1, 0xb5, 0x39, 0x84, 0x19, 0x14, 0x0b, 0xac, 0x6e, 0xf9, 0x0f, 0xe4, - 0x58, 0xfe, 0xc6, 0x10, 0x0d, 0x3e, 0xdc, 0x21, 0x42, 0x5f, 0x04, 0xd8, 0xf0, 0x02, 0x2f, 0xde, - 0x62, 0xdc, 0x87, 0xfa, 0xe6, 0xae, 0x94, 0xac, 0x15, 0xc5, 0x05, 0x6b, 0x1c, 0xd1, 0x4b, 0x30, - 0xaa, 0x96, 0xe7, 0x6a, 0x75, 0x7a, 0xd8, 0xf4, 0xfc, 0xa6, 0xb2, 0xaa, 0x8a, 0x75, 0x3a, 0xfb, - 0x4b, 0xd9, 0xf9, 0x22, 0x56, 0x85, 0x36, 0xbe, 0x56, 0xd1, 0xf1, 0x2d, 0x1d, 0x3c, 0xbe, 0xf6, - 0x7f, 0x2b, 0xc3, 0xa4, 0x51, 0x59, 0x3b, 0x2e, 0x20, 0xd1, 0x5e, 0xa3, 0x1b, 0x96, 0x93, 0x10, - 0xb1, 0x26, 0x2f, 0xf4, 0xb3, 0x68, 0xf4, 0xed, 0x8d, 0xae, 0x05, 0xce, 0x09, 0x6d, 0x41, 0xc5, - 0x77, 0x62, 0xe6, 0x3b, 0x20, 0x62, 0x2d, 0xf6, 0xc7, 0x36, 0x35, 0x3f, 0x9c, 0x38, 0xd1, 0x76, - 0x0f, 0x5e, 0x4b, 0xca, 0x9c, 0xee, 0xb6, 0x54, 0xd9, 0x91, 0x47, 0x47, 0xaa, 0x39, 0x54, 0x23, - 0xda, 0xc1, 0x1c, 0x87, 0x2e, 0xc3, 0x58, 0x44, 0xd8, 0x4c, 0x59, 0xa2, 0xfa, 0x1c, 0x9b, 0x7a, - 0x83, 0xa9, 0xe2, 0x87, 0x35, 0x1c, 0x36, 0x28, 0x53, 0xbd, 0x7f, 0xe8, 0x00, 0xbd, 0xff, 0x19, - 0x18, 0x66, 0x3f, 0xd4, 0xac, 0x50, 0x5f, 0x68, 0x95, 0x83, 0xb1, 0xc4, 0x67, 0x27, 0xd1, 0x48, - 0xc1, 0x49, 0xf4, 0x2c, 0x4c, 0x54, 0x1d, 0xd2, 0x0c, 0x83, 0xe5, 0xc0, 0x6d, 0x85, 0x5e, 0x90, - 0xa0, 0x69, 0x18, 0x60, 0xfb, 0x09, 0x5f, 0xef, 0x03, 0x94, 0x03, 0x1e, 0xa0, 0xba, 0xbb, 0xfd, - 0xff, 0x2c, 0x18, 0xaf, 0x12, 0x9f, 0x24, 0x84, 0xdb, 0x3d, 0x31, 0x5a, 0x01, 0xb4, 0x19, 0x39, - 0x0d, 0x52, 0x23, 0x91, 0x17, 0xba, 0x75, 0xd2, 0x08, 0x03, 0x76, 0xe2, 0x42, 0x37, 0xc8, 0x33, - 0x7b, 0xbb, 0xb3, 0xe8, 0x4a, 0x07, 0x16, 0x77, 0x29, 0x81, 0x5c, 0x18, 0x6f, 0x45, 0xc4, 0x70, - 0x90, 0x59, 0xf9, 0xaa, 0x46, 0x4d, 0x2f, 0xc2, 0xb5, 0x61, 0x03, 0x84, 0x4d, 0xa6, 0xe8, 0x33, - 0x30, 0x15, 0x46, 0xad, 0x2d, 0x27, 0xa8, 0x92, 0x16, 0x09, 0x5c, 0x6a, 0x02, 0x08, 0xb3, 0xfe, - 0xd4, 0xde, 0xee, 0xec, 0xd4, 0xad, 0x0c, 0x0e, 0x77, 0x50, 0xdb, 0xbf, 0x56, 0x82, 0xd3, 0xd5, - 0xf0, 0x7e, 0x70, 0xdf, 0x89, 0xdc, 0x85, 0xda, 0x2a, 0xd7, 0xeb, 0x99, 0x77, 0x59, 0x7a, 0xb5, - 0xad, 0x9e, 0x5e, 0xed, 0x2f, 0xc0, 0xc8, 0x86, 0x47, 0x7c, 0x17, 0x93, 0x0d, 0xd1, 0xbd, 0x8b, - 0x45, 0xdc, 0xfe, 0x2b, 0xb4, 0x8c, 0xf4, 0x9b, 0x70, 0xab, 0x73, 0x45, 0xb0, 0xc1, 0x8a, 0x21, - 0x6a, 0xc3, 0x94, 0x34, 0x5c, 0x24, 0x56, 0xac, 0x8e, 0x17, 0x8a, 0xd9, 0x45, 0x66, 0x35, 0x6c, - 0x3c, 0x70, 0x86, 0x21, 0xee, 0xa8, 0x82, 0x1a, 0x9c, 0x4d, 0xba, 0x37, 0x0c, 0xb0, 0xb9, 0xc2, - 0x0c, 0x4e, 0x66, 0x3b, 0x33, 0xa8, 0xfd, 0x8f, 0x2d, 0x78, 0xa4, 0x63, 0xb4, 0x84, 0x63, 0xe1, - 0x75, 0x69, 0xd1, 0xf3, 0xe3, 0xb9, 0x9c, 0x56, 0x76, 0x1d, 0xf3, 0x62, 0xd6, 0x7d, 0x29, 0xdf, - 0xba, 0xb7, 0x6f, 0xc1, 0xa9, 0xe5, 0x66, 0x2b, 0xd9, 0xa9, 0x7a, 0xa6, 0x33, 0xfe, 0x65, 0x18, - 0x6a, 0x12, 0xd7, 0x6b, 0x37, 0xc5, 0x67, 0x9d, 0x95, 0x82, 0xf4, 0x06, 0x83, 0xee, 0xef, 0xce, - 0x8e, 0xd7, 0x93, 0x30, 0x72, 0x36, 0x09, 0x07, 0x60, 0x41, 0x6e, 0xbf, 0x67, 0xc1, 0xa4, 0x5c, - 0x50, 0x0b, 0xae, 0x1b, 0x91, 0x38, 0x46, 0x33, 0x50, 0xf2, 0x5a, 0x82, 0x11, 0x08, 0x46, 0xa5, - 0xd5, 0x1a, 0x2e, 0x79, 0x2d, 0xf4, 0x79, 0xa8, 0xf0, 0x33, 0x9c, 0x74, 0x72, 0xf4, 0x79, 0x26, - 0xc4, 0x8c, 0xa9, 0x35, 0xc9, 0x03, 0xa7, 0xec, 0xa4, 0x5a, 0xc9, 0x44, 0x75, 0xd9, 0x3c, 0x51, - 0xb8, 0x2a, 0xe0, 0x58, 0x51, 0xa0, 0xf3, 0x30, 0x12, 0x84, 0x2e, 0x3f, 0x66, 0xe3, 0x9b, 0x2e, - 0x9b, 0x72, 0x37, 0x05, 0x0c, 0x2b, 0xac, 0xfd, 0x75, 0x0b, 0xc6, 0x64, 0x1f, 0x0b, 0x6a, 0xb8, - 0x74, 0x91, 0xa4, 0xda, 0x6d, 0xba, 0x48, 0xa8, 0x86, 0xca, 0x30, 0x86, 0x62, 0x5a, 0xee, 0x47, - 0x31, 0xb5, 0x7f, 0xb3, 0x04, 0x13, 0xb2, 0x39, 0xf5, 0xf6, 0x7a, 0x4c, 0xe8, 0xbe, 0x5d, 0x71, - 0xf8, 0xe0, 0x13, 0x39, 0xcf, 0x9e, 0xcf, 0x33, 0x5e, 0x8c, 0x6f, 0x96, 0xea, 0x05, 0x0b, 0x92, - 0x0f, 0x4e, 0x59, 0xa2, 0x6d, 0x38, 0x11, 0x84, 0x09, 0xdb, 0x0f, 0x14, 0xbe, 0x98, 0x0f, 0x3c, - 0x5b, 0xcf, 0xa3, 0xa2, 0x9e, 0x13, 0x37, 0xb3, 0xfc, 0x70, 0x67, 0x15, 0xe8, 0x96, 0x74, 0xca, - 0x94, 0x59, 0x5d, 0xcf, 0x16, 0xab, 0xab, 0xb7, 0x4f, 0xc6, 0xfe, 0x81, 0x05, 0x15, 0x49, 0x76, - 0x1c, 0x87, 0x21, 0x77, 0x61, 0x38, 0x66, 0x9f, 0x48, 0x0e, 0xd7, 0x85, 0x62, 0x5d, 0xe0, 0xdf, - 0x35, 0xdd, 0x04, 0xf9, 0xff, 0x18, 0x4b, 0x6e, 0xcc, 0x0d, 0xab, 0x3a, 0xf2, 0x81, 0x73, 0xc3, - 0xaa, 0x96, 0xf5, 0x3e, 0xf3, 0x18, 0x37, 0xcc, 0x67, 0xaa, 0xc9, 0xb5, 0x22, 0xb2, 0xe1, 0x3d, - 0xc8, 0x6a, 0x72, 0x35, 0x06, 0xc5, 0x02, 0x8b, 0x36, 0x60, 0xac, 0x21, 0xfd, 0xb7, 0xa9, 0x08, - 0xf9, 0x58, 0x41, 0xaf, 0xb0, 0x3a, 0x60, 0xe0, 0x41, 0x2b, 0x4b, 0x1a, 0x27, 0x6c, 0xf0, 0xa5, - 0x72, 0x2a, 0x3d, 0x43, 0x2d, 0x17, 0xf4, 0x74, 0x44, 0x24, 0x49, 0x6b, 0xe8, 0x79, 0x7c, 0x6a, - 0x7f, 0xd3, 0x82, 0x21, 0xee, 0xf0, 0x2b, 0xe6, 0x35, 0xd5, 0x8e, 0x4e, 0xd2, 0xf1, 0xbc, 0x43, - 0x81, 0xe2, 0x24, 0x05, 0xdd, 0x85, 0x0a, 0xfb, 0xc1, 0x9c, 0x17, 0xe5, 0x22, 0x11, 0x3c, 0xbc, - 0x7e, 0xbd, 0xa9, 0x77, 0x24, 0x03, 0x9c, 0xf2, 0xb2, 0xbf, 0x57, 0xa6, 0xa2, 0x2f, 0x25, 0x35, - 0xf6, 0x76, 0xeb, 0x38, 0xf6, 0xf6, 0xd2, 0xd1, 0xef, 0xed, 0x6f, 0xc3, 0x64, 0x43, 0x3b, 0xba, - 0x49, 0xbf, 0xf8, 0xa5, 0x82, 0xd3, 0x4a, 0x3b, 0xef, 0xe1, 0x0e, 0xae, 0x25, 0x93, 0x1d, 0xce, - 0xf2, 0x47, 0x04, 0xc6, 0xf8, 0x7c, 0x10, 0xf5, 0x0d, 0xb0, 0xfa, 0xe6, 0x8b, 0xcc, 0x30, 0xbd, - 0x32, 0x36, 0x8b, 0xeb, 0x1a, 0x23, 0x6c, 0xb0, 0xb5, 0xff, 0xce, 0x20, 0x0c, 0x2e, 0x6f, 0x93, - 0x20, 0x39, 0x06, 0x51, 0xd7, 0x84, 0x09, 0x2f, 0xd8, 0x0e, 0xfd, 0x6d, 0xe2, 0x72, 0xfc, 0xe1, - 0xb6, 0xf7, 0x33, 0xa2, 0x92, 0x89, 0x55, 0x83, 0x19, 0xce, 0x30, 0x3f, 0x0a, 0xd3, 0xfa, 0x35, - 0x18, 0xe2, 0x33, 0x43, 0xd8, 0xd5, 0x39, 0x0e, 0x70, 0x36, 0xb0, 0x62, 0x05, 0xa5, 0x0e, 0x00, - 0xee, 0x7b, 0x17, 0x8c, 0xd0, 0x97, 0x60, 0x62, 0xc3, 0x8b, 0xe2, 0x84, 0x5a, 0xc7, 0x71, 0xe2, - 0x34, 0x5b, 0x87, 0x30, 0xaa, 0xd5, 0x88, 0xac, 0x18, 0x9c, 0x70, 0x86, 0x33, 0xda, 0x84, 0x71, - 0x6a, 0xd3, 0xa5, 0x55, 0x0d, 0xf7, 0x5d, 0x95, 0xf2, 0xa9, 0x5d, 0xd7, 0x19, 0x61, 0x93, 0x2f, - 0x15, 0x49, 0x0d, 0x66, 0x03, 0x8e, 0x30, 0xed, 0x46, 0x89, 0x24, 0x6e, 0xfc, 0x71, 0x1c, 0x95, - 0x6c, 0x2c, 0x86, 0xa2, 0x62, 0x4a, 0xb6, 0x34, 0x52, 0xc2, 0xfe, 0x36, 0xdd, 0x8b, 0xe9, 0x18, - 0x1e, 0xc3, 0xf6, 0x75, 0xd5, 0xdc, 0xbe, 0x9e, 0x2c, 0xf0, 0x65, 0x7b, 0x6c, 0x5d, 0x6f, 0xc1, - 0xa8, 0xf6, 0xe1, 0xd1, 0x3c, 0x54, 0x1a, 0xf2, 0x98, 0x5f, 0x48, 0x71, 0xa5, 0x4a, 0xa9, 0xf3, - 0x7f, 0x9c, 0xd2, 0xd0, 0x71, 0xa1, 0x2a, 0x68, 0x36, 0x28, 0x88, 0x2a, 0xa8, 0x98, 0x61, 0xec, - 0x17, 0x00, 0x96, 0x1f, 0x90, 0xc6, 0x42, 0x83, 0xc5, 0xa2, 0x68, 0x07, 0x62, 0x56, 0xef, 0x03, - 0x31, 0xfb, 0x5b, 0x16, 0x4c, 0xac, 0x2c, 0x19, 0x3a, 0xfd, 0x1c, 0x00, 0xd7, 0x8d, 0xef, 0xde, - 0xbd, 0x29, 0x1d, 0xbe, 0xdc, 0x2b, 0xa7, 0xa0, 0x58, 0xa3, 0x40, 0x8f, 0x42, 0xd9, 0x6f, 0x07, - 0x42, 0x65, 0x1d, 0xde, 0xdb, 0x9d, 0x2d, 0x5f, 0x6f, 0x07, 0x98, 0xc2, 0xb4, 0xe8, 0x9b, 0x72, - 0xe1, 0xe8, 0x9b, 0xfc, 0x38, 0xd4, 0x6f, 0x94, 0x61, 0x6a, 0xc5, 0x27, 0x0f, 0x8c, 0x56, 0x3f, - 0x0d, 0x43, 0x6e, 0xe4, 0x6d, 0x93, 0x28, 0xab, 0x08, 0x54, 0x19, 0x14, 0x0b, 0x6c, 0xe1, 0x80, - 0xa0, 0x37, 0x3b, 0x37, 0xf2, 0xa3, 0x0b, 0x86, 0xca, 0xed, 0x33, 0xda, 0x80, 0x61, 0x7e, 0x80, - 0x1a, 0x4f, 0x0f, 0xb2, 0xa9, 0xf8, 0xca, 0xc1, 0x8d, 0xc9, 0x8e, 0xcf, 0x9c, 0x70, 0x48, 0xf0, - 0x50, 0x0c, 0x25, 0xcb, 0x04, 0x14, 0x4b, 0xe6, 0x33, 0x9f, 0x84, 0x31, 0x9d, 0xb2, 0xaf, 0x98, - 0x8c, 0x5f, 0xb0, 0xe0, 0xe4, 0x8a, 0x1f, 0x36, 0xee, 0x65, 0x22, 0xb6, 0x5e, 0x82, 0x51, 0xba, - 0x98, 0x62, 0x23, 0x9c, 0xd1, 0x88, 0xdb, 0x14, 0x28, 0xac, 0xd3, 0x69, 0xc5, 0x6e, 0xdf, 0x5e, - 0xad, 0x76, 0x0b, 0xf7, 0x14, 0x28, 0xac, 0xd3, 0xd9, 0xbf, 0x67, 0xc1, 0xe3, 0x57, 0x96, 0x96, - 0x6b, 0x24, 0x8a, 0xbd, 0x38, 0x21, 0x41, 0xd2, 0x11, 0x71, 0x4a, 0x75, 0x46, 0x57, 0x6b, 0x4a, - 0xaa, 0x33, 0x56, 0x59, 0x2b, 0x04, 0xf6, 0x83, 0x12, 0x76, 0xfd, 0x4d, 0x0b, 0x4e, 0x5e, 0xf1, - 0x12, 0x4c, 0x5a, 0x61, 0x36, 0x48, 0x34, 0x22, 0xad, 0x30, 0xf6, 0x92, 0x30, 0xda, 0xc9, 0x06, - 0x89, 0x62, 0x85, 0xc1, 0x1a, 0x15, 0xaf, 0x79, 0xdb, 0x8b, 0x69, 0x4b, 0x4b, 0xa6, 0xa9, 0x8b, - 0x05, 0x1c, 0x2b, 0x0a, 0xda, 0x31, 0xd7, 0x8b, 0x98, 0xca, 0xb0, 0x23, 0x56, 0xb0, 0xea, 0x58, - 0x55, 0x22, 0x70, 0x4a, 0x63, 0xff, 0x3d, 0x0b, 0x4e, 0x5f, 0xf1, 0xdb, 0x71, 0x42, 0xa2, 0x8d, - 0xd8, 0x68, 0xec, 0x0b, 0x50, 0x21, 0x52, 0xb9, 0x17, 0x6d, 0x55, 0x9b, 0x86, 0xd2, 0xfa, 0x79, - 0x84, 0xaa, 0xa2, 0x2b, 0x10, 0x08, 0xd9, 0x5f, 0xd8, 0xde, 0x6f, 0x95, 0x60, 0xfc, 0xea, 0xda, - 0x5a, 0xed, 0x0a, 0x49, 0x84, 0x94, 0xcc, 0x77, 0x4a, 0xd5, 0x34, 0x8b, 0x5c, 0xdb, 0x5b, 0x32, - 0xab, 0xae, 0x9d, 0x78, 0xfe, 0x1c, 0xbf, 0x10, 0x30, 0xb7, 0x1a, 0x24, 0xb7, 0xa2, 0x7a, 0x12, - 0x79, 0xc1, 0x66, 0x57, 0x0b, 0x5e, 0x4a, 0xf2, 0x72, 0x2f, 0x49, 0x8e, 0x5e, 0x80, 0x21, 0x76, - 0x87, 0x41, 0xaa, 0x1e, 0x1f, 0x56, 0x5a, 0x02, 0x83, 0xee, 0xef, 0xce, 0x56, 0x6e, 0xe3, 0x55, - 0xfe, 0x07, 0x0b, 0x52, 0xf4, 0x26, 0x8c, 0x6e, 0x25, 0x49, 0xeb, 0x2a, 0x71, 0x5c, 0x12, 0x49, - 0x29, 0x71, 0xfe, 0x60, 0x29, 0x41, 0x07, 0x83, 0x17, 0x48, 0x17, 0x56, 0x0a, 0x8b, 0xb1, 0xce, - 0xd1, 0xae, 0x03, 0xa4, 0xb8, 0x87, 0x64, 0x81, 0xd8, 0x3f, 0x5f, 0x82, 0xe1, 0xab, 0x4e, 0xe0, - 0xfa, 0x24, 0x42, 0x2b, 0x30, 0x40, 0x1e, 0x90, 0x86, 0xd8, 0xc6, 0x73, 0x9a, 0x9e, 0x6e, 0x75, - 0xdc, 0xab, 0x46, 0xff, 0x63, 0x56, 0x1e, 0x61, 0x18, 0xa6, 0xed, 0xbe, 0xa2, 0xa2, 0x87, 0x9f, - 0xcb, 0x1f, 0x05, 0x35, 0x25, 0xf8, 0x3e, 0x29, 0x40, 0x58, 0x32, 0x62, 0xfe, 0xa7, 0x46, 0xab, - 0x4e, 0x85, 0x5b, 0x52, 0xcc, 0xae, 0x5b, 0x5b, 0xaa, 0x71, 0x72, 0xc1, 0x97, 0xfb, 0x9f, 0x24, - 0x10, 0xa7, 0xec, 0xec, 0xcb, 0x70, 0x8a, 0x1d, 0x5f, 0x3a, 0xc9, 0x96, 0xb1, 0x66, 0x72, 0x27, - 0xa7, 0xfd, 0x0f, 0x4a, 0x70, 0x62, 0xb5, 0xbe, 0x54, 0x37, 0x3d, 0x87, 0x97, 0x61, 0x8c, 0x6f, - 0xcf, 0x74, 0xd2, 0x39, 0xbe, 0x28, 0xaf, 0x5c, 0xee, 0x6b, 0x1a, 0x0e, 0x1b, 0x94, 0xe8, 0x71, - 0x28, 0x7b, 0x6f, 0x07, 0xd9, 0x68, 0xaf, 0xd5, 0xd7, 0x6e, 0x62, 0x0a, 0xa7, 0x68, 0xba, 0xd3, - 0x73, 0x11, 0xa7, 0xd0, 0x6a, 0xb7, 0x7f, 0x15, 0x26, 0xbc, 0xb8, 0x11, 0x7b, 0xab, 0x01, 0x5d, - 0xff, 0x4e, 0x43, 0x4e, 0xdf, 0x54, 0x35, 0xa7, 0x4d, 0x55, 0x58, 0x9c, 0xa1, 0xd6, 0xe4, 0xed, - 0x60, 0x61, 0x6d, 0x21, 0x3f, 0x8c, 0xf8, 0x4b, 0x50, 0x51, 0xe1, 0x4e, 0x32, 0x9c, 0xcd, 0xea, - 0x11, 0xce, 0x96, 0x2f, 0x70, 0xa4, 0x3f, 0xb7, 0xdc, 0xd5, 0x9f, 0xfb, 0xcf, 0x2c, 0x48, 0xe3, - 0x35, 0x10, 0x86, 0x4a, 0x2b, 0x64, 0x87, 0x25, 0x91, 0x3c, 0x95, 0x7c, 0x2a, 0x67, 0x26, 0xf2, - 0x95, 0xc0, 0xe7, 0x4a, 0x4d, 0x96, 0xc5, 0x29, 0x1b, 0x74, 0x1d, 0x86, 0x5b, 0x11, 0xa9, 0x27, - 0x2c, 0x16, 0xbd, 0x0f, 0x8e, 0x6c, 0x56, 0xd7, 0x78, 0x49, 0x2c, 0x59, 0xd8, 0xff, 0xd6, 0x02, - 0xb8, 0xee, 0x35, 0xbd, 0x04, 0x3b, 0xc1, 0x26, 0x39, 0x06, 0x63, 0xef, 0x26, 0x0c, 0xc4, 0x2d, - 0xd2, 0x28, 0x76, 0xdc, 0x95, 0xb6, 0xac, 0xde, 0x22, 0x8d, 0xf4, 0x73, 0xd0, 0x7f, 0x98, 0xf1, - 0xb1, 0xff, 0x39, 0xc0, 0x44, 0x4a, 0x46, 0x15, 0x6e, 0xf4, 0xbc, 0x11, 0x84, 0xfd, 0x68, 0x26, - 0x08, 0xbb, 0xc2, 0xa8, 0xb5, 0xb8, 0xeb, 0x04, 0xca, 0x4d, 0xe7, 0x81, 0xd0, 0xef, 0x5f, 0x2a, - 0xda, 0x20, 0x5a, 0xd3, 0xdc, 0x0d, 0xe7, 0x01, 0x57, 0xa7, 0x9e, 0x93, 0x13, 0xe9, 0x86, 0xf3, - 0x60, 0x9f, 0x1f, 0x6a, 0xb1, 0x95, 0x48, 0x0d, 0x8a, 0xaf, 0xfd, 0x71, 0xfa, 0x9f, 0x09, 0x47, - 0x5a, 0x1d, 0xab, 0xd5, 0x0b, 0x84, 0x7b, 0xb2, 0xcf, 0x5a, 0xbd, 0x20, 0x5b, 0xab, 0x17, 0x14, - 0xa8, 0xd5, 0x0b, 0xd0, 0x3b, 0x16, 0x0c, 0x0b, 0xaf, 0x3e, 0x8b, 0x80, 0x1b, 0xbd, 0xf4, 0x89, - 0xbe, 0xaa, 0x16, 0xc7, 0x03, 0xbc, 0xfa, 0x79, 0xa9, 0x43, 0x0a, 0x68, 0x6e, 0x13, 0x64, 0xd5, - 0xe8, 0x57, 0x2d, 0x98, 0x10, 0xbf, 0x31, 0x79, 0xbb, 0x4d, 0xe2, 0x44, 0xec, 0x56, 0x9f, 0x39, - 0x4c, 0x6b, 0x04, 0x0b, 0xde, 0xa8, 0x8f, 0x4b, 0x51, 0x63, 0x22, 0x73, 0xdb, 0x96, 0x69, 0x0f, - 0xfa, 0xae, 0x05, 0xa7, 0x9a, 0xce, 0x03, 0x5e, 0x23, 0x87, 0x61, 0x27, 0xf1, 0x42, 0x11, 0xe5, - 0xb7, 0xd2, 0xef, 0x3c, 0xe9, 0x60, 0xc4, 0x9b, 0x2b, 0x03, 0x78, 0x4e, 0x75, 0x23, 0xc9, 0x6d, - 0x74, 0xd7, 0x16, 0xce, 0xb8, 0x30, 0x22, 0x27, 0x66, 0x17, 0xed, 0x7d, 0x51, 0xdf, 0x94, 0x0f, - 0x5e, 0x81, 0xd2, 0xdf, 0x35, 0xf7, 0x5a, 0xdb, 0x09, 0x12, 0x2f, 0xd9, 0xd1, 0x74, 0x7d, 0x56, - 0x8b, 0x98, 0x88, 0x47, 0x58, 0xcb, 0x16, 0x8c, 0xe9, 0x73, 0xee, 0x08, 0x6b, 0x0a, 0xe1, 0x64, - 0x97, 0xf9, 0x74, 0x84, 0x15, 0xb6, 0xe1, 0xd1, 0x9e, 0xf3, 0xe2, 0xe8, 0xaa, 0xb5, 0xff, 0x8d, - 0xa5, 0x0b, 0xcc, 0x63, 0xf0, 0xa0, 0xdc, 0x30, 0x3d, 0x28, 0xe7, 0x8b, 0xae, 0x9c, 0x1e, 0x6e, - 0x94, 0x0d, 0xbd, 0xf9, 0x74, 0x23, 0x40, 0x6b, 0x30, 0xe4, 0x53, 0x88, 0x3c, 0xc0, 0xba, 0xd0, - 0xcf, 0xda, 0x4c, 0x75, 0x0c, 0x06, 0x8f, 0xb1, 0xe0, 0x65, 0x7f, 0xd7, 0x82, 0x81, 0x9f, 0xe2, - 0xc5, 0x90, 0x0e, 0xd6, 0xe2, 0x6e, 0xf3, 0x1c, 0x76, 0xee, 0x2f, 0x3f, 0x48, 0x48, 0x10, 0x33, - 0x95, 0xb2, 0xeb, 0x10, 0xfd, 0x5a, 0x09, 0x46, 0x69, 0x55, 0x32, 0x04, 0xe1, 0x15, 0x18, 0xf7, - 0x9d, 0x75, 0xe2, 0x4b, 0xef, 0x6f, 0xd6, 0xfc, 0xba, 0xae, 0x23, 0xb1, 0x49, 0x4b, 0x0b, 0x6f, - 0xe8, 0xce, 0x71, 0xa1, 0x1a, 0xa9, 0xc2, 0x86, 0xe7, 0x1c, 0x9b, 0xb4, 0xd4, 0x02, 0xb8, 0xef, - 0x24, 0x8d, 0x2d, 0x61, 0x9a, 0xa9, 0xe6, 0xde, 0xa5, 0x40, 0xcc, 0x71, 0x68, 0x01, 0x26, 0xe5, - 0x8c, 0xbd, 0x43, 0x6d, 0xf6, 0x30, 0x10, 0x6a, 0xa3, 0xba, 0x5c, 0x8a, 0x4d, 0x34, 0xce, 0xd2, - 0xa3, 0x4f, 0xc2, 0x04, 0x1d, 0x9c, 0xb0, 0x9d, 0xc8, 0x00, 0x8b, 0x41, 0x16, 0x60, 0xc1, 0xe2, - 0x73, 0xd7, 0x0c, 0x0c, 0xce, 0x50, 0xda, 0x6f, 0xc2, 0xc9, 0xeb, 0xa1, 0xe3, 0x2e, 0x3a, 0xbe, - 0x13, 0x34, 0x48, 0xb4, 0x1a, 0x6c, 0xe6, 0x9e, 0x45, 0xeb, 0xe7, 0xc5, 0xa5, 0xbc, 0xf3, 0x62, - 0x3b, 0x02, 0xa4, 0x57, 0x20, 0x42, 0x83, 0xde, 0x80, 0x61, 0x8f, 0x57, 0x25, 0xa6, 0xed, 0xc5, - 0x3c, 0xe7, 0x52, 0x47, 0x1b, 0xb5, 0x50, 0x17, 0x0e, 0xc0, 0x92, 0x25, 0xb5, 0x28, 0xba, 0x79, - 0xa3, 0xf2, 0x8d, 0x36, 0xfb, 0xaf, 0x5a, 0x30, 0x79, 0x33, 0x73, 0x73, 0xf1, 0x69, 0x18, 0x8a, - 0x49, 0xd4, 0xc5, 0xb5, 0x56, 0x67, 0x50, 0x2c, 0xb0, 0x0f, 0xdd, 0x5c, 0xff, 0xe5, 0x12, 0x54, - 0x58, 0x90, 0x69, 0x8b, 0x5a, 0x07, 0x47, 0xaf, 0x9c, 0xde, 0x30, 0x94, 0xd3, 0x1c, 0xa3, 0x51, - 0x35, 0xac, 0x97, 0x6e, 0x8a, 0x6e, 0xab, 0x1b, 0x7d, 0x85, 0xec, 0xc5, 0x94, 0x21, 0xbf, 0xf5, - 0x35, 0x61, 0x5e, 0x00, 0x94, 0xb7, 0xfd, 0xd8, 0x09, 0xae, 0xa2, 0xfd, 0xc0, 0x9d, 0xe0, 0xaa, - 0x96, 0xf5, 0x10, 0x4e, 0x35, 0xad, 0xf1, 0x4c, 0x7c, 0x7f, 0x9a, 0x85, 0x0e, 0x3a, 0xbe, 0xf7, - 0x65, 0xa2, 0x2e, 0xc6, 0xce, 0x8a, 0x50, 0x40, 0x01, 0xdd, 0x67, 0x72, 0x46, 0xfc, 0xe3, 0xf7, - 0x9e, 0xd3, 0x22, 0xf6, 0x55, 0x98, 0xcc, 0x0c, 0x1d, 0x7a, 0x09, 0x06, 0x5b, 0x5b, 0x4e, 0x4c, - 0x32, 0x41, 0x29, 0x83, 0x35, 0x0a, 0xdc, 0xdf, 0x9d, 0x9d, 0x50, 0x05, 0x18, 0x04, 0x73, 0x6a, - 0xfb, 0x9d, 0x12, 0x0c, 0xdc, 0x0c, 0xdd, 0xe3, 0x98, 0x6a, 0x57, 0x8d, 0xa9, 0xf6, 0x74, 0x7e, - 0xd6, 0x84, 0x9e, 0xb3, 0xac, 0x96, 0x99, 0x65, 0xe7, 0x0b, 0xf0, 0x3a, 0x78, 0x82, 0x35, 0x61, - 0x94, 0x65, 0x65, 0x10, 0x51, 0x39, 0x2f, 0x18, 0xf6, 0xd4, 0x6c, 0xc6, 0x9e, 0x9a, 0xd4, 0x48, - 0x35, 0xab, 0xea, 0x19, 0x18, 0x16, 0x51, 0x20, 0xd9, 0xc0, 0x49, 0x41, 0x8b, 0x25, 0xde, 0xfe, - 0x57, 0x65, 0x30, 0xb2, 0x40, 0xa0, 0x1f, 0x58, 0x30, 0x17, 0xf1, 0x4b, 0x28, 0x6e, 0xb5, 0x1d, - 0x79, 0xc1, 0x66, 0xbd, 0xb1, 0x45, 0xdc, 0xb6, 0xef, 0x05, 0x9b, 0xab, 0x9b, 0x41, 0xa8, 0xc0, - 0xcb, 0x0f, 0x48, 0xa3, 0xcd, 0x9c, 0xae, 0x85, 0x93, 0x4f, 0xa8, 0x13, 0xd0, 0x4b, 0x7b, 0xbb, - 0xb3, 0x73, 0xb8, 0xaf, 0x5a, 0x70, 0x9f, 0xad, 0x42, 0x7f, 0x68, 0xc1, 0x3c, 0xcf, 0x83, 0x50, - 0xbc, 0x27, 0x85, 0xec, 0xd0, 0x9a, 0x64, 0x9a, 0xb2, 0x5b, 0x23, 0x51, 0x73, 0xf1, 0x65, 0x31, - 0xc8, 0xf3, 0xb5, 0xfe, 0x6a, 0xc5, 0xfd, 0x36, 0xd3, 0xfe, 0xf7, 0x65, 0x18, 0xa7, 0xe3, 0x99, - 0xde, 0x7d, 0x7e, 0xc9, 0x98, 0x26, 0x4f, 0x64, 0xa6, 0xc9, 0x09, 0x83, 0xf8, 0xe1, 0x5c, 0x7b, - 0x8e, 0xe1, 0x84, 0xef, 0xc4, 0xc9, 0x55, 0xe2, 0x44, 0xc9, 0x3a, 0x71, 0xd8, 0x41, 0x63, 0x36, - 0x88, 0xa1, 0xc0, 0xd9, 0xa5, 0x8a, 0x2c, 0xba, 0x9e, 0x65, 0x86, 0x3b, 0xf9, 0xa3, 0x6d, 0x40, - 0xec, 0x50, 0x33, 0x72, 0x82, 0x98, 0xf7, 0xc5, 0x13, 0x6e, 0xda, 0xfe, 0x6a, 0x9d, 0x11, 0xb5, - 0xa2, 0xeb, 0x1d, 0xdc, 0x70, 0x97, 0x1a, 0xb4, 0x63, 0xeb, 0xc1, 0xa2, 0xc7, 0xd6, 0x43, 0x39, - 0x11, 0xcb, 0xbf, 0x68, 0xc1, 0x49, 0xfa, 0x59, 0xcc, 0xe8, 0xd6, 0x18, 0x85, 0x30, 0x49, 0xa7, - 0x9d, 0x4f, 0x12, 0x09, 0x13, 0xeb, 0x2b, 0x47, 0xb3, 0x36, 0xf9, 0xa4, 0xea, 0xdb, 0x35, 0x93, - 0x19, 0xce, 0x72, 0xb7, 0xbf, 0x65, 0x01, 0x0b, 0x9f, 0x3b, 0x86, 0xcd, 0xec, 0x8a, 0xb9, 0x99, - 0xd9, 0xf9, 0x12, 0xa3, 0xc7, 0x3e, 0xf6, 0x22, 0x4c, 0x51, 0x6c, 0x2d, 0x0a, 0x1f, 0xec, 0x48, - 0x45, 0x3b, 0xdf, 0x5f, 0xfb, 0x4e, 0x89, 0x2f, 0x1b, 0x75, 0x9b, 0x0e, 0xfd, 0x92, 0x05, 0x23, - 0x0d, 0xa7, 0xe5, 0x34, 0x78, 0x0e, 0x9d, 0x02, 0x3e, 0x19, 0xa3, 0xfc, 0xdc, 0x92, 0x28, 0xcb, - 0xfd, 0x09, 0x1f, 0x93, 0x5d, 0x97, 0xe0, 0x5c, 0x1f, 0x82, 0xaa, 0x7c, 0xc6, 0x83, 0x71, 0x83, - 0xd9, 0x11, 0x1a, 0xa1, 0xbf, 0x64, 0x71, 0x91, 0xaf, 0x0c, 0x85, 0xfb, 0x70, 0x22, 0xd0, 0xfe, - 0x53, 0x61, 0x26, 0xf5, 0xe2, 0xb9, 0xe2, 0x42, 0x9d, 0xc9, 0x40, 0x2d, 0x50, 0x30, 0xc3, 0x10, - 0x77, 0xd6, 0x61, 0xff, 0x43, 0x0b, 0x1e, 0xd1, 0x09, 0xb5, 0xcb, 0x8f, 0x79, 0xbe, 0xe2, 0x2a, - 0x8c, 0x84, 0x2d, 0x12, 0x39, 0xa9, 0x51, 0x74, 0x5e, 0x8e, 0xfe, 0x2d, 0x01, 0xdf, 0xdf, 0x9d, - 0x3d, 0xa5, 0x73, 0x97, 0x70, 0xac, 0x4a, 0x22, 0x1b, 0x86, 0xd8, 0xb8, 0xc4, 0xe2, 0xda, 0x2a, - 0xcb, 0x28, 0xc3, 0x4e, 0x48, 0x62, 0x2c, 0x30, 0xf6, 0xdf, 0xb4, 0xf8, 0x64, 0xd3, 0x9b, 0x8e, - 0xbe, 0x02, 0x53, 0x4d, 0x6a, 0x3f, 0x2d, 0x3f, 0x68, 0xd1, 0x6d, 0x94, 0x9d, 0x0c, 0x5b, 0x45, - 0x36, 0x8f, 0x1e, 0xdd, 0x5d, 0x9c, 0x16, 0xad, 0x9f, 0xba, 0x91, 0x61, 0x8b, 0x3b, 0x2a, 0xb2, - 0xff, 0x48, 0xac, 0x58, 0xa6, 0xc1, 0x3d, 0x03, 0xc3, 0xad, 0xd0, 0x5d, 0x5a, 0xad, 0x62, 0x31, - 0x56, 0x4a, 0xe4, 0xd4, 0x38, 0x18, 0x4b, 0x3c, 0xba, 0x04, 0x40, 0x1e, 0x24, 0x24, 0x0a, 0x1c, - 0x5f, 0x9d, 0xe8, 0x2a, 0x45, 0x69, 0x59, 0x61, 0xb0, 0x46, 0x45, 0xcb, 0xb4, 0xa2, 0x70, 0xdb, - 0x73, 0x59, 0xd4, 0x7e, 0xd9, 0x2c, 0x53, 0x53, 0x18, 0xac, 0x51, 0x51, 0xab, 0xb5, 0x1d, 0xc4, - 0x7c, 0x13, 0x73, 0xd6, 0x45, 0x02, 0x94, 0x91, 0xd4, 0x6a, 0xbd, 0xad, 0x23, 0xb1, 0x49, 0x6b, - 0xff, 0xd7, 0x0a, 0x40, 0xaa, 0x26, 0xa1, 0x77, 0x3a, 0x57, 0xe8, 0xc7, 0x8b, 0xea, 0x58, 0x0f, - 0x6f, 0x79, 0xa2, 0x77, 0x2d, 0x18, 0x75, 0x7c, 0x3f, 0x6c, 0x38, 0x09, 0xeb, 0x51, 0xa9, 0xa8, - 0xac, 0x10, 0x2d, 0x59, 0x48, 0xcb, 0xf2, 0xc6, 0xbc, 0x20, 0x0f, 0xfc, 0x34, 0x4c, 0x6e, 0x7b, - 0xf4, 0x26, 0xa0, 0x8f, 0x49, 0x35, 0x9b, 0x7f, 0x94, 0x99, 0xac, 0x9a, 0x5d, 0x61, 0x12, 0x52, - 0xd3, 0xb0, 0xd1, 0x9b, 0x46, 0x8e, 0x8f, 0x81, 0x22, 0xb7, 0x25, 0x0d, 0xc5, 0x21, 0x2f, 0xbd, - 0x07, 0xfa, 0xbc, 0x1e, 0xd0, 0x3c, 0x58, 0xe4, 0x3a, 0xb2, 0xa6, 0xbf, 0xe6, 0x04, 0x33, 0x27, - 0x30, 0xe9, 0x9a, 0x5b, 0xa5, 0x08, 0xca, 0xba, 0x98, 0x5f, 0x43, 0x66, 0x8f, 0x4d, 0x37, 0xc7, - 0x0c, 0x02, 0x67, 0xab, 0x40, 0x9f, 0xe7, 0xe1, 0xe6, 0xab, 0xc1, 0x46, 0x28, 0x02, 0xb3, 0x2e, - 0x14, 0xf8, 0xe6, 0x3b, 0x71, 0x42, 0x9a, 0xb4, 0x4c, 0xba, 0x1b, 0xde, 0x14, 0x5c, 0xb0, 0xe2, - 0x87, 0xd6, 0x60, 0x88, 0x5d, 0x8e, 0x89, 0xa7, 0x47, 0x8a, 0xb8, 0xce, 0xcc, 0x3b, 0xa1, 0xa9, - 0x0a, 0xc2, 0xfe, 0xc6, 0x58, 0xf0, 0x42, 0x57, 0xe5, 0xad, 0xf0, 0x78, 0x35, 0xb8, 0x1d, 0x13, - 0x76, 0x2b, 0xbc, 0xb2, 0xf8, 0x91, 0xf4, 0x9a, 0x37, 0x87, 0x77, 0xcd, 0x72, 0x66, 0x94, 0xa4, - 0x9a, 0x88, 0xf8, 0x2f, 0x93, 0xa7, 0x4d, 0x43, 0x91, 0x86, 0x9a, 0xa9, 0xd6, 0xd2, 0xc1, 0xbe, - 0x63, 0x32, 0xc3, 0x59, 0xee, 0xc7, 0xb8, 0x07, 0xce, 0xf8, 0x30, 0x95, 0x5d, 0x92, 0x47, 0xb8, - 0xe3, 0xfe, 0x64, 0x00, 0x26, 0xcc, 0x89, 0x81, 0xe6, 0xa1, 0x22, 0xb4, 0x29, 0x95, 0x48, 0x49, - 0xcd, 0xff, 0x1b, 0x12, 0x81, 0x53, 0x1a, 0x96, 0x52, 0x8a, 0x15, 0xd7, 0xc2, 0x71, 0xd2, 0x94, - 0x52, 0x0a, 0x83, 0x35, 0x2a, 0xaa, 0xb6, 0xae, 0x87, 0x61, 0xa2, 0x04, 0xb7, 0x9a, 0x33, 0x8b, - 0x0c, 0x8a, 0x05, 0x96, 0x0a, 0xec, 0x7b, 0xb4, 0x43, 0xbe, 0xe9, 0x02, 0x54, 0x02, 0xfb, 0x9a, - 0x8e, 0xc4, 0x26, 0x2d, 0xdd, 0x80, 0xc2, 0x98, 0x4d, 0x42, 0xa1, 0x1c, 0xa7, 0xe1, 0x4d, 0x75, - 0x7e, 0x59, 0x4c, 0xe2, 0xd1, 0xe7, 0xe0, 0x11, 0x75, 0xb7, 0x0b, 0x73, 0x97, 0xaa, 0xac, 0x71, - 0xc8, 0xb0, 0x6f, 0x1f, 0x59, 0xea, 0x4e, 0x86, 0x7b, 0x95, 0x47, 0xaf, 0xc2, 0x84, 0x50, 0x6c, - 0x25, 0xc7, 0x61, 0xf3, 0xf4, 0xfb, 0x9a, 0x81, 0xc5, 0x19, 0x6a, 0x54, 0x85, 0x29, 0x0a, 0x61, - 0x1a, 0xa5, 0xe4, 0xc0, 0xef, 0xa8, 0xa9, 0x9d, 0xf9, 0x5a, 0x06, 0x8f, 0x3b, 0x4a, 0xa0, 0x05, - 0x98, 0xe4, 0xba, 0x05, 0xb5, 0xe2, 0xd8, 0x77, 0x10, 0x91, 0x94, 0x6a, 0x11, 0xdc, 0x32, 0xd1, - 0x38, 0x4b, 0x8f, 0x2e, 0xc3, 0x98, 0x13, 0x35, 0xb6, 0xbc, 0x84, 0x34, 0x92, 0x76, 0xc4, 0xf3, - 0x2d, 0x68, 0xe1, 0x03, 0x0b, 0x1a, 0x0e, 0x1b, 0x94, 0xf6, 0x97, 0xe1, 0x64, 0x97, 0xb0, 0x6d, - 0x3a, 0x71, 0x9c, 0x96, 0x27, 0xfb, 0x94, 0x09, 0x54, 0x5a, 0xa8, 0xad, 0xca, 0xde, 0x68, 0x54, - 0x74, 0x76, 0x32, 0x5f, 0xb2, 0x96, 0xe7, 0x50, 0xcd, 0xce, 0x15, 0x89, 0xc0, 0x29, 0x8d, 0xfd, - 0x67, 0x15, 0xd0, 0x5c, 0x2d, 0x05, 0xc2, 0x53, 0x2e, 0xc3, 0x98, 0x4c, 0xdd, 0xa9, 0xa5, 0xcc, - 0x53, 0xdd, 0xbc, 0xa2, 0xe1, 0xb0, 0x41, 0x49, 0xdb, 0x16, 0x48, 0x07, 0x52, 0x36, 0x2c, 0x4a, - 0x79, 0x96, 0x70, 0x4a, 0x83, 0x2e, 0xc0, 0x48, 0x4c, 0xfc, 0x8d, 0xeb, 0x5e, 0x70, 0x4f, 0x4c, - 0x6c, 0x25, 0x95, 0xeb, 0x02, 0x8e, 0x15, 0x05, 0x5a, 0x84, 0x72, 0xdb, 0x73, 0xc5, 0x54, 0x96, - 0x2a, 0x43, 0xf9, 0xf6, 0x6a, 0x75, 0x7f, 0x77, 0xf6, 0x89, 0x5e, 0xb9, 0x4f, 0xa9, 0x31, 0x1d, - 0xcf, 0xd1, 0xe5, 0x47, 0x0b, 0x77, 0x73, 0xaa, 0x0f, 0xf5, 0xe9, 0x54, 0xbf, 0x04, 0x20, 0x7a, - 0x2d, 0xe7, 0x72, 0x39, 0xfd, 0x6a, 0x57, 0x14, 0x06, 0x6b, 0x54, 0xd4, 0x24, 0x6f, 0x44, 0xc4, - 0x91, 0x56, 0x2b, 0x0f, 0x27, 0x1e, 0x39, 0xbc, 0x49, 0xbe, 0x94, 0x65, 0x86, 0x3b, 0xf9, 0xa3, - 0x10, 0x4e, 0xb8, 0x74, 0x21, 0x19, 0x95, 0x56, 0xfa, 0x8f, 0x61, 0xa6, 0x15, 0x56, 0xb3, 0x8c, - 0x70, 0x27, 0x6f, 0xf4, 0x45, 0x98, 0x91, 0xc0, 0xce, 0xdb, 0x9b, 0x6c, 0xb9, 0x94, 0x17, 0xcf, - 0xee, 0xed, 0xce, 0xce, 0x54, 0x7b, 0x52, 0xe1, 0x03, 0x38, 0xa0, 0x37, 0x60, 0x88, 0x1d, 0xc2, - 0xc4, 0xd3, 0xa3, 0x6c, 0xb7, 0x7b, 0xb1, 0x48, 0x24, 0x3c, 0x9d, 0xf5, 0x73, 0xec, 0x28, 0x47, - 0xc4, 0x78, 0xa6, 0x27, 0x5b, 0x0c, 0x88, 0x05, 0x4f, 0xd4, 0x82, 0x51, 0x27, 0x08, 0xc2, 0xc4, - 0xe1, 0x4a, 0xd8, 0x58, 0x11, 0x3d, 0x52, 0xab, 0x62, 0x21, 0x2d, 0xcb, 0xeb, 0x51, 0x81, 0x63, - 0x1a, 0x06, 0xeb, 0x55, 0xa0, 0xfb, 0x30, 0x19, 0xde, 0xa7, 0x02, 0x53, 0x9e, 0x43, 0xc4, 0xd3, - 0xe3, 0x66, 0xc7, 0x72, 0xbc, 0xaa, 0x46, 0x61, 0x4d, 0x92, 0x99, 0x4c, 0x71, 0xb6, 0x16, 0x34, - 0x67, 0xf8, 0x96, 0x27, 0xd2, 0x48, 0xe6, 0xd4, 0xb7, 0xac, 0xbb, 0x92, 0xd9, 0x0d, 0x61, 0x1e, - 0xbd, 0xc8, 0x24, 0xc2, 0x64, 0xe6, 0x86, 0x70, 0x8a, 0xc2, 0x3a, 0xdd, 0xcc, 0x27, 0x60, 0x54, - 0x1b, 0xf8, 0x7e, 0x42, 0x66, 0x67, 0x5e, 0x85, 0xa9, 0xec, 0x80, 0xf6, 0x15, 0x72, 0xfb, 0xbf, - 0x4a, 0x30, 0xd9, 0xe5, 0x90, 0xe7, 0x9e, 0xc7, 0xc2, 0xbe, 0x0d, 0xd1, 0x77, 0xcd, 0x0b, 0x5c, - 0xcc, 0x30, 0xa6, 0x00, 0x2b, 0x15, 0x10, 0x60, 0x52, 0x9a, 0x96, 0x7b, 0x4a, 0x53, 0x21, 0xb4, - 0x06, 0xde, 0x8f, 0xd0, 0x32, 0xf7, 0x89, 0xc1, 0x42, 0xfb, 0xc4, 0x43, 0x10, 0x74, 0xc6, 0x56, - 0x33, 0x5c, 0x60, 0xab, 0xf9, 0x66, 0x09, 0xa6, 0xd2, 0xf0, 0x62, 0x91, 0xcf, 0xf7, 0xe8, 0xcf, - 0x0c, 0xd6, 0x8c, 0x33, 0x83, 0xbc, 0x74, 0xbd, 0x99, 0xf6, 0xf5, 0x3c, 0x3f, 0x78, 0x23, 0x73, - 0x7e, 0xf0, 0x62, 0x9f, 0x7c, 0x0f, 0x3e, 0x4b, 0xf8, 0x4e, 0x09, 0x4e, 0x67, 0x8b, 0x2c, 0xf9, - 0x8e, 0xd7, 0x3c, 0x86, 0xf1, 0xfa, 0x9c, 0x31, 0x5e, 0x2f, 0xf7, 0xd7, 0x2f, 0xd6, 0xc8, 0x9e, - 0x83, 0xe6, 0x64, 0x06, 0xed, 0x13, 0x87, 0x61, 0x7e, 0xf0, 0xc8, 0xfd, 0xbe, 0x05, 0x8f, 0x76, - 0x2d, 0x77, 0x0c, 0x5e, 0xd2, 0xd7, 0x4d, 0x2f, 0xe9, 0x0b, 0x87, 0xe8, 0x5d, 0x0f, 0xb7, 0xe9, - 0xff, 0x28, 0xf5, 0xe8, 0x15, 0xf3, 0x24, 0xdd, 0x82, 0x51, 0xa7, 0xd1, 0x20, 0x71, 0x7c, 0x23, - 0x74, 0x55, 0xae, 0xa1, 0xe7, 0xd9, 0xde, 0x92, 0x82, 0xf7, 0x77, 0x67, 0x67, 0xb2, 0x2c, 0x52, - 0x34, 0xd6, 0x39, 0x98, 0x59, 0xd0, 0x4a, 0x47, 0x94, 0x05, 0xed, 0x12, 0xc0, 0xb6, 0xb2, 0x60, - 0xb3, 0x0e, 0x2a, 0xcd, 0xb6, 0xd5, 0xa8, 0xd0, 0x5f, 0x66, 0x1a, 0x21, 0x8f, 0xa8, 0x18, 0x30, - 0x6f, 0x2a, 0xe6, 0x7c, 0x3f, 0x3d, 0x3a, 0x83, 0x5f, 0x88, 0x54, 0xce, 0x3c, 0xc5, 0xd2, 0xfe, - 0xd7, 0x65, 0xf8, 0xf0, 0x01, 0x93, 0x0e, 0x2d, 0x98, 0x07, 0xa4, 0xcf, 0x65, 0x3d, 0x37, 0x33, - 0x5d, 0x0b, 0x1b, 0xae, 0x9c, 0xcc, 0xb7, 0x2a, 0xbd, 0xef, 0x6f, 0xf5, 0x0d, 0xdd, 0xcf, 0xc6, - 0x03, 0x23, 0xaf, 0x1c, 0x7a, 0x59, 0xfd, 0x6c, 0xfa, 0xc5, 0xbf, 0x66, 0xc1, 0x13, 0x5d, 0x3b, - 0x65, 0x84, 0x63, 0xcc, 0x43, 0xa5, 0x41, 0x81, 0xda, 0x0d, 0x96, 0xf4, 0xea, 0x98, 0x44, 0xe0, - 0x94, 0xc6, 0x88, 0xba, 0x28, 0xe5, 0x46, 0x5d, 0xfc, 0xae, 0x05, 0xa7, 0xb2, 0x8d, 0x38, 0x06, - 0x99, 0x53, 0x37, 0x65, 0xce, 0x5c, 0x7f, 0x9f, 0xbe, 0x87, 0xb8, 0xf9, 0xd5, 0x71, 0x38, 0xd3, - 0xb1, 0x63, 0xf1, 0x51, 0xfc, 0x39, 0x0b, 0x4e, 0x6c, 0x32, 0xcd, 0x5b, 0xbb, 0x26, 0x24, 0xfa, - 0x95, 0x73, 0xb7, 0xea, 0xc0, 0xdb, 0x45, 0xdc, 0x8e, 0xe8, 0x20, 0xc1, 0x9d, 0x95, 0xa1, 0xaf, - 0x5b, 0x70, 0xca, 0xb9, 0x1f, 0x77, 0xbc, 0x14, 0x21, 0xa6, 0xd1, 0xab, 0x39, 0x4e, 0xae, 0x9c, - 0x37, 0x26, 0x16, 0xa7, 0xf7, 0x76, 0x67, 0x4f, 0x75, 0xa3, 0xc2, 0x5d, 0x6b, 0xa5, 0xdf, 0x77, - 0x4b, 0x5c, 0x43, 0x28, 0x76, 0xe1, 0xad, 0xdb, 0xa5, 0x05, 0x2e, 0x92, 0x24, 0x06, 0x2b, 0x8e, - 0xe8, 0x2d, 0xa8, 0x6c, 0xca, 0x9b, 0x41, 0x59, 0x91, 0xd7, 0x63, 0x98, 0xbb, 0x5d, 0x24, 0xe2, - 0xa1, 0xf1, 0x0a, 0x85, 0x53, 0xa6, 0xe8, 0x2a, 0x94, 0x83, 0x8d, 0x58, 0xdc, 0xc1, 0xcd, 0x0b, - 0xb6, 0x31, 0x43, 0x9c, 0xf8, 0xb5, 0xc5, 0x9b, 0x2b, 0x75, 0x4c, 0x59, 0x50, 0x4e, 0xd1, 0xba, - 0x2b, 0xbc, 0xbb, 0x39, 0x9c, 0xf0, 0x62, 0xb5, 0x93, 0x13, 0x5e, 0xac, 0x62, 0xca, 0x02, 0xd5, - 0x60, 0x90, 0x5d, 0x72, 0x10, 0xae, 0xdb, 0x9c, 0x8b, 0xda, 0x1d, 0x57, 0x39, 0x78, 0xa2, 0x3d, - 0x06, 0xc6, 0x9c, 0x11, 0x5a, 0x83, 0xa1, 0x06, 0x4b, 0x8a, 0x2e, 0xec, 0xea, 0xbc, 0x14, 0x06, - 0x1d, 0x09, 0xd4, 0xf9, 0x11, 0x13, 0x87, 0x63, 0xc1, 0x8b, 0x71, 0x25, 0xad, 0xad, 0x8d, 0x58, - 0x18, 0xce, 0x79, 0x5c, 0x3b, 0xd2, 0xdb, 0x0b, 0xae, 0x0c, 0x8e, 0x05, 0x2f, 0x54, 0x85, 0xd2, - 0x46, 0x43, 0xe4, 0xeb, 0xcc, 0x71, 0xd9, 0x9a, 0x77, 0x50, 0x17, 0x87, 0xf6, 0x76, 0x67, 0x4b, - 0x2b, 0x4b, 0xb8, 0xb4, 0xd1, 0x40, 0xaf, 0xc3, 0xf0, 0x06, 0xbf, 0x55, 0x28, 0x72, 0x73, 0x5e, - 0xcc, 0xbb, 0xfa, 0xd8, 0x71, 0x05, 0x91, 0x5f, 0x7f, 0x10, 0x08, 0x2c, 0xd9, 0xb1, 0xb4, 0x65, - 0xea, 0x9e, 0xa4, 0x48, 0xce, 0x39, 0xd7, 0xdf, 0xbd, 0x4a, 0x61, 0x4f, 0x2a, 0x28, 0xd6, 0x38, - 0xd2, 0x39, 0xef, 0xc8, 0xf7, 0x1d, 0x58, 0x62, 0xce, 0xdc, 0x39, 0xdf, 0xf5, 0x39, 0x08, 0x3e, - 0xe7, 0x15, 0x0a, 0xa7, 0x4c, 0x51, 0x1b, 0xc6, 0xb7, 0xe3, 0xd6, 0x16, 0x91, 0x4b, 0x9f, 0x65, - 0xeb, 0x1c, 0xbd, 0xf4, 0xa9, 0x9c, 0x14, 0xac, 0xa2, 0x88, 0x17, 0x25, 0x6d, 0xc7, 0xef, 0x90, - 0x60, 0x2c, 0x4f, 0xd4, 0x1d, 0x9d, 0x2d, 0x36, 0x6b, 0xa1, 0x9f, 0xe4, 0xed, 0x76, 0xb8, 0xbe, - 0x93, 0x10, 0x91, 0xcd, 0x33, 0xe7, 0x93, 0xbc, 0xc6, 0x89, 0x3b, 0x3f, 0x89, 0x40, 0x60, 0xc9, - 0x4e, 0x0d, 0x19, 0x93, 0xc6, 0x53, 0x85, 0x87, 0xac, 0xa3, 0x0f, 0xe9, 0x90, 0x31, 0xe9, 0x9b, - 0x32, 0x65, 0x52, 0xb7, 0xb5, 0x15, 0x26, 0x61, 0x90, 0x91, 0xfd, 0x27, 0x8a, 0x48, 0xdd, 0x5a, - 0x97, 0x92, 0x9d, 0x52, 0xb7, 0x1b, 0x15, 0xee, 0x5a, 0xab, 0xfd, 0x47, 0x83, 0x9d, 0xdb, 0x2d, - 0x53, 0x86, 0xff, 0x46, 0xe7, 0xb9, 0xe3, 0x67, 0xfa, 0xb7, 0xf9, 0x1e, 0xe2, 0x09, 0xe4, 0xd7, - 0x2d, 0x38, 0xd3, 0xea, 0xba, 0x99, 0x8a, 0x0d, 0xab, 0x5f, 0xd3, 0x91, 0x0f, 0x98, 0x4a, 0x55, - 0xdb, 0x1d, 0x8f, 0x7b, 0xd4, 0x99, 0x55, 0x40, 0xcb, 0xef, 0x5b, 0x01, 0xbd, 0x0b, 0x23, 0x4c, - 0x67, 0x4a, 0xf3, 0x6a, 0xf4, 0x99, 0x82, 0x82, 0x6d, 0x7d, 0x4b, 0x82, 0x05, 0x56, 0xcc, 0xe8, - 0xc0, 0x3d, 0x9e, 0xed, 0x04, 0x26, 0x0c, 0x2d, 0xd2, 0xb9, 0x72, 0x5f, 0xc7, 0x8a, 0x18, 0x89, - 0xc7, 0x6b, 0x07, 0x11, 0xef, 0xe7, 0x11, 0xe0, 0x83, 0x2b, 0x3b, 0x4e, 0x85, 0xf6, 0x9f, 0x58, - 0x5d, 0xf4, 0x2f, 0x6e, 0x82, 0x7c, 0xca, 0x34, 0x41, 0x9e, 0xce, 0x9a, 0x20, 0x1d, 0x6e, 0x03, - 0xc3, 0xfa, 0x28, 0x9e, 0x98, 0xb1, 0x68, 0xc2, 0x0f, 0xdb, 0x87, 0x73, 0x79, 0x8b, 0x9b, 0x45, - 0xf8, 0xb8, 0xea, 0xb8, 0x2c, 0x8d, 0xf0, 0x71, 0x57, 0xab, 0x98, 0x61, 0x8a, 0xde, 0x19, 0xb7, - 0x7f, 0xbe, 0x04, 0xe5, 0x5a, 0xe8, 0x1e, 0x83, 0x1b, 0xe4, 0x8a, 0xe1, 0x06, 0x79, 0x2a, 0xf7, - 0x75, 0xab, 0x9e, 0x4e, 0x8f, 0x5b, 0x19, 0xa7, 0xc7, 0x47, 0xf3, 0x59, 0x1d, 0xec, 0xe2, 0xf8, - 0x6e, 0x19, 0xf4, 0xf7, 0xb9, 0xd0, 0x7f, 0x39, 0x4c, 0xe0, 0x67, 0xb9, 0xd8, 0x93, 0x5d, 0xa2, - 0x0e, 0x16, 0x22, 0x24, 0x2f, 0x89, 0xfd, 0xcc, 0xc6, 0x7f, 0xde, 0x25, 0xde, 0xe6, 0x56, 0x42, - 0xdc, 0x6c, 0xc7, 0x8e, 0x2f, 0xfe, 0xf3, 0x4f, 0x2d, 0x98, 0xcc, 0xd4, 0x8e, 0xfc, 0x6e, 0xf7, - 0x4c, 0x0e, 0xe9, 0xd8, 0x38, 0x91, 0x7b, 0x31, 0x65, 0x0e, 0x40, 0xf9, 0xa7, 0xa5, 0xfb, 0x81, - 0xe9, 0x62, 0xca, 0x81, 0x1d, 0x63, 0x8d, 0x02, 0xbd, 0x04, 0xa3, 0x49, 0xd8, 0x0a, 0xfd, 0x70, - 0x73, 0xe7, 0x1a, 0x91, 0xd9, 0x0c, 0x94, 0x6f, 0x7f, 0x2d, 0x45, 0x61, 0x9d, 0xce, 0xfe, 0x5e, - 0x19, 0xb2, 0xaf, 0xbb, 0xfd, 0xc5, 0x3c, 0xfd, 0xd9, 0x99, 0xa7, 0x7f, 0x60, 0xc1, 0x14, 0xad, - 0x9d, 0x05, 0x78, 0xc8, 0x38, 0x4d, 0x95, 0x25, 0xde, 0x3a, 0x20, 0x4b, 0xfc, 0xd3, 0x54, 0xda, - 0xb9, 0x61, 0x3b, 0x11, 0x2e, 0x13, 0x4d, 0x88, 0x51, 0x28, 0x16, 0x58, 0x41, 0x47, 0xa2, 0x48, - 0x5c, 0x68, 0xd1, 0xe9, 0x48, 0x14, 0x61, 0x81, 0x95, 0x49, 0xe4, 0x07, 0x7a, 0x24, 0x91, 0x67, - 0xf9, 0x80, 0x44, 0x60, 0x81, 0x50, 0x07, 0xb4, 0x7c, 0x40, 0x32, 0xe2, 0x20, 0xa5, 0xb1, 0xbf, - 0x5d, 0x86, 0xb1, 0x5a, 0xe8, 0xa6, 0x01, 0xd8, 0x2f, 0x1a, 0x01, 0xd8, 0xe7, 0x32, 0x01, 0xd8, - 0x53, 0x3a, 0xed, 0xc3, 0x89, 0xbf, 0x16, 0x79, 0xa3, 0xd8, 0x33, 0x07, 0x87, 0x8c, 0xbd, 0x36, - 0xf2, 0x46, 0x29, 0x46, 0xd8, 0xe4, 0xfb, 0xe7, 0x29, 0xe6, 0xfa, 0xff, 0x58, 0x30, 0x51, 0x0b, - 0x5d, 0x3a, 0x41, 0xff, 0x3c, 0xcd, 0x46, 0x3d, 0xdb, 0xd4, 0xd0, 0x01, 0xd9, 0xa6, 0xfe, 0x85, - 0x05, 0xc3, 0xb5, 0xd0, 0x3d, 0x06, 0x77, 0xe2, 0x8a, 0xe9, 0x4e, 0x7c, 0x22, 0x57, 0xf2, 0xf6, - 0xf0, 0x20, 0xfe, 0x46, 0x19, 0xc6, 0x69, 0x8b, 0xc3, 0x4d, 0xf9, 0xbd, 0x8c, 0xb1, 0xb1, 0x0a, - 0x8c, 0x0d, 0x55, 0x09, 0x43, 0xdf, 0x0f, 0xef, 0x67, 0xbf, 0xdd, 0x0a, 0x83, 0x62, 0x81, 0x45, - 0x17, 0x60, 0xa4, 0x15, 0x91, 0x6d, 0x2f, 0x6c, 0xc7, 0xd9, 0xcb, 0x71, 0x35, 0x01, 0xc7, 0x8a, - 0x02, 0xbd, 0x08, 0x63, 0xb1, 0x17, 0x34, 0x88, 0x0c, 0x3b, 0x18, 0x60, 0x61, 0x07, 0x3c, 0xb1, - 0x9f, 0x06, 0xc7, 0x06, 0x15, 0xba, 0x0b, 0x15, 0xf6, 0x9f, 0xad, 0xa0, 0xfe, 0xb3, 0xc0, 0xf3, - 0x6c, 0x56, 0x92, 0x01, 0x4e, 0x79, 0xa1, 0x4b, 0x00, 0x89, 0x0c, 0x90, 0x88, 0x45, 0x56, 0x0e, - 0xa5, 0x97, 0xaa, 0xd0, 0x89, 0x18, 0x6b, 0x54, 0xe8, 0x39, 0xa8, 0x24, 0x8e, 0xe7, 0x5f, 0xf7, - 0x02, 0x12, 0x8b, 0x00, 0x13, 0x91, 0xa4, 0x57, 0x00, 0x71, 0x8a, 0xa7, 0xfb, 0x3d, 0xbb, 0x9a, - 0xcb, 0x5f, 0x98, 0x18, 0x61, 0xd4, 0x6c, 0xbf, 0xbf, 0xae, 0xa0, 0x58, 0xa3, 0xb0, 0x2f, 0xc3, - 0xe9, 0x5a, 0xe8, 0xd6, 0xc2, 0x28, 0x59, 0x09, 0xa3, 0xfb, 0x4e, 0xe4, 0xca, 0xef, 0x37, 0x2b, - 0x73, 0xc3, 0xd2, 0x3d, 0x79, 0x90, 0x7b, 0xd8, 0x8c, 0x5c, 0xaf, 0x2f, 0xb0, 0x1d, 0xbf, 0xcf, - 0xc8, 0xfe, 0x1f, 0x95, 0x00, 0xd5, 0x58, 0x08, 0x87, 0xf1, 0x20, 0xc9, 0x16, 0x4c, 0xc4, 0xe4, - 0xba, 0x17, 0xb4, 0x1f, 0x08, 0x56, 0xc5, 0xae, 0x52, 0xd4, 0x97, 0xf5, 0x32, 0xfc, 0x1e, 0xab, - 0x09, 0xc3, 0x19, 0xbe, 0x74, 0x30, 0xa3, 0x76, 0xb0, 0x10, 0xdf, 0x8e, 0x49, 0x24, 0x1e, 0xe0, - 0x60, 0x83, 0x89, 0x25, 0x10, 0xa7, 0x78, 0x3a, 0x79, 0xd8, 0x9f, 0x9b, 0x61, 0x80, 0xc3, 0x30, - 0x91, 0xd3, 0x8d, 0x25, 0x64, 0xd7, 0xe0, 0xd8, 0xa0, 0x42, 0x2b, 0x80, 0xe2, 0x76, 0xab, 0xe5, - 0xb3, 0x53, 0x31, 0xc7, 0xbf, 0x12, 0x85, 0xed, 0x16, 0x8f, 0xe2, 0x15, 0xb9, 0xcc, 0xeb, 0x1d, - 0x58, 0xdc, 0xa5, 0x04, 0x15, 0x16, 0x1b, 0x31, 0xfb, 0x2d, 0xee, 0xe9, 0x72, 0xef, 0x5c, 0x9d, - 0x81, 0xb0, 0xc4, 0xd9, 0x5f, 0x65, 0x1b, 0x1c, 0x7b, 0x19, 0x21, 0x69, 0x47, 0x04, 0x35, 0x61, - 0xbc, 0xc5, 0x36, 0xb1, 0x24, 0x0a, 0x7d, 0x9f, 0x48, 0xfd, 0xf2, 0x70, 0x41, 0x24, 0x3c, 0x17, - 0xba, 0xce, 0x0e, 0x9b, 0xdc, 0xed, 0x1f, 0x8f, 0x32, 0x59, 0x25, 0x0e, 0x26, 0x87, 0x45, 0xa8, - 0xa8, 0xd0, 0xe4, 0x3e, 0x52, 0xe4, 0x8d, 0xa3, 0x74, 0x1f, 0x10, 0x81, 0xa7, 0x58, 0x72, 0x41, - 0x5f, 0x60, 0x81, 0xd0, 0x5c, 0x40, 0x14, 0x7f, 0xa2, 0x8c, 0xd3, 0x1b, 0x41, 0xd0, 0x82, 0x05, - 0xd6, 0xd8, 0xa1, 0xeb, 0x30, 0x2e, 0x12, 0xe9, 0x0b, 0xf7, 0x42, 0xd9, 0x30, 0xb1, 0xc7, 0xb1, - 0x8e, 0xdc, 0xcf, 0x02, 0xb0, 0x59, 0x18, 0x6d, 0xc2, 0xe3, 0xda, 0x43, 0x31, 0x5d, 0x02, 0x9e, - 0xb8, 0xe4, 0x79, 0x62, 0x6f, 0x77, 0xf6, 0xf1, 0xb5, 0x83, 0x08, 0xf1, 0xc1, 0x7c, 0xd0, 0x2d, - 0x38, 0xed, 0x34, 0x12, 0x6f, 0x9b, 0x54, 0x89, 0xe3, 0xfa, 0x5e, 0x40, 0xcc, 0xcb, 0xdc, 0x8f, - 0xee, 0xed, 0xce, 0x9e, 0x5e, 0xe8, 0x46, 0x80, 0xbb, 0x97, 0x43, 0x9f, 0x82, 0x8a, 0x1b, 0xc4, - 0x62, 0x0c, 0x86, 0x8c, 0x77, 0x91, 0x2a, 0xd5, 0x9b, 0x75, 0xd5, 0xff, 0xf4, 0x0f, 0x4e, 0x0b, - 0xa0, 0xb7, 0xf9, 0x03, 0xd7, 0xca, 0x9a, 0xe1, 0xef, 0x71, 0xbd, 0x5c, 0xc8, 0x7e, 0x36, 0x2e, - 0x59, 0x70, 0xcf, 0x9b, 0x0a, 0x2c, 0x34, 0xee, 0x5f, 0x18, 0x55, 0xa0, 0xcf, 0x02, 0x8a, 0x49, - 0xb4, 0xed, 0x35, 0xc8, 0x42, 0x83, 0x65, 0xc3, 0x64, 0x47, 0x7c, 0x23, 0x46, 0x74, 0x3d, 0xaa, - 0x77, 0x50, 0xe0, 0x2e, 0xa5, 0xd0, 0x55, 0x2a, 0x79, 0x74, 0xa8, 0x88, 0x03, 0x95, 0x8a, 0xe1, - 0x74, 0x95, 0xb4, 0x22, 0xd2, 0x70, 0x12, 0xe2, 0x9a, 0x1c, 0x71, 0xa6, 0x1c, 0xdd, 0x97, 0x54, - 0xc2, 0x73, 0x30, 0xa3, 0x17, 0x3b, 0x93, 0x9e, 0x53, 0x3b, 0x6b, 0x2b, 0x8c, 0x93, 0x9b, 0x24, - 0xb9, 0x1f, 0x46, 0xf7, 0x98, 0xc7, 0x7e, 0x44, 0x4b, 0x2e, 0x96, 0xa2, 0xb0, 0x4e, 0x47, 0x75, - 0x28, 0x76, 0x54, 0xb4, 0x5a, 0x65, 0x7e, 0xf8, 0x91, 0x74, 0xed, 0x5c, 0xe5, 0x60, 0x2c, 0xf1, - 0x92, 0x74, 0xb5, 0xb6, 0xc4, 0x7c, 0xea, 0x19, 0xd2, 0xd5, 0xda, 0x12, 0x96, 0x78, 0x14, 0x76, - 0xbe, 0x3e, 0x35, 0x51, 0xe4, 0x7c, 0xa3, 0x53, 0x92, 0x17, 0x7c, 0x80, 0xea, 0x01, 0x4c, 0xa9, - 0x17, 0xb0, 0x78, 0xd6, 0xc7, 0x78, 0x7a, 0xb2, 0xc8, 0xf3, 0xda, 0x5d, 0x93, 0x47, 0xaa, 0xc0, - 0xdf, 0xd5, 0x0c, 0x4f, 0xdc, 0x51, 0x8b, 0x91, 0x94, 0x60, 0x2a, 0x37, 0x89, 0xfd, 0x3c, 0x54, - 0xe2, 0xf6, 0xba, 0x1b, 0x36, 0x1d, 0x2f, 0x60, 0x8e, 0x6f, 0xfd, 0xb1, 0x68, 0x89, 0xc0, 0x29, - 0x0d, 0xaa, 0xc1, 0x88, 0x23, 0xdf, 0x49, 0x47, 0x45, 0x2e, 0x2d, 0xab, 0x07, 0xd2, 0x99, 0x57, - 0x54, 0xbd, 0x8c, 0xae, 0xb8, 0xa0, 0x57, 0x60, 0x5c, 0xdc, 0xba, 0x21, 0x11, 0x6b, 0xf5, 0x49, - 0x33, 0xe4, 0xbb, 0x2e, 0x91, 0x6c, 0x82, 0x99, 0xb4, 0x33, 0x9f, 0x86, 0x13, 0x1d, 0x4b, 0xac, - 0xaf, 0xc0, 0xb9, 0xff, 0x34, 0x00, 0x15, 0xe5, 0xa1, 0x42, 0xf3, 0xa6, 0x33, 0xf2, 0xd1, 0xac, - 0x33, 0x72, 0x84, 0x2a, 0x04, 0xba, 0xff, 0xf1, 0x8b, 0x5d, 0x1e, 0xab, 0x7d, 0x36, 0x77, 0x4e, - 0x15, 0xbf, 0xc7, 0xd2, 0xc7, 0x93, 0xbe, 0xa9, 0x95, 0x32, 0x70, 0xa0, 0x95, 0x52, 0xf0, 0x5d, - 0x2a, 0x6a, 0x8f, 0xb4, 0x42, 0x77, 0xb5, 0x96, 0x7d, 0x76, 0xa5, 0x46, 0x81, 0x98, 0xe3, 0x98, - 0x1e, 0x49, 0xf7, 0x08, 0xa6, 0x47, 0x0e, 0x1f, 0x52, 0x8f, 0x94, 0x0c, 0x70, 0xca, 0x0b, 0x6d, - 0xc3, 0x89, 0x86, 0xf9, 0x8a, 0x8e, 0xba, 0x9d, 0xf2, 0x7c, 0x1f, 0xaf, 0xd8, 0xb4, 0xb5, 0x17, - 0x03, 0x96, 0xb2, 0xfc, 0x70, 0x67, 0x15, 0xe8, 0x15, 0x18, 0x79, 0x3b, 0x8c, 0x97, 0x7c, 0x27, - 0x8e, 0x85, 0xa0, 0x94, 0x37, 0x01, 0x46, 0x5e, 0xbb, 0x55, 0x67, 0xf0, 0xfd, 0xdd, 0xd9, 0xd1, - 0x5a, 0xe8, 0xca, 0xbf, 0x58, 0x15, 0xb0, 0x7f, 0x87, 0x7b, 0xc3, 0x84, 0x7d, 0x4c, 0xe2, 0xb6, - 0x7f, 0x1c, 0x89, 0xb3, 0x6f, 0x19, 0xa6, 0xfb, 0x43, 0xf0, 0xc7, 0xfe, 0x67, 0x8b, 0xf9, 0x63, - 0xd7, 0x48, 0xb3, 0xe5, 0x3b, 0xc9, 0x71, 0x84, 0x34, 0x7e, 0x01, 0x46, 0x12, 0x51, 0x5b, 0xb1, - 0xac, 0xdf, 0x5a, 0xf3, 0x98, 0x9f, 0x5a, 0xc9, 0x38, 0x09, 0xc5, 0x8a, 0xa1, 0xfd, 0xef, 0xf8, - 0x57, 0x91, 0x98, 0x63, 0x30, 0x3a, 0x6f, 0x9a, 0x46, 0xe7, 0x33, 0x85, 0xfb, 0xd2, 0xc3, 0xf8, - 0xfc, 0x9e, 0xd9, 0x03, 0xa6, 0x8a, 0xfe, 0xec, 0x1c, 0x18, 0xd8, 0xb7, 0xc0, 0x7c, 0x6d, 0x08, - 0xbd, 0xca, 0x83, 0x84, 0xb9, 0x90, 0xbd, 0xd0, 0x77, 0x80, 0xb0, 0xfd, 0xeb, 0x25, 0x38, 0xc5, - 0x5d, 0x86, 0x0b, 0xdb, 0xa1, 0xe7, 0xd6, 0x42, 0x57, 0x84, 0x4c, 0xbb, 0x30, 0xd6, 0xd2, 0x4c, - 0x85, 0x62, 0xf9, 0x20, 0x74, 0xe3, 0x22, 0x55, 0xcf, 0x74, 0x28, 0x36, 0xb8, 0xd2, 0x5a, 0xc8, - 0xb6, 0xd7, 0x50, 0x1e, 0xa8, 0x52, 0xdf, 0x72, 0x4f, 0xd5, 0xb2, 0xac, 0xf1, 0xc1, 0x06, 0xd7, - 0x23, 0x48, 0x50, 0x6f, 0xff, 0x23, 0x0b, 0x1e, 0xe9, 0x91, 0x33, 0x82, 0x56, 0x77, 0x9f, 0xb9, - 0x69, 0xc5, 0x73, 0x56, 0xaa, 0x3a, 0xee, 0xbc, 0xc5, 0x02, 0x8b, 0xd6, 0x01, 0xb8, 0xf3, 0x95, - 0x3d, 0x6e, 0x5c, 0x2a, 0x12, 0x2b, 0xd1, 0x71, 0x37, 0x5b, 0xbb, 0xb6, 0xab, 0x9e, 0x33, 0xd6, - 0xb8, 0xda, 0xdf, 0x2a, 0xc3, 0x20, 0x7f, 0x35, 0xb5, 0x06, 0xc3, 0x5b, 0x3c, 0x73, 0x65, 0x7f, - 0x89, 0x33, 0x53, 0x55, 0x90, 0x03, 0xb0, 0x64, 0x83, 0x6e, 0xc0, 0x49, 0xaa, 0x77, 0x78, 0x8e, - 0x5f, 0x25, 0xbe, 0xb3, 0x23, 0x6d, 0x0b, 0x9e, 0xb5, 0x5c, 0x26, 0xd8, 0x3d, 0xb9, 0xda, 0x49, - 0x82, 0xbb, 0x95, 0x43, 0xaf, 0x76, 0xa4, 0x9c, 0xe2, 0x19, 0x41, 0xd5, 0x6d, 0xaf, 0x83, 0xd3, - 0x4e, 0x51, 0xed, 0xa7, 0xd5, 0x61, 0x45, 0x69, 0x8f, 0x53, 0x9a, 0x96, 0x93, 0x49, 0x8b, 0xaa, - 0x30, 0x15, 0xb7, 0xd9, 0xc9, 0xf5, 0xda, 0x56, 0x44, 0xe2, 0xad, 0xd0, 0x77, 0xc5, 0xbb, 0x6a, - 0x4a, 0x63, 0xac, 0x67, 0xf0, 0xb8, 0xa3, 0x04, 0xe5, 0xb2, 0xe1, 0x78, 0x7e, 0x3b, 0x22, 0x29, - 0x97, 0x21, 0x93, 0xcb, 0x4a, 0x06, 0x8f, 0x3b, 0x4a, 0xd8, 0x7f, 0x62, 0xc1, 0xc9, 0x2e, 0xe1, - 0x1d, 0x3c, 0xe8, 0x70, 0xd3, 0x8b, 0x13, 0x95, 0x9b, 0x5a, 0x0b, 0x3a, 0xe4, 0x70, 0xac, 0x28, - 0xe8, 0x2c, 0xe4, 0xa6, 0x71, 0xf6, 0xd8, 0x54, 0x1c, 0x60, 0x0b, 0x6c, 0x7f, 0x09, 0xa4, 0xd0, - 0x39, 0x18, 0x68, 0xc7, 0x24, 0x92, 0xcf, 0x34, 0x49, 0x11, 0xc5, 0xbc, 0x21, 0x0c, 0x43, 0x95, - 0x9d, 0x4d, 0xe5, 0x88, 0xd0, 0x94, 0x1d, 0xee, 0x8a, 0xe0, 0x38, 0xfb, 0x1b, 0x65, 0x98, 0xcc, - 0x84, 0x79, 0xd1, 0x86, 0x34, 0xc3, 0xc0, 0x4b, 0x42, 0x95, 0xb4, 0x88, 0xbf, 0x0c, 0x43, 0x5a, - 0x5b, 0x37, 0x04, 0x1c, 0x2b, 0x0a, 0xf4, 0xb4, 0xf9, 0x84, 0x75, 0xda, 0xe6, 0xc5, 0xaa, 0xf1, - 0x9a, 0x5d, 0xd1, 0x7c, 0xf9, 0x4f, 0xc2, 0x40, 0x2b, 0x54, 0x2f, 0x93, 0xaa, 0x49, 0x8f, 0x17, - 0xab, 0xb5, 0x30, 0xf4, 0x31, 0x43, 0xa2, 0xa7, 0x44, 0xef, 0x33, 0xfe, 0x5b, 0xec, 0xb8, 0x61, - 0xac, 0x0d, 0xc1, 0x33, 0x30, 0x7c, 0x8f, 0xec, 0x44, 0x5e, 0xb0, 0x99, 0xf5, 0x5e, 0x5f, 0xe3, - 0x60, 0x2c, 0xf1, 0x66, 0x4e, 0xfc, 0xe1, 0x23, 0xce, 0x89, 0x3f, 0x92, 0x1b, 0xa9, 0xfa, 0x1b, - 0x16, 0x4c, 0xb2, 0x4c, 0x7e, 0xe2, 0x22, 0xad, 0x17, 0x06, 0xc7, 0xb0, 0x3d, 0x3e, 0x09, 0x83, - 0x11, 0xad, 0x34, 0x9b, 0xd6, 0x9a, 0xb5, 0x04, 0x73, 0x1c, 0x7a, 0x0c, 0x06, 0x58, 0x13, 0xe8, - 0x67, 0x1c, 0xe3, 0x69, 0x82, 0xab, 0x4e, 0xe2, 0x60, 0x06, 0x65, 0xb7, 0x22, 0x30, 0x69, 0xf9, - 0x1e, 0x6f, 0x74, 0xea, 0x74, 0xfa, 0xa0, 0xdd, 0x8a, 0xe8, 0xda, 0xc8, 0x87, 0x75, 0x2b, 0xa2, - 0x3b, 0xf3, 0x83, 0x55, 0xd4, 0xff, 0x59, 0x82, 0xb3, 0x5d, 0xcb, 0xa5, 0xe7, 0x60, 0x2b, 0xc6, - 0x39, 0xd8, 0xa5, 0xcc, 0x39, 0x98, 0x7d, 0x70, 0xe9, 0x87, 0x73, 0x32, 0xd6, 0xfd, 0xc0, 0xaa, - 0x7c, 0x8c, 0x07, 0x56, 0x03, 0x45, 0x55, 0x87, 0xc1, 0x1c, 0xd5, 0xe1, 0xf7, 0x2d, 0x78, 0xb4, - 0xeb, 0x90, 0x7d, 0xe0, 0xae, 0xa1, 0x74, 0x6d, 0x65, 0x0f, 0xc5, 0xfa, 0x97, 0xcb, 0x3d, 0x7a, - 0xc5, 0x54, 0xec, 0xf3, 0x54, 0x0a, 0x31, 0x64, 0x2c, 0x94, 0xa2, 0x31, 0x2e, 0x81, 0x38, 0x0c, - 0x2b, 0x2c, 0x8a, 0xb5, 0x6b, 0x1c, 0xbc, 0x91, 0xcb, 0x87, 0x5c, 0x50, 0x73, 0xa6, 0xb7, 0x50, - 0xbf, 0x1f, 0x9c, 0xb9, 0xdc, 0x81, 0xee, 0x6a, 0x46, 0x53, 0xf9, 0x30, 0x46, 0xd3, 0x58, 0x77, - 0x83, 0x09, 0x2d, 0xc0, 0x64, 0xd3, 0x0b, 0xd8, 0x53, 0x7a, 0xa6, 0x56, 0xa2, 0xee, 0xd2, 0xdd, - 0x30, 0xd1, 0x38, 0x4b, 0x3f, 0xf3, 0x0a, 0x8c, 0x1f, 0xde, 0x27, 0xf3, 0x5e, 0x19, 0x3e, 0x7c, - 0x80, 0x50, 0xe0, 0xbb, 0x83, 0xf1, 0x5d, 0xb4, 0xdd, 0xa1, 0xe3, 0xdb, 0xd4, 0xe0, 0xd4, 0x46, - 0xdb, 0xf7, 0x77, 0x58, 0x14, 0x09, 0x71, 0x25, 0x85, 0xd0, 0xf8, 0xd4, 0x23, 0xb7, 0x2b, 0x5d, - 0x68, 0x70, 0xd7, 0x92, 0xe8, 0xb3, 0x80, 0xc2, 0x75, 0x96, 0xeb, 0xd2, 0x4d, 0xef, 0x3f, 0xb3, - 0x4f, 0x50, 0x4e, 0x97, 0xea, 0xad, 0x0e, 0x0a, 0xdc, 0xa5, 0x14, 0xd5, 0xff, 0xd8, 0xfb, 0xb8, - 0xaa, 0x59, 0x19, 0xfd, 0x0f, 0xeb, 0x48, 0x6c, 0xd2, 0xa2, 0x2b, 0x70, 0xc2, 0xd9, 0x76, 0x3c, - 0x9e, 0xbd, 0x46, 0x32, 0xe0, 0x0a, 0xa0, 0xf2, 0x7a, 0x2c, 0x64, 0x09, 0x70, 0x67, 0x19, 0xd4, - 0x32, 0xdc, 0x58, 0x3c, 0xb7, 0xf5, 0xa7, 0x0e, 0x31, 0x83, 0x0b, 0x3b, 0xb6, 0xec, 0x1f, 0x5b, - 0x74, 0xeb, 0xeb, 0xf2, 0xea, 0x9a, 0xf1, 0x5c, 0xbb, 0x76, 0xb5, 0xa5, 0xf3, 0xb9, 0x76, 0xee, - 0x0f, 0x34, 0x68, 0xf9, 0xd4, 0x88, 0xd3, 0x60, 0x54, 0x43, 0xdb, 0x14, 0x37, 0xba, 0x14, 0x05, - 0xba, 0x0b, 0xc3, 0xae, 0xb7, 0xed, 0xc5, 0x61, 0x54, 0xe0, 0x81, 0xe4, 0x8e, 0x00, 0xc7, 0x54, - 0x5a, 0x56, 0x39, 0x13, 0x2c, 0xb9, 0xd9, 0xbf, 0x52, 0x82, 0x71, 0x59, 0xdf, 0x6b, 0xed, 0x30, - 0x71, 0x8e, 0x61, 0x43, 0x7f, 0xcd, 0xd8, 0xd0, 0xe7, 0x8b, 0x5d, 0x6f, 0x63, 0x8d, 0xeb, 0xb9, - 0x91, 0x7f, 0x2e, 0xb3, 0x91, 0x5f, 0xec, 0x87, 0xe9, 0xc1, 0x1b, 0xf8, 0x7f, 0xb0, 0xe0, 0x84, - 0x41, 0x7f, 0x0c, 0xfb, 0x48, 0xcd, 0xdc, 0x47, 0x9e, 0xeb, 0xa3, 0x37, 0x3d, 0xf6, 0x8f, 0x6f, - 0x95, 0x32, 0xbd, 0x60, 0xfb, 0xc6, 0x57, 0x60, 0x60, 0xcb, 0x89, 0xdc, 0x62, 0x69, 0xdc, 0x3a, - 0x8a, 0xcf, 0x5d, 0x75, 0x22, 0x97, 0x4b, 0xff, 0x0b, 0xea, 0x4d, 0x18, 0x27, 0x72, 0x73, 0x23, - 0xb4, 0x59, 0xa5, 0xe8, 0x32, 0x0c, 0xc5, 0x8d, 0xb0, 0xa5, 0x62, 0xe1, 0xce, 0xf1, 0xf7, 0x62, - 0x28, 0x64, 0x7f, 0x77, 0x16, 0x99, 0xd5, 0x51, 0x30, 0x16, 0xf4, 0x33, 0x04, 0x2a, 0xaa, 0xea, - 0x23, 0x8c, 0x05, 0x7e, 0xaf, 0x0c, 0x27, 0xbb, 0xcc, 0x14, 0xf4, 0x55, 0x63, 0xd4, 0x5e, 0xe9, - 0x7b, 0xaa, 0xbd, 0xcf, 0x71, 0xfb, 0x2a, 0xb3, 0x92, 0x5c, 0x31, 0x37, 0x0e, 0x51, 0xfd, 0xed, - 0x98, 0x64, 0xab, 0xa7, 0xa0, 0xfc, 0xea, 0x69, 0xb5, 0xc7, 0x34, 0xf8, 0xb4, 0x1a, 0xd5, 0xce, - 0x23, 0xfc, 0xc6, 0xef, 0x0c, 0xc0, 0xa9, 0x6e, 0x37, 0x68, 0xd1, 0x2f, 0x5a, 0x99, 0x2c, 0xed, - 0xaf, 0xf6, 0x7f, 0x0d, 0x97, 0xa7, 0x6e, 0x17, 0x59, 0x27, 0xe6, 0xcc, 0xbc, 0xed, 0xb9, 0xa3, - 0x2d, 0x6a, 0x67, 0xb7, 0x2a, 0x22, 0x9e, 0x6f, 0x5f, 0xca, 0x83, 0xcf, 0x1c, 0xa2, 0x29, 0x22, - 0x65, 0x7f, 0x9c, 0xb9, 0x55, 0x21, 0xc1, 0xf9, 0xb7, 0x2a, 0x64, 0x1b, 0x66, 0x36, 0x61, 0x54, - 0xeb, 0xd7, 0x11, 0x4e, 0x01, 0x8f, 0x6e, 0x4d, 0x5a, 0xab, 0x8f, 0x70, 0x1a, 0xfc, 0x5d, 0x0b, - 0x32, 0xe1, 0x2a, 0xca, 0x15, 0x63, 0xf5, 0x74, 0xc5, 0x9c, 0x83, 0x81, 0x28, 0xf4, 0x49, 0x36, - 0x7b, 0x38, 0x0e, 0x7d, 0x82, 0x19, 0x46, 0x3d, 0x0d, 0x59, 0xee, 0xf5, 0x34, 0x24, 0xb5, 0xcd, - 0x7d, 0xb2, 0x4d, 0xa4, 0x63, 0x44, 0x09, 0xef, 0xeb, 0x14, 0x88, 0x39, 0xce, 0xfe, 0xbd, 0x32, - 0x0c, 0x71, 0xef, 0xc3, 0x31, 0xec, 0xce, 0x35, 0xe1, 0x08, 0x28, 0x74, 0xab, 0x95, 0xb7, 0x6a, - 0xae, 0xea, 0x24, 0x0e, 0x9f, 0x58, 0xaa, 0x8f, 0xa9, 0xf3, 0x00, 0xcd, 0x19, 0xa3, 0x30, 0x93, - 0xb1, 0x6f, 0x81, 0xf3, 0xd0, 0xc6, 0x64, 0x0b, 0x20, 0x66, 0x8f, 0x91, 0x51, 0x1e, 0x22, 0xe7, - 0xde, 0x8b, 0x85, 0xda, 0x51, 0x57, 0xc5, 0x78, 0x6b, 0xd2, 0x64, 0x5f, 0x0a, 0x81, 0x35, 0xde, - 0x33, 0x2f, 0x43, 0x45, 0x11, 0xe7, 0x29, 0xfe, 0x63, 0xfa, 0xd4, 0xfc, 0x4b, 0x30, 0x99, 0xa9, - 0xab, 0x2f, 0xbb, 0xe1, 0xb7, 0x2d, 0x98, 0xcc, 0xbc, 0xa2, 0x8c, 0xde, 0xb1, 0xe0, 0x94, 0xdf, - 0xc5, 0xf9, 0x24, 0x3e, 0xf3, 0x61, 0xdc, 0x56, 0xca, 0x64, 0xe8, 0x86, 0xc5, 0x5d, 0x6b, 0xa3, - 0xa6, 0x24, 0x7f, 0x59, 0xd1, 0xf1, 0x45, 0xf4, 0xdf, 0x18, 0x4f, 0x10, 0xca, 0x61, 0x58, 0x61, - 0xed, 0x9f, 0x58, 0x70, 0xa2, 0xe3, 0xa1, 0xde, 0x0f, 0x4a, 0x37, 0x44, 0x2a, 0xd4, 0x52, 0x8f, - 0x54, 0xa8, 0x7a, 0x2f, 0xcb, 0x07, 0xf6, 0xf2, 0xd7, 0x2d, 0x10, 0x33, 0xf4, 0x18, 0xf4, 0xbe, - 0x55, 0x53, 0xef, 0xfb, 0x48, 0x91, 0x49, 0xdf, 0x43, 0xe1, 0xfb, 0x33, 0x0b, 0x10, 0x27, 0xc8, - 0x3e, 0xc1, 0xc8, 0x9d, 0x97, 0x9a, 0xc1, 0x92, 0xae, 0x12, 0x85, 0xc1, 0x1a, 0x55, 0x9f, 0xf9, - 0xf4, 0xd5, 0xd3, 0x65, 0xdd, 0x1b, 0x86, 0x2e, 0xc2, 0xa8, 0x78, 0xba, 0xe8, 0x46, 0xfa, 0x2c, - 0xd9, 0x24, 0x7b, 0x20, 0x33, 0x05, 0x63, 0x9d, 0xc6, 0xf8, 0x5a, 0x03, 0x07, 0x7e, 0xad, 0xdf, - 0x29, 0x43, 0x36, 0xe4, 0x05, 0xbd, 0x05, 0x63, 0x0d, 0xa7, 0xe5, 0xac, 0x7b, 0xbe, 0x97, 0x78, - 0x24, 0x2e, 0x76, 0xd4, 0xb6, 0xa4, 0x95, 0x10, 0x8e, 0x72, 0x0d, 0x82, 0x0d, 0x8e, 0x68, 0x0e, - 0xa0, 0x15, 0x79, 0xdb, 0x9e, 0x4f, 0x36, 0x99, 0x5e, 0xc6, 0x62, 0x66, 0xf9, 0xa9, 0x91, 0x84, - 0x62, 0x8d, 0xa2, 0x4b, 0x8c, 0x65, 0xf9, 0x38, 0x62, 0x2c, 0x07, 0xfa, 0x8c, 0xb1, 0x1c, 0x2c, - 0x14, 0x63, 0x89, 0xe1, 0x8c, 0xf4, 0x6f, 0xd3, 0xff, 0x2b, 0x9e, 0x4f, 0x78, 0x3a, 0x45, 0x11, - 0x53, 0x3b, 0xb3, 0xb7, 0x3b, 0x7b, 0x06, 0x77, 0xa5, 0xc0, 0x3d, 0x4a, 0xda, 0x6d, 0x38, 0x59, - 0x27, 0x91, 0xc7, 0xb2, 0x5c, 0xb9, 0xe9, 0xa2, 0xfe, 0x22, 0x54, 0xa2, 0x8c, 0x3c, 0xe9, 0xf3, - 0xc2, 0xa3, 0x96, 0x17, 0x45, 0xca, 0x8f, 0x94, 0xa5, 0xfd, 0xd7, 0x4b, 0x30, 0x2c, 0x42, 0xcb, - 0x8e, 0x61, 0xa3, 0xbd, 0x66, 0x98, 0xc1, 0xcf, 0xe4, 0xad, 0x75, 0xd6, 0xac, 0x9e, 0x06, 0x70, - 0x3d, 0x63, 0x00, 0x3f, 0x57, 0x8c, 0xdd, 0xc1, 0xa6, 0xef, 0x0f, 0x4a, 0x30, 0x61, 0x86, 0xda, - 0x1d, 0xc3, 0xb0, 0xbc, 0x0e, 0xc3, 0xb1, 0x88, 0x43, 0x2b, 0x15, 0x89, 0xa2, 0xc9, 0x7e, 0x62, - 0xe5, 0xeb, 0x90, 0x91, 0x67, 0x92, 0x5d, 0xd7, 0x50, 0xb7, 0xf2, 0x71, 0x84, 0xba, 0xd9, 0xdf, - 0x67, 0xc2, 0x58, 0x1f, 0xc8, 0x63, 0xd8, 0x4c, 0x5e, 0x33, 0xc5, 0xf6, 0x85, 0x42, 0x33, 0x42, - 0x34, 0xaf, 0xc7, 0xa6, 0xf2, 0x1d, 0x0b, 0x46, 0x05, 0xe1, 0x31, 0x74, 0xe0, 0xb3, 0x66, 0x07, - 0x9e, 0x2a, 0xd4, 0x81, 0x1e, 0x2d, 0xff, 0xfb, 0x25, 0xd5, 0xf2, 0x9a, 0x78, 0xd2, 0x36, 0x37, - 0xdb, 0xe6, 0x48, 0x2b, 0x0a, 0x93, 0xb0, 0x11, 0xfa, 0x42, 0x8d, 0x78, 0x2c, 0xbd, 0xdc, 0xc0, - 0xe1, 0xfb, 0xda, 0x6f, 0xac, 0xa8, 0x59, 0xec, 0x7d, 0x18, 0x25, 0x62, 0x6b, 0xeb, 0xf6, 0xa0, - 0xee, 0xba, 0x7c, 0xb0, 0x9c, 0xc2, 0xc4, 0xbd, 0xa0, 0x7e, 0x1f, 0xea, 0x4d, 0xef, 0x2a, 0x28, - 0x4e, 0x58, 0xe3, 0x2a, 0x83, 0x60, 0x59, 0x0d, 0x83, 0xa6, 0xef, 0xf9, 0xa6, 0x80, 0x63, 0x45, - 0x61, 0xbf, 0xcc, 0x24, 0x2e, 0x1b, 0x9e, 0xfe, 0xae, 0x11, 0xfc, 0xb5, 0x21, 0x35, 0xb0, 0xcc, - 0xa5, 0x74, 0x53, 0xbf, 0xac, 0x50, 0x54, 0xac, 0xd1, 0x26, 0xe8, 0x71, 0x7b, 0xe9, 0xdd, 0x06, - 0x44, 0x3a, 0x0e, 0x2c, 0x5e, 0x2e, 0x2c, 0x29, 0xfb, 0x38, 0xa2, 0x60, 0x29, 0x8a, 0x58, 0x5e, - 0x96, 0xd5, 0x5a, 0x36, 0x43, 0xea, 0x92, 0x44, 0xe0, 0x94, 0x06, 0xcd, 0x0b, 0xa3, 0xc6, 0x7c, - 0xef, 0x58, 0x1a, 0x35, 0x72, 0x48, 0x34, 0xab, 0xe6, 0x22, 0x8c, 0xaa, 0x1c, 0xf1, 0x35, 0x9e, - 0xea, 0xbb, 0xc2, 0xf5, 0x9e, 0xe5, 0x14, 0x8c, 0x75, 0x1a, 0xb4, 0x0a, 0x27, 0x5d, 0x15, 0xf3, - 0x5c, 0x6b, 0xaf, 0xfb, 0x5e, 0x83, 0x16, 0xe5, 0xf7, 0x95, 0x1e, 0xd9, 0xdb, 0x9d, 0x3d, 0x59, - 0xed, 0x44, 0xe3, 0x6e, 0x65, 0xd0, 0x1a, 0x4c, 0xc6, 0x3c, 0x17, 0xbe, 0x0c, 0x6c, 0x15, 0x89, - 0x03, 0x9f, 0x95, 0x27, 0x25, 0x75, 0x13, 0xbd, 0xcf, 0x40, 0x5c, 0x26, 0xc8, 0x50, 0xd8, 0x2c, - 0x0b, 0xf4, 0x2a, 0x4c, 0xf8, 0xfa, 0x33, 0x5f, 0x35, 0x11, 0xfa, 0xad, 0x62, 0x4a, 0x8c, 0x47, - 0xc0, 0x6a, 0x38, 0x43, 0x8d, 0x5e, 0x87, 0x69, 0x1d, 0x22, 0xf2, 0x27, 0x38, 0xc1, 0x26, 0x89, - 0x45, 0x12, 0xee, 0xc7, 0xf6, 0x76, 0x67, 0xa7, 0xaf, 0xf7, 0xa0, 0xc1, 0x3d, 0x4b, 0xa3, 0xcb, - 0x30, 0x26, 0x47, 0x52, 0x0b, 0x03, 0x4f, 0xa3, 0x99, 0x34, 0x1c, 0x36, 0x28, 0xdf, 0xdf, 0x81, - 0xd0, 0x57, 0x68, 0x61, 0x6d, 0x6b, 0x45, 0x5f, 0x82, 0x31, 0xbd, 0x8d, 0xd9, 0x3d, 0x33, 0xff, - 0xe9, 0x34, 0xb1, 0x45, 0xab, 0x96, 0xeb, 0x38, 0x6c, 0xf0, 0xb6, 0x6f, 0xc1, 0x50, 0x7d, 0x27, - 0x6e, 0x24, 0xfe, 0xc3, 0x7a, 0xea, 0xba, 0x01, 0x93, 0x99, 0x37, 0xa1, 0xd5, 0xe3, 0xe2, 0xd6, - 0xc3, 0x7a, 0x5c, 0xdc, 0xfe, 0x63, 0x0b, 0x06, 0xd7, 0x1c, 0x2f, 0xff, 0xf9, 0x8a, 0x22, 0x4d, - 0x46, 0x2f, 0xc1, 0x10, 0xd9, 0xd8, 0x20, 0x0d, 0xf9, 0x58, 0xf9, 0xe3, 0x52, 0xb5, 0x59, 0x66, - 0x50, 0xba, 0x34, 0x59, 0x65, 0xfc, 0x2f, 0x16, 0xc4, 0xe8, 0x0b, 0x50, 0x49, 0xbc, 0x26, 0x59, - 0x70, 0x5d, 0xe2, 0x1e, 0xe2, 0x9e, 0xa6, 0x12, 0x15, 0x6b, 0x92, 0x09, 0x4e, 0xf9, 0xd9, 0xef, - 0x96, 0x00, 0xd6, 0x42, 0x5f, 0x1e, 0xa4, 0xe5, 0x74, 0x73, 0xb1, 0xe3, 0x95, 0x8e, 0xa7, 0xbb, - 0xbc, 0xd2, 0x81, 0x52, 0x86, 0x5d, 0xde, 0xe8, 0x50, 0x43, 0x55, 0x2e, 0x34, 0x54, 0x03, 0xfd, - 0x0c, 0xd5, 0x12, 0x9c, 0x48, 0x54, 0xdd, 0xe6, 0x85, 0x17, 0x96, 0x48, 0x6c, 0x2d, 0x8b, 0xc4, - 0x9d, 0xf4, 0xf6, 0xbb, 0x16, 0x88, 0x40, 0xa9, 0x02, 0x73, 0xd5, 0x95, 0xe9, 0xf9, 0x8d, 0xdc, - 0x2d, 0xcf, 0x16, 0xb9, 0xd0, 0x24, 0x32, 0xb6, 0xa8, 0xd5, 0x63, 0xe4, 0x69, 0x31, 0xb8, 0xda, - 0xbf, 0x69, 0xc1, 0x28, 0x47, 0xdf, 0x60, 0x9a, 0x6e, 0x7e, 0xbb, 0xfa, 0xca, 0x52, 0xc7, 0xb2, - 0xd7, 0x53, 0xc6, 0x2a, 0x5b, 0x99, 0x9e, 0xbd, 0x5e, 0x22, 0x70, 0x4a, 0x83, 0x9e, 0x81, 0xe1, - 0xb8, 0xbd, 0xce, 0xc8, 0x33, 0x51, 0x53, 0x75, 0x0e, 0xc6, 0x12, 0x6f, 0xff, 0x02, 0x02, 0xa3, - 0x6b, 0x46, 0x66, 0x34, 0xeb, 0xa1, 0x67, 0x46, 0x7b, 0x03, 0x46, 0x48, 0xb3, 0x95, 0xec, 0x54, - 0xbd, 0xa8, 0x58, 0x8e, 0xca, 0x65, 0x41, 0xdd, 0xc9, 0x5d, 0x62, 0xb0, 0xe2, 0xd8, 0x23, 0xcf, - 0x5d, 0xf9, 0x03, 0x91, 0xe7, 0x6e, 0xe0, 0xa7, 0x92, 0xe7, 0xee, 0x75, 0x18, 0xde, 0xf4, 0x12, - 0x4c, 0x5a, 0xa1, 0xb8, 0x01, 0x9b, 0x73, 0xbc, 0x79, 0x85, 0x13, 0x77, 0x26, 0xaf, 0x12, 0x08, - 0x2c, 0xd9, 0xa1, 0x35, 0x18, 0xe2, 0xd6, 0x91, 0x48, 0x1d, 0xf7, 0xb1, 0x22, 0x1e, 0xa7, 0xce, - 0x2c, 0x6a, 0x22, 0x34, 0x4e, 0xf0, 0x92, 0x79, 0xed, 0x86, 0xdf, 0x7f, 0x5e, 0x3b, 0x95, 0x8d, - 0x6e, 0xe4, 0x61, 0x65, 0xa3, 0x33, 0xb2, 0xfa, 0x55, 0x8e, 0x22, 0xab, 0xdf, 0xbb, 0x16, 0x9c, - 0x6e, 0x75, 0xcb, 0x89, 0x29, 0xf2, 0xca, 0x7d, 0xfa, 0x10, 0x39, 0x42, 0x8d, 0xaa, 0xd9, 0xbd, - 0xc2, 0xae, 0x64, 0xb8, 0x7b, 0xc5, 0x32, 0x3d, 0xe0, 0xe8, 0xfb, 0x4f, 0x0f, 0x78, 0xd4, 0x09, - 0xe8, 0xd2, 0x64, 0x81, 0xe3, 0x47, 0x92, 0x2c, 0x70, 0xe2, 0x21, 0x26, 0x0b, 0xd4, 0xd2, 0xfc, - 0x4d, 0x3e, 0xdc, 0x34, 0x7f, 0x5b, 0x30, 0xea, 0x86, 0xf7, 0x83, 0xfb, 0x4e, 0xe4, 0x2e, 0xd4, - 0x56, 0x45, 0x56, 0xb9, 0x9c, 0xd4, 0x25, 0xd5, 0xb4, 0x80, 0x51, 0x03, 0x77, 0xad, 0xa6, 0x48, - 0xac, 0xb3, 0x16, 0x09, 0x0f, 0x4f, 0xbc, 0xcf, 0x84, 0x87, 0x46, 0xda, 0x40, 0x74, 0x14, 0x69, - 0x03, 0xdf, 0x62, 0x39, 0x0c, 0x36, 0xbc, 0xcd, 0x1b, 0x4e, 0x8b, 0xdd, 0xbb, 0xcb, 0xad, 0x61, - 0x49, 0x92, 0x77, 0xd6, 0xa0, 0x50, 0x38, 0x65, 0xda, 0x99, 0x98, 0xf0, 0xd4, 0x71, 0x27, 0x26, - 0x3c, 0x7d, 0x84, 0x89, 0x09, 0xcf, 0x1c, 0x6b, 0x62, 0xc2, 0x47, 0x7e, 0x2a, 0x89, 0x09, 0xff, - 0x0a, 0x9c, 0x3d, 0xf8, 0x73, 0xa4, 0x89, 0xaf, 0x6b, 0xa9, 0x53, 0x23, 0x93, 0xf8, 0x9a, 0xa9, - 0x3a, 0x1a, 0x55, 0xe1, 0xfc, 0x68, 0xdf, 0xb6, 0xe0, 0x91, 0x1e, 0xe9, 0x83, 0x0a, 0x5f, 0x59, - 0x69, 0xc1, 0x64, 0xcb, 0x2c, 0x5a, 0xf8, 0x92, 0x99, 0x91, 0xae, 0x48, 0x85, 0x3f, 0x66, 0x10, - 0x38, 0xcb, 0x7e, 0xf1, 0x23, 0x3f, 0x7c, 0xef, 0xec, 0x87, 0x7e, 0xf4, 0xde, 0xd9, 0x0f, 0xfd, - 0xe1, 0x7b, 0x67, 0x3f, 0xf4, 0x73, 0x7b, 0x67, 0xad, 0x1f, 0xee, 0x9d, 0xb5, 0x7e, 0xb4, 0x77, - 0xd6, 0xfa, 0x93, 0xbd, 0xb3, 0xd6, 0xbb, 0x3f, 0x39, 0xfb, 0xa1, 0xcf, 0x97, 0xb6, 0x2f, 0xfe, - 0xff, 0x00, 0x00, 0x00, 0xff, 0xff, 0x0e, 0x50, 0xee, 0xc0, 0xa3, 0xbb, 0x00, 0x00, + 0x19, 0x44, 0xe7, 0x96, 0x98, 0xad, 0x99, 0x19, 0x44, 0x31, 0x58, 0xa3, 0x42, 0x6f, 0x41, 0x85, + 0xff, 0xc3, 0x64, 0x93, 0x4d, 0xdd, 0x5c, 0xa1, 0x70, 0x23, 0x6c, 0x38, 0x7e, 0x76, 0xf0, 0xc7, + 0xd9, 0x8c, 0x93, 0x8c, 0x70, 0xca, 0xd3, 0x98, 0x71, 0x43, 0xb9, 0x33, 0xee, 0x6f, 0x58, 0x80, + 0x96, 0xbc, 0xc0, 0x25, 0xd1, 0x09, 0x6c, 0x9d, 0xfd, 0x2d, 0x86, 0x3f, 0xa4, 0x4d, 0x0b, 0x9b, + 0xad, 0x30, 0x20, 0x41, 0xb2, 0x14, 0x06, 0x2e, 0xdf, 0x4e, 0x3f, 0x06, 0x03, 0x09, 0xad, 0x8a, + 0x37, 0xeb, 0x19, 0xf9, 0x59, 0x68, 0x05, 0x07, 0x7b, 0xb3, 0x8f, 0x74, 0x96, 0x60, 0x4d, 0x60, + 0x65, 0xd0, 0x47, 0x61, 0x28, 0x4e, 0x9c, 0xa4, 0x1d, 0x8b, 0x86, 0x3e, 0x29, 0x1b, 0x5a, 0x67, + 0xd0, 0x83, 0xbd, 0xd9, 0x49, 0x55, 0x8c, 0x83, 0xb0, 0x28, 0x80, 0x9e, 0x85, 0xe1, 0x26, 0x89, + 0x63, 0x67, 0x4b, 0x0a, 0xb8, 0x49, 0x51, 0x76, 0x78, 0x8d, 0x83, 0xb1, 0xc4, 0xa3, 0xa7, 0x60, + 0x90, 0x44, 0x51, 0x18, 0x89, 0x19, 0x31, 0x2e, 0x08, 0x07, 0x97, 0x29, 0x10, 0x73, 0x9c, 0xfd, + 0x9f, 0x2c, 0x98, 0x54, 0x6d, 0xe5, 0x75, 0x9d, 0xc0, 0x92, 0x77, 0x01, 0x1a, 0xb2, 0x83, 0x31, + 0x5b, 0x68, 0x5a, 0x1d, 0xdd, 0xa7, 0x5f, 0xe7, 0x80, 0xa6, 0x75, 0x28, 0x50, 0x8c, 0x35, 0xbe, + 0xf6, 0xbf, 0xb1, 0xe0, 0x74, 0xa6, 0x6f, 0x37, 0xbc, 0x38, 0x41, 0x6f, 0x76, 0xf4, 0x6f, 0xae, + 0x58, 0xff, 0x68, 0x69, 0xd6, 0x3b, 0x35, 0x5f, 0x24, 0x44, 0xeb, 0x1b, 0x86, 0x41, 0x2f, 0x21, + 0x4d, 0xd9, 0xad, 0x17, 0x0a, 0x76, 0x8b, 0xb7, 0x2f, 0xfd, 0x4a, 0xab, 0x94, 0x07, 0xe6, 0xac, + 0xec, 0xff, 0x65, 0x41, 0x65, 0x29, 0x0c, 0x36, 0xbd, 0xad, 0x35, 0xa7, 0x75, 0x02, 0xdf, 0xa7, + 0x0e, 0x03, 0x8c, 0x3b, 0xef, 0xc2, 0xa5, 0xbc, 0x2e, 0x88, 0x86, 0xcd, 0xd1, 0x3d, 0x95, 0x2b, + 0x0b, 0x4a, 0x4c, 0x51, 0x10, 0x66, 0xcc, 0x66, 0x5e, 0x81, 0x8a, 0x22, 0x40, 0x53, 0x50, 0xbe, + 0x47, 0xb8, 0x26, 0x59, 0xc1, 0xf4, 0x27, 0x3a, 0x03, 0x83, 0x3b, 0x8e, 0xdf, 0x16, 0x8b, 0x17, + 0xf3, 0x3f, 0x1f, 0x2b, 0x5d, 0xb1, 0xec, 0xef, 0xb3, 0x15, 0x28, 0x2a, 0x59, 0x0e, 0x76, 0x84, + 0x70, 0xf8, 0xb2, 0x05, 0x67, 0xfc, 0x2e, 0x42, 0x49, 0x8c, 0xc9, 0x51, 0xc4, 0xd9, 0xe3, 0xa2, + 0xd9, 0x67, 0xba, 0x61, 0x71, 0xd7, 0xda, 0xa8, 0xac, 0x0f, 0x5b, 0x74, 0xc2, 0x39, 0x3e, 0x6b, + 0xba, 0xd0, 0x01, 0x6e, 0x09, 0x18, 0x56, 0x58, 0xfb, 0x4f, 0x2c, 0x38, 0xa3, 0xfa, 0x71, 0x9d, + 0xec, 0xd6, 0x89, 0x4f, 0x1a, 0x49, 0x18, 0xbd, 0x5f, 0x7a, 0xf2, 0x04, 0xff, 0x26, 0x5c, 0x26, + 0x8d, 0x0a, 0x06, 0xe5, 0xeb, 0x64, 0x97, 0x7f, 0x20, 0xbd, 0xa3, 0xe5, 0x43, 0x3b, 0xfa, 0x9b, + 0x16, 0x8c, 0xab, 0x8e, 0x9e, 0xc0, 0x92, 0xbb, 0x61, 0x2e, 0xb9, 0x0f, 0x15, 0x9c, 0xaf, 0x3d, + 0x16, 0xdb, 0xef, 0x94, 0xe0, 0xac, 0xa2, 0x31, 0xb6, 0xa3, 0xf7, 0xc9, 0x77, 0xea, 0xaf, 0xbb, + 0xd7, 0xc9, 0xee, 0x7a, 0x48, 0xf5, 0x89, 0xee, 0xdd, 0x45, 0x97, 0x60, 0xd4, 0x25, 0x9b, 0x4e, + 0xdb, 0x4f, 0x94, 0xda, 0x3c, 0xc8, 0xed, 0xa9, 0x6a, 0x0a, 0xc6, 0x3a, 0x8d, 0x31, 0x13, 0x06, + 0x0e, 0x9d, 0x09, 0xbf, 0x32, 0xca, 0x04, 0x57, 0xe2, 0xd0, 0xcf, 0x4b, 0x55, 0x19, 0xcd, 0x0e, + 0x1a, 0xd3, 0xed, 0x20, 0x61, 0xf3, 0x3c, 0x05, 0x83, 0x5e, 0x93, 0x6e, 0x6e, 0x25, 0x73, 0xcf, + 0x5a, 0xa5, 0x40, 0xcc, 0x71, 0xe8, 0x69, 0x18, 0x6e, 0x84, 0xcd, 0xa6, 0x13, 0xb8, 0xd3, 0x65, + 0xa6, 0x5c, 0x8d, 0xd2, 0xfd, 0x6f, 0x89, 0x83, 0xb0, 0xc4, 0xa1, 0xc7, 0x61, 0xc0, 0x89, 0xb6, + 0xe2, 0xe9, 0x01, 0x46, 0x33, 0x42, 0x6b, 0x5a, 0x88, 0xb6, 0x62, 0xcc, 0xa0, 0x54, 0x69, 0xba, + 0x1f, 0x46, 0xf7, 0xbc, 0x60, 0xab, 0xea, 0x45, 0x4c, 0x03, 0xd2, 0x94, 0xa6, 0xbb, 0x0a, 0x83, + 0x35, 0x2a, 0x54, 0x83, 0xc1, 0x56, 0x18, 0x25, 0xf1, 0xf4, 0x10, 0x1b, 0xf8, 0xe7, 0x73, 0xe7, + 0x19, 0xef, 0x77, 0x2d, 0x8c, 0x92, 0xb4, 0x2b, 0xf4, 0x5f, 0x8c, 0x39, 0x23, 0xb4, 0x04, 0x65, + 0x12, 0xec, 0x4c, 0x0f, 0x33, 0x7e, 0x1f, 0x3c, 0x9c, 0xdf, 0x72, 0xb0, 0x73, 0xc7, 0x89, 0xd2, + 0x85, 0xb9, 0x1c, 0xec, 0x60, 0x5a, 0x1a, 0x35, 0xa0, 0x22, 0x7d, 0x2e, 0xf1, 0xf4, 0x48, 0x91, + 0xa9, 0x88, 0x05, 0x39, 0x26, 0xef, 0xb6, 0xbd, 0x88, 0x34, 0x49, 0x90, 0xc4, 0xa9, 0x05, 0x21, + 0xb1, 0x31, 0x4e, 0xf9, 0xa2, 0x06, 0x8c, 0x71, 0x45, 0x6b, 0x2d, 0x6c, 0x07, 0x49, 0x3c, 0x5d, + 0x61, 0x4d, 0xce, 0x31, 0xd1, 0xef, 0xa4, 0x25, 0x16, 0xcf, 0x08, 0xf6, 0x63, 0x1a, 0x30, 0xc6, + 0x06, 0x53, 0xf4, 0x26, 0x8c, 0xfb, 0xde, 0x0e, 0x09, 0x48, 0x1c, 0xd7, 0xa2, 0x70, 0x83, 0x4c, + 0x03, 0xeb, 0xcd, 0x53, 0x79, 0xe6, 0x6a, 0xb8, 0x41, 0x16, 0x4f, 0xed, 0xef, 0xcd, 0x8e, 0xdf, + 0xd0, 0x4b, 0x63, 0x93, 0x19, 0x7a, 0x0b, 0x26, 0xa8, 0x56, 0xe7, 0xa5, 0xec, 0x47, 0x8b, 0xb3, + 0x47, 0xfb, 0x7b, 0xb3, 0x13, 0xd8, 0x28, 0x8e, 0x33, 0xec, 0xd0, 0x3a, 0x54, 0x7c, 0x6f, 0x93, + 0x34, 0x76, 0x1b, 0x3e, 0x99, 0x1e, 0x63, 0xbc, 0x73, 0x16, 0xe7, 0x0d, 0x49, 0xce, 0x35, 0x69, + 0xf5, 0x17, 0xa7, 0x8c, 0xd0, 0x1d, 0x78, 0x24, 0x21, 0x51, 0xd3, 0x0b, 0x1c, 0xba, 0xa8, 0x84, + 0x9a, 0xc7, 0x7c, 0x02, 0xe3, 0x6c, 0xd6, 0x9e, 0x13, 0x03, 0xfb, 0xc8, 0x7a, 0x57, 0x2a, 0xdc, + 0xa3, 0x34, 0xba, 0x05, 0x93, 0x6c, 0x3d, 0xd5, 0xda, 0xbe, 0x5f, 0x0b, 0x7d, 0xaf, 0xb1, 0x3b, + 0x3d, 0xc1, 0x18, 0x3e, 0x2d, 0x2d, 0xfd, 0x55, 0x13, 0x4d, 0x2d, 0xa0, 0xf4, 0x1f, 0xce, 0x96, + 0x46, 0x3e, 0x4c, 0xc6, 0xa4, 0xd1, 0x8e, 0xbc, 0x64, 0x97, 0xce, 0x7d, 0xf2, 0x20, 0x99, 0x9e, + 0x2c, 0x62, 0xd1, 0xd5, 0xcd, 0x42, 0xdc, 0xcd, 0x92, 0x01, 0xe2, 0x2c, 0x6b, 0x2a, 0x2a, 0xe2, + 0xc4, 0xf5, 0x82, 0xe9, 0x29, 0x26, 0x81, 0xd4, 0xfa, 0xaa, 0x53, 0x20, 0xe6, 0x38, 0x66, 0x28, + 0xd3, 0x1f, 0xb7, 0xa8, 0x94, 0x3e, 0xc5, 0x08, 0x53, 0x43, 0x59, 0x22, 0x70, 0x4a, 0x43, 0xf7, + 0xc0, 0x24, 0xd9, 0x9d, 0x46, 0x8c, 0x54, 0x2d, 0xb5, 0xf5, 0xf5, 0x4f, 0x63, 0x0a, 0x47, 0x77, + 0x60, 0x98, 0x04, 0x3b, 0x2b, 0x51, 0xd8, 0x9c, 0x3e, 0x5d, 0x44, 0x06, 0x2c, 0x73, 0x62, 0xbe, + 0x7f, 0xa4, 0xba, 0xba, 0x00, 0x63, 0xc9, 0x0c, 0x3d, 0x80, 0xe9, 0x2e, 0x5f, 0x89, 0x7f, 0x94, + 0x33, 0xec, 0xa3, 0x7c, 0x5c, 0x94, 0x9d, 0x5e, 0xef, 0x41, 0x77, 0x70, 0x08, 0x0e, 0xf7, 0xe4, + 0x6e, 0x6f, 0xc0, 0x84, 0x12, 0x54, 0xec, 0x7b, 0xa3, 0x59, 0x18, 0xa4, 0xb2, 0x58, 0x5a, 0xae, + 0x15, 0x3a, 0xa8, 0x54, 0x44, 0xc7, 0x98, 0xc3, 0xd9, 0xa0, 0x7a, 0x9f, 0x27, 0x8b, 0xbb, 0x09, + 0xe1, 0x16, 0x4c, 0x59, 0x1b, 0x54, 0x89, 0xc0, 0x29, 0x8d, 0xfd, 0x7f, 0xb8, 0x3e, 0x90, 0x4a, + 0xc3, 0x02, 0x3b, 0xc1, 0x45, 0x18, 0xd9, 0x0e, 0xe3, 0x84, 0x52, 0xb3, 0x3a, 0x06, 0x53, 0x0d, + 0xe0, 0x9a, 0x80, 0x63, 0x45, 0x81, 0x5e, 0x85, 0xf1, 0x86, 0x5e, 0x81, 0xd8, 0xc6, 0xce, 0x8a, + 0x22, 0x66, 0xed, 0xd8, 0xa4, 0x45, 0x57, 0x60, 0x84, 0xb9, 0x73, 0x1b, 0xa1, 0x2f, 0x6c, 0x25, + 0xb9, 0x2b, 0x8f, 0xd4, 0x04, 0xfc, 0x40, 0xfb, 0x8d, 0x15, 0x35, 0xb5, 0x38, 0x69, 0x13, 0x56, + 0x6b, 0x62, 0x03, 0x51, 0x16, 0xe7, 0x35, 0x06, 0xc5, 0x02, 0x6b, 0xff, 0xd3, 0x92, 0x36, 0xca, + 0x54, 0xd3, 0x27, 0xe8, 0x33, 0x30, 0x7c, 0xdf, 0xf1, 0x12, 0x2f, 0xd8, 0x12, 0xda, 0xc3, 0x8b, + 0x05, 0x77, 0x13, 0x56, 0xfc, 0x2e, 0x2f, 0xca, 0x77, 0x3e, 0xf1, 0x07, 0x4b, 0x86, 0x94, 0x77, + 0xd4, 0x0e, 0x02, 0xca, 0xbb, 0xd4, 0x3f, 0x6f, 0xcc, 0x8b, 0x72, 0xde, 0xe2, 0x0f, 0x96, 0x0c, + 0xd1, 0x26, 0x80, 0x9c, 0x4b, 0xc4, 0x15, 0x6e, 0xd4, 0x8f, 0xf4, 0xc3, 0x7e, 0x5d, 0x95, 0x5e, + 0x9c, 0xa0, 0x7b, 0x6d, 0xfa, 0x1f, 0x6b, 0x9c, 0xed, 0x84, 0x29, 0x61, 0x9d, 0xcd, 0x42, 0x9f, + 0xa5, 0x4b, 0xda, 0x89, 0x12, 0xe2, 0x2e, 0x24, 0x59, 0x4f, 0xf4, 0xe1, 0xba, 0xe4, 0xba, 0xd7, + 0x24, 0xfa, 0xf2, 0x17, 0x4c, 0x70, 0xca, 0xcf, 0xfe, 0x4e, 0x19, 0xa6, 0x7b, 0x35, 0x97, 0x4e, + 0x49, 0xf2, 0xc0, 0x4b, 0x96, 0xa8, 0x9a, 0x64, 0x99, 0x53, 0x72, 0x59, 0xc0, 0xb1, 0xa2, 0xa0, + 0x73, 0x23, 0xf6, 0xb6, 0xa4, 0x55, 0x30, 0x98, 0xce, 0x8d, 0x3a, 0x83, 0x62, 0x81, 0xa5, 0x74, + 0x11, 0x71, 0x62, 0xe1, 0xc5, 0xd7, 0xe6, 0x10, 0x66, 0x50, 0x2c, 0xb0, 0xba, 0xe5, 0x3f, 0x90, + 0x63, 0xf9, 0x1b, 0x43, 0x34, 0xf8, 0x70, 0x87, 0x08, 0x7d, 0x0e, 0x60, 0xd3, 0x0b, 0xbc, 0x78, + 0x9b, 0x71, 0x1f, 0xea, 0x9b, 0xbb, 0x52, 0xb2, 0x56, 0x14, 0x17, 0xac, 0x71, 0x44, 0x2f, 0xc3, + 0xa8, 0x5a, 0x9e, 0xab, 0xd5, 0xe9, 0x61, 0xd3, 0xf3, 0x9b, 0xca, 0xaa, 0x2a, 0xd6, 0xe9, 0xec, + 0x77, 0xb2, 0xf3, 0x45, 0xac, 0x0a, 0x6d, 0x7c, 0xad, 0xa2, 0xe3, 0x5b, 0x3a, 0x7c, 0x7c, 0xed, + 0xff, 0x58, 0x86, 0x49, 0xa3, 0xb2, 0x76, 0x5c, 0x40, 0xa2, 0xbd, 0x4e, 0x37, 0x2c, 0x27, 0x21, + 0x62, 0x4d, 0x5e, 0xec, 0x67, 0xd1, 0xe8, 0xdb, 0x1b, 0x5d, 0x0b, 0x9c, 0x13, 0xda, 0x86, 0x8a, + 0xef, 0xc4, 0xcc, 0x77, 0x40, 0xc4, 0x5a, 0xec, 0x8f, 0x6d, 0x6a, 0x7e, 0x38, 0x71, 0xa2, 0xed, + 0x1e, 0xbc, 0x96, 0x94, 0x39, 0xdd, 0x6d, 0xa9, 0xb2, 0x23, 0x8f, 0x8e, 0x54, 0x73, 0xa8, 0x46, + 0xb4, 0x8b, 0x39, 0x0e, 0x5d, 0x81, 0xb1, 0x88, 0xb0, 0x99, 0xb2, 0x44, 0xf5, 0x39, 0x36, 0xf5, + 0x06, 0x53, 0xc5, 0x0f, 0x6b, 0x38, 0x6c, 0x50, 0xa6, 0x7a, 0xff, 0xd0, 0x21, 0x7a, 0xff, 0xb3, + 0x30, 0xcc, 0x7e, 0xa8, 0x59, 0xa1, 0xbe, 0xd0, 0x2a, 0x07, 0x63, 0x89, 0xcf, 0x4e, 0xa2, 0x91, + 0x82, 0x93, 0xe8, 0x39, 0x98, 0xa8, 0x3a, 0xa4, 0x19, 0x06, 0xcb, 0x81, 0xdb, 0x0a, 0xbd, 0x20, + 0x41, 0xd3, 0x30, 0xc0, 0xf6, 0x13, 0xbe, 0xde, 0x07, 0x28, 0x07, 0x3c, 0x40, 0x75, 0x77, 0xfb, + 0xff, 0x5a, 0x30, 0x5e, 0x25, 0x3e, 0x49, 0x08, 0xb7, 0x7b, 0x62, 0xb4, 0x02, 0x68, 0x2b, 0x72, + 0x1a, 0xa4, 0x46, 0x22, 0x2f, 0x74, 0xeb, 0xa4, 0x11, 0x06, 0xec, 0xc4, 0x85, 0x6e, 0x90, 0x8f, + 0xec, 0xef, 0xcd, 0xa2, 0xab, 0x1d, 0x58, 0xdc, 0xa5, 0x04, 0x72, 0x61, 0xbc, 0x15, 0x11, 0xc3, + 0x41, 0x66, 0xe5, 0xab, 0x1a, 0x35, 0xbd, 0x08, 0xd7, 0x86, 0x0d, 0x10, 0x36, 0x99, 0xa2, 0x4f, + 0xc2, 0x54, 0x18, 0xb5, 0xb6, 0x9d, 0xa0, 0x4a, 0x5a, 0x24, 0x70, 0xa9, 0x09, 0x20, 0xcc, 0xfa, + 0x33, 0xfb, 0x7b, 0xb3, 0x53, 0xb7, 0x32, 0x38, 0xdc, 0x41, 0x6d, 0xff, 0x5a, 0x09, 0xce, 0x56, + 0xc3, 0xfb, 0xc1, 0x7d, 0x27, 0x72, 0x17, 0x6a, 0xab, 0x5c, 0xaf, 0x67, 0xde, 0x65, 0xe9, 0xd5, + 0xb6, 0x7a, 0x7a, 0xb5, 0x3f, 0x0b, 0x23, 0x9b, 0x1e, 0xf1, 0x5d, 0x4c, 0x36, 0x45, 0xf7, 0x2e, + 0x15, 0x71, 0xfb, 0xaf, 0xd0, 0x32, 0xd2, 0x6f, 0xc2, 0xad, 0xce, 0x15, 0xc1, 0x06, 0x2b, 0x86, + 0xa8, 0x0d, 0x53, 0xd2, 0x70, 0x91, 0x58, 0xb1, 0x3a, 0x5e, 0x2c, 0x66, 0x17, 0x99, 0xd5, 0xb0, + 0xf1, 0xc0, 0x19, 0x86, 0xb8, 0xa3, 0x0a, 0x6a, 0x70, 0x36, 0xe9, 0xde, 0x30, 0xc0, 0xe6, 0x0a, + 0x33, 0x38, 0x99, 0xed, 0xcc, 0xa0, 0xf6, 0x3f, 0xb0, 0xe0, 0xd1, 0x8e, 0xd1, 0x12, 0x8e, 0x85, + 0x37, 0xa4, 0x45, 0xcf, 0x8f, 0xe7, 0x72, 0x5a, 0xd9, 0x75, 0xcc, 0x8b, 0x59, 0xf7, 0xa5, 0x7c, + 0xeb, 0xde, 0xbe, 0x05, 0x67, 0x96, 0x9b, 0xad, 0x64, 0xb7, 0xea, 0x99, 0xce, 0xf8, 0x57, 0x60, + 0xa8, 0x49, 0x5c, 0xaf, 0xdd, 0x14, 0x9f, 0x75, 0x56, 0x0a, 0xd2, 0x35, 0x06, 0x3d, 0xd8, 0x9b, + 0x1d, 0xaf, 0x27, 0x61, 0xe4, 0x6c, 0x11, 0x0e, 0xc0, 0x82, 0xdc, 0xfe, 0xb1, 0x05, 0x93, 0x72, + 0x41, 0x2d, 0xb8, 0x6e, 0x44, 0xe2, 0x18, 0xcd, 0x40, 0xc9, 0x6b, 0x09, 0x46, 0x20, 0x18, 0x95, + 0x56, 0x6b, 0xb8, 0xe4, 0xb5, 0xd0, 0x67, 0xa0, 0xc2, 0xcf, 0x70, 0xd2, 0xc9, 0xd1, 0xe7, 0x99, + 0x10, 0x33, 0xa6, 0xd6, 0x25, 0x0f, 0x9c, 0xb2, 0x93, 0x6a, 0x25, 0x13, 0xd5, 0x65, 0xf3, 0x44, + 0xe1, 0x9a, 0x80, 0x63, 0x45, 0x81, 0x2e, 0xc0, 0x48, 0x10, 0xba, 0xfc, 0x98, 0x8d, 0x6f, 0xba, + 0x6c, 0xca, 0xdd, 0x14, 0x30, 0xac, 0xb0, 0xf6, 0x57, 0x2d, 0x18, 0x93, 0x7d, 0x2c, 0xa8, 0xe1, + 0xd2, 0x45, 0x92, 0x6a, 0xb7, 0xe9, 0x22, 0xa1, 0x1a, 0x2a, 0xc3, 0x18, 0x8a, 0x69, 0xb9, 0x1f, + 0xc5, 0xd4, 0xfe, 0x8d, 0x12, 0x4c, 0xc8, 0xe6, 0xd4, 0xdb, 0x1b, 0x31, 0xa1, 0xfb, 0x76, 0xc5, + 0xe1, 0x83, 0x4f, 0xe4, 0x3c, 0x7b, 0x21, 0xcf, 0x78, 0x31, 0xbe, 0x59, 0xaa, 0x17, 0x2c, 0x48, + 0x3e, 0x38, 0x65, 0x89, 0x76, 0xe0, 0x54, 0x10, 0x26, 0x6c, 0x3f, 0x50, 0xf8, 0x62, 0x3e, 0xf0, + 0x6c, 0x3d, 0x8f, 0x89, 0x7a, 0x4e, 0xdd, 0xcc, 0xf2, 0xc3, 0x9d, 0x55, 0xa0, 0x5b, 0xd2, 0x29, + 0x53, 0x66, 0x75, 0x3d, 0x57, 0xac, 0xae, 0xde, 0x3e, 0x19, 0xfb, 0x07, 0x16, 0x54, 0x24, 0xd9, + 0x49, 0x1c, 0x86, 0xdc, 0x85, 0xe1, 0x98, 0x7d, 0x22, 0x39, 0x5c, 0x17, 0x8b, 0x75, 0x81, 0x7f, + 0xd7, 0x74, 0x13, 0xe4, 0xff, 0x63, 0x2c, 0xb9, 0x31, 0x37, 0xac, 0xea, 0xc8, 0xfb, 0xce, 0x0d, + 0xab, 0x5a, 0xd6, 0xfb, 0xcc, 0x63, 0xdc, 0x30, 0x9f, 0xa9, 0x26, 0xd7, 0x8a, 0xc8, 0xa6, 0xf7, + 0x20, 0xab, 0xc9, 0xd5, 0x18, 0x14, 0x0b, 0x2c, 0xda, 0x84, 0xb1, 0x86, 0xf4, 0xdf, 0xa6, 0x22, + 0xe4, 0xc3, 0x05, 0xbd, 0xc2, 0xea, 0x80, 0x81, 0x07, 0xad, 0x2c, 0x69, 0x9c, 0xb0, 0xc1, 0x97, + 0xca, 0xa9, 0xf4, 0x0c, 0xb5, 0x5c, 0xd0, 0xd3, 0x11, 0x91, 0x24, 0xad, 0xa1, 0xe7, 0xf1, 0xa9, + 0xfd, 0x0d, 0x0b, 0x86, 0xb8, 0xc3, 0xaf, 0x98, 0xd7, 0x54, 0x3b, 0x3a, 0x49, 0xc7, 0xf3, 0x0e, + 0x05, 0x8a, 0x93, 0x14, 0x74, 0x17, 0x2a, 0xec, 0x07, 0x73, 0x5e, 0x94, 0x8b, 0x44, 0xf0, 0xf0, + 0xfa, 0xf5, 0xa6, 0xde, 0x91, 0x0c, 0x70, 0xca, 0xcb, 0xfe, 0x5e, 0x99, 0x8a, 0xbe, 0x94, 0xd4, + 0xd8, 0xdb, 0xad, 0x93, 0xd8, 0xdb, 0x4b, 0xc7, 0xbf, 0xb7, 0xbf, 0x0b, 0x93, 0x0d, 0xed, 0xe8, + 0x26, 0xfd, 0xe2, 0x97, 0x0b, 0x4e, 0x2b, 0xed, 0xbc, 0x87, 0x3b, 0xb8, 0x96, 0x4c, 0x76, 0x38, + 0xcb, 0x1f, 0x11, 0x18, 0xe3, 0xf3, 0x41, 0xd4, 0x37, 0xc0, 0xea, 0x9b, 0x2f, 0x32, 0xc3, 0xf4, + 0xca, 0xd8, 0x2c, 0xae, 0x6b, 0x8c, 0xb0, 0xc1, 0xd6, 0xfe, 0x9b, 0x83, 0x30, 0xb8, 0xbc, 0x43, + 0x82, 0xe4, 0x04, 0x44, 0x5d, 0x13, 0x26, 0xbc, 0x60, 0x27, 0xf4, 0x77, 0x88, 0xcb, 0xf1, 0x47, + 0xdb, 0xde, 0x1f, 0x11, 0x95, 0x4c, 0xac, 0x1a, 0xcc, 0x70, 0x86, 0xf9, 0x71, 0x98, 0xd6, 0xaf, + 0xc3, 0x10, 0x9f, 0x19, 0xc2, 0xae, 0xce, 0x71, 0x80, 0xb3, 0x81, 0x15, 0x2b, 0x28, 0x75, 0x00, + 0x70, 0xdf, 0xbb, 0x60, 0x84, 0xde, 0x81, 0x89, 0x4d, 0x2f, 0x8a, 0x13, 0x6a, 0x1d, 0xc7, 0x89, + 0xd3, 0x6c, 0x1d, 0xc1, 0xa8, 0x56, 0x23, 0xb2, 0x62, 0x70, 0xc2, 0x19, 0xce, 0x68, 0x0b, 0xc6, + 0xa9, 0x4d, 0x97, 0x56, 0x35, 0xdc, 0x77, 0x55, 0xca, 0xa7, 0x76, 0x43, 0x67, 0x84, 0x4d, 0xbe, + 0x54, 0x24, 0x35, 0x98, 0x0d, 0x38, 0xc2, 0xb4, 0x1b, 0x25, 0x92, 0xb8, 0xf1, 0xc7, 0x71, 0x54, + 0xb2, 0xb1, 0x18, 0x8a, 0x8a, 0x29, 0xd9, 0xd2, 0x48, 0x09, 0xfb, 0x5b, 0x74, 0x2f, 0xa6, 0x63, + 0x78, 0x02, 0xdb, 0xd7, 0x35, 0x73, 0xfb, 0x7a, 0xaa, 0xc0, 0x97, 0xed, 0xb1, 0x75, 0xbd, 0x0d, + 0xa3, 0xda, 0x87, 0x47, 0xf3, 0x50, 0x69, 0xc8, 0x63, 0x7e, 0x21, 0xc5, 0x95, 0x2a, 0xa5, 0xce, + 0xff, 0x71, 0x4a, 0x43, 0xc7, 0x85, 0xaa, 0xa0, 0xd9, 0xa0, 0x20, 0xaa, 0xa0, 0x62, 0x86, 0xb1, + 0x5f, 0x04, 0x58, 0x7e, 0x40, 0x1a, 0x0b, 0x0d, 0x16, 0x8b, 0xa2, 0x1d, 0x88, 0x59, 0xbd, 0x0f, + 0xc4, 0xec, 0x6f, 0x5a, 0x30, 0xb1, 0xb2, 0x64, 0xe8, 0xf4, 0x73, 0x00, 0x5c, 0x37, 0xbe, 0x7b, + 0xf7, 0xa6, 0x74, 0xf8, 0x72, 0xaf, 0x9c, 0x82, 0x62, 0x8d, 0x02, 0x3d, 0x06, 0x65, 0xbf, 0x1d, + 0x08, 0x95, 0x75, 0x78, 0x7f, 0x6f, 0xb6, 0x7c, 0xa3, 0x1d, 0x60, 0x0a, 0xd3, 0xa2, 0x6f, 0xca, + 0x85, 0xa3, 0x6f, 0xf2, 0xe3, 0x50, 0xbf, 0x5e, 0x86, 0xa9, 0x15, 0x9f, 0x3c, 0x30, 0x5a, 0xfd, + 0x0c, 0x0c, 0xb9, 0x91, 0xb7, 0x43, 0xa2, 0xac, 0x22, 0x50, 0x65, 0x50, 0x2c, 0xb0, 0x85, 0x03, + 0x82, 0xde, 0xea, 0xdc, 0xc8, 0x8f, 0x2f, 0x18, 0x2a, 0xb7, 0xcf, 0x68, 0x13, 0x86, 0xf9, 0x01, + 0x6a, 0x3c, 0x3d, 0xc8, 0xa6, 0xe2, 0xab, 0x87, 0x37, 0x26, 0x3b, 0x3e, 0x73, 0xc2, 0x21, 0xc1, + 0x43, 0x31, 0x94, 0x2c, 0x13, 0x50, 0x2c, 0x99, 0xcf, 0x7c, 0x0c, 0xc6, 0x74, 0xca, 0xbe, 0x62, + 0x32, 0x7e, 0xd1, 0x82, 0xd3, 0x2b, 0x7e, 0xd8, 0xb8, 0x97, 0x89, 0xd8, 0x7a, 0x19, 0x46, 0xe9, + 0x62, 0x8a, 0x8d, 0x70, 0x46, 0x23, 0x6e, 0x53, 0xa0, 0xb0, 0x4e, 0xa7, 0x15, 0xbb, 0x7d, 0x7b, + 0xb5, 0xda, 0x2d, 0xdc, 0x53, 0xa0, 0xb0, 0x4e, 0x67, 0xff, 0xae, 0x05, 0x4f, 0x5c, 0x5d, 0x5a, + 0xae, 0x91, 0x28, 0xf6, 0xe2, 0x84, 0x04, 0x49, 0x47, 0xc4, 0x29, 0xd5, 0x19, 0x5d, 0xad, 0x29, + 0xa9, 0xce, 0x58, 0x65, 0xad, 0x10, 0xd8, 0xf7, 0x4b, 0xd8, 0xf5, 0x37, 0x2c, 0x38, 0x7d, 0xd5, + 0x4b, 0x30, 0x69, 0x85, 0xd9, 0x20, 0xd1, 0x88, 0xb4, 0xc2, 0xd8, 0x4b, 0xc2, 0x68, 0x37, 0x1b, + 0x24, 0x8a, 0x15, 0x06, 0x6b, 0x54, 0xbc, 0xe6, 0x1d, 0x2f, 0xa6, 0x2d, 0x2d, 0x99, 0xa6, 0x2e, + 0x16, 0x70, 0xac, 0x28, 0x68, 0xc7, 0x5c, 0x2f, 0x62, 0x2a, 0xc3, 0xae, 0x58, 0xc1, 0xaa, 0x63, + 0x55, 0x89, 0xc0, 0x29, 0x8d, 0xfd, 0xb7, 0x2d, 0x38, 0x7b, 0xd5, 0x6f, 0xc7, 0x09, 0x89, 0x36, + 0x63, 0xa3, 0xb1, 0x2f, 0x42, 0x85, 0x48, 0xe5, 0x5e, 0xb4, 0x55, 0x6d, 0x1a, 0x4a, 0xeb, 0xe7, + 0x11, 0xaa, 0x8a, 0xae, 0x40, 0x20, 0x64, 0x7f, 0x61, 0x7b, 0xbf, 0x59, 0x82, 0xf1, 0x6b, 0xeb, + 0xeb, 0xb5, 0xab, 0x24, 0x11, 0x52, 0x32, 0xdf, 0x29, 0x55, 0xd3, 0x2c, 0x72, 0x6d, 0x6f, 0xc9, + 0xac, 0xba, 0x76, 0xe2, 0xf9, 0x73, 0xfc, 0x42, 0xc0, 0xdc, 0x6a, 0x90, 0xdc, 0x8a, 0xea, 0x49, + 0xe4, 0x05, 0x5b, 0x5d, 0x2d, 0x78, 0x29, 0xc9, 0xcb, 0xbd, 0x24, 0x39, 0x7a, 0x11, 0x86, 0xd8, + 0x7d, 0x04, 0xa9, 0x7a, 0xfc, 0x9c, 0xd2, 0x12, 0x18, 0xf4, 0x60, 0x6f, 0xb6, 0x72, 0x1b, 0xaf, + 0xf2, 0x3f, 0x58, 0x90, 0xa2, 0xb7, 0x60, 0x74, 0x3b, 0x49, 0x5a, 0xd7, 0x88, 0xe3, 0x92, 0x48, + 0x4a, 0x89, 0x0b, 0x87, 0x4b, 0x09, 0x3a, 0x18, 0xbc, 0x40, 0xba, 0xb0, 0x52, 0x58, 0x8c, 0x75, + 0x8e, 0x76, 0x1d, 0x20, 0xc5, 0x3d, 0x24, 0x0b, 0xc4, 0xfe, 0x85, 0x12, 0x0c, 0x5f, 0x73, 0x02, + 0xd7, 0x27, 0x11, 0x5a, 0x81, 0x01, 0xf2, 0x80, 0x34, 0xc4, 0x36, 0x9e, 0xd3, 0xf4, 0x74, 0xab, + 0xe3, 0x5e, 0x35, 0xfa, 0x1f, 0xb3, 0xf2, 0x08, 0xc3, 0x30, 0x6d, 0xf7, 0x55, 0x15, 0x3d, 0xfc, + 0x7c, 0xfe, 0x28, 0xa8, 0x29, 0xc1, 0xf7, 0x49, 0x01, 0xc2, 0x92, 0x11, 0xf3, 0x3f, 0x35, 0x5a, + 0x75, 0x2a, 0xdc, 0x92, 0x62, 0x76, 0xdd, 0xfa, 0x52, 0x8d, 0x93, 0x0b, 0xbe, 0xdc, 0xff, 0x24, + 0x81, 0x38, 0x65, 0x67, 0x5f, 0x81, 0x33, 0xec, 0xf8, 0xd2, 0x49, 0xb6, 0x8d, 0x35, 0x93, 0x3b, + 0x39, 0xed, 0xbf, 0x5b, 0x82, 0x53, 0xab, 0xf5, 0xa5, 0xba, 0xe9, 0x39, 0xbc, 0x02, 0x63, 0x7c, + 0x7b, 0xa6, 0x93, 0xce, 0xf1, 0x45, 0x79, 0xe5, 0x72, 0x5f, 0xd7, 0x70, 0xd8, 0xa0, 0x44, 0x4f, + 0x40, 0xd9, 0x7b, 0x37, 0xc8, 0x46, 0x7b, 0xad, 0xbe, 0x7e, 0x13, 0x53, 0x38, 0x45, 0xd3, 0x9d, + 0x9e, 0x8b, 0x38, 0x85, 0x56, 0xbb, 0xfd, 0x6b, 0x30, 0xe1, 0xc5, 0x8d, 0xd8, 0x5b, 0x0d, 0xe8, + 0xfa, 0x77, 0x1a, 0x72, 0xfa, 0xa6, 0xaa, 0x39, 0x6d, 0xaa, 0xc2, 0xe2, 0x0c, 0xb5, 0x26, 0x6f, + 0x07, 0x0b, 0x6b, 0x0b, 0xf9, 0x61, 0xc4, 0xef, 0x40, 0x45, 0x85, 0x3b, 0xc9, 0x70, 0x36, 0xab, + 0x47, 0x38, 0x5b, 0xbe, 0xc0, 0x91, 0xfe, 0xdc, 0x72, 0x57, 0x7f, 0xee, 0x3f, 0xb6, 0x20, 0x8d, + 0xd7, 0x40, 0x18, 0x2a, 0xad, 0x90, 0x1d, 0x96, 0x44, 0xf2, 0x54, 0xf2, 0xe9, 0x9c, 0x99, 0xc8, + 0x57, 0x02, 0x9f, 0x2b, 0x35, 0x59, 0x16, 0xa7, 0x6c, 0xd0, 0x0d, 0x18, 0x6e, 0x45, 0xa4, 0x9e, + 0xb0, 0x58, 0xf4, 0x3e, 0x38, 0xb2, 0x59, 0x5d, 0xe3, 0x25, 0xb1, 0x64, 0x61, 0xff, 0x0b, 0x0b, + 0xe0, 0x86, 0xd7, 0xf4, 0x12, 0xec, 0x04, 0x5b, 0xe4, 0x04, 0x8c, 0xbd, 0x9b, 0x30, 0x10, 0xb7, + 0x48, 0xa3, 0xd8, 0x71, 0x57, 0xda, 0xb2, 0x7a, 0x8b, 0x34, 0xd2, 0xcf, 0x41, 0xff, 0x61, 0xc6, + 0xc7, 0xfe, 0x2e, 0xc0, 0x44, 0x4a, 0x46, 0x15, 0x6e, 0xf4, 0x82, 0x11, 0x84, 0xfd, 0x58, 0x26, + 0x08, 0xbb, 0xc2, 0xa8, 0xb5, 0xb8, 0xeb, 0x04, 0xca, 0x4d, 0xe7, 0x81, 0xd0, 0xef, 0x5f, 0x2e, + 0xda, 0x20, 0x5a, 0xd3, 0xdc, 0x9a, 0xf3, 0x80, 0xab, 0x53, 0xcf, 0xcb, 0x89, 0xb4, 0xe6, 0x3c, + 0x38, 0xe0, 0x87, 0x5a, 0x6c, 0x25, 0x52, 0x83, 0xe2, 0x4b, 0x7f, 0x94, 0xfe, 0x67, 0xc2, 0x91, + 0x56, 0xc7, 0x6a, 0xf5, 0x02, 0xe1, 0x9e, 0xec, 0xb3, 0x56, 0x2f, 0xc8, 0xd6, 0xea, 0x05, 0x05, + 0x6a, 0xf5, 0x02, 0xf4, 0x65, 0x0b, 0x86, 0x85, 0x57, 0x9f, 0x45, 0xc0, 0x8d, 0x5e, 0xfe, 0x68, + 0x5f, 0x55, 0x8b, 0xe3, 0x01, 0x5e, 0xfd, 0xbc, 0xd4, 0x21, 0x05, 0x34, 0xb7, 0x09, 0xb2, 0x6a, + 0xf4, 0xab, 0x16, 0x4c, 0x88, 0xdf, 0x98, 0xbc, 0xdb, 0x26, 0x71, 0x22, 0x76, 0xab, 0x4f, 0x1e, + 0xa5, 0x35, 0x82, 0x05, 0x6f, 0xd4, 0x47, 0xa4, 0xa8, 0x31, 0x91, 0xb9, 0x6d, 0xcb, 0xb4, 0x07, + 0x7d, 0xd7, 0x82, 0x33, 0x4d, 0xe7, 0x01, 0xaf, 0x91, 0xc3, 0xb0, 0x93, 0x78, 0xa1, 0x88, 0xf2, + 0x5b, 0xe9, 0x77, 0x9e, 0x74, 0x30, 0xe2, 0xcd, 0x95, 0x01, 0x3c, 0x67, 0xba, 0x91, 0xe4, 0x36, + 0xba, 0x6b, 0x0b, 0x67, 0x36, 0x61, 0x44, 0x4e, 0xcc, 0x2e, 0xda, 0x7b, 0x55, 0xdf, 0x94, 0x73, + 0x6c, 0xe5, 0x39, 0xe9, 0xf1, 0x9a, 0x7b, 0xbd, 0xed, 0x04, 0x89, 0x97, 0xec, 0x6a, 0xda, 0x3e, + 0xab, 0x47, 0x4c, 0xc5, 0x63, 0xad, 0xe7, 0x1d, 0x18, 0xd3, 0xe7, 0xdd, 0xb1, 0xd6, 0xf5, 0x2e, + 0x9c, 0xee, 0x32, 0xab, 0x8e, 0xb5, 0xca, 0xfb, 0xf0, 0x58, 0xcf, 0xf9, 0x71, 0x9c, 0x15, 0xdb, + 0xff, 0xdc, 0xd2, 0x45, 0xe7, 0x09, 0xf8, 0x52, 0xd6, 0x4c, 0x5f, 0xca, 0x85, 0xa2, 0x6b, 0xa8, + 0x87, 0x43, 0x65, 0x53, 0x6f, 0x3e, 0xdd, 0x12, 0xd0, 0x3a, 0x0c, 0xf9, 0x14, 0x22, 0x8f, 0xb2, + 0x2e, 0xf6, 0xb3, 0x4a, 0x53, 0x6d, 0x83, 0xc1, 0x63, 0x2c, 0x78, 0xd9, 0xdf, 0xb5, 0x60, 0xe0, + 0xa7, 0x78, 0x45, 0xa4, 0x83, 0xb5, 0xb8, 0xb1, 0x3c, 0x87, 0x9d, 0xfb, 0xcb, 0x0f, 0x12, 0x12, + 0xc4, 0x4c, 0xb9, 0xec, 0x3a, 0x44, 0xbf, 0x56, 0x82, 0x51, 0x5a, 0x95, 0x0c, 0x46, 0x78, 0x15, + 0xc6, 0x7d, 0x67, 0x83, 0xf8, 0xd2, 0x0f, 0x9c, 0x35, 0xc4, 0x6e, 0xe8, 0x48, 0x6c, 0xd2, 0xd2, + 0xc2, 0x9b, 0xba, 0x9b, 0x5c, 0x28, 0x49, 0xaa, 0xb0, 0xe1, 0x43, 0xc7, 0x26, 0x2d, 0xb5, 0x05, + 0xee, 0x3b, 0x49, 0x63, 0x5b, 0x18, 0x69, 0xaa, 0xb9, 0x77, 0x29, 0x10, 0x73, 0x1c, 0x5a, 0x80, + 0x49, 0x39, 0x63, 0xef, 0x50, 0xeb, 0x3d, 0x0c, 0x84, 0x02, 0xa9, 0xae, 0x99, 0x62, 0x13, 0x8d, + 0xb3, 0xf4, 0xe8, 0x63, 0x30, 0x41, 0x07, 0x27, 0x6c, 0x27, 0x32, 0xd4, 0x62, 0x90, 0x85, 0x5a, + 0xb0, 0x48, 0xdd, 0x75, 0x03, 0x83, 0x33, 0x94, 0xf6, 0x5b, 0x70, 0xfa, 0x46, 0xe8, 0xb8, 0x8b, + 0x8e, 0xef, 0x04, 0x0d, 0x12, 0xad, 0x06, 0x5b, 0xb9, 0xa7, 0xd2, 0xfa, 0xc9, 0x71, 0x29, 0xef, + 0xe4, 0xd8, 0x8e, 0x00, 0xe9, 0x15, 0x88, 0x20, 0xa1, 0x37, 0x61, 0xd8, 0xe3, 0x55, 0x89, 0x69, + 0x7b, 0x29, 0xcf, 0xcd, 0xd4, 0xd1, 0x46, 0x2d, 0xe8, 0x85, 0x03, 0xb0, 0x64, 0x49, 0x6d, 0x8b, + 0x6e, 0x7e, 0xa9, 0x7c, 0xf3, 0xcd, 0xfe, 0x4b, 0x16, 0x4c, 0xde, 0xcc, 0xdc, 0x61, 0x7c, 0x06, + 0x86, 0x62, 0x12, 0x75, 0x71, 0xb2, 0xd5, 0x19, 0x14, 0x0b, 0xec, 0x43, 0x37, 0xdc, 0x7f, 0xb9, + 0x04, 0x15, 0x16, 0x6e, 0xda, 0xa2, 0x76, 0xc2, 0xf1, 0xab, 0xa9, 0x6b, 0x86, 0x9a, 0x9a, 0x63, + 0x3e, 0xaa, 0x86, 0xf5, 0xd2, 0x52, 0xd1, 0x6d, 0x75, 0xb7, 0xaf, 0x90, 0xe5, 0x98, 0x32, 0xe4, + 0xf7, 0xbf, 0x26, 0xcc, 0xab, 0x80, 0xf2, 0xde, 0x1f, 0x3b, 0xcb, 0x55, 0xb4, 0xef, 0xbb, 0xb3, + 0x5c, 0xd5, 0xb2, 0x1e, 0xc2, 0xa9, 0xa6, 0x35, 0x9e, 0x89, 0xef, 0x4f, 0xb0, 0x20, 0x42, 0xc7, + 0xf7, 0x3e, 0x4f, 0xd4, 0x15, 0xd9, 0x59, 0x11, 0x14, 0x28, 0xa0, 0x07, 0x4c, 0xce, 0x88, 0x7f, + 0xfc, 0x06, 0x74, 0x5a, 0xc4, 0xbe, 0x06, 0x93, 0x99, 0xa1, 0x43, 0x2f, 0xc3, 0x60, 0x6b, 0xdb, + 0x89, 0x49, 0x26, 0x3c, 0x65, 0xb0, 0x46, 0x81, 0x07, 0x7b, 0xb3, 0x13, 0xaa, 0x00, 0x83, 0x60, + 0x4e, 0x6d, 0x7f, 0xb9, 0x04, 0x03, 0x37, 0x43, 0xf7, 0x24, 0xa6, 0xda, 0x35, 0x63, 0xaa, 0x3d, + 0x93, 0x9f, 0x3f, 0xa1, 0xe7, 0x2c, 0xab, 0x65, 0x66, 0xd9, 0x85, 0x02, 0xbc, 0x0e, 0x9f, 0x60, + 0x4d, 0x18, 0x65, 0xf9, 0x19, 0x44, 0x7c, 0xce, 0x8b, 0x86, 0x65, 0x35, 0x9b, 0xb1, 0xac, 0x26, + 0x35, 0x52, 0xcd, 0xbe, 0x7a, 0x16, 0x86, 0x45, 0x3c, 0x48, 0x36, 0x84, 0x52, 0xd0, 0x62, 0x89, + 0xb7, 0xff, 0x59, 0x19, 0x8c, 0x7c, 0x10, 0xe8, 0x07, 0x16, 0xcc, 0x45, 0xfc, 0x3a, 0x8a, 0x5b, + 0x6d, 0x47, 0x5e, 0xb0, 0x55, 0x6f, 0x6c, 0x13, 0xb7, 0xed, 0x7b, 0xc1, 0xd6, 0xea, 0x56, 0x10, + 0x2a, 0xf0, 0xf2, 0x03, 0xd2, 0x68, 0x33, 0xf7, 0x6b, 0xe1, 0x34, 0x14, 0xea, 0x2c, 0xf4, 0xf2, + 0xfe, 0xde, 0xec, 0x1c, 0xee, 0xab, 0x16, 0xdc, 0x67, 0xab, 0xd0, 0x1f, 0x58, 0x30, 0xcf, 0x33, + 0x22, 0x14, 0xef, 0x49, 0x21, 0x8b, 0xb4, 0x26, 0x99, 0xa6, 0xec, 0xd6, 0x49, 0xd4, 0x5c, 0x7c, + 0x45, 0x0c, 0xf2, 0x7c, 0xad, 0xbf, 0x5a, 0x71, 0xbf, 0xcd, 0xb4, 0xff, 0x55, 0x19, 0xc6, 0xe9, + 0x78, 0xa6, 0xb7, 0xa0, 0x5f, 0x36, 0xa6, 0xc9, 0x93, 0x99, 0x69, 0x72, 0xca, 0x20, 0x7e, 0x38, + 0x17, 0xa0, 0x63, 0x38, 0xe5, 0x3b, 0x71, 0x72, 0x8d, 0x38, 0x51, 0xb2, 0x41, 0x1c, 0x76, 0xe4, + 0x98, 0x0d, 0x67, 0x28, 0x70, 0x8a, 0xa9, 0x62, 0x8c, 0x6e, 0x64, 0x99, 0xe1, 0x4e, 0xfe, 0x68, + 0x07, 0x10, 0x3b, 0xde, 0x8c, 0x9c, 0x20, 0xe6, 0x7d, 0xf1, 0x84, 0xc3, 0xb6, 0xbf, 0x5a, 0x67, + 0x44, 0xad, 0xe8, 0x46, 0x07, 0x37, 0xdc, 0xa5, 0x06, 0xed, 0x00, 0x7b, 0xb0, 0xe8, 0x01, 0xf6, + 0x50, 0x4e, 0xec, 0xf2, 0x57, 0x2c, 0x38, 0x4d, 0x3f, 0x8b, 0x19, 0xe7, 0x1a, 0xa3, 0x10, 0x26, + 0xe9, 0xb4, 0xf3, 0x49, 0x22, 0x61, 0x62, 0x7d, 0xe5, 0x68, 0xd6, 0x26, 0x9f, 0x54, 0x7d, 0xbb, + 0x6e, 0x32, 0xc3, 0x59, 0xee, 0xf6, 0x37, 0x2d, 0x60, 0x81, 0x74, 0x27, 0xb0, 0x99, 0x5d, 0x35, + 0x37, 0x33, 0x3b, 0x5f, 0x62, 0xf4, 0xd8, 0xc7, 0x5e, 0x82, 0x29, 0x8a, 0xad, 0x45, 0xe1, 0x83, + 0x5d, 0xa9, 0x68, 0xe7, 0x7b, 0x6e, 0xbf, 0x52, 0xe2, 0xcb, 0x46, 0xdd, 0xab, 0x43, 0xbf, 0x64, + 0xc1, 0x48, 0xc3, 0x69, 0x39, 0x0d, 0x9e, 0x4d, 0xa7, 0x80, 0x77, 0xc6, 0x28, 0x3f, 0xb7, 0x24, + 0xca, 0x72, 0xcf, 0xc2, 0x87, 0x65, 0xd7, 0x25, 0x38, 0xd7, 0x9b, 0xa0, 0x2a, 0x9f, 0xb9, 0x07, + 0xe3, 0x06, 0xb3, 0x63, 0x35, 0x43, 0x7f, 0xc9, 0xe2, 0x42, 0x5f, 0x99, 0x0a, 0xf7, 0xe1, 0x54, + 0xa0, 0xfd, 0xa7, 0xe2, 0x4c, 0x6a, 0xc6, 0x73, 0xc5, 0xc5, 0x3a, 0x93, 0x82, 0x5a, 0xd0, 0x60, + 0x86, 0x21, 0xee, 0xac, 0xc3, 0xfe, 0x7b, 0x16, 0x3c, 0xaa, 0x13, 0x6a, 0x17, 0x21, 0xf3, 0xfc, + 0xc6, 0x55, 0x18, 0x09, 0x5b, 0x24, 0x72, 0x52, 0xb3, 0xe8, 0x82, 0x1c, 0xff, 0x5b, 0x02, 0x7e, + 0xb0, 0x37, 0x7b, 0x46, 0xe7, 0x2e, 0xe1, 0x58, 0x95, 0x44, 0x36, 0x0c, 0xb1, 0x71, 0x89, 0xc5, + 0x15, 0x56, 0x96, 0x5d, 0x86, 0x9d, 0x96, 0xc4, 0x58, 0x60, 0xec, 0xbf, 0x66, 0xf1, 0xe9, 0xa6, + 0x37, 0x1d, 0x7d, 0x01, 0xa6, 0x9a, 0xd4, 0x82, 0x5a, 0x7e, 0xd0, 0xa2, 0x1b, 0x29, 0x3b, 0x25, + 0xb6, 0x8a, 0x6c, 0x1f, 0x3d, 0xba, 0xbb, 0x38, 0x2d, 0x5a, 0x3f, 0xb5, 0x96, 0x61, 0x8b, 0x3b, + 0x2a, 0xb2, 0xff, 0xb3, 0x58, 0xb3, 0x4c, 0x87, 0x7b, 0x16, 0x86, 0x5b, 0xa1, 0xbb, 0xb4, 0x5a, + 0xc5, 0x62, 0xac, 0x94, 0xd0, 0xa9, 0x71, 0x30, 0x96, 0x78, 0x74, 0x19, 0x80, 0x3c, 0x48, 0x48, + 0x14, 0x38, 0xbe, 0x3a, 0xdd, 0x55, 0xaa, 0xd2, 0xb2, 0xc2, 0x60, 0x8d, 0x8a, 0x96, 0x69, 0x45, + 0xe1, 0x8e, 0xe7, 0xb2, 0x08, 0xfe, 0xb2, 0x59, 0xa6, 0xa6, 0x30, 0x58, 0xa3, 0xa2, 0x76, 0x6b, + 0x3b, 0x88, 0xf9, 0x36, 0xe6, 0x6c, 0x88, 0x64, 0x28, 0x23, 0xa9, 0xdd, 0x7a, 0x5b, 0x47, 0x62, + 0x93, 0xd6, 0xfe, 0x0f, 0x15, 0x80, 0x54, 0x51, 0x42, 0x5f, 0xee, 0x5c, 0xa3, 0x1f, 0x29, 0xaa, + 0x65, 0x3d, 0xbc, 0x05, 0x8a, 0xbe, 0x66, 0xc1, 0xa8, 0xe3, 0xfb, 0x61, 0xc3, 0x49, 0x58, 0x8f, + 0x4a, 0x45, 0xa5, 0x85, 0x68, 0xc9, 0x42, 0x5a, 0x96, 0x37, 0xe6, 0x45, 0x79, 0xf8, 0xa7, 0x61, + 0x72, 0xdb, 0xa3, 0x37, 0x01, 0x7d, 0x58, 0x2a, 0xda, 0xfc, 0xa3, 0xcc, 0x64, 0x15, 0xed, 0x0a, + 0x93, 0x91, 0x9a, 0x8e, 0x8d, 0xde, 0x32, 0xf2, 0x7d, 0x0c, 0x14, 0xb9, 0x39, 0x69, 0xa8, 0x0e, + 0x79, 0xa9, 0x3e, 0xd0, 0x67, 0xf4, 0xe0, 0xe6, 0xc1, 0x22, 0x57, 0x93, 0x35, 0x0d, 0x36, 0x27, + 0xb0, 0x39, 0x81, 0x49, 0xd7, 0xdc, 0x2c, 0x45, 0x80, 0xd6, 0xa5, 0xfc, 0x1a, 0x32, 0xbb, 0x6c, + 0xba, 0x3d, 0x66, 0x10, 0x38, 0x5b, 0x05, 0xfa, 0x0c, 0x0f, 0x3d, 0x5f, 0x0d, 0x36, 0x43, 0x11, + 0xa4, 0x75, 0xb1, 0xc0, 0x37, 0xdf, 0x8d, 0x13, 0xd2, 0xa4, 0x65, 0xd2, 0xfd, 0xf0, 0xa6, 0xe0, + 0x82, 0x15, 0x3f, 0xb4, 0x0e, 0x43, 0xec, 0xa2, 0x4c, 0x3c, 0x3d, 0x52, 0xc4, 0x79, 0x66, 0xde, + 0x0f, 0x4d, 0x95, 0x10, 0xf6, 0x37, 0xc6, 0x82, 0x17, 0xba, 0x26, 0x6f, 0x88, 0xc7, 0xab, 0xc1, + 0xed, 0x98, 0xb0, 0x1b, 0xe2, 0x95, 0xc5, 0x0f, 0xa6, 0x57, 0xbe, 0x39, 0xbc, 0x6b, 0xc6, 0x33, + 0xa3, 0x24, 0xd5, 0x45, 0xc4, 0x7f, 0x99, 0x48, 0x6d, 0x1a, 0x8a, 0x34, 0xd4, 0x4c, 0xbb, 0x96, + 0x0e, 0xf6, 0x1d, 0x93, 0x19, 0xce, 0x72, 0x3f, 0xd1, 0x5d, 0x70, 0x26, 0x80, 0xa9, 0xec, 0xa2, + 0x3c, 0xd6, 0x5d, 0xf7, 0x27, 0x03, 0x30, 0x61, 0x4e, 0x0e, 0x34, 0x0f, 0x15, 0xc1, 0x44, 0x25, + 0x56, 0x52, 0x6b, 0x60, 0x4d, 0x22, 0x70, 0x4a, 0xc3, 0x52, 0x4c, 0xb1, 0xe2, 0x5a, 0x78, 0x4e, + 0x9a, 0x62, 0x4a, 0x61, 0xb0, 0x46, 0x45, 0x95, 0xd7, 0x8d, 0x30, 0x4c, 0x94, 0xf0, 0x56, 0xf3, + 0x66, 0x91, 0x41, 0xb1, 0xc0, 0x52, 0xa1, 0x7d, 0x8f, 0x7e, 0x4c, 0xdf, 0x74, 0x04, 0x2a, 0xa1, + 0x7d, 0x5d, 0x47, 0x62, 0x93, 0x96, 0x6e, 0x42, 0x61, 0xcc, 0x26, 0xa2, 0x50, 0x91, 0xd3, 0x70, + 0xa7, 0x3a, 0xbf, 0x3c, 0x26, 0xf1, 0xe8, 0xd3, 0xf0, 0xa8, 0xba, 0xeb, 0x85, 0xb9, 0x63, 0x55, + 0xd6, 0x38, 0x64, 0x58, 0xb9, 0x8f, 0x2e, 0x75, 0x27, 0xc3, 0xbd, 0xca, 0xa3, 0xd7, 0x60, 0x42, + 0xa8, 0xb7, 0x92, 0xe3, 0xb0, 0x79, 0x1a, 0x7e, 0xdd, 0xc0, 0xe2, 0x0c, 0x35, 0xaa, 0xc2, 0x14, + 0x85, 0x30, 0xbd, 0x52, 0x72, 0xe0, 0x77, 0xd6, 0xd4, 0xee, 0x7c, 0x3d, 0x83, 0xc7, 0x1d, 0x25, + 0xd0, 0x02, 0x4c, 0x72, 0xfd, 0x82, 0xda, 0x72, 0xec, 0x3b, 0x88, 0xc8, 0x4a, 0xb5, 0x10, 0x6e, + 0x99, 0x68, 0x9c, 0xa5, 0x47, 0x57, 0x60, 0xcc, 0x89, 0x1a, 0xdb, 0x5e, 0x42, 0x1a, 0x49, 0x3b, + 0xe2, 0xf9, 0x17, 0xb4, 0x70, 0x82, 0x05, 0x0d, 0x87, 0x0d, 0x4a, 0xfb, 0xf3, 0x70, 0xba, 0x4b, + 0x18, 0x37, 0x9d, 0x38, 0x4e, 0xcb, 0x93, 0x7d, 0xca, 0x04, 0x2e, 0x2d, 0xd4, 0x56, 0x65, 0x6f, + 0x34, 0x2a, 0x3a, 0x3b, 0x99, 0x47, 0x59, 0xcb, 0x7b, 0xa8, 0x66, 0xe7, 0x8a, 0x44, 0xe0, 0x94, + 0xc6, 0xfe, 0xd3, 0x0a, 0x68, 0x0e, 0x97, 0x02, 0xe1, 0x2a, 0x57, 0x60, 0x4c, 0xa6, 0xf2, 0xd4, + 0x52, 0xe8, 0xa9, 0x6e, 0x5e, 0xd5, 0x70, 0xd8, 0xa0, 0xa4, 0x6d, 0x0b, 0xa4, 0x1b, 0x29, 0x1b, + 0x26, 0xa5, 0xfc, 0x4b, 0x38, 0xa5, 0x41, 0x17, 0x61, 0x24, 0x26, 0xfe, 0xe6, 0x0d, 0x2f, 0xb8, + 0x27, 0x26, 0xb6, 0x92, 0xcc, 0x75, 0x01, 0xc7, 0x8a, 0x02, 0x2d, 0x42, 0xb9, 0xed, 0xb9, 0x62, + 0x2a, 0x4b, 0xb5, 0xa1, 0x7c, 0x7b, 0xb5, 0x7a, 0xb0, 0x37, 0xfb, 0x64, 0xaf, 0xbc, 0xa6, 0xd4, + 0xa4, 0x8e, 0xe7, 0xe8, 0xf2, 0xa3, 0x85, 0xbb, 0xb9, 0xd6, 0x87, 0xfa, 0x74, 0xad, 0x5f, 0x06, + 0x10, 0xbd, 0x96, 0x73, 0xb9, 0x9c, 0x7e, 0xb5, 0xab, 0x0a, 0x83, 0x35, 0x2a, 0x6a, 0x98, 0x37, + 0x22, 0xe2, 0x48, 0xdb, 0x95, 0x87, 0x17, 0x8f, 0x1c, 0xdd, 0x30, 0x5f, 0xca, 0x32, 0xc3, 0x9d, + 0xfc, 0x51, 0x08, 0xa7, 0x5c, 0xba, 0x90, 0x8c, 0x4a, 0x2b, 0xfd, 0xc7, 0x34, 0xd3, 0x0a, 0xab, + 0x59, 0x46, 0xb8, 0x93, 0x37, 0xfa, 0x1c, 0xcc, 0x48, 0x60, 0xe7, 0x6d, 0x4e, 0xb6, 0x5c, 0xca, + 0x8b, 0xe7, 0xf6, 0xf7, 0x66, 0x67, 0xaa, 0x3d, 0xa9, 0xf0, 0x21, 0x1c, 0xd0, 0x9b, 0x30, 0xc4, + 0x8e, 0x62, 0xe2, 0xe9, 0x51, 0xb6, 0xe3, 0xbd, 0x54, 0x24, 0x32, 0x9e, 0xce, 0xfa, 0x39, 0x76, + 0xa0, 0x23, 0x62, 0x3e, 0xd3, 0xf3, 0x2d, 0x06, 0xc4, 0x82, 0x27, 0x6a, 0xc1, 0xa8, 0x13, 0x04, + 0x61, 0xe2, 0x70, 0x45, 0x6c, 0xac, 0x88, 0x2e, 0xa9, 0x55, 0xb1, 0x90, 0x96, 0xe5, 0xf5, 0xa8, + 0x40, 0x32, 0x0d, 0x83, 0xf5, 0x2a, 0xd0, 0x7d, 0x98, 0x0c, 0xef, 0x53, 0x81, 0x29, 0x4f, 0x23, + 0xe2, 0xe9, 0x71, 0xb3, 0x63, 0x39, 0xbe, 0x55, 0xa3, 0xb0, 0x26, 0xc9, 0x4c, 0xa6, 0x38, 0x5b, + 0x0b, 0x9a, 0x33, 0x3c, 0xcc, 0x13, 0x69, 0x64, 0x73, 0xea, 0x61, 0xd6, 0x1d, 0xca, 0xec, 0xc6, + 0x30, 0x8f, 0x66, 0x64, 0x12, 0x61, 0x32, 0x73, 0x63, 0x38, 0x45, 0x61, 0x9d, 0x6e, 0xe6, 0xa3, + 0x30, 0xaa, 0x0d, 0x7c, 0x3f, 0x21, 0xb4, 0x33, 0xaf, 0xc1, 0x54, 0x76, 0x40, 0xfb, 0x0a, 0xc1, + 0xfd, 0x9f, 0x25, 0x98, 0xec, 0x72, 0xd4, 0x73, 0xcf, 0x63, 0x61, 0xe0, 0x86, 0xe8, 0xbb, 0xee, + 0x05, 0x2e, 0x66, 0x18, 0x53, 0x80, 0x95, 0x0a, 0x08, 0x30, 0x29, 0x4d, 0xcb, 0x3d, 0xa5, 0xa9, + 0x10, 0x5a, 0x03, 0xef, 0x45, 0x68, 0x99, 0xfb, 0xc4, 0x60, 0xa1, 0x7d, 0xe2, 0x21, 0x08, 0x3a, + 0x63, 0xab, 0x19, 0x2e, 0xb0, 0xd5, 0x7c, 0xa3, 0x04, 0x53, 0x69, 0xb8, 0xb1, 0xc8, 0xef, 0x7b, + 0xfc, 0x27, 0x07, 0xeb, 0xc6, 0xc9, 0x41, 0x5e, 0xfa, 0xde, 0x4c, 0xfb, 0x7a, 0x9e, 0x22, 0xbc, + 0x99, 0x39, 0x45, 0x78, 0xa9, 0x4f, 0xbe, 0x87, 0x9f, 0x28, 0x7c, 0xa7, 0x04, 0x67, 0xb3, 0x45, + 0x96, 0x7c, 0xc7, 0x6b, 0x9e, 0xc0, 0x78, 0x7d, 0xda, 0x18, 0xaf, 0x57, 0xfa, 0xeb, 0x17, 0x6b, + 0x64, 0xcf, 0x41, 0x73, 0x32, 0x83, 0xf6, 0xd1, 0xa3, 0x30, 0x3f, 0x7c, 0xe4, 0x7e, 0xcf, 0x82, + 0xc7, 0xba, 0x96, 0x3b, 0x01, 0x5f, 0xe9, 0x1b, 0xa6, 0xaf, 0xf4, 0xc5, 0x23, 0xf4, 0xae, 0x87, + 0xf3, 0xf4, 0xbf, 0x95, 0x7a, 0xf4, 0x8a, 0x79, 0x93, 0x6e, 0xc1, 0xa8, 0xd3, 0x68, 0x90, 0x38, + 0x5e, 0x0b, 0x5d, 0x95, 0x7b, 0xe8, 0x05, 0xb6, 0xb7, 0xa4, 0xe0, 0x83, 0xbd, 0xd9, 0x99, 0x2c, + 0x8b, 0x14, 0x8d, 0x75, 0x0e, 0x66, 0x56, 0xb4, 0xd2, 0x31, 0x65, 0x45, 0xbb, 0x0c, 0xb0, 0xa3, + 0xac, 0xd8, 0xac, 0x93, 0x4a, 0xb3, 0x6f, 0x35, 0x2a, 0xf4, 0xe7, 0x99, 0x46, 0xc8, 0xe3, 0x2a, + 0x06, 0xcc, 0x9b, 0x8b, 0x39, 0xdf, 0x4f, 0x8f, 0xd1, 0xe0, 0x17, 0x24, 0x95, 0x43, 0x4f, 0xb1, + 0xb4, 0xbf, 0x5d, 0x86, 0x9f, 0x3b, 0x64, 0xd2, 0xa1, 0x05, 0xf3, 0x98, 0xf4, 0xf9, 0xac, 0xf7, + 0x66, 0xa6, 0x6b, 0x61, 0xc3, 0x9d, 0x93, 0xf9, 0x56, 0xa5, 0xf7, 0xfc, 0xad, 0xbe, 0xae, 0xfb, + 0xda, 0x78, 0xa0, 0xe4, 0xd5, 0x23, 0x2f, 0xab, 0x9f, 0x55, 0xef, 0xf8, 0x97, 0x2c, 0x78, 0xb2, + 0x6b, 0xb7, 0x8c, 0xb0, 0x8c, 0x79, 0xa8, 0x34, 0x28, 0x50, 0xbb, 0xd3, 0x92, 0x5e, 0x26, 0x93, + 0x08, 0x9c, 0xd2, 0x18, 0xd1, 0x17, 0xa5, 0xdc, 0xe8, 0x8b, 0xdf, 0xb1, 0xe0, 0x4c, 0xb6, 0x11, + 0x27, 0x20, 0x75, 0xea, 0xa6, 0xd4, 0x99, 0xeb, 0xef, 0xe3, 0xf7, 0x10, 0x38, 0xbf, 0x3a, 0x0e, + 0x8f, 0x74, 0xec, 0x59, 0x7c, 0x14, 0x7f, 0xde, 0x82, 0x53, 0x5b, 0x4c, 0xf7, 0xd6, 0x2e, 0x0e, + 0x89, 0x7e, 0xe5, 0xdc, 0xb6, 0x3a, 0xf4, 0xbe, 0x11, 0xb7, 0x24, 0x3a, 0x48, 0x70, 0x67, 0x65, + 0xe8, 0xab, 0x16, 0x9c, 0x71, 0xee, 0xc7, 0x1d, 0x6f, 0x47, 0x88, 0x89, 0xf4, 0x5a, 0x8e, 0xab, + 0x2b, 0xe7, 0xd5, 0x89, 0xc5, 0xe9, 0xfd, 0xbd, 0xd9, 0x33, 0xdd, 0xa8, 0x70, 0xd7, 0x5a, 0xe9, + 0xf7, 0xdd, 0x16, 0x17, 0x13, 0x8a, 0x5d, 0x81, 0xeb, 0x76, 0x8d, 0x81, 0x0b, 0x25, 0x89, 0xc1, + 0x8a, 0x23, 0x7a, 0x1b, 0x2a, 0x5b, 0xf2, 0xae, 0x50, 0x56, 0xe8, 0xf5, 0x18, 0xe6, 0x6e, 0x57, + 0x8b, 0x78, 0xb0, 0xbc, 0x42, 0xe1, 0x94, 0x29, 0xba, 0x06, 0xe5, 0x60, 0x33, 0x16, 0xb7, 0x72, + 0xf3, 0x82, 0x6e, 0xcc, 0x50, 0x27, 0x7e, 0x91, 0xf1, 0xe6, 0x4a, 0x1d, 0x53, 0x16, 0x94, 0x53, + 0xb4, 0xe1, 0x0a, 0x1f, 0x6f, 0x0e, 0x27, 0xbc, 0x58, 0xed, 0xe4, 0x84, 0x17, 0xab, 0x98, 0xb2, + 0x40, 0x35, 0x18, 0x64, 0xd7, 0x1e, 0x84, 0x03, 0x37, 0xe7, 0xea, 0x76, 0xc7, 0xe5, 0x0e, 0x9e, + 0x7a, 0x8f, 0x81, 0x31, 0x67, 0x84, 0xd6, 0x61, 0xa8, 0xc1, 0xd2, 0xa4, 0x0b, 0xcb, 0x3a, 0x2f, + 0xa9, 0x41, 0x47, 0x4a, 0x75, 0x7e, 0xd0, 0xc4, 0xe1, 0x58, 0xf0, 0x62, 0x5c, 0x49, 0x6b, 0x7b, + 0x33, 0x16, 0xa6, 0x73, 0x1e, 0xd7, 0x8e, 0x84, 0xf7, 0x82, 0x2b, 0x83, 0x63, 0xc1, 0x0b, 0x55, + 0xa1, 0xb4, 0xd9, 0x10, 0x19, 0x3c, 0x73, 0x1c, 0xb7, 0xe6, 0xad, 0xd4, 0xc5, 0xa1, 0xfd, 0xbd, + 0xd9, 0xd2, 0xca, 0x12, 0x2e, 0x6d, 0x36, 0xd0, 0x1b, 0x30, 0xbc, 0xc9, 0xef, 0x19, 0x8a, 0x6c, + 0x9d, 0x97, 0xf2, 0x2e, 0x43, 0x76, 0x5c, 0x4a, 0xe4, 0x17, 0x22, 0x04, 0x02, 0x4b, 0x76, 0x2c, + 0x91, 0x99, 0xba, 0x39, 0x29, 0xd2, 0x75, 0xce, 0xf5, 0x77, 0xd3, 0x52, 0x58, 0x94, 0x0a, 0x8a, + 0x35, 0x8e, 0x74, 0xce, 0x3b, 0xf2, 0xc5, 0x07, 0x96, 0xaa, 0x33, 0x77, 0xce, 0x77, 0x7d, 0x20, + 0x82, 0xcf, 0x79, 0x85, 0xc2, 0x29, 0x53, 0xd4, 0x86, 0xf1, 0x9d, 0xb8, 0xb5, 0x4d, 0xe4, 0xd2, + 0x67, 0xf9, 0x3b, 0x47, 0x2f, 0x7f, 0x3c, 0x27, 0x29, 0xab, 0x28, 0xe2, 0x45, 0x49, 0xdb, 0xf1, + 0x3b, 0x24, 0x18, 0xcb, 0x1c, 0x75, 0x47, 0x67, 0x8b, 0xcd, 0x5a, 0xe8, 0x27, 0x79, 0xb7, 0x1d, + 0x6e, 0xec, 0x26, 0x44, 0xe4, 0xf7, 0xcc, 0xf9, 0x24, 0xaf, 0x73, 0xe2, 0xce, 0x4f, 0x22, 0x10, + 0x58, 0xb2, 0x53, 0x43, 0xc6, 0xa4, 0xf1, 0x54, 0xe1, 0x21, 0xeb, 0xe8, 0x43, 0x3a, 0x64, 0x4c, + 0xfa, 0xa6, 0x4c, 0x99, 0xd4, 0x6d, 0x6d, 0x87, 0x49, 0x18, 0x64, 0x64, 0xff, 0xa9, 0x22, 0x52, + 0xb7, 0xd6, 0xa5, 0x64, 0xa7, 0xd4, 0xed, 0x46, 0x85, 0xbb, 0xd6, 0x6a, 0xff, 0x97, 0xc1, 0xce, + 0xed, 0x96, 0xa9, 0xc3, 0x7f, 0xb5, 0xf3, 0xf4, 0xf1, 0x93, 0xfd, 0x5b, 0x7d, 0x0f, 0xf1, 0x1c, + 0xf2, 0xab, 0x16, 0x3c, 0xd2, 0xea, 0xba, 0x99, 0x8a, 0x0d, 0xab, 0x5f, 0xe3, 0x91, 0x0f, 0x98, + 0x4a, 0x5e, 0xdb, 0x1d, 0x8f, 0x7b, 0xd4, 0x99, 0x55, 0x41, 0xcb, 0xef, 0x59, 0x05, 0xbd, 0x0b, + 0x23, 0x4c, 0x67, 0x4a, 0x33, 0x6d, 0xf4, 0x99, 0x94, 0x82, 0x6d, 0x7d, 0x4b, 0x82, 0x05, 0x56, + 0xcc, 0xe8, 0xc0, 0x3d, 0x91, 0xed, 0x04, 0x26, 0x0c, 0x2d, 0x12, 0xbc, 0x72, 0x6f, 0xc7, 0x8a, + 0x18, 0x89, 0x27, 0x6a, 0x87, 0x11, 0x1f, 0xe4, 0x11, 0xe0, 0xc3, 0x2b, 0x3b, 0x59, 0x95, 0xf6, + 0x1f, 0x5a, 0x5d, 0x34, 0x30, 0x6e, 0x86, 0x7c, 0xdc, 0x34, 0x43, 0x9e, 0xc9, 0x9a, 0x21, 0x1d, + 0xae, 0x03, 0xc3, 0x02, 0x29, 0x9e, 0xac, 0xb1, 0x68, 0x12, 0x10, 0xdb, 0x87, 0xf3, 0x79, 0xcb, + 0x9b, 0xc5, 0xfa, 0xb8, 0xea, 0xc8, 0x2c, 0x8d, 0xf5, 0x71, 0x57, 0xab, 0x98, 0x61, 0x8a, 0xde, + 0x23, 0xb7, 0x7f, 0xa1, 0x04, 0xe5, 0x5a, 0xe8, 0x9e, 0x80, 0x2b, 0xe4, 0xaa, 0xe1, 0x0a, 0x79, + 0x3a, 0xf7, 0xc5, 0xab, 0x9e, 0x8e, 0x8f, 0x5b, 0x19, 0xc7, 0xc7, 0x87, 0xf2, 0x59, 0x1d, 0xee, + 0xe6, 0xf8, 0x6e, 0x19, 0xf4, 0x37, 0xbb, 0xd0, 0xbf, 0x3f, 0x4a, 0x08, 0x68, 0xb9, 0xd8, 0x33, + 0x5e, 0xa2, 0x0e, 0x16, 0x2a, 0x24, 0x2f, 0x8e, 0xfd, 0xcc, 0x46, 0x82, 0xde, 0x25, 0xde, 0xd6, + 0x76, 0x42, 0xdc, 0x6c, 0xc7, 0x4e, 0x2e, 0x12, 0xf4, 0x4f, 0x2c, 0x98, 0xcc, 0xd4, 0x8e, 0xfc, + 0x6e, 0x37, 0x4e, 0x8e, 0xe8, 0xdc, 0x38, 0x95, 0x7b, 0x45, 0x65, 0x0e, 0x40, 0xf9, 0xa8, 0xa5, + 0x0b, 0x82, 0x69, 0x63, 0xca, 0x89, 0x1d, 0x63, 0x8d, 0x02, 0xbd, 0x0c, 0xa3, 0x49, 0xd8, 0x0a, + 0xfd, 0x70, 0x6b, 0xf7, 0x3a, 0x91, 0x19, 0x0e, 0x94, 0x7f, 0x7f, 0x3d, 0x45, 0x61, 0x9d, 0xce, + 0xfe, 0x5e, 0x19, 0xb2, 0x2f, 0xbe, 0xfd, 0xff, 0x79, 0xfa, 0xb3, 0x33, 0x4f, 0x7f, 0xdf, 0x82, + 0x29, 0x5a, 0x3b, 0x0b, 0xf4, 0x90, 0x11, 0x9b, 0x2a, 0x73, 0xbc, 0x75, 0x48, 0xe6, 0xf8, 0x67, + 0xa8, 0xb4, 0x73, 0xc3, 0x76, 0x22, 0x9c, 0x26, 0x9a, 0x10, 0xa3, 0x50, 0x2c, 0xb0, 0x82, 0x8e, + 0x44, 0x91, 0xb8, 0xda, 0xa2, 0xd3, 0x91, 0x28, 0xc2, 0x02, 0x2b, 0x13, 0xcb, 0x0f, 0xf4, 0x48, + 0x2c, 0xcf, 0x72, 0x04, 0x89, 0xe0, 0x02, 0xa1, 0x10, 0x68, 0x39, 0x82, 0x64, 0xd4, 0x41, 0x4a, + 0x63, 0x7f, 0xab, 0x0c, 0x63, 0xb5, 0xd0, 0x4d, 0x43, 0xb1, 0x5f, 0x32, 0x42, 0xb1, 0xcf, 0x67, + 0x42, 0xb1, 0xa7, 0x74, 0xda, 0x87, 0x13, 0x89, 0x2d, 0x72, 0x49, 0xb1, 0xa7, 0x0f, 0x8e, 0x18, + 0x85, 0x6d, 0xe4, 0x92, 0x52, 0x8c, 0xb0, 0xc9, 0xf7, 0xcf, 0x52, 0xf4, 0xf5, 0xff, 0xb6, 0x60, + 0xa2, 0x16, 0xba, 0x74, 0x82, 0xfe, 0x59, 0x9a, 0x8d, 0x7a, 0x06, 0xaa, 0xa1, 0x43, 0x32, 0x50, + 0xfd, 0x13, 0x0b, 0x86, 0x6b, 0xa1, 0x7b, 0x02, 0x0e, 0xc5, 0x15, 0xd3, 0xa1, 0xf8, 0x64, 0xae, + 0xe4, 0xed, 0xe1, 0x43, 0xfc, 0x76, 0x19, 0xc6, 0x69, 0x8b, 0xc3, 0x2d, 0xf9, 0xbd, 0x8c, 0xb1, + 0xb1, 0x0a, 0x8c, 0x0d, 0x55, 0x09, 0x43, 0xdf, 0x0f, 0xef, 0x67, 0xbf, 0xdd, 0x0a, 0x83, 0x62, + 0x81, 0x45, 0x17, 0x61, 0xa4, 0x15, 0x91, 0x1d, 0x2f, 0x6c, 0xc7, 0xd9, 0x6b, 0x72, 0x35, 0x01, + 0xc7, 0x8a, 0x02, 0xbd, 0x04, 0x63, 0xb1, 0x17, 0x34, 0x88, 0x0c, 0x3d, 0x18, 0x60, 0xa1, 0x07, + 0x3c, 0xd9, 0x9f, 0x06, 0xc7, 0x06, 0x15, 0xba, 0x0b, 0x15, 0xf6, 0x9f, 0xad, 0xa0, 0xfe, 0x33, + 0xc3, 0xf3, 0x0c, 0x57, 0x92, 0x01, 0x4e, 0x79, 0xa1, 0xcb, 0x00, 0x89, 0x0c, 0x92, 0x88, 0x45, + 0xa6, 0x0e, 0xa5, 0x97, 0xaa, 0xf0, 0x89, 0x18, 0x6b, 0x54, 0xe8, 0x79, 0xa8, 0x24, 0x8e, 0xe7, + 0xdf, 0xf0, 0x02, 0x12, 0x8b, 0x20, 0x13, 0x91, 0xb8, 0x57, 0x00, 0x71, 0x8a, 0xa7, 0xfb, 0x3d, + 0xbb, 0xa4, 0xcb, 0x5f, 0x9d, 0x18, 0x61, 0xd4, 0x6c, 0xbf, 0xbf, 0xa1, 0xa0, 0x58, 0xa3, 0xb0, + 0xaf, 0xc0, 0xd9, 0x5a, 0xe8, 0xd6, 0xc2, 0x28, 0x59, 0x09, 0xa3, 0xfb, 0x4e, 0xe4, 0xca, 0xef, + 0x37, 0x2b, 0xf3, 0xc5, 0xd2, 0x3d, 0x79, 0x90, 0xfb, 0xd8, 0x8c, 0xfc, 0xaf, 0x2f, 0xb2, 0x1d, + 0xbf, 0xcf, 0x18, 0xff, 0x1f, 0x95, 0x00, 0xd5, 0x58, 0x18, 0x87, 0xf1, 0x48, 0xc9, 0x36, 0x4c, + 0xc4, 0xe4, 0x86, 0x17, 0xb4, 0x1f, 0x08, 0x56, 0xc5, 0x2e, 0x55, 0xd4, 0x97, 0xf5, 0x32, 0xfc, + 0x46, 0xab, 0x09, 0xc3, 0x19, 0xbe, 0x74, 0x30, 0xa3, 0x76, 0xb0, 0x10, 0xdf, 0x8e, 0x49, 0x24, + 0x1e, 0xe5, 0x60, 0x83, 0x89, 0x25, 0x10, 0xa7, 0x78, 0x3a, 0x79, 0xd8, 0x9f, 0x9b, 0x61, 0x80, + 0xc3, 0x30, 0x91, 0xd3, 0x8d, 0x25, 0x69, 0xd7, 0xe0, 0xd8, 0xa0, 0x42, 0x2b, 0x80, 0xe2, 0x76, + 0xab, 0xe5, 0xb3, 0x93, 0x31, 0xc7, 0xbf, 0x1a, 0x85, 0xed, 0x16, 0x8f, 0xe6, 0x15, 0xf9, 0xcd, + 0xeb, 0x1d, 0x58, 0xdc, 0xa5, 0x04, 0x15, 0x16, 0x9b, 0x31, 0xfb, 0x2d, 0x6e, 0xec, 0x72, 0xff, + 0x5c, 0x9d, 0x81, 0xb0, 0xc4, 0xd9, 0x5f, 0x64, 0x1b, 0x1c, 0x7b, 0x2d, 0x21, 0x69, 0x47, 0x04, + 0x35, 0x61, 0xbc, 0xc5, 0x36, 0xb1, 0x24, 0x0a, 0x7d, 0x9f, 0x48, 0xfd, 0xf2, 0x68, 0x81, 0x24, + 0x3c, 0x3f, 0xba, 0xce, 0x0e, 0x9b, 0xdc, 0xed, 0x3f, 0x1c, 0x65, 0xb2, 0x4a, 0x1c, 0x4e, 0x0e, + 0x8b, 0x90, 0x51, 0xa1, 0xc9, 0x7d, 0xb0, 0xc8, 0xbb, 0x47, 0xe9, 0x3e, 0x20, 0x02, 0x50, 0xb1, + 0xe4, 0x82, 0x3e, 0xcb, 0x02, 0xa2, 0xb9, 0x80, 0x28, 0xfe, 0x6c, 0x19, 0xa7, 0x37, 0x82, 0xa1, + 0x05, 0x0b, 0xac, 0xb1, 0x43, 0x37, 0x60, 0x5c, 0x24, 0xd7, 0x17, 0x0e, 0x86, 0xb2, 0x61, 0x62, + 0x8f, 0x63, 0x1d, 0x79, 0x90, 0x05, 0x60, 0xb3, 0x30, 0xda, 0x82, 0x27, 0xb4, 0xc7, 0x63, 0xba, + 0x04, 0x3d, 0x71, 0xc9, 0xf3, 0xe4, 0xfe, 0xde, 0xec, 0x13, 0xeb, 0x87, 0x11, 0xe2, 0xc3, 0xf9, + 0xa0, 0x5b, 0x70, 0xd6, 0x69, 0x24, 0xde, 0x0e, 0xa9, 0x12, 0xc7, 0xf5, 0xbd, 0x80, 0x98, 0xd7, + 0xba, 0x1f, 0xdb, 0xdf, 0x9b, 0x3d, 0xbb, 0xd0, 0x8d, 0x00, 0x77, 0x2f, 0x87, 0x3e, 0x0e, 0x15, + 0x37, 0x88, 0xc5, 0x18, 0x0c, 0x19, 0x6f, 0x25, 0x55, 0xaa, 0x37, 0xeb, 0xaa, 0xff, 0xe9, 0x1f, + 0x9c, 0x16, 0x40, 0xef, 0xf2, 0x47, 0xaf, 0x95, 0x35, 0xc3, 0xdf, 0xe8, 0x7a, 0xa5, 0x90, 0xfd, + 0x6c, 0x5c, 0xb6, 0xe0, 0xbe, 0x37, 0x15, 0x5c, 0x68, 0xdc, 0xc3, 0x30, 0xaa, 0x40, 0x9f, 0x02, + 0x14, 0x93, 0x68, 0xc7, 0x6b, 0x90, 0x85, 0x06, 0xcb, 0x90, 0xc9, 0x0e, 0xf9, 0x46, 0x8c, 0x28, + 0x7b, 0x54, 0xef, 0xa0, 0xc0, 0x5d, 0x4a, 0xa1, 0x6b, 0x54, 0xf2, 0xe8, 0x50, 0x11, 0x0b, 0x2a, + 0x15, 0xc3, 0xe9, 0x2a, 0x69, 0x45, 0xa4, 0xe1, 0x24, 0xc4, 0x35, 0x39, 0xe2, 0x4c, 0x39, 0xba, + 0x2f, 0xa9, 0x24, 0xe8, 0x60, 0x46, 0x30, 0x76, 0x26, 0x42, 0xa7, 0x76, 0xd6, 0x76, 0x18, 0x27, + 0x37, 0x49, 0x72, 0x3f, 0x8c, 0xee, 0x31, 0x9f, 0xfd, 0x88, 0x96, 0x70, 0x2c, 0x45, 0x61, 0x9d, + 0x8e, 0xea, 0x50, 0xec, 0xb0, 0x68, 0xb5, 0xca, 0x3c, 0xf1, 0x23, 0xe9, 0xda, 0xb9, 0xc6, 0xc1, + 0x58, 0xe2, 0x25, 0xe9, 0x6a, 0x6d, 0x89, 0x79, 0xd5, 0x33, 0xa4, 0xab, 0xb5, 0x25, 0x2c, 0xf1, + 0x28, 0xec, 0x7c, 0x91, 0x6a, 0xa2, 0xc8, 0x09, 0x47, 0xa7, 0x24, 0x2f, 0xf8, 0x28, 0xd5, 0x03, + 0x98, 0x52, 0xaf, 0x62, 0xf1, 0x4c, 0x90, 0xf1, 0xf4, 0x64, 0x91, 0x27, 0xb7, 0xbb, 0x26, 0x94, + 0x54, 0xc1, 0xbf, 0xab, 0x19, 0x9e, 0xb8, 0xa3, 0x16, 0x23, 0x3d, 0xc1, 0x54, 0x6e, 0x62, 0xfb, + 0x79, 0xa8, 0xc4, 0xed, 0x0d, 0x37, 0x6c, 0x3a, 0x5e, 0xc0, 0x5c, 0xdf, 0xfa, 0x03, 0xd2, 0x12, + 0x81, 0x53, 0x1a, 0x54, 0x83, 0x11, 0x47, 0xbe, 0x9d, 0x8e, 0x8a, 0x5c, 0x5f, 0x56, 0x8f, 0xa6, + 0x33, 0xbf, 0xa8, 0x7a, 0x2d, 0x5d, 0x71, 0x41, 0xaf, 0xc2, 0xb8, 0xb8, 0x7d, 0x43, 0x22, 0xd6, + 0xea, 0xd3, 0x66, 0xd8, 0x77, 0x5d, 0x22, 0xd9, 0x04, 0x33, 0x69, 0x67, 0x3e, 0x01, 0xa7, 0x3a, + 0x96, 0x58, 0x5f, 0xc1, 0x73, 0xff, 0x76, 0x00, 0x2a, 0xca, 0x43, 0x85, 0xe6, 0x4d, 0x67, 0xe4, + 0x63, 0x59, 0x67, 0xe4, 0x08, 0x55, 0x08, 0x74, 0xff, 0xe3, 0xe7, 0xba, 0x3c, 0x60, 0xfb, 0x5c, + 0xee, 0x9c, 0x2a, 0x7e, 0x9f, 0xa5, 0x8f, 0x67, 0x7e, 0x53, 0x2b, 0x65, 0xe0, 0x50, 0x2b, 0xa5, + 0xe0, 0x5b, 0x55, 0xd4, 0x1e, 0x69, 0x85, 0xee, 0x6a, 0x2d, 0xfb, 0x14, 0x4b, 0x8d, 0x02, 0x31, + 0xc7, 0x31, 0x3d, 0x92, 0xee, 0x11, 0x4c, 0x8f, 0x1c, 0x3e, 0xa2, 0x1e, 0x29, 0x19, 0xe0, 0x94, + 0x17, 0xda, 0x81, 0x53, 0x0d, 0xf3, 0x65, 0x1d, 0x75, 0x4b, 0xe5, 0x85, 0x3e, 0x5e, 0xb6, 0x69, + 0x6b, 0xaf, 0x08, 0x2c, 0x65, 0xf9, 0xe1, 0xce, 0x2a, 0xd0, 0xab, 0x30, 0xf2, 0x6e, 0x18, 0x2f, + 0xf9, 0x4e, 0x1c, 0x0b, 0x41, 0x29, 0x6f, 0x03, 0x8c, 0xbc, 0x7e, 0xab, 0xce, 0xe0, 0x07, 0x7b, + 0xb3, 0xa3, 0xb5, 0xd0, 0x95, 0x7f, 0xb1, 0x2a, 0x60, 0xff, 0x36, 0xf7, 0x86, 0x09, 0xfb, 0x98, + 0xc4, 0x6d, 0xff, 0x24, 0x92, 0x69, 0xdf, 0x32, 0x4c, 0xf7, 0x87, 0xe0, 0x8f, 0xfd, 0x77, 0x16, + 0xf3, 0xc7, 0xae, 0x93, 0x66, 0xcb, 0x77, 0x92, 0x93, 0x08, 0x6b, 0xfc, 0x2c, 0x8c, 0x24, 0xa2, + 0xb6, 0x62, 0x99, 0xc0, 0xb5, 0xe6, 0x31, 0x3f, 0xb5, 0x92, 0x71, 0x12, 0x8a, 0x15, 0x43, 0xfb, + 0x5f, 0xf2, 0xaf, 0x22, 0x31, 0x27, 0x60, 0x74, 0xde, 0x34, 0x8d, 0xce, 0x67, 0x0b, 0xf7, 0xa5, + 0x87, 0xf1, 0xf9, 0x3d, 0xb3, 0x07, 0x4c, 0x15, 0xfd, 0xd9, 0x39, 0x30, 0xb0, 0x6f, 0x81, 0xf9, + 0x02, 0x11, 0x7a, 0x8d, 0x07, 0x0a, 0x73, 0x21, 0x7b, 0xb1, 0xef, 0x20, 0x61, 0xfb, 0xd7, 0x4b, + 0x70, 0x86, 0xbb, 0x0c, 0x17, 0x76, 0x42, 0xcf, 0xad, 0x85, 0xae, 0x08, 0x9b, 0x76, 0x61, 0xac, + 0xa5, 0x99, 0x0a, 0xc5, 0x32, 0x43, 0xe8, 0xc6, 0x45, 0xaa, 0x9e, 0xe9, 0x50, 0x6c, 0x70, 0xa5, + 0xb5, 0x90, 0x1d, 0xaf, 0xa1, 0x3c, 0x50, 0xa5, 0xbe, 0xe5, 0x9e, 0xaa, 0x65, 0x59, 0xe3, 0x83, + 0x0d, 0xae, 0xc7, 0x90, 0xb4, 0xde, 0xfe, 0xfb, 0x16, 0x3c, 0xda, 0x23, 0x7b, 0x04, 0xad, 0xee, + 0x3e, 0x73, 0xd3, 0x8a, 0x27, 0xae, 0x54, 0x75, 0xdc, 0x79, 0x8b, 0x05, 0x16, 0x6d, 0x00, 0x70, + 0xe7, 0x2b, 0x7b, 0xf0, 0xb8, 0x54, 0x24, 0x5a, 0xa2, 0xe3, 0x8e, 0xb6, 0x76, 0x7d, 0x57, 0x3d, + 0x71, 0xac, 0x71, 0xb5, 0xbf, 0x59, 0x86, 0x41, 0xfe, 0x92, 0x6a, 0x0d, 0x86, 0xb7, 0x79, 0x36, + 0xcb, 0xfe, 0x92, 0x69, 0xa6, 0xaa, 0x20, 0x07, 0x60, 0xc9, 0x06, 0xad, 0xc1, 0x69, 0xaa, 0x77, + 0x78, 0x8e, 0x5f, 0x25, 0xbe, 0xb3, 0x2b, 0x6d, 0x0b, 0x9e, 0xc9, 0x5c, 0x26, 0xdd, 0x3d, 0xbd, + 0xda, 0x49, 0x82, 0xbb, 0x95, 0x43, 0xaf, 0x75, 0x24, 0x9f, 0xe2, 0x59, 0x42, 0xd5, 0x8d, 0xaf, + 0xc3, 0x13, 0x50, 0x51, 0xed, 0xa7, 0xd5, 0x61, 0x45, 0x69, 0x0f, 0x56, 0x9a, 0x96, 0x93, 0x49, + 0x8b, 0xaa, 0x30, 0x15, 0xb7, 0xd9, 0xd9, 0xf5, 0xfa, 0x76, 0x44, 0xe2, 0xed, 0xd0, 0x77, 0xc5, + 0x5b, 0x6b, 0x4a, 0x63, 0xac, 0x67, 0xf0, 0xb8, 0xa3, 0x04, 0xe5, 0xb2, 0xe9, 0x78, 0x7e, 0x3b, + 0x22, 0x29, 0x97, 0x21, 0x93, 0xcb, 0x4a, 0x06, 0x8f, 0x3b, 0x4a, 0xd8, 0x7f, 0x6c, 0xc1, 0xe9, + 0x2e, 0x01, 0x1e, 0x3c, 0xec, 0x70, 0xcb, 0x8b, 0x13, 0x95, 0xaf, 0x5a, 0x0b, 0x3b, 0xe4, 0x70, + 0xac, 0x28, 0xe8, 0x2c, 0xe4, 0xa6, 0x71, 0xf6, 0xd8, 0x54, 0x1c, 0x61, 0x0b, 0x6c, 0x7f, 0xa9, + 0xa4, 0xd0, 0x79, 0x18, 0x68, 0xc7, 0x24, 0x92, 0x4f, 0x37, 0x49, 0x11, 0xc5, 0xbc, 0x21, 0x0c, + 0x43, 0x95, 0x9d, 0x2d, 0xe5, 0x88, 0xd0, 0x94, 0x1d, 0xee, 0x8a, 0xe0, 0x38, 0xfb, 0xeb, 0x65, + 0x98, 0xcc, 0x04, 0x7a, 0xd1, 0x86, 0x34, 0xc3, 0xc0, 0x4b, 0x42, 0x95, 0xbe, 0x88, 0xbf, 0x16, + 0x43, 0x5a, 0xdb, 0x6b, 0x02, 0x8e, 0x15, 0x05, 0x7a, 0xc6, 0x7c, 0xd6, 0x3a, 0x6d, 0xf3, 0x62, + 0xd5, 0x78, 0xe1, 0xae, 0x68, 0x0e, 0xfd, 0xa7, 0x60, 0xa0, 0x15, 0xaa, 0xd7, 0x4a, 0xd5, 0xa4, + 0xc7, 0x8b, 0xd5, 0x5a, 0x18, 0xfa, 0x98, 0x21, 0xd1, 0xd3, 0xa2, 0xf7, 0x19, 0xff, 0x2d, 0x76, + 0xdc, 0x30, 0xd6, 0x86, 0xe0, 0x59, 0x18, 0xbe, 0x47, 0x76, 0x23, 0x2f, 0xd8, 0xca, 0x7a, 0xaf, + 0xaf, 0x73, 0x30, 0x96, 0x78, 0x33, 0x4f, 0xfe, 0xf0, 0x31, 0xe7, 0xc9, 0x1f, 0xc9, 0x8d, 0x55, + 0xfd, 0xb6, 0x05, 0x93, 0x2c, 0xa7, 0x9f, 0xb8, 0x4e, 0xeb, 0x85, 0xc1, 0x09, 0x6c, 0x8f, 0x4f, + 0xc1, 0x60, 0x44, 0x2b, 0xcd, 0xa6, 0xba, 0x66, 0x2d, 0xc1, 0x1c, 0x87, 0x1e, 0x87, 0x01, 0xd6, + 0x04, 0xfa, 0x19, 0xc7, 0x78, 0xea, 0xe0, 0xaa, 0x93, 0x38, 0x98, 0x41, 0xd9, 0xcd, 0x08, 0x4c, + 0x5a, 0xbe, 0xc7, 0x1b, 0x9d, 0x3a, 0x9d, 0xde, 0x6f, 0x37, 0x23, 0xba, 0x36, 0xf2, 0x61, 0xdd, + 0x8c, 0xe8, 0xce, 0xfc, 0x70, 0x15, 0xf5, 0x7f, 0x94, 0xe0, 0x5c, 0xd7, 0x72, 0xe9, 0x39, 0xd8, + 0x8a, 0x71, 0x0e, 0x76, 0x39, 0x73, 0x0e, 0x66, 0x1f, 0x5e, 0xfa, 0xe1, 0x9c, 0x8c, 0x75, 0x3f, + 0xb0, 0x2a, 0x9f, 0xe0, 0x81, 0xd5, 0x40, 0x51, 0xd5, 0x61, 0x30, 0x47, 0x75, 0xf8, 0x3d, 0x0b, + 0x1e, 0xeb, 0x3a, 0x64, 0xef, 0xbb, 0xab, 0x28, 0x5d, 0x5b, 0xd9, 0x43, 0xb1, 0xfe, 0xe5, 0x72, + 0x8f, 0x5e, 0x31, 0x15, 0xfb, 0x02, 0x95, 0x42, 0x0c, 0x19, 0x0b, 0xa5, 0x68, 0x8c, 0x4b, 0x20, + 0x0e, 0xc3, 0x0a, 0x8b, 0x62, 0xed, 0x2a, 0x07, 0x6f, 0xe4, 0xf2, 0x11, 0x17, 0xd4, 0x9c, 0xe9, + 0x2d, 0xd4, 0xef, 0x08, 0x67, 0x2e, 0x78, 0xa0, 0xbb, 0x9a, 0xd1, 0x54, 0x3e, 0x8a, 0xd1, 0x34, + 0xd6, 0xdd, 0x60, 0x42, 0x0b, 0x30, 0xd9, 0xf4, 0x02, 0xf6, 0xbc, 0x9e, 0xa9, 0x95, 0xa8, 0xfb, + 0x74, 0x6b, 0x26, 0x1a, 0x67, 0xe9, 0x67, 0x5e, 0x85, 0xf1, 0xa3, 0xfb, 0x64, 0x7e, 0x5c, 0x86, + 0x9f, 0x3b, 0x44, 0x28, 0xf0, 0xdd, 0xc1, 0xf8, 0x2e, 0xda, 0xee, 0xd0, 0xf1, 0x6d, 0x6a, 0x70, + 0x66, 0xb3, 0xed, 0xfb, 0xbb, 0x2c, 0x8a, 0x84, 0xb8, 0x92, 0x42, 0x68, 0x7c, 0xea, 0xe1, 0xdb, + 0x95, 0x2e, 0x34, 0xb8, 0x6b, 0x49, 0xf4, 0x29, 0x40, 0xe1, 0x06, 0xcb, 0x7a, 0xe9, 0xa6, 0x77, + 0xa0, 0xd9, 0x27, 0x28, 0xa7, 0x4b, 0xf5, 0x56, 0x07, 0x05, 0xee, 0x52, 0x8a, 0xea, 0x7f, 0xec, + 0xcd, 0x5c, 0xd5, 0xac, 0x8c, 0xfe, 0x87, 0x75, 0x24, 0x36, 0x69, 0xd1, 0x55, 0x38, 0xe5, 0xec, + 0x38, 0x1e, 0xcf, 0x62, 0x23, 0x19, 0x70, 0x05, 0x50, 0x79, 0x3d, 0x16, 0xb2, 0x04, 0xb8, 0xb3, + 0x0c, 0x6a, 0x19, 0x6e, 0x2c, 0x9e, 0xef, 0xfa, 0xe3, 0x47, 0x98, 0xc1, 0x85, 0x1d, 0x5b, 0xf6, + 0x7f, 0xb5, 0xe8, 0xd6, 0xd7, 0xe5, 0x25, 0x36, 0xe3, 0x09, 0x77, 0xed, 0x72, 0x4b, 0xe7, 0x13, + 0xee, 0xdc, 0x1f, 0x68, 0xd0, 0xf2, 0xa9, 0x11, 0xa7, 0xe1, 0xa8, 0x86, 0xb6, 0x29, 0x6e, 0x75, + 0x29, 0x0a, 0xf4, 0x69, 0x18, 0x76, 0xbd, 0x1d, 0x2f, 0x0e, 0x23, 0xb1, 0x80, 0xfa, 0x0c, 0x71, + 0x4c, 0xe5, 0x65, 0x95, 0xb3, 0xc1, 0x92, 0x9f, 0xfd, 0x2b, 0x25, 0x18, 0x97, 0x35, 0xbe, 0xde, + 0x0e, 0x13, 0xe7, 0x04, 0xb6, 0xf4, 0xd7, 0x8d, 0x2d, 0x7d, 0xbe, 0xd8, 0x25, 0x37, 0xd6, 0xb8, + 0x9e, 0x5b, 0xf9, 0xa7, 0x33, 0x5b, 0xf9, 0xa5, 0x7e, 0x98, 0x1e, 0xbe, 0x85, 0xff, 0x6b, 0x0b, + 0x4e, 0x19, 0xf4, 0x27, 0xb0, 0x93, 0xd4, 0xcc, 0x9d, 0xe4, 0xf9, 0x3e, 0x7a, 0xd3, 0x63, 0x07, + 0xf9, 0x56, 0x29, 0xd3, 0x0b, 0xb6, 0x73, 0x7c, 0x01, 0x06, 0xb6, 0x9d, 0xc8, 0x2d, 0x96, 0xd2, + 0xad, 0xa3, 0xf8, 0xdc, 0x35, 0x27, 0x72, 0xb9, 0xfc, 0xbf, 0xa8, 0x5e, 0x8a, 0x71, 0x22, 0x37, + 0x37, 0x4a, 0x9b, 0x55, 0x8a, 0xae, 0xc0, 0x50, 0xdc, 0x08, 0x5b, 0x2a, 0x1a, 0xee, 0x3c, 0x7f, + 0x45, 0x86, 0x42, 0x0e, 0xf6, 0x66, 0x91, 0x59, 0x1d, 0x05, 0x63, 0x41, 0x3f, 0xb3, 0x05, 0x15, + 0x55, 0xf5, 0xb1, 0xc6, 0x03, 0xff, 0xf7, 0x32, 0x9c, 0xee, 0x32, 0x57, 0xd0, 0x17, 0x8d, 0x71, + 0x7b, 0xb5, 0xef, 0xc9, 0xf6, 0x1e, 0x47, 0xee, 0x8b, 0xcc, 0x52, 0x72, 0xc5, 0xec, 0x38, 0x42, + 0xf5, 0xb7, 0x63, 0x92, 0xad, 0x9e, 0x82, 0xf2, 0xab, 0xa7, 0xd5, 0x9e, 0xd8, 0xf0, 0xd3, 0x8a, + 0x54, 0x4b, 0x8f, 0xf5, 0x3b, 0xff, 0xc5, 0x01, 0x38, 0xd3, 0xed, 0x36, 0x2d, 0xfa, 0x8a, 0x95, + 0xc9, 0xdb, 0xfe, 0x5a, 0xff, 0x57, 0x72, 0x79, 0x32, 0x77, 0x91, 0x81, 0x62, 0xce, 0xcc, 0xe4, + 0x9e, 0x3b, 0xe2, 0xa2, 0x76, 0x76, 0xbf, 0x22, 0xe2, 0x39, 0xf8, 0xa5, 0x54, 0xf8, 0xe4, 0x11, + 0x9a, 0x22, 0xd2, 0xf8, 0xc7, 0x99, 0xfb, 0x15, 0x12, 0x9c, 0x7f, 0xbf, 0x42, 0xb6, 0x61, 0xc6, + 0x83, 0x51, 0xad, 0x5f, 0xc7, 0x3a, 0x0d, 0xee, 0xd1, 0x2d, 0x4a, 0x6b, 0xf7, 0xb1, 0x4e, 0x85, + 0xbf, 0x65, 0x41, 0x26, 0x74, 0x45, 0xb9, 0x65, 0xac, 0x9e, 0x6e, 0x99, 0xf3, 0x30, 0x10, 0x85, + 0x3e, 0xc9, 0xe6, 0x14, 0xc7, 0xa1, 0x4f, 0x30, 0xc3, 0xa8, 0xa7, 0x23, 0xcb, 0xbd, 0x9e, 0x8e, + 0xa4, 0x76, 0xba, 0x4f, 0x76, 0x88, 0x74, 0x92, 0x28, 0x31, 0x7e, 0x83, 0x02, 0x31, 0xc7, 0xd9, + 0xbf, 0x5b, 0x86, 0x21, 0xee, 0x89, 0x38, 0x81, 0x7d, 0xba, 0x26, 0x9c, 0x02, 0x85, 0xee, 0xb8, + 0xf2, 0x56, 0xcd, 0x55, 0x9d, 0xc4, 0xe1, 0x93, 0x4b, 0xf5, 0x31, 0x75, 0x24, 0xa0, 0x39, 0x63, + 0x14, 0x66, 0x32, 0xb6, 0x2e, 0x70, 0x1e, 0xda, 0x98, 0x6c, 0x03, 0xc4, 0xec, 0xb1, 0x32, 0xca, + 0x43, 0xe4, 0xe1, 0x7b, 0xa9, 0x50, 0x3b, 0xea, 0xaa, 0x18, 0x6f, 0x4d, 0x9a, 0xfc, 0x4b, 0x21, + 0xb0, 0xc6, 0x7b, 0xe6, 0x15, 0xa8, 0x28, 0xe2, 0x3c, 0x23, 0x60, 0x4c, 0x9f, 0x9c, 0x7f, 0x0e, + 0x26, 0x33, 0x75, 0xf5, 0x65, 0x43, 0xfc, 0x96, 0x05, 0x93, 0x99, 0x57, 0x96, 0xd1, 0x97, 0x2d, + 0x38, 0xe3, 0x77, 0x71, 0x44, 0x89, 0xcf, 0x7c, 0x14, 0x17, 0x96, 0x32, 0x1f, 0xba, 0x61, 0x71, + 0xd7, 0xda, 0xa8, 0x59, 0xc9, 0x5f, 0x5e, 0x74, 0x7c, 0x11, 0x09, 0x38, 0xc6, 0x93, 0x86, 0x72, + 0x18, 0x56, 0x58, 0xfb, 0x27, 0x16, 0x9c, 0xea, 0x78, 0xc8, 0xf7, 0xfd, 0xd2, 0x0d, 0x91, 0x1e, + 0xb5, 0xd4, 0x23, 0x3d, 0xaa, 0xde, 0xcb, 0xf2, 0xa1, 0xbd, 0xfc, 0x75, 0x0b, 0xc4, 0x0c, 0x3d, + 0x01, 0x0d, 0x70, 0xd5, 0xd4, 0x00, 0x3f, 0x58, 0x64, 0xd2, 0xf7, 0x50, 0xfd, 0xfe, 0xd4, 0x02, + 0xc4, 0x09, 0xb2, 0x4f, 0x34, 0x72, 0x47, 0xa6, 0x66, 0xbc, 0xa4, 0xab, 0x44, 0x61, 0xb0, 0x46, + 0xd5, 0x67, 0x96, 0x7d, 0xf5, 0xb4, 0x59, 0xf7, 0x86, 0xa1, 0x4b, 0x30, 0x2a, 0x9e, 0x36, 0x5a, + 0x4b, 0x9f, 0x2d, 0x9b, 0x64, 0x0f, 0x68, 0xa6, 0x60, 0xac, 0xd3, 0x18, 0x5f, 0x6b, 0xe0, 0xd0, + 0xaf, 0xf5, 0xdb, 0x65, 0xc8, 0x86, 0xbf, 0xa0, 0xb7, 0x61, 0xac, 0xe1, 0xb4, 0x9c, 0x0d, 0xcf, + 0xf7, 0x12, 0x8f, 0xc4, 0xc5, 0x8e, 0xdd, 0x96, 0xb4, 0x12, 0xc2, 0x69, 0xae, 0x41, 0xb0, 0xc1, + 0x11, 0xcd, 0x01, 0xb4, 0x22, 0x6f, 0xc7, 0xf3, 0xc9, 0x16, 0xd3, 0xcf, 0x58, 0xfc, 0x2c, 0x3f, + 0x41, 0x92, 0x50, 0xac, 0x51, 0x74, 0x89, 0xb7, 0x2c, 0x9f, 0x44, 0xbc, 0xe5, 0x40, 0x9f, 0xf1, + 0x96, 0x83, 0x85, 0xe2, 0x2d, 0x31, 0x3c, 0x22, 0x7d, 0xdd, 0xf4, 0xff, 0x8a, 0xe7, 0x13, 0x9e, + 0x5e, 0x51, 0xc4, 0xd7, 0xce, 0xec, 0xef, 0xcd, 0x3e, 0x82, 0xbb, 0x52, 0xe0, 0x1e, 0x25, 0xed, + 0x36, 0x9c, 0xae, 0x93, 0xc8, 0x63, 0x59, 0xaf, 0xdc, 0x74, 0x51, 0x7f, 0x0e, 0x2a, 0x51, 0x46, + 0x9e, 0xf4, 0x79, 0xfd, 0x51, 0xcb, 0x93, 0x22, 0xe5, 0x47, 0xca, 0xd2, 0xfe, 0x2b, 0x25, 0x18, + 0x16, 0x61, 0x66, 0x27, 0xb0, 0xd1, 0x5e, 0x37, 0x0c, 0xe2, 0x67, 0xf3, 0xd6, 0x3a, 0x6b, 0x56, + 0x4f, 0x53, 0xb8, 0x9e, 0x31, 0x85, 0x9f, 0x2f, 0xc6, 0xee, 0x70, 0x23, 0xf8, 0x07, 0x25, 0x98, + 0x30, 0xc3, 0xee, 0x4e, 0x60, 0x58, 0xde, 0x80, 0xe1, 0x58, 0xc4, 0xa4, 0x95, 0x8a, 0x44, 0xd4, + 0x64, 0x3f, 0xb1, 0xf2, 0x7a, 0xc8, 0x28, 0x34, 0xc9, 0xae, 0x6b, 0xd8, 0x5b, 0xf9, 0x24, 0xc2, + 0xde, 0xec, 0xef, 0x33, 0x61, 0xac, 0x0f, 0xe4, 0x09, 0x6c, 0x26, 0xaf, 0x9b, 0x62, 0xfb, 0x62, + 0xa1, 0x19, 0x21, 0x9a, 0xd7, 0x63, 0x53, 0xf9, 0x8e, 0x05, 0xa3, 0x82, 0xf0, 0x04, 0x3a, 0xf0, + 0x29, 0xb3, 0x03, 0x4f, 0x17, 0xea, 0x40, 0x8f, 0x96, 0xff, 0x9d, 0x92, 0x6a, 0x79, 0x4d, 0x3c, + 0x79, 0x9b, 0x9b, 0x7d, 0x73, 0xa4, 0x15, 0x85, 0x49, 0xd8, 0x08, 0x7d, 0xa1, 0x46, 0x3c, 0x9e, + 0x5e, 0x74, 0xe0, 0xf0, 0x03, 0xed, 0x37, 0x56, 0xd4, 0x2c, 0x0e, 0x3f, 0x8c, 0x12, 0xb1, 0xb5, + 0x75, 0x7b, 0x70, 0x77, 0x43, 0x3e, 0x68, 0x4e, 0x61, 0xe2, 0x8e, 0x50, 0xbf, 0x0f, 0xf9, 0xa6, + 0xf7, 0x16, 0x14, 0x27, 0xac, 0x71, 0x95, 0x01, 0xb1, 0xac, 0x86, 0x41, 0xd3, 0x0f, 0x7d, 0x53, + 0xc0, 0xb1, 0xa2, 0xb0, 0x5f, 0x61, 0x12, 0x97, 0x0d, 0x4f, 0x7f, 0x57, 0x0a, 0xfe, 0xf2, 0x90, + 0x1a, 0x58, 0xe6, 0x5c, 0xba, 0xa9, 0x5f, 0x5c, 0x28, 0x2a, 0xd6, 0x68, 0x13, 0xf4, 0x18, 0xbe, + 0xf4, 0x9e, 0x03, 0x22, 0x1d, 0x87, 0x17, 0xaf, 0x14, 0x96, 0x94, 0x7d, 0x1c, 0x57, 0xb0, 0x84, + 0x45, 0x2c, 0x4b, 0xcb, 0x6a, 0x2d, 0x9b, 0x31, 0x75, 0x49, 0x22, 0x70, 0x4a, 0x83, 0xe6, 0x85, + 0x51, 0x63, 0xbe, 0x87, 0x2c, 0x8d, 0x1a, 0x39, 0x24, 0x9a, 0x55, 0x73, 0x09, 0x46, 0x55, 0xde, + 0xf8, 0x1a, 0x4f, 0xff, 0x5d, 0xe1, 0x7a, 0xcf, 0x72, 0x0a, 0xc6, 0x3a, 0x0d, 0x5a, 0x85, 0xd3, + 0xae, 0x8a, 0x7f, 0xae, 0xb5, 0x37, 0x7c, 0xaf, 0x41, 0x8b, 0xf2, 0xbb, 0x4b, 0x8f, 0xee, 0xef, + 0xcd, 0x9e, 0xae, 0x76, 0xa2, 0x71, 0xb7, 0x32, 0x68, 0x1d, 0x26, 0x63, 0x9e, 0x1f, 0x5f, 0x06, + 0xb9, 0x8a, 0x44, 0x82, 0xcf, 0xc9, 0x53, 0x93, 0xba, 0x89, 0x3e, 0x60, 0x20, 0x2e, 0x13, 0x64, + 0x58, 0x6c, 0x96, 0x05, 0x7a, 0x0d, 0x26, 0x7c, 0xfd, 0xf1, 0xaf, 0x9a, 0x08, 0x03, 0x57, 0xf1, + 0x25, 0xc6, 0xd3, 0x60, 0x35, 0x9c, 0xa1, 0x46, 0x6f, 0xc0, 0xb4, 0x0e, 0x11, 0xd9, 0x14, 0x9c, + 0x60, 0x8b, 0xc4, 0x22, 0x31, 0xf7, 0xe3, 0xfb, 0x7b, 0xb3, 0xd3, 0x37, 0x7a, 0xd0, 0xe0, 0x9e, + 0xa5, 0xd1, 0x15, 0x18, 0x93, 0x23, 0xa9, 0x85, 0x84, 0xa7, 0x91, 0x4d, 0x1a, 0x0e, 0x1b, 0x94, + 0xef, 0xed, 0x70, 0xe8, 0x0b, 0xb4, 0xb0, 0xb6, 0xb5, 0xa2, 0x77, 0x60, 0x4c, 0x6f, 0x63, 0x76, + 0xcf, 0xcc, 0x7f, 0x50, 0x4d, 0x6c, 0xd1, 0xaa, 0xe5, 0x3a, 0x0e, 0x1b, 0xbc, 0xed, 0x5b, 0x30, + 0x54, 0xdf, 0x8d, 0x1b, 0x89, 0xff, 0xb0, 0x9e, 0xc2, 0x6e, 0xc0, 0x64, 0xe6, 0xcd, 0x68, 0xf5, + 0xf8, 0xb8, 0xf5, 0xb0, 0x1e, 0x1f, 0xb7, 0xff, 0xc8, 0x82, 0xc1, 0x75, 0xc7, 0xcb, 0x7f, 0xd2, + 0xa2, 0x48, 0x93, 0xd1, 0xcb, 0x30, 0x44, 0x36, 0x37, 0x49, 0x43, 0x3e, 0x66, 0xfe, 0x84, 0x54, + 0x6d, 0x96, 0x19, 0x94, 0x2e, 0x4d, 0x56, 0x19, 0xff, 0x8b, 0x05, 0x31, 0xfa, 0x2c, 0x54, 0x12, + 0xaf, 0x49, 0x16, 0x5c, 0x97, 0xb8, 0x47, 0xb8, 0xb3, 0xa9, 0x44, 0xc5, 0xba, 0x64, 0x82, 0x53, + 0x7e, 0xf6, 0xd7, 0x4a, 0x00, 0xeb, 0xa1, 0x2f, 0x0f, 0xd5, 0x72, 0xba, 0xb9, 0xd8, 0xf1, 0x72, + 0xc7, 0x33, 0x5d, 0x5e, 0xee, 0x40, 0x29, 0xc3, 0x2e, 0xef, 0x76, 0xa8, 0xa1, 0x2a, 0x17, 0x1a, + 0xaa, 0x81, 0x7e, 0x86, 0x6a, 0x09, 0x4e, 0x25, 0xaa, 0x6e, 0xf3, 0xf2, 0x0b, 0x4b, 0x2b, 0xb6, + 0x9e, 0x45, 0xe2, 0x4e, 0x7a, 0xfb, 0x6b, 0x16, 0x88, 0xa0, 0xa9, 0x02, 0x73, 0xd5, 0x95, 0x29, + 0xfb, 0x8d, 0x4c, 0x2e, 0xcf, 0x15, 0xb9, 0xdc, 0x24, 0xf2, 0xb7, 0xa8, 0xd5, 0x63, 0x64, 0x6d, + 0x31, 0xb8, 0xda, 0xbf, 0x61, 0xc1, 0x28, 0x47, 0xaf, 0x31, 0x4d, 0x37, 0xbf, 0x5d, 0x7d, 0xe5, + 0xac, 0x63, 0xd9, 0xec, 0x29, 0x63, 0x95, 0xbb, 0x4c, 0xcf, 0x66, 0x2f, 0x11, 0x38, 0xa5, 0x41, + 0xcf, 0xc2, 0x70, 0xdc, 0xde, 0x60, 0xe4, 0x99, 0x08, 0xaa, 0x3a, 0x07, 0x63, 0x89, 0xb7, 0x7f, + 0x11, 0x81, 0xd1, 0x35, 0x23, 0x4f, 0x9a, 0xf5, 0xd0, 0xf3, 0xa4, 0xbd, 0x09, 0x23, 0xa4, 0xd9, + 0x4a, 0x76, 0xab, 0x5e, 0x54, 0x2c, 0x67, 0xe5, 0xb2, 0xa0, 0xee, 0xe4, 0x2e, 0x31, 0x58, 0x71, + 0xec, 0x91, 0xf5, 0xae, 0xfc, 0xbe, 0xc8, 0x7a, 0x37, 0xf0, 0x53, 0xc9, 0x7a, 0xf7, 0x06, 0x0c, + 0x6f, 0x79, 0x09, 0x26, 0xad, 0x50, 0xdc, 0x86, 0xcd, 0x39, 0xe8, 0xbc, 0xca, 0x89, 0x3b, 0x53, + 0x59, 0x09, 0x04, 0x96, 0xec, 0xd0, 0x3a, 0x0c, 0x71, 0xeb, 0x48, 0x24, 0x92, 0xfb, 0x70, 0x11, + 0x8f, 0x53, 0x67, 0x4e, 0x35, 0x11, 0x26, 0x27, 0x78, 0xc9, 0x2c, 0x77, 0xc3, 0xef, 0x3d, 0xcb, + 0x9d, 0xca, 0x4d, 0x37, 0xf2, 0xb0, 0x72, 0xd3, 0x19, 0x39, 0xfe, 0x2a, 0xc7, 0x91, 0xe3, 0xef, + 0x6b, 0x16, 0x9c, 0x6d, 0x75, 0xcb, 0x90, 0x29, 0xb2, 0xcc, 0x7d, 0xe2, 0x08, 0x39, 0x43, 0x8d, + 0xaa, 0xd9, 0x1d, 0xc3, 0xae, 0x64, 0xb8, 0x7b, 0xc5, 0x32, 0x59, 0xe0, 0xe8, 0x7b, 0x4f, 0x16, + 0x78, 0xdc, 0xe9, 0xe8, 0xd2, 0xd4, 0x81, 0xe3, 0xc7, 0x92, 0x3a, 0x70, 0xe2, 0x21, 0xa6, 0x0e, + 0xd4, 0x92, 0xfe, 0x4d, 0x3e, 0xdc, 0xa4, 0x7f, 0xdb, 0x30, 0xea, 0x86, 0xf7, 0x83, 0xfb, 0x4e, + 0xe4, 0x2e, 0xd4, 0x56, 0x45, 0x8e, 0xb9, 0x9c, 0x34, 0x26, 0xd5, 0xb4, 0x80, 0x51, 0x03, 0x77, + 0xad, 0xa6, 0x48, 0xac, 0xb3, 0x16, 0xe9, 0x0f, 0x4f, 0xbd, 0xc7, 0xf4, 0x87, 0x46, 0x12, 0x41, + 0x74, 0x1c, 0x49, 0x04, 0xdf, 0x66, 0xf9, 0x0c, 0x36, 0xbd, 0xad, 0x35, 0xa7, 0xc5, 0xee, 0xe0, + 0xe5, 0xd6, 0xb0, 0x24, 0xc9, 0x3b, 0x6b, 0x50, 0x28, 0x9c, 0x32, 0xed, 0x4c, 0x53, 0x78, 0xe6, + 0xa4, 0xd3, 0x14, 0x9e, 0x3d, 0xc6, 0x34, 0x85, 0x8f, 0x9c, 0x68, 0x9a, 0xc2, 0x47, 0x7f, 0x2a, + 0x69, 0x0a, 0xff, 0x02, 0x9c, 0x3b, 0xfc, 0x73, 0xa4, 0x89, 0xb0, 0x6b, 0xa9, 0x53, 0x23, 0x93, + 0x08, 0x9b, 0xa9, 0x3a, 0x1a, 0x55, 0xe1, 0x5c, 0x69, 0xdf, 0xb2, 0xe0, 0xd1, 0x1e, 0xa9, 0x84, + 0x0a, 0x5f, 0x5f, 0x69, 0xc1, 0x64, 0xcb, 0x2c, 0x5a, 0xf8, 0xc2, 0x99, 0x91, 0xba, 0x48, 0x85, + 0x42, 0x66, 0x10, 0x38, 0xcb, 0x7e, 0xf1, 0x83, 0x3f, 0xfc, 0xf1, 0xb9, 0x0f, 0xfc, 0xe8, 0xc7, + 0xe7, 0x3e, 0xf0, 0x07, 0x3f, 0x3e, 0xf7, 0x81, 0x9f, 0xdf, 0x3f, 0x67, 0xfd, 0x70, 0xff, 0x9c, + 0xf5, 0xa3, 0xfd, 0x73, 0xd6, 0x1f, 0xef, 0x9f, 0xb3, 0xbe, 0xf6, 0x93, 0x73, 0x1f, 0xf8, 0x4c, + 0x69, 0xe7, 0xd2, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0x1a, 0xde, 0xa0, 0xf7, 0xc5, 0xbb, 0x00, + 0x00, } diff --git a/pkg/api/v1/generated.proto b/pkg/api/v1/generated.proto index cf6038f41bf..52b422df5f4 100644 --- a/pkg/api/v1/generated.proto +++ b/pkg/api/v1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.api.v1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". @@ -1241,23 +1241,23 @@ message LimitRangeItem { // Max usage constraints on this kind by resource name. // +optional - map max = 2; + map max = 2; // Min usage constraints on this kind by resource name. // +optional - map min = 3; + map min = 3; // Default resource requirement limit value by resource name if resource limit is omitted. // +optional - map default = 4; + map default = 4; // DefaultRequest is the default resource requirement request value by resource name if resource request is omitted. // +optional - map defaultRequest = 5; + map defaultRequest = 5; // MaxLimitRequestRatio if specified, the named resource must have a request and limit that are both non-zero where limit divided by request is less than or equal to the enumerated value; this represents the max burst for the named resource. // +optional - map maxLimitRequestRatio = 6; + map maxLimitRequestRatio = 6; } // LimitRangeList is a list of LimitRange items. @@ -1527,7 +1527,7 @@ message NodeProxyOptions { // see http://releases.k8s.io/HEAD/docs/design/resources.md for more details. message NodeResources { // Capacity represents the available resources of a node - map capacity = 1; + map capacity = 1; } // A node selector represents the union of the results of one or more label queries @@ -1589,12 +1589,12 @@ message NodeStatus { // Capacity represents the total resources of a node. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity for more details. // +optional - map capacity = 1; + map capacity = 1; // Allocatable represents the resources of a node that are available for scheduling. // Defaults to Capacity. // +optional - map allocatable = 2; + map allocatable = 2; // NodePhase is the recently observed lifecycle phase of the node. // More info: http://releases.k8s.io/HEAD/docs/admin/node.md#node-phase @@ -1964,7 +1964,7 @@ message PersistentVolumeClaimStatus { // Represents the actual resources of the underlying volume. // +optional - map capacity = 3; + map capacity = 3; } // PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. @@ -2086,7 +2086,7 @@ message PersistentVolumeSpec { // A description of the persistent volume's resources and capacity. // More info: http://kubernetes.io/docs/user-guide/persistent-volumes#capacity // +optional - map capacity = 1; + map capacity = 1; // The actual volume backing the persistent volume. optional PersistentVolumeSource persistentVolumeSource = 2; @@ -2992,7 +2992,7 @@ message ResourceFieldSelector { // Specifies the output format of the exposed resources, defaults to "1" // +optional - optional k8s.io.kubernetes.pkg.api.resource.Quantity divisor = 3; + optional k8s.io.apimachinery.pkg.api.resource.Quantity divisor = 3; } // ResourceQuota sets aggregate quota restrictions enforced per namespace @@ -3030,7 +3030,7 @@ message ResourceQuotaSpec { // Hard is the set of desired hard limits for each named resource. // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota // +optional - map hard = 1; + map hard = 1; // A collection of filters that must match each object tracked by a quota. // If not specified, the quota matches all objects. @@ -3043,11 +3043,11 @@ message ResourceQuotaStatus { // Hard is the set of enforced hard limits for each named resource. // More info: http://releases.k8s.io/HEAD/docs/design/admission_control_resource_quota.md#admissioncontrol-plugin-resourcequota // +optional - map hard = 1; + map hard = 1; // Used is the current observed total usage of the resource in the namespace. // +optional - map used = 2; + map used = 2; } // ResourceRequirements describes the compute resource requirements. @@ -3055,14 +3055,14 @@ message ResourceRequirements { // Limits describes the maximum amount of compute resources allowed. // More info: http://kubernetes.io/docs/user-guide/compute-resources/ // +optional - map limits = 1; + map limits = 1; // Requests describes the minimum amount of compute resources required. // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, // otherwise to an implementation-defined value. // More info: http://kubernetes.io/docs/user-guide/compute-resources/ // +optional - map requests = 2; + map requests = 2; } // SELinuxOptions are the labels to be applied to the container diff --git a/pkg/api/v1/helpers_test.go b/pkg/api/v1/helpers_test.go index c4716de38e0..37da086d94a 100644 --- a/pkg/api/v1/helpers_test.go +++ b/pkg/api/v1/helpers_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" - "k8s.io/kubernetes/pkg/api" ) func TestAddToNodeAddresses(t *testing.T) { @@ -76,7 +76,7 @@ func TestAddToNodeAddresses(t *testing.T) { for i, tc := range testCases { AddToNodeAddresses(&tc.existing, tc.toAdd...) - if !api.Semantic.DeepEqual(tc.expected, tc.existing) { + if !apiequality.Semantic.DeepEqual(tc.expected, tc.existing) { t.Errorf("case[%d], expected: %v, got: %v", i, tc.expected, tc.existing) } } diff --git a/pkg/api/v1/resource_helpers.go b/pkg/api/v1/resource_helpers.go index f97ebaddd4e..e5b791e0e57 100644 --- a/pkg/api/v1/resource_helpers.go +++ b/pkg/api/v1/resource_helpers.go @@ -19,8 +19,8 @@ package v1 import ( "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" ) // Returns string version of ResourceName. diff --git a/pkg/api/v1/resource_helpers_test.go b/pkg/api/v1/resource_helpers_test.go index 2866b0f33e8..cadbc49ea1e 100644 --- a/pkg/api/v1/resource_helpers_test.go +++ b/pkg/api/v1/resource_helpers_test.go @@ -20,8 +20,8 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" ) func TestResourceHelpers(t *testing.T) { diff --git a/pkg/api/v1/types.generated.go b/pkg/api/v1/types.generated.go index 3a8a5b27c24..0af87d4a4f1 100644 --- a/pkg/api/v1/types.generated.go +++ b/pkg/api/v1/types.generated.go @@ -25,10 +25,10 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg3_resource "k8s.io/apimachinery/pkg/api/resource" pkg2_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg5_runtime "k8s.io/apimachinery/pkg/runtime" pkg1_types "k8s.io/apimachinery/pkg/types" - pkg3_resource "k8s.io/kubernetes/pkg/api/resource" pkg4_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" "runtime" @@ -65,10 +65,10 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg2_v1.Time - var v1 pkg5_runtime.RawExtension - var v2 pkg1_types.UID - var v3 pkg3_resource.Quantity + var v0 pkg3_resource.Quantity + var v1 pkg2_v1.Time + var v2 pkg5_runtime.RawExtension + var v3 pkg1_types.UID var v4 pkg4_intstr.IntOrString var v5 time.Time _, _, _, _, _, _ = v0, v1, v2, v3, v4, v5 diff --git a/pkg/api/v1/types.go b/pkg/api/v1/types.go index 3c18123b4de..914c4768ba7 100644 --- a/pkg/api/v1/types.go +++ b/pkg/api/v1/types.go @@ -17,10 +17,10 @@ limitations under the License. package v1 import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/api/v1/validation/BUILD b/pkg/api/v1/validation/BUILD index 1c97912a555..e10b9909941 100644 --- a/pkg/api/v1/validation/BUILD +++ b/pkg/api/v1/validation/BUILD @@ -13,8 +13,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/validation", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", diff --git a/pkg/api/v1/validation/validation.go b/pkg/api/v1/validation/validation.go index a362cce1029..6bb0099bfd4 100644 --- a/pkg/api/v1/validation/validation.go +++ b/pkg/api/v1/validation/validation.go @@ -20,11 +20,11 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/api/validation/BUILD b/pkg/api/validation/BUILD index aefb6171ce5..f1bda102640 100644 --- a/pkg/api/validation/BUILD +++ b/pkg/api/validation/BUILD @@ -20,7 +20,6 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/pod:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", @@ -33,7 +32,9 @@ go_library( "//vendor:github.com/emicklei/go-restful/swagger", "//vendor:github.com/exponent-io/jsonpath", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/api/validation", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", @@ -69,7 +70,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/service:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", @@ -80,6 +80,8 @@ go_test( "//pkg/security/apparmor:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/ghodss/yaml", + "//vendor:k8s.io/apimachinery/pkg/api/resource", + "//vendor:k8s.io/apimachinery/pkg/api/testing", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/pkg/api/validation/genericvalidation/BUILD b/pkg/api/validation/genericvalidation/BUILD index 55feb408709..b360c35d00b 100644 --- a/pkg/api/validation/genericvalidation/BUILD +++ b/pkg/api/validation/genericvalidation/BUILD @@ -18,6 +18,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/validation", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/validation", diff --git a/pkg/api/validation/genericvalidation/objectmeta.go b/pkg/api/validation/genericvalidation/objectmeta.go index 43f1a61be5d..48cb0c90c80 100644 --- a/pkg/api/validation/genericvalidation/objectmeta.go +++ b/pkg/api/validation/genericvalidation/objectmeta.go @@ -20,6 +20,7 @@ import ( "fmt" "strings" + apiequality "k8s.io/apimachinery/pkg/api/equality" apimachineyvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" v1validation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" @@ -133,7 +134,7 @@ func ValidateNoNewFinalizers(newFinalizers []string, oldFinalizers []string, fld func ValidateImmutableField(newVal, oldVal interface{}, fldPath *field.Path) field.ErrorList { allErrs := field.ErrorList{} - if !api.Semantic.DeepEqual(oldVal, newVal) { + if !apiequality.Semantic.DeepEqual(oldVal, newVal) { allErrs = append(allErrs, field.Invalid(fldPath, newVal, FieldImmutableErrorMsg)) } return allErrs diff --git a/pkg/api/validation/schema_test.go b/pkg/api/validation/schema_test.go index 760fb2c380e..736e7312104 100644 --- a/pkg/api/validation/schema_test.go +++ b/pkg/api/validation/schema_test.go @@ -24,11 +24,12 @@ import ( "strings" "testing" + apitesting "k8s.io/apimachinery/pkg/api/testing" "k8s.io/apimachinery/pkg/runtime" k8syaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -148,7 +149,7 @@ func TestValidateOk(t *testing.T) { } seed := rand.Int63() - apiObjectFuzzer := apitesting.FuzzerFor(nil, testapi.Default.InternalGroupVersion(), rand.NewSource(seed)) + apiObjectFuzzer := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(t), rand.NewSource(seed)) for i := 0; i < 5; i++ { for _, test := range tests { testObj := test.obj diff --git a/pkg/api/validation/validation.go b/pkg/api/validation/validation.go index 02e811594e0..0316f7e6e5a 100644 --- a/pkg/api/validation/validation.go +++ b/pkg/api/validation/validation.go @@ -28,6 +28,8 @@ import ( "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" apimachineryvalidation "k8s.io/apimachinery/pkg/api/validation" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" unversionedvalidation "k8s.io/apimachinery/pkg/apis/meta/v1/validation" @@ -38,7 +40,6 @@ import ( utilfeature "k8s.io/apiserver/pkg/util/feature" "k8s.io/kubernetes/pkg/api" utilpod "k8s.io/kubernetes/pkg/api/pod" - "k8s.io/kubernetes/pkg/api/resource" apiservice "k8s.io/kubernetes/pkg/api/service" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation/genericvalidation" @@ -1092,7 +1093,7 @@ func ValidatePersistentVolumeClaimUpdate(newPvc, oldPvc *api.PersistentVolumeCla } // changes to Spec are not allowed, but updates to label/and some annotations are OK. // no-op updates pass validation. - if !api.Semantic.DeepEqual(newPvc.Spec, oldPvc.Spec) { + if !apiequality.Semantic.DeepEqual(newPvc.Spec, oldPvc.Spec) { allErrs = append(allErrs, field.Forbidden(field.NewPath("spec"), "field is immutable after creation")) } @@ -2253,7 +2254,7 @@ func ValidatePodUpdate(newPod, oldPod *api.Pod) field.ErrorList { activeDeadlineSeconds := *oldPod.Spec.ActiveDeadlineSeconds mungedPod.Spec.ActiveDeadlineSeconds = &activeDeadlineSeconds } - if !api.Semantic.DeepEqual(mungedPod.Spec, oldPod.Spec) { + if !apiequality.Semantic.DeepEqual(mungedPod.Spec, oldPod.Spec) { //TODO: Pinpoint the specific field that causes the invalid error after we have strategic merge diff allErrs = append(allErrs, field.Forbidden(specPath, "pod updates may not change fields other than `containers[*].image` or `spec.activeDeadlineSeconds`")) } @@ -2789,7 +2790,7 @@ func ValidateNodeUpdate(node, oldNode *api.Node) field.ErrorList { // TODO: Enable the code once we have better api object.status update model. Currently, // anyone can update node status. - // if !api.Semantic.DeepEqual(node.Status, api.NodeStatus{}) { + // if !apiequality.Semantic.DeepEqual(node.Status, api.NodeStatus{}) { // allErrs = append(allErrs, field.Invalid("status", node.Status, "must be empty")) // } @@ -2832,7 +2833,7 @@ func ValidateNodeUpdate(node, oldNode *api.Node) field.ErrorList { oldNode.Status = node.Status // TODO: Add a 'real' error type for this error and provide print actual diffs. - if !api.Semantic.DeepEqual(oldNode, node) { + if !apiequality.Semantic.DeepEqual(oldNode, node) { glog.V(4).Infof("Update failed validation %#v vs %#v", oldNode, node) allErrs = append(allErrs, field.Forbidden(field.NewPath(""), "node updates may only change labels or capacity")) } diff --git a/pkg/api/validation/validation_test.go b/pkg/api/validation/validation_test.go index 9209b69a6be..fe9cb92aa10 100644 --- a/pkg/api/validation/validation_test.go +++ b/pkg/api/validation/validation_test.go @@ -21,11 +21,11 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/service" storageutil "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/capabilities" diff --git a/pkg/apimachinery/tests/BUILD b/pkg/apimachinery/tests/BUILD index 0ac57aedc6a..d9cc70719bb 100644 --- a/pkg/apimachinery/tests/BUILD +++ b/pkg/apimachinery/tests/BUILD @@ -30,6 +30,7 @@ go_test( "//pkg/api/validation:go_default_library", "//pkg/apis/extensions:go_default_library", "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", diff --git a/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go b/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go index 87ff680264c..325636ebee6 100644 --- a/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go +++ b/pkg/apimachinery/tests/runtime_serializer_protobuf_protobuf_test.go @@ -24,6 +24,7 @@ import ( "strings" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -344,7 +345,7 @@ func TestDecodeObjects(t *testing.T) { continue } - if !api.Semantic.DeepEqual(obj, test.obj) { + if !apiequality.Semantic.DeepEqual(obj, test.obj) { t.Errorf("%d: unexpected object:\n%s", i, diff.ObjectGoPrintDiff(test.obj, obj)) continue } diff --git a/pkg/apis/apps/v1beta1/BUILD b/pkg/apis/apps/v1beta1/BUILD index 00e933000e5..54831f1785b 100644 --- a/pkg/apis/apps/v1beta1/BUILD +++ b/pkg/apis/apps/v1beta1/BUILD @@ -25,12 +25,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/apis/apps/v1beta1/generated.pb.go b/pkg/apis/apps/v1beta1/generated.pb.go index a94798b88ff..c6b7b0c089b 100644 --- a/pkg/apis/apps/v1beta1/generated.pb.go +++ b/pkg/apis/apps/v1beta1/generated.pb.go @@ -1033,46 +1033,46 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 645 bytes of a gzipped FileDescriptorProto + // 647 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x93, 0xcd, 0x6e, 0xd3, 0x40, 0x10, 0xc7, 0xe3, 0xa4, 0x29, 0x61, 0x53, 0xbe, 0x96, 0x0a, 0x45, 0x15, 0x72, 0xab, 0x5c, 0x08, - 0x52, 0xbb, 0x26, 0x6d, 0x81, 0x8a, 0xa3, 0x91, 0x40, 0x48, 0x40, 0x91, 0x83, 0x2a, 0x51, 0x40, - 0x62, 0xed, 0x4c, 0xd3, 0x25, 0xfe, 0x92, 0x77, 0x1c, 0x89, 0x1b, 0x17, 0x0e, 0xdc, 0x78, 0x13, - 0x6e, 0x3c, 0x43, 0xc5, 0xa9, 0x47, 0x4e, 0x15, 0x0d, 0x2f, 0x82, 0xbc, 0xd9, 0x24, 0x06, 0x27, - 0x6a, 0xd5, 0x5b, 0x66, 0x3d, 0xff, 0xdf, 0xcc, 0xfc, 0x67, 0x42, 0x1e, 0xf6, 0x77, 0x24, 0x13, - 0x91, 0xd5, 0x4f, 0x5d, 0x48, 0x42, 0x40, 0x90, 0x56, 0xdc, 0xef, 0x59, 0x3c, 0x16, 0xd2, 0xe2, - 0x71, 0x2c, 0xad, 0x41, 0xdb, 0x05, 0xe4, 0x6d, 0xab, 0x07, 0x21, 0x24, 0x1c, 0xa1, 0xcb, 0xe2, - 0x24, 0xc2, 0x88, 0xde, 0x19, 0x09, 0xd9, 0x54, 0xc8, 0xe2, 0x7e, 0x8f, 0x65, 0x42, 0x96, 0x09, - 0x99, 0x16, 0xae, 0x6c, 0xf4, 0x04, 0x1e, 0xa6, 0x2e, 0xf3, 0xa2, 0xc0, 0xea, 0x45, 0xbd, 0xc8, - 0x52, 0x7a, 0x37, 0x3d, 0x50, 0x91, 0x0a, 0xd4, 0xaf, 0x11, 0x77, 0x65, 0x5b, 0x37, 0xc4, 0x63, - 0x11, 0x70, 0xef, 0x50, 0x84, 0x90, 0x7c, 0x9a, 0xb6, 0x14, 0x00, 0x72, 0x6b, 0x50, 0xe8, 0x66, - 0xc5, 0x9a, 0xa7, 0x4a, 0xd2, 0x10, 0x45, 0x00, 0x05, 0xc1, 0x83, 0xb3, 0x04, 0xd2, 0x3b, 0x84, - 0x80, 0x17, 0x74, 0x9b, 0x73, 0xfd, 0xb2, 0x12, 0x90, 0x51, 0x9a, 0x78, 0xc5, 0x5a, 0xeb, 0xf3, - 0x35, 0x33, 0x46, 0x69, 0xcf, 0xce, 0x4e, 0x51, 0xf8, 0x96, 0x08, 0x51, 0x62, 0xf2, 0xbf, 0xa4, - 0xf9, 0xbd, 0x4c, 0xea, 0x1d, 0xe4, 0x08, 0x07, 0xa9, 0xdf, 0x01, 0xa4, 0x1f, 0x48, 0x2d, 0x33, - 0xaa, 0xcb, 0x91, 0x37, 0x8c, 0x35, 0xa3, 0x55, 0xdf, 0xbc, 0xc7, 0xf4, 0xba, 0xf2, 0xf3, 0x4e, - 0x17, 0x96, 0x65, 0xb3, 0x41, 0x9b, 0xed, 0xba, 0x1f, 0xc1, 0xc3, 0x17, 0x80, 0xdc, 0xa6, 0x47, - 0x27, 0xab, 0xa5, 0xe1, 0xc9, 0x2a, 0x99, 0xbe, 0x39, 0x13, 0x2a, 0xdd, 0x27, 0x0b, 0x32, 0x06, - 0xaf, 0x51, 0x56, 0xf4, 0x1d, 0x76, 0xce, 0x63, 0x60, 0xb9, 0x2e, 0x3b, 0x31, 0x78, 0xf6, 0x92, - 0xae, 0xb2, 0x90, 0x45, 0x8e, 0x62, 0x52, 0x97, 0x2c, 0x4a, 0xe4, 0x98, 0xca, 0x46, 0x45, 0xd1, - 0x1f, 0x5d, 0x88, 0xae, 0x08, 0xf6, 0x55, 0xcd, 0x5f, 0x1c, 0xc5, 0x8e, 0x26, 0x37, 0x7f, 0x1a, - 0xe4, 0x5a, 0x2e, 0xfb, 0xb9, 0x90, 0x48, 0xdf, 0x15, 0x5c, 0x63, 0xe7, 0x73, 0x2d, 0x53, 0x2b, - 0xcf, 0xae, 0xeb, 0x6a, 0xb5, 0xf1, 0x4b, 0xce, 0xb1, 0x37, 0xa4, 0x2a, 0x10, 0x02, 0xd9, 0x28, - 0xaf, 0x55, 0x5a, 0xf5, 0xcd, 0xed, 0x8b, 0x0c, 0x65, 0x5f, 0xd1, 0x05, 0xaa, 0xcf, 0x32, 0x94, - 0x33, 0x22, 0x36, 0x7f, 0x54, 0xfe, 0x19, 0x26, 0xb3, 0x92, 0xb6, 0x48, 0x2d, 0x81, 0xd8, 0x17, - 0x1e, 0x97, 0x6a, 0x98, 0xaa, 0xbd, 0x94, 0x35, 0xe6, 0xe8, 0x37, 0x67, 0xf2, 0x95, 0xbe, 0x27, - 0x35, 0x09, 0x3e, 0x78, 0x18, 0x25, 0x7a, 0x9d, 0x5b, 0xe7, 0x1c, 0x9b, 0xbb, 0xe0, 0x77, 0xb4, - 0x74, 0x84, 0x1f, 0x47, 0xce, 0x04, 0x49, 0xdf, 0x92, 0x1a, 0x42, 0x10, 0xfb, 0x1c, 0x41, 0xef, - 0x73, 0x63, 0xfe, 0xe8, 0x19, 0xf6, 0x55, 0xd4, 0x7d, 0xad, 0x05, 0xea, 0x44, 0x26, 0xa6, 0x8e, - 0x5f, 0x9d, 0x09, 0x90, 0x7e, 0x31, 0xc8, 0xf2, 0x20, 0xf2, 0xd3, 0x00, 0x1e, 0xfb, 0x5c, 0x04, - 0xe3, 0x0c, 0xd9, 0x58, 0x50, 0x26, 0x6f, 0x9d, 0x51, 0x09, 0x12, 0x29, 0x24, 0x42, 0x88, 0x7b, - 0x53, 0x86, 0x7d, 0x5b, 0xd7, 0x5b, 0xde, 0x9b, 0x01, 0x76, 0x66, 0x96, 0xa3, 0xf7, 0x49, 0x5d, - 0x42, 0x32, 0x10, 0x1e, 0xbc, 0xe4, 0x01, 0x34, 0xaa, 0x6b, 0x46, 0xeb, 0xb2, 0x7d, 0x53, 0x83, - 0xea, 0x9d, 0xe9, 0x27, 0x27, 0x9f, 0xd7, 0xfc, 0x6a, 0x90, 0x1b, 0x85, 0x9b, 0xa5, 0x4f, 0x08, - 0x8d, 0xdc, 0x2c, 0x0d, 0xba, 0x4f, 0x47, 0x7f, 0x74, 0x11, 0x85, 0x6a, 0x89, 0x15, 0xfb, 0xd6, - 0xf0, 0x64, 0x95, 0xee, 0x16, 0xbe, 0x3a, 0x33, 0x14, 0x74, 0x3d, 0x77, 0x02, 0x65, 0x75, 0x02, - 0x13, 0x2b, 0x8b, 0x67, 0x60, 0xdf, 0x3d, 0x3a, 0x35, 0x4b, 0xc7, 0xa7, 0x66, 0xe9, 0xd7, 0xa9, - 0x59, 0xfa, 0x3c, 0x34, 0x8d, 0xa3, 0xa1, 0x69, 0x1c, 0x0f, 0x4d, 0xe3, 0xf7, 0xd0, 0x34, 0xbe, - 0xfd, 0x31, 0x4b, 0xfb, 0x97, 0xf4, 0x45, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xe5, 0x5a, 0x18, - 0x81, 0x34, 0x06, 0x00, 0x00, + 0x52, 0xbb, 0x4b, 0xda, 0x02, 0x15, 0x47, 0x23, 0x81, 0x90, 0x80, 0x22, 0x07, 0x55, 0xa2, 0x80, + 0xc4, 0xda, 0x99, 0xa6, 0x4b, 0xec, 0xd8, 0xf2, 0x8e, 0x23, 0x71, 0xe3, 0xc2, 0x81, 0x1b, 0x6f, + 0xc2, 0x8d, 0x67, 0xa8, 0x38, 0xf5, 0xc8, 0xa9, 0xa2, 0xe1, 0x45, 0x90, 0x37, 0x9b, 0x0f, 0xea, + 0x94, 0x56, 0xbd, 0x65, 0xd6, 0xf3, 0xff, 0xcd, 0xcc, 0x7f, 0x26, 0xe4, 0x61, 0x77, 0x4b, 0x31, + 0x19, 0xf1, 0x6e, 0xea, 0x41, 0xd2, 0x03, 0x04, 0xc5, 0xe3, 0x6e, 0x87, 0x8b, 0x58, 0x2a, 0x2e, + 0xe2, 0x58, 0xf1, 0x7e, 0xd3, 0x03, 0x14, 0x4d, 0xde, 0x81, 0x1e, 0x24, 0x02, 0xa1, 0xcd, 0xe2, + 0x24, 0xc2, 0x88, 0xde, 0x19, 0x0a, 0xd9, 0x44, 0xc8, 0xe2, 0x6e, 0x87, 0x65, 0x42, 0x96, 0x09, + 0x99, 0x11, 0x2e, 0xad, 0x75, 0x24, 0xee, 0xa7, 0x1e, 0xf3, 0xa3, 0x90, 0x77, 0xa2, 0x4e, 0xc4, + 0xb5, 0xde, 0x4b, 0xf7, 0x74, 0xa4, 0x03, 0xfd, 0x6b, 0xc8, 0x5d, 0xda, 0x34, 0x0d, 0x89, 0x58, + 0x86, 0xc2, 0xdf, 0x97, 0x3d, 0x48, 0x3e, 0x8d, 0x5a, 0xe2, 0x09, 0xa8, 0x28, 0x4d, 0x7c, 0x38, + 0xd9, 0xcd, 0x7f, 0x55, 0x8a, 0x87, 0x80, 0x82, 0xf7, 0x73, 0x33, 0x2c, 0xf1, 0xd3, 0x54, 0x49, + 0xda, 0x43, 0x19, 0xe6, 0xcb, 0x3c, 0x38, 0x4b, 0xa0, 0xfc, 0x7d, 0x08, 0x45, 0x4e, 0xb7, 0x7a, + 0xaa, 0xcb, 0xb3, 0xda, 0x6a, 0xce, 0xce, 0x4e, 0x51, 0x06, 0x5c, 0xf6, 0x50, 0x61, 0x72, 0x52, + 0x52, 0xff, 0x5e, 0x24, 0xd5, 0x16, 0x0a, 0x84, 0xbd, 0x34, 0x68, 0x01, 0xd2, 0x0f, 0xa4, 0x92, + 0x0d, 0xdd, 0x16, 0x28, 0x6a, 0xd6, 0x8a, 0xd5, 0xa8, 0xae, 0xdf, 0x63, 0x66, 0x61, 0xd3, 0xbd, + 0x4f, 0x56, 0x96, 0x65, 0xb3, 0x7e, 0x93, 0x6d, 0x7b, 0x1f, 0xc1, 0xc7, 0x17, 0x80, 0xc2, 0xa1, + 0x07, 0x47, 0xcb, 0x85, 0xc1, 0xd1, 0x32, 0x99, 0xbc, 0xb9, 0x63, 0x2a, 0xdd, 0x25, 0x73, 0x2a, + 0x06, 0xbf, 0x56, 0xd4, 0xf4, 0x2d, 0x76, 0xce, 0x73, 0x60, 0x53, 0x5d, 0xb6, 0x62, 0xf0, 0x9d, + 0x05, 0x53, 0x65, 0x2e, 0x8b, 0x5c, 0xcd, 0xa4, 0x1e, 0x99, 0x57, 0x28, 0x30, 0x55, 0xb5, 0x92, + 0xa6, 0x3f, 0xba, 0x10, 0x5d, 0x13, 0x9c, 0xab, 0x86, 0x3f, 0x3f, 0x8c, 0x5d, 0x43, 0xae, 0xff, + 0xb4, 0xc8, 0xb5, 0xa9, 0xec, 0xe7, 0x52, 0x21, 0x7d, 0x97, 0x73, 0x8d, 0x9d, 0xcf, 0xb5, 0x4c, + 0xad, 0x3d, 0xbb, 0x6e, 0xaa, 0x55, 0x46, 0x2f, 0x53, 0x8e, 0xbd, 0x21, 0x65, 0x89, 0x10, 0xaa, + 0x5a, 0x71, 0xa5, 0xd4, 0xa8, 0xae, 0x6f, 0x5e, 0x64, 0x28, 0xe7, 0x8a, 0x29, 0x50, 0x7e, 0x96, + 0xa1, 0xdc, 0x21, 0xb1, 0xfe, 0xa3, 0xf4, 0xcf, 0x30, 0x99, 0x95, 0xb4, 0x41, 0x2a, 0x09, 0xc4, + 0x81, 0xf4, 0x85, 0xd2, 0xc3, 0x94, 0x9d, 0x85, 0xac, 0x31, 0xd7, 0xbc, 0xb9, 0xe3, 0xaf, 0xf4, + 0x3d, 0xa9, 0x28, 0x08, 0xc0, 0xc7, 0x28, 0x31, 0xeb, 0xdc, 0x38, 0xe7, 0xd8, 0xc2, 0x83, 0xa0, + 0x65, 0xa4, 0x43, 0xfc, 0x28, 0x72, 0xc7, 0x48, 0xfa, 0x96, 0x54, 0x10, 0xc2, 0x38, 0x10, 0x08, + 0x66, 0x9f, 0x6b, 0xa7, 0x8f, 0x9e, 0x61, 0x5f, 0x45, 0xed, 0xd7, 0x46, 0xa0, 0x4f, 0x64, 0x6c, + 0xea, 0xe8, 0xd5, 0x1d, 0x03, 0xe9, 0x17, 0x8b, 0x2c, 0xf6, 0xa3, 0x20, 0x0d, 0xe1, 0x71, 0x20, + 0x64, 0x38, 0xca, 0x50, 0xb5, 0x39, 0x6d, 0xf2, 0xc6, 0x19, 0x95, 0x20, 0x51, 0x52, 0x21, 0xf4, + 0x70, 0x67, 0xc2, 0x70, 0x6e, 0x9b, 0x7a, 0x8b, 0x3b, 0x33, 0xc0, 0xee, 0xcc, 0x72, 0xf4, 0x3e, + 0xa9, 0x2a, 0x48, 0xfa, 0xd2, 0x87, 0x97, 0x22, 0x84, 0x5a, 0x79, 0xc5, 0x6a, 0x5c, 0x76, 0x6e, + 0x1a, 0x50, 0xb5, 0x35, 0xf9, 0xe4, 0x4e, 0xe7, 0xd5, 0xbf, 0x5a, 0xe4, 0x46, 0xee, 0x66, 0xe9, + 0x13, 0x42, 0x23, 0x2f, 0x4b, 0x83, 0xf6, 0xd3, 0xe1, 0x1f, 0x5d, 0x46, 0x3d, 0xbd, 0xc4, 0x92, + 0x73, 0x6b, 0x70, 0xb4, 0x4c, 0xb7, 0x73, 0x5f, 0xdd, 0x19, 0x0a, 0xba, 0x3a, 0x75, 0x02, 0x45, + 0x7d, 0x02, 0x63, 0x2b, 0xf3, 0x67, 0xe0, 0xdc, 0x3d, 0x38, 0xb6, 0x0b, 0x87, 0xc7, 0x76, 0xe1, + 0xd7, 0xb1, 0x5d, 0xf8, 0x3c, 0xb0, 0xad, 0x83, 0x81, 0x6d, 0x1d, 0x0e, 0x6c, 0xeb, 0xf7, 0xc0, + 0xb6, 0xbe, 0xfd, 0xb1, 0x0b, 0xbb, 0x97, 0xcc, 0x45, 0xfe, 0x0d, 0x00, 0x00, 0xff, 0xff, 0x39, + 0x79, 0xea, 0x95, 0x36, 0x06, 0x00, 0x00, } diff --git a/pkg/apis/apps/v1beta1/generated.proto b/pkg/apis/apps/v1beta1/generated.proto index e7555c9d609..b900a4b6122 100644 --- a/pkg/apis/apps/v1beta1/generated.proto +++ b/pkg/apis/apps/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.apps.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/apps/v1beta1/types.generated.go b/pkg/apis/apps/v1beta1/types.generated.go index 794d357fa36..b6198c676f8 100644 --- a/pkg/apis/apps/v1beta1/types.generated.go +++ b/pkg/apis/apps/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg4_resource "k8s.io/apimachinery/pkg/api/resource" pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg2_types "k8s.io/apimachinery/pkg/types" - pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg3_v1 "k8s.io/kubernetes/pkg/api/v1" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" @@ -65,9 +65,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg1_v1.TypeMeta - var v1 pkg2_types.UID - var v2 pkg4_resource.Quantity + var v0 pkg4_resource.Quantity + var v1 pkg1_v1.TypeMeta + var v2 pkg2_types.UID var v3 pkg3_v1.PodTemplateSpec var v4 pkg5_intstr.IntOrString var v5 time.Time diff --git a/pkg/apis/authentication/v1beta1/generated.pb.go b/pkg/apis/authentication/v1beta1/generated.pb.go index 0dff3532423..cd983f2bb0c 100644 --- a/pkg/apis/authentication/v1beta1/generated.pb.go +++ b/pkg/apis/authentication/v1beta1/generated.pb.go @@ -1236,47 +1236,47 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 660 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0xcf, 0x4f, 0x13, 0x41, - 0x14, 0xee, 0xf6, 0x07, 0xb6, 0x53, 0x51, 0x9c, 0xc4, 0xa4, 0x69, 0xe2, 0xb6, 0xa9, 0x17, 0x4c, - 0x70, 0xd6, 0x12, 0x83, 0x04, 0xe2, 0x81, 0x0d, 0x68, 0x38, 0x18, 0x93, 0x41, 0x3c, 0x98, 0x98, - 0x38, 0xdd, 0x3e, 0xb6, 0xe3, 0xb2, 0x3f, 0x32, 0x3b, 0x5b, 0xe4, 0xc6, 0x9f, 0xe0, 0xd1, 0xa3, - 0xff, 0x8b, 0x17, 0x8e, 0x1c, 0x3c, 0x78, 0x30, 0xc4, 0xd6, 0x7f, 0xc4, 0xcc, 0xec, 0x48, 0x0b, - 0x85, 0x18, 0xe1, 0xb6, 0xf3, 0xcd, 0xfb, 0xbe, 0xef, 0xbd, 0x6f, 0xf6, 0xa1, 0x8d, 0x60, 0x35, - 0x25, 0x3c, 0x76, 0x82, 0xac, 0x07, 0x22, 0x02, 0x09, 0xa9, 0x93, 0x04, 0xbe, 0xc3, 0x12, 0x9e, - 0x3a, 0x2c, 0x93, 0x03, 0x88, 0x24, 0xf7, 0x98, 0xe4, 0x71, 0xe4, 0x0c, 0xbb, 0x3d, 0x90, 0xac, - 0xeb, 0xf8, 0x10, 0x81, 0x60, 0x12, 0xfa, 0x24, 0x11, 0xb1, 0x8c, 0x71, 0x37, 0x97, 0x20, 0x13, - 0x09, 0x92, 0x04, 0x3e, 0x51, 0x12, 0xe4, 0xbc, 0x04, 0x31, 0x12, 0xcd, 0xc7, 0x3e, 0x97, 0x83, - 0xac, 0x47, 0xbc, 0x38, 0x74, 0xfc, 0xd8, 0x8f, 0x1d, 0xad, 0xd4, 0xcb, 0xf6, 0xf4, 0x49, 0x1f, - 0xf4, 0x57, 0xee, 0xd0, 0x7c, 0x6a, 0x9a, 0x64, 0x09, 0x0f, 0x99, 0x37, 0xe0, 0x11, 0x88, 0xc3, - 0x49, 0x9b, 0x21, 0x48, 0xe6, 0x0c, 0x67, 0xfa, 0x6a, 0x3a, 0x57, 0xb1, 0x44, 0x16, 0x49, 0x1e, - 0xc2, 0x0c, 0x61, 0xe5, 0x5f, 0x84, 0xd4, 0x1b, 0x40, 0xc8, 0x66, 0x78, 0xcb, 0x57, 0x66, 0xe8, - 0x08, 0x48, 0xe3, 0x4c, 0x78, 0xb3, 0x5e, 0x4b, 0x57, 0x73, 0x2e, 0x19, 0xa5, 0x7b, 0x79, 0x75, - 0x26, 0xf9, 0xbe, 0xc3, 0x23, 0x99, 0x4a, 0x71, 0x91, 0xd2, 0x79, 0x86, 0xd0, 0xd6, 0x27, 0x29, - 0xd8, 0x5b, 0xb6, 0x9f, 0x01, 0x6e, 0xa1, 0x0a, 0x97, 0x10, 0xa6, 0x0d, 0xab, 0x5d, 0x5a, 0xac, - 0xb9, 0xb5, 0xf1, 0x69, 0xab, 0xb2, 0xad, 0x00, 0x9a, 0xe3, 0x6b, 0xd5, 0x2f, 0x5f, 0x5b, 0x85, - 0xa3, 0x9f, 0xed, 0x42, 0xe7, 0x5b, 0x11, 0xd5, 0xdf, 0xc4, 0x01, 0x44, 0x14, 0x86, 0x1c, 0x0e, - 0xf0, 0x07, 0x54, 0x55, 0x09, 0xf7, 0x99, 0x64, 0x0d, 0xab, 0x6d, 0x2d, 0xd6, 0x97, 0x9f, 0x10, - 0xf3, 0xe2, 0xd3, 0x41, 0x4d, 0xde, 0x5c, 0x55, 0x93, 0x61, 0x97, 0xbc, 0xee, 0x7d, 0x04, 0x4f, - 0xbe, 0x02, 0xc9, 0x5c, 0x7c, 0x7c, 0xda, 0x2a, 0x8c, 0x4f, 0x5b, 0x68, 0x82, 0xd1, 0x33, 0x55, - 0xdc, 0x47, 0xe5, 0x34, 0x01, 0xaf, 0x51, 0xd4, 0xea, 0x2e, 0xf9, 0xef, 0xff, 0x89, 0x4c, 0xf5, - 0xbb, 0x93, 0x80, 0xe7, 0xde, 0x36, 0x7e, 0x65, 0x75, 0xa2, 0x5a, 0x1d, 0xef, 0xa3, 0xb9, 0x54, - 0x32, 0x99, 0xa5, 0x8d, 0x92, 0xf6, 0xd9, 0xbc, 0xa1, 0x8f, 0xd6, 0x72, 0xef, 0x18, 0xa7, 0xb9, - 0xfc, 0x4c, 0x8d, 0x47, 0x67, 0x05, 0xdd, 0xbd, 0xd0, 0x14, 0x7e, 0x88, 0x2a, 0x52, 0x41, 0x3a, - 0xc5, 0x9a, 0x3b, 0x6f, 0x98, 0x95, 0xbc, 0x2e, 0xbf, 0xeb, 0x7c, 0xb7, 0xd0, 0xbd, 0x19, 0x17, - 0xbc, 0x8e, 0xe6, 0xa7, 0x3a, 0x82, 0xbe, 0x96, 0xa8, 0xba, 0xf7, 0x8d, 0xc4, 0xfc, 0xc6, 0xf4, - 0x25, 0x3d, 0x5f, 0x8b, 0xdf, 0xa3, 0x72, 0x96, 0x82, 0x30, 0xf1, 0xae, 0x5f, 0x63, 0xec, 0xdd, - 0x14, 0xc4, 0x76, 0xb4, 0x17, 0x4f, 0x72, 0x55, 0x08, 0xd5, 0xb2, 0x6a, 0x2c, 0x10, 0x22, 0x16, - 0x3a, 0xd6, 0xa9, 0xb1, 0xb6, 0x14, 0x48, 0xf3, 0xbb, 0xce, 0xa8, 0x88, 0xaa, 0x7f, 0x55, 0xf0, - 0x12, 0xaa, 0x2a, 0x66, 0xc4, 0x42, 0x30, 0x59, 0x2c, 0x18, 0x92, 0xae, 0x51, 0x38, 0x3d, 0xab, - 0xc0, 0x0f, 0x50, 0x29, 0xe3, 0x7d, 0xdd, 0x7d, 0xcd, 0xad, 0x9b, 0xc2, 0xd2, 0xee, 0xf6, 0x26, - 0x55, 0x38, 0xee, 0xa0, 0x39, 0x5f, 0xc4, 0x59, 0xa2, 0x9e, 0x55, 0xfd, 0xda, 0x48, 0x3d, 0xc6, - 0x4b, 0x8d, 0x50, 0x73, 0x83, 0x03, 0x54, 0x01, 0xb5, 0x0b, 0x8d, 0x72, 0xbb, 0xb4, 0x58, 0x5f, - 0x7e, 0x71, 0x83, 0x08, 0x88, 0x5e, 0xaa, 0xad, 0x48, 0x8a, 0xc3, 0xa9, 0x51, 0x15, 0x46, 0x73, - 0x8f, 0xe6, 0x81, 0x59, 0x3c, 0x5d, 0x83, 0x17, 0x50, 0x29, 0x80, 0xc3, 0x7c, 0x4c, 0xaa, 0x3e, - 0xf1, 0x0e, 0xaa, 0x0c, 0xd5, 0x4e, 0x9a, 0xf7, 0x78, 0x7e, 0x8d, 0x66, 0x26, 0x8b, 0x4d, 0x73, - 0xad, 0xb5, 0xe2, 0xaa, 0xe5, 0x3e, 0x3a, 0x1e, 0xd9, 0x85, 0x93, 0x91, 0x5d, 0xf8, 0x31, 0xb2, - 0x0b, 0x47, 0x63, 0xdb, 0x3a, 0x1e, 0xdb, 0xd6, 0xc9, 0xd8, 0xb6, 0x7e, 0x8d, 0x6d, 0xeb, 0xf3, - 0x6f, 0xbb, 0xf0, 0xee, 0x96, 0x11, 0xf8, 0x13, 0x00, 0x00, 0xff, 0xff, 0x29, 0x85, 0x06, 0x53, - 0xf6, 0x05, 0x00, 0x00, + // 662 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x53, 0x4d, 0x6f, 0xd3, 0x40, + 0x10, 0xb5, 0xf3, 0x51, 0x92, 0x0d, 0x85, 0xb2, 0x12, 0x52, 0x14, 0x09, 0x27, 0x0a, 0x97, 0x22, + 0x95, 0x35, 0xa9, 0x50, 0xa9, 0x5a, 0x71, 0xa8, 0xd5, 0x82, 0x7a, 0x40, 0x48, 0x5b, 0xca, 0x01, + 0x09, 0x89, 0x8d, 0x33, 0x75, 0x8c, 0xeb, 0x0f, 0xad, 0xd7, 0x29, 0xbd, 0xf5, 0x27, 0x70, 0xe4, + 0xc8, 0x7f, 0xe1, 0xd2, 0x63, 0x0f, 0x1c, 0x38, 0xa0, 0x8a, 0x84, 0x3f, 0x82, 0x76, 0xbd, 0x6d, + 0xd2, 0xa4, 0x05, 0xd1, 0xde, 0xbc, 0x6f, 0x66, 0xde, 0x7b, 0x33, 0xe3, 0x41, 0x1b, 0xc1, 0x6a, + 0x4a, 0xfc, 0xd8, 0x0e, 0xb2, 0x2e, 0xf0, 0x08, 0x04, 0xa4, 0x76, 0x12, 0x78, 0x36, 0x4b, 0xfc, + 0xd4, 0x66, 0x99, 0xe8, 0x43, 0x24, 0x7c, 0x97, 0x09, 0x3f, 0x8e, 0xec, 0x41, 0xa7, 0x0b, 0x82, + 0x75, 0x6c, 0x0f, 0x22, 0xe0, 0x4c, 0x40, 0x8f, 0x24, 0x3c, 0x16, 0x31, 0xee, 0xe4, 0x14, 0x64, + 0x4c, 0x41, 0x92, 0xc0, 0x23, 0x92, 0x82, 0x5c, 0xa4, 0x20, 0x9a, 0xa2, 0xf1, 0xd8, 0xf3, 0x45, + 0x3f, 0xeb, 0x12, 0x37, 0x0e, 0x6d, 0x2f, 0xf6, 0x62, 0x5b, 0x31, 0x75, 0xb3, 0x3d, 0xf5, 0x52, + 0x0f, 0xf5, 0x95, 0x2b, 0x34, 0x9e, 0x6a, 0x93, 0x2c, 0xf1, 0x43, 0xe6, 0xf6, 0xfd, 0x08, 0xf8, + 0xe1, 0x99, 0x4d, 0x9b, 0x43, 0x1a, 0x67, 0xdc, 0x85, 0x69, 0x5f, 0x7f, 0xad, 0x4a, 0xed, 0x10, + 0x04, 0xb3, 0x07, 0x33, 0xdd, 0x34, 0xec, 0xab, 0xaa, 0x78, 0x16, 0x09, 0x3f, 0x9c, 0x95, 0x59, + 0xf9, 0x57, 0x41, 0xea, 0xf6, 0x21, 0x64, 0x33, 0x75, 0x4b, 0x57, 0x4e, 0xfe, 0x32, 0x5b, 0x9d, + 0xcb, 0xb3, 0x33, 0xe1, 0xef, 0xdb, 0x7e, 0x24, 0x52, 0xc1, 0xa7, 0x4b, 0xda, 0xcf, 0x10, 0xda, + 0xfa, 0x24, 0x38, 0x7b, 0xcb, 0xf6, 0x33, 0xc0, 0x4d, 0x54, 0xf6, 0x05, 0x84, 0x69, 0xdd, 0x6c, + 0x15, 0x17, 0xab, 0x4e, 0x75, 0x74, 0xda, 0x2c, 0x6f, 0x4b, 0x80, 0xe6, 0xf8, 0x5a, 0xe5, 0xcb, + 0xd7, 0xa6, 0x71, 0xf4, 0xb3, 0x65, 0xb4, 0xbf, 0x15, 0x50, 0xed, 0x4d, 0x1c, 0x40, 0x44, 0x61, + 0xe0, 0xc3, 0x01, 0xfe, 0x80, 0x2a, 0x72, 0x5a, 0x3d, 0x26, 0x58, 0xdd, 0x6c, 0x99, 0x8b, 0xb5, + 0xe5, 0x27, 0x44, 0xef, 0x7c, 0xb2, 0xe9, 0xf1, 0xd6, 0x65, 0x36, 0x19, 0x74, 0xc8, 0xeb, 0xee, + 0x47, 0x70, 0xc5, 0x2b, 0x10, 0xcc, 0xc1, 0xc7, 0xa7, 0x4d, 0x63, 0x74, 0xda, 0x44, 0x63, 0x8c, + 0x9e, 0xb3, 0xe2, 0x1e, 0x2a, 0xa5, 0x09, 0xb8, 0xf5, 0x82, 0x62, 0x77, 0xc8, 0x7f, 0xff, 0x51, + 0x64, 0xc2, 0xef, 0x4e, 0x02, 0xae, 0x73, 0x5b, 0xeb, 0x95, 0xe4, 0x8b, 0x2a, 0x76, 0xbc, 0x8f, + 0xe6, 0x52, 0xc1, 0x44, 0x96, 0xd6, 0x8b, 0x4a, 0x67, 0xf3, 0x86, 0x3a, 0x8a, 0xcb, 0xb9, 0xa3, + 0x95, 0xe6, 0xf2, 0x37, 0xd5, 0x1a, 0xed, 0x15, 0x74, 0x77, 0xca, 0x14, 0x7e, 0x88, 0xca, 0x42, + 0x42, 0x6a, 0x8a, 0x55, 0x67, 0x5e, 0x57, 0x96, 0xf3, 0xbc, 0x3c, 0xd6, 0xfe, 0x6e, 0xa2, 0x7b, + 0x33, 0x2a, 0x78, 0x1d, 0xcd, 0x4f, 0x38, 0x82, 0x9e, 0xa2, 0xa8, 0x38, 0xf7, 0x35, 0xc5, 0xfc, + 0xc6, 0x64, 0x90, 0x5e, 0xcc, 0xc5, 0xef, 0x51, 0x29, 0x4b, 0x81, 0xeb, 0xf1, 0xae, 0x5f, 0xa3, + 0xed, 0xdd, 0x14, 0xf8, 0x76, 0xb4, 0x17, 0x8f, 0xe7, 0x2a, 0x11, 0xaa, 0x68, 0x65, 0x5b, 0xc0, + 0x79, 0xcc, 0xd5, 0x58, 0x27, 0xda, 0xda, 0x92, 0x20, 0xcd, 0x63, 0xed, 0x61, 0x01, 0x55, 0xce, + 0x58, 0xf0, 0x12, 0xaa, 0xc8, 0xca, 0x88, 0x85, 0xa0, 0x67, 0xb1, 0xa0, 0x8b, 0x54, 0x8e, 0xc4, + 0xe9, 0x79, 0x06, 0x7e, 0x80, 0x8a, 0x99, 0xdf, 0x53, 0xee, 0xab, 0x4e, 0x4d, 0x27, 0x16, 0x77, + 0xb7, 0x37, 0xa9, 0xc4, 0x71, 0x1b, 0xcd, 0x79, 0x3c, 0xce, 0x12, 0xb9, 0x56, 0xf9, 0x6b, 0x23, + 0xb9, 0x8c, 0x97, 0x0a, 0xa1, 0x3a, 0x82, 0x03, 0x54, 0x06, 0x79, 0x0b, 0xf5, 0x52, 0xab, 0xb8, + 0x58, 0x5b, 0x7e, 0x71, 0x83, 0x11, 0x10, 0x75, 0x54, 0x5b, 0x91, 0xe0, 0x87, 0x13, 0xad, 0x4a, + 0x8c, 0xe6, 0x1a, 0x8d, 0x03, 0x7d, 0x78, 0x2a, 0x07, 0x2f, 0xa0, 0x62, 0x00, 0x87, 0x79, 0x9b, + 0x54, 0x7e, 0xe2, 0x1d, 0x54, 0x1e, 0xc8, 0x9b, 0xd4, 0xfb, 0x78, 0x7e, 0x0d, 0x33, 0xe3, 0xc3, + 0xa6, 0x39, 0xd7, 0x5a, 0x61, 0xd5, 0x74, 0x1e, 0x1d, 0x0f, 0x2d, 0xe3, 0x64, 0x68, 0x19, 0x3f, + 0x86, 0x96, 0x71, 0x34, 0xb2, 0xcc, 0xe3, 0x91, 0x65, 0x9e, 0x8c, 0x2c, 0xf3, 0xd7, 0xc8, 0x32, + 0x3f, 0xff, 0xb6, 0x8c, 0x77, 0xb7, 0x34, 0xc1, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x5d, 0x37, + 0x33, 0x68, 0xf8, 0x05, 0x00, 0x00, } diff --git a/pkg/apis/authentication/v1beta1/generated.proto b/pkg/apis/authentication/v1beta1/generated.proto index 96c1504b046..e01853e91d3 100644 --- a/pkg/apis/authentication/v1beta1/generated.proto +++ b/pkg/apis/authentication/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.authentication.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/authorization/v1beta1/generated.pb.go b/pkg/apis/authorization/v1beta1/generated.pb.go index 44c464ca28b..806d83e09f0 100644 --- a/pkg/apis/authorization/v1beta1/generated.pb.go +++ b/pkg/apis/authorization/v1beta1/generated.pb.go @@ -2283,62 +2283,62 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 897 bytes of a gzipped FileDescriptorProto + // 898 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x56, 0x4f, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x9f, 0x64, 0x77, 0x02, 0xa4, 0x4c, 0x55, 0xe2, 0x06, 0xc9, 0xbb, 0x5a, 0x24, - 0x94, 0x4a, 0xc5, 0x6e, 0x22, 0xfe, 0x54, 0x15, 0x07, 0x62, 0x11, 0x55, 0x15, 0xb4, 0xa0, 0x09, - 0xe4, 0x00, 0x17, 0xc6, 0xce, 0xeb, 0xae, 0xd9, 0x5d, 0x8f, 0x35, 0x33, 0x76, 0x09, 0xa7, 0x7e, - 0x00, 0x0e, 0x1c, 0x7b, 0xe4, 0x2b, 0xf0, 0x05, 0xb8, 0x92, 0x63, 0x8f, 0x20, 0xa1, 0x15, 0x31, - 0xdf, 0x82, 0x13, 0x9a, 0xf1, 0xec, 0x3a, 0xdb, 0x75, 0xa8, 0x16, 0x8a, 0xe8, 0xa1, 0x37, 0xfb, - 0xbd, 0xdf, 0xfb, 0xbd, 0xdf, 0xbc, 0x79, 0x33, 0x6f, 0xd0, 0x07, 0xa3, 0x9b, 0xc2, 0x8d, 0x98, - 0x37, 0x4a, 0x03, 0xe0, 0x31, 0x48, 0x10, 0x5e, 0x32, 0x1a, 0x78, 0x34, 0x89, 0x84, 0x47, 0x53, - 0x39, 0x64, 0x3c, 0xfa, 0x96, 0xca, 0x88, 0xc5, 0x5e, 0xb6, 0x1b, 0x80, 0xa4, 0xbb, 0xde, 0x00, - 0x62, 0xe0, 0x54, 0xc2, 0xb1, 0x9b, 0x70, 0x26, 0x19, 0xbe, 0x51, 0x30, 0xb8, 0x25, 0x83, 0x9b, - 0x8c, 0x06, 0xae, 0x62, 0x70, 0x17, 0x18, 0x5c, 0xc3, 0xb0, 0xfd, 0xd6, 0x20, 0x92, 0xc3, 0x34, - 0x70, 0x43, 0x36, 0xf1, 0x06, 0x6c, 0xc0, 0x3c, 0x4d, 0x14, 0xa4, 0xf7, 0xf5, 0x9f, 0xfe, 0xd1, - 0x5f, 0x45, 0x82, 0xed, 0xb7, 0x8d, 0x44, 0x9a, 0x44, 0x13, 0x1a, 0x0e, 0xa3, 0x18, 0xf8, 0x49, - 0x29, 0x72, 0x02, 0x92, 0x7a, 0xd9, 0x92, 0xac, 0x6d, 0xef, 0xa2, 0x28, 0x9e, 0xc6, 0x32, 0x9a, - 0xc0, 0x52, 0xc0, 0xbb, 0x4f, 0x0b, 0x10, 0xe1, 0x10, 0x26, 0x74, 0x29, 0x6e, 0xef, 0xc2, 0x0a, - 0x7a, 0x1c, 0x04, 0x4b, 0x79, 0xb8, 0x9c, 0xeb, 0xfa, 0xc5, 0x31, 0x15, 0x4b, 0xd9, 0xad, 0x46, - 0xa7, 0x32, 0x1a, 0x7b, 0x51, 0x2c, 0x85, 0xe4, 0x4f, 0x86, 0xf4, 0xdf, 0x43, 0xe8, 0xe0, 0x1b, - 0xc9, 0xe9, 0x11, 0x1d, 0xa7, 0x80, 0xbb, 0xa8, 0x15, 0x49, 0x98, 0x08, 0xdb, 0xea, 0x35, 0x76, - 0x3a, 0x7e, 0x27, 0x9f, 0x76, 0x5b, 0x77, 0x94, 0x81, 0x14, 0xf6, 0x5b, 0xed, 0x47, 0x3f, 0x74, - 0x6b, 0x0f, 0x7f, 0xeb, 0xd5, 0xfa, 0xd3, 0x3a, 0xb2, 0x3f, 0x66, 0x21, 0x1d, 0x1f, 0xa6, 0xc1, - 0xd7, 0x10, 0xca, 0xfd, 0x30, 0x04, 0x21, 0x08, 0x64, 0x11, 0x3c, 0xc0, 0x5f, 0xa1, 0xb6, 0x2a, - 0xf7, 0x31, 0x95, 0xd4, 0xb6, 0x7a, 0xd6, 0xce, 0xc6, 0xde, 0x0d, 0xd7, 0xec, 0xfe, 0xf9, 0xaa, - 0x95, 0xfb, 0xaf, 0xd0, 0x6e, 0xb6, 0xeb, 0x7e, 0xa2, 0xb9, 0xee, 0x82, 0xa4, 0x3e, 0x3e, 0x9d, - 0x76, 0x6b, 0xf9, 0xb4, 0x8b, 0x4a, 0x1b, 0x99, 0xb3, 0xe2, 0x11, 0x6a, 0x8a, 0x04, 0x42, 0xbb, - 0xae, 0xd9, 0xef, 0xb8, 0xab, 0xf6, 0x96, 0x5b, 0x21, 0xfb, 0x30, 0x81, 0xd0, 0x7f, 0xc9, 0xa4, - 0x6d, 0xaa, 0x3f, 0xa2, 0x93, 0x60, 0x81, 0xd6, 0x84, 0xa4, 0x32, 0x15, 0x76, 0x43, 0xa7, 0xfb, - 0xe8, 0xd9, 0xa4, 0xd3, 0x94, 0xfe, 0x2b, 0x26, 0xe1, 0x5a, 0xf1, 0x4f, 0x4c, 0xaa, 0xfe, 0x97, - 0xe8, 0xca, 0x3d, 0x16, 0x13, 0xd3, 0x19, 0xfb, 0x52, 0xf2, 0x28, 0x48, 0x25, 0x08, 0xdc, 0x43, - 0xcd, 0x84, 0xca, 0xa1, 0x2e, 0x6c, 0xa7, 0xd4, 0xfb, 0x29, 0x95, 0x43, 0xa2, 0x3d, 0x0a, 0x91, - 0x01, 0x0f, 0x74, 0x71, 0xce, 0x21, 0x8e, 0x80, 0x07, 0x44, 0x7b, 0xfa, 0x3f, 0xd5, 0x11, 0xae, - 0xa0, 0xf6, 0x50, 0x27, 0xa6, 0x13, 0x10, 0x09, 0x0d, 0xc1, 0xf0, 0xbf, 0x6a, 0xa2, 0x3b, 0xf7, - 0x66, 0x0e, 0x52, 0x62, 0x9e, 0x9e, 0x09, 0xbf, 0x81, 0x5a, 0x03, 0xce, 0xd2, 0x44, 0x97, 0xae, - 0xe3, 0xbf, 0x6c, 0x20, 0xad, 0xdb, 0xca, 0x48, 0x0a, 0x1f, 0xbe, 0x86, 0xd6, 0x33, 0xe0, 0x22, - 0x62, 0xb1, 0xdd, 0xd4, 0xb0, 0x4d, 0x03, 0x5b, 0x3f, 0x2a, 0xcc, 0x64, 0xe6, 0xc7, 0xd7, 0x51, - 0x7b, 0x76, 0x5a, 0xec, 0x96, 0xc6, 0x5e, 0x32, 0xd8, 0xf6, 0x6c, 0x41, 0x64, 0x8e, 0xc0, 0xef, - 0xa0, 0x0d, 0x91, 0x06, 0xf3, 0x80, 0x35, 0x1d, 0x70, 0xd9, 0x04, 0x6c, 0x1c, 0x96, 0x2e, 0x72, - 0x1e, 0xa7, 0x96, 0xa5, 0xd6, 0x68, 0xaf, 0x2f, 0x2e, 0x4b, 0x95, 0x80, 0x68, 0x4f, 0xff, 0xac, - 0x8e, 0xb6, 0x0e, 0x61, 0x7c, 0xff, 0xff, 0xe9, 0x7e, 0xb6, 0xd0, 0xfd, 0x77, 0xff, 0x41, 0x3b, - 0x56, 0x4b, 0x7f, 0xbe, 0x4e, 0xc0, 0xcf, 0x75, 0xf4, 0xfa, 0xdf, 0x08, 0xc5, 0xdf, 0x59, 0x08, - 0xf3, 0xa5, 0x26, 0x36, 0x25, 0xff, 0x70, 0x75, 0x85, 0xcb, 0x07, 0xc2, 0x7f, 0x2d, 0x9f, 0x76, - 0x2b, 0x0e, 0x0a, 0xa9, 0xc8, 0x8b, 0x1f, 0x59, 0xe8, 0x4a, 0x5c, 0x75, 0x62, 0xcd, 0x36, 0xdd, - 0x5e, 0x5d, 0x51, 0xe5, 0x05, 0xe0, 0x5f, 0xcd, 0xa7, 0xdd, 0xea, 0xbb, 0x81, 0x54, 0x0b, 0xe8, - 0xff, 0x5a, 0x47, 0x97, 0x5f, 0xdc, 0xd3, 0xff, 0x4d, 0x97, 0xfe, 0xd9, 0x44, 0x5b, 0x2f, 0x3a, - 0xf4, 0x5f, 0x76, 0xe8, 0x7c, 0x90, 0x34, 0x16, 0x6f, 0xdc, 0xcf, 0x05, 0x70, 0x33, 0x48, 0x7a, - 0xb3, 0x41, 0xd2, 0xd4, 0x6f, 0x13, 0xa4, 0xb6, 0x42, 0x0f, 0x11, 0x31, 0x9b, 0x22, 0x27, 0xa8, - 0x05, 0xea, 0x2d, 0x63, 0xb7, 0x7a, 0x8d, 0x9d, 0x8d, 0xbd, 0xcf, 0x9e, 0x59, 0xb3, 0xb9, 0xfa, - 0x89, 0x74, 0x10, 0x4b, 0x7e, 0x52, 0x0e, 0x30, 0x6d, 0x23, 0x45, 0xc6, 0xed, 0xcc, 0x3c, 0xa3, - 0x34, 0x06, 0x5f, 0x42, 0x8d, 0x11, 0x9c, 0x14, 0x03, 0x94, 0xa8, 0x4f, 0x4c, 0x50, 0x2b, 0x53, - 0x2f, 0x2c, 0x53, 0xe8, 0xf7, 0x57, 0x97, 0x56, 0xbe, 0xd2, 0x48, 0x41, 0x75, 0xab, 0x7e, 0xd3, - 0xea, 0xff, 0x68, 0xa1, 0xab, 0x17, 0xb6, 0xac, 0x1a, 0xab, 0x74, 0x3c, 0x66, 0x0f, 0xe0, 0x58, - 0x6b, 0x69, 0x97, 0x63, 0x75, 0xbf, 0x30, 0x93, 0x99, 0x1f, 0xbf, 0x89, 0xd6, 0x38, 0x50, 0xc1, - 0x62, 0x33, 0xca, 0xe7, 0xdd, 0x4e, 0xb4, 0x95, 0x18, 0x2f, 0xde, 0x47, 0x9b, 0xa0, 0xd2, 0x6b, - 0x71, 0x07, 0x9c, 0x33, 0x6e, 0xb6, 0x6c, 0xcb, 0x04, 0x6c, 0x1e, 0x2c, 0xba, 0xc9, 0x93, 0x78, - 0xff, 0xda, 0xe9, 0x99, 0x53, 0x7b, 0x7c, 0xe6, 0xd4, 0x7e, 0x39, 0x73, 0x6a, 0x0f, 0x73, 0xc7, - 0x3a, 0xcd, 0x1d, 0xeb, 0x71, 0xee, 0x58, 0xbf, 0xe7, 0x8e, 0xf5, 0xfd, 0x1f, 0x4e, 0xed, 0x8b, - 0x75, 0xb3, 0xe8, 0xbf, 0x02, 0x00, 0x00, 0xff, 0xff, 0x31, 0x9f, 0xbd, 0x1e, 0x75, 0x0c, 0x00, - 0x00, + 0x14, 0x5f, 0xef, 0x9f, 0x64, 0x77, 0x02, 0xa4, 0x4c, 0x55, 0xe2, 0x06, 0x69, 0x77, 0xb5, 0x48, + 0x28, 0x95, 0x8a, 0xdd, 0x54, 0xfc, 0xa9, 0x2a, 0x0e, 0xc4, 0x22, 0xaa, 0x2a, 0x68, 0x41, 0x13, + 0xc8, 0x01, 0x2e, 0x8c, 0x9d, 0xd7, 0x5d, 0xb3, 0xbb, 0x1e, 0x6b, 0x66, 0xec, 0x12, 0x4e, 0xfd, + 0x00, 0x1c, 0x38, 0xf6, 0xc8, 0x57, 0xe0, 0x0b, 0x70, 0x25, 0xc7, 0x1e, 0x41, 0x42, 0x2b, 0x62, + 0xbe, 0x05, 0x27, 0x34, 0xe3, 0xf1, 0x3a, 0x9b, 0x75, 0x5a, 0x2d, 0x14, 0xc1, 0xa1, 0x37, 0xfb, + 0xbd, 0xdf, 0x7b, 0xef, 0x37, 0x6f, 0x7e, 0x33, 0x6f, 0xd0, 0x07, 0xe3, 0x5b, 0xc2, 0x09, 0x99, + 0x3b, 0x4e, 0x7c, 0xe0, 0x11, 0x48, 0x10, 0x6e, 0x3c, 0x1e, 0xba, 0x34, 0x0e, 0x85, 0x4b, 0x13, + 0x39, 0x62, 0x3c, 0xfc, 0x96, 0xca, 0x90, 0x45, 0x6e, 0xba, 0xeb, 0x83, 0xa4, 0xbb, 0xee, 0x10, + 0x22, 0xe0, 0x54, 0xc2, 0x91, 0x13, 0x73, 0x26, 0x19, 0xbe, 0x91, 0x67, 0x70, 0xca, 0x0c, 0x4e, + 0x3c, 0x1e, 0x3a, 0x2a, 0x83, 0xb3, 0x90, 0xc1, 0x31, 0x19, 0xb6, 0xdf, 0x1a, 0x86, 0x72, 0x94, + 0xf8, 0x4e, 0xc0, 0xa6, 0xee, 0x90, 0x0d, 0x99, 0xab, 0x13, 0xf9, 0xc9, 0x03, 0xfd, 0xa7, 0x7f, + 0xf4, 0x57, 0x5e, 0x60, 0xfb, 0x6d, 0x43, 0x91, 0xc6, 0xe1, 0x94, 0x06, 0xa3, 0x30, 0x02, 0x7e, + 0x5c, 0x90, 0x74, 0x39, 0x08, 0x96, 0xf0, 0x00, 0xce, 0xd3, 0x7a, 0x6a, 0x94, 0x70, 0xa7, 0x20, + 0xa9, 0x9b, 0x2e, 0x2d, 0x66, 0xdb, 0xbd, 0x28, 0x8a, 0x27, 0x91, 0x0c, 0xa7, 0xcb, 0x65, 0xde, + 0x7d, 0x56, 0x80, 0x08, 0x46, 0x30, 0xa5, 0x4b, 0x71, 0xd7, 0x2f, 0xec, 0x7b, 0x15, 0xad, 0xdd, + 0x6a, 0x74, 0x22, 0xc3, 0x89, 0x1b, 0x46, 0x52, 0x48, 0x7e, 0x3e, 0x64, 0xf0, 0x1e, 0x42, 0xfb, + 0xdf, 0x48, 0x4e, 0x0f, 0xe9, 0x24, 0x01, 0xdc, 0x43, 0xad, 0x50, 0xc2, 0x54, 0xd8, 0x56, 0xbf, + 0xb1, 0xd3, 0xf1, 0x3a, 0xd9, 0xac, 0xd7, 0xba, 0xab, 0x0c, 0x24, 0xb7, 0xdf, 0x6e, 0x3f, 0xfe, + 0xa1, 0x57, 0x7b, 0xf4, 0x5b, 0xbf, 0x36, 0x98, 0xd5, 0x91, 0xfd, 0x31, 0x0b, 0xe8, 0xe4, 0x20, + 0xf1, 0xbf, 0x86, 0x40, 0xee, 0x05, 0x01, 0x08, 0x41, 0x20, 0x0d, 0xe1, 0x21, 0xfe, 0x0a, 0xb5, + 0x55, 0xeb, 0x8e, 0xa8, 0xa4, 0xb6, 0xd5, 0xb7, 0x76, 0x36, 0x6e, 0xde, 0x70, 0xcc, 0xfe, 0x9f, + 0xed, 0x40, 0xa9, 0x00, 0x85, 0x76, 0xd2, 0x5d, 0xe7, 0x13, 0x9d, 0xeb, 0x1e, 0x48, 0xea, 0xe1, + 0x93, 0x59, 0xaf, 0x96, 0xcd, 0x7a, 0xa8, 0xb4, 0x91, 0x79, 0x56, 0x3c, 0x46, 0x4d, 0x11, 0x43, + 0x60, 0xd7, 0x75, 0xf6, 0xbb, 0xce, 0xaa, 0xea, 0x72, 0x2a, 0x68, 0x1f, 0xc4, 0x10, 0x78, 0x2f, + 0x99, 0xb2, 0x4d, 0xf5, 0x47, 0x74, 0x11, 0x2c, 0xd0, 0x9a, 0x90, 0x54, 0x26, 0xc2, 0x6e, 0xe8, + 0x72, 0x1f, 0x3d, 0x9f, 0x72, 0x3a, 0xa5, 0xf7, 0x8a, 0x29, 0xb8, 0x96, 0xff, 0x13, 0x53, 0x6a, + 0xf0, 0x25, 0xba, 0x72, 0x9f, 0x45, 0xc4, 0x08, 0x77, 0x4f, 0x4a, 0x1e, 0xfa, 0x89, 0x04, 0x81, + 0xfb, 0xa8, 0x19, 0x53, 0x39, 0xd2, 0x8d, 0xed, 0x94, 0x7c, 0x3f, 0xa5, 0x72, 0x44, 0xb4, 0x47, + 0x21, 0x52, 0xe0, 0xbe, 0x6e, 0xce, 0x19, 0xc4, 0x21, 0x70, 0x9f, 0x68, 0xcf, 0xe0, 0xa7, 0x3a, + 0xc2, 0x15, 0xa9, 0x5d, 0xd4, 0x89, 0xe8, 0x14, 0x44, 0x4c, 0x03, 0x30, 0xf9, 0x5f, 0x35, 0xd1, + 0x9d, 0xfb, 0x85, 0x83, 0x94, 0x98, 0x67, 0x57, 0xc2, 0x6f, 0xa0, 0xd6, 0x90, 0xb3, 0x24, 0xd6, + 0xad, 0xeb, 0x78, 0x2f, 0x1b, 0x48, 0xeb, 0x8e, 0x32, 0x92, 0xdc, 0x87, 0xaf, 0xa1, 0xf5, 0x14, + 0xb8, 0x08, 0x59, 0x64, 0x37, 0x35, 0x6c, 0xd3, 0xc0, 0xd6, 0x0f, 0x73, 0x33, 0x29, 0xfc, 0xf8, + 0x3a, 0x6a, 0x17, 0x87, 0xd9, 0x6e, 0x69, 0xec, 0x25, 0x83, 0x6d, 0x17, 0x0b, 0x22, 0x73, 0x04, + 0x7e, 0x07, 0x6d, 0x88, 0xc4, 0x9f, 0x07, 0xac, 0xe9, 0x80, 0xcb, 0x26, 0x60, 0xe3, 0xa0, 0x74, + 0x91, 0xb3, 0x38, 0xb5, 0x2c, 0xb5, 0x46, 0x7b, 0x7d, 0x71, 0x59, 0xaa, 0x05, 0x44, 0x7b, 0x06, + 0xa7, 0x75, 0xb4, 0x75, 0x00, 0x93, 0x07, 0xff, 0x8d, 0xfa, 0xd9, 0x82, 0xfa, 0xef, 0xfd, 0x0d, + 0x39, 0x56, 0x53, 0xff, 0x7f, 0x9d, 0x80, 0x9f, 0xeb, 0xe8, 0xf5, 0xa7, 0x10, 0xc5, 0xdf, 0x59, + 0x08, 0xf3, 0x25, 0x11, 0x9b, 0x96, 0x7f, 0xb8, 0x3a, 0xc3, 0xe5, 0x03, 0xe1, 0xbd, 0x96, 0xcd, + 0x7a, 0x15, 0x07, 0x85, 0x54, 0xd4, 0xc5, 0x8f, 0x2d, 0x74, 0x25, 0xaa, 0x3a, 0xb1, 0x66, 0x9b, + 0xee, 0xac, 0xce, 0xa8, 0xf2, 0x02, 0xf0, 0xae, 0x66, 0xb3, 0x5e, 0xf5, 0xdd, 0x40, 0xaa, 0x09, + 0x0c, 0x7e, 0xad, 0xa3, 0xcb, 0x2f, 0xee, 0xe9, 0x7f, 0x47, 0xa5, 0x7f, 0x36, 0xd1, 0xd6, 0x0b, + 0x85, 0xfe, 0x43, 0x85, 0xce, 0x07, 0x49, 0x63, 0xf1, 0xc6, 0xfd, 0x5c, 0x00, 0x37, 0x83, 0xa4, + 0x5f, 0x0c, 0x92, 0xa6, 0x7e, 0x9b, 0x20, 0xb5, 0x15, 0x7a, 0x88, 0x88, 0x62, 0x8a, 0x1c, 0xa3, + 0x16, 0xa8, 0xb7, 0x8c, 0xdd, 0xea, 0x37, 0x76, 0x36, 0x6e, 0x7e, 0xf6, 0xdc, 0xc4, 0xe6, 0xe8, + 0x27, 0xd2, 0x7e, 0x24, 0xf9, 0x71, 0x39, 0xc0, 0xb4, 0x8d, 0xe4, 0x15, 0xb7, 0x53, 0xf3, 0x8c, + 0xd2, 0x18, 0x7c, 0x09, 0x35, 0xc6, 0x70, 0x9c, 0x0f, 0x50, 0xa2, 0x3e, 0x31, 0x41, 0xad, 0x54, + 0xbd, 0xb0, 0x4c, 0xa3, 0xdf, 0x5f, 0x9d, 0x5a, 0xf9, 0x4a, 0x23, 0x79, 0xaa, 0xdb, 0xf5, 0x5b, + 0xd6, 0xe0, 0x47, 0x0b, 0x5d, 0xbd, 0x50, 0xb2, 0x6a, 0xac, 0xd2, 0xc9, 0x84, 0x3d, 0x84, 0x23, + 0xcd, 0xa5, 0x5d, 0x8e, 0xd5, 0xbd, 0xdc, 0x4c, 0x0a, 0x3f, 0x7e, 0x13, 0xad, 0x71, 0xa0, 0x82, + 0x45, 0x66, 0x94, 0xcf, 0xd5, 0x4e, 0xb4, 0x95, 0x18, 0x2f, 0xde, 0x43, 0x9b, 0xa0, 0xca, 0x6b, + 0x72, 0xfb, 0x9c, 0x33, 0x6e, 0xb6, 0x6c, 0xcb, 0x04, 0x6c, 0xee, 0x2f, 0xba, 0xc9, 0x79, 0xbc, + 0x77, 0xed, 0xe4, 0xb4, 0x5b, 0x7b, 0x72, 0xda, 0xad, 0xfd, 0x72, 0xda, 0xad, 0x3d, 0xca, 0xba, + 0xd6, 0x49, 0xd6, 0xb5, 0x9e, 0x64, 0x5d, 0xeb, 0xf7, 0xac, 0x6b, 0x7d, 0xff, 0x47, 0xb7, 0xf6, + 0xc5, 0xba, 0x59, 0xf4, 0x5f, 0x01, 0x00, 0x00, 0xff, 0xff, 0x11, 0xdb, 0xa5, 0xac, 0x77, 0x0c, + 0x00, 0x00, } diff --git a/pkg/apis/authorization/v1beta1/generated.proto b/pkg/apis/authorization/v1beta1/generated.proto index 26d2b835efa..2dc9bba5c1a 100644 --- a/pkg/apis/authorization/v1beta1/generated.proto +++ b/pkg/apis/authorization/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.authorization.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/authorization/validation/BUILD b/pkg/apis/authorization/validation/BUILD index 57851286302..980efc11a1e 100644 --- a/pkg/apis/authorization/validation/BUILD +++ b/pkg/apis/authorization/validation/BUILD @@ -13,8 +13,8 @@ go_library( srcs = ["validation.go"], tags = ["automanaged"], deps = [ - "//pkg/api:go_default_library", "//pkg/apis/authorization:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/validation/field", ], diff --git a/pkg/apis/authorization/validation/validation.go b/pkg/apis/authorization/validation/validation.go index 77757e546e4..725e6f0b2f0 100644 --- a/pkg/apis/authorization/validation/validation.go +++ b/pkg/apis/authorization/validation/validation.go @@ -17,9 +17,9 @@ limitations under the License. package validation import ( + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/validation/field" - "k8s.io/kubernetes/pkg/api" authorizationapi "k8s.io/kubernetes/pkg/apis/authorization" ) @@ -52,7 +52,7 @@ func ValidateSelfSubjectAccessReviewSpec(spec authorizationapi.SelfSubjectAccess func ValidateSubjectAccessReview(sar *authorizationapi.SubjectAccessReview) field.ErrorList { allErrs := ValidateSubjectAccessReviewSpec(sar.Spec, field.NewPath("spec")) - if !api.Semantic.DeepEqual(metav1.ObjectMeta{}, sar.ObjectMeta) { + if !apiequality.Semantic.DeepEqual(metav1.ObjectMeta{}, sar.ObjectMeta) { allErrs = append(allErrs, field.Invalid(field.NewPath("metadata"), sar.ObjectMeta, `must be empty`)) } return allErrs @@ -60,7 +60,7 @@ func ValidateSubjectAccessReview(sar *authorizationapi.SubjectAccessReview) fiel func ValidateSelfSubjectAccessReview(sar *authorizationapi.SelfSubjectAccessReview) field.ErrorList { allErrs := ValidateSelfSubjectAccessReviewSpec(sar.Spec, field.NewPath("spec")) - if !api.Semantic.DeepEqual(metav1.ObjectMeta{}, sar.ObjectMeta) { + if !apiequality.Semantic.DeepEqual(metav1.ObjectMeta{}, sar.ObjectMeta) { allErrs = append(allErrs, field.Invalid(field.NewPath("metadata"), sar.ObjectMeta, `must be empty`)) } return allErrs @@ -71,7 +71,7 @@ func ValidateLocalSubjectAccessReview(sar *authorizationapi.LocalSubjectAccessRe objectMetaShallowCopy := sar.ObjectMeta objectMetaShallowCopy.Namespace = "" - if !api.Semantic.DeepEqual(metav1.ObjectMeta{}, objectMetaShallowCopy) { + if !apiequality.Semantic.DeepEqual(metav1.ObjectMeta{}, objectMetaShallowCopy) { allErrs = append(allErrs, field.Invalid(field.NewPath("metadata"), sar.ObjectMeta, `must be empty except for namespace`)) } diff --git a/pkg/apis/autoscaling/v1/generated.pb.go b/pkg/apis/autoscaling/v1/generated.pb.go index a839f9934cb..cac6fc364fd 100644 --- a/pkg/apis/autoscaling/v1/generated.pb.go +++ b/pkg/apis/autoscaling/v1/generated.pb.go @@ -1730,59 +1730,59 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 855 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x55, 0x4f, 0x6f, 0xdc, 0x44, - 0x14, 0x5f, 0xef, 0x9f, 0x2a, 0x1d, 0x93, 0x04, 0x06, 0xa9, 0x5d, 0xa5, 0xc2, 0x8e, 0x16, 0x0e, - 0x05, 0x15, 0x9b, 0x5d, 0x95, 0x8a, 0x1e, 0xe3, 0xa0, 0xd2, 0x8a, 0x86, 0x46, 0x93, 0xb6, 0x07, - 0x84, 0x10, 0xb3, 0xde, 0x57, 0x67, 0xba, 0x6b, 0x8f, 0x35, 0x33, 0x5e, 0x41, 0x4f, 0x9c, 0x38, - 0x73, 0xe1, 0x03, 0xf0, 0x51, 0xb8, 0xe5, 0xd8, 0x1b, 0x9c, 0x56, 0xc4, 0xf0, 0x31, 0x38, 0x20, - 0xcf, 0x4e, 0xbc, 0xff, 0xe2, 0x4d, 0x22, 0x50, 0x6f, 0x3b, 0xf3, 0x7e, 0x7f, 0xde, 0xbc, 0xf7, - 0xfc, 0x16, 0xdd, 0x1f, 0x7e, 0x26, 0x3d, 0xc6, 0xfd, 0x61, 0xd6, 0x07, 0x91, 0x80, 0x02, 0xe9, - 0xa7, 0xc3, 0xc8, 0xa7, 0x29, 0x93, 0x3e, 0xcd, 0x14, 0x97, 0x21, 0x1d, 0xb1, 0x24, 0xf2, 0xc7, - 0x5d, 0x3f, 0x82, 0x04, 0x04, 0x55, 0x30, 0xf0, 0x52, 0xc1, 0x15, 0xc7, 0x1f, 0x4e, 0xa9, 0xde, - 0x8c, 0xea, 0xa5, 0xc3, 0xc8, 0x2b, 0xa8, 0xde, 0x1c, 0xd5, 0x1b, 0x77, 0x77, 0x3e, 0x8e, 0x98, - 0x3a, 0xce, 0xfa, 0x5e, 0xc8, 0x63, 0x3f, 0xe2, 0x11, 0xf7, 0xb5, 0x42, 0x3f, 0x7b, 0xa1, 0x4f, - 0xfa, 0xa0, 0x7f, 0x4d, 0x95, 0x77, 0xee, 0x9a, 0xa4, 0x68, 0xca, 0x62, 0x1a, 0x1e, 0xb3, 0x04, - 0xc4, 0x0f, 0xb3, 0xb4, 0x62, 0x50, 0xf4, 0x9c, 0x7c, 0x76, 0xfc, 0x2a, 0x96, 0xc8, 0x12, 0xc5, - 0x62, 0x58, 0x21, 0xdc, 0xbb, 0x88, 0x20, 0xc3, 0x63, 0x88, 0xe9, 0x0a, 0xaf, 0x57, 0x59, 0x33, - 0x5f, 0x80, 0xe4, 0x99, 0x08, 0x57, 0xbd, 0xee, 0x54, 0x73, 0xce, 0x79, 0x4a, 0xf7, 0x7c, 0x74, - 0xa6, 0xd8, 0xc8, 0x67, 0x89, 0x92, 0x4a, 0x2c, 0x53, 0x3a, 0xbf, 0x58, 0xe8, 0xd6, 0xbe, 0xe0, - 0x52, 0x3e, 0x07, 0x21, 0x19, 0x4f, 0x9e, 0xf4, 0x5f, 0x42, 0xa8, 0x08, 0xbc, 0x00, 0x01, 0x49, - 0x08, 0x78, 0x17, 0x35, 0x87, 0x2c, 0x19, 0xb4, 0xad, 0x5d, 0xeb, 0xf6, 0xf5, 0xe0, 0xad, 0x93, - 0x89, 0x5b, 0xcb, 0x27, 0x6e, 0xf3, 0x4b, 0x96, 0x0c, 0x88, 0x8e, 0x14, 0x88, 0x84, 0xc6, 0xd0, - 0xae, 0x2f, 0x22, 0xbe, 0xa2, 0x31, 0x10, 0x1d, 0xc1, 0x3d, 0x84, 0x68, 0xca, 0x8c, 0x41, 0xbb, - 0xa1, 0x71, 0xd8, 0xe0, 0xd0, 0xde, 0xe1, 0x23, 0x13, 0x21, 0x73, 0xa8, 0xce, 0xef, 0x75, 0x74, - 0xf3, 0x21, 0x17, 0xec, 0x15, 0x4f, 0x14, 0x1d, 0x1d, 0xf2, 0xc1, 0x9e, 0x19, 0x0d, 0x10, 0xf8, - 0x3b, 0xb4, 0x51, 0x34, 0x73, 0x40, 0x15, 0xd5, 0x79, 0xd9, 0xbd, 0x4f, 0x3c, 0x33, 0x54, 0xf3, - 0x3d, 0x99, 0x8d, 0x55, 0x81, 0xf6, 0xc6, 0x5d, 0x6f, 0xfa, 0xb8, 0x03, 0x50, 0x74, 0xe6, 0x3f, - 0xbb, 0x23, 0xa5, 0x2a, 0x3e, 0x46, 0x4d, 0x99, 0x42, 0xa8, 0xdf, 0x64, 0xf7, 0x1e, 0x78, 0x97, - 0x1e, 0x59, 0xaf, 0x22, 0xe7, 0xa3, 0x14, 0xc2, 0x59, 0x6d, 0x8a, 0x13, 0xd1, 0x0e, 0x38, 0x45, - 0xd7, 0xa4, 0xa2, 0x2a, 0x93, 0xba, 0x2e, 0x76, 0xef, 0xe1, 0xff, 0xe0, 0xa5, 0xf5, 0x82, 0x2d, - 0xe3, 0x76, 0x6d, 0x7a, 0x26, 0xc6, 0xa7, 0xf3, 0xb7, 0x85, 0x6e, 0x55, 0x30, 0x1f, 0x33, 0xa9, - 0xf0, 0x37, 0x2b, 0xd5, 0xf5, 0x2e, 0x57, 0xdd, 0x82, 0xad, 0x6b, 0xfb, 0xb6, 0x71, 0xde, 0x38, - 0xbb, 0x99, 0xab, 0x6c, 0x84, 0x5a, 0x4c, 0x41, 0x2c, 0xdb, 0xf5, 0xdd, 0xc6, 0x6d, 0xbb, 0x17, - 0xfc, 0xf7, 0xe7, 0x06, 0x9b, 0xc6, 0xae, 0xf5, 0xa8, 0x10, 0x26, 0x53, 0xfd, 0xce, 0x3f, 0xf5, - 0xca, 0x67, 0x16, 0xe5, 0xc7, 0x3f, 0x59, 0x68, 0x4b, 0x1f, 0x9f, 0x52, 0x11, 0x41, 0x31, 0xf1, - 0xe6, 0xb5, 0x57, 0xe9, 0xf6, 0x9a, 0x2f, 0x27, 0xb8, 0x61, 0xd2, 0xda, 0x3a, 0x5a, 0x70, 0x21, - 0x4b, 0xae, 0xb8, 0x8b, 0xec, 0x98, 0x25, 0x04, 0xd2, 0x11, 0x0b, 0xa9, 0xd4, 0x23, 0xd7, 0x0a, - 0xb6, 0xf3, 0x89, 0x6b, 0x1f, 0xcc, 0xae, 0xc9, 0x3c, 0x06, 0x7f, 0x8a, 0xec, 0x98, 0x7e, 0x5f, - 0x52, 0x1a, 0x9a, 0xf2, 0xae, 0xf1, 0xb3, 0x0f, 0x66, 0x21, 0x32, 0x8f, 0xc3, 0x2f, 0x91, 0xa3, - 0xb4, 0xed, 0xfe, 0xe1, 0xb3, 0x67, 0x8a, 0x8d, 0xd8, 0x2b, 0xaa, 0x18, 0x4f, 0x0e, 0x41, 0x84, - 0x90, 0x28, 0x1a, 0x41, 0xbb, 0xa9, 0x95, 0x3a, 0xf9, 0xc4, 0x75, 0x9e, 0xae, 0x45, 0x92, 0x0b, - 0x94, 0x3a, 0xbf, 0x35, 0xd0, 0x7b, 0x6b, 0xe7, 0x13, 0x3f, 0x40, 0x98, 0xf7, 0x25, 0x88, 0x31, - 0x0c, 0xbe, 0x98, 0x2e, 0xa5, 0x62, 0x3b, 0x14, 0x3d, 0x68, 0x04, 0x37, 0xf2, 0x89, 0x8b, 0x9f, - 0xac, 0x44, 0xc9, 0x39, 0x0c, 0x1c, 0xa2, 0xcd, 0x11, 0x95, 0x6a, 0x5a, 0x65, 0x66, 0x16, 0x91, - 0xdd, 0xfb, 0xe8, 0x72, 0x43, 0x5b, 0x30, 0x82, 0x77, 0xf2, 0x89, 0xbb, 0xf9, 0x78, 0x5e, 0x84, - 0x2c, 0x6a, 0xe2, 0x3d, 0xb4, 0x1d, 0x66, 0x42, 0x40, 0xa2, 0x96, 0xaa, 0x7e, 0xd3, 0x54, 0x7d, - 0x7b, 0x7f, 0x31, 0x4c, 0x96, 0xf1, 0x85, 0xc4, 0x00, 0x24, 0x13, 0x30, 0x28, 0x25, 0x9a, 0x8b, - 0x12, 0x9f, 0x2f, 0x86, 0xc9, 0x32, 0x1e, 0xc7, 0xc8, 0x35, 0xaa, 0x95, 0x1d, 0x6c, 0x69, 0xc9, - 0xf7, 0xf3, 0x89, 0xeb, 0xee, 0xaf, 0x87, 0x92, 0x8b, 0xb4, 0x3a, 0xbf, 0xd6, 0x51, 0x4b, 0x97, - 0xe0, 0x0d, 0x6c, 0xdc, 0xe7, 0x0b, 0x1b, 0xf7, 0xee, 0x15, 0xbe, 0x41, 0x9d, 0x61, 0xe5, 0x7e, - 0xfd, 0x76, 0x69, 0xbf, 0xde, 0xbb, 0xb2, 0xf2, 0xfa, 0x6d, 0x7a, 0x1f, 0x5d, 0x2f, 0x13, 0xc0, - 0x77, 0xd0, 0x86, 0x38, 0xeb, 0xad, 0xa5, 0x1b, 0x51, 0xae, 0xc2, 0xb2, 0xa9, 0x25, 0xa2, 0xc3, - 0x90, 0x3d, 0xe7, 0x70, 0x35, 0x72, 0x81, 0x96, 0x30, 0x82, 0x50, 0x71, 0x61, 0xfe, 0x79, 0x4b, - 0xf4, 0x91, 0xb9, 0x27, 0x25, 0x22, 0xf8, 0xe0, 0xe4, 0xd4, 0xa9, 0xbd, 0x3e, 0x75, 0x6a, 0x7f, - 0x9c, 0x3a, 0xb5, 0x1f, 0x73, 0xc7, 0x3a, 0xc9, 0x1d, 0xeb, 0x75, 0xee, 0x58, 0x7f, 0xe6, 0x8e, - 0xf5, 0xf3, 0x5f, 0x4e, 0xed, 0xeb, 0xfa, 0xb8, 0xfb, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x81, - 0xf7, 0x9a, 0x52, 0xd5, 0x09, 0x00, 0x00, + // 856 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x55, 0x4f, 0x6f, 0x1b, 0x45, + 0x14, 0xf7, 0xfa, 0x4f, 0x95, 0xce, 0x92, 0x04, 0x06, 0xa9, 0xb5, 0x52, 0xb1, 0x1b, 0x19, 0x0e, + 0x05, 0x95, 0x5d, 0x6c, 0x95, 0x8a, 0x1e, 0xb3, 0x41, 0xa5, 0x15, 0x0d, 0x8d, 0x26, 0x6d, 0x0f, + 0x08, 0x21, 0xc6, 0xeb, 0xd7, 0xcd, 0xd4, 0xde, 0x9d, 0xd5, 0xcc, 0xac, 0x05, 0x3d, 0x71, 0xe2, + 0xcc, 0x85, 0x0f, 0xc0, 0x47, 0xe1, 0x96, 0x63, 0x6f, 0x70, 0xb2, 0xc8, 0xc2, 0xc7, 0xe0, 0x80, + 0x76, 0x3c, 0x59, 0xaf, 0x9d, 0xd8, 0x89, 0x05, 0xea, 0xcd, 0x33, 0xef, 0xf7, 0xe7, 0xcd, 0x7b, + 0x6f, 0x9f, 0xd1, 0xfd, 0xe1, 0x67, 0xd2, 0x63, 0xdc, 0x1f, 0x66, 0x7d, 0x10, 0x09, 0x28, 0x90, + 0x7e, 0x3a, 0x8c, 0x7c, 0x9a, 0x32, 0xe9, 0xd3, 0x4c, 0x71, 0x19, 0xd2, 0x11, 0x4b, 0x22, 0x7f, + 0xdc, 0xf5, 0x23, 0x48, 0x40, 0x50, 0x05, 0x03, 0x2f, 0x15, 0x5c, 0x71, 0xfc, 0xe1, 0x94, 0xea, + 0xcd, 0xa8, 0x5e, 0x3a, 0x8c, 0xbc, 0x82, 0xea, 0x55, 0xa8, 0xde, 0xb8, 0xbb, 0xf3, 0x71, 0xc4, + 0xd4, 0x71, 0xd6, 0xf7, 0x42, 0x1e, 0xfb, 0x11, 0x8f, 0xb8, 0xaf, 0x15, 0xfa, 0xd9, 0x0b, 0x7d, + 0xd2, 0x07, 0xfd, 0x6b, 0xaa, 0xbc, 0x73, 0xd7, 0x24, 0x45, 0x53, 0x16, 0xd3, 0xf0, 0x98, 0x25, + 0x20, 0x7e, 0x38, 0x4b, 0xcb, 0x17, 0x20, 0x79, 0x26, 0x42, 0x58, 0xcc, 0x67, 0x25, 0x4b, 0xfa, + 0x31, 0x28, 0x7a, 0xc1, 0x2b, 0x76, 0xfc, 0x65, 0x2c, 0x91, 0x25, 0x8a, 0xc5, 0xe7, 0x6d, 0xee, + 0x5d, 0x46, 0x90, 0xe1, 0x31, 0xc4, 0xf4, 0x1c, 0xef, 0xce, 0xd2, 0x4a, 0x5f, 0x94, 0x56, 0xf7, + 0x62, 0x74, 0xa6, 0xd8, 0xc8, 0x67, 0x89, 0x92, 0x4a, 0x2c, 0x52, 0x3a, 0xbf, 0x58, 0xe8, 0xd6, + 0xbe, 0xe0, 0x52, 0x3e, 0x07, 0x21, 0x19, 0x4f, 0x9e, 0xf4, 0x5f, 0x42, 0xa8, 0x08, 0xbc, 0x00, + 0x01, 0x49, 0x08, 0x78, 0x17, 0x35, 0x87, 0x2c, 0x19, 0xb4, 0xad, 0x5d, 0xeb, 0xf6, 0xf5, 0xe0, + 0xad, 0x93, 0x89, 0x5b, 0xcb, 0x27, 0x6e, 0xf3, 0x4b, 0x96, 0x0c, 0x88, 0x8e, 0x14, 0x88, 0x84, + 0xc6, 0xd0, 0xae, 0xcf, 0x23, 0xbe, 0xa2, 0x31, 0x10, 0x1d, 0xc1, 0x3d, 0x84, 0x68, 0xca, 0x8c, + 0x41, 0xbb, 0xa1, 0x71, 0xd8, 0xe0, 0xd0, 0xde, 0xe1, 0x23, 0x13, 0x21, 0x15, 0x54, 0xe7, 0xf7, + 0x3a, 0xba, 0xf9, 0x90, 0x0b, 0xf6, 0x8a, 0x27, 0x8a, 0x8e, 0x0e, 0xf9, 0x60, 0xcf, 0x0c, 0x07, + 0x08, 0xfc, 0x1d, 0xda, 0x28, 0x1a, 0x33, 0xa0, 0x8a, 0xea, 0xbc, 0xec, 0xde, 0x27, 0x9e, 0x19, + 0xab, 0x6a, 0x7d, 0x67, 0x83, 0x55, 0xa0, 0xbd, 0x71, 0xd7, 0x9b, 0x3e, 0xee, 0x00, 0x14, 0x9d, + 0xf9, 0xcf, 0xee, 0x48, 0xa9, 0x8a, 0x8f, 0x51, 0x53, 0xa6, 0x10, 0xea, 0x37, 0xd9, 0xbd, 0x07, + 0xde, 0x95, 0x87, 0xd6, 0x5b, 0x92, 0xf3, 0x51, 0x0a, 0xe1, 0xac, 0x36, 0xc5, 0x89, 0x68, 0x07, + 0x9c, 0xa2, 0x6b, 0x52, 0x51, 0x95, 0x49, 0x5d, 0x17, 0xbb, 0xf7, 0xf0, 0x7f, 0xf0, 0xd2, 0x7a, + 0xc1, 0x96, 0x71, 0xbb, 0x36, 0x3d, 0x13, 0xe3, 0xd3, 0xf9, 0xdb, 0x42, 0xb7, 0x96, 0x30, 0x1f, + 0x33, 0xa9, 0xf0, 0x37, 0xe7, 0xaa, 0xeb, 0x5d, 0xad, 0xba, 0x05, 0x5b, 0xd7, 0xf6, 0x6d, 0xe3, + 0xbc, 0x71, 0x76, 0x53, 0xa9, 0x6c, 0x84, 0x5a, 0x4c, 0x41, 0x2c, 0xdb, 0xf5, 0xdd, 0xc6, 0x6d, + 0xbb, 0x17, 0xfc, 0xf7, 0xe7, 0x06, 0x9b, 0xc6, 0xae, 0xf5, 0xa8, 0x10, 0x26, 0x53, 0xfd, 0xce, + 0x3f, 0xf5, 0xa5, 0xcf, 0x2c, 0xca, 0x8f, 0x7f, 0xb2, 0xd0, 0x96, 0x3e, 0x3e, 0xa5, 0x22, 0x82, + 0x62, 0xe2, 0xcd, 0x6b, 0xd7, 0xe9, 0xf6, 0x8a, 0x2f, 0x27, 0xb8, 0x61, 0xd2, 0xda, 0x3a, 0x9a, + 0x73, 0x21, 0x0b, 0xae, 0xb8, 0x8b, 0xec, 0x98, 0x25, 0x04, 0xd2, 0x11, 0x0b, 0xa9, 0xd4, 0x23, + 0xd7, 0x0a, 0xb6, 0xf3, 0x89, 0x6b, 0x1f, 0xcc, 0xae, 0x49, 0x15, 0x83, 0x3f, 0x45, 0x76, 0x4c, + 0xbf, 0x2f, 0x29, 0x0d, 0x4d, 0x79, 0xd7, 0xf8, 0xd9, 0x07, 0xb3, 0x10, 0xa9, 0xe2, 0xf0, 0x4b, + 0xe4, 0x28, 0x6d, 0xbb, 0x7f, 0xf8, 0xec, 0x99, 0x62, 0x23, 0xf6, 0x8a, 0x2a, 0xc6, 0x93, 0x43, + 0x10, 0x21, 0x24, 0x8a, 0x46, 0xd0, 0x6e, 0x6a, 0xa5, 0x4e, 0x3e, 0x71, 0x9d, 0xa7, 0x2b, 0x91, + 0xe4, 0x12, 0xa5, 0xce, 0x6f, 0x0d, 0xf4, 0xde, 0xca, 0xf9, 0xc4, 0x0f, 0x10, 0xe6, 0x7d, 0x09, + 0x62, 0x0c, 0x83, 0x2f, 0xa6, 0x4b, 0xa9, 0xd8, 0x0e, 0x45, 0x0f, 0x1a, 0xc1, 0x8d, 0x7c, 0xe2, + 0xe2, 0x27, 0xe7, 0xa2, 0xe4, 0x02, 0x06, 0x0e, 0xd1, 0xe6, 0x88, 0x4a, 0x35, 0xad, 0x32, 0x33, + 0x8b, 0xc8, 0xee, 0x7d, 0x74, 0xb5, 0xa1, 0x2d, 0x18, 0xc1, 0x3b, 0xf9, 0xc4, 0xdd, 0x7c, 0x5c, + 0x15, 0x21, 0xf3, 0x9a, 0x78, 0x0f, 0x6d, 0x87, 0x99, 0x10, 0x90, 0xa8, 0x85, 0xaa, 0xdf, 0x34, + 0x55, 0xdf, 0xde, 0x9f, 0x0f, 0x93, 0x45, 0x7c, 0x21, 0x31, 0x00, 0xc9, 0x04, 0x0c, 0x4a, 0x89, + 0xe6, 0xbc, 0xc4, 0xe7, 0xf3, 0x61, 0xb2, 0x88, 0xc7, 0x31, 0x72, 0x8d, 0xea, 0xd2, 0x0e, 0xb6, + 0xb4, 0xe4, 0xfb, 0xf9, 0xc4, 0x75, 0xf7, 0x57, 0x43, 0xc9, 0x65, 0x5a, 0x9d, 0x5f, 0xeb, 0xa8, + 0xa5, 0x4b, 0xf0, 0x06, 0x36, 0xee, 0xf3, 0xb9, 0x8d, 0x7b, 0x77, 0x8d, 0x6f, 0x50, 0x67, 0xb8, + 0x74, 0xbf, 0x7e, 0xbb, 0xb0, 0x5f, 0xef, 0xad, 0xad, 0xbc, 0x7a, 0x9b, 0xde, 0x47, 0xd7, 0xcb, + 0x04, 0xf0, 0x1d, 0xb4, 0x21, 0xce, 0x7a, 0x6b, 0xe9, 0x46, 0x94, 0xab, 0xb0, 0x6c, 0x6a, 0x89, + 0xe8, 0x30, 0x64, 0x57, 0x1c, 0xd6, 0x23, 0x17, 0x68, 0x09, 0x23, 0x08, 0x15, 0x17, 0xe6, 0x9f, + 0xb7, 0x44, 0x1f, 0x99, 0x7b, 0x52, 0x22, 0x82, 0x0f, 0x4e, 0x4e, 0x9d, 0xda, 0xeb, 0x53, 0xa7, + 0xf6, 0xc7, 0xa9, 0x53, 0xfb, 0x31, 0x77, 0xac, 0x93, 0xdc, 0xb1, 0x5e, 0xe7, 0x8e, 0xf5, 0x67, + 0xee, 0x58, 0x3f, 0xff, 0xe5, 0xd4, 0xbe, 0xae, 0x8f, 0xbb, 0xff, 0x06, 0x00, 0x00, 0xff, 0xff, + 0x86, 0x24, 0xe7, 0xa3, 0xd7, 0x09, 0x00, 0x00, } diff --git a/pkg/apis/autoscaling/v1/generated.proto b/pkg/apis/autoscaling/v1/generated.proto index 4d4fa8e6030..6a6bbf6fdf5 100644 --- a/pkg/apis/autoscaling/v1/generated.proto +++ b/pkg/apis/autoscaling/v1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.autoscaling.v1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/batch/v1/BUILD b/pkg/apis/batch/v1/BUILD index 9271847ced6..1f6292605e1 100644 --- a/pkg/apis/batch/v1/BUILD +++ b/pkg/apis/batch/v1/BUILD @@ -26,12 +26,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/apis/batch/v1/generated.pb.go b/pkg/apis/batch/v1/generated.pb.go index 4ac5dc089f7..de8dba8e905 100644 --- a/pkg/apis/batch/v1/generated.pb.go +++ b/pkg/apis/batch/v1/generated.pb.go @@ -1520,61 +1520,61 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 881 bytes of a gzipped FileDescriptorProto + // 882 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x54, 0xdd, 0x6e, 0xe3, 0x44, - 0x14, 0xce, 0x4f, 0xd3, 0x26, 0x93, 0xb6, 0xbb, 0x8c, 0x54, 0x29, 0xf4, 0x22, 0x59, 0x05, 0x84, - 0x0a, 0xda, 0xb5, 0x49, 0x77, 0x85, 0x10, 0x17, 0x48, 0xb8, 0x08, 0x89, 0xaa, 0x65, 0xab, 0x49, - 0x05, 0x12, 0x3f, 0x12, 0x63, 0xfb, 0x34, 0x1d, 0x6a, 0x7b, 0x2c, 0xcf, 0x38, 0x52, 0xef, 0x78, - 0x03, 0x78, 0x18, 0x84, 0x78, 0x84, 0x5e, 0xf6, 0x92, 0xab, 0x88, 0x9a, 0xb7, 0xd8, 0x2b, 0x34, - 0xe3, 0x89, 0xed, 0x34, 0x29, 0xa4, 0xdc, 0xd9, 0x67, 0xbe, 0xef, 0x3b, 0x67, 0xce, 0xf9, 0xce, - 0xa0, 0x97, 0x57, 0x1f, 0x0b, 0x8b, 0x71, 0xfb, 0x2a, 0x75, 0x21, 0x89, 0x40, 0x82, 0xb0, 0xe3, - 0xab, 0x89, 0x4d, 0x63, 0x26, 0x6c, 0x97, 0x4a, 0xef, 0xd2, 0x9e, 0x8e, 0xec, 0x09, 0x44, 0x90, - 0x50, 0x09, 0xbe, 0x15, 0x27, 0x5c, 0x72, 0xfc, 0x4e, 0x4e, 0xb2, 0x4a, 0x92, 0x15, 0x5f, 0x4d, - 0x2c, 0x45, 0xb2, 0x34, 0xc9, 0x9a, 0x8e, 0xf6, 0x5f, 0x4c, 0x98, 0xbc, 0x4c, 0x5d, 0xcb, 0xe3, - 0xa1, 0x3d, 0xe1, 0x13, 0x6e, 0x6b, 0xae, 0x9b, 0x5e, 0xe8, 0x3f, 0xfd, 0xa3, 0xbf, 0x72, 0xcd, - 0xfd, 0x57, 0xa6, 0x10, 0x1a, 0xb3, 0x90, 0x7a, 0x97, 0x2c, 0x82, 0xe4, 0xba, 0x2c, 0x25, 0x04, - 0x49, 0x57, 0x54, 0xb2, 0x6f, 0x3f, 0xc4, 0x4a, 0xd2, 0x48, 0xb2, 0x10, 0x96, 0x08, 0x1f, 0xfd, - 0x17, 0x41, 0x78, 0x97, 0x10, 0xd2, 0x25, 0xde, 0xe1, 0x83, 0x7d, 0xb2, 0x13, 0x10, 0x3c, 0x4d, - 0xbc, 0xe5, 0x5c, 0xcf, 0x1f, 0xe6, 0xac, 0xb8, 0xca, 0x68, 0x35, 0x3a, 0x95, 0x2c, 0xb0, 0x59, - 0x24, 0x85, 0x4c, 0xee, 0x53, 0x86, 0xbf, 0x34, 0x50, 0xf3, 0x98, 0xbb, 0xf8, 0x47, 0xd4, 0x56, - 0x0d, 0xf2, 0xa9, 0xa4, 0xbd, 0xfa, 0xb3, 0xfa, 0x41, 0xf7, 0xf0, 0x43, 0xcb, 0x8c, 0xa8, 0x7a, - 0xcf, 0x72, 0x48, 0x0a, 0x6d, 0x4d, 0x47, 0xd6, 0x6b, 0xf7, 0x27, 0xf0, 0xe4, 0x29, 0x48, 0xea, - 0xe0, 0x9b, 0xd9, 0xa0, 0x96, 0xcd, 0x06, 0xa8, 0x8c, 0x91, 0x42, 0x15, 0x7f, 0x85, 0x36, 0x44, - 0x0c, 0x5e, 0xaf, 0xa1, 0xd5, 0x9f, 0x5b, 0x6b, 0x18, 0xc0, 0x3a, 0xe6, 0xee, 0x38, 0x06, 0xcf, - 0xd9, 0x36, 0xca, 0x1b, 0xea, 0x8f, 0x68, 0x1d, 0xfc, 0x35, 0xda, 0x14, 0x92, 0xca, 0x54, 0xf4, - 0x9a, 0x5a, 0xd1, 0x5a, 0x5b, 0x51, 0xb3, 0x9c, 0x5d, 0xa3, 0xb9, 0x99, 0xff, 0x13, 0xa3, 0x36, - 0xbc, 0x6d, 0xa2, 0xed, 0x63, 0xee, 0x1e, 0xf1, 0xc8, 0x67, 0x92, 0xf1, 0x08, 0xbf, 0x42, 0x1b, - 0xf2, 0x3a, 0x06, 0xdd, 0x96, 0x8e, 0xf3, 0x6c, 0x5e, 0xca, 0xf9, 0x75, 0x0c, 0x6f, 0x66, 0x83, - 0xa7, 0x55, 0xac, 0x8a, 0x11, 0x8d, 0xae, 0x94, 0xd7, 0xd0, 0xbc, 0x4f, 0x17, 0xd3, 0xbd, 0x99, - 0x0d, 0xfe, 0x75, 0xb6, 0x56, 0xa1, 0xb9, 0x58, 0x1e, 0x9e, 0xa0, 0x9d, 0x80, 0x0a, 0x79, 0x96, - 0x70, 0x17, 0xce, 0x59, 0x08, 0xe6, 0xf6, 0x1f, 0xac, 0x37, 0x2d, 0xc5, 0x70, 0xf6, 0x4c, 0x29, - 0x3b, 0x27, 0x55, 0x21, 0xb2, 0xa8, 0x8b, 0xa7, 0x08, 0xab, 0xc0, 0x79, 0x42, 0x23, 0x91, 0x5f, - 0x4e, 0x65, 0xdb, 0x78, 0x74, 0xb6, 0x7d, 0x93, 0x0d, 0x9f, 0x2c, 0xa9, 0x91, 0x15, 0x19, 0xf0, - 0x7b, 0x68, 0x33, 0x01, 0x2a, 0x78, 0xd4, 0x6b, 0xe9, 0xc6, 0x15, 0x73, 0x22, 0x3a, 0x4a, 0xcc, - 0x29, 0x7e, 0x1f, 0x6d, 0x85, 0x20, 0x04, 0x9d, 0x40, 0x6f, 0x53, 0x03, 0x9f, 0x18, 0xe0, 0xd6, - 0x69, 0x1e, 0x26, 0xf3, 0xf3, 0xe1, 0xef, 0x75, 0xb4, 0x75, 0xcc, 0xdd, 0x13, 0x26, 0x24, 0xfe, - 0x7e, 0xc9, 0xe8, 0xd6, 0x7a, 0x97, 0x51, 0x6c, 0x6d, 0xf3, 0xa7, 0x26, 0x4f, 0x7b, 0x1e, 0xa9, - 0x98, 0xfc, 0x14, 0xb5, 0x98, 0x84, 0x50, 0x0d, 0xbd, 0x79, 0xd0, 0x3d, 0x3c, 0x58, 0xd7, 0x93, - 0xce, 0x8e, 0x11, 0x6d, 0x7d, 0xa9, 0xe8, 0x24, 0x57, 0x19, 0xfe, 0xd1, 0xd4, 0x85, 0x2b, 0xd7, - 0xe3, 0x11, 0xea, 0xc6, 0x34, 0xa1, 0x41, 0x00, 0x01, 0x13, 0xa1, 0xae, 0xbd, 0xe5, 0x3c, 0xc9, - 0x66, 0x83, 0xee, 0x59, 0x19, 0x26, 0x55, 0x8c, 0xa2, 0x78, 0x3c, 0x8c, 0x03, 0x50, 0xcd, 0xcd, - 0x8d, 0x68, 0x28, 0x47, 0x65, 0x98, 0x54, 0x31, 0xf8, 0x35, 0xda, 0xa3, 0x9e, 0x64, 0x53, 0xf8, - 0x1c, 0xa8, 0x1f, 0xb0, 0x08, 0xc6, 0xe0, 0xf1, 0xc8, 0xcf, 0x97, 0xac, 0xe9, 0xbc, 0x9d, 0xcd, - 0x06, 0x7b, 0x9f, 0xad, 0x02, 0x90, 0xd5, 0x3c, 0xfc, 0x03, 0x6a, 0x0b, 0x08, 0xc0, 0x93, 0x3c, - 0x31, 0xe6, 0x79, 0xb9, 0x66, 0xbf, 0xa9, 0x0b, 0xc1, 0xd8, 0x50, 0x9d, 0x6d, 0xd5, 0xf0, 0xf9, - 0x1f, 0x29, 0x24, 0xf1, 0x27, 0x68, 0x37, 0xa4, 0x51, 0x4a, 0x0b, 0xa4, 0x76, 0x4d, 0xdb, 0xc1, - 0xd9, 0x6c, 0xb0, 0x7b, 0xba, 0x70, 0x42, 0xee, 0x21, 0xf1, 0x77, 0xa8, 0x2d, 0x21, 0x8c, 0x03, - 0x2a, 0x73, 0x0b, 0x75, 0x0f, 0x5f, 0x3c, 0x3c, 0x2f, 0x55, 0xd2, 0x19, 0xf7, 0xcf, 0x0d, 0x41, - 0x3f, 0x4b, 0x85, 0x13, 0xe6, 0x51, 0x52, 0x08, 0x0e, 0x7f, 0x6b, 0xa2, 0x4e, 0xf1, 0xd8, 0x60, - 0x40, 0xc8, 0x9b, 0x2f, 0xb4, 0xe8, 0xd5, 0xb5, 0x39, 0x46, 0xeb, 0x9a, 0xa3, 0x78, 0x0a, 0xca, - 0x17, 0xb6, 0x08, 0x09, 0x52, 0x11, 0xc6, 0xdf, 0xa0, 0x8e, 0x90, 0x34, 0x91, 0x7a, 0x55, 0x1b, - 0x8f, 0x5e, 0xd5, 0x9d, 0x6c, 0x36, 0xe8, 0x8c, 0xe7, 0x02, 0xa4, 0xd4, 0xc2, 0x17, 0x68, 0xb7, - 0x74, 0xc9, 0xff, 0x7c, 0x76, 0xf4, 0x48, 0x8e, 0x16, 0x54, 0xc8, 0x3d, 0x55, 0xb5, 0xfc, 0xb9, - 0x8d, 0xb4, 0x57, 0x5a, 0xe5, 0xf2, 0xe7, 0x9e, 0x23, 0xe6, 0x14, 0xdb, 0xa8, 0x23, 0x52, 0xcf, - 0x03, 0xf0, 0xc1, 0xd7, 0x13, 0x6f, 0x39, 0x6f, 0x19, 0x68, 0x67, 0x3c, 0x3f, 0x20, 0x25, 0x46, - 0x09, 0x5f, 0x50, 0x16, 0x80, 0xaf, 0x27, 0x5d, 0x11, 0xfe, 0x42, 0x47, 0x89, 0x39, 0x75, 0xde, - 0xbd, 0xb9, 0xeb, 0xd7, 0x6e, 0xef, 0xfa, 0xb5, 0x3f, 0xef, 0xfa, 0xb5, 0x9f, 0xb3, 0x7e, 0xfd, - 0x26, 0xeb, 0xd7, 0x6f, 0xb3, 0x7e, 0xfd, 0xaf, 0xac, 0x5f, 0xff, 0xf5, 0xef, 0x7e, 0xed, 0xdb, - 0xc6, 0x74, 0xf4, 0x4f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x6a, 0x9a, 0xe5, 0xae, 0xf3, 0x08, 0x00, - 0x00, + 0x18, 0x6d, 0x92, 0xa6, 0x4d, 0x26, 0x6d, 0x77, 0x19, 0xa9, 0x52, 0xe8, 0x45, 0xb2, 0x0a, 0x08, + 0x15, 0xb4, 0x6b, 0x93, 0xee, 0x0a, 0x21, 0x2e, 0x90, 0x70, 0x11, 0x12, 0x55, 0xcb, 0x56, 0x93, + 0x0a, 0x24, 0x7e, 0x24, 0xc6, 0xf6, 0xd7, 0x74, 0xa8, 0xed, 0xb1, 0x3c, 0xe3, 0x48, 0xbd, 0xe3, + 0x0d, 0xe0, 0x61, 0x10, 0xe2, 0x11, 0x7a, 0xd9, 0x4b, 0xae, 0x22, 0x6a, 0xde, 0x62, 0xaf, 0xd0, + 0x8c, 0xc7, 0x3f, 0x69, 0xd3, 0x25, 0xbb, 0x77, 0x9e, 0x6f, 0xce, 0x39, 0xdf, 0xf1, 0x7c, 0x67, + 0x06, 0x3d, 0xbf, 0xfc, 0x54, 0x58, 0x8c, 0xdb, 0x97, 0xa9, 0x0b, 0x49, 0x04, 0x12, 0x84, 0x1d, + 0x5f, 0x4e, 0x6d, 0x1a, 0x33, 0x61, 0xbb, 0x54, 0x7a, 0x17, 0xf6, 0x6c, 0x6c, 0x4f, 0x21, 0x82, + 0x84, 0x4a, 0xf0, 0xad, 0x38, 0xe1, 0x92, 0xe3, 0xf7, 0x72, 0x92, 0x55, 0x91, 0xac, 0xf8, 0x72, + 0x6a, 0x29, 0x92, 0xa5, 0x49, 0xd6, 0x6c, 0xbc, 0xf7, 0x6c, 0xca, 0xe4, 0x45, 0xea, 0x5a, 0x1e, + 0x0f, 0xed, 0x29, 0x9f, 0x72, 0x5b, 0x73, 0xdd, 0xf4, 0x5c, 0xaf, 0xf4, 0x42, 0x7f, 0xe5, 0x9a, + 0x7b, 0x2f, 0x8c, 0x11, 0x1a, 0xb3, 0x90, 0x7a, 0x17, 0x2c, 0x82, 0xe4, 0xaa, 0xb0, 0x62, 0x27, + 0x20, 0x78, 0x9a, 0x78, 0x70, 0xd7, 0xc9, 0x6b, 0x59, 0xc2, 0x0e, 0x41, 0xd2, 0x25, 0xfe, 0xf7, + 0xec, 0x87, 0x58, 0x49, 0x1a, 0x49, 0x16, 0xde, 0x6f, 0xf3, 0xc9, 0xff, 0x11, 0x84, 0x77, 0x01, + 0x21, 0xbd, 0xc7, 0x7b, 0xfa, 0xe0, 0xe9, 0x2e, 0xb3, 0x35, 0x5e, 0x8e, 0x4e, 0x25, 0x0b, 0x6c, + 0x16, 0x49, 0x21, 0x93, 0xbb, 0x94, 0xd1, 0x6f, 0x4d, 0xd4, 0x3a, 0xe2, 0x2e, 0xfe, 0x19, 0x75, + 0xd4, 0xcf, 0xfa, 0x54, 0xd2, 0x7e, 0xe3, 0x49, 0x63, 0xbf, 0x77, 0xf0, 0xb1, 0x65, 0x86, 0x54, + 0xf7, 0x5c, 0x8d, 0x49, 0xa1, 0xad, 0xd9, 0xd8, 0x7a, 0xe9, 0xfe, 0x02, 0x9e, 0x3c, 0x01, 0x49, + 0x1d, 0x7c, 0x3d, 0x1f, 0xae, 0x65, 0xf3, 0x21, 0xaa, 0x6a, 0xa4, 0x54, 0xc5, 0xdf, 0xa0, 0x75, + 0x11, 0x83, 0xd7, 0x6f, 0x6a, 0xf5, 0xa7, 0xd6, 0x0a, 0x11, 0xb0, 0x8e, 0xb8, 0x3b, 0x89, 0xc1, + 0x73, 0xb6, 0x8c, 0xf2, 0xba, 0x5a, 0x11, 0xad, 0x83, 0xbf, 0x45, 0x1b, 0x42, 0x52, 0x99, 0x8a, + 0x7e, 0x4b, 0x2b, 0x5a, 0x2b, 0x2b, 0x6a, 0x96, 0xb3, 0x63, 0x34, 0x37, 0xf2, 0x35, 0x31, 0x6a, + 0xa3, 0x9b, 0x16, 0xda, 0x3a, 0xe2, 0xee, 0x21, 0x8f, 0x7c, 0x26, 0x19, 0x8f, 0xf0, 0x0b, 0xb4, + 0x2e, 0xaf, 0x62, 0xd0, 0xc7, 0xd2, 0x75, 0x9e, 0x14, 0x56, 0xce, 0xae, 0x62, 0x78, 0x35, 0x1f, + 0x3e, 0xae, 0x63, 0x55, 0x8d, 0x68, 0x74, 0xcd, 0x5e, 0x53, 0xf3, 0x3e, 0x5f, 0x6c, 0xf7, 0x6a, + 0x3e, 0x7c, 0xed, 0x6c, 0xad, 0x52, 0x73, 0xd1, 0x1e, 0x9e, 0xa2, 0xed, 0x80, 0x0a, 0x79, 0x9a, + 0x70, 0x17, 0xce, 0x58, 0x08, 0xe6, 0xef, 0x3f, 0x5a, 0x6d, 0x5a, 0x8a, 0xe1, 0xec, 0x1a, 0x2b, + 0xdb, 0xc7, 0x75, 0x21, 0xb2, 0xa8, 0x8b, 0x67, 0x08, 0xab, 0xc2, 0x59, 0x42, 0x23, 0x91, 0xff, + 0x9c, 0xea, 0xb6, 0xfe, 0xc6, 0xdd, 0xf6, 0x4c, 0x37, 0x7c, 0x7c, 0x4f, 0x8d, 0x2c, 0xe9, 0x80, + 0x3f, 0x40, 0x1b, 0x09, 0x50, 0xc1, 0xa3, 0x7e, 0x5b, 0x1f, 0x5c, 0x39, 0x27, 0xa2, 0xab, 0xc4, + 0xec, 0xe2, 0x0f, 0xd1, 0x66, 0x08, 0x42, 0xd0, 0x29, 0xf4, 0x37, 0x34, 0xf0, 0x91, 0x01, 0x6e, + 0x9e, 0xe4, 0x65, 0x52, 0xec, 0x8f, 0xfe, 0x6c, 0xa0, 0xcd, 0x23, 0xee, 0x1e, 0x33, 0x21, 0xf1, + 0x8f, 0xf7, 0x82, 0x6e, 0xad, 0xf6, 0x33, 0x8a, 0xad, 0x63, 0xfe, 0xd8, 0xf4, 0xe9, 0x14, 0x95, + 0x5a, 0xc8, 0x4f, 0x50, 0x9b, 0x49, 0x08, 0xd5, 0xd0, 0x5b, 0xfb, 0xbd, 0x83, 0xfd, 0x55, 0x33, + 0xe9, 0x6c, 0x1b, 0xd1, 0xf6, 0xd7, 0x8a, 0x4e, 0x72, 0x95, 0xd1, 0x5f, 0x2d, 0x6d, 0x5c, 0xa5, + 0x1e, 0x8f, 0x51, 0x2f, 0xa6, 0x09, 0x0d, 0x02, 0x08, 0x98, 0x08, 0xb5, 0xf7, 0xb6, 0xf3, 0x28, + 0x9b, 0x0f, 0x7b, 0xa7, 0x55, 0x99, 0xd4, 0x31, 0x8a, 0xe2, 0xf1, 0x30, 0x0e, 0x40, 0x1d, 0x6e, + 0x1e, 0x44, 0x43, 0x39, 0xac, 0xca, 0xa4, 0x8e, 0xc1, 0x2f, 0xd1, 0x2e, 0xf5, 0x24, 0x9b, 0xc1, + 0x97, 0x40, 0xfd, 0x80, 0x45, 0x30, 0x01, 0x8f, 0x47, 0x7e, 0x7e, 0xc9, 0x5a, 0xce, 0xbb, 0xd9, + 0x7c, 0xb8, 0xfb, 0xc5, 0x32, 0x00, 0x59, 0xce, 0xc3, 0x3f, 0xa1, 0x8e, 0x80, 0x00, 0x3c, 0xc9, + 0x13, 0x13, 0x9e, 0xe7, 0x2b, 0x9e, 0x37, 0x75, 0x21, 0x98, 0x18, 0xaa, 0xb3, 0xa5, 0x0e, 0xbc, + 0x58, 0x91, 0x52, 0x12, 0x7f, 0x86, 0x76, 0x42, 0x1a, 0xa5, 0xb4, 0x44, 0xea, 0xd4, 0x74, 0x1c, + 0x9c, 0xcd, 0x87, 0x3b, 0x27, 0x0b, 0x3b, 0xe4, 0x0e, 0x12, 0xff, 0x80, 0x3a, 0x12, 0xc2, 0x38, + 0xa0, 0x32, 0x8f, 0x50, 0xef, 0xe0, 0xd9, 0xc3, 0xf3, 0x52, 0x96, 0x4e, 0xb9, 0x7f, 0x66, 0x08, + 0xfa, 0x59, 0x2a, 0x93, 0x50, 0x54, 0x49, 0x29, 0x38, 0xfa, 0xa3, 0x85, 0xba, 0xe5, 0x63, 0x83, + 0x01, 0x21, 0xaf, 0xb8, 0xd0, 0xa2, 0xdf, 0xd0, 0xe1, 0x18, 0xaf, 0x1a, 0x8e, 0xf2, 0x29, 0xa8, + 0x5e, 0xd8, 0xb2, 0x24, 0x48, 0x4d, 0x18, 0x7f, 0x87, 0xba, 0x42, 0xd2, 0x44, 0xea, 0xab, 0xda, + 0x7c, 0xe3, 0xab, 0xba, 0x9d, 0xcd, 0x87, 0xdd, 0x49, 0x21, 0x40, 0x2a, 0x2d, 0x7c, 0x8e, 0x76, + 0xaa, 0x94, 0xbc, 0xe5, 0xb3, 0xa3, 0x47, 0x72, 0xb8, 0xa0, 0x42, 0xee, 0xa8, 0xaa, 0xcb, 0x9f, + 0xc7, 0x48, 0x67, 0xa5, 0x5d, 0x5d, 0xfe, 0x3c, 0x73, 0xc4, 0xec, 0x62, 0x1b, 0x75, 0x45, 0xea, + 0x79, 0x00, 0x3e, 0xf8, 0x7a, 0xe2, 0x6d, 0xe7, 0x1d, 0x03, 0xed, 0x4e, 0x8a, 0x0d, 0x52, 0x61, + 0x94, 0xf0, 0x39, 0x65, 0x01, 0xf8, 0x7a, 0xd2, 0x35, 0xe1, 0xaf, 0x74, 0x95, 0x98, 0x5d, 0xe7, + 0xfd, 0xeb, 0xdb, 0xc1, 0xda, 0xcd, 0xed, 0x60, 0xed, 0xef, 0xdb, 0xc1, 0xda, 0xaf, 0xd9, 0xa0, + 0x71, 0x9d, 0x0d, 0x1a, 0x37, 0xd9, 0xa0, 0xf1, 0x4f, 0x36, 0x68, 0xfc, 0xfe, 0xef, 0x60, 0xed, + 0xfb, 0xe6, 0x6c, 0xfc, 0x5f, 0x00, 0x00, 0x00, 0xff, 0xff, 0xf1, 0x6d, 0xf1, 0x7d, 0xf5, 0x08, + 0x00, 0x00, } diff --git a/pkg/apis/batch/v1/generated.proto b/pkg/apis/batch/v1/generated.proto index 2d84a5001d1..81a0df78644 100644 --- a/pkg/apis/batch/v1/generated.proto +++ b/pkg/apis/batch/v1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.batch.v1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/batch/v1/types.generated.go b/pkg/apis/batch/v1/types.generated.go index 64551c90c12..8eb0b41962d 100644 --- a/pkg/apis/batch/v1/types.generated.go +++ b/pkg/apis/batch/v1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg4_resource "k8s.io/apimachinery/pkg/api/resource" pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg2_types "k8s.io/apimachinery/pkg/types" - pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg3_v1 "k8s.io/kubernetes/pkg/api/v1" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" @@ -65,9 +65,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg1_v1.TypeMeta - var v1 pkg2_types.UID - var v2 pkg4_resource.Quantity + var v0 pkg4_resource.Quantity + var v1 pkg1_v1.TypeMeta + var v2 pkg2_types.UID var v3 pkg3_v1.PodTemplateSpec var v4 pkg5_intstr.IntOrString var v5 time.Time diff --git a/pkg/apis/batch/v2alpha1/BUILD b/pkg/apis/batch/v2alpha1/BUILD index 74289a4b556..3ba9ca519f3 100644 --- a/pkg/apis/batch/v2alpha1/BUILD +++ b/pkg/apis/batch/v2alpha1/BUILD @@ -26,12 +26,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/apis/batch/v2alpha1/generated.pb.go b/pkg/apis/batch/v2alpha1/generated.pb.go index 0b46e65e074..2e7eeeadf94 100644 --- a/pkg/apis/batch/v2alpha1/generated.pb.go +++ b/pkg/apis/batch/v2alpha1/generated.pb.go @@ -2720,65 +2720,65 @@ var fileDescriptorGenerated = []byte{ 0x31, 0x55, 0xcf, 0xa7, 0x9c, 0xc2, 0xfb, 0x03, 0xa8, 0x9a, 0x42, 0x55, 0xef, 0xb4, 0xa3, 0x46, 0x50, 0x55, 0x40, 0xd5, 0x18, 0xba, 0xf1, 0xa8, 0x63, 0xf1, 0x6e, 0xd0, 0x56, 0x0d, 0xea, 0x68, 0x1d, 0xda, 0xa1, 0x9a, 0x60, 0x68, 0x07, 0x27, 0x62, 0x25, 0x16, 0xe2, 0x6b, 0xc0, 0xbc, 0xb1, - 0x23, 0x83, 0xc2, 0x9e, 0xe5, 0x60, 0xa3, 0x6b, 0xb9, 0xc4, 0xef, 0xa5, 0x61, 0x39, 0x84, 0x63, - 0xed, 0x6c, 0x2c, 0x9e, 0x0d, 0x6d, 0x1a, 0xca, 0x0f, 0x5c, 0x6e, 0x39, 0x64, 0x0c, 0xf0, 0xf8, - 0x4d, 0x00, 0x66, 0x74, 0x89, 0x83, 0xc7, 0x70, 0xcd, 0xa9, 0x39, 0xd3, 0x7c, 0xc2, 0x68, 0xe0, - 0x1b, 0xe3, 0x67, 0x3d, 0x9c, 0x8e, 0x99, 0x70, 0x95, 0xed, 0xc9, 0xde, 0x01, 0xb7, 0x6c, 0xcd, - 0x72, 0x39, 0xe3, 0xfe, 0x28, 0xa4, 0xf1, 0x53, 0x0e, 0x14, 0x77, 0x7d, 0xea, 0xee, 0xd1, 0x36, - 0x7c, 0x05, 0x4a, 0x51, 0x92, 0x4c, 0xcc, 0x71, 0x55, 0xd9, 0x54, 0xb6, 0x2a, 0xcd, 0x0f, 0x54, - 0x59, 0xac, 0xec, 0x5d, 0xd3, 0x72, 0x45, 0xde, 0xea, 0xd9, 0xb6, 0xfa, 0xbc, 0xfd, 0x9a, 0x18, - 0xfc, 0x80, 0x70, 0xac, 0xc3, 0xf3, 0x7e, 0x7d, 0x2e, 0xec, 0xd7, 0x41, 0x6a, 0x43, 0x09, 0x2b, - 0xfc, 0x12, 0xcc, 0x33, 0x8f, 0x18, 0xd5, 0x9c, 0x60, 0x7f, 0xac, 0xde, 0x58, 0x0a, 0xaa, 0x8c, - 0xb1, 0xe5, 0x11, 0x43, 0x5f, 0x94, 0x67, 0xcc, 0x47, 0x2b, 0x24, 0x18, 0xe1, 0x2b, 0x50, 0x60, - 0x1c, 0xf3, 0x80, 0x55, 0xf3, 0x82, 0xfb, 0xc9, 0x2d, 0xb8, 0x05, 0x5e, 0x5f, 0x96, 0xec, 0x85, - 0xc1, 0x1a, 0x49, 0xde, 0xc6, 0x6f, 0x0a, 0xa8, 0x48, 0xcf, 0x7d, 0x8b, 0x71, 0x78, 0x3c, 0x96, - 0x2d, 0xf5, 0x66, 0xd9, 0x8a, 0xd0, 0x22, 0x57, 0xab, 0xf2, 0xa4, 0x52, 0x6c, 0xc9, 0x64, 0xea, - 0x25, 0x58, 0xb0, 0x38, 0x71, 0x58, 0x35, 0xb7, 0x99, 0xdf, 0xaa, 0x34, 0x9b, 0xb3, 0x5f, 0x47, - 0x5f, 0x92, 0xf4, 0x0b, 0x9f, 0x47, 0x44, 0x68, 0xc0, 0xd7, 0xf8, 0x3e, 0x9f, 0x5c, 0x23, 0x4a, - 0x1f, 0x7c, 0x08, 0x4a, 0x91, 0x5e, 0xcd, 0xc0, 0x26, 0xe2, 0x1a, 0xe5, 0x34, 0xac, 0x96, 0xb4, - 0xa3, 0xc4, 0x03, 0xbe, 0x00, 0xf7, 0x18, 0xc7, 0x3e, 0xb7, 0xdc, 0xce, 0xa7, 0x04, 0x9b, 0xb6, - 0xe5, 0x92, 0x16, 0x31, 0xa8, 0x6b, 0x32, 0x51, 0xd3, 0xbc, 0xfe, 0x6e, 0xd8, 0xaf, 0xdf, 0x6b, - 0x4d, 0x76, 0x41, 0xd3, 0xb0, 0xf0, 0x18, 0xac, 0x19, 0xd4, 0x35, 0x02, 0xdf, 0x27, 0xae, 0xd1, - 0x3b, 0xa4, 0xb6, 0x65, 0xf4, 0x44, 0x21, 0xcb, 0xba, 0x2a, 0xa3, 0x59, 0xdb, 0x1d, 0x75, 0xb8, - 0x9a, 0x64, 0x44, 0xe3, 0x44, 0xf0, 0x3d, 0x50, 0x64, 0x01, 0xf3, 0x88, 0x6b, 0x56, 0xe7, 0x37, - 0x95, 0xad, 0x92, 0x5e, 0x09, 0xfb, 0xf5, 0x62, 0x6b, 0x60, 0x42, 0xf1, 0x1e, 0xfc, 0x16, 0x54, - 0x5e, 0xd3, 0xf6, 0x11, 0x71, 0x3c, 0x1b, 0x73, 0x52, 0x5d, 0x10, 0x35, 0x7d, 0x3a, 0x43, 0xe2, - 0xf7, 0x52, 0xb4, 0xd0, 0xe9, 0x5b, 0x32, 0xf4, 0x4a, 0x66, 0x03, 0x65, 0xcf, 0x68, 0xfc, 0xa1, - 0x80, 0xa5, 0x21, 0xf5, 0xc1, 0x17, 0xa0, 0x80, 0x0d, 0x6e, 0x9d, 0x45, 0xc5, 0x88, 0x0a, 0xff, - 0x68, 0xfa, 0xf9, 0xe9, 0xcb, 0x43, 0xe4, 0x84, 0x44, 0x17, 0x26, 0xa9, 0x78, 0x9f, 0x09, 0x12, - 0x24, 0xc9, 0xa0, 0x0d, 0x56, 0x6d, 0xcc, 0x78, 0x5c, 0xd1, 0x23, 0xcb, 0x21, 0x22, 0x17, 0x95, - 0xe6, 0x83, 0x9b, 0x89, 0x36, 0x42, 0xe8, 0x6f, 0x87, 0xfd, 0xfa, 0xea, 0xfe, 0x08, 0x0f, 0x1a, - 0x63, 0x6e, 0xfc, 0x98, 0x03, 0xf9, 0xbb, 0x69, 0x28, 0x47, 0x43, 0x0d, 0xa5, 0x39, 0x5b, 0xb1, - 0xa6, 0x36, 0x93, 0xe3, 0x91, 0x66, 0xb2, 0x33, 0x23, 0xef, 0xf5, 0x8d, 0xe4, 0x22, 0x0f, 0x16, - 0xf7, 0x68, 0x7b, 0x97, 0xba, 0xa6, 0xc5, 0x2d, 0xea, 0xc2, 0x1d, 0x30, 0xcf, 0x7b, 0x5e, 0xfc, - 0xfc, 0x36, 0xe3, 0x80, 0x8e, 0x7a, 0x1e, 0xb9, 0xea, 0xd7, 0x57, 0xb3, 0xbe, 0x91, 0x0d, 0x09, - 0x6f, 0xf8, 0x45, 0x12, 0x64, 0x4e, 0xe0, 0x3e, 0x19, 0x3e, 0xee, 0xaa, 0x5f, 0xbf, 0x76, 0x78, - 0xa8, 0x09, 0xe7, 0x70, 0x78, 0xb0, 0x03, 0x96, 0xa2, 0x82, 0x1e, 0xfa, 0xb4, 0x3d, 0xd0, 0x49, - 0x7e, 0x66, 0x9d, 0xac, 0xcb, 0x50, 0x96, 0xf6, 0xb3, 0x44, 0x68, 0x98, 0x17, 0x9e, 0x01, 0x18, - 0x19, 0x8e, 0x7c, 0xec, 0xb2, 0xc1, 0xe5, 0x6e, 0xa7, 0xca, 0x0d, 0x79, 0x1a, 0xdc, 0x1f, 0x63, - 0x43, 0x13, 0x4e, 0x80, 0xef, 0x83, 0x82, 0x4f, 0x30, 0xa3, 0xae, 0x78, 0xe2, 0xe5, 0xb4, 0x4e, - 0x48, 0x58, 0x91, 0xdc, 0x85, 0xf7, 0x41, 0xd1, 0x21, 0x8c, 0xe1, 0x0e, 0xa9, 0x16, 0x84, 0xe3, - 0x8a, 0x74, 0x2c, 0x1e, 0x0c, 0xcc, 0x28, 0xde, 0x6f, 0xfc, 0xaa, 0x80, 0xe2, 0xdd, 0xcc, 0x85, - 0xd6, 0xf0, 0x5c, 0x50, 0x67, 0x53, 0xe6, 0x94, 0x99, 0xf0, 0x73, 0x5e, 0x84, 0x2f, 0xe6, 0xc1, - 0x36, 0xa8, 0x78, 0xd8, 0xc7, 0xb6, 0x4d, 0x6c, 0x8b, 0x39, 0xe2, 0x06, 0x0b, 0xfa, 0x4a, 0xd4, - 0xc5, 0x0e, 0x53, 0x33, 0xca, 0xfa, 0x44, 0x10, 0x83, 0x3a, 0x9e, 0x4d, 0xa2, 0x14, 0x0f, 0xe4, - 0x28, 0x21, 0xbb, 0xa9, 0x19, 0x65, 0x7d, 0xe0, 0x73, 0xb0, 0x3e, 0xe8, 0x4c, 0xa3, 0x53, 0x24, - 0x2f, 0xa6, 0xc8, 0x3b, 0x61, 0xbf, 0xbe, 0xfe, 0x6c, 0x92, 0x03, 0x9a, 0x8c, 0x83, 0xdf, 0x80, - 0x12, 0x23, 0x36, 0x31, 0x38, 0xf5, 0xa5, 0x84, 0x3e, 0xbc, 0x61, 0xd6, 0x71, 0x9b, 0xd8, 0x2d, - 0x09, 0xd5, 0x17, 0xc5, 0xdc, 0x93, 0x2b, 0x94, 0x50, 0xc2, 0xa7, 0x60, 0xd9, 0xc1, 0x6e, 0x80, - 0x13, 0x4f, 0xa1, 0x9d, 0x92, 0x0e, 0xc3, 0x7e, 0x7d, 0xf9, 0x60, 0x68, 0x07, 0x8d, 0x78, 0xc2, - 0xaf, 0x41, 0x89, 0xc7, 0x43, 0xa5, 0x20, 0x42, 0x7b, 0x43, 0x53, 0x3f, 0xa4, 0xe6, 0xd0, 0x1c, - 0x49, 0xf4, 0x90, 0x0c, 0x91, 0x84, 0xb0, 0xf1, 0x4b, 0x1e, 0x94, 0xd3, 0xe9, 0x71, 0x0a, 0x80, - 0x11, 0x3f, 0x6b, 0x26, 0x27, 0xc8, 0x47, 0xb3, 0x49, 0x24, 0x69, 0x0b, 0x69, 0xe7, 0x4d, 0x4c, - 0x0c, 0x65, 0xe8, 0xe1, 0x4b, 0x50, 0x16, 0xf3, 0x5c, 0x3c, 0xdb, 0xdc, 0xcc, 0xcf, 0x76, 0x29, - 0xec, 0xd7, 0xcb, 0xad, 0x98, 0x00, 0xa5, 0x5c, 0xf0, 0x04, 0x2c, 0xa7, 0x5a, 0xb9, 0x65, 0x0b, - 0x12, 0x85, 0xd9, 0x1d, 0x62, 0x41, 0x23, 0xac, 0x51, 0x23, 0x90, 0xb3, 0x76, 0x5e, 0x48, 0x76, - 0xda, 0xf0, 0xd4, 0x40, 0x99, 0x05, 0x86, 0x41, 0x88, 0x49, 0x4c, 0x51, 0xf7, 0x05, 0x7d, 0x4d, - 0xba, 0x96, 0x5b, 0xf1, 0x06, 0x4a, 0x7d, 0x22, 0xe2, 0x13, 0x6c, 0xd9, 0xc4, 0x14, 0xf5, 0xce, - 0x10, 0x7f, 0x26, 0xac, 0x48, 0xee, 0x36, 0xfe, 0x52, 0x40, 0xf6, 0xdf, 0xe0, 0x0e, 0xe6, 0x65, - 0x37, 0xa3, 0xc5, 0xdc, 0x7f, 0xfe, 0xc1, 0xb9, 0x4e, 0x98, 0xbf, 0x2b, 0x60, 0x65, 0xc4, 0xff, - 0xff, 0xfa, 0x3f, 0xa0, 0x3f, 0x38, 0xbf, 0xac, 0xcd, 0x5d, 0x5c, 0xd6, 0xe6, 0xfe, 0xbc, 0xac, - 0xcd, 0x7d, 0x17, 0xd6, 0x94, 0xf3, 0xb0, 0xa6, 0x5c, 0x84, 0x35, 0xe5, 0xef, 0xb0, 0xa6, 0xfc, - 0xf0, 0x4f, 0x6d, 0xee, 0xab, 0x52, 0xcc, 0xf3, 0x6f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x94, 0x36, - 0x56, 0x74, 0x1a, 0x0f, 0x00, 0x00, + 0x23, 0x83, 0xc2, 0x9e, 0xe5, 0x60, 0xa3, 0x6b, 0xb9, 0xc4, 0xef, 0xc5, 0x61, 0x69, 0x3e, 0x61, + 0x34, 0xf0, 0x0d, 0x32, 0x1a, 0xcf, 0xb5, 0x28, 0xa6, 0x39, 0x84, 0x63, 0xed, 0x6c, 0xec, 0x16, + 0x1b, 0xda, 0x34, 0x94, 0x1f, 0xb8, 0xdc, 0x72, 0xc6, 0x8f, 0x79, 0xfc, 0x26, 0x00, 0x33, 0xba, + 0xc4, 0xc1, 0x63, 0xb8, 0x87, 0x53, 0x33, 0x3d, 0x29, 0xac, 0xed, 0xc9, 0xde, 0x01, 0xb7, 0x6c, + 0xcd, 0x72, 0x39, 0xe3, 0xfe, 0x28, 0xa4, 0xf1, 0x53, 0x0e, 0x14, 0x77, 0x7d, 0xea, 0xee, 0xd1, + 0x36, 0x7c, 0x05, 0x4a, 0xd1, 0x85, 0x4d, 0xcc, 0x71, 0x55, 0xd9, 0x54, 0xb6, 0x2a, 0xcd, 0x0f, + 0x54, 0x59, 0xae, 0x6c, 0xdc, 0x69, 0xc1, 0x22, 0x6f, 0xf5, 0x6c, 0x5b, 0x7d, 0xde, 0x7e, 0x4d, + 0x0c, 0x7e, 0x40, 0x38, 0xd6, 0xe1, 0x79, 0xbf, 0x3e, 0x17, 0xf6, 0xeb, 0x20, 0xb5, 0xa1, 0x84, + 0x15, 0x7e, 0x09, 0xe6, 0x99, 0x47, 0x8c, 0x6a, 0x4e, 0xb0, 0x3f, 0x56, 0x6f, 0x2c, 0x06, 0x55, + 0xc6, 0xd8, 0xf2, 0x88, 0xa1, 0x2f, 0xca, 0x33, 0xe6, 0xa3, 0x15, 0x12, 0x8c, 0xf0, 0x15, 0x28, + 0x30, 0x8e, 0x79, 0xc0, 0xaa, 0x79, 0xc1, 0xfd, 0xe4, 0x16, 0xdc, 0x02, 0xaf, 0x2f, 0x4b, 0xf6, + 0xc2, 0x60, 0x8d, 0x24, 0x6f, 0xe3, 0x37, 0x05, 0x54, 0xa4, 0xe7, 0xbe, 0xc5, 0x38, 0x3c, 0x1e, + 0xcb, 0x96, 0x7a, 0xb3, 0x6c, 0x45, 0x68, 0x91, 0xab, 0x55, 0x79, 0x52, 0x29, 0xb6, 0x64, 0x32, + 0xf5, 0x12, 0x2c, 0x58, 0x9c, 0x38, 0xac, 0x9a, 0xdb, 0xcc, 0x6f, 0x55, 0x9a, 0xcd, 0xd9, 0xaf, + 0xa3, 0x2f, 0x49, 0xfa, 0x85, 0xcf, 0x23, 0x22, 0x34, 0xe0, 0x6b, 0x7c, 0x9f, 0x4f, 0xae, 0x11, + 0xa5, 0x0f, 0x3e, 0x04, 0xa5, 0x48, 0x7b, 0x66, 0x60, 0x13, 0x71, 0x8d, 0x72, 0x1a, 0x56, 0x4b, + 0xda, 0x51, 0xe2, 0x01, 0x5f, 0x80, 0x7b, 0x8c, 0x63, 0x9f, 0x5b, 0x6e, 0xe7, 0x53, 0x82, 0x4d, + 0xdb, 0x72, 0x49, 0x8b, 0x18, 0xd4, 0x35, 0x99, 0xa8, 0x69, 0x5e, 0x7f, 0x37, 0xec, 0xd7, 0xef, + 0xb5, 0x26, 0xbb, 0xa0, 0x69, 0x58, 0x78, 0x0c, 0xd6, 0x0c, 0xea, 0x1a, 0x81, 0xef, 0x13, 0xd7, + 0xe8, 0x1d, 0x52, 0xdb, 0x32, 0x7a, 0xa2, 0x90, 0x65, 0x5d, 0x95, 0xd1, 0xac, 0xed, 0x8e, 0x3a, + 0x5c, 0x4d, 0x32, 0xa2, 0x71, 0x22, 0xf8, 0x1e, 0x28, 0xb2, 0x80, 0x79, 0xc4, 0x35, 0xab, 0xf3, + 0x9b, 0xca, 0x56, 0x49, 0xaf, 0x84, 0xfd, 0x7a, 0xb1, 0x35, 0x30, 0xa1, 0x78, 0x0f, 0x7e, 0x0b, + 0x2a, 0xaf, 0x69, 0xfb, 0x88, 0x38, 0x9e, 0x8d, 0x39, 0xa9, 0x2e, 0x88, 0x9a, 0x3e, 0x9d, 0x21, + 0xf1, 0x7b, 0x29, 0x5a, 0xe8, 0xf4, 0x2d, 0x19, 0x7a, 0x25, 0xb3, 0x81, 0xb2, 0x67, 0x34, 0xfe, + 0x50, 0xc0, 0xd2, 0x90, 0xfa, 0xe0, 0x0b, 0x50, 0xc0, 0x06, 0xb7, 0xce, 0xa2, 0x62, 0x44, 0x85, + 0x7f, 0x34, 0xfd, 0xfc, 0xf4, 0xe5, 0x21, 0x72, 0x42, 0xa2, 0x0b, 0x93, 0x54, 0xbc, 0xcf, 0x04, + 0x09, 0x92, 0x64, 0xd0, 0x06, 0xab, 0x36, 0x66, 0x3c, 0xae, 0xe8, 0x91, 0xe5, 0x10, 0x91, 0x8b, + 0x4a, 0xf3, 0xc1, 0xcd, 0x44, 0x1b, 0x21, 0xf4, 0xb7, 0xc3, 0x7e, 0x7d, 0x75, 0x7f, 0x84, 0x07, + 0x8d, 0x31, 0x37, 0x7e, 0xcc, 0x81, 0xfc, 0xdd, 0x34, 0x94, 0xa3, 0xa1, 0x86, 0xd2, 0x9c, 0xad, + 0x58, 0x53, 0x9b, 0xc9, 0xf1, 0x48, 0x33, 0xd9, 0x99, 0x91, 0xf7, 0xfa, 0x46, 0x72, 0x91, 0x07, + 0x8b, 0x7b, 0xb4, 0xbd, 0x4b, 0x5d, 0xd3, 0xe2, 0x16, 0x75, 0xe1, 0x0e, 0x98, 0xe7, 0x3d, 0x2f, + 0x7e, 0x7e, 0x9b, 0x71, 0x40, 0x47, 0x3d, 0x8f, 0x5c, 0xf5, 0xeb, 0xab, 0x59, 0xdf, 0xc8, 0x86, + 0x84, 0x37, 0xfc, 0x22, 0x09, 0x32, 0x27, 0x70, 0x9f, 0x0c, 0x1f, 0x77, 0xd5, 0xaf, 0x5f, 0x3b, + 0x3c, 0xd4, 0x84, 0x73, 0x38, 0x3c, 0xd8, 0x01, 0x4b, 0x51, 0x41, 0x0f, 0x7d, 0xda, 0x1e, 0xe8, + 0x24, 0x3f, 0xb3, 0x4e, 0xd6, 0x65, 0x28, 0x4b, 0xfb, 0x59, 0x22, 0x34, 0xcc, 0x0b, 0xcf, 0x00, + 0x8c, 0x0c, 0x47, 0x3e, 0x76, 0xd9, 0xe0, 0x72, 0xb7, 0x53, 0xe5, 0x86, 0x3c, 0x0d, 0xee, 0x8f, + 0xb1, 0xa1, 0x09, 0x27, 0xc0, 0xf7, 0x41, 0xc1, 0x27, 0x98, 0x51, 0x57, 0x3c, 0xf1, 0x72, 0x5a, + 0x27, 0x24, 0xac, 0x48, 0xee, 0xc2, 0xfb, 0xa0, 0xe8, 0x10, 0xc6, 0x70, 0x87, 0x54, 0x0b, 0xc2, + 0x71, 0x45, 0x3a, 0x16, 0x0f, 0x06, 0x66, 0x14, 0xef, 0x37, 0x7e, 0x55, 0x40, 0xf1, 0x6e, 0xe6, + 0x42, 0x6b, 0x78, 0x2e, 0xa8, 0xb3, 0x29, 0x73, 0xca, 0x4c, 0xf8, 0x39, 0x2f, 0xc2, 0x17, 0xf3, + 0x60, 0x1b, 0x54, 0x3c, 0xec, 0x63, 0xdb, 0x26, 0xb6, 0xc5, 0x1c, 0x71, 0x83, 0x05, 0x7d, 0x25, + 0xea, 0x62, 0x87, 0xa9, 0x19, 0x65, 0x7d, 0x22, 0x88, 0x41, 0x1d, 0xcf, 0x26, 0x51, 0x8a, 0x07, + 0x72, 0x94, 0x90, 0xdd, 0xd4, 0x8c, 0xb2, 0x3e, 0xf0, 0x39, 0x58, 0x1f, 0x74, 0xa6, 0xd1, 0x29, + 0x92, 0x17, 0x53, 0xe4, 0x9d, 0xb0, 0x5f, 0x5f, 0x7f, 0x36, 0xc9, 0x01, 0x4d, 0xc6, 0xc1, 0x6f, + 0x40, 0x89, 0x11, 0x9b, 0x18, 0x9c, 0xfa, 0x52, 0x42, 0x1f, 0xde, 0x30, 0xeb, 0xb8, 0x4d, 0xec, + 0x96, 0x84, 0xea, 0x8b, 0x62, 0xee, 0xc9, 0x15, 0x4a, 0x28, 0xe1, 0x53, 0xb0, 0xec, 0x60, 0x37, + 0xc0, 0x89, 0xa7, 0xd0, 0x4e, 0x49, 0x87, 0x61, 0xbf, 0xbe, 0x7c, 0x30, 0xb4, 0x83, 0x46, 0x3c, + 0xe1, 0xd7, 0xa0, 0xc4, 0xe3, 0xa1, 0x52, 0x10, 0xa1, 0xbd, 0xa1, 0xa9, 0x1f, 0x52, 0x73, 0x68, + 0x8e, 0x24, 0x7a, 0x48, 0x86, 0x48, 0x42, 0xd8, 0xf8, 0x25, 0x0f, 0xca, 0xe9, 0xf4, 0x38, 0x05, + 0xc0, 0x88, 0x9f, 0x35, 0x93, 0x13, 0xe4, 0xa3, 0xd9, 0x24, 0x92, 0xb4, 0x85, 0xb4, 0xf3, 0x26, + 0x26, 0x86, 0x32, 0xf4, 0xf0, 0x25, 0x28, 0x8b, 0x79, 0x2e, 0x9e, 0x6d, 0x6e, 0xe6, 0x67, 0xbb, + 0x14, 0xf6, 0xeb, 0xe5, 0x56, 0x4c, 0x80, 0x52, 0x2e, 0x78, 0x02, 0x96, 0x53, 0xad, 0xdc, 0xb2, + 0x05, 0x89, 0xc2, 0xec, 0x0e, 0xb1, 0xa0, 0x11, 0xd6, 0xa8, 0x11, 0xc8, 0x59, 0x3b, 0x2f, 0x24, + 0x3b, 0x6d, 0x78, 0x6a, 0xa0, 0xcc, 0x02, 0xc3, 0x20, 0xc4, 0x24, 0xa6, 0xa8, 0xfb, 0x82, 0xbe, + 0x26, 0x5d, 0xcb, 0xad, 0x78, 0x03, 0xa5, 0x3e, 0x11, 0xf1, 0x09, 0xb6, 0x6c, 0x62, 0x8a, 0x7a, + 0x67, 0x88, 0x3f, 0x13, 0x56, 0x24, 0x77, 0x1b, 0x7f, 0x29, 0x20, 0xfb, 0x6f, 0x70, 0x07, 0xf3, + 0xb2, 0x9b, 0xd1, 0x62, 0xee, 0x3f, 0xff, 0xe0, 0x5c, 0x27, 0xcc, 0xdf, 0x15, 0xb0, 0x32, 0xe2, + 0xff, 0x7f, 0xfd, 0x1f, 0xd0, 0x1f, 0x9c, 0x5f, 0xd6, 0xe6, 0x2e, 0x2e, 0x6b, 0x73, 0x7f, 0x5e, + 0xd6, 0xe6, 0xbe, 0x0b, 0x6b, 0xca, 0x79, 0x58, 0x53, 0x2e, 0xc2, 0x9a, 0xf2, 0x77, 0x58, 0x53, + 0x7e, 0xf8, 0xa7, 0x36, 0xf7, 0x55, 0x29, 0xe6, 0xf9, 0x37, 0x00, 0x00, 0xff, 0xff, 0xf9, 0x0c, + 0xf3, 0xb4, 0x1c, 0x0f, 0x00, 0x00, } diff --git a/pkg/apis/batch/v2alpha1/generated.proto b/pkg/apis/batch/v2alpha1/generated.proto index 1654920fb56..654639685d5 100644 --- a/pkg/apis/batch/v2alpha1/generated.proto +++ b/pkg/apis/batch/v2alpha1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.batch.v2alpha1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/batch/v2alpha1/types.generated.go b/pkg/apis/batch/v2alpha1/types.generated.go index abdc27071d2..1b504cc636f 100644 --- a/pkg/apis/batch/v2alpha1/types.generated.go +++ b/pkg/apis/batch/v2alpha1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg4_resource "k8s.io/apimachinery/pkg/api/resource" pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg2_types "k8s.io/apimachinery/pkg/types" - pkg4_resource "k8s.io/kubernetes/pkg/api/resource" pkg3_v1 "k8s.io/kubernetes/pkg/api/v1" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" @@ -65,9 +65,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg1_v1.TypeMeta - var v1 pkg2_types.UID - var v2 pkg4_resource.Quantity + var v0 pkg4_resource.Quantity + var v1 pkg1_v1.TypeMeta + var v2 pkg2_types.UID var v3 pkg3_v1.PodTemplateSpec var v4 pkg5_intstr.IntOrString var v5 time.Time diff --git a/pkg/apis/certificates/v1beta1/generated.pb.go b/pkg/apis/certificates/v1beta1/generated.pb.go index 36959bf742c..d6bf8bfc367 100644 --- a/pkg/apis/certificates/v1beta1/generated.pb.go +++ b/pkg/apis/certificates/v1beta1/generated.pb.go @@ -1328,51 +1328,51 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 731 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4d, 0x4f, 0x13, 0x5b, - 0x18, 0xee, 0xb4, 0xa5, 0x1f, 0xa7, 0x5c, 0xb8, 0x39, 0xb9, 0x21, 0xbd, 0x24, 0x4c, 0x49, 0x73, - 0xaf, 0x01, 0x83, 0x33, 0xb6, 0x31, 0x86, 0x9d, 0xc9, 0x60, 0x62, 0x50, 0x50, 0x73, 0xa0, 0x1b, - 0xe3, 0xc2, 0xd3, 0xe9, 0xcb, 0x70, 0x28, 0xf3, 0xe1, 0x9c, 0x33, 0xc4, 0xee, 0xdc, 0xb9, 0xf5, - 0x0f, 0xf8, 0x7f, 0x58, 0xb2, 0x74, 0xd5, 0x48, 0x5d, 0x19, 0x13, 0x7f, 0x00, 0x2b, 0x73, 0x4e, - 0x4f, 0xdb, 0x91, 0x52, 0xc1, 0x84, 0x5d, 0xcf, 0xf3, 0x3e, 0xef, 0xf3, 0xbc, 0x5f, 0x53, 0xf4, - 0xa8, 0xbb, 0xc9, 0x2d, 0x16, 0xda, 0xdd, 0xa4, 0x0d, 0x71, 0x00, 0x02, 0xb8, 0x1d, 0x75, 0x3d, - 0x9b, 0x46, 0x8c, 0xdb, 0x2e, 0xc4, 0x82, 0x1d, 0x30, 0x97, 0x4a, 0xf4, 0xa4, 0xd1, 0x06, 0x41, - 0x1b, 0xb6, 0x07, 0x01, 0xc4, 0x54, 0x40, 0xc7, 0x8a, 0xe2, 0x50, 0x84, 0xd8, 0x1e, 0x0a, 0x58, - 0x13, 0x01, 0x2b, 0xea, 0x7a, 0x96, 0x14, 0xb0, 0xd2, 0x02, 0x96, 0x16, 0x58, 0xbe, 0xe7, 0x31, - 0x71, 0x98, 0xb4, 0x2d, 0x37, 0xf4, 0x6d, 0x2f, 0xf4, 0x42, 0x5b, 0xe9, 0xb4, 0x93, 0x03, 0xf5, - 0x52, 0x0f, 0xf5, 0x6b, 0xa8, 0xbf, 0xfc, 0x40, 0x17, 0x48, 0x23, 0xe6, 0x53, 0xf7, 0x90, 0x05, - 0x10, 0xf7, 0x26, 0x25, 0xfa, 0x20, 0xa8, 0x7d, 0x32, 0x55, 0xd5, 0xb2, 0x3d, 0x2b, 0x2b, 0x4e, - 0x02, 0xc1, 0x7c, 0x98, 0x4a, 0x78, 0x78, 0x5d, 0x02, 0x77, 0x0f, 0xc1, 0xa7, 0x53, 0x79, 0xcd, - 0x99, 0xf3, 0xb3, 0x63, 0xe0, 0x61, 0x12, 0xbb, 0xd3, 0x5e, 0x1b, 0xb3, 0x73, 0xae, 0x68, 0xa5, - 0x71, 0x35, 0x3b, 0x11, 0xec, 0xd8, 0x66, 0x81, 0xe0, 0x22, 0xbe, 0x9c, 0x52, 0xff, 0x96, 0x45, - 0xff, 0x6e, 0x4d, 0x66, 0xbf, 0xc7, 0xbc, 0x80, 0x05, 0x1e, 0x81, 0xb7, 0x09, 0x70, 0x81, 0xdf, - 0xa0, 0x92, 0x1c, 0x5b, 0x87, 0x0a, 0x5a, 0x35, 0x56, 0x8d, 0xb5, 0x4a, 0xf3, 0xbe, 0xa5, 0x97, - 0x98, 0xee, 0x7e, 0xb2, 0x46, 0xc9, 0xb6, 0x4e, 0x1a, 0xd6, 0x8b, 0xf6, 0x11, 0xb8, 0x62, 0x17, - 0x04, 0x75, 0xf0, 0x69, 0xbf, 0x96, 0x19, 0xf4, 0x6b, 0x68, 0x82, 0x91, 0xb1, 0x2a, 0x8e, 0x50, - 0x9e, 0x47, 0xe0, 0x56, 0xb3, 0x4a, 0xfd, 0xb9, 0xf5, 0x87, 0x27, 0x62, 0xcd, 0xac, 0x7d, 0x2f, - 0x02, 0xd7, 0x99, 0xd7, 0xde, 0x79, 0xf9, 0x22, 0xca, 0x09, 0xbf, 0x43, 0x05, 0x2e, 0xa8, 0x48, - 0x78, 0x35, 0xa7, 0x3c, 0x5f, 0xde, 0xa2, 0xa7, 0xd2, 0x75, 0x16, 0xb4, 0x6b, 0x61, 0xf8, 0x26, - 0xda, 0xaf, 0xfe, 0x29, 0x8b, 0xea, 0x33, 0x73, 0xb7, 0xc2, 0xa0, 0xc3, 0x04, 0x0b, 0x03, 0xbc, - 0x89, 0xf2, 0xa2, 0x17, 0x81, 0x1a, 0x78, 0xd9, 0xf9, 0x6f, 0xd4, 0xc2, 0x7e, 0x2f, 0x82, 0x8b, - 0x7e, 0xed, 0x9f, 0xcb, 0x7c, 0x89, 0x13, 0x95, 0x81, 0xef, 0xa0, 0x42, 0x0c, 0x94, 0x87, 0x81, - 0x1a, 0x67, 0x79, 0x52, 0x08, 0x51, 0x28, 0xd1, 0x51, 0xbc, 0x8e, 0x8a, 0x3e, 0x70, 0x4e, 0x3d, - 0x50, 0x33, 0x28, 0x3b, 0x8b, 0x9a, 0x58, 0xdc, 0x1d, 0xc2, 0x64, 0x14, 0xc7, 0x47, 0x68, 0xe1, - 0x98, 0x72, 0xd1, 0x8a, 0x3a, 0x54, 0xc0, 0x3e, 0xf3, 0xa1, 0x9a, 0x57, 0x53, 0xbb, 0x7b, 0xb3, - 0x3b, 0x90, 0x19, 0xce, 0x92, 0x56, 0x5f, 0xd8, 0xf9, 0x45, 0x89, 0x5c, 0x52, 0xae, 0xff, 0x30, - 0xd0, 0xca, 0xcc, 0xf9, 0xec, 0x30, 0x2e, 0xf0, 0xeb, 0xa9, 0x7b, 0xb4, 0x6e, 0x56, 0x87, 0xcc, - 0x56, 0xd7, 0xf8, 0xb7, 0xae, 0xa5, 0x34, 0x42, 0x52, 0xb7, 0x18, 0xa2, 0x39, 0x26, 0xc0, 0xe7, - 0xd5, 0xec, 0x6a, 0x6e, 0xad, 0xd2, 0x7c, 0x7a, 0x7b, 0x87, 0xe1, 0xfc, 0xa5, 0x6d, 0xe7, 0xb6, - 0xa5, 0x01, 0x19, 0xfa, 0xd4, 0xbf, 0xff, 0xae, 0x61, 0x79, 0xb2, 0xf8, 0x7f, 0x54, 0x8c, 0x87, - 0x4f, 0xd5, 0xef, 0xbc, 0x53, 0x91, 0x5b, 0xd2, 0x0c, 0x32, 0x8a, 0xe1, 0x0d, 0x54, 0x4a, 0x38, - 0xc4, 0x01, 0xf5, 0x41, 0xaf, 0x7e, 0xdc, 0x67, 0x4b, 0xe3, 0x64, 0xcc, 0xc0, 0x2b, 0x28, 0x97, - 0xb0, 0x8e, 0x5e, 0x7d, 0x45, 0x13, 0x73, 0xad, 0xed, 0xc7, 0x44, 0xe2, 0xb8, 0x8e, 0x0a, 0x5e, - 0x1c, 0x26, 0x11, 0xaf, 0xe6, 0x57, 0x73, 0x6b, 0x65, 0x07, 0xc9, 0x0b, 0x7a, 0xa2, 0x10, 0xa2, - 0x23, 0xb8, 0x89, 0x4a, 0x5d, 0xe8, 0xb5, 0xd4, 0x09, 0xcd, 0x29, 0xd6, 0x92, 0x64, 0x29, 0x80, - 0x5f, 0xf4, 0x6b, 0xa5, 0x67, 0x3a, 0x4a, 0xc6, 0xbc, 0x7a, 0xdf, 0x40, 0xb5, 0x6b, 0x3e, 0x1d, - 0xfc, 0xc1, 0x40, 0xc8, 0x1d, 0x5d, 0x36, 0xaf, 0x1a, 0x6a, 0x11, 0x7b, 0xb7, 0xb7, 0x88, 0xf1, - 0x57, 0x33, 0xf9, 0x5b, 0x1a, 0x43, 0x9c, 0xa4, 0xac, 0x71, 0x03, 0x55, 0x52, 0xd2, 0x6a, 0xaa, - 0xf3, 0xce, 0xe2, 0xa0, 0x5f, 0xab, 0xa4, 0xc4, 0x49, 0x9a, 0xe3, 0xac, 0x9f, 0x9e, 0x9b, 0x99, - 0xb3, 0x73, 0x33, 0xf3, 0xf9, 0xdc, 0xcc, 0xbc, 0x1f, 0x98, 0xc6, 0xe9, 0xc0, 0x34, 0xce, 0x06, - 0xa6, 0xf1, 0x65, 0x60, 0x1a, 0x1f, 0xbf, 0x9a, 0x99, 0x57, 0x45, 0x5d, 0xe0, 0xcf, 0x00, 0x00, - 0x00, 0xff, 0xff, 0xa8, 0x84, 0xfa, 0xbc, 0x4c, 0x07, 0x00, 0x00, + // 728 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x54, 0x4d, 0x4f, 0x13, 0x41, + 0x18, 0xee, 0xb6, 0xa5, 0x1f, 0x53, 0x04, 0x33, 0x31, 0xa4, 0x92, 0xb0, 0x25, 0x8d, 0x1a, 0x30, + 0xb8, 0x6b, 0x89, 0x31, 0xdc, 0x4c, 0x16, 0x13, 0x83, 0x82, 0x9a, 0x81, 0x5e, 0x8c, 0x07, 0xa7, + 0xdb, 0x97, 0x65, 0x28, 0xfb, 0xe1, 0xce, 0x2c, 0xb1, 0x37, 0x6f, 0x5e, 0xfd, 0x03, 0xfe, 0x1f, + 0x8e, 0x1c, 0x3d, 0x35, 0x52, 0x4f, 0xc6, 0xc4, 0x1f, 0xc0, 0xc9, 0xcc, 0x74, 0xfa, 0x61, 0x4b, + 0x01, 0x13, 0x6e, 0x9d, 0xe7, 0x7d, 0xde, 0xe7, 0x79, 0xbf, 0xb6, 0xe8, 0x59, 0x6b, 0x83, 0x5b, + 0x2c, 0xb4, 0x5b, 0x49, 0x03, 0xe2, 0x00, 0x04, 0x70, 0x3b, 0x6a, 0x79, 0x36, 0x8d, 0x18, 0xb7, + 0x5d, 0x88, 0x05, 0xdb, 0x67, 0x2e, 0x95, 0xe8, 0x71, 0xad, 0x01, 0x82, 0xd6, 0x6c, 0x0f, 0x02, + 0x88, 0xa9, 0x80, 0xa6, 0x15, 0xc5, 0xa1, 0x08, 0xb1, 0xdd, 0x13, 0xb0, 0x86, 0x02, 0x56, 0xd4, + 0xf2, 0x2c, 0x29, 0x60, 0x8d, 0x0a, 0x58, 0x5a, 0x60, 0xf1, 0x91, 0xc7, 0xc4, 0x41, 0xd2, 0xb0, + 0xdc, 0xd0, 0xb7, 0xbd, 0xd0, 0x0b, 0x6d, 0xa5, 0xd3, 0x48, 0xf6, 0xd5, 0x4b, 0x3d, 0xd4, 0xaf, + 0x9e, 0xfe, 0xe2, 0x13, 0x5d, 0x20, 0x8d, 0x98, 0x4f, 0xdd, 0x03, 0x16, 0x40, 0xdc, 0xee, 0x97, + 0x68, 0xc7, 0xc0, 0xc3, 0x24, 0x76, 0x61, 0xbc, 0xaa, 0x4b, 0xb3, 0xb8, 0xed, 0x83, 0xa0, 0xf6, + 0xf1, 0x44, 0x2f, 0x8b, 0xf6, 0xb4, 0xac, 0x38, 0x09, 0x04, 0xf3, 0x27, 0x6d, 0x9e, 0x5e, 0x95, + 0xc0, 0xdd, 0x03, 0xf0, 0xe9, 0x44, 0xde, 0xda, 0xd4, 0xa9, 0x5f, 0x54, 0x56, 0xed, 0x62, 0x76, + 0x22, 0xd8, 0x91, 0xcd, 0x02, 0xc1, 0x45, 0x3c, 0x9e, 0x52, 0xfd, 0x95, 0x46, 0x77, 0x37, 0x87, + 0xd3, 0xdf, 0x65, 0x5e, 0xc0, 0x02, 0x8f, 0xc0, 0xc7, 0x04, 0xb8, 0xc0, 0x1f, 0x50, 0x41, 0x8e, + 0xa0, 0x49, 0x05, 0x2d, 0x1b, 0xcb, 0xc6, 0x4a, 0x69, 0xfd, 0xb1, 0xa5, 0xd7, 0x38, 0xda, 0xc9, + 0x70, 0x91, 0x92, 0x6d, 0x1d, 0xd7, 0xac, 0x37, 0x8d, 0x43, 0x70, 0xc5, 0x0e, 0x08, 0xea, 0xe0, + 0x93, 0x4e, 0x25, 0xd5, 0xed, 0x54, 0xd0, 0x10, 0x23, 0x03, 0x55, 0x1c, 0xa1, 0x2c, 0x8f, 0xc0, + 0x2d, 0xa7, 0x95, 0xfa, 0x6b, 0xeb, 0x3f, 0x8f, 0xc4, 0x9a, 0x5a, 0xfb, 0x6e, 0x04, 0xae, 0x33, + 0xab, 0xbd, 0xb3, 0xf2, 0x45, 0x94, 0x13, 0xfe, 0x84, 0x72, 0x5c, 0x50, 0x91, 0xf0, 0x72, 0x46, + 0x79, 0xbe, 0xbd, 0x41, 0x4f, 0xa5, 0xeb, 0xcc, 0x69, 0xd7, 0x5c, 0xef, 0x4d, 0xb4, 0x5f, 0xf5, + 0x5b, 0x1a, 0x55, 0xa7, 0xe6, 0x6e, 0x86, 0x41, 0x93, 0x09, 0x16, 0x06, 0x78, 0x03, 0x65, 0x45, + 0x3b, 0x02, 0x35, 0xf0, 0xa2, 0x73, 0xaf, 0xdf, 0xc2, 0x5e, 0x3b, 0x82, 0xf3, 0x4e, 0xe5, 0xce, + 0x38, 0x5f, 0xe2, 0x44, 0x65, 0xe0, 0x07, 0x28, 0x17, 0x03, 0xe5, 0x61, 0xa0, 0xc6, 0x59, 0x1c, + 0x16, 0x42, 0x14, 0x4a, 0x74, 0x14, 0xaf, 0xa2, 0xbc, 0x0f, 0x9c, 0x53, 0x0f, 0xd4, 0x0c, 0x8a, + 0xce, 0xbc, 0x26, 0xe6, 0x77, 0x7a, 0x30, 0xe9, 0xc7, 0xf1, 0x21, 0x9a, 0x3b, 0xa2, 0x5c, 0xd4, + 0xa3, 0x26, 0x15, 0xb0, 0xc7, 0x7c, 0x28, 0x67, 0xd5, 0xd4, 0x1e, 0x5e, 0xef, 0x0e, 0x64, 0x86, + 0xb3, 0xa0, 0xd5, 0xe7, 0xb6, 0xff, 0x51, 0x22, 0x63, 0xca, 0xd5, 0x3f, 0x06, 0x5a, 0x9a, 0x3a, + 0x9f, 0x6d, 0xc6, 0x05, 0x7e, 0x3f, 0x71, 0x8f, 0xd6, 0xf5, 0xea, 0x90, 0xd9, 0xea, 0x1a, 0x6f, + 0xeb, 0x5a, 0x0a, 0x7d, 0x64, 0xe4, 0x16, 0x43, 0x34, 0xc3, 0x04, 0xf8, 0xbc, 0x9c, 0x5e, 0xce, + 0xac, 0x94, 0xd6, 0x5f, 0xde, 0xdc, 0x61, 0x38, 0xb7, 0xb4, 0xed, 0xcc, 0x96, 0x34, 0x20, 0x3d, + 0x9f, 0xea, 0xef, 0xcb, 0x1a, 0x96, 0x27, 0x8b, 0xef, 0xa3, 0x7c, 0xdc, 0x7b, 0xaa, 0x7e, 0x67, + 0x9d, 0x92, 0xdc, 0x92, 0x66, 0x90, 0x7e, 0x0c, 0xaf, 0xa1, 0x42, 0xc2, 0x21, 0x0e, 0xa8, 0x0f, + 0x7a, 0xf5, 0x83, 0x3e, 0xeb, 0x1a, 0x27, 0x03, 0x06, 0x5e, 0x42, 0x99, 0x84, 0x35, 0xf5, 0xea, + 0x4b, 0x9a, 0x98, 0xa9, 0x6f, 0x3d, 0x27, 0x12, 0xc7, 0x55, 0x94, 0xf3, 0xe2, 0x30, 0x89, 0x78, + 0x39, 0xbb, 0x9c, 0x59, 0x29, 0x3a, 0x48, 0x5e, 0xd0, 0x0b, 0x85, 0x10, 0x1d, 0xc1, 0xeb, 0xa8, + 0xd0, 0x82, 0x76, 0x5d, 0x9d, 0xd0, 0x8c, 0x62, 0x2d, 0x48, 0x96, 0x02, 0xf8, 0x79, 0xa7, 0x52, + 0x78, 0xa5, 0xa3, 0x64, 0xc0, 0xab, 0x76, 0x0c, 0x54, 0xb9, 0xe2, 0xd3, 0xc1, 0x5f, 0x0c, 0x84, + 0xdc, 0xfe, 0x65, 0xf3, 0xb2, 0xa1, 0x16, 0xb1, 0x7b, 0x73, 0x8b, 0x18, 0x7c, 0x35, 0xc3, 0xbf, + 0xa5, 0x01, 0xc4, 0xc9, 0x88, 0x35, 0xae, 0xa1, 0xd2, 0x88, 0xb4, 0x9a, 0xea, 0xac, 0x33, 0xdf, + 0xed, 0x54, 0x4a, 0x23, 0xe2, 0x64, 0x94, 0xe3, 0xac, 0x9e, 0x9c, 0x99, 0xa9, 0xd3, 0x33, 0x33, + 0xf5, 0xfd, 0xcc, 0x4c, 0x7d, 0xee, 0x9a, 0xc6, 0x49, 0xd7, 0x34, 0x4e, 0xbb, 0xa6, 0xf1, 0xa3, + 0x6b, 0x1a, 0x5f, 0x7f, 0x9a, 0xa9, 0x77, 0x79, 0x5d, 0xe0, 0xdf, 0x00, 0x00, 0x00, 0xff, 0xff, + 0x09, 0x98, 0xa9, 0xa0, 0x4e, 0x07, 0x00, 0x00, } diff --git a/pkg/apis/certificates/v1beta1/generated.proto b/pkg/apis/certificates/v1beta1/generated.proto index cb432875f50..7211cdaa42f 100644 --- a/pkg/apis/certificates/v1beta1/generated.proto +++ b/pkg/apis/certificates/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.certificates.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/extensions/BUILD b/pkg/apis/extensions/BUILD index cbbe4bc9022..691b3ca3192 100644 --- a/pkg/apis/extensions/BUILD +++ b/pkg/apis/extensions/BUILD @@ -20,9 +20,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/apis/extensions/types.go b/pkg/apis/extensions/types.go index 5c20c55177a..dceb5e40318 100644 --- a/pkg/apis/extensions/types.go +++ b/pkg/apis/extensions/types.go @@ -29,9 +29,9 @@ support is experimental. package extensions import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/extensions/v1beta1/BUILD b/pkg/apis/extensions/v1beta1/BUILD index 6b95dc17996..af2d2b63c06 100644 --- a/pkg/apis/extensions/v1beta1/BUILD +++ b/pkg/apis/extensions/v1beta1/BUILD @@ -26,7 +26,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling:go_default_library", "//pkg/apis/extensions:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:github.com/gogo/protobuf/proto", "//vendor:github.com/gogo/protobuf/sortkeys", "//vendor:github.com/ugorji/go/codec", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -49,11 +49,11 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/install:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/install:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", ], diff --git a/pkg/apis/extensions/v1beta1/defaults_test.go b/pkg/apis/extensions/v1beta1/defaults_test.go index c88805151c3..a8409cfda5c 100644 --- a/pkg/apis/extensions/v1beta1/defaults_test.go +++ b/pkg/apis/extensions/v1beta1/defaults_test.go @@ -20,11 +20,11 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" _ "k8s.io/kubernetes/pkg/api/install" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" _ "k8s.io/kubernetes/pkg/apis/extensions/install" . "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" diff --git a/pkg/apis/extensions/v1beta1/generated.pb.go b/pkg/apis/extensions/v1beta1/generated.pb.go index ffc4a2f9674..e2240df082a 100644 --- a/pkg/apis/extensions/v1beta1/generated.pb.go +++ b/pkg/apis/extensions/v1beta1/generated.pb.go @@ -3739,7 +3739,7 @@ func (this *CustomMetricCurrentStatus) String() string { } s := strings.Join([]string{`&CustomMetricCurrentStatus{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, - `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_kubernetes_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, + `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -3760,7 +3760,7 @@ func (this *CustomMetricTarget) String() string { } s := strings.Join([]string{`&CustomMetricTarget{`, `Name:` + fmt.Sprintf("%v", this.Name) + `,`, - `TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_kubernetes_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, + `TargetValue:` + strings.Replace(strings.Replace(this.TargetValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, `}`, }, "") return s @@ -12526,229 +12526,229 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 3580 bytes of a gzipped FileDescriptorProto + // 3581 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe4, 0x5b, 0x4f, 0x6c, 0x1b, 0xc7, 0xd5, 0xf7, 0x92, 0xa2, 0x45, 0x3d, 0x59, 0x92, 0x35, 0x52, 0x64, 0x46, 0x49, 0x44, 0x67, 0x83, 0x2f, 0x71, 0x3e, 0x24, 0xd4, 0x67, 0xe7, 0x73, 0xbe, 0xc4, 0x49, 0x9c, 0x88, 0x92, 0x65, 0x2b, - 0x9f, 0x64, 0x33, 0x43, 0xc9, 0x4d, 0xf3, 0xb7, 0x2b, 0x72, 0x44, 0xad, 0xb5, 0xff, 0xb2, 0x3b, - 0xab, 0x88, 0x09, 0x8a, 0x04, 0x28, 0x7a, 0x6d, 0x73, 0x6a, 0x73, 0x48, 0x8f, 0x3d, 0xf4, 0x92, - 0x36, 0x40, 0x8b, 0xb4, 0xc7, 0x1e, 0x8a, 0x1a, 0x68, 0x51, 0xa4, 0x40, 0x0b, 0xf4, 0x90, 0x2a, - 0xb5, 0x8a, 0x06, 0xbd, 0x17, 0xb9, 0xb8, 0x97, 0x62, 0x66, 0x67, 0xff, 0x72, 0x57, 0x16, 0x29, - 0x99, 0x28, 0xd0, 0x1b, 0x77, 0xe6, 0xbd, 0xdf, 0xfb, 0x33, 0x33, 0x6f, 0xde, 0xcc, 0x3c, 0xc2, - 0x73, 0x5b, 0x4f, 0x39, 0x15, 0xd5, 0x9c, 0xdd, 0x72, 0xd7, 0x89, 0x6d, 0x10, 0x4a, 0x9c, 0x59, - 0x6b, 0xab, 0x35, 0xab, 0x58, 0xaa, 0x33, 0x4b, 0x76, 0x28, 0x31, 0x1c, 0xd5, 0x34, 0x9c, 0xd9, - 0xed, 0xb3, 0xeb, 0x84, 0x2a, 0x67, 0x67, 0x5b, 0xc4, 0x20, 0xb6, 0x42, 0x49, 0xb3, 0x62, 0xd9, - 0x26, 0x35, 0xd1, 0xe3, 0x1e, 0x7b, 0x25, 0x64, 0xaf, 0x58, 0x5b, 0xad, 0x0a, 0x63, 0xaf, 0x84, - 0xec, 0x15, 0xc1, 0x3e, 0xfd, 0x78, 0x4b, 0xa5, 0x9b, 0xee, 0x7a, 0xa5, 0x61, 0xea, 0xb3, 0x2d, - 0xb3, 0x65, 0xce, 0x72, 0x94, 0x75, 0x77, 0x83, 0x7f, 0xf1, 0x0f, 0xfe, 0xcb, 0x43, 0x9f, 0xfe, - 0x5f, 0xa1, 0x9c, 0x62, 0xa9, 0xba, 0xd2, 0xd8, 0x54, 0x0d, 0x62, 0xb7, 0x43, 0xf5, 0x74, 0x42, - 0x95, 0xd9, 0xed, 0x0e, 0x9d, 0xa6, 0x67, 0xb3, 0xb8, 0x6c, 0xd7, 0xa0, 0xaa, 0x4e, 0x3a, 0x18, - 0x9e, 0xbc, 0x13, 0x83, 0xd3, 0xd8, 0x24, 0xba, 0xd2, 0xc1, 0x77, 0x2e, 0xd3, 0x77, 0xb3, 0x36, - 0x71, 0x4c, 0xd7, 0x6e, 0x74, 0xca, 0x7a, 0x2c, 0x9b, 0x27, 0xc5, 0x94, 0xb3, 0xe9, 0xd4, 0x2e, - 0x55, 0xb5, 0x59, 0xd5, 0xa0, 0x0e, 0xb5, 0x93, 0x2c, 0x72, 0x05, 0x60, 0xae, 0xb6, 0x74, 0x9d, - 0xd8, 0xcc, 0xf3, 0xe8, 0x34, 0x0c, 0x18, 0x8a, 0x4e, 0x4a, 0xd2, 0x69, 0xe9, 0xcc, 0x50, 0xf5, - 0xc4, 0xcd, 0xdd, 0xf2, 0xb1, 0xbd, 0xdd, 0xf2, 0xc0, 0x55, 0x45, 0x27, 0x98, 0xf7, 0xc8, 0xaf, - 0xc1, 0xe4, 0x7c, 0x6d, 0x6d, 0x55, 0xb1, 0x5b, 0x84, 0xae, 0x51, 0x55, 0x53, 0xdf, 0x51, 0x28, - 0xe3, 0x5c, 0x80, 0x93, 0x94, 0x37, 0xd6, 0x88, 0xdd, 0x20, 0x06, 0x55, 0x5a, 0x1e, 0x4a, 0xa1, - 0x5a, 0x12, 0x28, 0x27, 0x57, 0x13, 0xfd, 0xb8, 0x83, 0x43, 0xfe, 0xbe, 0x04, 0xf7, 0xce, 0xbb, - 0x0e, 0x35, 0xf5, 0x15, 0x42, 0x6d, 0xb5, 0x31, 0xef, 0xda, 0x36, 0x31, 0x68, 0x9d, 0x2a, 0xd4, - 0x75, 0xee, 0xac, 0x1d, 0x7a, 0x19, 0x0a, 0xdb, 0x8a, 0xe6, 0x92, 0x52, 0xee, 0xb4, 0x74, 0x66, - 0xf8, 0xdc, 0x63, 0x95, 0xcc, 0xf9, 0x56, 0xf1, 0x5d, 0x5e, 0x79, 0xc9, 0x55, 0x0c, 0xaa, 0xd2, - 0x76, 0x75, 0x52, 0x00, 0x9e, 0x10, 0x52, 0xaf, 0x33, 0x24, 0xec, 0x01, 0xca, 0xdf, 0x91, 0xe0, - 0x81, 0x4c, 0xcd, 0x96, 0x55, 0x87, 0x22, 0x1d, 0x0a, 0x2a, 0x25, 0xba, 0x53, 0x92, 0x4e, 0xe7, - 0xcf, 0x0c, 0x9f, 0xbb, 0x52, 0xe9, 0x6a, 0xae, 0x57, 0x32, 0xc1, 0xab, 0x23, 0x42, 0xaf, 0xc2, - 0x12, 0x83, 0xc7, 0x9e, 0x14, 0xf9, 0xbb, 0x12, 0xa0, 0x28, 0x8f, 0xe7, 0xdd, 0x03, 0xf8, 0xe8, - 0x6b, 0x87, 0xf1, 0xd1, 0x84, 0x00, 0x1c, 0xf6, 0xc4, 0xc5, 0x5c, 0xf4, 0xbe, 0x04, 0x53, 0x9d, - 0x1a, 0x71, 0xdf, 0x6c, 0xc4, 0x7d, 0x33, 0x77, 0x08, 0xdf, 0x78, 0xa8, 0x19, 0x4e, 0xf9, 0x59, - 0x0e, 0x86, 0x16, 0x14, 0xa2, 0x9b, 0x46, 0x9d, 0x50, 0xf4, 0x0d, 0x28, 0xb2, 0x45, 0xdf, 0x54, - 0xa8, 0xc2, 0xfd, 0x31, 0x7c, 0xee, 0x7f, 0x7c, 0xc1, 0xd1, 0xb5, 0x1b, 0x8a, 0x66, 0xd4, 0x95, - 0xed, 0xb3, 0x95, 0x6b, 0xeb, 0x37, 0x48, 0x83, 0xae, 0x10, 0xaa, 0x54, 0x91, 0x90, 0x03, 0x61, - 0x1b, 0x0e, 0x50, 0xd1, 0x1b, 0x30, 0xe0, 0x58, 0xa4, 0x21, 0x5c, 0xf9, 0x6c, 0x97, 0x66, 0x05, - 0x9a, 0xd6, 0x2d, 0xd2, 0x08, 0xc7, 0x8a, 0x7d, 0x61, 0x8e, 0x8b, 0x36, 0xe0, 0xb8, 0xc3, 0x27, - 0x41, 0x29, 0xcf, 0x25, 0x5c, 0xec, 0x59, 0x82, 0x37, 0x95, 0x46, 0x85, 0x8c, 0xe3, 0xde, 0x37, - 0x16, 0xe8, 0xf2, 0x6f, 0x25, 0x18, 0x09, 0x68, 0xf9, 0x88, 0xbd, 0xd6, 0xe1, 0xbb, 0xca, 0xc1, - 0x7c, 0xc7, 0xb8, 0xb9, 0xe7, 0x4e, 0x0a, 0x59, 0x45, 0xbf, 0x25, 0xe2, 0xb7, 0xd7, 0xfd, 0xf9, - 0x90, 0xe3, 0xf3, 0xe1, 0xa9, 0x5e, 0xcd, 0xca, 0x98, 0x06, 0xbf, 0x89, 0x9a, 0xc3, 0xdc, 0x89, - 0x5e, 0x87, 0xa2, 0x43, 0x34, 0xd2, 0xa0, 0xa6, 0x2d, 0xcc, 0x79, 0xe2, 0x80, 0xe6, 0x28, 0xeb, - 0x44, 0xab, 0x0b, 0xd6, 0xea, 0x09, 0x66, 0x8f, 0xff, 0x85, 0x03, 0x48, 0xf4, 0x2a, 0x14, 0x29, - 0xd1, 0x2d, 0x4d, 0xa1, 0xfe, 0xb2, 0x7a, 0x7c, 0x9f, 0x65, 0xb5, 0x7d, 0xb6, 0x52, 0x33, 0x9b, - 0xab, 0x82, 0x81, 0x0f, 0x7e, 0xe0, 0x2c, 0xbf, 0x15, 0x07, 0x80, 0xf2, 0x07, 0x79, 0x18, 0x4b, - 0x0c, 0x24, 0xba, 0x0e, 0x53, 0x0d, 0x2f, 0x48, 0x5c, 0x75, 0xf5, 0x75, 0x62, 0xd7, 0x1b, 0x9b, - 0xa4, 0xe9, 0x6a, 0xa4, 0x29, 0x82, 0xee, 0x8c, 0xc0, 0x9b, 0x9a, 0x4f, 0xa5, 0xc2, 0x19, 0xdc, - 0xe8, 0x45, 0x40, 0x06, 0x6f, 0x5a, 0x51, 0x1d, 0x27, 0xc0, 0xcc, 0x71, 0xcc, 0x69, 0x81, 0x89, - 0xae, 0x76, 0x50, 0xe0, 0x14, 0x2e, 0xa6, 0x63, 0x93, 0x38, 0xaa, 0x4d, 0x9a, 0x49, 0x1d, 0xf3, - 0x71, 0x1d, 0x17, 0x52, 0xa9, 0x70, 0x06, 0x37, 0x3a, 0x0f, 0xc3, 0x9e, 0x34, 0x4c, 0x94, 0x66, - 0xbb, 0x34, 0xc0, 0xc1, 0x82, 0xc0, 0x74, 0x35, 0xec, 0xc2, 0x51, 0x3a, 0x66, 0x9a, 0xb9, 0xee, - 0x10, 0x7b, 0x9b, 0x34, 0x2f, 0x7b, 0x9b, 0xa0, 0x6a, 0x1a, 0xa5, 0xc2, 0x69, 0xe9, 0x4c, 0x3e, - 0x34, 0xed, 0x5a, 0x07, 0x05, 0x4e, 0xe1, 0x92, 0x7f, 0x9e, 0x03, 0x58, 0x20, 0x96, 0x66, 0xb6, - 0x75, 0x62, 0xf4, 0x23, 0xd0, 0xbc, 0x19, 0x0b, 0x34, 0xcf, 0x75, 0xbb, 0x5e, 0x02, 0x55, 0x33, - 0x23, 0x4d, 0x2b, 0x11, 0x69, 0x9e, 0xef, 0x5d, 0xc4, 0xfe, 0xa1, 0xe6, 0x56, 0x1e, 0x26, 0x42, - 0xe2, 0x79, 0xd3, 0x68, 0xaa, 0x3c, 0x81, 0x78, 0x06, 0x06, 0x68, 0xdb, 0xf2, 0x37, 0xae, 0x47, - 0x7c, 0x15, 0x57, 0xdb, 0x16, 0xb9, 0xbd, 0x5b, 0x3e, 0x95, 0xc2, 0xc2, 0xba, 0x30, 0x67, 0x42, - 0xd7, 0x03, 0xed, 0x73, 0x9c, 0xfd, 0x62, 0x5c, 0xf8, 0xed, 0xdd, 0xf2, 0xbe, 0x89, 0x54, 0x25, - 0xc0, 0x8c, 0x2b, 0x8b, 0x1e, 0x86, 0xe3, 0x36, 0x51, 0x1c, 0xd3, 0xe0, 0xb3, 0x6c, 0x28, 0x34, - 0x0a, 0xf3, 0x56, 0x2c, 0x7a, 0xd1, 0xa3, 0x30, 0xa8, 0x13, 0xc7, 0x61, 0x49, 0x4f, 0x81, 0x13, - 0x8e, 0x09, 0xc2, 0xc1, 0x15, 0xaf, 0x19, 0xfb, 0xfd, 0xe8, 0x06, 0x8c, 0x6a, 0x8a, 0x43, 0xd7, - 0xac, 0xa6, 0x42, 0xc9, 0xaa, 0xaa, 0x93, 0xd2, 0x71, 0xee, 0xf0, 0xff, 0x3e, 0xd8, 0x8c, 0x61, - 0x1c, 0xd5, 0x29, 0x81, 0x3e, 0xba, 0x1c, 0x43, 0xc2, 0x09, 0x64, 0xb4, 0x0d, 0x88, 0xb5, 0xac, - 0xda, 0x8a, 0xe1, 0x78, 0x2e, 0x63, 0xf2, 0x06, 0xbb, 0x96, 0x17, 0x2c, 0x8f, 0xe5, 0x0e, 0x34, - 0x9c, 0x22, 0x41, 0xfe, 0x9d, 0x04, 0xa3, 0xe1, 0x80, 0xf5, 0x61, 0x3f, 0x79, 0x23, 0xbe, 0x9f, - 0x3c, 0xdd, 0xf3, 0xe4, 0xcd, 0xd8, 0x50, 0x3e, 0xcc, 0x03, 0x0a, 0x89, 0xb0, 0xa9, 0x69, 0xeb, - 0x4a, 0x63, 0xeb, 0x00, 0xc9, 0xd6, 0x0f, 0x25, 0x40, 0x2e, 0x1f, 0x90, 0xe6, 0x9c, 0x61, 0x98, - 0x94, 0x87, 0x0f, 0x5f, 0xcd, 0xaf, 0xf7, 0xac, 0xa6, 0xaf, 0x41, 0x65, 0xad, 0x03, 0xfb, 0x92, - 0x41, 0xed, 0x76, 0x38, 0x62, 0x9d, 0x04, 0x38, 0x45, 0x21, 0xf4, 0x16, 0x80, 0x2d, 0x30, 0x57, - 0x4d, 0x11, 0x02, 0xba, 0x8d, 0x32, 0xbe, 0x52, 0xf3, 0xa6, 0xb1, 0xa1, 0xb6, 0xc2, 0x80, 0x86, - 0x03, 0x60, 0x1c, 0x11, 0x32, 0x7d, 0x09, 0x4e, 0x65, 0x68, 0x8f, 0x4e, 0x42, 0x7e, 0x8b, 0xb4, - 0x3d, 0xb7, 0x62, 0xf6, 0x13, 0x4d, 0x46, 0x93, 0xd6, 0x21, 0x91, 0x71, 0x5e, 0xc8, 0x3d, 0x25, - 0xc9, 0x5f, 0x16, 0xa2, 0x73, 0x8d, 0x6f, 0xf6, 0x67, 0xa0, 0x68, 0x13, 0x4b, 0x53, 0x1b, 0x8a, - 0x23, 0xb6, 0x43, 0xbe, 0x6f, 0x63, 0xd1, 0x86, 0x83, 0xde, 0x58, 0x5a, 0x90, 0xbb, 0xbb, 0x69, - 0x41, 0xfe, 0x88, 0xd3, 0x02, 0x64, 0x42, 0xd1, 0xa1, 0xec, 0x28, 0xd7, 0xf2, 0xf6, 0xc0, 0xee, - 0xd3, 0xea, 0x68, 0xcc, 0xf6, 0x80, 0x42, 0x81, 0x7e, 0x0b, 0x0e, 0x84, 0xa0, 0x39, 0x18, 0xd3, - 0x55, 0x83, 0x6f, 0xa6, 0x75, 0xd2, 0x30, 0x8d, 0xa6, 0xc3, 0x83, 0x5d, 0xa1, 0x7a, 0x4a, 0x30, - 0x8d, 0xad, 0xc4, 0xbb, 0x71, 0x92, 0x1e, 0x2d, 0xc3, 0xa4, 0x4d, 0xb6, 0x55, 0xa6, 0xc6, 0x15, - 0xd5, 0xa1, 0xa6, 0xdd, 0x5e, 0x56, 0x75, 0x95, 0xf2, 0x10, 0x58, 0xa8, 0x96, 0xf6, 0x76, 0xcb, - 0x93, 0x38, 0xa5, 0x1f, 0xa7, 0x72, 0xb1, 0xe8, 0x6c, 0x29, 0xae, 0x43, 0x9a, 0x3c, 0xa4, 0x15, - 0xc3, 0xe8, 0x5c, 0xe3, 0xad, 0x58, 0xf4, 0x22, 0x3d, 0x36, 0xb9, 0x8b, 0x47, 0x31, 0xb9, 0x47, - 0xb3, 0x27, 0x36, 0x5a, 0x83, 0x53, 0x96, 0x6d, 0xb6, 0x6c, 0xe2, 0x38, 0x0b, 0x44, 0x69, 0x6a, - 0xaa, 0x41, 0x7c, 0x7f, 0x0d, 0x71, 0x3b, 0xef, 0xdb, 0xdb, 0x2d, 0x9f, 0xaa, 0xa5, 0x93, 0xe0, - 0x2c, 0x5e, 0xf9, 0xa3, 0x01, 0x38, 0x99, 0xdc, 0x65, 0x33, 0x92, 0x1a, 0xa9, 0x97, 0xa4, 0x06, - 0x3d, 0x16, 0x59, 0x36, 0x5e, 0xc6, 0x17, 0xcc, 0x86, 0x94, 0xa5, 0x33, 0x07, 0x63, 0x22, 0x8e, - 0xf8, 0x9d, 0x22, 0xad, 0x0b, 0x66, 0xc3, 0x5a, 0xbc, 0x1b, 0x27, 0xe9, 0xd1, 0x65, 0x18, 0x57, - 0xb6, 0x15, 0x55, 0x53, 0xd6, 0x35, 0x12, 0x80, 0x78, 0xe9, 0xdc, 0xbd, 0x02, 0x64, 0x7c, 0x2e, - 0x49, 0x80, 0x3b, 0x79, 0xd0, 0x0a, 0x4c, 0xb8, 0x46, 0x27, 0x94, 0x37, 0x3b, 0xef, 0x13, 0x50, - 0x13, 0x6b, 0x9d, 0x24, 0x38, 0x8d, 0x0f, 0x6d, 0x03, 0x34, 0xfc, 0x84, 0xc0, 0x29, 0x1d, 0xe7, - 0xb1, 0xba, 0xda, 0xf3, 0xda, 0x0a, 0x72, 0x8b, 0x30, 0x22, 0x06, 0x4d, 0x0e, 0x8e, 0x48, 0x42, - 0xcf, 0xc0, 0x88, 0xcd, 0xf3, 0x56, 0xdf, 0x80, 0x41, 0x6e, 0xc0, 0x3d, 0x82, 0x6d, 0x04, 0x47, - 0x3b, 0x71, 0x9c, 0x56, 0xfe, 0xbd, 0x14, 0xdd, 0xa2, 0xfc, 0xe5, 0x8b, 0x2e, 0xc4, 0xd2, 0xaa, - 0x87, 0x13, 0x69, 0xd5, 0x54, 0x27, 0x47, 0x24, 0xab, 0x7a, 0x0f, 0x46, 0xd8, 0xb4, 0x56, 0x8d, - 0x96, 0x37, 0x94, 0x22, 0x44, 0x2e, 0xf6, 0xb0, 0x74, 0x02, 0x8c, 0xc8, 0x56, 0x3b, 0xce, 0x6d, - 0x8a, 0x76, 0xe2, 0xb8, 0x3c, 0xf9, 0x13, 0x09, 0xa6, 0x16, 0xeb, 0x97, 0x6d, 0xd3, 0xb5, 0x7c, - 0xf5, 0xae, 0x59, 0x9e, 0xaf, 0xfe, 0x0f, 0x06, 0x6c, 0x57, 0xf3, 0xed, 0x7a, 0xc8, 0xb7, 0x0b, - 0xbb, 0x1a, 0xb3, 0x6b, 0x22, 0xc1, 0xe5, 0x19, 0xc5, 0x18, 0xd0, 0x1b, 0x70, 0xdc, 0x56, 0x8c, - 0x16, 0xf1, 0x37, 0xe1, 0x27, 0xbb, 0xb4, 0x66, 0x69, 0x01, 0x33, 0xf6, 0x48, 0x2a, 0xc8, 0xd1, - 0xb0, 0x40, 0x95, 0x7f, 0x20, 0xc1, 0xd8, 0x95, 0xd5, 0xd5, 0xda, 0x92, 0xc1, 0x57, 0x71, 0x4d, - 0xa1, 0x9b, 0x2c, 0x4f, 0xb0, 0x14, 0xba, 0x99, 0xcc, 0x13, 0x58, 0x1f, 0xe6, 0x3d, 0x68, 0x13, - 0x06, 0x59, 0xf4, 0x20, 0x46, 0xb3, 0xc7, 0x14, 0x5f, 0x88, 0xab, 0x7a, 0x20, 0x61, 0xfe, 0x29, - 0x1a, 0xb0, 0x0f, 0x2f, 0xbf, 0x0b, 0x93, 0x11, 0xf5, 0x98, 0xbf, 0xf8, 0x25, 0x0e, 0x6a, 0x40, - 0x81, 0x69, 0xe2, 0x5f, 0xd1, 0x74, 0x7b, 0xd3, 0x90, 0x30, 0x39, 0xcc, 0xa3, 0xd8, 0x97, 0x83, - 0x3d, 0x6c, 0xf9, 0x8b, 0x1c, 0x9c, 0xba, 0x62, 0xda, 0xea, 0x3b, 0xa6, 0x41, 0x15, 0xad, 0x66, - 0x36, 0xe7, 0x5c, 0x6a, 0x3a, 0x0d, 0x45, 0x23, 0x76, 0x1f, 0x0e, 0x51, 0x5a, 0xec, 0x10, 0xf5, - 0x62, 0xb7, 0x16, 0xa6, 0xeb, 0x9d, 0x79, 0xa2, 0xa2, 0x89, 0x13, 0xd5, 0xf2, 0x11, 0xc9, 0xdb, - 0xff, 0x78, 0xf5, 0x77, 0x09, 0xee, 0xcb, 0xe0, 0xec, 0x43, 0x1e, 0xbe, 0x15, 0xcf, 0xc3, 0x17, - 0x8f, 0xc6, 0xe4, 0x8c, 0xa4, 0xfc, 0x9f, 0xb9, 0x4c, 0x53, 0x79, 0x1a, 0xf8, 0x16, 0x14, 0xf9, - 0x17, 0x26, 0x1b, 0xc2, 0xd4, 0xf9, 0x2e, 0xf5, 0xa9, 0xbb, 0xeb, 0xfe, 0x15, 0x28, 0x26, 0x1b, - 0xc4, 0x26, 0x46, 0x83, 0x44, 0x52, 0x24, 0x01, 0x8e, 0x03, 0x31, 0xe8, 0x2c, 0x0c, 0xf3, 0x94, - 0x27, 0xb6, 0x8b, 0x8e, 0xed, 0xed, 0x96, 0x87, 0x57, 0xc2, 0x66, 0x1c, 0xa5, 0x41, 0xe7, 0x61, - 0x58, 0x57, 0x76, 0x12, 0x7b, 0x68, 0x70, 0x9b, 0xb1, 0x12, 0x76, 0xe1, 0x28, 0x1d, 0x7a, 0x0f, - 0x46, 0x1b, 0x96, 0x1b, 0xb9, 0x81, 0x17, 0x39, 0x60, 0xb7, 0x26, 0xa6, 0x5d, 0xe6, 0x57, 0x11, - 0x3b, 0x5b, 0xce, 0xd7, 0xd6, 0x22, 0x6d, 0x38, 0x21, 0x4e, 0xfe, 0x65, 0x1e, 0x1e, 0xd8, 0x77, - 0x8a, 0xa2, 0xc5, 0x7d, 0x72, 0x93, 0xa9, 0x2e, 0xf2, 0x92, 0x06, 0x8c, 0xb0, 0x33, 0x26, 0x77, - 0x37, 0x3f, 0xc0, 0xe6, 0xba, 0x3e, 0xc0, 0xf2, 0xad, 0x66, 0x39, 0x0a, 0x82, 0xe3, 0x98, 0x2c, - 0x9d, 0x11, 0x57, 0x62, 0x59, 0xe9, 0xcc, 0x7c, 0xbc, 0x1b, 0x27, 0xe9, 0x19, 0x84, 0xb8, 0xb1, - 0x4a, 0x24, 0x33, 0x01, 0xc4, 0x42, 0xbc, 0x1b, 0x27, 0xe9, 0x91, 0x0e, 0x65, 0x81, 0x1a, 0xf7, - 0x7e, 0xe4, 0x51, 0xc5, 0x4b, 0x6a, 0x1e, 0xda, 0xdb, 0x2d, 0x97, 0xe7, 0xf7, 0x27, 0xc5, 0x77, - 0xc2, 0x92, 0x57, 0x60, 0xe4, 0x8a, 0xe9, 0xd0, 0x9a, 0x69, 0x53, 0xbe, 0x8b, 0xa1, 0x07, 0x20, - 0xaf, 0xab, 0x86, 0x38, 0x34, 0x0d, 0x0b, 0xb5, 0xf3, 0x6c, 0xee, 0xb2, 0x76, 0xde, 0xad, 0xec, - 0x88, 0x69, 0x1d, 0x76, 0x2b, 0x3b, 0x98, 0xb5, 0xcb, 0x97, 0x61, 0x50, 0xec, 0x8e, 0x51, 0xa0, - 0xfc, 0xfe, 0x40, 0xf9, 0x14, 0xa0, 0x1f, 0xe7, 0x60, 0x50, 0x6c, 0x26, 0x7d, 0xd8, 0x16, 0x5e, - 0x8b, 0x6d, 0x0b, 0x17, 0x7a, 0xdb, 0x78, 0x33, 0xb7, 0x81, 0x66, 0x62, 0x1b, 0x78, 0xb6, 0x47, - 0xfc, 0xfd, 0xc3, 0xfe, 0xc7, 0x12, 0x8c, 0xc6, 0x53, 0x00, 0x16, 0x58, 0xd8, 0x52, 0x52, 0x1b, - 0xe4, 0x6a, 0x78, 0x47, 0x11, 0x04, 0x96, 0x7a, 0xd8, 0x85, 0xa3, 0x74, 0x88, 0x04, 0x6c, 0x6c, - 0x5a, 0x08, 0xa7, 0x54, 0x32, 0x94, 0x76, 0xa9, 0xaa, 0x55, 0xbc, 0x97, 0xc5, 0xca, 0x92, 0x41, - 0xaf, 0xd9, 0x75, 0x6a, 0xab, 0x46, 0xab, 0x43, 0x0c, 0x9f, 0x61, 0x51, 0x5c, 0xf9, 0xa6, 0x04, - 0xc3, 0x42, 0xe1, 0x3e, 0xec, 0x4b, 0xaf, 0xc6, 0xf7, 0xa5, 0x27, 0x7b, 0x4c, 0xae, 0xd2, 0xf7, - 0xa1, 0x4f, 0x43, 0x53, 0x58, 0x3a, 0xc5, 0xb2, 0xbd, 0x4d, 0xd3, 0xa1, 0xc9, 0x6c, 0x8f, 0xad, - 0x34, 0xcc, 0x7b, 0xd0, 0xb7, 0x25, 0x38, 0xa9, 0x26, 0x12, 0x30, 0xe1, 0xe9, 0xe7, 0x7b, 0x53, - 0x2d, 0x80, 0x09, 0x9f, 0x5b, 0x93, 0x3d, 0xb8, 0x43, 0xa4, 0xec, 0x42, 0x07, 0x15, 0x52, 0x60, - 0x60, 0x93, 0x52, 0xab, 0xc7, 0x1d, 0x33, 0x2d, 0xb5, 0xac, 0x16, 0xb9, 0xf9, 0xab, 0xab, 0x35, - 0xcc, 0xa1, 0xe5, 0x8f, 0x73, 0x81, 0xc3, 0xea, 0xde, 0x12, 0x09, 0x92, 0x5f, 0xe9, 0x28, 0x92, - 0xdf, 0xe1, 0xb4, 0xc4, 0x17, 0xbd, 0x0c, 0x79, 0xaa, 0xf5, 0x7a, 0x43, 0x28, 0x24, 0xac, 0x2e, - 0xd7, 0xc3, 0x70, 0xb5, 0xba, 0x5c, 0xc7, 0x0c, 0x12, 0xbd, 0x09, 0x05, 0x76, 0xb4, 0x60, 0x2b, - 0x3c, 0xdf, 0x7b, 0x04, 0x61, 0xfe, 0x0a, 0x67, 0x18, 0xfb, 0x72, 0xb0, 0x87, 0x2b, 0xbf, 0x0b, - 0x23, 0xb1, 0x30, 0x80, 0x6e, 0xc0, 0x09, 0xcd, 0x54, 0x9a, 0x55, 0x45, 0x53, 0x8c, 0x06, 0xb1, - 0x93, 0x81, 0x31, 0xfd, 0x72, 0x69, 0x39, 0xc2, 0x21, 0xc2, 0x49, 0xf0, 0xe4, 0x1d, 0xed, 0xc3, - 0x31, 0x6c, 0x59, 0x01, 0x08, 0xad, 0x47, 0x65, 0x28, 0xb0, 0x29, 0xec, 0x1d, 0x13, 0x86, 0xaa, - 0x43, 0x4c, 0x57, 0x36, 0xb3, 0x1d, 0xec, 0xb5, 0xa3, 0x73, 0x00, 0x0e, 0x69, 0xd8, 0x84, 0xf2, - 0xa8, 0xe3, 0x5d, 0xc7, 0x07, 0xf1, 0xb7, 0x1e, 0xf4, 0xe0, 0x08, 0x95, 0xfc, 0x47, 0x09, 0x46, - 0xae, 0x12, 0xfa, 0xb6, 0x69, 0x6f, 0xd5, 0x4c, 0x4d, 0x6d, 0xb4, 0xfb, 0x10, 0xf5, 0xd7, 0x63, - 0x51, 0xff, 0x85, 0x2e, 0xc7, 0x2c, 0xa6, 0x6d, 0x56, 0xec, 0x97, 0xff, 0x26, 0x41, 0x29, 0x46, - 0x19, 0x0d, 0x13, 0x04, 0x0a, 0x96, 0x69, 0x53, 0xff, 0xc0, 0x75, 0x28, 0x0d, 0x58, 0x48, 0x8d, - 0x1c, 0xb9, 0x18, 0x2c, 0xf6, 0xd0, 0x99, 0x9d, 0x1b, 0xb6, 0xa9, 0x8b, 0x79, 0x7f, 0x38, 0x29, - 0x84, 0xd8, 0xa1, 0x9d, 0x8b, 0xb6, 0xa9, 0x63, 0x8e, 0x2d, 0xff, 0x41, 0x82, 0xf1, 0x18, 0x65, - 0x1f, 0x42, 0xba, 0x12, 0x0f, 0xe9, 0xcf, 0x1e, 0xc6, 0xb0, 0x8c, 0xc0, 0xfe, 0x55, 0xd2, 0x2c, - 0xe6, 0x00, 0xb4, 0x01, 0xc3, 0x96, 0xd9, 0xac, 0x1f, 0xc1, 0x6b, 0x32, 0x3f, 0x18, 0xd4, 0x42, - 0x2c, 0x1c, 0x05, 0x46, 0x3b, 0x30, 0x6e, 0x28, 0x3a, 0x71, 0x2c, 0xa5, 0x41, 0xea, 0x47, 0x70, - 0x49, 0x7d, 0xcf, 0xde, 0x6e, 0x79, 0xfc, 0x6a, 0x12, 0x11, 0x77, 0x0a, 0x91, 0x7f, 0xda, 0x61, - 0xb7, 0x69, 0x53, 0xf4, 0x12, 0x14, 0x79, 0xc9, 0x50, 0xc3, 0xd4, 0xc4, 0xd6, 0x76, 0x9e, 0x0d, - 0x4d, 0x4d, 0xb4, 0xdd, 0xde, 0x2d, 0xff, 0xd7, 0xbe, 0x6f, 0x6c, 0x3e, 0x21, 0x0e, 0x60, 0xd0, - 0x32, 0x0c, 0x58, 0xbd, 0x27, 0x19, 0x7c, 0x5b, 0xe1, 0x99, 0x05, 0x47, 0x91, 0xff, 0x91, 0x54, - 0x9b, 0x6f, 0x2e, 0x37, 0x8e, 0x6c, 0xb8, 0x82, 0xa4, 0x26, 0x73, 0xc8, 0x6c, 0x18, 0x14, 0x7b, - 0xac, 0x98, 0x95, 0x97, 0x0f, 0x33, 0x2b, 0xa3, 0xfb, 0x42, 0x70, 0x9f, 0xe3, 0x37, 0xfa, 0x82, - 0xe4, 0x3f, 0x4b, 0x30, 0xce, 0x15, 0x6a, 0xb8, 0xb6, 0x4a, 0xdb, 0x7d, 0x8b, 0x9f, 0x1b, 0xb1, - 0xf8, 0xb9, 0xd0, 0xa5, 0xa1, 0x1d, 0x1a, 0x67, 0xc6, 0xd0, 0xcf, 0x25, 0xb8, 0xa7, 0x83, 0xba, - 0x0f, 0xf1, 0x85, 0xc4, 0xe3, 0xcb, 0x0b, 0x87, 0x35, 0x30, 0x23, 0xc6, 0xdc, 0x84, 0x14, 0xf3, - 0xf8, 0xc4, 0x3d, 0x07, 0x60, 0xd9, 0xea, 0xb6, 0xaa, 0x91, 0x96, 0x28, 0xeb, 0x28, 0x86, 0x43, - 0x52, 0x0b, 0x7a, 0x70, 0x84, 0x0a, 0x7d, 0x13, 0xa6, 0x9a, 0x64, 0x43, 0x71, 0x35, 0x3a, 0xd7, - 0x6c, 0xce, 0x2b, 0x96, 0xb2, 0xae, 0x6a, 0x2a, 0x55, 0xc5, 0x65, 0xe7, 0x50, 0xf5, 0x92, 0x57, - 0x6e, 0x91, 0x46, 0x71, 0x7b, 0xb7, 0xfc, 0xc8, 0xfe, 0x6f, 0xe4, 0x3e, 0x71, 0x1b, 0x67, 0x08, - 0x41, 0xdf, 0x92, 0xa0, 0x64, 0x93, 0xb7, 0x5c, 0x76, 0xa6, 0x5d, 0xb0, 0x4d, 0x2b, 0xa6, 0x41, - 0x9e, 0x6b, 0x70, 0x79, 0x6f, 0xb7, 0x5c, 0xc2, 0x19, 0x34, 0xdd, 0xe8, 0x90, 0x29, 0x08, 0x51, - 0x98, 0x50, 0x34, 0xcd, 0x7c, 0x9b, 0xc4, 0x3d, 0x30, 0xc0, 0xe5, 0x57, 0xf7, 0x76, 0xcb, 0x13, - 0x73, 0x9d, 0xdd, 0xdd, 0x88, 0x4e, 0x83, 0x47, 0xb3, 0x30, 0xb8, 0x6d, 0x6a, 0xae, 0x4e, 0x9c, - 0x52, 0x81, 0x4b, 0x62, 0xf1, 0x76, 0xf0, 0xba, 0xd7, 0x74, 0x7b, 0xb7, 0x7c, 0x7c, 0xb1, 0xce, - 0x6f, 0xa1, 0x7d, 0x2a, 0x76, 0x3e, 0x63, 0x19, 0x93, 0x58, 0xf2, 0xfc, 0x09, 0xac, 0x18, 0xc6, - 0x98, 0x2b, 0x61, 0x17, 0x8e, 0xd2, 0x21, 0x1d, 0x86, 0x36, 0xc5, 0x99, 0xdd, 0x29, 0x0d, 0xf6, - 0xb4, 0xf7, 0xc5, 0xce, 0xfc, 0xd5, 0x71, 0x21, 0x72, 0xc8, 0x6f, 0x76, 0x70, 0x28, 0x01, 0x3d, - 0x0a, 0x83, 0xfc, 0x63, 0x69, 0x81, 0x3f, 0x9c, 0x15, 0xc3, 0x48, 0x74, 0xc5, 0x6b, 0xc6, 0x7e, - 0xbf, 0x4f, 0xba, 0x54, 0x9b, 0xe7, 0xef, 0x5c, 0x09, 0xd2, 0xa5, 0xda, 0x3c, 0xf6, 0xfb, 0x91, - 0x05, 0x83, 0x0e, 0x59, 0x56, 0x0d, 0x77, 0xa7, 0x04, 0x7c, 0xe5, 0x5e, 0xea, 0xf6, 0x66, 0xee, - 0x12, 0xe7, 0x4e, 0xbc, 0x0a, 0x84, 0x12, 0x45, 0x3f, 0xf6, 0xc5, 0xa0, 0x1d, 0x18, 0xb2, 0x5d, - 0x63, 0xce, 0x59, 0x73, 0x88, 0x5d, 0x1a, 0xe6, 0x32, 0xbb, 0x0d, 0xce, 0xd8, 0xe7, 0x4f, 0x4a, - 0x0d, 0x3c, 0x18, 0x50, 0xe0, 0x50, 0x18, 0xfa, 0x48, 0x02, 0xe4, 0xb8, 0x96, 0xa5, 0x11, 0x9d, - 0x18, 0x54, 0xd1, 0xf8, 0xc3, 0x84, 0x53, 0x3a, 0xc1, 0x75, 0xa8, 0x75, 0x7d, 0x23, 0x99, 0x04, - 0x4a, 0x2a, 0x13, 0xbc, 0xfa, 0x75, 0x92, 0xe2, 0x14, 0x3d, 0xd8, 0x50, 0x6c, 0x38, 0xfc, 0x77, - 0x69, 0xa4, 0xa7, 0xa1, 0x48, 0x7f, 0xa0, 0x09, 0x87, 0x42, 0xf4, 0x63, 0x5f, 0x0c, 0xba, 0x0e, + 0x9f, 0x64, 0x33, 0x43, 0xc9, 0xc8, 0xff, 0x74, 0x45, 0x8e, 0xa8, 0xb5, 0xf6, 0x5f, 0x76, 0x67, + 0x15, 0x31, 0x41, 0x91, 0x00, 0x45, 0xaf, 0x45, 0x7a, 0x29, 0x52, 0x20, 0x3d, 0xf6, 0xd0, 0x4b, + 0xda, 0x00, 0x2d, 0xd2, 0x1e, 0x7b, 0x28, 0x6a, 0xa0, 0x45, 0x91, 0x02, 0x2d, 0xd0, 0x43, 0xaa, + 0xd4, 0x2a, 0x1a, 0xf4, 0x5e, 0xe4, 0xe2, 0x5e, 0x8a, 0x99, 0x9d, 0xfd, 0xcb, 0x5d, 0x59, 0xa4, + 0x64, 0xa2, 0x40, 0x6f, 0xe2, 0xcc, 0x7b, 0xbf, 0xf7, 0x67, 0x66, 0xdf, 0x7b, 0x33, 0xf3, 0x04, + 0xcf, 0x6d, 0x3d, 0xe5, 0x54, 0x54, 0x73, 0x76, 0xcb, 0x5d, 0x27, 0xb6, 0x41, 0x28, 0x71, 0x66, + 0xad, 0xad, 0xd6, 0xac, 0x62, 0xa9, 0xce, 0x2c, 0xd9, 0xa1, 0xc4, 0x70, 0x54, 0xd3, 0x70, 0x66, + 0xb7, 0xcf, 0xae, 0x13, 0xaa, 0x9c, 0x9d, 0x6d, 0x11, 0x83, 0xd8, 0x0a, 0x25, 0xcd, 0x8a, 0x65, + 0x9b, 0xd4, 0x44, 0x8f, 0x7b, 0xec, 0x95, 0x90, 0xbd, 0x62, 0x6d, 0xb5, 0x2a, 0x8c, 0xbd, 0x12, + 0xb2, 0x57, 0x04, 0xfb, 0xf4, 0xe3, 0x2d, 0x95, 0x6e, 0xba, 0xeb, 0x95, 0x86, 0xa9, 0xcf, 0xb6, + 0xcc, 0x96, 0x39, 0xcb, 0x51, 0xd6, 0xdd, 0x0d, 0xfe, 0x8b, 0xff, 0xe0, 0x7f, 0x79, 0xe8, 0xd3, + 0xff, 0x2b, 0x94, 0x53, 0x2c, 0x55, 0x57, 0x1a, 0x9b, 0xaa, 0x41, 0xec, 0xb6, 0xaf, 0xde, 0xac, + 0x4d, 0x1c, 0xd3, 0xb5, 0x1b, 0x24, 0xa9, 0xd3, 0xbe, 0x5c, 0xce, 0xac, 0x4e, 0xa8, 0x32, 0xbb, + 0xdd, 0x61, 0xc9, 0xf4, 0x6c, 0x16, 0x97, 0xed, 0x1a, 0x54, 0xd5, 0x3b, 0xc5, 0x3c, 0x79, 0x27, + 0x06, 0xa7, 0xb1, 0x49, 0x74, 0xa5, 0x83, 0xef, 0xb1, 0x4c, 0x8f, 0xa7, 0xa9, 0x75, 0x36, 0x9d, + 0xda, 0xa5, 0xaa, 0x36, 0xab, 0x1a, 0xd4, 0xa1, 0x76, 0x92, 0x45, 0xae, 0x00, 0xcc, 0xd5, 0x96, + 0xae, 0x13, 0x9b, 0xf9, 0x1e, 0x9d, 0x86, 0x01, 0x43, 0xd1, 0x49, 0x49, 0x3a, 0x2d, 0x9d, 0x19, + 0xaa, 0x9e, 0xb8, 0xb9, 0x5b, 0x3e, 0xb6, 0xb7, 0x5b, 0x1e, 0xb8, 0xaa, 0xe8, 0x04, 0xf3, 0x19, + 0xf9, 0x75, 0x98, 0x9c, 0xaf, 0xad, 0xad, 0x2a, 0x76, 0x8b, 0xd0, 0x35, 0xaa, 0x6a, 0xea, 0xbb, + 0x0a, 0x65, 0x9c, 0x0b, 0x70, 0x92, 0xf2, 0xc1, 0x1a, 0xb1, 0x1b, 0xc4, 0xa0, 0x4a, 0xcb, 0x43, + 0x29, 0x54, 0x4b, 0x02, 0xe5, 0xe4, 0x6a, 0x62, 0x1e, 0x77, 0x70, 0xc8, 0xdf, 0x97, 0xe0, 0xde, + 0x79, 0xd7, 0xa1, 0xa6, 0xbe, 0x42, 0xa8, 0xad, 0x36, 0xe6, 0x5d, 0xdb, 0x26, 0x06, 0xad, 0x53, + 0x85, 0xba, 0xce, 0x9d, 0xb5, 0x43, 0xaf, 0x42, 0x61, 0x5b, 0xd1, 0x5c, 0x52, 0xca, 0x9d, 0x96, + 0xce, 0x0c, 0x9f, 0xab, 0x54, 0xc4, 0x8e, 0x8b, 0xba, 0xdd, 0xdf, 0x73, 0x15, 0x7f, 0x4f, 0x54, + 0x5e, 0x72, 0x15, 0x83, 0xaa, 0xb4, 0x5d, 0x9d, 0x14, 0x90, 0x27, 0x84, 0xdc, 0xeb, 0x0c, 0x0b, + 0x7b, 0x90, 0xf2, 0x77, 0x24, 0x78, 0x20, 0x53, 0xb7, 0x65, 0xd5, 0xa1, 0x48, 0x87, 0x82, 0x4a, + 0x89, 0xee, 0x94, 0xa4, 0xd3, 0xf9, 0x33, 0xc3, 0xe7, 0xae, 0x54, 0xba, 0xda, 0xef, 0x95, 0x4c, + 0xf0, 0xea, 0x88, 0xd0, 0xab, 0xb0, 0xc4, 0xe0, 0xb1, 0x27, 0x45, 0xfe, 0xae, 0x04, 0x28, 0xca, + 0xe3, 0xf9, 0xf7, 0x00, 0x5e, 0x7a, 0xe5, 0x70, 0x5e, 0x9a, 0x10, 0x90, 0xc3, 0x9e, 0xc0, 0x98, + 0x93, 0x3e, 0x90, 0x60, 0xaa, 0x53, 0x27, 0xee, 0x9d, 0x8d, 0xb8, 0x77, 0xe6, 0x0e, 0xe1, 0x1d, + 0x0f, 0x35, 0xc3, 0x2d, 0x3f, 0xcb, 0xc1, 0xd0, 0x82, 0x42, 0x74, 0xd3, 0xa8, 0x13, 0x8a, 0xbe, + 0x01, 0x45, 0xf6, 0x11, 0x37, 0x15, 0xaa, 0x70, 0x8f, 0x0c, 0x9f, 0xfb, 0x9f, 0xfd, 0xcc, 0x75, + 0x2a, 0x8c, 0xba, 0xb2, 0x7d, 0xb6, 0x72, 0x6d, 0xfd, 0x06, 0x69, 0xd0, 0x15, 0x42, 0x95, 0x2a, + 0x12, 0x72, 0x20, 0x1c, 0xc3, 0x01, 0x2a, 0x7a, 0x13, 0x06, 0x1c, 0x8b, 0x34, 0x84, 0x33, 0x9f, + 0xed, 0xd2, 0xac, 0x40, 0xd3, 0xba, 0x45, 0x1a, 0xe1, 0x6a, 0xb1, 0x5f, 0x98, 0xe3, 0xa2, 0x0d, + 0x38, 0xee, 0xf0, 0x6d, 0x50, 0xca, 0x73, 0x09, 0x17, 0x7b, 0x96, 0xe0, 0x6d, 0xa6, 0x51, 0x21, + 0xe3, 0xb8, 0xf7, 0x1b, 0x0b, 0x74, 0xf9, 0xb7, 0x12, 0x8c, 0x04, 0xb4, 0x7c, 0xc5, 0x5e, 0xef, + 0xf0, 0x5d, 0xe5, 0x60, 0xbe, 0x63, 0xdc, 0xdc, 0x73, 0x27, 0x85, 0xac, 0xa2, 0x3f, 0x12, 0xf1, + 0xdb, 0x1b, 0xfe, 0x7e, 0xc8, 0xf1, 0xfd, 0xf0, 0x54, 0xaf, 0x66, 0x65, 0x6c, 0x83, 0xdf, 0x44, + 0xcd, 0x61, 0xee, 0x44, 0x6f, 0x40, 0xd1, 0x21, 0x1a, 0x69, 0x50, 0xd3, 0x16, 0xe6, 0x3c, 0x71, + 0x40, 0x73, 0x94, 0x75, 0xa2, 0xd5, 0x05, 0x6b, 0xf5, 0x04, 0xb3, 0xc7, 0xff, 0x85, 0x03, 0x48, + 0xf4, 0x1a, 0x14, 0x29, 0xd1, 0x2d, 0x4d, 0xa1, 0xfe, 0x87, 0xf5, 0x78, 0xb6, 0x49, 0x0c, 0xb6, + 0x66, 0x36, 0x57, 0x05, 0x03, 0x5f, 0xfc, 0xc0, 0x59, 0xfe, 0x28, 0x0e, 0x00, 0xe5, 0x0f, 0xf3, + 0x30, 0x96, 0x58, 0x48, 0x74, 0x1d, 0xa6, 0x1a, 0x5e, 0x98, 0xb8, 0xea, 0xea, 0xeb, 0xc4, 0xae, + 0x37, 0x36, 0x49, 0xd3, 0xd5, 0x48, 0x53, 0x04, 0xde, 0x19, 0x81, 0x37, 0x35, 0x9f, 0x4a, 0x85, + 0x33, 0xb8, 0xd1, 0x8b, 0x80, 0x0c, 0x3e, 0xb4, 0xa2, 0x3a, 0x4e, 0x80, 0x99, 0xe3, 0x98, 0xd3, + 0x02, 0x13, 0x5d, 0xed, 0xa0, 0xc0, 0x29, 0x5c, 0x4c, 0xc7, 0x26, 0x71, 0x54, 0x9b, 0x34, 0x93, + 0x3a, 0xe6, 0xe3, 0x3a, 0x2e, 0xa4, 0x52, 0xe1, 0x0c, 0x6e, 0x74, 0x1e, 0x86, 0x3d, 0x69, 0x98, + 0x28, 0xcd, 0x76, 0x69, 0x80, 0x83, 0x05, 0x81, 0xe9, 0x6a, 0x38, 0x85, 0xa3, 0x74, 0xcc, 0x34, + 0x73, 0xdd, 0x21, 0xf6, 0x36, 0x69, 0x5e, 0xf6, 0x12, 0xa1, 0x6a, 0x1a, 0xa5, 0xc2, 0x69, 0xe9, + 0x4c, 0x3e, 0x34, 0xed, 0x5a, 0x07, 0x05, 0x4e, 0xe1, 0x92, 0x7f, 0x9e, 0x03, 0x58, 0x20, 0x96, + 0x66, 0xb6, 0x75, 0x62, 0xf4, 0x23, 0xd0, 0xbc, 0x15, 0x0b, 0x34, 0xcf, 0x75, 0xfb, 0xbd, 0x04, + 0xaa, 0x66, 0x46, 0x9a, 0x56, 0x22, 0xd2, 0x3c, 0xdf, 0xbb, 0x88, 0xfd, 0x43, 0xcd, 0xad, 0x3c, + 0x4c, 0x84, 0xc4, 0xf3, 0xa6, 0xd1, 0x54, 0x79, 0x11, 0xf1, 0x0c, 0x0c, 0xd0, 0xb6, 0xe5, 0xa7, + 0xae, 0x47, 0x7c, 0x15, 0x57, 0xdb, 0x16, 0xb9, 0xbd, 0x5b, 0x3e, 0x95, 0xc2, 0xc2, 0xa6, 0x30, + 0x67, 0x42, 0xd7, 0x03, 0xed, 0x73, 0x9c, 0xfd, 0x62, 0x5c, 0xf8, 0xed, 0xdd, 0xf2, 0xbe, 0xc5, + 0x54, 0x25, 0xc0, 0x8c, 0x2b, 0x8b, 0x1e, 0x86, 0xe3, 0x36, 0x51, 0x1c, 0xd3, 0xe0, 0xbb, 0x6c, + 0x28, 0x34, 0x0a, 0xf3, 0x51, 0x2c, 0x66, 0xd1, 0xa3, 0x30, 0xa8, 0x13, 0xc7, 0x61, 0x85, 0x4f, + 0x81, 0x13, 0x8e, 0x09, 0xc2, 0xc1, 0x15, 0x6f, 0x18, 0xfb, 0xf3, 0xe8, 0x06, 0x8c, 0x6a, 0x8a, + 0x43, 0xd7, 0xac, 0xa6, 0x42, 0xc9, 0xaa, 0xaa, 0x93, 0xd2, 0x71, 0xee, 0xf0, 0xff, 0x3e, 0xd8, + 0x8e, 0x61, 0x1c, 0xd5, 0x29, 0x81, 0x3e, 0xba, 0x1c, 0x43, 0xc2, 0x09, 0x64, 0xb4, 0x0d, 0x88, + 0x8d, 0xac, 0xda, 0x8a, 0xe1, 0x78, 0x2e, 0x63, 0xf2, 0x06, 0xbb, 0x96, 0x17, 0x7c, 0x1e, 0xcb, + 0x1d, 0x68, 0x38, 0x45, 0x82, 0xfc, 0x3b, 0x09, 0x46, 0xc3, 0x05, 0xeb, 0x43, 0x3e, 0x79, 0x33, + 0x9e, 0x4f, 0x9e, 0xee, 0x79, 0xf3, 0x66, 0x24, 0x94, 0x8f, 0xf2, 0x80, 0x42, 0x22, 0x6c, 0x6a, + 0xda, 0xba, 0xd2, 0xd8, 0x3a, 0x40, 0xb9, 0xf5, 0x43, 0x09, 0x90, 0xcb, 0x17, 0xa4, 0x39, 0x67, + 0x18, 0x26, 0xe5, 0xe1, 0xc3, 0x57, 0xf3, 0x95, 0x9e, 0xd5, 0xf4, 0x35, 0xa8, 0xac, 0x75, 0x60, + 0x5f, 0x32, 0xa8, 0xdd, 0x0e, 0x57, 0xac, 0x93, 0x00, 0xa7, 0x28, 0x84, 0xde, 0x06, 0xb0, 0x05, + 0xe6, 0xaa, 0x29, 0x42, 0x40, 0xb7, 0x51, 0xc6, 0x57, 0x6a, 0xde, 0x34, 0x36, 0xd4, 0x56, 0x18, + 0xd0, 0x70, 0x00, 0x8c, 0x23, 0x42, 0xa6, 0x2f, 0xc1, 0xa9, 0x0c, 0xed, 0xd1, 0x49, 0xc8, 0x6f, + 0x91, 0xb6, 0xe7, 0x56, 0xcc, 0xfe, 0x44, 0x93, 0xd1, 0xb2, 0x75, 0x48, 0x54, 0x9c, 0x17, 0x72, + 0x4f, 0x49, 0xf2, 0x57, 0x85, 0xe8, 0x5e, 0xe3, 0xc9, 0xfe, 0x0c, 0x14, 0x6d, 0x62, 0x69, 0x6a, + 0x43, 0x71, 0x44, 0x3a, 0xe4, 0x79, 0x1b, 0x8b, 0x31, 0x1c, 0xcc, 0xc6, 0xca, 0x82, 0xdc, 0xdd, + 0x2d, 0x0b, 0xf2, 0x47, 0x5c, 0x16, 0x20, 0x13, 0x8a, 0x0e, 0x65, 0xc7, 0xb9, 0x96, 0x97, 0x03, + 0xbb, 0x2f, 0xab, 0xa3, 0x31, 0xdb, 0x03, 0x0a, 0x05, 0xfa, 0x23, 0x38, 0x10, 0x82, 0xe6, 0x60, + 0x4c, 0x57, 0x0d, 0x9e, 0x4c, 0xeb, 0xa4, 0x61, 0x1a, 0x4d, 0x87, 0x07, 0xbb, 0x42, 0xf5, 0x94, + 0x60, 0x1a, 0x5b, 0x89, 0x4f, 0xe3, 0x24, 0x3d, 0x5a, 0x86, 0x49, 0x9b, 0x6c, 0xab, 0x4c, 0x8d, + 0x2b, 0xaa, 0x43, 0x4d, 0xbb, 0xbd, 0xac, 0xea, 0x2a, 0xe5, 0x21, 0xb0, 0x50, 0x2d, 0xed, 0xed, + 0x96, 0x27, 0x71, 0xca, 0x3c, 0x4e, 0xe5, 0x62, 0xd1, 0xd9, 0x52, 0x5c, 0x87, 0x34, 0x79, 0x48, + 0x2b, 0x86, 0xd1, 0xb9, 0xc6, 0x47, 0xb1, 0x98, 0x45, 0x7a, 0x6c, 0x73, 0x17, 0x8f, 0x62, 0x73, + 0x8f, 0x66, 0x6f, 0x6c, 0xb4, 0x06, 0xa7, 0x2c, 0xdb, 0x6c, 0xd9, 0xc4, 0x71, 0x16, 0x88, 0xd2, + 0xd4, 0x54, 0x83, 0xf8, 0xfe, 0x1a, 0xe2, 0x76, 0xde, 0xb7, 0xb7, 0x5b, 0x3e, 0x55, 0x4b, 0x27, + 0xc1, 0x59, 0xbc, 0xf2, 0xc7, 0x03, 0x70, 0x32, 0x99, 0x65, 0x33, 0x8a, 0x1a, 0xa9, 0x97, 0xa2, + 0x06, 0x3d, 0x16, 0xf9, 0x6c, 0xbc, 0x8a, 0x2f, 0xd8, 0x0d, 0x29, 0x9f, 0xce, 0x1c, 0x8c, 0x89, + 0x38, 0xe2, 0x4f, 0x8a, 0xb2, 0x2e, 0xd8, 0x0d, 0x6b, 0xf1, 0x69, 0x9c, 0xa4, 0x47, 0x97, 0x61, + 0x5c, 0xd9, 0x56, 0x54, 0x4d, 0x59, 0xd7, 0x48, 0x00, 0xe2, 0x95, 0x73, 0xf7, 0x0a, 0x90, 0xf1, + 0xb9, 0x24, 0x01, 0xee, 0xe4, 0x41, 0x2b, 0x30, 0xe1, 0x1a, 0x9d, 0x50, 0xde, 0xee, 0xbc, 0x4f, + 0x40, 0x4d, 0xac, 0x75, 0x92, 0xe0, 0x34, 0x3e, 0xb4, 0x0d, 0xd0, 0xf0, 0x0b, 0x02, 0xa7, 0x74, + 0x9c, 0xc7, 0xea, 0x6a, 0xcf, 0xdf, 0x56, 0x50, 0x5b, 0x84, 0x11, 0x31, 0x18, 0x72, 0x70, 0x44, + 0x12, 0x7a, 0x06, 0x46, 0x6c, 0x5e, 0xb7, 0xfa, 0x06, 0x0c, 0x72, 0x03, 0xee, 0x11, 0x6c, 0x23, + 0x38, 0x3a, 0x89, 0xe3, 0xb4, 0xf2, 0xef, 0xa5, 0x68, 0x8a, 0xf2, 0x3f, 0x5f, 0x74, 0x21, 0x56, + 0x56, 0x3d, 0x9c, 0x28, 0xab, 0xa6, 0x3a, 0x39, 0x22, 0x55, 0xd5, 0xfb, 0x30, 0xc2, 0xb6, 0xb5, + 0x6a, 0xb4, 0xbc, 0xa5, 0x14, 0x21, 0x72, 0xb1, 0x87, 0x4f, 0x27, 0xc0, 0x88, 0xa4, 0xda, 0x71, + 0x6e, 0x53, 0x74, 0x12, 0xc7, 0xe5, 0xc9, 0x9f, 0x4a, 0x30, 0xb5, 0x58, 0xbf, 0x6c, 0x9b, 0xae, + 0xe5, 0xab, 0x77, 0xcd, 0xf2, 0x7c, 0xf5, 0x7f, 0x30, 0x60, 0xbb, 0x9a, 0x6f, 0xd7, 0x43, 0xbe, + 0x5d, 0xd8, 0xd5, 0x98, 0x5d, 0x13, 0x09, 0x2e, 0xcf, 0x28, 0xc6, 0x80, 0xde, 0x84, 0xe3, 0xb6, + 0x62, 0xb4, 0x88, 0x9f, 0x84, 0x9f, 0xec, 0xd2, 0x9a, 0xa5, 0x05, 0xcc, 0xd8, 0x23, 0xa5, 0x20, + 0x47, 0xc3, 0x02, 0x55, 0xfe, 0x81, 0x04, 0x63, 0x57, 0x56, 0x57, 0x6b, 0x4b, 0x06, 0xff, 0x8a, + 0x6b, 0x0a, 0xdd, 0x64, 0x75, 0x82, 0xa5, 0xd0, 0xcd, 0x64, 0x9d, 0xc0, 0xe6, 0x30, 0x9f, 0x41, + 0x9b, 0x30, 0xc8, 0xa2, 0x07, 0x31, 0x9a, 0x3d, 0x96, 0xf8, 0x42, 0x5c, 0xd5, 0x03, 0x09, 0xeb, + 0x4f, 0x31, 0x80, 0x7d, 0x78, 0xf9, 0x3d, 0x98, 0x8c, 0xa8, 0xc7, 0xfc, 0xc5, 0x2f, 0x71, 0x50, + 0x03, 0x0a, 0x4c, 0x13, 0xff, 0x8a, 0xa6, 0xdb, 0x9b, 0x86, 0x84, 0xc9, 0x61, 0x1d, 0xc5, 0x7e, + 0x39, 0xd8, 0xc3, 0x96, 0xbf, 0xcc, 0xc1, 0xa9, 0x2b, 0xa6, 0xad, 0xbe, 0x6b, 0x1a, 0x54, 0xd1, + 0x6a, 0x66, 0x73, 0xce, 0xa5, 0xa6, 0xd3, 0x50, 0x34, 0x62, 0xf7, 0xe1, 0x10, 0xa5, 0xc5, 0x0e, + 0x51, 0x2f, 0x76, 0x6b, 0x61, 0xba, 0xde, 0x99, 0x27, 0x2a, 0x9a, 0x38, 0x51, 0x2d, 0x1f, 0x91, + 0xbc, 0xfd, 0x8f, 0x57, 0x7f, 0x97, 0xe0, 0xbe, 0x0c, 0xce, 0x3e, 0xd4, 0xe1, 0x5b, 0xf1, 0x3a, + 0x7c, 0xf1, 0x68, 0x4c, 0xce, 0x28, 0xca, 0xff, 0x99, 0xcb, 0x34, 0x95, 0x97, 0x81, 0x6f, 0x43, + 0x91, 0xff, 0xc2, 0x64, 0x43, 0x98, 0x3a, 0xdf, 0xa5, 0x3e, 0x75, 0x77, 0xdd, 0xbf, 0x02, 0xc5, + 0x64, 0x83, 0xd8, 0xc4, 0x68, 0x90, 0x48, 0x89, 0x24, 0xc0, 0x71, 0x20, 0x06, 0x9d, 0x85, 0x61, + 0x5e, 0xf2, 0xc4, 0xb2, 0xe8, 0xd8, 0xde, 0x6e, 0x79, 0x78, 0x25, 0x1c, 0xc6, 0x51, 0x1a, 0x74, + 0x1e, 0x86, 0x75, 0x65, 0x27, 0x91, 0x43, 0x83, 0xdb, 0x8c, 0x95, 0x70, 0x0a, 0x47, 0xe9, 0xd0, + 0xfb, 0x30, 0xda, 0xb0, 0xdc, 0xc8, 0x2d, 0xbc, 0xa8, 0x01, 0xbb, 0x35, 0x31, 0xed, 0x42, 0xbf, + 0x8a, 0xd8, 0xd9, 0x72, 0xbe, 0xb6, 0x16, 0x19, 0xc3, 0x09, 0x71, 0xf2, 0x2f, 0xf3, 0xf0, 0xc0, + 0xbe, 0x5b, 0x14, 0x2d, 0xee, 0x53, 0x9b, 0x4c, 0x75, 0x51, 0x97, 0x34, 0x60, 0x84, 0x9d, 0x31, + 0xb9, 0xbb, 0xf9, 0x01, 0x36, 0xd7, 0xf5, 0x01, 0x96, 0xa7, 0x9a, 0xe5, 0x28, 0x08, 0x8e, 0x63, + 0xb2, 0x72, 0x46, 0x5c, 0x89, 0x65, 0x95, 0x33, 0xf3, 0xf1, 0x69, 0x9c, 0xa4, 0x67, 0x10, 0xe2, + 0xc6, 0x2a, 0x51, 0xcc, 0x04, 0x10, 0x0b, 0xf1, 0x69, 0x9c, 0xa4, 0x47, 0x3a, 0x94, 0x05, 0x6a, + 0xdc, 0xfb, 0x91, 0x87, 0x15, 0xaf, 0xa8, 0x79, 0x68, 0x6f, 0xb7, 0x5c, 0x9e, 0xdf, 0x9f, 0x14, + 0xdf, 0x09, 0x4b, 0x5e, 0x81, 0x91, 0x2b, 0xa6, 0x43, 0x6b, 0xa6, 0x4d, 0x79, 0x16, 0x43, 0x0f, + 0x40, 0x5e, 0x57, 0x0d, 0x71, 0x68, 0x1a, 0x16, 0x6a, 0xe7, 0xd9, 0xde, 0x65, 0xe3, 0x7c, 0x5a, + 0xd9, 0x11, 0xdb, 0x3a, 0x9c, 0x56, 0x76, 0x30, 0x1b, 0x97, 0x2f, 0xc3, 0xa0, 0xc8, 0x8e, 0x51, + 0xa0, 0xfc, 0xfe, 0x40, 0xf9, 0x14, 0xa0, 0x1f, 0xe7, 0x60, 0x50, 0x24, 0x93, 0x3e, 0xa4, 0x85, + 0xd7, 0x63, 0x69, 0xe1, 0x42, 0x6f, 0x89, 0x37, 0x33, 0x0d, 0x34, 0x13, 0x69, 0xe0, 0xd9, 0x1e, + 0xf1, 0xf7, 0x0f, 0xfb, 0x9f, 0x48, 0x30, 0x1a, 0x2f, 0x01, 0x58, 0x60, 0x61, 0x9f, 0x92, 0xda, + 0x20, 0x57, 0xc3, 0x3b, 0x8a, 0x20, 0xb0, 0xd4, 0xc3, 0x29, 0x1c, 0xa5, 0x43, 0x24, 0x60, 0x63, + 0xdb, 0x22, 0xf9, 0x4c, 0x94, 0x50, 0xda, 0xa5, 0xaa, 0x56, 0xf1, 0x5e, 0x17, 0x2b, 0x4b, 0x06, + 0xbd, 0x66, 0xd7, 0xa9, 0xad, 0x1a, 0xad, 0x0e, 0x31, 0x7c, 0x87, 0x45, 0x71, 0xe5, 0x9b, 0x12, + 0x0c, 0x0b, 0x85, 0xfb, 0x90, 0x97, 0x5e, 0x8b, 0xe7, 0xa5, 0x27, 0x7b, 0x2c, 0xae, 0xd2, 0xf3, + 0xd0, 0x67, 0xa1, 0x29, 0xac, 0x9c, 0x62, 0xd5, 0xde, 0xa6, 0xe9, 0xd0, 0x64, 0xb5, 0xc7, 0xbe, + 0x34, 0xcc, 0x67, 0xd0, 0xb7, 0x25, 0x38, 0xa9, 0x26, 0x0a, 0x30, 0xe1, 0xe9, 0xe7, 0x7b, 0x53, + 0x2d, 0x80, 0x09, 0x9f, 0x5c, 0x93, 0x33, 0xb8, 0x43, 0xa4, 0xec, 0x42, 0x07, 0x15, 0x52, 0x60, + 0x60, 0x93, 0x52, 0xab, 0xc7, 0x8c, 0x99, 0x56, 0x5a, 0x56, 0x8b, 0xdc, 0xfc, 0xd5, 0xd5, 0x1a, + 0xe6, 0xd0, 0xf2, 0x27, 0xb9, 0xc0, 0x61, 0x75, 0xef, 0x13, 0x09, 0x8a, 0x5f, 0xe9, 0x28, 0x8a, + 0xdf, 0xe1, 0xb4, 0xc2, 0x17, 0xbd, 0x0c, 0x79, 0xaa, 0xf5, 0x7a, 0x43, 0x28, 0x24, 0xac, 0x2e, + 0xd7, 0xc3, 0x70, 0xb5, 0xba, 0x5c, 0xc7, 0x0c, 0x12, 0xbd, 0x05, 0x05, 0x76, 0xb4, 0x60, 0x5f, + 0x78, 0xbe, 0xf7, 0x08, 0xc2, 0xfc, 0x15, 0xee, 0x30, 0xf6, 0xcb, 0xc1, 0x1e, 0xae, 0xfc, 0x1e, + 0x8c, 0xc4, 0xc2, 0x00, 0xba, 0x01, 0x27, 0x34, 0x53, 0x69, 0x56, 0x15, 0x4d, 0x31, 0x1a, 0xc4, + 0x4e, 0x06, 0xc6, 0xf4, 0xcb, 0xa5, 0xe5, 0x08, 0x87, 0x08, 0x27, 0xc1, 0xa3, 0x77, 0x74, 0x0e, + 0xc7, 0xb0, 0x65, 0x05, 0x20, 0xb4, 0x1e, 0x95, 0xa1, 0xc0, 0xb6, 0xb0, 0x77, 0x4c, 0x18, 0xaa, + 0x0e, 0x31, 0x5d, 0xd9, 0xce, 0x76, 0xb0, 0x37, 0x8e, 0xce, 0x01, 0x38, 0xa4, 0x61, 0x13, 0xca, + 0xa3, 0x8e, 0x77, 0x1d, 0x1f, 0xc4, 0xdf, 0x7a, 0x30, 0x83, 0x23, 0x54, 0xf2, 0x1f, 0x25, 0x18, + 0xb9, 0x4a, 0xe8, 0x3b, 0xa6, 0xbd, 0x55, 0x33, 0x35, 0xb5, 0xd1, 0xee, 0x43, 0xd4, 0x5f, 0x8f, + 0x45, 0xfd, 0x17, 0xba, 0x5c, 0xb3, 0x98, 0xb6, 0x59, 0xb1, 0x5f, 0xfe, 0x9b, 0x04, 0xa5, 0x18, + 0x65, 0x34, 0x4c, 0x10, 0x28, 0x58, 0xa6, 0x4d, 0xfd, 0x03, 0xd7, 0xa1, 0x34, 0x60, 0x21, 0x35, + 0x72, 0xe4, 0x62, 0xb0, 0xd8, 0x43, 0x67, 0x76, 0x6e, 0xd8, 0xa6, 0x2e, 0xf6, 0xfd, 0xe1, 0xa4, + 0x10, 0x62, 0x87, 0x76, 0x2e, 0xda, 0xa6, 0x8e, 0x39, 0xb6, 0xfc, 0x07, 0x09, 0xc6, 0x63, 0x94, + 0x7d, 0x08, 0xe9, 0x4a, 0x3c, 0xa4, 0x3f, 0x7b, 0x18, 0xc3, 0x32, 0x02, 0xfb, 0xd7, 0x49, 0xb3, + 0x98, 0x03, 0xd0, 0x06, 0x0c, 0x5b, 0x66, 0xb3, 0x7e, 0x04, 0xaf, 0xc9, 0xfc, 0x60, 0x50, 0x0b, + 0xb1, 0x70, 0x14, 0x18, 0xed, 0xc0, 0xb8, 0xa1, 0xe8, 0xc4, 0xb1, 0x94, 0x06, 0xa9, 0x1f, 0xc1, + 0x25, 0xf5, 0x3d, 0x7b, 0xbb, 0xe5, 0xf1, 0xab, 0x49, 0x44, 0xdc, 0x29, 0x44, 0xfe, 0x69, 0x87, + 0xdd, 0xa6, 0x4d, 0xd1, 0x4b, 0x50, 0xe4, 0x6d, 0x43, 0x0d, 0x53, 0x13, 0xa9, 0xed, 0x3c, 0x5b, + 0x9a, 0x9a, 0x18, 0xbb, 0xbd, 0x5b, 0xfe, 0xaf, 0x7d, 0xdf, 0xd8, 0x7c, 0x42, 0x1c, 0xc0, 0xa0, + 0x65, 0x18, 0xb0, 0x7a, 0x2f, 0x32, 0x78, 0x5a, 0xe1, 0x95, 0x05, 0x47, 0x91, 0xff, 0x91, 0x54, + 0x9b, 0x27, 0x97, 0x1b, 0x47, 0xb6, 0x5c, 0x41, 0x51, 0x93, 0xb9, 0x64, 0x36, 0x0c, 0x8a, 0x1c, + 0x2b, 0x76, 0xe5, 0xe5, 0xc3, 0xec, 0xca, 0x68, 0x5e, 0x08, 0xee, 0x73, 0xfc, 0x41, 0x5f, 0x90, + 0xfc, 0x67, 0x09, 0xc6, 0xb9, 0x42, 0x0d, 0xd7, 0x56, 0x69, 0xbb, 0x6f, 0xf1, 0x73, 0x23, 0x16, + 0x3f, 0x17, 0xba, 0x34, 0xb4, 0x43, 0xe3, 0xcc, 0x18, 0xfa, 0x85, 0x04, 0xf7, 0x74, 0x50, 0xf7, + 0x21, 0xbe, 0x90, 0x78, 0x7c, 0x79, 0xe1, 0xb0, 0x06, 0x66, 0xc4, 0x98, 0x9b, 0x90, 0x62, 0x1e, + 0xdf, 0xb8, 0xe7, 0x00, 0x2c, 0x5b, 0xdd, 0x56, 0x35, 0xd2, 0x12, 0x6d, 0x1d, 0xc5, 0x70, 0x49, + 0x6a, 0xc1, 0x0c, 0x8e, 0x50, 0xa1, 0x6f, 0xc2, 0x54, 0x93, 0x6c, 0x28, 0xae, 0x46, 0xe7, 0x9a, + 0xcd, 0x79, 0xc5, 0x52, 0xd6, 0x55, 0x4d, 0xa5, 0xaa, 0xb8, 0xec, 0x1c, 0xaa, 0x5e, 0xf2, 0xda, + 0x2d, 0xd2, 0x28, 0x6e, 0xef, 0x96, 0x1f, 0xd9, 0xff, 0x8d, 0xdc, 0x27, 0x6e, 0xe3, 0x0c, 0x21, + 0xe8, 0x5b, 0x12, 0x94, 0x6c, 0xf2, 0xb6, 0xcb, 0xce, 0xb4, 0x0b, 0xb6, 0x69, 0xc5, 0x34, 0xc8, + 0x73, 0x0d, 0x2e, 0xef, 0xed, 0x96, 0x4b, 0x38, 0x83, 0xa6, 0x1b, 0x1d, 0x32, 0x05, 0x21, 0x0a, + 0x13, 0x8a, 0xa6, 0x99, 0xef, 0x90, 0xb8, 0x07, 0x06, 0xb8, 0xfc, 0xea, 0xde, 0x6e, 0x79, 0x62, + 0xae, 0x73, 0xba, 0x1b, 0xd1, 0x69, 0xf0, 0x68, 0x16, 0x06, 0xb7, 0x4d, 0xcd, 0xd5, 0x89, 0x53, + 0x2a, 0x70, 0x49, 0x2c, 0xde, 0x0e, 0x5e, 0xf7, 0x86, 0x6e, 0xef, 0x96, 0x8f, 0x2f, 0xd6, 0xf9, + 0x2d, 0xb4, 0x4f, 0xc5, 0xce, 0x67, 0xac, 0x62, 0x12, 0x9f, 0x3c, 0x7f, 0x02, 0x2b, 0x86, 0x31, + 0xe6, 0x4a, 0x38, 0x85, 0xa3, 0x74, 0x48, 0x87, 0xa1, 0x4d, 0x71, 0x66, 0x77, 0x4a, 0x83, 0x3d, + 0xe5, 0xbe, 0xd8, 0x99, 0xbf, 0x3a, 0x2e, 0x44, 0x0e, 0xf9, 0xc3, 0x0e, 0x0e, 0x25, 0xa0, 0x47, + 0x61, 0x90, 0xff, 0x58, 0x5a, 0xe0, 0x0f, 0x67, 0xc5, 0x30, 0x12, 0x5d, 0xf1, 0x86, 0xb1, 0x3f, + 0xef, 0x93, 0x2e, 0xd5, 0xe6, 0xf9, 0x3b, 0x57, 0x82, 0x74, 0xa9, 0x36, 0x8f, 0xfd, 0x79, 0x64, + 0xc1, 0xa0, 0x43, 0x96, 0x55, 0xc3, 0xdd, 0x29, 0x01, 0xff, 0x72, 0x2f, 0x75, 0x7b, 0x33, 0x77, + 0x89, 0x73, 0x27, 0x5e, 0x05, 0x42, 0x89, 0x62, 0x1e, 0xfb, 0x62, 0xd0, 0x0e, 0x0c, 0xd9, 0xae, + 0x31, 0xe7, 0xac, 0x39, 0xc4, 0x2e, 0x0d, 0x73, 0x99, 0xdd, 0x06, 0x67, 0xec, 0xf3, 0x27, 0xa5, + 0x06, 0x1e, 0x0c, 0x28, 0x70, 0x28, 0x0c, 0x7d, 0x2c, 0x01, 0x72, 0x5c, 0xcb, 0xd2, 0x88, 0x4e, + 0x0c, 0xaa, 0x68, 0xfc, 0x61, 0xc2, 0x29, 0x9d, 0xe0, 0x3a, 0xd4, 0xba, 0xbe, 0x91, 0x4c, 0x02, + 0x25, 0x95, 0x09, 0x5e, 0xfd, 0x3a, 0x49, 0x71, 0x8a, 0x1e, 0x6c, 0x29, 0x36, 0x1c, 0xfe, 0x77, + 0x69, 0xa4, 0xa7, 0xa5, 0x48, 0x7f, 0xa0, 0x09, 0x97, 0x42, 0xcc, 0x63, 0x5f, 0x0c, 0xba, 0x0e, 0x53, 0x36, 0x51, 0x9a, 0xd7, 0x0c, 0xad, 0x8d, 0x4d, 0x93, 0x2e, 0xaa, 0x1a, 0x71, 0xda, 0x0e, - 0x25, 0x7a, 0x69, 0x94, 0x4f, 0x9b, 0xa0, 0x2e, 0x0c, 0xa7, 0x52, 0xe1, 0x0c, 0x6e, 0x5e, 0x94, - 0x25, 0x6e, 0xd2, 0xfa, 0x53, 0xfd, 0x79, 0xb8, 0xa2, 0xac, 0x50, 0xd5, 0xbb, 0x56, 0x94, 0x15, - 0x11, 0xb1, 0xff, 0xf5, 0xd1, 0x57, 0x39, 0x98, 0x08, 0x89, 0x0f, 0x5c, 0x94, 0x95, 0xc2, 0xd2, - 0x87, 0xa2, 0xac, 0xf4, 0xaa, 0xa6, 0xfc, 0xdd, 0xae, 0x6a, 0xba, 0x0b, 0xc5, 0x60, 0xbc, 0x50, - 0x2a, 0x74, 0xe2, 0xbf, 0x7f, 0xa1, 0x54, 0xa8, 0x6b, 0x46, 0x3a, 0xf3, 0x8b, 0x5c, 0xd4, 0xa0, - 0xff, 0xa0, 0x6a, 0x9c, 0x94, 0xe2, 0x98, 0x81, 0xee, 0x8a, 0x63, 0xe4, 0xcf, 0xf3, 0x70, 0x32, - 0xb9, 0x62, 0x63, 0x45, 0x19, 0xd2, 0x1d, 0x8b, 0x32, 0x6a, 0x30, 0xb9, 0xe1, 0x6a, 0x5a, 0x9b, - 0x3b, 0x24, 0xf2, 0x0e, 0xe1, 0xdd, 0xd8, 0xdf, 0x2f, 0x38, 0x27, 0x17, 0x53, 0x68, 0x70, 0x2a, - 0x67, 0x46, 0x81, 0x49, 0xbe, 0xa7, 0x02, 0x93, 0x8e, 0xfa, 0x86, 0x81, 0x83, 0xd7, 0x37, 0xa4, - 0x17, 0x8b, 0x14, 0x7a, 0x28, 0x16, 0x39, 0x8a, 0xea, 0x8e, 0x94, 0xc0, 0x77, 0xa7, 0xea, 0x0e, - 0xf9, 0x7e, 0x98, 0x16, 0x6c, 0xec, 0x7b, 0xde, 0x34, 0xa8, 0x6d, 0x6a, 0x1a, 0xb1, 0x17, 0x5c, - 0x5d, 0x6f, 0xcb, 0x17, 0x61, 0x34, 0x5e, 0x62, 0xe4, 0x8d, 0xbc, 0x57, 0xf5, 0x24, 0xde, 0x51, - 0x22, 0x23, 0xef, 0xb5, 0xe3, 0x80, 0x42, 0xfe, 0x42, 0x82, 0x53, 0x19, 0x85, 0x16, 0xe8, 0x06, - 0x8c, 0xea, 0xca, 0x4e, 0xa4, 0xfc, 0x25, 0x19, 0x58, 0x0e, 0x78, 0xe0, 0xe6, 0xcf, 0x82, 0x2b, - 0x31, 0x24, 0x9c, 0x40, 0x46, 0x2f, 0x43, 0x51, 0x57, 0x76, 0xea, 0xae, 0xdd, 0x22, 0x3d, 0x1e, - 0xeb, 0xf9, 0xf2, 0x5d, 0x11, 0x18, 0x38, 0x40, 0x93, 0x3f, 0x91, 0xa0, 0x94, 0x95, 0x82, 0xa1, - 0xf3, 0xb1, 0x72, 0x90, 0x07, 0x13, 0xe5, 0x20, 0xe3, 0x1d, 0x7c, 0x7d, 0x2a, 0x06, 0xf9, 0x54, - 0x82, 0xa9, 0xf4, 0x54, 0x15, 0x3d, 0x11, 0xd3, 0xb8, 0x9c, 0xd0, 0x78, 0x2c, 0xc1, 0x25, 0xf4, - 0xdd, 0x84, 0x51, 0x91, 0xd0, 0x0a, 0x98, 0x03, 0xfc, 0x89, 0x67, 0x3b, 0xc8, 0x96, 0xfd, 0xd4, - 0x8c, 0x8f, 0x63, 0xbc, 0x0d, 0x27, 0x70, 0xe5, 0x1f, 0xe5, 0xa0, 0xc0, 0x5f, 0x47, 0xfb, 0x90, - 0x47, 0xbd, 0x12, 0xcb, 0xa3, 0xba, 0xfd, 0x33, 0x08, 0xd7, 0x32, 0x33, 0x85, 0x5a, 0x4f, 0xa4, - 0x50, 0x17, 0x7a, 0x42, 0xdf, 0x3f, 0x7b, 0x7a, 0x1a, 0x86, 0x02, 0x25, 0xba, 0x0b, 0xd8, 0xf2, - 0x4f, 0x72, 0x30, 0x1c, 0x11, 0xd1, 0x65, 0xb8, 0xdf, 0x8e, 0x6d, 0x98, 0xbd, 0xfc, 0xeb, 0x2c, - 0x22, 0xbb, 0xe2, 0x6f, 0x99, 0x5e, 0x05, 0x71, 0x58, 0xe6, 0xd0, 0xb9, 0x93, 0x5e, 0x84, 0x51, - 0xef, 0xaf, 0x7b, 0xc1, 0xb5, 0x5a, 0x9e, 0xcf, 0xe2, 0xa0, 0x2e, 0x7d, 0x35, 0xd6, 0x8b, 0x13, - 0xd4, 0xd3, 0xcf, 0xc0, 0x48, 0x4c, 0x58, 0x57, 0x05, 0xbf, 0xbf, 0x92, 0x60, 0x32, 0xad, 0x30, - 0x03, 0x9d, 0x86, 0x81, 0x2d, 0x55, 0xbc, 0x21, 0x45, 0xde, 0xdd, 0xfe, 0x5f, 0x35, 0x9a, 0x98, - 0xf7, 0x04, 0xf5, 0xda, 0xb9, 0xcc, 0x7a, 0xed, 0x73, 0x00, 0x8a, 0xa5, 0x8a, 0xbf, 0x43, 0x0a, - 0xab, 0x82, 0xc9, 0x1b, 0xfe, 0x51, 0x12, 0x47, 0xa8, 0xf8, 0x43, 0x6b, 0xa8, 0x8f, 0x48, 0x0e, - 0xc3, 0x17, 0xd0, 0x88, 0xaa, 0x51, 0x3a, 0xf9, 0xd7, 0x12, 0x3c, 0x78, 0xc7, 0xe3, 0x1c, 0xaa, - 0xc6, 0xc2, 0x44, 0x25, 0x11, 0x26, 0x66, 0xb2, 0x01, 0xfa, 0x58, 0xf2, 0xf6, 0xbd, 0x1c, 0xa0, - 0xd5, 0x4d, 0xd5, 0x6e, 0xd6, 0x14, 0x9b, 0xb6, 0xb1, 0x30, 0xb0, 0x0f, 0x81, 0xe3, 0x3c, 0x0c, - 0x37, 0x89, 0xd3, 0xb0, 0x55, 0xee, 0x2c, 0x31, 0xac, 0x81, 0xe7, 0x17, 0xc2, 0x2e, 0x1c, 0xa5, - 0x43, 0x2d, 0x28, 0x6e, 0x7b, 0x63, 0xe7, 0x3f, 0xd9, 0x75, 0x9b, 0x07, 0x87, 0x33, 0x21, 0x5c, - 0x27, 0xa2, 0xc1, 0xc1, 0x01, 0xb8, 0xfc, 0xa1, 0x04, 0x53, 0x9d, 0x8e, 0x59, 0x60, 0xaa, 0xdf, - 0x7d, 0xe7, 0xdc, 0x0f, 0x03, 0x1c, 0x9d, 0x79, 0xe5, 0x84, 0x77, 0x59, 0xce, 0x24, 0x63, 0xde, - 0x2a, 0x7f, 0x29, 0xc1, 0x74, 0xba, 0x6a, 0x7d, 0x38, 0x85, 0xdc, 0x88, 0x9f, 0x42, 0xba, 0xbd, - 0x71, 0x48, 0xd7, 0x3b, 0xe3, 0x44, 0xb2, 0x9b, 0x3a, 0x06, 0x7d, 0x30, 0x72, 0x23, 0x6e, 0xe4, - 0xdc, 0xa1, 0x8d, 0x4c, 0x37, 0xb0, 0xfa, 0xe8, 0xcd, 0x5b, 0x33, 0xc7, 0x3e, 0xbb, 0x35, 0x73, - 0xec, 0x4f, 0xb7, 0x66, 0x8e, 0xbd, 0xbf, 0x37, 0x23, 0xdd, 0xdc, 0x9b, 0x91, 0x3e, 0xdb, 0x9b, - 0x91, 0xfe, 0xb2, 0x37, 0x23, 0x7d, 0xf0, 0xd7, 0x99, 0x63, 0xaf, 0x0c, 0x0a, 0xcc, 0x7f, 0x05, - 0x00, 0x00, 0xff, 0xff, 0x15, 0x10, 0x78, 0x1f, 0xbe, 0x3f, 0x00, 0x00, + 0x25, 0x7a, 0x69, 0x94, 0x6f, 0x9b, 0xa0, 0x2f, 0x0c, 0xa7, 0x52, 0xe1, 0x0c, 0x6e, 0xde, 0x94, + 0x25, 0x6e, 0xd2, 0xfa, 0xd3, 0xfd, 0x79, 0xb8, 0xa6, 0xac, 0x50, 0xd5, 0xbb, 0xd6, 0x94, 0x15, + 0x11, 0xb1, 0xff, 0xf5, 0xd1, 0xd7, 0x39, 0x98, 0x08, 0x89, 0x0f, 0xdc, 0x94, 0x95, 0xc2, 0xd2, + 0x87, 0xa6, 0xac, 0xf4, 0xae, 0xa6, 0xfc, 0xdd, 0xee, 0x6a, 0xba, 0x0b, 0xcd, 0x60, 0xbc, 0x51, + 0x2a, 0x74, 0xe2, 0xbf, 0x7f, 0xa3, 0x54, 0xa8, 0x6b, 0x46, 0x39, 0xf3, 0x8b, 0x5c, 0xd4, 0xa0, + 0xff, 0xa0, 0x6e, 0x9c, 0x94, 0xe6, 0x98, 0x81, 0xee, 0x9a, 0x63, 0xe4, 0x2f, 0xf2, 0x70, 0x32, + 0xf9, 0xc5, 0xc6, 0x9a, 0x32, 0xa4, 0x3b, 0x36, 0x65, 0xd4, 0x60, 0x72, 0xc3, 0xd5, 0xb4, 0x36, + 0x77, 0x48, 0xe4, 0x1d, 0xc2, 0xbb, 0xb1, 0xbf, 0x5f, 0x70, 0x4e, 0x2e, 0xa6, 0xd0, 0xe0, 0x54, + 0xce, 0x8c, 0x06, 0x93, 0x7c, 0x4f, 0x0d, 0x26, 0x1d, 0xfd, 0x0d, 0x03, 0x07, 0xef, 0x6f, 0x48, + 0x6f, 0x16, 0x29, 0xf4, 0xd0, 0x2c, 0x72, 0x14, 0xdd, 0x1d, 0x29, 0x81, 0xef, 0x4e, 0xdd, 0x1d, + 0xf2, 0xfd, 0x30, 0x2d, 0xd8, 0xd8, 0xef, 0x79, 0xd3, 0xa0, 0xb6, 0xa9, 0x69, 0xc4, 0x5e, 0x70, + 0x75, 0xbd, 0x2d, 0x5f, 0x84, 0xd1, 0x78, 0x8b, 0x91, 0xb7, 0xf2, 0x5e, 0xd7, 0x93, 0x78, 0x47, + 0x89, 0xac, 0xbc, 0x37, 0x8e, 0x03, 0x0a, 0xf9, 0x4b, 0x09, 0x4e, 0x65, 0x34, 0x5a, 0xa0, 0x1b, + 0x30, 0xaa, 0x2b, 0x3b, 0x91, 0xf6, 0x97, 0x64, 0x60, 0x39, 0xe0, 0x81, 0x9b, 0x3f, 0x0b, 0xae, + 0xc4, 0x90, 0x70, 0x02, 0x19, 0xbd, 0x0c, 0x45, 0x5d, 0xd9, 0xa9, 0xbb, 0x76, 0x8b, 0xf4, 0x78, + 0xac, 0xe7, 0x9f, 0xef, 0x8a, 0xc0, 0xc0, 0x01, 0x9a, 0xfc, 0xa9, 0x04, 0xa5, 0xac, 0x12, 0x0c, + 0x9d, 0x8f, 0xb5, 0x83, 0x3c, 0x98, 0x68, 0x07, 0x19, 0xef, 0xe0, 0xeb, 0x53, 0x33, 0xc8, 0x67, + 0x12, 0x4c, 0xa5, 0x97, 0xaa, 0xe8, 0x89, 0x98, 0xc6, 0xe5, 0x84, 0xc6, 0x63, 0x09, 0x2e, 0xa1, + 0xef, 0x26, 0x8c, 0x8a, 0x82, 0x56, 0xc0, 0x08, 0x1f, 0x3f, 0xb6, 0x7f, 0x20, 0x13, 0x60, 0x7e, + 0x69, 0xc6, 0xd7, 0x31, 0x3e, 0x86, 0x13, 0xb8, 0xf2, 0x8f, 0x72, 0x50, 0xe0, 0xaf, 0xa3, 0x7d, + 0xa8, 0xa3, 0x5e, 0x8d, 0xd5, 0x51, 0xdd, 0xfe, 0x33, 0x08, 0xd7, 0x32, 0xb3, 0x84, 0x5a, 0x4f, + 0x94, 0x50, 0x17, 0x7a, 0x42, 0xdf, 0xbf, 0x7a, 0x7a, 0x1a, 0x86, 0x02, 0x25, 0xba, 0x0b, 0xd8, + 0xf2, 0x4f, 0x72, 0x30, 0x1c, 0x11, 0xd1, 0x65, 0xb8, 0xdf, 0x8e, 0x25, 0xcc, 0x5e, 0xfe, 0xef, + 0x2c, 0x22, 0xbb, 0xe2, 0xa7, 0x4c, 0xaf, 0x83, 0x38, 0x6c, 0x73, 0xe8, 0xcc, 0xa4, 0x17, 0x61, + 0xd4, 0xfb, 0xf7, 0xbd, 0xe0, 0x5a, 0x2d, 0xcf, 0x77, 0x71, 0xd0, 0x97, 0xbe, 0x1a, 0x9b, 0xc5, + 0x09, 0xea, 0xe9, 0x67, 0x60, 0x24, 0x26, 0xac, 0xab, 0x86, 0xdf, 0x5f, 0x49, 0x30, 0x99, 0xd6, + 0x98, 0x81, 0x4e, 0xc3, 0xc0, 0x96, 0x2a, 0xde, 0x90, 0x22, 0xef, 0x6e, 0xff, 0xaf, 0x1a, 0x4d, + 0xcc, 0x67, 0x82, 0x7e, 0xed, 0x5c, 0x66, 0xbf, 0xf6, 0x39, 0x00, 0xc5, 0x52, 0xc5, 0xbf, 0x44, + 0x0a, 0xab, 0x82, 0xcd, 0x1b, 0xfe, 0xb3, 0x24, 0x8e, 0x50, 0xf1, 0x87, 0xd6, 0x50, 0x1f, 0x51, + 0x1c, 0x86, 0x2f, 0xa0, 0x11, 0x55, 0xa3, 0x74, 0xf2, 0xaf, 0x25, 0x78, 0xf0, 0x8e, 0xc7, 0x39, + 0x54, 0x8d, 0x85, 0x89, 0x4a, 0x22, 0x4c, 0xcc, 0x64, 0x03, 0xf4, 0xb1, 0xe5, 0xed, 0x7b, 0x39, + 0x40, 0xab, 0x9b, 0xaa, 0xdd, 0xac, 0x29, 0x36, 0x6d, 0x63, 0x61, 0x60, 0x1f, 0x02, 0xc7, 0x79, + 0x18, 0x6e, 0x12, 0xa7, 0x61, 0xab, 0xdc, 0x59, 0x62, 0x59, 0x03, 0xcf, 0x2f, 0x84, 0x53, 0x38, + 0x4a, 0x87, 0x5a, 0x50, 0xdc, 0xf6, 0xd6, 0xce, 0x7f, 0xb2, 0xeb, 0xb6, 0x0e, 0x0e, 0x77, 0x42, + 0xf8, 0x9d, 0x88, 0x01, 0x07, 0x07, 0xe0, 0xf2, 0x47, 0x12, 0x4c, 0x75, 0x3a, 0x66, 0x81, 0xa9, + 0x7e, 0xf7, 0x9d, 0x73, 0x3f, 0x0c, 0x70, 0x74, 0xe6, 0x95, 0x13, 0xde, 0x65, 0x39, 0x93, 0x8c, + 0xf9, 0xa8, 0xfc, 0x95, 0x04, 0xd3, 0xe9, 0xaa, 0xf5, 0xe1, 0x14, 0x72, 0x23, 0x7e, 0x0a, 0xe9, + 0xf6, 0xc6, 0x21, 0x5d, 0xef, 0x8c, 0x13, 0xc9, 0x6e, 0xea, 0x1a, 0xf4, 0xc1, 0xc8, 0x8d, 0xb8, + 0x91, 0x73, 0x87, 0x36, 0x32, 0xdd, 0xc0, 0xea, 0xa3, 0x37, 0x6f, 0xcd, 0x1c, 0xfb, 0xfc, 0xd6, + 0xcc, 0xb1, 0x3f, 0xdd, 0x9a, 0x39, 0xf6, 0xc1, 0xde, 0x8c, 0x74, 0x73, 0x6f, 0x46, 0xfa, 0x7c, + 0x6f, 0x46, 0xfa, 0xcb, 0xde, 0x8c, 0xf4, 0xe1, 0x5f, 0x67, 0x8e, 0xbd, 0x3a, 0x28, 0x30, 0xff, + 0x15, 0x00, 0x00, 0xff, 0xff, 0xd0, 0x37, 0x36, 0xbc, 0xc4, 0x3f, 0x00, 0x00, } diff --git a/pkg/apis/extensions/v1beta1/generated.proto b/pkg/apis/extensions/v1beta1/generated.proto index d6a2751c6cc..2e1541addd3 100644 --- a/pkg/apis/extensions/v1beta1/generated.proto +++ b/pkg/apis/extensions/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.extensions.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; @@ -49,7 +49,7 @@ message CustomMetricCurrentStatus { optional string name = 1; // Custom Metric value (average). - optional k8s.io.kubernetes.pkg.api.resource.Quantity value = 2; + optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 2; } message CustomMetricCurrentStatusList { @@ -62,7 +62,7 @@ message CustomMetricTarget { optional string name = 1; // Custom Metric value (average). - optional k8s.io.kubernetes.pkg.api.resource.Quantity value = 2; + optional k8s.io.apimachinery.pkg.api.resource.Quantity value = 2; } message CustomMetricTargetList { diff --git a/pkg/apis/extensions/v1beta1/types.generated.go b/pkg/apis/extensions/v1beta1/types.generated.go index a08127e888a..ea67af3ab3d 100644 --- a/pkg/apis/extensions/v1beta1/types.generated.go +++ b/pkg/apis/extensions/v1beta1/types.generated.go @@ -25,9 +25,9 @@ import ( "errors" "fmt" codec1978 "github.com/ugorji/go/codec" + pkg3_resource "k8s.io/apimachinery/pkg/api/resource" pkg1_v1 "k8s.io/apimachinery/pkg/apis/meta/v1" pkg2_types "k8s.io/apimachinery/pkg/types" - pkg3_resource "k8s.io/kubernetes/pkg/api/resource" pkg4_v1 "k8s.io/kubernetes/pkg/api/v1" pkg5_intstr "k8s.io/kubernetes/pkg/util/intstr" "reflect" @@ -65,9 +65,9 @@ func init() { panic(err) } if false { // reference the types, but skip this branch at build/run time - var v0 pkg1_v1.TypeMeta - var v1 pkg2_types.UID - var v2 pkg3_resource.Quantity + var v0 pkg3_resource.Quantity + var v1 pkg1_v1.TypeMeta + var v2 pkg2_types.UID var v3 pkg4_v1.PodTemplateSpec var v4 pkg5_intstr.IntOrString var v5 time.Time diff --git a/pkg/apis/extensions/v1beta1/types.go b/pkg/apis/extensions/v1beta1/types.go index 4b3b94d01de..8a1072b0ee9 100644 --- a/pkg/apis/extensions/v1beta1/types.go +++ b/pkg/apis/extensions/v1beta1/types.go @@ -17,8 +17,8 @@ limitations under the License. package v1beta1 import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go index 2688a9e59b9..328437d9bfa 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.pb.go +++ b/pkg/apis/imagepolicy/v1alpha1/generated.pb.go @@ -1019,43 +1019,43 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 594 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0x3f, 0x6f, 0x13, 0x4d, - 0x10, 0xc6, 0x7d, 0x76, 0xfe, 0x79, 0xfd, 0xbe, 0x24, 0x59, 0x28, 0x4e, 0x2e, 0x2e, 0x91, 0x91, - 0x50, 0x40, 0xb0, 0x8b, 0x23, 0x84, 0x22, 0x0a, 0x42, 0x0e, 0x51, 0xa4, 0x00, 0xc4, 0xd2, 0x51, - 0xb1, 0xbe, 0x4c, 0xce, 0x1b, 0xdf, 0xed, 0x9e, 0x6e, 0xf7, 0x1c, 0xb9, 0x40, 0xa2, 0xa4, 0xa0, - 0xe0, 0x1b, 0xd1, 0xa6, 0x4c, 0x49, 0x15, 0x11, 0xf3, 0x45, 0xd0, 0xed, 0x9d, 0x73, 0x47, 0x9c, - 0x08, 0xa1, 0x74, 0x3b, 0x3b, 0x3b, 0xbf, 0xe7, 0x99, 0x99, 0x45, 0xbb, 0xa3, 0x1d, 0x4d, 0x84, - 0xa2, 0xa3, 0x6c, 0x00, 0xa9, 0x04, 0x03, 0x9a, 0x26, 0xa3, 0x90, 0xf2, 0x44, 0x68, 0x2a, 0x62, - 0x1e, 0x42, 0xa2, 0x22, 0x11, 0x4c, 0xe8, 0xb8, 0xcf, 0xa3, 0x64, 0xc8, 0xfb, 0x34, 0x04, 0x09, - 0x29, 0x37, 0x70, 0x40, 0x92, 0x54, 0x19, 0x85, 0x69, 0x01, 0x20, 0x15, 0x80, 0x24, 0xa3, 0x90, - 0xe4, 0x00, 0x52, 0x03, 0x90, 0x19, 0xa0, 0xfb, 0x28, 0x14, 0x66, 0x98, 0x0d, 0x48, 0xa0, 0x62, - 0x1a, 0xaa, 0x50, 0x51, 0xcb, 0x19, 0x64, 0x87, 0x36, 0xb2, 0x81, 0x3d, 0x15, 0xfc, 0xee, 0x93, - 0xd2, 0x20, 0x4f, 0x44, 0xcc, 0x83, 0xa1, 0x90, 0x90, 0x4e, 0x2a, 0x8b, 0x31, 0x18, 0x4e, 0xc7, - 0x73, 0xae, 0xba, 0xf4, 0xba, 0xaa, 0x34, 0x93, 0x46, 0xc4, 0x30, 0x57, 0xf0, 0xf4, 0x6f, 0x05, - 0x3a, 0x18, 0x42, 0xcc, 0xe7, 0xea, 0xb6, 0xaf, 0x9d, 0x1f, 0x4d, 0x41, 0xab, 0x2c, 0x0d, 0xe6, - 0xb5, 0x1e, 0x5e, 0x5f, 0x73, 0x45, 0x2b, 0xfd, 0xab, 0x5f, 0x67, 0x46, 0x44, 0x54, 0x48, 0xa3, - 0x4d, 0x7a, 0xb9, 0xa4, 0xf7, 0xbd, 0x89, 0x3a, 0xfb, 0xf9, 0xec, 0x19, 0x8c, 0x05, 0x1c, 0xe3, - 0x8f, 0x68, 0x25, 0x1f, 0xd4, 0x01, 0x37, 0xdc, 0x75, 0x36, 0x9d, 0xad, 0xce, 0xf6, 0x63, 0x52, - 0xae, 0xad, 0xde, 0x6f, 0xb5, 0xb8, 0xfc, 0x35, 0x19, 0xf7, 0xc9, 0xdb, 0xc1, 0x11, 0x04, 0xe6, - 0x35, 0x18, 0xee, 0xe3, 0x93, 0xb3, 0x8d, 0xc6, 0xf4, 0x6c, 0x03, 0x55, 0x77, 0xec, 0x82, 0x8a, - 0x07, 0x68, 0x41, 0x27, 0x10, 0xb8, 0x4d, 0x4b, 0x7f, 0x41, 0xfe, 0xf1, 0x53, 0x90, 0x9a, 0xdb, - 0xf7, 0x09, 0x04, 0xfe, 0x7f, 0xa5, 0xda, 0x42, 0x1e, 0x31, 0xcb, 0xc6, 0x47, 0x68, 0x49, 0x1b, - 0x6e, 0x32, 0xed, 0xb6, 0xac, 0x8a, 0x7f, 0x23, 0x15, 0x4b, 0xf2, 0x6f, 0x95, 0x3a, 0x4b, 0x45, - 0xcc, 0x4a, 0x85, 0xde, 0x2e, 0x72, 0x6b, 0x8f, 0x5f, 0x2a, 0x69, 0x78, 0x3e, 0xa2, 0xdc, 0x0d, - 0xbe, 0x8b, 0x16, 0x2d, 0xdd, 0x8e, 0xb2, 0xed, 0xff, 0x5f, 0x22, 0x16, 0x8b, 0x82, 0x22, 0xd7, - 0xfb, 0xda, 0x42, 0xab, 0x97, 0x9a, 0xc2, 0x9f, 0x10, 0x0a, 0x66, 0x24, 0xed, 0x3a, 0x9b, 0xad, - 0xad, 0xce, 0xf6, 0xfe, 0x4d, 0x9a, 0xf8, 0xc3, 0x57, 0xb5, 0xa1, 0x8b, 0x6b, 0xcd, 0x6a, 0x82, - 0xf8, 0x8b, 0x83, 0x3a, 0x5c, 0x4a, 0x65, 0xb8, 0x11, 0x4a, 0x6a, 0xb7, 0x69, 0x0d, 0xbc, 0xbb, - 0xe9, 0xae, 0xc8, 0x5e, 0xc5, 0x7c, 0x25, 0x4d, 0x3a, 0xf1, 0x6f, 0x97, 0x46, 0x3a, 0xb5, 0x0c, - 0xab, 0x4b, 0x63, 0x8a, 0xda, 0x92, 0xc7, 0xa0, 0x13, 0x1e, 0x80, 0xdd, 0x66, 0xdb, 0x5f, 0x2f, - 0x8b, 0xda, 0x6f, 0x66, 0x09, 0x56, 0xbd, 0xe9, 0x3e, 0x47, 0x6b, 0x97, 0x65, 0xf0, 0x1a, 0x6a, - 0x8d, 0x60, 0x52, 0x6c, 0x81, 0xe5, 0x47, 0x7c, 0x07, 0x2d, 0x8e, 0x79, 0x94, 0x81, 0xfd, 0x86, - 0x6d, 0x56, 0x04, 0xcf, 0x9a, 0x3b, 0x4e, 0xef, 0x10, 0xad, 0xcf, 0x2d, 0x1f, 0xdf, 0x47, 0xcb, - 0x3c, 0x8a, 0xd4, 0x31, 0x1c, 0x58, 0xc8, 0x8a, 0xbf, 0x5a, 0x7a, 0x58, 0xde, 0x2b, 0xae, 0xd9, - 0x2c, 0x8f, 0xef, 0xa1, 0xa5, 0x14, 0xb8, 0x56, 0xb2, 0x40, 0x57, 0xff, 0x86, 0xd9, 0x5b, 0x56, - 0x66, 0xfd, 0x07, 0x27, 0xe7, 0x5e, 0xe3, 0xf4, 0xdc, 0x6b, 0xfc, 0x38, 0xf7, 0x1a, 0x9f, 0xa7, - 0x9e, 0x73, 0x32, 0xf5, 0x9c, 0xd3, 0xa9, 0xe7, 0xfc, 0x9c, 0x7a, 0xce, 0xb7, 0x5f, 0x5e, 0xe3, - 0xc3, 0xca, 0x6c, 0x8e, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0x3f, 0x81, 0x72, 0x5a, 0x7b, 0x05, - 0x00, 0x00, + // 593 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xa4, 0x92, 0xbf, 0x6f, 0x13, 0x31, + 0x14, 0xc7, 0x73, 0x49, 0x7f, 0xc5, 0x01, 0xda, 0x1a, 0x86, 0x28, 0xc3, 0xb5, 0x0a, 0x12, 0x2a, + 0x08, 0x6c, 0x52, 0x21, 0x54, 0x31, 0x50, 0x7a, 0x88, 0xa1, 0x03, 0x20, 0xcc, 0xc6, 0x84, 0x73, + 0x7d, 0xbd, 0xb8, 0xc9, 0xd9, 0xa7, 0xb3, 0x2f, 0x55, 0x06, 0x24, 0x46, 0x06, 0x06, 0xfe, 0x23, + 0xd6, 0x8e, 0x1d, 0x99, 0x2a, 0x1a, 0xfe, 0x11, 0x74, 0xbe, 0xbb, 0xde, 0x91, 0xb4, 0x20, 0xd4, + 0xcd, 0xcf, 0xcf, 0xef, 0xf3, 0xfd, 0xbe, 0xf7, 0x8c, 0x76, 0x87, 0x3b, 0x9a, 0x08, 0x45, 0x87, + 0x49, 0x1f, 0x62, 0x09, 0x06, 0x34, 0x8d, 0x86, 0x01, 0xe5, 0x91, 0xd0, 0x54, 0x84, 0x3c, 0x80, + 0x48, 0x8d, 0x84, 0x3f, 0xa1, 0xe3, 0x1e, 0x1f, 0x45, 0x03, 0xde, 0xa3, 0x01, 0x48, 0x88, 0xb9, + 0x81, 0x03, 0x12, 0xc5, 0xca, 0x28, 0x4c, 0x33, 0x00, 0x29, 0x01, 0x24, 0x1a, 0x06, 0x24, 0x05, + 0x90, 0x0a, 0x80, 0x14, 0x80, 0xce, 0xa3, 0x40, 0x98, 0x41, 0xd2, 0x27, 0xbe, 0x0a, 0x69, 0xa0, + 0x02, 0x45, 0x2d, 0xa7, 0x9f, 0x1c, 0xda, 0xc8, 0x06, 0xf6, 0x94, 0xf1, 0x3b, 0x4f, 0x72, 0x83, + 0x3c, 0x12, 0x21, 0xf7, 0x07, 0x42, 0x42, 0x3c, 0x29, 0x2c, 0xd2, 0x18, 0xb4, 0x4a, 0x62, 0x1f, + 0x66, 0x5d, 0xfd, 0xb5, 0x4a, 0xd3, 0x10, 0x0c, 0xa7, 0xe3, 0xb9, 0x5e, 0x3a, 0xf4, 0xaa, 0xaa, + 0x38, 0x91, 0x46, 0x84, 0xf3, 0x32, 0x4f, 0xff, 0x55, 0xa0, 0xfd, 0x01, 0x84, 0x7c, 0xae, 0xee, + 0xe1, 0x95, 0x53, 0xbf, 0xcc, 0x56, 0xef, 0xf2, 0xd7, 0x89, 0x11, 0x23, 0x2a, 0xa4, 0xd1, 0x26, + 0x9e, 0x2d, 0xe9, 0x7e, 0xaf, 0xa3, 0xd6, 0x7e, 0x3a, 0x7d, 0x06, 0x63, 0x01, 0xc7, 0xf8, 0x23, + 0x5a, 0x49, 0x9b, 0x3e, 0xe0, 0x86, 0xb7, 0x9d, 0x4d, 0x67, 0xab, 0xb5, 0xfd, 0x98, 0xe4, 0x8b, + 0xab, 0x7a, 0x2f, 0x57, 0x97, 0xbe, 0x26, 0xe3, 0x1e, 0x79, 0xdb, 0x3f, 0x02, 0xdf, 0xbc, 0x06, + 0xc3, 0x3d, 0x7c, 0x72, 0xb6, 0x51, 0x9b, 0x9e, 0x6d, 0xa0, 0xf2, 0x8e, 0x5d, 0x50, 0x71, 0x1f, + 0x2d, 0xe8, 0x08, 0xfc, 0x76, 0xdd, 0xd2, 0x5f, 0x90, 0xff, 0xfc, 0x16, 0xa4, 0xe2, 0xf6, 0x7d, + 0x04, 0xbe, 0x77, 0x23, 0x57, 0x5b, 0x48, 0x23, 0x66, 0xd9, 0xf8, 0x08, 0x2d, 0x69, 0xc3, 0x4d, + 0xa2, 0xdb, 0x0d, 0xab, 0xe2, 0x5d, 0x4b, 0xc5, 0x92, 0xbc, 0x5b, 0xb9, 0xce, 0x52, 0x16, 0xb3, + 0x5c, 0xa1, 0xbb, 0x8b, 0xda, 0x95, 0xc7, 0x2f, 0x95, 0x34, 0x3c, 0x1d, 0x51, 0xea, 0x06, 0xdf, + 0x45, 0x8b, 0x96, 0x6e, 0x47, 0xd9, 0xf4, 0x6e, 0xe6, 0x88, 0xc5, 0xac, 0x20, 0xcb, 0x75, 0xbf, + 0x36, 0xd0, 0xea, 0x4c, 0x53, 0xf8, 0x13, 0x42, 0x7e, 0x41, 0xd2, 0x6d, 0x67, 0xb3, 0xb1, 0xd5, + 0xda, 0xde, 0xbf, 0x4e, 0x13, 0x7f, 0xf8, 0x2a, 0x37, 0x74, 0x71, 0xad, 0x59, 0x45, 0x10, 0x7f, + 0x71, 0x50, 0x8b, 0x4b, 0xa9, 0x0c, 0x37, 0x42, 0x49, 0xdd, 0xae, 0x5b, 0x03, 0xef, 0xae, 0xbb, + 0x2b, 0xb2, 0x57, 0x32, 0x5f, 0x49, 0x13, 0x4f, 0xbc, 0xdb, 0xb9, 0x91, 0x56, 0x25, 0xc3, 0xaa, + 0xd2, 0x98, 0xa2, 0xa6, 0xe4, 0x21, 0xe8, 0x88, 0xfb, 0x60, 0xb7, 0xd9, 0xf4, 0xd6, 0xf3, 0xa2, + 0xe6, 0x9b, 0x22, 0xc1, 0xca, 0x37, 0x9d, 0xe7, 0x68, 0x6d, 0x56, 0x06, 0xaf, 0xa1, 0xc6, 0x10, + 0x26, 0xd9, 0x16, 0x58, 0x7a, 0xc4, 0x77, 0xd0, 0xe2, 0x98, 0x8f, 0x12, 0xb0, 0xdf, 0xb0, 0xc9, + 0xb2, 0xe0, 0x59, 0x7d, 0xc7, 0xe9, 0x1e, 0xa2, 0xf5, 0xb9, 0xe5, 0xe3, 0xfb, 0x68, 0x99, 0x8f, + 0x46, 0xea, 0x18, 0x0e, 0x2c, 0x64, 0xc5, 0x5b, 0xcd, 0x3d, 0x2c, 0xef, 0x65, 0xd7, 0xac, 0xc8, + 0xe3, 0x7b, 0x68, 0x29, 0x06, 0xae, 0x95, 0xcc, 0xd0, 0xe5, 0xbf, 0x61, 0xf6, 0x96, 0xe5, 0x59, + 0xef, 0xc1, 0xc9, 0xb9, 0x5b, 0x3b, 0x3d, 0x77, 0x6b, 0x3f, 0xce, 0xdd, 0xda, 0xe7, 0xa9, 0xeb, + 0x9c, 0x4c, 0x5d, 0xe7, 0x74, 0xea, 0x3a, 0x3f, 0xa7, 0xae, 0xf3, 0xed, 0x97, 0x5b, 0xfb, 0xb0, + 0x52, 0xcc, 0xf1, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x34, 0x6f, 0x01, 0x3b, 0x7d, 0x05, 0x00, + 0x00, } diff --git a/pkg/apis/imagepolicy/v1alpha1/generated.proto b/pkg/apis/imagepolicy/v1alpha1/generated.proto index 42d5a606573..865fc0be619 100644 --- a/pkg/apis/imagepolicy/v1alpha1/generated.proto +++ b/pkg/apis/imagepolicy/v1alpha1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.imagepolicy.v1alpha1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/policy/v1beta1/generated.pb.go b/pkg/apis/policy/v1beta1/generated.pb.go index 16a83db97ec..2a89cc8aa02 100644 --- a/pkg/apis/policy/v1beta1/generated.pb.go +++ b/pkg/apis/policy/v1beta1/generated.pb.go @@ -1322,54 +1322,54 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 773 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0xcd, 0x6e, 0xeb, 0x44, - 0x14, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0xac, 0x5a, - 0x04, 0x63, 0x52, 0x10, 0x2a, 0x2c, 0x2a, 0x6a, 0x52, 0x41, 0x51, 0xab, 0x54, 0x2e, 0x12, 0x12, - 0x02, 0x89, 0xb1, 0x7d, 0x70, 0x86, 0xf8, 0x4b, 0x33, 0xe3, 0x40, 0x76, 0x3c, 0x02, 0x0b, 0x1e, - 0xaa, 0x12, 0x9b, 0x2e, 0x11, 0x42, 0x15, 0xcd, 0x7d, 0x86, 0xbb, 0xbf, 0xb2, 0x3d, 0xf9, 0x70, - 0x3e, 0x74, 0x73, 0xd5, 0xab, 0xbb, 0xf3, 0xcc, 0x9c, 0xdf, 0xff, 0x7f, 0xce, 0x99, 0x33, 0x46, - 0x9f, 0x0f, 0x4e, 0x04, 0x61, 0x91, 0x31, 0x48, 0x6c, 0xe0, 0x21, 0x48, 0x10, 0x46, 0x3c, 0xf0, - 0x0c, 0x1a, 0x33, 0x61, 0xc4, 0x91, 0xcf, 0x9c, 0x91, 0x31, 0xec, 0xd8, 0x20, 0x69, 0xc7, 0xf0, - 0x20, 0x04, 0x4e, 0x25, 0xb8, 0x24, 0xe6, 0x91, 0x8c, 0xf0, 0x51, 0x8e, 0x92, 0x19, 0x4a, 0xe2, - 0x81, 0x47, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0xeb, 0x23, 0x8f, 0xc9, 0x7e, 0x62, 0x13, 0x27, - 0x0a, 0x0c, 0x2f, 0xf2, 0x22, 0x23, 0x53, 0xb0, 0x93, 0x5f, 0xb2, 0x55, 0xb6, 0xc8, 0xbe, 0x72, - 0xe5, 0xd6, 0xa7, 0x2a, 0x29, 0x1a, 0xb3, 0x80, 0x3a, 0x7d, 0x16, 0x02, 0x1f, 0xcd, 0xd2, 0x0a, - 0x40, 0x52, 0x63, 0xb8, 0x94, 0x4f, 0xcb, 0x58, 0x47, 0xf1, 0x24, 0x94, 0x2c, 0x80, 0x25, 0xe0, - 0xb3, 0xe7, 0x01, 0xc2, 0xe9, 0x43, 0x40, 0x97, 0xb8, 0xe3, 0xb5, 0x3d, 0x33, 0x38, 0x88, 0x28, - 0xe1, 0xce, 0xb2, 0xd7, 0x87, 0xeb, 0x99, 0x15, 0xa5, 0x74, 0x56, 0x47, 0x27, 0x92, 0xf9, 0x06, - 0x0b, 0xa5, 0x90, 0x7c, 0x11, 0x69, 0xff, 0xab, 0xa1, 0xda, 0xf9, 0x90, 0x39, 0x92, 0x45, 0x21, - 0xfe, 0x19, 0xd5, 0xd2, 0x2e, 0xb9, 0x54, 0xd2, 0xa6, 0xf6, 0xbe, 0x76, 0xb8, 0x73, 0xfc, 0x31, - 0x51, 0xb7, 0x35, 0x5f, 0xec, 0xec, 0xbe, 0xd2, 0x68, 0x32, 0xec, 0x90, 0x9e, 0xfd, 0x2b, 0x38, - 0xf2, 0x0a, 0x24, 0x35, 0xf1, 0xed, 0xfd, 0x41, 0x69, 0x7c, 0x7f, 0x80, 0x66, 0x7b, 0xd6, 0x54, - 0x15, 0xfb, 0xa8, 0xe1, 0x82, 0x0f, 0x12, 0x7a, 0x71, 0xea, 0x28, 0x9a, 0x5b, 0x99, 0xcd, 0x27, - 0x9b, 0xd9, 0x74, 0xe7, 0x51, 0xf3, 0x8d, 0xf1, 0xfd, 0x41, 0xa3, 0xb0, 0x65, 0x15, 0xc5, 0xdb, - 0x7f, 0x6f, 0xa1, 0x37, 0xaf, 0x23, 0xb7, 0xcb, 0x04, 0x4f, 0xb2, 0x2d, 0x33, 0x71, 0x3d, 0x90, - 0xaf, 0xa0, 0x4e, 0x17, 0x55, 0x44, 0x0c, 0x8e, 0x2a, 0xcf, 0x24, 0x1b, 0xcf, 0x3c, 0x59, 0x91, - 0xef, 0x4d, 0x0c, 0x8e, 0x59, 0x57, 0x7e, 0x95, 0x74, 0x65, 0x65, 0xea, 0xd8, 0x47, 0xdb, 0x42, - 0x52, 0x99, 0x88, 0x66, 0x39, 0xf3, 0xe9, 0x3e, 0xd2, 0x27, 0xd3, 0x32, 0x77, 0x95, 0xd3, 0x76, - 0xbe, 0xb6, 0x94, 0x47, 0xfb, 0x3f, 0x0d, 0xbd, 0xb3, 0x82, 0xba, 0x64, 0x42, 0xe2, 0x1f, 0x97, - 0x3a, 0x4a, 0x36, 0xeb, 0x68, 0x4a, 0x67, 0xfd, 0xdc, 0x53, 0xae, 0xb5, 0xc9, 0xce, 0x5c, 0x37, - 0x1d, 0x54, 0x65, 0x12, 0x82, 0x74, 0x5a, 0xca, 0x87, 0x3b, 0xc7, 0xa7, 0x8f, 0x2b, 0xd3, 0x6c, - 0x28, 0xab, 0xea, 0x45, 0x2a, 0x6a, 0xe5, 0xda, 0xed, 0xf1, 0xea, 0xf2, 0xd2, 0x76, 0xe3, 0x3e, - 0xaa, 0x07, 0x2c, 0x3c, 0x1b, 0x52, 0xe6, 0x53, 0xdb, 0x87, 0xc5, 0x12, 0x17, 0xf2, 0x48, 0xdf, - 0x1b, 0xc9, 0xdf, 0x1b, 0xb9, 0x08, 0x65, 0x8f, 0xdf, 0x48, 0xce, 0x42, 0xcf, 0x7c, 0x4b, 0xf9, - 0xd6, 0xaf, 0xe6, 0xb4, 0xac, 0x82, 0x32, 0xfe, 0x09, 0xd5, 0x04, 0xf8, 0xe0, 0xc8, 0x88, 0xbf, - 0xd8, 0xdb, 0xb8, 0xa4, 0x36, 0xf8, 0x37, 0x0a, 0x35, 0xeb, 0x69, 0x27, 0x27, 0x2b, 0x6b, 0x2a, - 0xd9, 0x7e, 0x5a, 0x41, 0xef, 0xae, 0xbd, 0x79, 0xfc, 0x2d, 0xc2, 0x91, 0x2d, 0x80, 0x0f, 0xc1, - 0xfd, 0x3a, 0xff, 0x4f, 0xb0, 0x28, 0xcc, 0x8a, 0x2d, 0x9b, 0x2d, 0x95, 0x3c, 0xee, 0x2d, 0x45, - 0x58, 0x2b, 0x28, 0xfc, 0x97, 0x86, 0x1a, 0x6e, 0x6e, 0x03, 0xee, 0x75, 0xe4, 0x4e, 0x2e, 0xef, - 0xfb, 0x97, 0x31, 0xa3, 0xa4, 0x3b, 0xaf, 0x7c, 0x1e, 0x4a, 0x3e, 0x32, 0xf7, 0x55, 0x82, 0x8d, - 0xc2, 0x99, 0x55, 0x4c, 0x02, 0x5f, 0x21, 0xec, 0x4e, 0x25, 0xc5, 0x99, 0xef, 0x47, 0xbf, 0x81, - 0x9b, 0x3d, 0x9f, 0xaa, 0xf9, 0x9e, 0x52, 0xd8, 0x2f, 0xf8, 0x4e, 0x82, 0xac, 0x15, 0x20, 0x3e, - 0x45, 0xbb, 0x4e, 0xc2, 0x39, 0x84, 0xf2, 0x1b, 0xa0, 0xbe, 0xec, 0x8f, 0x9a, 0x95, 0x4c, 0xea, - 0x6d, 0x25, 0xb5, 0xfb, 0x55, 0xe1, 0xd4, 0x5a, 0x88, 0x4e, 0x79, 0x17, 0x04, 0xe3, 0xe0, 0x4e, - 0xf8, 0x6a, 0x91, 0xef, 0x16, 0x4e, 0xad, 0x85, 0x68, 0x7c, 0x82, 0xea, 0xf0, 0x7b, 0x0c, 0xce, - 0xa4, 0xc7, 0xdb, 0x19, 0x3d, 0x1d, 0xb4, 0xf3, 0xb9, 0x33, 0xab, 0x10, 0xd9, 0xf2, 0x11, 0x5e, - 0x6e, 0x22, 0xde, 0x43, 0xe5, 0x01, 0x8c, 0xb2, 0x2b, 0x7f, 0xdd, 0x4a, 0x3f, 0xf1, 0x97, 0xa8, - 0x3a, 0xa4, 0x7e, 0x02, 0x6a, 0x1a, 0x3f, 0xd8, 0x6c, 0x1a, 0xbf, 0x63, 0x01, 0x58, 0x39, 0xf8, - 0xc5, 0xd6, 0x89, 0x66, 0x1e, 0xdd, 0x3e, 0xe8, 0xa5, 0xbb, 0x07, 0xbd, 0xf4, 0xcf, 0x83, 0x5e, - 0xfa, 0x63, 0xac, 0x6b, 0xb7, 0x63, 0x5d, 0xbb, 0x1b, 0xeb, 0xda, 0xff, 0x63, 0x5d, 0xfb, 0xf3, - 0x89, 0x5e, 0xfa, 0xe1, 0x35, 0x75, 0xe9, 0xcf, 0x02, 0x00, 0x00, 0xff, 0xff, 0xca, 0xf1, 0x55, - 0x25, 0x5b, 0x08, 0x00, 0x00, + // 776 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xbc, 0x94, 0xcf, 0x6f, 0xe3, 0x44, + 0x14, 0xc7, 0xe3, 0x26, 0x29, 0x61, 0x9a, 0x54, 0x65, 0xa0, 0x10, 0x22, 0xe1, 0xa2, 0x9c, 0x5a, + 0x04, 0x63, 0x52, 0x10, 0x2a, 0x1c, 0x2a, 0x6a, 0x52, 0x41, 0x51, 0xab, 0x54, 0x2e, 0x12, 0x12, + 0x02, 0x89, 0xb1, 0xfd, 0x70, 0x86, 0xf8, 0x97, 0x66, 0xc6, 0x81, 0xdc, 0xf8, 0x13, 0x38, 0xec, + 0x1f, 0x55, 0x69, 0x2f, 0x3d, 0xae, 0x56, 0xab, 0x6a, 0x9b, 0xfd, 0x1b, 0xf6, 0xbe, 0xb2, 0x3d, + 0x49, 0xe3, 0x24, 0xdd, 0xcd, 0xaa, 0xab, 0xbd, 0x79, 0x66, 0xde, 0xe7, 0xfb, 0x7d, 0xef, 0xcd, + 0x1b, 0xa3, 0x6f, 0x07, 0x07, 0x82, 0xb0, 0xc8, 0x18, 0x24, 0x36, 0xf0, 0x10, 0x24, 0x08, 0x23, + 0x1e, 0x78, 0x06, 0x8d, 0x99, 0x30, 0xe2, 0xc8, 0x67, 0xce, 0xc8, 0x18, 0x76, 0x6c, 0x90, 0xb4, + 0x63, 0x78, 0x10, 0x02, 0xa7, 0x12, 0x5c, 0x12, 0xf3, 0x48, 0x46, 0x78, 0x2f, 0x47, 0xc9, 0x2d, + 0x4a, 0xe2, 0x81, 0x47, 0x52, 0x94, 0xe4, 0x28, 0x51, 0x68, 0xeb, 0x0b, 0x8f, 0xc9, 0x7e, 0x62, + 0x13, 0x27, 0x0a, 0x0c, 0x2f, 0xf2, 0x22, 0x23, 0x53, 0xb0, 0x93, 0xbf, 0xb2, 0x55, 0xb6, 0xc8, + 0xbe, 0x72, 0xe5, 0xd6, 0xd7, 0x2a, 0x29, 0x1a, 0xb3, 0x80, 0x3a, 0x7d, 0x16, 0x02, 0x1f, 0x4d, + 0xd2, 0x32, 0x38, 0x88, 0x28, 0xe1, 0x0e, 0xcc, 0xe7, 0xf3, 0x52, 0x4a, 0x18, 0x01, 0x48, 0x6a, + 0x0c, 0x17, 0xaa, 0x68, 0x19, 0x77, 0x51, 0x3c, 0x09, 0x25, 0x0b, 0x16, 0x6d, 0xbe, 0x79, 0x15, + 0x20, 0x9c, 0x3e, 0x04, 0x74, 0x81, 0xfb, 0xfc, 0xce, 0x4e, 0x2f, 0x4b, 0xab, 0xb3, 0x3c, 0x3a, + 0x91, 0xcc, 0x37, 0x58, 0x28, 0x85, 0xe4, 0xf3, 0x48, 0xfb, 0xb1, 0x86, 0x6a, 0xc7, 0x43, 0xe6, + 0x48, 0x16, 0x85, 0xf8, 0x4f, 0x54, 0x4b, 0x2b, 0x76, 0xa9, 0xa4, 0x4d, 0xed, 0x53, 0x6d, 0x77, + 0x63, 0xff, 0x4b, 0xa2, 0xee, 0x6b, 0x36, 0xf1, 0xdb, 0x1b, 0x4b, 0xa3, 0xc9, 0xb0, 0x43, 0x7a, + 0xf6, 0xdf, 0xe0, 0xc8, 0x33, 0x90, 0xd4, 0xc4, 0x97, 0xd7, 0x3b, 0xa5, 0xf1, 0xf5, 0x0e, 0xba, + 0xdd, 0xb3, 0xa6, 0xaa, 0xd8, 0x47, 0x0d, 0x17, 0x7c, 0x90, 0xd0, 0x8b, 0x53, 0x47, 0xd1, 0x5c, + 0xcb, 0x6c, 0xbe, 0x5a, 0xcd, 0xa6, 0x3b, 0x8b, 0x9a, 0xef, 0x8d, 0xaf, 0x77, 0x1a, 0x85, 0x2d, + 0xab, 0x28, 0xde, 0x7e, 0xb8, 0x86, 0xde, 0x3f, 0x8f, 0xdc, 0x2e, 0x13, 0x3c, 0xc9, 0xb6, 0xcc, + 0xc4, 0xf5, 0x40, 0xbe, 0x85, 0x3a, 0x5d, 0x54, 0x11, 0x31, 0x38, 0xaa, 0x3c, 0x93, 0xac, 0x3c, + 0xf5, 0x64, 0x49, 0xbe, 0x17, 0x31, 0x38, 0x66, 0x5d, 0xf9, 0x55, 0xd2, 0x95, 0x95, 0xa9, 0x63, + 0x1f, 0xad, 0x0b, 0x49, 0x65, 0x22, 0x9a, 0xe5, 0xcc, 0xa7, 0x7b, 0x4f, 0x9f, 0x4c, 0xcb, 0xdc, + 0x54, 0x4e, 0xeb, 0xf9, 0xda, 0x52, 0x1e, 0xed, 0x27, 0x1a, 0xfa, 0x68, 0x09, 0x75, 0xca, 0x84, + 0xc4, 0xbf, 0x2f, 0x74, 0x94, 0xac, 0xd6, 0xd1, 0x94, 0xce, 0xfa, 0xb9, 0xa5, 0x5c, 0x6b, 0x93, + 0x9d, 0x99, 0x6e, 0x3a, 0xa8, 0xca, 0x24, 0x04, 0xe9, 0xb4, 0x94, 0x77, 0x37, 0xf6, 0x0f, 0xef, + 0x57, 0xa6, 0xd9, 0x50, 0x56, 0xd5, 0x93, 0x54, 0xd4, 0xca, 0xb5, 0xdb, 0xe3, 0xe5, 0xe5, 0xa5, + 0xed, 0xc6, 0x7d, 0x54, 0x0f, 0x58, 0x78, 0x34, 0xa4, 0xcc, 0xa7, 0xb6, 0x0f, 0xf3, 0x25, 0xce, + 0xe5, 0x91, 0xbe, 0x37, 0x92, 0xbf, 0x37, 0x72, 0x12, 0xca, 0x1e, 0xbf, 0x90, 0x9c, 0x85, 0x9e, + 0xf9, 0x81, 0xf2, 0xad, 0x9f, 0xcd, 0x68, 0x59, 0x05, 0x65, 0xfc, 0x07, 0xaa, 0x09, 0xf0, 0xc1, + 0x91, 0x11, 0x7f, 0xbd, 0xb7, 0x71, 0x4a, 0x6d, 0xf0, 0x2f, 0x14, 0x6a, 0xd6, 0xd3, 0x4e, 0x4e, + 0x56, 0xd6, 0x54, 0xb2, 0xfd, 0xbc, 0x82, 0x3e, 0xbe, 0xf3, 0xe6, 0xf1, 0xcf, 0x08, 0x47, 0xb6, + 0x00, 0x3e, 0x04, 0xf7, 0xc7, 0xfc, 0x3f, 0xc1, 0xa2, 0x30, 0x2b, 0xb6, 0x6c, 0xb6, 0x54, 0xf2, + 0xb8, 0xb7, 0x10, 0x61, 0x2d, 0xa1, 0xf0, 0x03, 0x0d, 0x35, 0xdc, 0xdc, 0x06, 0xdc, 0xf3, 0xc8, + 0x9d, 0x5c, 0xde, 0xaf, 0x6f, 0x62, 0x46, 0x49, 0x77, 0x56, 0xf9, 0x38, 0x94, 0x7c, 0x64, 0x6e, + 0xab, 0x04, 0x1b, 0x85, 0x33, 0xab, 0x98, 0x04, 0x3e, 0x43, 0xd8, 0x9d, 0x4a, 0x8a, 0x23, 0xdf, + 0x8f, 0xfe, 0x01, 0x37, 0x7b, 0x3e, 0x55, 0xf3, 0x13, 0xa5, 0xb0, 0x5d, 0xf0, 0x9d, 0x04, 0x59, + 0x4b, 0x40, 0x7c, 0x88, 0x36, 0x9d, 0x84, 0x73, 0x08, 0xe5, 0x4f, 0x40, 0x7d, 0xd9, 0x1f, 0x35, + 0x2b, 0x99, 0xd4, 0x87, 0x4a, 0x6a, 0xf3, 0x87, 0xc2, 0xa9, 0x35, 0x17, 0x9d, 0xf2, 0x2e, 0x08, + 0xc6, 0xc1, 0x9d, 0xf0, 0xd5, 0x22, 0xdf, 0x2d, 0x9c, 0x5a, 0x73, 0xd1, 0xf8, 0x00, 0xd5, 0xe1, + 0xdf, 0x18, 0x9c, 0x49, 0x8f, 0xd7, 0x33, 0x7a, 0x3a, 0x68, 0xc7, 0x33, 0x67, 0x56, 0x21, 0xb2, + 0xe5, 0x23, 0xbc, 0xd8, 0x44, 0xbc, 0x85, 0xca, 0x03, 0x18, 0x65, 0x57, 0xfe, 0xae, 0x95, 0x7e, + 0xe2, 0xef, 0x51, 0x75, 0x48, 0xfd, 0x04, 0xd4, 0x34, 0x7e, 0xb6, 0xda, 0x34, 0xfe, 0xc2, 0x02, + 0xb0, 0x72, 0xf0, 0xbb, 0xb5, 0x03, 0xcd, 0xdc, 0xbb, 0xbc, 0xd1, 0x4b, 0x57, 0x37, 0x7a, 0xe9, + 0xd1, 0x8d, 0x5e, 0xfa, 0x6f, 0xac, 0x6b, 0x97, 0x63, 0x5d, 0xbb, 0x1a, 0xeb, 0xda, 0xd3, 0xb1, + 0xae, 0xfd, 0xff, 0x4c, 0x2f, 0xfd, 0xf6, 0x8e, 0xba, 0xf4, 0x17, 0x01, 0x00, 0x00, 0xff, 0xff, + 0x02, 0xd3, 0x1e, 0x38, 0x5d, 0x08, 0x00, 0x00, } diff --git a/pkg/apis/policy/v1beta1/generated.proto b/pkg/apis/policy/v1beta1/generated.proto index 4d74c13cbf0..c528720b782 100644 --- a/pkg/apis/policy/v1beta1/generated.proto +++ b/pkg/apis/policy/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.policy.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/rbac/v1alpha1/generated.pb.go b/pkg/apis/rbac/v1alpha1/generated.pb.go index bac673c94c4..5c67948c581 100644 --- a/pkg/apis/rbac/v1alpha1/generated.pb.go +++ b/pkg/apis/rbac/v1alpha1/generated.pb.go @@ -2760,58 +2760,58 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 840 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x54, 0xcf, 0x6b, 0x24, 0x45, - 0x14, 0x9e, 0x4a, 0x66, 0xcc, 0xcc, 0x8b, 0x21, 0xa6, 0x04, 0x69, 0x73, 0xe8, 0x09, 0x7d, 0x0a, - 0xba, 0x76, 0x3b, 0x61, 0xd5, 0x3d, 0xe8, 0x61, 0xdb, 0x83, 0x04, 0xd7, 0x18, 0x6a, 0x71, 0xc1, - 0x65, 0x41, 0x6b, 0x7a, 0x6a, 0x67, 0xca, 0xe9, 0x5f, 0x54, 0x75, 0x07, 0x16, 0x11, 0x3c, 0x7a, - 0xf4, 0xaf, 0xf0, 0xe8, 0x41, 0xf0, 0xe8, 0xc9, 0x4b, 0xd0, 0xcb, 0x1e, 0xf5, 0x32, 0x98, 0xf6, - 0x0f, 0x51, 0xba, 0xba, 0xfa, 0x47, 0xd2, 0x13, 0xf2, 0x43, 0x18, 0x10, 0xf6, 0x34, 0x53, 0xef, - 0x7d, 0xdf, 0xab, 0xf7, 0xbd, 0x57, 0xfd, 0xc1, 0xbd, 0xf9, 0x3d, 0x69, 0xf3, 0xc8, 0x99, 0xa7, - 0x63, 0x26, 0x42, 0x96, 0x30, 0xe9, 0xc4, 0xf3, 0xa9, 0x43, 0x63, 0x2e, 0x1d, 0x31, 0xa6, 0x9e, - 0x73, 0x32, 0xa2, 0x7e, 0x3c, 0xa3, 0x23, 0x67, 0xca, 0x42, 0x26, 0x68, 0xc2, 0x26, 0x76, 0x2c, - 0xa2, 0x24, 0xc2, 0xfb, 0x05, 0xd3, 0xae, 0x99, 0x76, 0x3c, 0x9f, 0xda, 0x39, 0xd3, 0xce, 0x99, - 0x76, 0xc9, 0xdc, 0x7d, 0x6b, 0xca, 0x93, 0x59, 0x3a, 0xb6, 0xbd, 0x28, 0x70, 0xa6, 0xd1, 0x34, - 0x72, 0x54, 0x81, 0x71, 0xfa, 0x54, 0x9d, 0xd4, 0x41, 0xfd, 0x2b, 0x0a, 0xef, 0xde, 0xd5, 0x2d, - 0xd1, 0x98, 0x07, 0xd4, 0x9b, 0xf1, 0x90, 0x89, 0x67, 0x75, 0x53, 0x01, 0x4b, 0xa8, 0x73, 0xd2, - 0x6a, 0x67, 0xd7, 0xb9, 0x8c, 0x25, 0xd2, 0x30, 0xe1, 0x01, 0x6b, 0x11, 0xde, 0xbd, 0x8a, 0x20, - 0xbd, 0x19, 0x0b, 0x68, 0x8b, 0x77, 0x70, 0xe9, 0xc4, 0x1c, 0xc1, 0x64, 0x94, 0x0a, 0xaf, 0x7d, - 0xd7, 0x9d, 0xcb, 0x39, 0x4b, 0xa4, 0x8c, 0x96, 0xa3, 0xd3, 0x84, 0xfb, 0x0e, 0x0f, 0x13, 0x99, - 0x88, 0x8b, 0x14, 0xeb, 0x37, 0x04, 0x9b, 0x1f, 0xfa, 0xa9, 0x4c, 0x98, 0x20, 0x91, 0xcf, 0xf0, - 0x97, 0xd0, 0xcf, 0x07, 0x35, 0xa1, 0x09, 0x35, 0xd0, 0x1e, 0xda, 0xdf, 0x3c, 0x78, 0xdb, 0xd6, - 0xfb, 0x6a, 0xea, 0xad, 0x37, 0x96, 0xa3, 0xed, 0x93, 0x91, 0xfd, 0xe9, 0xf8, 0x2b, 0xe6, 0x25, - 0x9f, 0xb0, 0x84, 0xba, 0xf8, 0x74, 0x31, 0xec, 0x64, 0x8b, 0x21, 0xd4, 0x31, 0x52, 0x55, 0xc5, - 0x9f, 0x43, 0x4f, 0xa4, 0x3e, 0x93, 0xc6, 0xda, 0xde, 0xfa, 0xfe, 0xe6, 0xc1, 0x5d, 0xfb, 0xba, - 0xcf, 0xc1, 0x3e, 0x8e, 0x7c, 0xee, 0x3d, 0x23, 0xa9, 0xcf, 0xdc, 0x2d, 0x7d, 0x45, 0x2f, 0x3f, - 0x49, 0x52, 0x54, 0xb4, 0x7e, 0x5e, 0x03, 0xdc, 0x10, 0xe3, 0xf2, 0x70, 0xc2, 0xc3, 0xe9, 0x0a, - 0x34, 0x7d, 0x01, 0x7d, 0x99, 0xaa, 0x44, 0x29, 0x6b, 0x74, 0x7d, 0x59, 0x0f, 0x0b, 0xa6, 0xfb, - 0x8a, 0xbe, 0xa2, 0xaf, 0x03, 0x92, 0x54, 0x45, 0xf1, 0x13, 0xd8, 0x10, 0x91, 0xcf, 0x08, 0x7b, - 0x6a, 0xac, 0x2b, 0x05, 0x37, 0xa8, 0x4f, 0x0a, 0xa2, 0xbb, 0xad, 0xeb, 0x6f, 0xe8, 0x00, 0x29, - 0x4b, 0x5a, 0x3f, 0x20, 0x78, 0xbd, 0x3d, 0x37, 0x37, 0xe5, 0xfe, 0x84, 0x09, 0xfc, 0x1d, 0x02, - 0xec, 0xb5, 0xb2, 0x7a, 0x92, 0xef, 0x5f, 0xbf, 0x8f, 0x25, 0x37, 0xec, 0xea, 0x96, 0x96, 0x6c, - 0x8d, 0x2c, 0xb9, 0xd3, 0xfa, 0x13, 0xc1, 0x6b, 0x6d, 0xe8, 0x03, 0x2e, 0x13, 0xfc, 0xa4, 0xb5, - 0x64, 0xfb, 0x7a, 0x4b, 0xce, 0xd9, 0x6a, 0xc5, 0xd5, 0xfc, 0xcb, 0x48, 0x63, 0xc1, 0x14, 0x7a, - 0x3c, 0x61, 0x41, 0xb9, 0xdd, 0xff, 0xa6, 0xba, 0x7a, 0xbc, 0x87, 0x79, 0x49, 0x52, 0x54, 0xb6, - 0x7e, 0x47, 0xb0, 0xdd, 0x00, 0xaf, 0x40, 0xd4, 0xe3, 0xf3, 0xa2, 0xde, 0xb9, 0x9d, 0xa8, 0xe5, - 0x6a, 0xfe, 0x41, 0x00, 0xf5, 0xf7, 0x8a, 0x87, 0xd0, 0x3b, 0x61, 0x62, 0x2c, 0x0d, 0xb4, 0xb7, - 0xbe, 0x3f, 0x70, 0x07, 0x39, 0xfe, 0x51, 0x1e, 0x20, 0x45, 0x1c, 0xbf, 0x09, 0x03, 0x1a, 0xf3, - 0x8f, 0x44, 0x94, 0xc6, 0xd2, 0x58, 0x57, 0xa0, 0xad, 0x6c, 0x31, 0x1c, 0xdc, 0x3f, 0x3e, 0x2c, - 0x82, 0xa4, 0xce, 0xe7, 0xe0, 0xd2, 0x31, 0xa5, 0xd1, 0xad, 0xc1, 0xa4, 0x0c, 0x92, 0x3a, 0x8f, - 0xdf, 0x83, 0xad, 0xf2, 0x70, 0x44, 0x03, 0x26, 0x8d, 0x9e, 0x22, 0xec, 0x64, 0x8b, 0xe1, 0x16, - 0x69, 0x26, 0xc8, 0x79, 0x1c, 0xfe, 0x00, 0xb6, 0xc3, 0x28, 0x2c, 0x21, 0x9f, 0x91, 0x07, 0xd2, - 0x78, 0x49, 0x51, 0x5f, 0xcd, 0x16, 0xc3, 0xed, 0xa3, 0xf3, 0x29, 0x72, 0x11, 0x6b, 0x7d, 0x03, - 0x3b, 0x0d, 0xc3, 0xd2, 0xdf, 0xd2, 0x0c, 0x20, 0xae, 0x82, 0x7a, 0xa5, 0xb7, 0x73, 0xc0, 0xca, - 0x90, 0xea, 0x18, 0x69, 0xd4, 0xb6, 0x7e, 0x45, 0xd0, 0xfd, 0xff, 0x3b, 0xfa, 0x8f, 0x6b, 0xb0, - 0xf9, 0xc2, 0xca, 0x6f, 0x60, 0xe5, 0xb9, 0x8b, 0xac, 0xd6, 0x1a, 0x6f, 0xef, 0x22, 0x57, 0x7b, - 0xe2, 0x2f, 0x08, 0xfa, 0x2b, 0x32, 0xc3, 0x87, 0xe7, 0x65, 0xd8, 0x37, 0x94, 0xb1, 0xbc, 0xff, - 0xaf, 0xa1, 0xdc, 0x10, 0xbe, 0x03, 0xfd, 0xd2, 0xc0, 0x54, 0xf7, 0x83, 0xba, 0x9b, 0xd2, 0xe3, - 0x48, 0x85, 0xc0, 0x7b, 0xd0, 0x9d, 0xf3, 0x70, 0x62, 0xac, 0x29, 0xe4, 0xcb, 0x1a, 0xd9, 0xfd, - 0x98, 0x87, 0x13, 0xa2, 0x32, 0x39, 0x22, 0xa4, 0x01, 0x53, 0x6f, 0xa8, 0x81, 0xc8, 0xad, 0x8b, - 0xa8, 0x8c, 0xf5, 0x13, 0x82, 0x0d, 0xfd, 0xfe, 0xaa, 0x7a, 0xe8, 0xd2, 0x7a, 0x07, 0x00, 0x34, - 0xe6, 0x8f, 0x98, 0x90, 0x3c, 0x0a, 0xf5, 0xbd, 0xd5, 0x97, 0x72, 0xff, 0xf8, 0x50, 0x67, 0x48, - 0x03, 0x75, 0x75, 0x0f, 0xd8, 0x81, 0x41, 0xfe, 0x2b, 0x63, 0xea, 0x31, 0xa3, 0xab, 0x60, 0x3b, - 0x1a, 0x36, 0x38, 0x2a, 0x13, 0xa4, 0xc6, 0xb8, 0x6f, 0x9c, 0x9e, 0x99, 0x9d, 0xe7, 0x67, 0x66, - 0xe7, 0x8f, 0x33, 0xb3, 0xf3, 0x6d, 0x66, 0xa2, 0xd3, 0xcc, 0x44, 0xcf, 0x33, 0x13, 0xfd, 0x95, - 0x99, 0xe8, 0xfb, 0xbf, 0xcd, 0xce, 0xe3, 0x7e, 0x39, 0xf8, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, - 0x57, 0x75, 0x75, 0xfb, 0x83, 0x0c, 0x00, 0x00, + // 841 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x54, 0xbf, 0x6f, 0x23, 0x45, + 0x14, 0xf6, 0x24, 0x36, 0xb1, 0x5f, 0x88, 0x42, 0x06, 0x09, 0x2d, 0x29, 0xd6, 0xd1, 0x56, 0x11, + 0x1c, 0xbb, 0x38, 0x3a, 0xe0, 0x0a, 0x28, 0x6e, 0x29, 0x50, 0xc4, 0x11, 0xa2, 0x39, 0x71, 0x12, + 0xa7, 0x93, 0x60, 0xbc, 0x9e, 0xb3, 0x07, 0xef, 0x2f, 0xcd, 0xec, 0x46, 0x3a, 0x21, 0x24, 0x4a, + 0x4a, 0xfe, 0x0a, 0x4a, 0x0a, 0x24, 0x4a, 0x2a, 0x9a, 0x08, 0x9a, 0x2b, 0xa1, 0xb1, 0xc8, 0xf2, + 0x87, 0x80, 0x76, 0x76, 0xf6, 0x87, 0x63, 0x87, 0x38, 0x41, 0xb2, 0x84, 0x44, 0x65, 0xcf, 0x7b, + 0xdf, 0xf7, 0xde, 0xfb, 0xe6, 0xcd, 0x7e, 0x70, 0x6f, 0x7a, 0x4f, 0xda, 0x3c, 0x72, 0xa6, 0xe9, + 0x90, 0x89, 0x90, 0x25, 0x4c, 0x3a, 0xf1, 0x74, 0xec, 0xd0, 0x98, 0x4b, 0x47, 0x0c, 0xa9, 0xe7, + 0x9c, 0x0d, 0xa8, 0x1f, 0x4f, 0xe8, 0xc0, 0x19, 0xb3, 0x90, 0x09, 0x9a, 0xb0, 0x91, 0x1d, 0x8b, + 0x28, 0x89, 0xf0, 0x61, 0xc1, 0xb4, 0x6b, 0xa6, 0x1d, 0x4f, 0xc7, 0x76, 0xce, 0xb4, 0x73, 0xa6, + 0x5d, 0x32, 0xf7, 0xdf, 0x18, 0xf3, 0x64, 0x92, 0x0e, 0x6d, 0x2f, 0x0a, 0x9c, 0x71, 0x34, 0x8e, + 0x1c, 0x55, 0x60, 0x98, 0x3e, 0x55, 0x27, 0x75, 0x50, 0xff, 0x8a, 0xc2, 0xfb, 0x77, 0xf5, 0x48, + 0x34, 0xe6, 0x01, 0xf5, 0x26, 0x3c, 0x64, 0xe2, 0x59, 0x39, 0x94, 0x23, 0x98, 0x8c, 0x52, 0xe1, + 0xb1, 0xcb, 0xe3, 0xfc, 0x23, 0x4b, 0x3a, 0x01, 0x4b, 0xa8, 0x73, 0xb6, 0x20, 0x62, 0xdf, 0xb9, + 0x8a, 0x25, 0xd2, 0x30, 0xe1, 0xc1, 0x62, 0x9b, 0xb7, 0xaf, 0x23, 0x48, 0x6f, 0xc2, 0x02, 0xba, + 0xc0, 0xbb, 0x73, 0xe5, 0x3d, 0x2f, 0x1b, 0x6b, 0xb0, 0x1c, 0x9d, 0x26, 0xdc, 0x77, 0x78, 0x98, + 0xc8, 0x44, 0x5c, 0xa6, 0x58, 0xbf, 0x20, 0xd8, 0x7e, 0xdf, 0x4f, 0x65, 0xc2, 0x04, 0x89, 0x7c, + 0x86, 0x3f, 0x87, 0x6e, 0x2e, 0x7a, 0x44, 0x13, 0x6a, 0xa0, 0x03, 0x74, 0xb8, 0x7d, 0xf4, 0xa6, + 0xad, 0x37, 0xd6, 0x9c, 0xbd, 0xde, 0x59, 0x8e, 0xb6, 0xcf, 0x06, 0xf6, 0xc7, 0xc3, 0x2f, 0x98, + 0x97, 0x7c, 0xc4, 0x12, 0xea, 0xe2, 0xf3, 0x59, 0xbf, 0x95, 0xcd, 0xfa, 0x50, 0xc7, 0x48, 0x55, + 0x15, 0x7f, 0x0a, 0x1d, 0x91, 0xfa, 0x4c, 0x1a, 0x1b, 0x07, 0x9b, 0x87, 0xdb, 0x47, 0x77, 0xed, + 0x55, 0x1f, 0x84, 0x7d, 0x1a, 0xf9, 0xdc, 0x7b, 0x46, 0x52, 0x9f, 0xb9, 0x3b, 0xba, 0x45, 0x27, + 0x3f, 0x49, 0x52, 0x54, 0xb4, 0x7e, 0xdc, 0x00, 0xdc, 0x10, 0xe3, 0xf2, 0x70, 0xc4, 0xc3, 0xf1, + 0x1a, 0x34, 0x7d, 0x06, 0x5d, 0x99, 0xaa, 0x44, 0x29, 0x6b, 0xb0, 0xba, 0xac, 0x87, 0x05, 0xd3, + 0x7d, 0x49, 0xb7, 0xe8, 0xea, 0x80, 0x24, 0x55, 0x51, 0xfc, 0x04, 0xb6, 0x44, 0xe4, 0x33, 0xc2, + 0x9e, 0x1a, 0x9b, 0x4a, 0xc1, 0x0d, 0xea, 0x93, 0x82, 0xe8, 0xee, 0xea, 0xfa, 0x5b, 0x3a, 0x40, + 0xca, 0x92, 0xd6, 0x77, 0x08, 0x5e, 0x5d, 0xbc, 0x37, 0x37, 0xe5, 0xfe, 0x88, 0x09, 0xfc, 0x0d, + 0x02, 0xec, 0x2d, 0x64, 0xf5, 0x4d, 0xbe, 0xbb, 0xfa, 0x1c, 0x4b, 0x3a, 0xec, 0xeb, 0x91, 0x96, + 0x6c, 0x8d, 0x2c, 0xe9, 0x69, 0xfd, 0x8e, 0xe0, 0x95, 0x45, 0xe8, 0x03, 0x2e, 0x13, 0xfc, 0x64, + 0x61, 0xc9, 0xf6, 0x6a, 0x4b, 0xce, 0xd9, 0x6a, 0xc5, 0xd5, 0xfd, 0x97, 0x91, 0xc6, 0x82, 0x29, + 0x74, 0x78, 0xc2, 0x82, 0x72, 0xbb, 0xff, 0x4e, 0x75, 0xf5, 0x78, 0x8f, 0xf3, 0x92, 0xa4, 0xa8, + 0x6c, 0xfd, 0x8a, 0x60, 0xb7, 0x01, 0x5e, 0x83, 0xa8, 0xc7, 0xf3, 0xa2, 0xde, 0xba, 0x9d, 0xa8, + 0xe5, 0x6a, 0xfe, 0x42, 0x00, 0xf5, 0xf7, 0x8a, 0xfb, 0xd0, 0x39, 0x63, 0x62, 0x28, 0x0d, 0x74, + 0xb0, 0x79, 0xd8, 0x73, 0x7b, 0x39, 0xfe, 0x51, 0x1e, 0x20, 0x45, 0x1c, 0xbf, 0x0e, 0x3d, 0x1a, + 0xf3, 0x0f, 0x44, 0x94, 0xc6, 0xd2, 0xd8, 0x54, 0xa0, 0x9d, 0x6c, 0xd6, 0xef, 0xdd, 0x3f, 0x3d, + 0x2e, 0x82, 0xa4, 0xce, 0xe7, 0xe0, 0xd2, 0xd0, 0xa5, 0xd1, 0xae, 0xc1, 0xa4, 0x0c, 0x92, 0x3a, + 0x8f, 0xdf, 0x81, 0x9d, 0xf2, 0x70, 0x42, 0x03, 0x26, 0x8d, 0x8e, 0x22, 0xec, 0x65, 0xb3, 0xfe, + 0x0e, 0x69, 0x26, 0xc8, 0x3c, 0x0e, 0xbf, 0x07, 0xbb, 0x61, 0x14, 0x96, 0x90, 0x4f, 0xc8, 0x03, + 0x69, 0xbc, 0xa0, 0xa8, 0x2f, 0x67, 0xb3, 0xfe, 0xee, 0xc9, 0x7c, 0x8a, 0x5c, 0xc6, 0x5a, 0x5f, + 0xc1, 0x5e, 0xc3, 0xb0, 0xf4, 0xb7, 0x34, 0x01, 0x88, 0xab, 0xa0, 0x5e, 0xe9, 0xed, 0x1c, 0xb0, + 0x32, 0xa4, 0x3a, 0x46, 0x1a, 0xb5, 0xad, 0x9f, 0x11, 0xb4, 0xff, 0xfb, 0x8e, 0xfe, 0xfd, 0x06, + 0x6c, 0xff, 0x6f, 0xe5, 0x37, 0xb0, 0xf2, 0xdc, 0x45, 0xd6, 0x6b, 0x8d, 0xb7, 0x77, 0x91, 0xeb, + 0x3d, 0xf1, 0x27, 0x04, 0xdd, 0x35, 0x99, 0xe1, 0xc3, 0x79, 0x19, 0xf6, 0x0d, 0x65, 0x2c, 0x9f, + 0xff, 0x4b, 0x28, 0x37, 0x84, 0xef, 0x40, 0xb7, 0x34, 0x30, 0x35, 0x7d, 0xaf, 0x9e, 0xa6, 0xf4, + 0x38, 0x52, 0x21, 0xf0, 0x01, 0xb4, 0xa7, 0x3c, 0x1c, 0x19, 0x1b, 0x0a, 0xf9, 0xa2, 0x46, 0xb6, + 0x3f, 0xe4, 0xe1, 0x88, 0xa8, 0x4c, 0x8e, 0x08, 0x69, 0xc0, 0xd4, 0x1b, 0x6a, 0x20, 0x72, 0xeb, + 0x22, 0x2a, 0x63, 0xfd, 0x80, 0x60, 0x4b, 0xbf, 0xbf, 0xaa, 0x1e, 0xba, 0xb2, 0xde, 0x11, 0x00, + 0x8d, 0xf9, 0x23, 0x26, 0x24, 0x8f, 0x42, 0xdd, 0xb7, 0xfa, 0x52, 0xee, 0x9f, 0x1e, 0xeb, 0x0c, + 0x69, 0xa0, 0xae, 0x9f, 0x01, 0x3b, 0xd0, 0xcb, 0x7f, 0x65, 0x4c, 0x3d, 0x66, 0xb4, 0x15, 0x6c, + 0x4f, 0xc3, 0x7a, 0x27, 0x65, 0x82, 0xd4, 0x18, 0xf7, 0xb5, 0xf3, 0x0b, 0xb3, 0xf5, 0xfc, 0xc2, + 0x6c, 0xfd, 0x76, 0x61, 0xb6, 0xbe, 0xce, 0x4c, 0x74, 0x9e, 0x99, 0xe8, 0x79, 0x66, 0xa2, 0x3f, + 0x32, 0x13, 0x7d, 0xfb, 0xa7, 0xd9, 0x7a, 0xdc, 0x2d, 0x2f, 0xfe, 0xef, 0x00, 0x00, 0x00, 0xff, + 0xff, 0xb1, 0x27, 0x54, 0x88, 0x85, 0x0c, 0x00, 0x00, } diff --git a/pkg/apis/rbac/v1alpha1/generated.proto b/pkg/apis/rbac/v1alpha1/generated.proto index 6837061ed6e..9107e785980 100644 --- a/pkg/apis/rbac/v1alpha1/generated.proto +++ b/pkg/apis/rbac/v1alpha1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.rbac.v1alpha1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/rbac/v1beta1/generated.pb.go b/pkg/apis/rbac/v1beta1/generated.pb.go index ac6306d3357..90d8cb6a475 100644 --- a/pkg/apis/rbac/v1beta1/generated.pb.go +++ b/pkg/apis/rbac/v1beta1/generated.pb.go @@ -2760,58 +2760,58 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 838 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x54, 0xbf, 0x6f, 0xe4, 0x44, - 0x14, 0xde, 0x49, 0x76, 0x95, 0xdd, 0x17, 0xa2, 0x90, 0x41, 0x42, 0x26, 0x85, 0x37, 0x72, 0x43, - 0x10, 0x77, 0xf6, 0x25, 0x9c, 0x38, 0x24, 0x44, 0x71, 0xa6, 0x40, 0x11, 0x47, 0x88, 0x06, 0x71, - 0xe2, 0x97, 0xd0, 0xcd, 0x7a, 0xe7, 0x9c, 0x61, 0xfd, 0x4b, 0x33, 0xe3, 0x48, 0x27, 0x28, 0xe8, - 0x68, 0xf9, 0x27, 0xe8, 0xa8, 0xa0, 0xa5, 0xa2, 0x0a, 0x54, 0x57, 0x5e, 0xb5, 0x22, 0xe6, 0x0f, - 0x01, 0xd9, 0x1e, 0xff, 0xd8, 0xf3, 0x46, 0x59, 0x82, 0x14, 0x09, 0x89, 0x6a, 0x77, 0xde, 0xfb, - 0xbe, 0x37, 0xef, 0x7b, 0x6f, 0xfc, 0xc1, 0xbd, 0xd9, 0x5b, 0xd2, 0xe6, 0xb1, 0x33, 0x4b, 0x27, - 0x4c, 0x44, 0x4c, 0x31, 0xe9, 0x24, 0x33, 0xdf, 0xa1, 0x09, 0x97, 0x8e, 0x98, 0x50, 0xcf, 0x39, - 0x3b, 0x98, 0x30, 0x45, 0x0f, 0x1c, 0x9f, 0x45, 0x4c, 0x50, 0xc5, 0xa6, 0x76, 0x22, 0x62, 0x15, - 0xe3, 0x57, 0x4b, 0xa2, 0xdd, 0x10, 0xed, 0x64, 0xe6, 0xdb, 0x39, 0xd1, 0xce, 0x89, 0xb6, 0x26, - 0xee, 0xde, 0xf6, 0xb9, 0x3a, 0x4d, 0x27, 0xb6, 0x17, 0x87, 0x8e, 0x1f, 0xfb, 0xb1, 0x53, 0xf0, - 0x27, 0xe9, 0xe3, 0xe2, 0x54, 0x1c, 0x8a, 0x7f, 0x65, 0xdd, 0xdd, 0xbb, 0xba, 0x21, 0x9a, 0xf0, - 0x90, 0x7a, 0xa7, 0x3c, 0x62, 0xe2, 0x49, 0xd3, 0x52, 0xc8, 0x14, 0x75, 0xce, 0x3a, 0xdd, 0xec, - 0x3a, 0x97, 0xb1, 0x44, 0x1a, 0x29, 0x1e, 0xb2, 0x0e, 0xe1, 0xcd, 0xab, 0x08, 0xd2, 0x3b, 0x65, - 0x21, 0xed, 0xf0, 0x0e, 0x2f, 0x9d, 0x97, 0x23, 0x98, 0x8c, 0x53, 0xe1, 0x75, 0xef, 0xba, 0x75, - 0x39, 0x67, 0x89, 0x94, 0x83, 0xe5, 0xe8, 0x54, 0xf1, 0xc0, 0xe1, 0x91, 0x92, 0x4a, 0x3c, 0x4f, - 0xb1, 0x7e, 0x43, 0xb0, 0xf9, 0x6e, 0x90, 0x4a, 0xc5, 0x04, 0x89, 0x03, 0x86, 0x1f, 0xc1, 0x30, - 0x1f, 0xd4, 0x94, 0x2a, 0x6a, 0xa0, 0x3d, 0xb4, 0xbf, 0x79, 0x78, 0xc7, 0xd6, 0xeb, 0x6a, 0xeb, - 0x6d, 0x16, 0x96, 0xa3, 0xed, 0xb3, 0x03, 0xfb, 0xc3, 0xc9, 0x57, 0xcc, 0x53, 0x1f, 0x30, 0x45, - 0x5d, 0x7c, 0x3e, 0x1f, 0xf7, 0xb2, 0xf9, 0x18, 0x9a, 0x18, 0xa9, 0xab, 0xe2, 0x4f, 0x60, 0x20, - 0xd2, 0x80, 0x49, 0x63, 0x6d, 0x6f, 0x7d, 0x7f, 0xf3, 0xf0, 0x0d, 0x7b, 0xc5, 0xd7, 0x60, 0x9f, - 0xc4, 0x01, 0xf7, 0x9e, 0x90, 0x34, 0x60, 0xee, 0x96, 0xbe, 0x61, 0x90, 0x9f, 0x24, 0x29, 0x0b, - 0x5a, 0x3f, 0xaf, 0x01, 0x6e, 0x69, 0x71, 0x79, 0x34, 0xe5, 0x91, 0x7f, 0x03, 0x92, 0xbe, 0x84, - 0xa1, 0x4c, 0x8b, 0x44, 0xa5, 0xea, 0xce, 0xca, 0xaa, 0x3e, 0x2a, 0x89, 0xee, 0x8b, 0xfa, 0x86, - 0xa1, 0x0e, 0x48, 0x52, 0xd7, 0xc4, 0x9f, 0xc3, 0x86, 0x88, 0x03, 0x46, 0xd8, 0x63, 0x63, 0x7d, - 0x51, 0xc0, 0x95, 0xe5, 0x49, 0xc9, 0x73, 0xb7, 0x75, 0xf9, 0x0d, 0x1d, 0x20, 0x55, 0x45, 0xeb, - 0x07, 0x04, 0xaf, 0x74, 0xa7, 0xe6, 0xa6, 0x3c, 0x98, 0x32, 0x81, 0xbf, 0x43, 0x80, 0xbd, 0x4e, - 0x56, 0xcf, 0xf1, 0xed, 0x95, 0xdb, 0x58, 0x72, 0xc1, 0xae, 0xee, 0x68, 0xc9, 0xca, 0xc8, 0x92, - 0x2b, 0xad, 0x67, 0x08, 0x5e, 0xee, 0x42, 0x1f, 0x70, 0xa9, 0xf0, 0x17, 0x9d, 0x0d, 0xdb, 0xab, - 0x6d, 0x38, 0x67, 0x17, 0xfb, 0xad, 0xa7, 0x5f, 0x45, 0x5a, 0xdb, 0x7d, 0x04, 0x03, 0xae, 0x58, - 0x58, 0xad, 0xf6, 0x5f, 0x89, 0xae, 0x1f, 0xee, 0x51, 0x5e, 0x91, 0x94, 0x85, 0xad, 0xdf, 0x11, - 0x6c, 0xb7, 0xc0, 0x37, 0xa0, 0xe9, 0xd3, 0x45, 0x4d, 0x77, 0xaf, 0xa5, 0x69, 0xb9, 0x98, 0xbf, - 0x10, 0x40, 0xf3, 0xa9, 0xe2, 0x31, 0x0c, 0xce, 0x98, 0x98, 0x48, 0x03, 0xed, 0xad, 0xef, 0x8f, - 0xdc, 0x51, 0x8e, 0x7f, 0x98, 0x07, 0x48, 0x19, 0xc7, 0xaf, 0xc3, 0x88, 0x26, 0xfc, 0x3d, 0x11, - 0xa7, 0x49, 0xd9, 0xce, 0xc8, 0xdd, 0xca, 0xe6, 0xe3, 0xd1, 0xfd, 0x93, 0xa3, 0x32, 0x48, 0x9a, - 0x7c, 0x0e, 0xae, 0xbc, 0x52, 0x1a, 0xeb, 0x0d, 0x98, 0x54, 0x41, 0xd2, 0xe4, 0xf1, 0x3d, 0xd8, - 0xaa, 0x0e, 0xc7, 0x34, 0x64, 0xd2, 0xe8, 0x17, 0x84, 0x9d, 0x6c, 0x3e, 0xde, 0x22, 0xed, 0x04, - 0x59, 0xc4, 0xe1, 0x77, 0x60, 0x3b, 0x8a, 0xa3, 0x0a, 0xf2, 0x31, 0x79, 0x20, 0x8d, 0x41, 0x41, - 0x7d, 0x29, 0x9b, 0x8f, 0xb7, 0x8f, 0x17, 0x53, 0xe4, 0x79, 0xac, 0xf5, 0x0d, 0xec, 0xb4, 0xbc, - 0x4a, 0x7f, 0x48, 0x3e, 0x40, 0x52, 0x07, 0xf5, 0x46, 0xaf, 0xe5, 0x7d, 0xb5, 0x15, 0x35, 0x31, - 0xd2, 0x2a, 0x6d, 0xfd, 0x8a, 0xa0, 0xff, 0x9f, 0xb7, 0xf2, 0x1f, 0xd7, 0x60, 0xf3, 0x7f, 0x0f, - 0x5f, 0xd9, 0xc3, 0x73, 0x03, 0xb9, 0x59, 0x53, 0xbc, 0xb6, 0x81, 0x5c, 0xed, 0x86, 0xbf, 0x20, - 0x18, 0xde, 0x90, 0x0d, 0x92, 0x45, 0x15, 0xb7, 0xff, 0x99, 0x8a, 0xe5, 0xed, 0x7f, 0x0d, 0xd5, - 0x7e, 0xf0, 0x2d, 0x18, 0x56, 0xd6, 0x55, 0x34, 0x3f, 0x6a, 0x9a, 0xa9, 0xdc, 0x8d, 0xd4, 0x08, - 0xbc, 0x07, 0xfd, 0x19, 0x8f, 0xa6, 0xc6, 0x5a, 0x81, 0x7c, 0x41, 0x23, 0xfb, 0xef, 0xf3, 0x68, - 0x4a, 0x8a, 0x4c, 0x8e, 0x88, 0x68, 0xc8, 0x8a, 0x07, 0xd4, 0x42, 0xe4, 0xa6, 0x45, 0x8a, 0x8c, - 0xf5, 0x13, 0x82, 0x0d, 0xfd, 0xf8, 0xea, 0x7a, 0xe8, 0xd2, 0x7a, 0x87, 0x00, 0x34, 0xe1, 0x0f, - 0x99, 0x90, 0x3c, 0x8e, 0xf4, 0xbd, 0xf5, 0x57, 0x72, 0xff, 0xe4, 0x48, 0x67, 0x48, 0x0b, 0x75, - 0x75, 0x0f, 0xd8, 0x81, 0x51, 0xfe, 0x2b, 0x13, 0xea, 0x31, 0xa3, 0x5f, 0xc0, 0x76, 0x34, 0x6c, - 0x74, 0x5c, 0x25, 0x48, 0x83, 0x71, 0x5f, 0x3b, 0xbf, 0x30, 0x7b, 0x4f, 0x2f, 0xcc, 0xde, 0xb3, - 0x0b, 0xb3, 0xf7, 0x6d, 0x66, 0xa2, 0xf3, 0xcc, 0x44, 0x4f, 0x33, 0x13, 0xfd, 0x91, 0x99, 0xe8, - 0xfb, 0x3f, 0xcd, 0xde, 0x67, 0x1b, 0x7a, 0xee, 0x7f, 0x07, 0x00, 0x00, 0xff, 0xff, 0x2f, 0x1d, - 0x32, 0x0f, 0x74, 0x0c, 0x00, 0x00, + // 839 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xec, 0x54, 0xbf, 0x6f, 0x23, 0x45, + 0x14, 0xf6, 0x24, 0xb6, 0x62, 0xbf, 0x10, 0x85, 0x0c, 0x12, 0x5a, 0x52, 0xac, 0xa3, 0x6d, 0x08, + 0xe2, 0x6e, 0xf7, 0x12, 0x4e, 0x1c, 0x12, 0xa2, 0xb8, 0xa5, 0x40, 0x11, 0x47, 0x88, 0x06, 0x71, + 0xe2, 0x97, 0xd0, 0x8d, 0xd7, 0x73, 0x9b, 0xc1, 0xfb, 0x4b, 0x33, 0xb3, 0x91, 0x4e, 0x50, 0xd0, + 0xd1, 0xf2, 0x4f, 0xd0, 0x51, 0x41, 0x4b, 0x45, 0x15, 0xa8, 0xae, 0xbc, 0xca, 0x22, 0xcb, 0x1f, + 0x02, 0xda, 0xdd, 0xd9, 0x1f, 0x8e, 0x1d, 0x62, 0x82, 0x64, 0x09, 0xe9, 0x2a, 0x7b, 0xde, 0xfb, + 0xbe, 0xf7, 0xde, 0x37, 0x6f, 0xf6, 0x83, 0x7b, 0x93, 0xb7, 0xa4, 0xcd, 0x63, 0x67, 0x92, 0x8e, + 0x98, 0x88, 0x98, 0x62, 0xd2, 0x49, 0x26, 0xbe, 0x43, 0x13, 0x2e, 0x1d, 0x31, 0xa2, 0x9e, 0x73, + 0x76, 0x30, 0x62, 0x8a, 0x1e, 0x38, 0x3e, 0x8b, 0x98, 0xa0, 0x8a, 0x8d, 0xed, 0x44, 0xc4, 0x2a, + 0xc6, 0xaf, 0x96, 0x44, 0xbb, 0x21, 0xda, 0xc9, 0xc4, 0xb7, 0x73, 0xa2, 0x9d, 0x13, 0x6d, 0x4d, + 0xdc, 0xbd, 0xed, 0x73, 0x75, 0x9a, 0x8e, 0x6c, 0x2f, 0x0e, 0x1d, 0x3f, 0xf6, 0x63, 0xa7, 0xe0, + 0x8f, 0xd2, 0xc7, 0xc5, 0xa9, 0x38, 0x14, 0xff, 0xca, 0xba, 0xbb, 0x77, 0xf5, 0x40, 0x34, 0xe1, + 0x21, 0xf5, 0x4e, 0x79, 0xc4, 0xc4, 0x93, 0x6a, 0x24, 0x47, 0x30, 0x19, 0xa7, 0xc2, 0x63, 0x97, + 0xa7, 0xf9, 0x47, 0x96, 0x74, 0x42, 0xa6, 0xa8, 0x73, 0x36, 0xa7, 0x61, 0xd7, 0xb9, 0x8a, 0x25, + 0xd2, 0x48, 0xf1, 0x70, 0xbe, 0xcd, 0x9b, 0xd7, 0x11, 0xa4, 0x77, 0xca, 0x42, 0x3a, 0xc7, 0xbb, + 0x75, 0xe5, 0x2d, 0x2f, 0x1a, 0xeb, 0x60, 0x31, 0x3a, 0x55, 0x3c, 0x70, 0x78, 0xa4, 0xa4, 0x12, + 0x97, 0x29, 0xd6, 0x6f, 0x08, 0x36, 0xdf, 0x0d, 0x52, 0xa9, 0x98, 0x20, 0x71, 0xc0, 0xf0, 0x23, + 0xe8, 0xe7, 0xa2, 0xc7, 0x54, 0x51, 0x03, 0xed, 0xa1, 0xfd, 0xcd, 0xc3, 0x3b, 0xb6, 0x5e, 0x58, + 0x7b, 0xf6, 0x66, 0x65, 0x39, 0xda, 0x3e, 0x3b, 0xb0, 0x3f, 0x1c, 0x7d, 0xc5, 0x3c, 0xf5, 0x01, + 0x53, 0xd4, 0xc5, 0xe7, 0xd3, 0x61, 0x27, 0x9b, 0x0e, 0xa1, 0x89, 0x91, 0xba, 0x2a, 0xfe, 0x04, + 0x7a, 0x22, 0x0d, 0x98, 0x34, 0xd6, 0xf6, 0xd6, 0xf7, 0x37, 0x0f, 0xdf, 0xb0, 0x97, 0x7c, 0x0f, + 0xf6, 0x49, 0x1c, 0x70, 0xef, 0x09, 0x49, 0x03, 0xe6, 0x6e, 0xe9, 0x0e, 0xbd, 0xfc, 0x24, 0x49, + 0x59, 0xd0, 0xfa, 0x79, 0x0d, 0x70, 0x4b, 0x8b, 0xcb, 0xa3, 0x31, 0x8f, 0xfc, 0x15, 0x48, 0xfa, + 0x12, 0xfa, 0x32, 0x2d, 0x12, 0x95, 0xaa, 0x3b, 0x4b, 0xab, 0xfa, 0xa8, 0x24, 0xba, 0x2f, 0xea, + 0x0e, 0x7d, 0x1d, 0x90, 0xa4, 0xae, 0x89, 0x3f, 0x87, 0x0d, 0x11, 0x07, 0x8c, 0xb0, 0xc7, 0xc6, + 0xfa, 0xac, 0x80, 0x6b, 0xcb, 0x93, 0x92, 0xe7, 0x6e, 0xeb, 0xf2, 0x1b, 0x3a, 0x40, 0xaa, 0x8a, + 0xd6, 0x0f, 0x08, 0x5e, 0x99, 0xbf, 0x35, 0x37, 0xe5, 0xc1, 0x98, 0x09, 0xfc, 0x1d, 0x02, 0xec, + 0xcd, 0x65, 0xf5, 0x3d, 0xbe, 0xbd, 0xf4, 0x18, 0x0b, 0x1a, 0xec, 0xea, 0x89, 0x16, 0xac, 0x8c, + 0x2c, 0x68, 0x69, 0x3d, 0x43, 0xf0, 0xf2, 0x3c, 0xf4, 0x01, 0x97, 0x0a, 0x7f, 0x31, 0xb7, 0x61, + 0x7b, 0xb9, 0x0d, 0xe7, 0xec, 0x62, 0xbf, 0xf5, 0xed, 0x57, 0x91, 0xd6, 0x76, 0x1f, 0x41, 0x8f, + 0x2b, 0x16, 0x56, 0xab, 0xfd, 0x4f, 0xa2, 0xeb, 0x87, 0x7b, 0x94, 0x57, 0x24, 0x65, 0x61, 0xeb, + 0x77, 0x04, 0xdb, 0x2d, 0xf0, 0x0a, 0x34, 0x7d, 0x3a, 0xab, 0xe9, 0xee, 0x8d, 0x34, 0x2d, 0x16, + 0xf3, 0x17, 0x02, 0x68, 0x3e, 0x55, 0x3c, 0x84, 0xde, 0x19, 0x13, 0x23, 0x69, 0xa0, 0xbd, 0xf5, + 0xfd, 0x81, 0x3b, 0xc8, 0xf1, 0x0f, 0xf3, 0x00, 0x29, 0xe3, 0xf8, 0x75, 0x18, 0xd0, 0x84, 0xbf, + 0x27, 0xe2, 0x34, 0x29, 0xc7, 0x19, 0xb8, 0x5b, 0xd9, 0x74, 0x38, 0xb8, 0x7f, 0x72, 0x54, 0x06, + 0x49, 0x93, 0xcf, 0xc1, 0x95, 0x95, 0x4b, 0x63, 0xbd, 0x01, 0x93, 0x2a, 0x48, 0x9a, 0x3c, 0xbe, + 0x07, 0x5b, 0xd5, 0xe1, 0x98, 0x86, 0x4c, 0x1a, 0xdd, 0x82, 0xb0, 0x93, 0x4d, 0x87, 0x5b, 0xa4, + 0x9d, 0x20, 0xb3, 0x38, 0xfc, 0x0e, 0x6c, 0x47, 0x71, 0x54, 0x41, 0x3e, 0x26, 0x0f, 0xa4, 0xd1, + 0x2b, 0xa8, 0x2f, 0x65, 0xd3, 0xe1, 0xf6, 0xf1, 0x6c, 0x8a, 0x5c, 0xc6, 0x5a, 0xdf, 0xc0, 0x4e, + 0xcb, 0xab, 0xf4, 0x87, 0xe4, 0x03, 0x24, 0x75, 0x50, 0x6f, 0xf4, 0x46, 0xde, 0x57, 0x5b, 0x51, + 0x13, 0x23, 0xad, 0xd2, 0xd6, 0xaf, 0x08, 0xba, 0xff, 0x7b, 0x2b, 0xff, 0x71, 0x0d, 0x36, 0x9f, + 0x7b, 0xf8, 0xd2, 0x1e, 0x9e, 0x1b, 0xc8, 0x6a, 0x4d, 0xf1, 0xc6, 0x06, 0x72, 0xbd, 0x1b, 0xfe, + 0x82, 0xa0, 0xbf, 0x22, 0x1b, 0x24, 0xb3, 0x2a, 0x6e, 0xff, 0x3b, 0x15, 0x8b, 0xc7, 0xff, 0x1a, + 0xaa, 0xfd, 0xe0, 0x5b, 0xd0, 0xaf, 0xac, 0xab, 0x18, 0x7e, 0xd0, 0x0c, 0x53, 0xb9, 0x1b, 0xa9, + 0x11, 0x78, 0x0f, 0xba, 0x13, 0x1e, 0x8d, 0x8d, 0xb5, 0x02, 0xf9, 0x82, 0x46, 0x76, 0xdf, 0xe7, + 0xd1, 0x98, 0x14, 0x99, 0x1c, 0x11, 0xd1, 0x90, 0x15, 0x0f, 0xa8, 0x85, 0xc8, 0x4d, 0x8b, 0x14, + 0x19, 0xeb, 0x27, 0x04, 0x1b, 0xfa, 0xf1, 0xd5, 0xf5, 0xd0, 0x95, 0xf5, 0x0e, 0x01, 0x68, 0xc2, + 0x1f, 0x32, 0x21, 0x79, 0x1c, 0xe9, 0xbe, 0xf5, 0x57, 0x72, 0xff, 0xe4, 0x48, 0x67, 0x48, 0x0b, + 0x75, 0xfd, 0x0c, 0xd8, 0x81, 0x41, 0xfe, 0x2b, 0x13, 0xea, 0x31, 0xa3, 0x5b, 0xc0, 0x76, 0x34, + 0x6c, 0x70, 0x5c, 0x25, 0x48, 0x83, 0x71, 0x5f, 0x3b, 0xbf, 0x30, 0x3b, 0x4f, 0x2f, 0xcc, 0xce, + 0xb3, 0x0b, 0xb3, 0xf3, 0x6d, 0x66, 0xa2, 0xf3, 0xcc, 0x44, 0x4f, 0x33, 0x13, 0xfd, 0x91, 0x99, + 0xe8, 0xfb, 0x3f, 0xcd, 0xce, 0x67, 0x1b, 0xfa, 0xde, 0xff, 0x0e, 0x00, 0x00, 0xff, 0xff, 0x14, + 0x07, 0x5d, 0xd2, 0x76, 0x0c, 0x00, 0x00, } diff --git a/pkg/apis/rbac/v1beta1/generated.proto b/pkg/apis/rbac/v1beta1/generated.proto index c2cb2c74c8f..04806da8b6c 100644 --- a/pkg/apis/rbac/v1beta1/generated.proto +++ b/pkg/apis/rbac/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.rbac.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/apis/storage/v1beta1/generated.pb.go b/pkg/apis/storage/v1beta1/generated.pb.go index 561cf5ab0ac..248eea13f39 100644 --- a/pkg/apis/storage/v1beta1/generated.pb.go +++ b/pkg/apis/storage/v1beta1/generated.pb.go @@ -696,36 +696,36 @@ var ( ) var fileDescriptorGenerated = []byte{ - // 481 bytes of a gzipped FileDescriptorProto + // 483 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x9c, 0x92, 0xcf, 0x8b, 0xd3, 0x40, - 0x14, 0xc7, 0x93, 0x96, 0xe2, 0xee, 0x54, 0xb1, 0x44, 0x0f, 0xa5, 0x87, 0x6c, 0xd9, 0x53, 0x15, - 0x9d, 0xb1, 0x45, 0xa5, 0x2c, 0x78, 0xa9, 0x08, 0x0a, 0x8a, 0x4b, 0xbc, 0x89, 0x82, 0x93, 0xec, - 0x33, 0x1d, 0xd3, 0x64, 0xc2, 0xcc, 0x4b, 0xa0, 0xe0, 0xc1, 0x3f, 0xc1, 0x3f, 0xab, 0x37, 0xf7, - 0xe8, 0x69, 0xb1, 0xd1, 0x3f, 0x44, 0xf2, 0xc3, 0x4d, 0xd8, 0x6c, 0x71, 0xd9, 0x5b, 0xde, 0xcc, - 0xfb, 0x7c, 0xdf, 0xf7, 0x7d, 0x27, 0xe4, 0x28, 0x98, 0x6b, 0x2a, 0x24, 0x0b, 0x12, 0x17, 0x54, - 0x04, 0x08, 0x9a, 0xc5, 0x81, 0xcf, 0x78, 0x2c, 0x34, 0xd3, 0x28, 0x15, 0xf7, 0x81, 0xa5, 0x53, - 0x17, 0x90, 0x4f, 0x99, 0x0f, 0x11, 0x28, 0x8e, 0x70, 0x42, 0x63, 0x25, 0x51, 0x5a, 0xf7, 0x4b, - 0x96, 0xd6, 0x2c, 0x8d, 0x03, 0x9f, 0xe6, 0x2c, 0xad, 0x58, 0x5a, 0xb1, 0xa3, 0x87, 0xbe, 0xc0, - 0x65, 0xe2, 0x52, 0x4f, 0x86, 0xcc, 0x97, 0xbe, 0x64, 0x85, 0x84, 0x9b, 0x7c, 0x2e, 0xaa, 0xa2, - 0x28, 0xbe, 0x4a, 0xe9, 0xd1, 0xe3, 0xca, 0x16, 0x8f, 0x45, 0xc8, 0xbd, 0xa5, 0x88, 0x40, 0xad, - 0x6b, 0x63, 0x21, 0x20, 0x67, 0x69, 0xcb, 0xd0, 0x88, 0xed, 0xa2, 0x54, 0x12, 0xa1, 0x08, 0xa1, - 0x05, 0x3c, 0xfd, 0x1f, 0xa0, 0xbd, 0x25, 0x84, 0xbc, 0xc5, 0xcd, 0x76, 0xa6, 0xc6, 0x14, 0x68, - 0x99, 0x28, 0xaf, 0x3d, 0xeb, 0xc1, 0x6e, 0xe6, 0x92, 0x55, 0xa6, 0x97, 0x77, 0x27, 0x28, 0x56, - 0x4c, 0x44, 0xa8, 0x51, 0x5d, 0x44, 0x0e, 0xff, 0x74, 0xc8, 0xcd, 0x77, 0x65, 0xec, 0xcf, 0x57, - 0x5c, 0x6b, 0xeb, 0x13, 0xd9, 0xcb, 0x93, 0x3a, 0xe1, 0xc8, 0x87, 0xe6, 0xd8, 0x9c, 0xf4, 0x67, - 0x8f, 0x68, 0xf5, 0x64, 0xcd, 0x85, 0xeb, 0x47, 0xcb, 0xbb, 0x69, 0x3a, 0xa5, 0x6f, 0xdd, 0x2f, - 0xe0, 0xe1, 0x1b, 0x40, 0xbe, 0xb0, 0x36, 0x67, 0x07, 0x46, 0x76, 0x76, 0x40, 0xea, 0x33, 0xe7, - 0x5c, 0xd5, 0x7a, 0x42, 0xfa, 0xb1, 0x92, 0xa9, 0xd0, 0x42, 0x46, 0xa0, 0x86, 0x9d, 0xb1, 0x39, - 0xd9, 0x5f, 0xdc, 0xa9, 0x90, 0xfe, 0x71, 0x7d, 0xe5, 0x34, 0xfb, 0xac, 0xaf, 0x84, 0xc4, 0x5c, - 0xf1, 0x10, 0x10, 0x94, 0x1e, 0x76, 0xc7, 0xdd, 0x49, 0x7f, 0xf6, 0x92, 0x5e, 0xfd, 0x6f, 0xa2, - 0xcd, 0x35, 0xe9, 0xf1, 0xb9, 0xd4, 0x8b, 0x08, 0xd5, 0xba, 0xb6, 0x5c, 0x5f, 0x38, 0x8d, 0x79, - 0xa3, 0x67, 0xe4, 0xf6, 0x05, 0xc4, 0x1a, 0x90, 0x6e, 0x00, 0xeb, 0x22, 0xa4, 0x7d, 0x27, 0xff, - 0xb4, 0xee, 0x92, 0x5e, 0xca, 0x57, 0x09, 0x94, 0x3b, 0x39, 0x65, 0x71, 0xd4, 0x99, 0x9b, 0x87, - 0x3f, 0x4c, 0x32, 0x68, 0xce, 0x7f, 0x2d, 0x34, 0x5a, 0x1f, 0x5a, 0x51, 0xd3, 0xab, 0x45, 0x9d, - 0xd3, 0x45, 0xd0, 0x83, 0xca, 0xf5, 0xde, 0xbf, 0x93, 0x46, 0xcc, 0x1f, 0x49, 0x4f, 0x20, 0x84, - 0x7a, 0xd8, 0x29, 0xa2, 0x9a, 0x5f, 0x37, 0xaa, 0xc5, 0xad, 0x6a, 0x48, 0xef, 0x55, 0x2e, 0xe7, - 0x94, 0xaa, 0x8b, 0x7b, 0x9b, 0xad, 0x6d, 0x9c, 0x6e, 0x6d, 0xe3, 0xe7, 0xd6, 0x36, 0xbe, 0x65, - 0xb6, 0xb9, 0xc9, 0x6c, 0xf3, 0x34, 0xb3, 0xcd, 0x5f, 0x99, 0x6d, 0x7e, 0xff, 0x6d, 0x1b, 0xef, - 0x6f, 0x54, 0x6a, 0x7f, 0x03, 0x00, 0x00, 0xff, 0xff, 0xfe, 0xb6, 0x02, 0x5f, 0x2f, 0x04, 0x00, - 0x00, + 0x14, 0xc7, 0x3b, 0x2d, 0xc5, 0xdd, 0xa9, 0x62, 0x89, 0x1e, 0x4a, 0x0f, 0xd9, 0xb2, 0xa7, 0x2a, + 0x3a, 0x63, 0x17, 0x95, 0xb2, 0xe0, 0xa5, 0x22, 0x28, 0x28, 0x2e, 0xf1, 0x26, 0x0a, 0x4e, 0xb2, + 0xcf, 0x74, 0x4c, 0x93, 0x09, 0x33, 0x2f, 0x81, 0x82, 0x07, 0xff, 0x04, 0xff, 0xac, 0xde, 0xdc, + 0xa3, 0xa7, 0xc5, 0x46, 0xff, 0x10, 0xc9, 0x8f, 0xdd, 0x84, 0x76, 0x57, 0x97, 0xbd, 0xe5, 0xcd, + 0xbc, 0xcf, 0xf7, 0x7d, 0xdf, 0x77, 0x42, 0x0f, 0x83, 0xa9, 0x61, 0x52, 0xf1, 0x20, 0x71, 0x41, + 0x47, 0x80, 0x60, 0x78, 0x1c, 0xf8, 0x5c, 0xc4, 0xd2, 0x70, 0x83, 0x4a, 0x0b, 0x1f, 0x78, 0x3a, + 0x71, 0x01, 0xc5, 0x84, 0xfb, 0x10, 0x81, 0x16, 0x08, 0xc7, 0x2c, 0xd6, 0x0a, 0x95, 0x75, 0xbf, + 0x64, 0x59, 0xcd, 0xb2, 0x38, 0xf0, 0x59, 0xce, 0xb2, 0x8a, 0x65, 0x15, 0x3b, 0x7c, 0xe8, 0x4b, + 0x9c, 0x27, 0x2e, 0xf3, 0x54, 0xc8, 0x7d, 0xe5, 0x2b, 0x5e, 0x48, 0xb8, 0xc9, 0xe7, 0xa2, 0x2a, + 0x8a, 0xe2, 0xab, 0x94, 0x1e, 0x3e, 0xae, 0x6c, 0x89, 0x58, 0x86, 0xc2, 0x9b, 0xcb, 0x08, 0xf4, + 0xf2, 0xcc, 0x18, 0xd7, 0x60, 0x54, 0xa2, 0x3d, 0xd8, 0x34, 0xf4, 0x4f, 0xca, 0xf0, 0x10, 0x50, + 0xf0, 0x74, 0x6b, 0x8d, 0x21, 0xbf, 0x8c, 0xd2, 0x49, 0x84, 0x32, 0xdc, 0x1e, 0xf3, 0xf4, 0x7f, + 0x80, 0xf1, 0xe6, 0x10, 0x8a, 0x2d, 0xee, 0xc1, 0xa5, 0x59, 0x5f, 0x64, 0x6b, 0x72, 0x71, 0x77, + 0x82, 0x72, 0xc1, 0x65, 0x84, 0x06, 0xf5, 0x26, 0xb2, 0xff, 0xa7, 0x4d, 0x6f, 0xbe, 0x2b, 0x83, + 0x7f, 0xbe, 0x10, 0xc6, 0x58, 0x9f, 0xe8, 0x4e, 0xbe, 0xf5, 0xb1, 0x40, 0x31, 0x20, 0x23, 0x32, + 0xee, 0x1d, 0x3c, 0x62, 0xd5, 0xa3, 0x35, 0xcd, 0xd7, 0xcf, 0x96, 0x77, 0xb3, 0x74, 0xc2, 0xde, + 0xba, 0x5f, 0xc0, 0xc3, 0x37, 0x80, 0x62, 0x66, 0xad, 0x4e, 0xf7, 0x5a, 0xd9, 0xe9, 0x1e, 0xad, + 0xcf, 0x9c, 0x73, 0x55, 0xeb, 0x09, 0xed, 0xc5, 0x5a, 0xa5, 0xd2, 0x48, 0x15, 0x81, 0x1e, 0xb4, + 0x47, 0x64, 0xbc, 0x3b, 0xbb, 0x53, 0x21, 0xbd, 0xa3, 0xfa, 0xca, 0x69, 0xf6, 0x59, 0x5f, 0x29, + 0x8d, 0x85, 0x16, 0x21, 0x20, 0x68, 0x33, 0xe8, 0x8c, 0x3a, 0xe3, 0xde, 0xc1, 0x4b, 0x76, 0xf5, + 0xff, 0x89, 0x35, 0xd7, 0x64, 0x47, 0xe7, 0x52, 0x2f, 0x22, 0xd4, 0xcb, 0xda, 0x72, 0x7d, 0xe1, + 0x34, 0xe6, 0x0d, 0x9f, 0xd1, 0xdb, 0x1b, 0x88, 0xd5, 0xa7, 0x9d, 0x00, 0x96, 0x45, 0x48, 0xbb, + 0x4e, 0xfe, 0x69, 0xdd, 0xa5, 0xdd, 0x54, 0x2c, 0x12, 0x28, 0x77, 0x72, 0xca, 0xe2, 0xb0, 0x3d, + 0x25, 0xfb, 0x3f, 0x08, 0xed, 0x37, 0xe7, 0xbf, 0x96, 0x06, 0xad, 0x0f, 0x5b, 0x51, 0xb3, 0xab, + 0x45, 0x9d, 0xd3, 0x45, 0xd0, 0xfd, 0xca, 0xf5, 0xce, 0xd9, 0x49, 0x23, 0xe6, 0x8f, 0xb4, 0x2b, + 0x11, 0x42, 0x33, 0x68, 0x17, 0x51, 0x4d, 0xaf, 0x1b, 0xd5, 0xec, 0x56, 0x35, 0xa4, 0xfb, 0x2a, + 0x97, 0x73, 0x4a, 0xd5, 0xd9, 0xbd, 0xd5, 0xda, 0x6e, 0x9d, 0xac, 0xed, 0xd6, 0xcf, 0xb5, 0xdd, + 0xfa, 0x96, 0xd9, 0x64, 0x95, 0xd9, 0xe4, 0x24, 0xb3, 0xc9, 0xaf, 0xcc, 0x26, 0xdf, 0x7f, 0xdb, + 0xad, 0xf7, 0x37, 0x2a, 0xb5, 0xbf, 0x01, 0x00, 0x00, 0xff, 0xff, 0x87, 0x2f, 0x57, 0x0f, 0x31, + 0x04, 0x00, 0x00, } diff --git a/pkg/apis/storage/v1beta1/generated.proto b/pkg/apis/storage/v1beta1/generated.proto index 8c89490b490..752c03fa714 100644 --- a/pkg/apis/storage/v1beta1/generated.proto +++ b/pkg/apis/storage/v1beta1/generated.proto @@ -21,10 +21,10 @@ syntax = 'proto2'; package k8s.io.kubernetes.pkg.apis.storage.v1beta1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/client/unversioned/testclient/simple/BUILD b/pkg/client/unversioned/testclient/simple/BUILD index 8a24295dc63..54d73f74dce 100644 --- a/pkg/client/unversioned/testclient/simple/BUILD +++ b/pkg/client/unversioned/testclient/simple/BUILD @@ -15,6 +15,7 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/client/unversioned/testclient/simple/simple_testclient.go b/pkg/client/unversioned/testclient/simple/simple_testclient.go index a9f948dd920..34649d0f0de 100644 --- a/pkg/client/unversioned/testclient/simple/simple_testclient.go +++ b/pkg/client/unversioned/testclient/simple/simple_testclient.go @@ -24,6 +24,7 @@ import ( "strings" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -99,7 +100,7 @@ func (c *Client) ServerURL() string { func (c *Client) Validate(t *testing.T, received runtime.Object, err error) { c.ValidateCommon(t, err) - if c.Response.Body != nil && !api.Semantic.DeepDerivative(c.Response.Body, received) { + if c.Response.Body != nil && !apiequality.Semantic.DeepDerivative(c.Response.Body, received) { t.Errorf("bad response for request %#v: \nexpected %#v\ngot %#v\n", c.Request, c.Response.Body, received) } } diff --git a/pkg/cloudprovider/providers/mesos/BUILD b/pkg/cloudprovider/providers/mesos/BUILD index 4c4aeced39e..00f68c73af0 100644 --- a/pkg/cloudprovider/providers/mesos/BUILD +++ b/pkg/cloudprovider/providers/mesos/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//vendor:github.com/golang/glog", @@ -27,6 +26,7 @@ go_library( "//vendor:github.com/mesos/mesos-go/mesosproto", "//vendor:golang.org/x/net/context", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/net", ], diff --git a/pkg/cloudprovider/providers/mesos/client.go b/pkg/cloudprovider/providers/mesos/client.go index 88207dbc65e..74cccdf089d 100644 --- a/pkg/cloudprovider/providers/mesos/client.go +++ b/pkg/cloudprovider/providers/mesos/client.go @@ -31,8 +31,8 @@ import ( "github.com/mesos/mesos-go/detector" mesos "github.com/mesos/mesos-go/mesosproto" "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/api/resource" utilnet "k8s.io/apimachinery/pkg/util/net" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/cloudprovider/providers/openstack/BUILD b/pkg/cloudprovider/providers/openstack/BUILD index 54f0abb9c1e..e30be109940 100644 --- a/pkg/cloudprovider/providers/openstack/BUILD +++ b/pkg/cloudprovider/providers/openstack/BUILD @@ -20,7 +20,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/service:go_default_library", "//pkg/cloudprovider:go_default_library", @@ -53,6 +52,7 @@ go_library( "//vendor:github.com/rackspace/gophercloud/openstack/networking/v2/ports", "//vendor:github.com/rackspace/gophercloud/pagination", "//vendor:gopkg.in/gcfg.v1", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/types", ], ) diff --git a/pkg/cloudprovider/providers/openstack/openstack_instances.go b/pkg/cloudprovider/providers/openstack/openstack_instances.go index 515c7776765..244be64fd26 100644 --- a/pkg/cloudprovider/providers/openstack/openstack_instances.go +++ b/pkg/cloudprovider/providers/openstack/openstack_instances.go @@ -26,8 +26,8 @@ import ( "github.com/rackspace/gophercloud/openstack/compute/v2/servers" "github.com/rackspace/gophercloud/pagination" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" ) diff --git a/pkg/controller/BUILD b/pkg/controller/BUILD index 672ca03876d..c46548798ff 100644 --- a/pkg/controller/BUILD +++ b/pkg/controller/BUILD @@ -60,6 +60,7 @@ go_test( "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/pkg/controller/controller_utils_test.go b/pkg/controller/controller_utils_test.go index 5c4df724430..a3d6df03d5a 100644 --- a/pkg/controller/controller_utils_test.go +++ b/pkg/controller/controller_utils_test.go @@ -27,6 +27,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/sets" @@ -273,7 +274,7 @@ func TestCreatePods(t *testing.T) { if err != nil { t.Fatalf("Unexpected error: %v", err) } - if !api.Semantic.DeepDerivative(&expectedPod, actualPod) { + if !apiequality.Semantic.DeepDerivative(&expectedPod, actualPod) { t.Logf("Body: %s", fakeHandler.RequestBody) t.Errorf("Unexpected mismatch. Expected\n %#v,\n Got:\n %#v", &expectedPod, actualPod) } diff --git a/pkg/controller/daemon/BUILD b/pkg/controller/daemon/BUILD index 435b8b699e8..2fd117ce7d9 100644 --- a/pkg/controller/daemon/BUILD +++ b/pkg/controller/daemon/BUILD @@ -47,7 +47,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", @@ -55,6 +54,7 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/storage/names", diff --git a/pkg/controller/daemon/daemoncontroller_test.go b/pkg/controller/daemon/daemoncontroller_test.go index 3000043341f..4e495e18773 100644 --- a/pkg/controller/daemon/daemoncontroller_test.go +++ b/pkg/controller/daemon/daemoncontroller_test.go @@ -20,13 +20,13 @@ import ( "fmt" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/storage/names" core "k8s.io/client-go/testing" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" diff --git a/pkg/controller/deployment/BUILD b/pkg/controller/deployment/BUILD index fe0c1f83d94..1a1b371d131 100644 --- a/pkg/controller/deployment/BUILD +++ b/pkg/controller/deployment/BUILD @@ -34,6 +34,7 @@ go_library( "//pkg/util/metrics:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/controller/deployment/deployment_controller.go b/pkg/controller/deployment/deployment_controller.go index aadc8f0052e..f3e3102be78 100644 --- a/pkg/controller/deployment/deployment_controller.go +++ b/pkg/controller/deployment/deployment_controller.go @@ -27,6 +27,7 @@ import ( "time" "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -35,7 +36,6 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -285,7 +285,7 @@ func (dc *DeploymentController) updateReplicaSet(old, cur interface{}) { } // A number of things could affect the old deployment: labels changing, // pod template changing, etc. - if !api.Semantic.DeepEqual(oldRS, curRS) { + if !apiequality.Semantic.DeepEqual(oldRS, curRS) { if oldD := dc.getDeploymentForReplicaSet(oldRS); oldD != nil { dc.enqueueDeployment(oldD) } diff --git a/pkg/controller/deployment/util/BUILD b/pkg/controller/deployment/util/BUILD index 5518e217653..29ebc645ec3 100644 --- a/pkg/controller/deployment/util/BUILD +++ b/pkg/controller/deployment/util/BUILD @@ -32,6 +32,7 @@ go_library( "//pkg/util/intstr:go_default_library", "//pkg/util/labels:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", @@ -57,6 +58,7 @@ go_test( "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/client-go/testing", diff --git a/pkg/controller/deployment/util/deployment_util.go b/pkg/controller/deployment/util/deployment_util.go index 977dfc470c1..7ad13c5edc0 100644 --- a/pkg/controller/deployment/util/deployment_util.go +++ b/pkg/controller/deployment/util/deployment_util.go @@ -25,6 +25,7 @@ import ( "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" @@ -605,7 +606,7 @@ func EqualIgnoreHash(template1, template2 v1.PodTemplateSpec) bool { } // Then, compare the templates without comparing their labels template1.Labels, template2.Labels = nil, nil - return api.Semantic.DeepEqual(template1, template2) + return apiequality.Semantic.DeepEqual(template1, template2) } // FindNewReplicaSet returns the new RS this given deployment targets (the one with the same pod template). diff --git a/pkg/controller/deployment/util/deployment_util_test.go b/pkg/controller/deployment/util/deployment_util_test.go index 267ecaeab83..e8edfde391a 100644 --- a/pkg/controller/deployment/util/deployment_util_test.go +++ b/pkg/controller/deployment/util/deployment_util_test.go @@ -24,6 +24,7 @@ import ( "github.com/stretchr/testify/assert" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" core "k8s.io/client-go/testing" @@ -256,7 +257,7 @@ func TestGetNewRC(t *testing.T) { if err != nil { t.Errorf("In test case %s, got unexpected error %v", test.test, err) } - if !api.Semantic.DeepEqual(rs, test.expected) { + if !apiequality.Semantic.DeepEqual(rs, test.expected) { t.Errorf("In test case %s, expected %#v, got %#v", test.test, test.expected, rs) } } diff --git a/pkg/controller/job/BUILD b/pkg/controller/job/BUILD index 983ea66268f..e85d0d2da3a 100644 --- a/pkg/controller/job/BUILD +++ b/pkg/controller/job/BUILD @@ -53,6 +53,7 @@ go_test( "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/rand", "//vendor:k8s.io/apimachinery/pkg/util/wait", diff --git a/pkg/controller/job/jobcontroller_test.go b/pkg/controller/job/jobcontroller_test.go index 42415704bb5..f1f2c73f5b2 100644 --- a/pkg/controller/job/jobcontroller_test.go +++ b/pkg/controller/job/jobcontroller_test.go @@ -21,6 +21,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/rand" "k8s.io/apimachinery/pkg/util/wait" @@ -656,7 +657,7 @@ func TestWatchJobs(t *testing.T) { t.Errorf("Expected to find job under key %v: %v", key, err) return nil } - if !api.Semantic.DeepDerivative(*job, testJob) { + if !apiequality.Semantic.DeepDerivative(*job, testJob) { t.Errorf("Expected %#v, but got %#v", testJob, *job) } return nil @@ -699,7 +700,7 @@ func TestWatchPods(t *testing.T) { if err != nil { t.Errorf("Expected to find job under key %v: %v", key, err) } - if !api.Semantic.DeepDerivative(job, testJob) { + if !apiequality.Semantic.DeepDerivative(job, testJob) { t.Errorf("\nExpected %#v,\nbut got %#v", testJob, job) close(received) return nil diff --git a/pkg/controller/node/BUILD b/pkg/controller/node/BUILD index f35d45bd23a..f7b288d0b03 100644 --- a/pkg/controller/node/BUILD +++ b/pkg/controller/node/BUILD @@ -36,6 +36,7 @@ go_library( "//pkg/util/version:go_default_library", "//vendor:github.com/golang/glog", "//vendor:github.com/prometheus/client_golang/prometheus", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", @@ -61,8 +62,6 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -74,6 +73,8 @@ go_test( "//pkg/controller/node/testutil:go_default_library", "//pkg/util/node:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/diff", diff --git a/pkg/controller/node/nodecontroller.go b/pkg/controller/node/nodecontroller.go index 06567819dce..49be5766e50 100644 --- a/pkg/controller/node/nodecontroller.go +++ b/pkg/controller/node/nodecontroller.go @@ -24,6 +24,7 @@ import ( "time" "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -777,7 +778,7 @@ func (nc *NodeController) tryUpdateNodeStatus(node *v1.Node) (time.Duration, v1. } _, currentCondition := v1.GetNodeCondition(&node.Status, v1.NodeReady) - if !api.Semantic.DeepEqual(currentCondition, &observedReadyCondition) { + if !apiequality.Semantic.DeepEqual(currentCondition, &observedReadyCondition) { if _, err = nc.kubeClient.Core().Nodes().UpdateStatus(node); err != nil { glog.Errorf("Error updating node %s: %v", node.Name, err) return gracePeriod, observedReadyCondition, currentReadyCondition, err diff --git a/pkg/controller/node/nodecontroller_test.go b/pkg/controller/node/nodecontroller_test.go index f2cddb430d9..4415a5b0d11 100644 --- a/pkg/controller/node/nodecontroller_test.go +++ b/pkg/controller/node/nodecontroller_test.go @@ -22,14 +22,14 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/wait" testcore "k8s.io/client-go/testing" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -1524,10 +1524,10 @@ func TestMonitorNodeStatusUpdateStatus(t *testing.T) { if item.expectedRequestCount != item.fakeNodeHandler.RequestCount { t.Errorf("expected %v call, but got %v.", item.expectedRequestCount, item.fakeNodeHandler.RequestCount) } - if len(item.fakeNodeHandler.UpdatedNodes) > 0 && !api.Semantic.DeepEqual(item.expectedNodes, item.fakeNodeHandler.UpdatedNodes) { + if len(item.fakeNodeHandler.UpdatedNodes) > 0 && !apiequality.Semantic.DeepEqual(item.expectedNodes, item.fakeNodeHandler.UpdatedNodes) { t.Errorf("Case[%d] unexpected nodes: %s", i, diff.ObjectDiff(item.expectedNodes[0], item.fakeNodeHandler.UpdatedNodes[0])) } - if len(item.fakeNodeHandler.UpdatedNodeStatuses) > 0 && !api.Semantic.DeepEqual(item.expectedNodes, item.fakeNodeHandler.UpdatedNodeStatuses) { + if len(item.fakeNodeHandler.UpdatedNodeStatuses) > 0 && !apiequality.Semantic.DeepEqual(item.expectedNodes, item.fakeNodeHandler.UpdatedNodeStatuses) { t.Errorf("Case[%d] unexpected nodes: %s", i, diff.ObjectDiff(item.expectedNodes[0], item.fakeNodeHandler.UpdatedNodeStatuses[0])) } } diff --git a/pkg/controller/node/testutil/BUILD b/pkg/controller/node/testutil/BUILD index d0c6c71215f..f3454c41318 100644 --- a/pkg/controller/node/testutil/BUILD +++ b/pkg/controller/node/testutil/BUILD @@ -13,12 +13,12 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/client/clientset_generated/clientset/typed/core/v1:go_default_library", "//pkg/util/node:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/controller/node/testutil/test_utils.go b/pkg/controller/node/testutil/test_utils.go index c6c2490a4e2..b84558d8b62 100644 --- a/pkg/controller/node/testutil/test_utils.go +++ b/pkg/controller/node/testutil/test_utils.go @@ -23,6 +23,7 @@ import ( "time" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -30,7 +31,6 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/util/clock" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" diff --git a/pkg/controller/podautoscaler/BUILD b/pkg/controller/podautoscaler/BUILD index f73f7830a33..dfc3f0c6cc4 100644 --- a/pkg/controller/podautoscaler/BUILD +++ b/pkg/controller/podautoscaler/BUILD @@ -17,7 +17,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", @@ -27,6 +26,7 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/controller/podautoscaler/metrics:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -46,7 +46,6 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/autoscaling/v1:go_default_library", @@ -57,6 +56,7 @@ go_test( "//pkg/controller/podautoscaler/metrics:go_default_library", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", diff --git a/pkg/controller/podautoscaler/horizontal.go b/pkg/controller/podautoscaler/horizontal.go index 99a1fb11918..1d9c05cd798 100644 --- a/pkg/controller/podautoscaler/horizontal.go +++ b/pkg/controller/podautoscaler/horizontal.go @@ -23,12 +23,12 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" extensionsv1beta1 "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" diff --git a/pkg/controller/podautoscaler/horizontal_test.go b/pkg/controller/podautoscaler/horizontal_test.go index dbbc858ebf6..30749dddbee 100644 --- a/pkg/controller/podautoscaler/horizontal_test.go +++ b/pkg/controller/podautoscaler/horizontal_test.go @@ -27,12 +27,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" autoscaling "k8s.io/kubernetes/pkg/apis/autoscaling/v1" diff --git a/pkg/controller/podautoscaler/metrics/BUILD b/pkg/controller/podautoscaler/metrics/BUILD index 73b65fe36a9..2ff7ef83360 100644 --- a/pkg/controller/podautoscaler/metrics/BUILD +++ b/pkg/controller/podautoscaler/metrics/BUILD @@ -33,11 +33,11 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/unversioned:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/controller/podautoscaler/metrics/metrics_client_test.go b/pkg/controller/podautoscaler/metrics/metrics_client_test.go index 4cf379b42d4..d6c3c2e8d78 100644 --- a/pkg/controller/podautoscaler/metrics/metrics_client_test.go +++ b/pkg/controller/podautoscaler/metrics/metrics_client_test.go @@ -23,12 +23,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/pkg/controller/podautoscaler/replica_calculator_test.go b/pkg/controller/podautoscaler/replica_calculator_test.go index a1c8cf6128d..2413bf38a18 100644 --- a/pkg/controller/podautoscaler/replica_calculator_test.go +++ b/pkg/controller/podautoscaler/replica_calculator_test.go @@ -25,11 +25,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" restclient "k8s.io/client-go/rest" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" diff --git a/pkg/controller/replicaset/BUILD b/pkg/controller/replicaset/BUILD index 51e649cc921..108f004eb5f 100644 --- a/pkg/controller/replicaset/BUILD +++ b/pkg/controller/replicaset/BUILD @@ -57,6 +57,7 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/pkg/controller/replicaset/replica_set_test.go b/pkg/controller/replicaset/replica_set_test.go index 739bed38b16..c830afa73a6 100644 --- a/pkg/controller/replicaset/replica_set_test.go +++ b/pkg/controller/replicaset/replica_set_test.go @@ -28,6 +28,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/sets" @@ -541,7 +542,7 @@ func TestWatchControllers(t *testing.T) { t.Errorf("Expected to find replica set under key %v", key) } rsSpec := *obj.(*extensions.ReplicaSet) - if !api.Semantic.DeepDerivative(rsSpec, testRSSpec) { + if !apiequality.Semantic.DeepDerivative(rsSpec, testRSSpec) { t.Errorf("Expected %#v, but got %#v", testRSSpec, rsSpec) } close(received) @@ -583,7 +584,7 @@ func TestWatchPods(t *testing.T) { t.Errorf("Expected to find replica set under key %v", key) } rsSpec := obj.(*extensions.ReplicaSet) - if !api.Semantic.DeepDerivative(rsSpec, testRSSpec) { + if !apiequality.Semantic.DeepDerivative(rsSpec, testRSSpec) { t.Errorf("\nExpected %#v,\nbut got %#v", testRSSpec, rsSpec) } close(received) diff --git a/pkg/controller/replication/BUILD b/pkg/controller/replication/BUILD index 36ec5aa4737..86052a41e40 100644 --- a/pkg/controller/replication/BUILD +++ b/pkg/controller/replication/BUILD @@ -24,7 +24,6 @@ go_library( "//pkg/client/record:go_default_library", "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", - "//pkg/util:go_default_library", "//pkg/util/metrics:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", @@ -35,6 +34,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apiserver/pkg/util/trace", "//vendor:k8s.io/client-go/tools/cache", ], ) @@ -53,6 +53,7 @@ go_test( "//pkg/controller:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/pkg/controller/replication/replication_controller.go b/pkg/controller/replication/replication_controller.go index a83180e9a38..7c3e474a893 100644 --- a/pkg/controller/replication/replication_controller.go +++ b/pkg/controller/replication/replication_controller.go @@ -32,6 +32,7 @@ import ( utilerrors "k8s.io/apimachinery/pkg/util/errors" utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" @@ -40,7 +41,6 @@ import ( "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/controller" "k8s.io/kubernetes/pkg/controller/informers" - "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/metrics" "k8s.io/kubernetes/pkg/util/workqueue" ) @@ -596,7 +596,7 @@ func (rm *ReplicationManager) manageReplicas(filteredPods []*v1.Pod, rc *v1.Repl // it did not expect to see any more of its pods created or deleted. This function is not meant to be invoked // concurrently with the same key. func (rm *ReplicationManager) syncReplicationController(key string) error { - trace := util.NewTrace("syncReplicationController: " + key) + trace := utiltrace.New("syncReplicationController: " + key) defer trace.LogIfLong(250 * time.Millisecond) startTime := time.Now() diff --git a/pkg/controller/replication/replication_controller_test.go b/pkg/controller/replication/replication_controller_test.go index e23bdbe9f0f..b8b43558abb 100644 --- a/pkg/controller/replication/replication_controller_test.go +++ b/pkg/controller/replication/replication_controller_test.go @@ -27,6 +27,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/sets" @@ -471,7 +472,7 @@ func TestWatchControllers(t *testing.T) { t.Errorf("Expected to find controller under key %v", key) } controllerSpec := *obj.(*v1.ReplicationController) - if !api.Semantic.DeepDerivative(controllerSpec, testControllerSpec) { + if !apiequality.Semantic.DeepDerivative(controllerSpec, testControllerSpec) { t.Errorf("Expected %#v, but got %#v", testControllerSpec, controllerSpec) } close(received) @@ -512,7 +513,7 @@ func TestWatchPods(t *testing.T) { t.Errorf("Expected to find controller under key %v", key) } controllerSpec := obj.(*v1.ReplicationController) - if !api.Semantic.DeepDerivative(controllerSpec, testControllerSpec) { + if !apiequality.Semantic.DeepDerivative(controllerSpec, testControllerSpec) { t.Errorf("\nExpected %#v,\nbut got %#v", testControllerSpec, controllerSpec) } close(received) diff --git a/pkg/controller/resourcequota/BUILD b/pkg/controller/resourcequota/BUILD index 76718cc5618..d75ec6b1d82 100644 --- a/pkg/controller/resourcequota/BUILD +++ b/pkg/controller/resourcequota/BUILD @@ -27,6 +27,7 @@ go_library( "//pkg/util/metrics:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -48,13 +49,13 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/controller:go_default_library", "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", diff --git a/pkg/controller/resourcequota/resource_quota_controller.go b/pkg/controller/resourcequota/resource_quota_controller.go index 68c2f174d68..55405d07f20 100644 --- a/pkg/controller/resourcequota/resource_quota_controller.go +++ b/pkg/controller/resourcequota/resource_quota_controller.go @@ -21,6 +21,7 @@ import ( "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -174,7 +175,7 @@ func (rq *ResourceQuotaController) addQuota(obj interface{}) { resourceQuota := obj.(*v1.ResourceQuota) // if we declared an intent that is not yet captured in status (prioritize it) - if !api.Semantic.DeepEqual(resourceQuota.Spec.Hard, resourceQuota.Status.Hard) { + if !apiequality.Semantic.DeepEqual(resourceQuota.Spec.Hard, resourceQuota.Status.Hard) { rq.missingUsageQueue.Add(key) return } @@ -268,7 +269,7 @@ func (rq *ResourceQuotaController) syncResourceQuotaFromKey(key string) (err err // syncResourceQuota runs a complete sync of resource quota status across all known kinds func (rq *ResourceQuotaController) syncResourceQuota(v1ResourceQuota v1.ResourceQuota) (err error) { // quota is dirty if any part of spec hard limits differs from the status hard limits - dirty := !api.Semantic.DeepEqual(v1ResourceQuota.Spec.Hard, v1ResourceQuota.Status.Hard) + dirty := !apiequality.Semantic.DeepEqual(v1ResourceQuota.Spec.Hard, v1ResourceQuota.Status.Hard) resourceQuota := api.ResourceQuota{} if err := v1.Convert_v1_ResourceQuota_To_api_ResourceQuota(&v1ResourceQuota, &resourceQuota, nil); err != nil { diff --git a/pkg/controller/resourcequota/resource_quota_controller_test.go b/pkg/controller/resourcequota/resource_quota_controller_test.go index fee409c70ba..d85d884211b 100644 --- a/pkg/controller/resourcequota/resource_quota_controller_test.go +++ b/pkg/controller/resourcequota/resource_quota_controller_test.go @@ -20,12 +20,12 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" core "k8s.io/client-go/testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/controller" diff --git a/pkg/controller/statefulset/BUILD b/pkg/controller/statefulset/BUILD index ae9d1616dc7..624fe143eaa 100644 --- a/pkg/controller/statefulset/BUILD +++ b/pkg/controller/statefulset/BUILD @@ -20,7 +20,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", @@ -34,6 +33,7 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:gopkg.in/inf.v0", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/controller/statefulset/fakes.go b/pkg/controller/statefulset/fakes.go index 6f138654a84..ca847934ca8 100644 --- a/pkg/controller/statefulset/fakes.go +++ b/pkg/controller/statefulset/fakes.go @@ -22,10 +22,10 @@ import ( inf "gopkg.in/inf.v0" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" apipod "k8s.io/kubernetes/pkg/api/v1/pod" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" diff --git a/pkg/controller/volume/persistentvolume/BUILD b/pkg/controller/volume/persistentvolume/BUILD index 9eb061f07ee..9a9996c4209 100644 --- a/pkg/controller/volume/persistentvolume/BUILD +++ b/pkg/controller/volume/persistentvolume/BUILD @@ -60,7 +60,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", @@ -71,6 +70,7 @@ go_test( "//pkg/controller/volume/persistentvolume/testing:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/controller/volume/persistentvolume/framework_test.go b/pkg/controller/volume/persistentvolume/framework_test.go index ae2c339419d..42260724ec1 100644 --- a/pkg/controller/volume/persistentvolume/framework_test.go +++ b/pkg/controller/volume/persistentvolume/framework_test.go @@ -29,6 +29,7 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -37,7 +38,6 @@ import ( core "k8s.io/client-go/testing" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" diff --git a/pkg/controller/volume/persistentvolume/index_test.go b/pkg/controller/volume/persistentvolume/index_test.go index 62d34baf6a4..d74100afe42 100644 --- a/pkg/controller/volume/persistentvolume/index_test.go +++ b/pkg/controller/volume/persistentvolume/index_test.go @@ -20,8 +20,8 @@ import ( "sort" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" diff --git a/pkg/fieldpath/BUILD b/pkg/fieldpath/BUILD index d6d29f73361..77fab5b9d69 100644 --- a/pkg/fieldpath/BUILD +++ b/pkg/fieldpath/BUILD @@ -17,9 +17,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", ], ) @@ -29,9 +29,9 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/fieldpath/fieldpath.go b/pkg/fieldpath/fieldpath.go index f955dccdbe9..bd4d2f371d0 100644 --- a/pkg/fieldpath/fieldpath.go +++ b/pkg/fieldpath/fieldpath.go @@ -23,8 +23,8 @@ import ( "strings" "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/fieldpath/fieldpath_test.go b/pkg/fieldpath/fieldpath_test.go index c2794967f66..a7e74b1f61e 100644 --- a/pkg/fieldpath/fieldpath_test.go +++ b/pkg/fieldpath/fieldpath_test.go @@ -22,8 +22,8 @@ import ( "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/generated/openapi/BUILD b/pkg/generated/openapi/BUILD index b7601f46e26..565693059e5 100644 --- a/pkg/generated/openapi/BUILD +++ b/pkg/generated/openapi/BUILD @@ -15,9 +15,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/util/intstr:go_default_library", "//vendor:github.com/go-openapi/spec", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/openapi", ], diff --git a/pkg/generated/openapi/zz_generated.openapi.go b/pkg/generated/openapi/zz_generated.openapi.go index 4942583252e..429f1cc842e 100644 --- a/pkg/generated/openapi/zz_generated.openapi.go +++ b/pkg/generated/openapi/zz_generated.openapi.go @@ -22,9 +22,9 @@ package openapi import ( spec "github.com/go-openapi/spec" + resource "k8s.io/apimachinery/pkg/api/resource" v1 "k8s.io/apimachinery/pkg/apis/meta/v1" openapi "k8s.io/apimachinery/pkg/openapi" - resource "k8s.io/kubernetes/pkg/api/resource" intstr "k8s.io/kubernetes/pkg/util/intstr" ) diff --git a/pkg/genericapiserver/endpoints/BUILD b/pkg/genericapiserver/endpoints/BUILD index be06efbfe97..23221576e07 100644 --- a/pkg/genericapiserver/endpoints/BUILD +++ b/pkg/genericapiserver/endpoints/BUILD @@ -31,8 +31,10 @@ go_test( "//plugin/pkg/admission/deny:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:golang.org/x/net/websocket", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/testing", "//vendor:k8s.io/apimachinery/pkg/apis/meta/internalversion", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/genericapiserver/endpoints/apiserver_test.go b/pkg/genericapiserver/endpoints/apiserver_test.go index b0869dda9d6..165791f5eab 100644 --- a/pkg/genericapiserver/endpoints/apiserver_test.go +++ b/pkg/genericapiserver/endpoints/apiserver_test.go @@ -34,8 +34,12 @@ import ( "testing" "time" + "github.com/emicklei/go-restful" + + apiequality "k8s.io/apimachinery/pkg/api/equality" apierrs "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" + apitesting "k8s.io/apimachinery/pkg/api/testing" metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -48,7 +52,7 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - apitesting "k8s.io/kubernetes/pkg/api/testing" + kapitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" genericapifilters "k8s.io/kubernetes/pkg/genericapiserver/endpoints/filters" "k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters" @@ -56,8 +60,6 @@ import ( "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/plugin/pkg/admission/admit" "k8s.io/kubernetes/plugin/pkg/admission/deny" - - "github.com/emicklei/go-restful" ) // This creates fake API versions, similar to api/latest.go. @@ -1738,7 +1740,7 @@ func TestConnectResponderObject(t *testing.T) { if err != nil { t.Fatal(err) } - if !api.Semantic.DeepEqual(obj, simple) { + if !apiequality.Semantic.DeepEqual(obj, simple) { t.Errorf("Unexpected response: %#v", obj) } } @@ -1968,7 +1970,7 @@ func TestDeleteWithOptions(t *testing.T) { t.Errorf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) - if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { + if !apiequality.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } } @@ -2005,7 +2007,7 @@ func TestDeleteWithOptionsQuery(t *testing.T) { t.Fatalf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) - if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { + if !apiequality.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } } @@ -2045,7 +2047,7 @@ func TestDeleteWithOptionsQueryAndBody(t *testing.T) { t.Errorf("Unexpected delete: %s, expected %s", simpleStorage.deleted, ID) } simpleStorage.deleteOptions.GetObjectKind().SetGroupVersionKind(schema.GroupVersionKind{}) - if !api.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { + if !apiequality.Semantic.DeepEqual(simpleStorage.deleteOptions, item) { t.Errorf("unexpected delete options: %s", diff.ObjectDiff(simpleStorage.deleteOptions, item)) } } @@ -3338,7 +3340,7 @@ func readBodyOrDie(r io.Reader) []byte { // BenchmarkUpdateProtobuf measures the cost of processing an update on the server in proto func BenchmarkUpdateProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) simpleStorage := &SimpleRESTStorage{} handler := handle(map[string]rest.Storage{"simples": simpleStorage}) @@ -3394,8 +3396,8 @@ func newTestRequestInfoResolver() *request.RequestInfoFactory { const benchmarkSeed = 100 -func benchmarkItems() []api.Pod { - apiObjectFuzzer := apitesting.FuzzerFor(nil, api.SchemeGroupVersion, rand.NewSource(benchmarkSeed)) +func benchmarkItems(b *testing.B) []api.Pod { + apiObjectFuzzer := apitesting.FuzzerFor(kapitesting.FuzzerFuncs(b), rand.NewSource(benchmarkSeed)) items := make([]api.Pod, 3) for i := range items { apiObjectFuzzer.Fuzz(&items[i]) diff --git a/pkg/genericapiserver/endpoints/handlers/BUILD b/pkg/genericapiserver/endpoints/handlers/BUILD index e7f8b2a0bc4..090bab5c22c 100644 --- a/pkg/genericapiserver/endpoints/handlers/BUILD +++ b/pkg/genericapiserver/endpoints/handlers/BUILD @@ -20,6 +20,7 @@ go_test( "//pkg/genericapiserver/registry/rest:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/evanphx/json-patch", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -45,7 +46,6 @@ go_library( deps = [ "//pkg/genericapiserver/endpoints/handlers/responsewriters:go_default_library", "//pkg/genericapiserver/registry/rest:go_default_library", - "//pkg/util:go_default_library", "//vendor:github.com/emicklei/go-restful", "//vendor:github.com/evanphx/json-patch", "//vendor:github.com/golang/glog", @@ -70,6 +70,7 @@ go_library( "//vendor:k8s.io/apiserver/pkg/endpoints/request", "//vendor:k8s.io/apiserver/pkg/server/httplog", "//vendor:k8s.io/apiserver/pkg/util/proxy", + "//vendor:k8s.io/apiserver/pkg/util/trace", "//vendor:k8s.io/apiserver/pkg/util/wsstream", ], ) diff --git a/pkg/genericapiserver/endpoints/handlers/rest.go b/pkg/genericapiserver/endpoints/handlers/rest.go index 1dd89983266..b936d8b77a4 100644 --- a/pkg/genericapiserver/endpoints/handlers/rest.go +++ b/pkg/genericapiserver/endpoints/handlers/rest.go @@ -27,6 +27,9 @@ import ( "strings" "time" + "github.com/emicklei/go-restful" + "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" @@ -40,12 +43,9 @@ import ( "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/endpoints/handlers/negotiation" "k8s.io/apiserver/pkg/endpoints/request" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/kubernetes/pkg/genericapiserver/endpoints/handlers/responsewriters" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" - "k8s.io/kubernetes/pkg/util" - - "github.com/emicklei/go-restful" - "github.com/golang/glog" ) // ContextFunc returns a Context given a request - a context must be returned @@ -133,7 +133,7 @@ func GetResource(r rest.Getter, e rest.Exporter, scope RequestScope) restful.Rou return getResourceHandler(scope, func(ctx request.Context, name string, req *restful.Request) (runtime.Object, error) { // For performance tracking purposes. - trace := util.NewTrace("Get " + req.Request.URL.Path) + trace := utiltrace.New("Get " + req.Request.URL.Path) defer trace.LogIfLong(500 * time.Millisecond) // check for export @@ -245,7 +245,7 @@ func (r *responder) Error(err error) { func ListResource(r rest.Lister, rw rest.Watcher, scope RequestScope, forceWatch bool, minRequestTimeout time.Duration) restful.RouteFunction { return func(req *restful.Request, res *restful.Response) { // For performance tracking purposes. - trace := util.NewTrace("List " + req.Request.URL.Path) + trace := utiltrace.New("List " + req.Request.URL.Path) w := res.ResponseWriter @@ -352,7 +352,7 @@ func ListResource(r rest.Lister, rw rest.Watcher, scope RequestScope, forceWatch func createHandler(r rest.NamedCreater, scope RequestScope, typer runtime.ObjectTyper, admit admission.Interface, includeName bool) restful.RouteFunction { return func(req *restful.Request, res *restful.Response) { // For performance tracking purposes. - trace := util.NewTrace("Create " + req.Request.URL.Path) + trace := utiltrace.New("Create " + req.Request.URL.Path) defer trace.LogIfLong(500 * time.Millisecond) w := res.ResponseWriter @@ -707,7 +707,7 @@ func patchResource( func UpdateResource(r rest.Updater, scope RequestScope, typer runtime.ObjectTyper, admit admission.Interface) restful.RouteFunction { return func(req *restful.Request, res *restful.Response) { // For performance tracking purposes. - trace := util.NewTrace("Update " + req.Request.URL.Path) + trace := utiltrace.New("Update " + req.Request.URL.Path) defer trace.LogIfLong(500 * time.Millisecond) w := res.ResponseWriter @@ -794,7 +794,7 @@ func UpdateResource(r rest.Updater, scope RequestScope, typer runtime.ObjectType func DeleteResource(r rest.GracefulDeleter, allowsOptions bool, scope RequestScope, admit admission.Interface) restful.RouteFunction { return func(req *restful.Request, res *restful.Response) { // For performance tracking purposes. - trace := util.NewTrace("Delete " + req.Request.URL.Path) + trace := utiltrace.New("Delete " + req.Request.URL.Path) defer trace.LogIfLong(500 * time.Millisecond) w := res.ResponseWriter diff --git a/pkg/genericapiserver/endpoints/handlers/rest_test.go b/pkg/genericapiserver/endpoints/handlers/rest_test.go index 435276f8414..7d6c7f91bdc 100644 --- a/pkg/genericapiserver/endpoints/handlers/rest_test.go +++ b/pkg/genericapiserver/endpoints/handlers/rest_test.go @@ -26,6 +26,7 @@ import ( "github.com/emicklei/go-restful" "github.com/evanphx/json-patch" + apiequality "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -74,7 +75,7 @@ func TestPatchAnonymousField(t *testing.T) { if err != nil { t.Fatalf("unexpected error: %v", err) } - if !api.Semantic.DeepEqual(actual, expected) { + if !apiequality.Semantic.DeepEqual(actual, expected) { t.Errorf("expected %#v, got %#v", expected, actual) } } diff --git a/pkg/genericapiserver/endpoints/watch_test.go b/pkg/genericapiserver/endpoints/watch_test.go index 3a4643188dc..d94d287cf81 100644 --- a/pkg/genericapiserver/endpoints/watch_test.go +++ b/pkg/genericapiserver/endpoints/watch_test.go @@ -631,7 +631,7 @@ func TestWatchHTTPTimeout(t *testing.T) { // BenchmarkWatchHTTP measures the cost of serving a watch. func BenchmarkWatchHTTP(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) simpleStorage := &SimpleRESTStorage{} handler := handle(map[string]rest.Storage{"simples": simpleStorage}) @@ -678,7 +678,7 @@ func BenchmarkWatchHTTP(b *testing.B) { // BenchmarkWatchWebsocket measures the cost of serving a watch. func BenchmarkWatchWebsocket(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) simpleStorage := &SimpleRESTStorage{} handler := handle(map[string]rest.Storage{"simples": simpleStorage}) @@ -718,7 +718,7 @@ func BenchmarkWatchWebsocket(b *testing.B) { // BenchmarkWatchProtobuf measures the cost of serving a watch. func BenchmarkWatchProtobuf(b *testing.B) { - items := benchmarkItems() + items := benchmarkItems(b) simpleStorage := &SimpleRESTStorage{} handler := handle(map[string]rest.Storage{"simples": simpleStorage}) diff --git a/pkg/genericapiserver/registry/generic/registry/BUILD b/pkg/genericapiserver/registry/generic/registry/BUILD index 8249668f237..66f9797d7dc 100644 --- a/pkg/genericapiserver/registry/generic/registry/BUILD +++ b/pkg/genericapiserver/registry/generic/registry/BUILD @@ -64,6 +64,7 @@ go_test( "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/storagebackend/factory:go_default_library", "//pkg/storage/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apis/meta/internalversion", diff --git a/pkg/genericapiserver/registry/generic/registry/store_test.go b/pkg/genericapiserver/registry/generic/registry/store_test.go index d9bfae794e7..5df6ef51d1d 100644 --- a/pkg/genericapiserver/registry/generic/registry/store_test.go +++ b/pkg/genericapiserver/registry/generic/registry/store_test.go @@ -26,6 +26,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" @@ -204,7 +205,7 @@ func TestStoreList(t *testing.T) { } // DeepDerivative e,a is needed here b/c the storage layer sets ResourceVersion - if e, a := item.out, list; !api.Semantic.DeepDerivative(e, a) { + if e, a := item.out, list; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("%v: Expected %#v, got %#v", name, e, a) } destroyFunc() diff --git a/pkg/genericapiserver/registry/rest/resttest/BUILD b/pkg/genericapiserver/registry/rest/resttest/BUILD index c462770f832..6d9d3dab04a 100644 --- a/pkg/genericapiserver/registry/rest/resttest/BUILD +++ b/pkg/genericapiserver/registry/rest/resttest/BUILD @@ -14,6 +14,7 @@ go_library( deps = [ "//pkg/api:go_default_library", "//pkg/genericapiserver/registry/rest:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/validation/path", "//vendor:k8s.io/apimachinery/pkg/apis/meta/internalversion", diff --git a/pkg/genericapiserver/registry/rest/resttest/resttest.go b/pkg/genericapiserver/registry/rest/resttest/resttest.go index 86cfd0d4eee..23befacfb73 100644 --- a/pkg/genericapiserver/registry/rest/resttest/resttest.go +++ b/pkg/genericapiserver/registry/rest/resttest/resttest.go @@ -23,6 +23,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/validation/path" metainternalversion "k8s.io/apimachinery/pkg/apis/meta/internalversion" @@ -276,7 +277,7 @@ func (t *Tester) testCreateEquals(obj runtime.Object, getFn GetFunc) { gotMeta := t.getObjectMetaOrFail(got) createdMeta.ResourceVersion = gotMeta.ResourceVersion - if e, a := created, got; !api.Semantic.DeepEqual(e, a) { + if e, a := created, got; !apiequality.Semantic.DeepEqual(e, a) { t.Errorf("unexpected obj: %#v, expected %#v", e, a) } } @@ -484,7 +485,7 @@ func (t *Tester) testUpdateEquals(obj runtime.Object, createFn CreateFunc, getFn gotMeta := t.getObjectMetaOrFail(got) updatedMeta.ResourceVersion = gotMeta.ResourceVersion - if e, a := updated, got; !api.Semantic.DeepEqual(e, a) { + if e, a := updated, got; !apiequality.Semantic.DeepEqual(e, a) { t.Errorf("unexpected obj: %#v, expected %#v", e, a) } } @@ -1091,7 +1092,7 @@ func (t *Tester) testGetFound(obj runtime.Object) { } gotMeta := t.getObjectMetaOrFail(got) gotMeta.ResourceVersion = existingMeta.ResourceVersion - if e, a := existing, got; !api.Semantic.DeepEqual(e, a) { + if e, a := existing, got; !apiequality.Semantic.DeepEqual(e, a) { t.Errorf("unexpected obj: %#v, expected %#v", e, a) } } @@ -1174,7 +1175,7 @@ func (t *Tester) testListFound(obj runtime.Object, assignFn AssignFunc) { if len(items) != len(existing) { t.Errorf("unexpected number of items: %v", len(items)) } - if !api.Semantic.DeepEqual(existing, items) { + if !apiequality.Semantic.DeepEqual(existing, items) { t.Errorf("expected: %#v, got: %#v", existing, items) } } @@ -1209,7 +1210,7 @@ func (t *Tester) testListMatchLabels(obj runtime.Object, assignFn AssignFunc) { if len(items) != len(filtered) { t.Errorf("unexpected number of items: %v", len(items)) } - if !api.Semantic.DeepEqual(filtered, items) { + if !apiequality.Semantic.DeepEqual(filtered, items) { t.Errorf("expected: %#v, got: %#v", filtered, items) } } diff --git a/pkg/kubectl/BUILD b/pkg/kubectl/BUILD index 1b7f7150f87..5ee8ce33eea 100644 --- a/pkg/kubectl/BUILD +++ b/pkg/kubectl/BUILD @@ -57,7 +57,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", "//pkg/api/events:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/util:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps:go_default_library", @@ -96,6 +95,7 @@ go_library( "//vendor:github.com/spf13/pflag", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", "//vendor:k8s.io/apimachinery/pkg/fields", @@ -151,7 +151,6 @@ go_test( "//federation/apis/federation/v1beta1:go_default_library", "//federation/client/clientset_generated/federation_internalclientset/fake:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", @@ -172,7 +171,9 @@ go_test( "//pkg/util/intstr:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/spf13/cobra", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", diff --git a/pkg/kubectl/cmd/BUILD b/pkg/kubectl/cmd/BUILD index a1782ae9f95..b6aadd35699 100644 --- a/pkg/kubectl/cmd/BUILD +++ b/pkg/kubectl/cmd/BUILD @@ -174,7 +174,6 @@ go_test( deps = [ "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/unversioned:go_default_library", @@ -191,8 +190,10 @@ go_test( "//pkg/util/term:go_default_library", "//vendor:github.com/spf13/cobra", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", diff --git a/pkg/kubectl/cmd/config/BUILD b/pkg/kubectl/cmd/config/BUILD index ba04931957a..025d8902b70 100644 --- a/pkg/kubectl/cmd/config/BUILD +++ b/pkg/kubectl/cmd/config/BUILD @@ -57,8 +57,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api:go_default_library", "//pkg/kubectl/cmd/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/util/diff", "//vendor:k8s.io/apiserver/pkg/util/flag", "//vendor:k8s.io/client-go/tools/clientcmd", diff --git a/pkg/kubectl/cmd/config/config_test.go b/pkg/kubectl/cmd/config/config_test.go index 0bd896da660..e331aaed086 100644 --- a/pkg/kubectl/cmd/config/config_test.go +++ b/pkg/kubectl/cmd/config/config_test.go @@ -26,10 +26,10 @@ import ( "strings" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/client-go/tools/clientcmd" clientcmdapi "k8s.io/client-go/tools/clientcmd/api" - "k8s.io/kubernetes/pkg/api" cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util" ) @@ -897,7 +897,7 @@ func (test configCommandTest) run(t *testing.T) string { testSetNilMapsToEmpties(reflect.ValueOf(&actualConfig)) testClearLocationOfOrigin(&actualConfig) - if !api.Semantic.DeepEqual(test.expectedConfig, actualConfig) { + if !apiequality.Semantic.DeepEqual(test.expectedConfig, actualConfig) { t.Errorf("diff: %v", diff.ObjectDiff(test.expectedConfig, actualConfig)) t.Errorf("expected: %#v\n actual: %#v", test.expectedConfig, actualConfig) } diff --git a/pkg/kubectl/cmd/get_test.go b/pkg/kubectl/cmd/get_test.go index b917f271657..39200512d1f 100644 --- a/pkg/kubectl/cmd/get_test.go +++ b/pkg/kubectl/cmd/get_test.go @@ -26,6 +26,7 @@ import ( "strings" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" @@ -280,7 +281,7 @@ func verifyObjects(t *testing.T, expected, actual []runtime.Object) { if err != nil { t.Fatal(err) } - if !api.Semantic.DeepEqual(expected[i], actualObj) { + if !apiequality.Semantic.DeepEqual(expected[i], actualObj) { t.Errorf("unexpected object: \n%#v\n%#v", expected[i], actualObj) } } diff --git a/pkg/kubectl/cmd/top_pod_test.go b/pkg/kubectl/cmd/top_pod_test.go index 8058b33e709..f71ad7beeb3 100644 --- a/pkg/kubectl/cmd/top_pod_test.go +++ b/pkg/kubectl/cmd/top_pod_test.go @@ -25,10 +25,10 @@ import ( "net/url" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/client-go/rest/fake" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" diff --git a/pkg/kubectl/cmd/top_test.go b/pkg/kubectl/cmd/top_test.go index 3ba7d88e034..9541a8805dc 100644 --- a/pkg/kubectl/cmd/top_test.go +++ b/pkg/kubectl/cmd/top_test.go @@ -25,10 +25,10 @@ import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/unversioned" v1 "k8s.io/kubernetes/pkg/api/v1" cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing" diff --git a/pkg/kubectl/describe.go b/pkg/kubectl/describe.go index f6a11414a77..c16e75a95a1 100644 --- a/pkg/kubectl/describe.go +++ b/pkg/kubectl/describe.go @@ -30,6 +30,7 @@ import ( "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -41,7 +42,6 @@ import ( fedclientset "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/events" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/apps" "k8s.io/kubernetes/pkg/apis/autoscaling" diff --git a/pkg/kubectl/describe_test.go b/pkg/kubectl/describe_test.go index d1573551983..bbb10b98f43 100644 --- a/pkg/kubectl/describe_test.go +++ b/pkg/kubectl/describe_test.go @@ -25,11 +25,12 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/federation/apis/federation" fedfake "k8s.io/kubernetes/federation/client/clientset_generated/federation_internalclientset/fake" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/extensions" "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" @@ -563,7 +564,7 @@ func TestGetPodsTotalRequests(t *testing.T) { if err != nil { t.Errorf("Unexpected error %v", err) } - if !api.Semantic.DeepEqual(reqs, testCase.expectedReqs) { + if !apiequality.Semantic.DeepEqual(reqs, testCase.expectedReqs) { t.Errorf("Expected %v, got %v", testCase.expectedReqs, reqs) } } diff --git a/pkg/kubectl/metricsutil/BUILD b/pkg/kubectl/metricsutil/BUILD index 2aeb00a00ff..68ab2115154 100644 --- a/pkg/kubectl/metricsutil/BUILD +++ b/pkg/kubectl/metricsutil/BUILD @@ -16,10 +16,10 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/client/clientset_generated/internalclientset/typed/core/internalversion:go_default_library", "//pkg/kubectl:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", diff --git a/pkg/kubectl/metricsutil/metrics_printer.go b/pkg/kubectl/metricsutil/metrics_printer.go index 811f470adc3..cbc67b32549 100644 --- a/pkg/kubectl/metricsutil/metrics_printer.go +++ b/pkg/kubectl/metricsutil/metrics_printer.go @@ -20,9 +20,9 @@ import ( "fmt" "io" + "k8s.io/apimachinery/pkg/api/resource" metricsapi "k8s.io/heapster/metrics/apis/metrics/v1alpha1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/kubectl" ) diff --git a/pkg/kubectl/resource/BUILD b/pkg/kubectl/resource/BUILD index 33e48204638..375d3146efc 100644 --- a/pkg/kubectl/resource/BUILD +++ b/pkg/kubectl/resource/BUILD @@ -60,13 +60,14 @@ go_test( ], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/testing:go_default_library", "//pkg/api/v1:go_default_library", "//vendor:github.com/ghodss/yaml", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/kubectl/resource/builder_test.go b/pkg/kubectl/resource/builder_test.go index e38364becc9..33cfb68c221 100644 --- a/pkg/kubectl/resource/builder_test.go +++ b/pkg/kubectl/resource/builder_test.go @@ -31,7 +31,9 @@ import ( "github.com/ghodss/yaml" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer/streaming" @@ -41,7 +43,6 @@ import ( restclientwatch "k8s.io/client-go/rest/watch" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" apitesting "k8s.io/kubernetes/pkg/api/testing" "k8s.io/kubernetes/pkg/api/v1" @@ -591,7 +592,7 @@ func TestMultipleResourceByTheSameName(t *testing.T) { if err != nil || singleItemImplied || len(test.Infos) != 4 { t.Fatalf("unexpected response: %v %t %#v", err, singleItemImplied, test.Infos) } - if !api.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &svcs.Items[0], &svcs.Items[0]}, test.Objects()) { + if !apiequality.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &svcs.Items[0], &svcs.Items[0]}, test.Objects()) { t.Errorf("unexpected visited objects: %#v", test.Objects()) } @@ -734,7 +735,7 @@ func TestSelector(t *testing.T) { if err != nil || singleItemImplied || len(test.Infos) != 3 { t.Fatalf("unexpected response: %v %t %#v", err, singleItemImplied, test.Infos) } - if !api.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &svc.Items[0]}, test.Objects()) { + if !apiequality.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &svc.Items[0]}, test.Objects()) { t.Errorf("unexpected visited objects: %#v", test.Objects()) } @@ -866,7 +867,7 @@ func TestStream(t *testing.T) { if err != nil || singleItemImplied || len(test.Infos) != 3 { t.Fatalf("unexpected response: %v %t %#v", err, singleItemImplied, test.Infos) } - if !api.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &rc.Items[0]}, test.Objects()) { + if !apiequality.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &rc.Items[0]}, test.Objects()) { t.Errorf("unexpected visited objects: %#v", test.Objects()) } } @@ -883,7 +884,7 @@ func TestYAMLStream(t *testing.T) { if err != nil || singleItemImplied || len(test.Infos) != 3 { t.Fatalf("unexpected response: %v %t %#v", err, singleItemImplied, test.Infos) } - if !api.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &rc.Items[0]}, test.Objects()) { + if !apiequality.Semantic.DeepDerivative([]runtime.Object{&pods.Items[0], &pods.Items[1], &rc.Items[0]}, test.Objects()) { t.Errorf("unexpected visited objects: %#v", test.Objects()) } } @@ -905,7 +906,7 @@ func TestMultipleObject(t *testing.T) { &svc.Items[0], }, } - if !api.Semantic.DeepDerivative(expected, obj) { + if !apiequality.Semantic.DeepDerivative(expected, obj) { t.Errorf("unexpected visited objects: %#v", obj) } } @@ -1136,7 +1137,7 @@ func TestLatest(t *testing.T) { if err != nil || singleItemImplied || len(test.Infos) != 3 { t.Fatalf("unexpected response: %v %t %#v", err, singleItemImplied, test.Infos) } - if !api.Semantic.DeepDerivative([]runtime.Object{newPod, newPod2, newSvc}, test.Objects()) { + if !apiequality.Semantic.DeepDerivative([]runtime.Object{newPod, newPod2, newSvc}, test.Objects()) { t.Errorf("unexpected visited objects: %#v", test.Objects()) } } diff --git a/pkg/kubectl/run.go b/pkg/kubectl/run.go index 2e4dd41ee28..ea1eae0edc5 100644 --- a/pkg/kubectl/run.go +++ b/pkg/kubectl/run.go @@ -21,11 +21,11 @@ import ( "strconv" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/validation" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" batch "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" ) diff --git a/pkg/kubectl/run_test.go b/pkg/kubectl/run_test.go index 2633086c50a..258f2f95b79 100644 --- a/pkg/kubectl/run_test.go +++ b/pkg/kubectl/run_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" ) diff --git a/pkg/kubelet/BUILD b/pkg/kubelet/BUILD index aac19d33c8e..46bfaad6be0 100644 --- a/pkg/kubelet/BUILD +++ b/pkg/kubelet/BUILD @@ -36,7 +36,6 @@ go_library( deps = [ "//cmd/kubelet/app/options:go_default_library", "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/v1/validation:go_default_library", @@ -111,6 +110,7 @@ go_library( "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/google/cadvisor/info/v2", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/fields", @@ -155,7 +155,6 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", "//pkg/capabilities:go_default_library", @@ -195,7 +194,9 @@ go_test( "//vendor:github.com/google/cadvisor/info/v2", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/kubelet/cadvisor/BUILD b/pkg/kubelet/cadvisor/BUILD index 363d702a429..6fe096de221 100644 --- a/pkg/kubelet/cadvisor/BUILD +++ b/pkg/kubelet/cadvisor/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/types:go_default_library", "//vendor:github.com/golang/glog", @@ -32,6 +31,7 @@ go_library( "//vendor:github.com/google/cadvisor/manager", "//vendor:github.com/google/cadvisor/metrics", "//vendor:github.com/google/cadvisor/utils/sysfs", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/util/runtime", ], ) diff --git a/pkg/kubelet/cadvisor/util.go b/pkg/kubelet/cadvisor/util.go index ff9672c2532..c2ac721b4eb 100644 --- a/pkg/kubelet/cadvisor/util.go +++ b/pkg/kubelet/cadvisor/util.go @@ -18,7 +18,7 @@ package cadvisor import ( cadvisorapi "github.com/google/cadvisor/info/v1" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/kubelet/cm/BUILD b/pkg/kubelet/cm/BUILD index 5588e9aa3d6..50095fed9d7 100644 --- a/pkg/kubelet/cm/BUILD +++ b/pkg/kubelet/cm/BUILD @@ -22,7 +22,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/cadvisor:go_default_library", "//pkg/kubelet/cm/util:go_default_library", @@ -38,6 +37,7 @@ go_library( "//vendor:github.com/opencontainers/runc/libcontainer/cgroups/fs", "//vendor:github.com/opencontainers/runc/libcontainer/cgroups/systemd", "//vendor:github.com/opencontainers/runc/libcontainer/configs", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/errors", "//vendor:k8s.io/apimachinery/pkg/util/runtime", @@ -56,11 +56,11 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/util/mount:go_default_library", "//vendor:github.com/stretchr/testify/assert", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/api/resource", ], ) diff --git a/pkg/kubelet/cm/container_manager_linux.go b/pkg/kubelet/cm/container_manager_linux.go index 0d6e458d89c..5ec80446b02 100644 --- a/pkg/kubelet/cm/container_manager_linux.go +++ b/pkg/kubelet/cm/container_manager_linux.go @@ -33,11 +33,11 @@ import ( "github.com/opencontainers/runc/libcontainer/cgroups" "github.com/opencontainers/runc/libcontainer/cgroups/fs" "github.com/opencontainers/runc/libcontainer/configs" + "k8s.io/apimachinery/pkg/api/resource" utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cadvisor" cmutil "k8s.io/kubernetes/pkg/kubelet/cm/util" diff --git a/pkg/kubelet/cm/helpers_linux_test.go b/pkg/kubelet/cm/helpers_linux_test.go index 4f8038b4492..88074f6e25a 100644 --- a/pkg/kubelet/cm/helpers_linux_test.go +++ b/pkg/kubelet/cm/helpers_linux_test.go @@ -22,7 +22,7 @@ import ( "reflect" "testing" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/kubelet/config/BUILD b/pkg/kubelet/config/BUILD index e287675e433..f6d0db1cea5 100644 --- a/pkg/kubelet/config/BUILD +++ b/pkg/kubelet/config/BUILD @@ -67,6 +67,7 @@ go_test( "//pkg/client/record:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/securitycontext:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/kubelet/config/apiserver_test.go b/pkg/kubelet/config/apiserver_test.go index 501cb496b8a..5537a70e949 100644 --- a/pkg/kubelet/config/apiserver_test.go +++ b/pkg/kubelet/config/apiserver_test.go @@ -19,11 +19,11 @@ package config import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) @@ -71,7 +71,7 @@ func TestNewSourceApiserver_UpdatesAndMultiplePods(t *testing.T) { } update := got.(kubetypes.PodUpdate) expected := CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod1v1) - if !api.Semantic.DeepEqual(expected, update) { + if !apiequality.Semantic.DeepEqual(expected, update) { t.Errorf("Expected %#v; Got %#v", expected, update) } @@ -86,7 +86,7 @@ func TestNewSourceApiserver_UpdatesAndMultiplePods(t *testing.T) { expectedA := CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod1v1, pod2) expectedB := CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod2, pod1v1) - if !api.Semantic.DeepEqual(expectedA, update) && !api.Semantic.DeepEqual(expectedB, update) { + if !apiequality.Semantic.DeepEqual(expectedA, update) && !apiequality.Semantic.DeepEqual(expectedB, update) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, update) } @@ -100,7 +100,7 @@ func TestNewSourceApiserver_UpdatesAndMultiplePods(t *testing.T) { expectedA = CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod1v2, pod2) expectedB = CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod2, pod1v2) - if !api.Semantic.DeepEqual(expectedA, update) && !api.Semantic.DeepEqual(expectedB, update) { + if !apiequality.Semantic.DeepEqual(expectedA, update) && !apiequality.Semantic.DeepEqual(expectedB, update) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, update) } @@ -112,7 +112,7 @@ func TestNewSourceApiserver_UpdatesAndMultiplePods(t *testing.T) { } update = got.(kubetypes.PodUpdate) expected = CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource, pod2) - if !api.Semantic.DeepEqual(expected, update) { + if !apiequality.Semantic.DeepEqual(expected, update) { t.Errorf("Expected %#v, Got %#v", expected, update) } @@ -124,7 +124,7 @@ func TestNewSourceApiserver_UpdatesAndMultiplePods(t *testing.T) { } update = got.(kubetypes.PodUpdate) expected = CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource) - if !api.Semantic.DeepEqual(expected, update) { + if !apiequality.Semantic.DeepEqual(expected, update) { t.Errorf("Expected %#v, Got %#v", expected, update) } } @@ -188,7 +188,7 @@ func TestNewSourceApiserverInitialEmptySendsEmptyPodUpdate(t *testing.T) { } update := got.(kubetypes.PodUpdate) expected := CreatePodUpdate(kubetypes.SET, kubetypes.ApiserverSource) - if !api.Semantic.DeepEqual(expected, update) { + if !apiequality.Semantic.DeepEqual(expected, update) { t.Errorf("Expected %#v; Got %#v", expected, update) } } diff --git a/pkg/kubelet/config/config_test.go b/pkg/kubelet/config/config_test.go index 92de495cac5..6d16d29dfad 100644 --- a/pkg/kubelet/config/config_test.go +++ b/pkg/kubelet/config/config_test.go @@ -24,6 +24,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" @@ -101,7 +102,7 @@ func expectPodUpdate(t *testing.T, ch <-chan kubetypes.PodUpdate, expected ...ku // except for "Pods", which are compared separately below. expectedCopy, updateCopy := expected[i], update expectedCopy.Pods, updateCopy.Pods = nil, nil - if !api.Semantic.DeepEqual(expectedCopy, updateCopy) { + if !apiequality.Semantic.DeepEqual(expectedCopy, updateCopy) { t.Fatalf("Expected %#v, Got %#v", expectedCopy, updateCopy) } diff --git a/pkg/kubelet/config/file_linux_test.go b/pkg/kubelet/config/file_linux_test.go index c2091a72fe2..eae27c4660d 100644 --- a/pkg/kubelet/config/file_linux_test.go +++ b/pkg/kubelet/config/file_linux_test.go @@ -29,6 +29,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -58,7 +59,7 @@ func TestUpdateOnNonExistentFile(t *testing.T) { case got := <-ch: update := got.(kubetypes.PodUpdate) expected := CreatePodUpdate(kubetypes.SET, kubetypes.FileSource) - if !api.Semantic.DeepDerivative(expected, update) { + if !apiequality.Semantic.DeepDerivative(expected, update) { t.Fatalf("expected %#v, Got %#v", expected, update) } @@ -95,7 +96,7 @@ func TestReadPodsFromFileExistAlready(t *testing.T) { t.Fatalf("%s: Invalid pod %#v, %#v", testCase.desc, internalPod, errs) } } - if !api.Semantic.DeepEqual(testCase.expected, update) { + if !apiequality.Semantic.DeepEqual(testCase.expected, update) { t.Fatalf("%s: Expected %#v, Got %#v", testCase.desc, testCase.expected, update) } case <-time.After(wait.ForeverTestTimeout): @@ -159,7 +160,7 @@ func TestExtractFromEmptyDir(t *testing.T) { update := (<-ch).(kubetypes.PodUpdate) expected := CreatePodUpdate(kubetypes.SET, kubetypes.FileSource) - if !api.Semantic.DeepEqual(expected, update) { + if !apiequality.Semantic.DeepEqual(expected, update) { t.Fatalf("expected %#v, Got %#v", expected, update) } } @@ -375,7 +376,7 @@ func expectUpdate(t *testing.T, ch chan interface{}, testCase *testCase) { } } - if !api.Semantic.DeepEqual(testCase.expected, update) { + if !apiequality.Semantic.DeepEqual(testCase.expected, update) { t.Fatalf("%s: Expected: %#v, Got: %#v", testCase.desc, testCase.expected, update) } return diff --git a/pkg/kubelet/config/http_test.go b/pkg/kubelet/config/http_test.go index 794dbabf5ce..2b1bd584b6d 100644 --- a/pkg/kubelet/config/http_test.go +++ b/pkg/kubelet/config/http_test.go @@ -23,6 +23,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" @@ -309,7 +310,7 @@ func TestExtractPodsFromHTTP(t *testing.T) { } update := (<-ch).(kubetypes.PodUpdate) - if !api.Semantic.DeepEqual(testCase.expected, update) { + if !apiequality.Semantic.DeepEqual(testCase.expected, update) { t.Errorf("%s: Expected: %#v, Got: %#v", testCase.desc, testCase.expected, update) } for _, pod := range update.Pods { diff --git a/pkg/kubelet/dockertools/BUILD b/pkg/kubelet/dockertools/BUILD index 9af2ed22251..af93df15593 100644 --- a/pkg/kubelet/dockertools/BUILD +++ b/pkg/kubelet/dockertools/BUILD @@ -102,7 +102,6 @@ go_test( "automanaged", ], deps = [ - "//pkg/api:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/componentconfig:go_default_library", @@ -131,6 +130,7 @@ go_test( "//vendor:github.com/golang/mock/gomock", "//vendor:github.com/google/cadvisor/info/v1", "//vendor:github.com/stretchr/testify/assert", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/kubelet/dockertools/docker_manager_test.go b/pkg/kubelet/dockertools/docker_manager_test.go index 77f0d727ad1..ab2d5774ef0 100644 --- a/pkg/kubelet/dockertools/docker_manager_test.go +++ b/pkg/kubelet/dockertools/docker_manager_test.go @@ -37,13 +37,13 @@ import ( "github.com/golang/mock/gomock" cadvisorapi "github.com/google/cadvisor/info/v1" "github.com/stretchr/testify/assert" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/client-go/util/clock" "k8s.io/client-go/util/flowcontrol" - "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" @@ -327,10 +327,10 @@ func TestSetEntrypointAndCommand(t *testing.T) { } setEntrypointAndCommand(tc.container, opts, actualOpts) - if e, a := tc.expected.Config.Entrypoint, actualOpts.Config.Entrypoint; !api.Semantic.DeepEqual(e, a) { + if e, a := tc.expected.Config.Entrypoint, actualOpts.Config.Entrypoint; !apiequality.Semantic.DeepEqual(e, a) { t.Errorf("%v: unexpected entrypoint: expected %v, got %v", tc.name, e, a) } - if e, a := tc.expected.Config.Cmd, actualOpts.Config.Cmd; !api.Semantic.DeepEqual(e, a) { + if e, a := tc.expected.Config.Cmd, actualOpts.Config.Cmd; !apiequality.Semantic.DeepEqual(e, a) { t.Errorf("%v: unexpected command: expected %v, got %v", tc.name, e, a) } } diff --git a/pkg/kubelet/eviction/BUILD b/pkg/kubelet/eviction/BUILD index 950cc678dff..42cc3d889cc 100644 --- a/pkg/kubelet/eviction/BUILD +++ b/pkg/kubelet/eviction/BUILD @@ -21,7 +21,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", @@ -34,6 +33,7 @@ go_library( "//pkg/kubelet/util/format:go_default_library", "//pkg/quota/evaluator/core:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", @@ -51,13 +51,13 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/record:go_default_library", "//pkg/kubelet/api/v1alpha1/stats:go_default_library", "//pkg/kubelet/lifecycle:go_default_library", "//pkg/kubelet/types:go_default_library", "//pkg/quota:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/client-go/util/clock", diff --git a/pkg/kubelet/eviction/eviction_manager.go b/pkg/kubelet/eviction/eviction_manager.go index 5ee7be7cfff..2fcd202a84b 100644 --- a/pkg/kubelet/eviction/eviction_manager.go +++ b/pkg/kubelet/eviction/eviction_manager.go @@ -23,9 +23,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/util/clock" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" "k8s.io/kubernetes/pkg/kubelet/cm" diff --git a/pkg/kubelet/eviction/eviction_manager_test.go b/pkg/kubelet/eviction/eviction_manager_test.go index 4f4954cf01d..8013a079594 100644 --- a/pkg/kubelet/eviction/eviction_manager_test.go +++ b/pkg/kubelet/eviction/eviction_manager_test.go @@ -20,9 +20,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/util/clock" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" diff --git a/pkg/kubelet/eviction/helpers.go b/pkg/kubelet/eviction/helpers.go index bf5b45e0657..b52a19ff58d 100644 --- a/pkg/kubelet/eviction/helpers.go +++ b/pkg/kubelet/eviction/helpers.go @@ -24,9 +24,9 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/kubelet/qos" diff --git a/pkg/kubelet/eviction/helpers_test.go b/pkg/kubelet/eviction/helpers_test.go index bb0e1bd6b25..6b082d43a42 100644 --- a/pkg/kubelet/eviction/helpers_test.go +++ b/pkg/kubelet/eviction/helpers_test.go @@ -22,10 +22,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/pkg/quota" diff --git a/pkg/kubelet/eviction/types.go b/pkg/kubelet/eviction/types.go index d33e68a283f..a006f0593d6 100644 --- a/pkg/kubelet/eviction/types.go +++ b/pkg/kubelet/eviction/types.go @@ -19,8 +19,8 @@ package eviction import ( "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" statsapi "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" ) diff --git a/pkg/kubelet/kubelet.go b/pkg/kubelet/kubelet.go index 4622799e297..91a8703cc1e 100644 --- a/pkg/kubelet/kubelet.go +++ b/pkg/kubelet/kubelet.go @@ -34,6 +34,7 @@ import ( clientgoclientset "k8s.io/client-go/kubernetes" cadvisorapi "github.com/google/cadvisor/info/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -47,7 +48,6 @@ import ( "k8s.io/client-go/util/flowcontrol" "k8s.io/client-go/util/integer" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" componentconfigv1alpha1 "k8s.io/kubernetes/pkg/apis/componentconfig/v1alpha1" diff --git a/pkg/kubelet/kubelet_node_status.go b/pkg/kubelet/kubelet_node_status.go index 65e92e4784d..c25356b6023 100644 --- a/pkg/kubelet/kubelet_node_status.go +++ b/pkg/kubelet/kubelet_node_status.go @@ -28,11 +28,11 @@ import ( "github.com/golang/glog" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/types" utilnet "k8s.io/apimachinery/pkg/util/net" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/kubelet/cadvisor" diff --git a/pkg/kubelet/kubelet_node_status_test.go b/pkg/kubelet/kubelet_node_status_test.go index 35bbb6c5f22..026326fb547 100644 --- a/pkg/kubelet/kubelet_node_status_test.go +++ b/pkg/kubelet/kubelet_node_status_test.go @@ -28,7 +28,9 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" + apiequality "k8s.io/apimachinery/pkg/api/equality" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/diff" @@ -37,8 +39,6 @@ import ( "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" core "k8s.io/client-go/testing" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" @@ -245,7 +245,7 @@ func TestUpdateNewNodeStatus(t *testing.T) { if maxImagesInNodeStatus != len(updatedNode.Status.Images) { t.Errorf("unexpected image list length in node status, expected: %v, got: %v", maxImagesInNodeStatus, len(updatedNode.Status.Images)) } else { - if !api.Semantic.DeepEqual(expectedNode, updatedNode) { + if !apiequality.Semantic.DeepEqual(expectedNode, updatedNode) { t.Errorf("unexpected objects: %s", diff.ObjectDiff(expectedNode, updatedNode)) } } @@ -519,7 +519,7 @@ func TestUpdateExistingNodeStatus(t *testing.T) { t.Errorf("unexpected node condition order. NodeReady should be last.") } - if !api.Semantic.DeepEqual(expectedNode, updatedNode) { + if !apiequality.Semantic.DeepEqual(expectedNode, updatedNode) { t.Errorf("unexpected objects: %s", diff.ObjectDiff(expectedNode, updatedNode)) } } @@ -829,7 +829,7 @@ func TestUpdateNodeStatusWithRuntimeStateError(t *testing.T) { LastHeartbeatTime: metav1.Time{}, LastTransitionTime: metav1.Time{}, } - if !api.Semantic.DeepEqual(expectedNode, updatedNode) { + if !apiequality.Semantic.DeepEqual(expectedNode, updatedNode) { t.Errorf("unexpected objects: %s", diff.ObjectDiff(expectedNode, updatedNode)) } } diff --git a/pkg/kubelet/kubelet_pods_test.go b/pkg/kubelet/kubelet_pods_test.go index 091de214cd7..c5b1d2bba1c 100644 --- a/pkg/kubelet/kubelet_pods_test.go +++ b/pkg/kubelet/kubelet_pods_test.go @@ -27,13 +27,13 @@ import ( "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/types" core "k8s.io/client-go/testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertest "k8s.io/kubernetes/pkg/kubelet/container/testing" diff --git a/pkg/kubelet/kubelet_resources_test.go b/pkg/kubelet/kubelet_resources_test.go index 69f37bd5cf2..2c8096f1545 100644 --- a/pkg/kubelet/kubelet_resources_test.go +++ b/pkg/kubelet/kubelet_resources_test.go @@ -23,8 +23,8 @@ import ( cadvisorapi "github.com/google/cadvisor/info/v1" cadvisorapiv2 "github.com/google/cadvisor/info/v2" - "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) @@ -78,7 +78,7 @@ func TestPodResourceLimitsDefaulting(t *testing.T) { for idx, tc := range cases { actual, _, err := tk.kubelet.defaultPodLimitsForDownwardApi(tc.pod, nil) as.Nil(err, "failed to default pod limits: %v", err) - if !api.Semantic.DeepEqual(tc.expected, actual) { + if !apiequality.Semantic.DeepEqual(tc.expected, actual) { as.Fail("test case [%d] failed. Expected: %+v, Got: %+v", idx, tc.expected, actual) } } diff --git a/pkg/kubelet/kubelet_test.go b/pkg/kubelet/kubelet_test.go index fcbb6588576..a60fbe7bbe0 100644 --- a/pkg/kubelet/kubelet_test.go +++ b/pkg/kubelet/kubelet_test.go @@ -28,6 +28,7 @@ import ( cadvisorapiv2 "github.com/google/cadvisor/info/v2" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" utilruntime "k8s.io/apimachinery/pkg/util/runtime" @@ -35,7 +36,6 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/util/clock" "k8s.io/client-go/util/flowcontrol" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/componentconfig" "k8s.io/kubernetes/pkg/capabilities" diff --git a/pkg/kubelet/qos/BUILD b/pkg/kubelet/qos/BUILD index 24dfd9f0a10..177d4eafff6 100644 --- a/pkg/kubelet/qos/BUILD +++ b/pkg/kubelet/qos/BUILD @@ -18,9 +18,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -34,9 +34,9 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/types:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/kubelet/qos/policy_test.go b/pkg/kubelet/qos/policy_test.go index 707727e019c..b6247ec6125 100644 --- a/pkg/kubelet/qos/policy_test.go +++ b/pkg/kubelet/qos/policy_test.go @@ -20,8 +20,8 @@ import ( "strconv" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" kubetypes "k8s.io/kubernetes/pkg/kubelet/types" ) diff --git a/pkg/kubelet/qos/qos.go b/pkg/kubelet/qos/qos.go index 873018b4006..8140e6c00aa 100644 --- a/pkg/kubelet/qos/qos.go +++ b/pkg/kubelet/qos/qos.go @@ -17,9 +17,9 @@ limitations under the License. package qos import ( + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/kubelet/qos/qos_test.go b/pkg/kubelet/qos/qos_test.go index 61f50c5bad3..63a2dfcf5cb 100644 --- a/pkg/kubelet/qos/qos_test.go +++ b/pkg/kubelet/qos/qos_test.go @@ -19,8 +19,8 @@ package qos import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/kubelet/rkt/BUILD b/pkg/kubelet/rkt/BUILD index 45bfbdb6f2a..873cc8bec6c 100644 --- a/pkg/kubelet/rkt/BUILD +++ b/pkg/kubelet/rkt/BUILD @@ -70,7 +70,6 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/kubelet/container:go_default_library", "//pkg/kubelet/container/testing:go_default_library", @@ -88,6 +87,7 @@ go_test( "//vendor:github.com/stretchr/testify/assert", "//vendor:golang.org/x/net/context", "//vendor:google.golang.org/grpc", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/errors", diff --git a/pkg/kubelet/rkt/rkt.go b/pkg/kubelet/rkt/rkt.go index 36e4ffcb2b6..de620f97a50 100644 --- a/pkg/kubelet/rkt/rkt.go +++ b/pkg/kubelet/rkt/rkt.go @@ -357,14 +357,22 @@ func setIsolators(app *appctypes.App, c *v1.Container, ctx *v1.SecurityContext) if err != nil { return err } - isolators = append(isolators, set.AsIsolator()) + isolator, err := set.AsIsolator() + if err != nil { + return err + } + isolators = append(isolators, *isolator) } if len(dropCaps) > 0 { set, err := appctypes.NewLinuxCapabilitiesRevokeSet(dropCaps...) if err != nil { return err } - isolators = append(isolators, set.AsIsolator()) + isolator, err := set.AsIsolator() + if err != nil { + return err + } + isolators = append(isolators, *isolator) } } diff --git a/pkg/kubelet/rkt/rkt_test.go b/pkg/kubelet/rkt/rkt_test.go index 29ef054eeb5..e712aaba0bd 100644 --- a/pkg/kubelet/rkt/rkt_test.go +++ b/pkg/kubelet/rkt/rkt_test.go @@ -31,11 +31,11 @@ import ( rktapi "github.com/coreos/rkt/api/v1alpha" "github.com/golang/mock/gomock" "github.com/stretchr/testify/assert" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" kubetypes "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/errors" utiltesting "k8s.io/client-go/util/testing" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" kubecontainer "k8s.io/kubernetes/pkg/kubelet/container" containertesting "k8s.io/kubernetes/pkg/kubelet/container/testing" @@ -845,7 +845,11 @@ func generateCapRetainIsolator(t *testing.T, caps ...string) appctypes.Isolator if err != nil { t.Fatalf("Error generating cap retain isolator: %v", err) } - return retain.AsIsolator() + isolator, err := retain.AsIsolator() + if err != nil { + t.Fatalf("Error generating cap retain isolator: %v", err) + } + return *isolator } func generateCapRevokeIsolator(t *testing.T, caps ...string) appctypes.Isolator { @@ -853,7 +857,11 @@ func generateCapRevokeIsolator(t *testing.T, caps ...string) appctypes.Isolator if err != nil { t.Fatalf("Error generating cap revoke isolator: %v", err) } - return revoke.AsIsolator() + isolator, err := revoke.AsIsolator() + if err != nil { + t.Fatalf("Error generating cap revoke isolator: %v", err) + } + return *isolator } func generateCPUIsolator(t *testing.T, request, limit string) appctypes.Isolator { diff --git a/pkg/kubelet/status/BUILD b/pkg/kubelet/status/BUILD index 3262346eb3e..21e6004ca1a 100644 --- a/pkg/kubelet/status/BUILD +++ b/pkg/kubelet/status/BUILD @@ -25,6 +25,7 @@ go_library( "//pkg/kubelet/types:go_default_library", "//pkg/kubelet/util/format:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/kubelet/status/status_manager.go b/pkg/kubelet/status/status_manager.go index f4a9aaabc55..4ff8e7b00a7 100644 --- a/pkg/kubelet/status/status_manager.go +++ b/pkg/kubelet/status/status_manager.go @@ -24,6 +24,7 @@ import ( "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "github.com/golang/glog" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" @@ -116,7 +117,7 @@ func NewManager(kubeClient clientset.Interface, podManager kubepod.Manager) Mana // This method normalizes the status before comparing so as to make sure that meaningless // changes will be ignored. func isStatusEqual(oldStatus, status *v1.PodStatus) bool { - return api.Semantic.DeepEqual(status, oldStatus) + return apiequality.Semantic.DeepEqual(status, oldStatus) } func (m *manager) Start() { diff --git a/pkg/kubelet/util/format/BUILD b/pkg/kubelet/util/format/BUILD index c5cdcf449c4..1d79bf363fb 100644 --- a/pkg/kubelet/util/format/BUILD +++ b/pkg/kubelet/util/format/BUILD @@ -27,8 +27,8 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", ], ) diff --git a/pkg/kubelet/util/format/resources_test.go b/pkg/kubelet/util/format/resources_test.go index 2ff0833c14d..6035b95a25d 100644 --- a/pkg/kubelet/util/format/resources_test.go +++ b/pkg/kubelet/util/format/resources_test.go @@ -19,7 +19,7 @@ package format import ( "testing" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/proxy/config/BUILD b/pkg/proxy/config/BUILD index cc21fc50835..dbadeb10dcc 100644 --- a/pkg/proxy/config/BUILD +++ b/pkg/proxy/config/BUILD @@ -35,6 +35,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", diff --git a/pkg/proxy/config/api_test.go b/pkg/proxy/config/api_test.go index 30ff03c9a82..5429325adca 100644 --- a/pkg/proxy/config/api_test.go +++ b/pkg/proxy/config/api_test.go @@ -20,6 +20,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" @@ -69,7 +70,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected := ServiceUpdate{Op: SET, Services: []api.Service{}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v; Got %#v", expected, got) } @@ -80,7 +81,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = ServiceUpdate{Op: SET, Services: []api.Service{*service1v1}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v; Got %#v", expected, got) } @@ -94,7 +95,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { expectedA := ServiceUpdate{Op: SET, Services: []api.Service{*service1v1, *service2}} expectedB := ServiceUpdate{Op: SET, Services: []api.Service{*service2, *service1v1}} - if !api.Semantic.DeepEqual(expectedA, got) && !api.Semantic.DeepEqual(expectedB, got) { + if !apiequality.Semantic.DeepEqual(expectedA, got) && !apiequality.Semantic.DeepEqual(expectedB, got) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, got) } @@ -107,7 +108,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { expectedA = ServiceUpdate{Op: SET, Services: []api.Service{*service1v2, *service2}} expectedB = ServiceUpdate{Op: SET, Services: []api.Service{*service2, *service1v2}} - if !api.Semantic.DeepEqual(expectedA, got) && !api.Semantic.DeepEqual(expectedB, got) { + if !apiequality.Semantic.DeepEqual(expectedA, got) && !apiequality.Semantic.DeepEqual(expectedB, got) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, got) } @@ -118,7 +119,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = ServiceUpdate{Op: SET, Services: []api.Service{*service2}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v, Got %#v", expected, got) } @@ -129,7 +130,7 @@ func TestNewServicesSourceApi_UpdatesAndMultipleServices(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = ServiceUpdate{Op: SET, Services: []api.Service{}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v, Got %#v", expected, got) } } @@ -180,7 +181,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected := EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v; Got %#v", expected, got) } @@ -191,7 +192,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints1v1}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v; Got %#v", expected, got) } @@ -205,7 +206,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { expectedA := EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints1v1, *endpoints2}} expectedB := EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints2, *endpoints1v1}} - if !api.Semantic.DeepEqual(expectedA, got) && !api.Semantic.DeepEqual(expectedB, got) { + if !apiequality.Semantic.DeepEqual(expectedA, got) && !apiequality.Semantic.DeepEqual(expectedB, got) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, got) } @@ -218,7 +219,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { expectedA = EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints1v2, *endpoints2}} expectedB = EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints2, *endpoints1v2}} - if !api.Semantic.DeepEqual(expectedA, got) && !api.Semantic.DeepEqual(expectedB, got) { + if !apiequality.Semantic.DeepEqual(expectedA, got) && !apiequality.Semantic.DeepEqual(expectedB, got) { t.Errorf("Expected %#v or %#v, Got %#v", expectedA, expectedB, got) } @@ -229,7 +230,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{*endpoints2}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v, Got %#v", expected, got) } @@ -240,7 +241,7 @@ func TestNewEndpointsSourceApi_UpdatesAndMultipleEndpoints(t *testing.T) { t.Errorf("Unable to read from channel when expected") } expected = EndpointsUpdate{Op: SET, Endpoints: []api.Endpoints{}} - if !api.Semantic.DeepEqual(expected, got) { + if !apiequality.Semantic.DeepEqual(expected, got) { t.Errorf("Expected %#v, Got %#v", expected, got) } } diff --git a/pkg/quota/BUILD b/pkg/quota/BUILD index 103a30626c4..75866a03122 100644 --- a/pkg/quota/BUILD +++ b/pkg/quota/BUILD @@ -17,8 +17,8 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/sets", @@ -33,7 +33,7 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", ], ) diff --git a/pkg/quota/evaluator/core/BUILD b/pkg/quota/evaluator/core/BUILD index 79884affd14..960c9415537 100644 --- a/pkg/quota/evaluator/core/BUILD +++ b/pkg/quota/evaluator/core/BUILD @@ -24,7 +24,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/validation:go_default_library", "//pkg/apis/storage/util:go_default_library", @@ -33,6 +32,7 @@ go_library( "//pkg/kubelet/qos:go_default_library", "//pkg/quota:go_default_library", "//pkg/quota/generic:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", @@ -53,10 +53,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/apis/storage/util:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/quota:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/quota/evaluator/core/persistent_volume_claims.go b/pkg/quota/evaluator/core/persistent_volume_claims.go index 12e399dfa2c..e77126b784b 100644 --- a/pkg/quota/evaluator/core/persistent_volume_claims.go +++ b/pkg/quota/evaluator/core/persistent_volume_claims.go @@ -20,13 +20,13 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/pkg/quota/evaluator/core/persistent_volume_claims_test.go b/pkg/quota/evaluator/core/persistent_volume_claims_test.go index 2bf7ba5e5e5..9384c19a84b 100644 --- a/pkg/quota/evaluator/core/persistent_volume_claims_test.go +++ b/pkg/quota/evaluator/core/persistent_volume_claims_test.go @@ -19,9 +19,9 @@ package core import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/quota" diff --git a/pkg/quota/evaluator/core/pods.go b/pkg/quota/evaluator/core/pods.go index e2940982740..2962c5c38fb 100644 --- a/pkg/quota/evaluator/core/pods.go +++ b/pkg/quota/evaluator/core/pods.go @@ -20,6 +20,7 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" @@ -27,7 +28,6 @@ import ( "k8s.io/apimachinery/pkg/util/validation/field" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/api/validation" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/pkg/quota/evaluator/core/pods_test.go b/pkg/quota/evaluator/core/pods_test.go index 3bd6130928d..5c64630950a 100644 --- a/pkg/quota/evaluator/core/pods_test.go +++ b/pkg/quota/evaluator/core/pods_test.go @@ -19,8 +19,8 @@ package core import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/quota" ) diff --git a/pkg/quota/evaluator/core/services.go b/pkg/quota/evaluator/core/services.go index 2a4aad927eb..4f0d67b7382 100644 --- a/pkg/quota/evaluator/core/services.go +++ b/pkg/quota/evaluator/core/services.go @@ -20,13 +20,13 @@ import ( "fmt" "strings" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/quota" diff --git a/pkg/quota/evaluator/core/services_test.go b/pkg/quota/evaluator/core/services_test.go index addcca04388..cbcc1871ca6 100644 --- a/pkg/quota/evaluator/core/services_test.go +++ b/pkg/quota/evaluator/core/services_test.go @@ -19,8 +19,8 @@ package core import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/quota" ) diff --git a/pkg/quota/generic/BUILD b/pkg/quota/generic/BUILD index f52ac7b34c7..5edc35c841b 100644 --- a/pkg/quota/generic/BUILD +++ b/pkg/quota/generic/BUILD @@ -16,9 +16,9 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/quota:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/pkg/quota/generic/evaluator.go b/pkg/quota/generic/evaluator.go index 6903e369071..78296172650 100644 --- a/pkg/quota/generic/evaluator.go +++ b/pkg/quota/generic/evaluator.go @@ -19,13 +19,13 @@ package generic import ( "fmt" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/controller/informers" "k8s.io/kubernetes/pkg/quota" ) diff --git a/pkg/quota/resources.go b/pkg/quota/resources.go index dae5bc6972a..beda30fbc46 100644 --- a/pkg/quota/resources.go +++ b/pkg/quota/resources.go @@ -17,9 +17,9 @@ limitations under the License. package quota import ( + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/quota/resources_test.go b/pkg/quota/resources_test.go index e87763691ec..5e4c11a9c77 100644 --- a/pkg/quota/resources_test.go +++ b/pkg/quota/resources_test.go @@ -19,8 +19,8 @@ package quota import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" ) func TestEquals(t *testing.T) { diff --git a/pkg/registry/core/limitrange/storage/BUILD b/pkg/registry/core/limitrange/storage/BUILD index d881f647f1a..a0eb13f6a5d 100644 --- a/pkg/registry/core/limitrange/storage/BUILD +++ b/pkg/registry/core/limitrange/storage/BUILD @@ -15,10 +15,10 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/genericapiserver/registry/generic:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/limitrange/storage/storage_test.go b/pkg/registry/core/limitrange/storage/storage_test.go index 0504dbb3210..044d741c95e 100644 --- a/pkg/registry/core/limitrange/storage/storage_test.go +++ b/pkg/registry/core/limitrange/storage/storage_test.go @@ -19,12 +19,12 @@ package storage import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" "k8s.io/kubernetes/pkg/registry/registrytest" etcdtesting "k8s.io/kubernetes/pkg/storage/etcd/testing" diff --git a/pkg/registry/core/node/storage/BUILD b/pkg/registry/core/node/storage/BUILD index a28f9588c9c..0f63dec939c 100644 --- a/pkg/registry/core/node/storage/BUILD +++ b/pkg/registry/core/node/storage/BUILD @@ -15,11 +15,11 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/genericapiserver/registry/generic:go_default_library", "//pkg/kubelet/client:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/node/storage/storage_test.go b/pkg/registry/core/node/storage/storage_test.go index c9b52b5836c..9716688c212 100644 --- a/pkg/registry/core/node/storage/storage_test.go +++ b/pkg/registry/core/node/storage/storage_test.go @@ -19,12 +19,12 @@ package storage import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" kubeletclient "k8s.io/kubernetes/pkg/kubelet/client" "k8s.io/kubernetes/pkg/registry/registrytest" diff --git a/pkg/registry/core/persistentvolume/storage/BUILD b/pkg/registry/core/persistentvolume/storage/BUILD index 9cf98d798a3..345e062ccea 100644 --- a/pkg/registry/core/persistentvolume/storage/BUILD +++ b/pkg/registry/core/persistentvolume/storage/BUILD @@ -15,11 +15,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/genericapiserver/registry/generic:go_default_library", "//pkg/genericapiserver/registry/rest:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/persistentvolume/storage/storage_test.go b/pkg/registry/core/persistentvolume/storage/storage_test.go index 26f11089cbf..bcd19059a79 100644 --- a/pkg/registry/core/persistentvolume/storage/storage_test.go +++ b/pkg/registry/core/persistentvolume/storage/storage_test.go @@ -19,6 +19,8 @@ package storage import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -26,7 +28,6 @@ import ( "k8s.io/apimachinery/pkg/util/diff" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/registrytest" @@ -190,7 +191,7 @@ func TestUpdateStatus(t *testing.T) { } pvOut := obj.(*api.PersistentVolume) // only compare the relevant change b/c metadata will differ - if !api.Semantic.DeepEqual(pvIn.Status, pvOut.Status) { + if !apiequality.Semantic.DeepEqual(pvIn.Status, pvOut.Status) { t.Errorf("unexpected object: %s", diff.ObjectDiff(pvIn.Status, pvOut.Status)) } } diff --git a/pkg/registry/core/persistentvolumeclaim/storage/BUILD b/pkg/registry/core/persistentvolumeclaim/storage/BUILD index e8a9576d94f..01039bfb69b 100644 --- a/pkg/registry/core/persistentvolumeclaim/storage/BUILD +++ b/pkg/registry/core/persistentvolumeclaim/storage/BUILD @@ -15,11 +15,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/genericapiserver/registry/generic:go_default_library", "//pkg/genericapiserver/registry/rest:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/persistentvolumeclaim/storage/storage_test.go b/pkg/registry/core/persistentvolumeclaim/storage/storage_test.go index d041283431c..d375344169a 100644 --- a/pkg/registry/core/persistentvolumeclaim/storage/storage_test.go +++ b/pkg/registry/core/persistentvolumeclaim/storage/storage_test.go @@ -19,6 +19,8 @@ package storage import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -26,7 +28,6 @@ import ( "k8s.io/apimachinery/pkg/util/diff" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/registrytest" @@ -187,7 +188,7 @@ func TestUpdateStatus(t *testing.T) { } pvcOut := obj.(*api.PersistentVolumeClaim) // only compare relevant changes b/c of difference in metadata - if !api.Semantic.DeepEqual(pvc.Status, pvcOut.Status) { + if !apiequality.Semantic.DeepEqual(pvc.Status, pvcOut.Status) { t.Errorf("unexpected object: %s", diff.ObjectDiff(pvc.Status, pvcOut.Status)) } } diff --git a/pkg/registry/core/pod/BUILD b/pkg/registry/core/pod/BUILD index 473b655c9b3..45e050f8735 100644 --- a/pkg/registry/core/pod/BUILD +++ b/pkg/registry/core/pod/BUILD @@ -42,9 +42,9 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testing:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/pod/storage/BUILD b/pkg/registry/core/pod/storage/BUILD index ff605437c4d..b0d4e963abd 100644 --- a/pkg/registry/core/pod/storage/BUILD +++ b/pkg/registry/core/pod/storage/BUILD @@ -23,6 +23,7 @@ go_test( "//pkg/storage:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/registry/core/pod/storage/storage_test.go b/pkg/registry/core/pod/storage/storage_test.go index a30fbb83bda..3ae64b998aa 100644 --- a/pkg/registry/core/pod/storage/storage_test.go +++ b/pkg/registry/core/pod/storage/storage_test.go @@ -21,6 +21,7 @@ import ( "testing" "golang.org/x/net/context" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -634,7 +635,7 @@ func TestEtcdUpdateNotScheduled(t *testing.T) { } podOut := obj.(*api.Pod) // validChangedPod only changes the Labels, so were checking the update was valid - if !api.Semantic.DeepEqual(podIn.Labels, podOut.Labels) { + if !apiequality.Semantic.DeepEqual(podIn.Labels, podOut.Labels) { t.Errorf("objects differ: %v", diff.ObjectDiff(podOut, podIn)) } } @@ -705,7 +706,7 @@ func TestEtcdUpdateScheduled(t *testing.T) { } podOut := obj.(*api.Pod) // Check to verify the Spec and Label updates match from change above. Those are the fields changed. - if !api.Semantic.DeepEqual(podOut.Spec, podIn.Spec) || !api.Semantic.DeepEqual(podOut.Labels, podIn.Labels) { + if !apiequality.Semantic.DeepEqual(podOut.Spec, podIn.Spec) || !apiequality.Semantic.DeepEqual(podOut.Labels, podIn.Labels) { t.Errorf("objects differ: %v", diff.ObjectDiff(podOut, podIn)) } @@ -788,9 +789,9 @@ func TestEtcdUpdateStatus(t *testing.T) { } podOut := obj.(*api.Pod) // Check to verify the Label, and Status updates match from change above. Those are the fields changed. - if !api.Semantic.DeepEqual(podOut.Spec, expected.Spec) || - !api.Semantic.DeepEqual(podOut.Labels, expected.Labels) || - !api.Semantic.DeepEqual(podOut.Status, expected.Status) { + if !apiequality.Semantic.DeepEqual(podOut.Spec, expected.Spec) || + !apiequality.Semantic.DeepEqual(podOut.Labels, expected.Labels) || + !apiequality.Semantic.DeepEqual(podOut.Status, expected.Status) { t.Errorf("objects differ: %v", diff.ObjectDiff(podOut, expected)) } } diff --git a/pkg/registry/core/pod/strategy_test.go b/pkg/registry/core/pod/strategy_test.go index 9d6e4b82928..7c6a369e8d1 100644 --- a/pkg/registry/core/pod/strategy_test.go +++ b/pkg/registry/core/pod/strategy_test.go @@ -21,13 +21,13 @@ import ( "testing" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" apitesting "k8s.io/kubernetes/pkg/api/testing" ) diff --git a/pkg/registry/core/replicationcontroller/storage/BUILD b/pkg/registry/core/replicationcontroller/storage/BUILD index 1f85c41ac18..fc585ac931a 100644 --- a/pkg/registry/core/replicationcontroller/storage/BUILD +++ b/pkg/registry/core/replicationcontroller/storage/BUILD @@ -20,6 +20,7 @@ go_test( "//pkg/genericapiserver/registry/rest:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/registry/core/replicationcontroller/storage/storage_test.go b/pkg/registry/core/replicationcontroller/storage/storage_test.go index 35bf53b2132..9354f1fd731 100644 --- a/pkg/registry/core/replicationcontroller/storage/storage_test.go +++ b/pkg/registry/core/replicationcontroller/storage/storage_test.go @@ -19,6 +19,7 @@ package storage import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -284,7 +285,7 @@ func TestScaleGet(t *testing.T) { t.Fatalf("error fetching scale for %s: %v", name, err) } got := obj.(*autoscaling.Scale) - if !api.Semantic.DeepEqual(want, got) { + if !apiequality.Semantic.DeepEqual(want, got) { t.Errorf("unexpected scale: %s", diff.ObjectDiff(want, got)) } } diff --git a/pkg/registry/core/resourcequota/BUILD b/pkg/registry/core/resourcequota/BUILD index d1e8ef1506d..2114ce062e7 100644 --- a/pkg/registry/core/resourcequota/BUILD +++ b/pkg/registry/core/resourcequota/BUILD @@ -36,8 +36,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/endpoints/request", ], diff --git a/pkg/registry/core/resourcequota/storage/BUILD b/pkg/registry/core/resourcequota/storage/BUILD index 0f5e1fa412d..6b1147245a0 100644 --- a/pkg/registry/core/resourcequota/storage/BUILD +++ b/pkg/registry/core/resourcequota/storage/BUILD @@ -15,11 +15,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/genericapiserver/registry/generic:go_default_library", "//pkg/genericapiserver/registry/rest:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/pkg/registry/core/resourcequota/storage/storage_test.go b/pkg/registry/core/resourcequota/storage/storage_test.go index 9a2cb6af33f..debe206407e 100644 --- a/pkg/registry/core/resourcequota/storage/storage_test.go +++ b/pkg/registry/core/resourcequota/storage/storage_test.go @@ -19,13 +19,14 @@ package storage import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/diff" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/genericapiserver/registry/generic" "k8s.io/kubernetes/pkg/genericapiserver/registry/rest" "k8s.io/kubernetes/pkg/registry/registrytest" @@ -197,7 +198,7 @@ func TestUpdateStatus(t *testing.T) { obj, err := storage.Get(ctx, "foo", &metav1.GetOptions{}) rqOut := obj.(*api.ResourceQuota) // only compare the meaningful update b/c we can't compare due to metadata - if !api.Semantic.DeepEqual(resourcequotaIn.Status, rqOut.Status) { + if !apiequality.Semantic.DeepEqual(resourcequotaIn.Status, rqOut.Status) { t.Errorf("unexpected object: %s", diff.ObjectDiff(resourcequotaIn, rqOut)) } } diff --git a/pkg/registry/core/resourcequota/strategy_test.go b/pkg/registry/core/resourcequota/strategy_test.go index 66512aff440..bde07ac7a6f 100644 --- a/pkg/registry/core/resourcequota/strategy_test.go +++ b/pkg/registry/core/resourcequota/strategy_test.go @@ -19,10 +19,10 @@ package resourcequota import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" genericapirequest "k8s.io/apiserver/pkg/endpoints/request" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" apitesting "k8s.io/kubernetes/pkg/api/testing" ) diff --git a/pkg/registry/extensions/deployment/storage/BUILD b/pkg/registry/extensions/deployment/storage/BUILD index ea0f3bc2dbf..e0f550d7405 100644 --- a/pkg/registry/extensions/deployment/storage/BUILD +++ b/pkg/registry/extensions/deployment/storage/BUILD @@ -22,6 +22,7 @@ go_test( "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", "//pkg/util/intstr:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/registry/extensions/deployment/storage/storage_test.go b/pkg/registry/extensions/deployment/storage/storage_test.go index c60dca51950..7f6df0220cb 100644 --- a/pkg/registry/extensions/deployment/storage/storage_test.go +++ b/pkg/registry/extensions/deployment/storage/storage_test.go @@ -20,6 +20,7 @@ import ( "reflect" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -226,7 +227,7 @@ func TestScaleGet(t *testing.T) { t.Fatalf("error fetching scale for %s: %v", name, err) } got := obj.(*extensions.Scale) - if !api.Semantic.DeepEqual(want, got) { + if !apiequality.Semantic.DeepEqual(want, got) { t.Errorf("unexpected scale: %s", diff.ObjectDiff(want, got)) } } diff --git a/pkg/registry/extensions/replicaset/storage/BUILD b/pkg/registry/extensions/replicaset/storage/BUILD index cf2178d445a..0792ece9d39 100644 --- a/pkg/registry/extensions/replicaset/storage/BUILD +++ b/pkg/registry/extensions/replicaset/storage/BUILD @@ -20,6 +20,7 @@ go_test( "//pkg/genericapiserver/registry/rest:go_default_library", "//pkg/registry/registrytest:go_default_library", "//pkg/storage/etcd/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/registry/extensions/replicaset/storage/storage_test.go b/pkg/registry/extensions/replicaset/storage/storage_test.go index 7a5c9e3a62d..54fd56b6fa1 100644 --- a/pkg/registry/extensions/replicaset/storage/storage_test.go +++ b/pkg/registry/extensions/replicaset/storage/storage_test.go @@ -19,6 +19,7 @@ package storage import ( "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -281,7 +282,7 @@ func TestScaleGet(t *testing.T) { if err != nil { t.Fatalf("error fetching scale for %s: %v", name, err) } - if !api.Semantic.DeepEqual(got, want) { + if !apiequality.Semantic.DeepEqual(got, want) { t.Errorf("unexpected scale: %s", diff.ObjectDiff(got, want)) } } diff --git a/pkg/storage/BUILD b/pkg/storage/BUILD index cf6cfe668c2..12ff7470e6e 100644 --- a/pkg/storage/BUILD +++ b/pkg/storage/BUILD @@ -22,7 +22,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/util:go_default_library", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", "//vendor:k8s.io/apimachinery/pkg/api/errors", @@ -38,6 +37,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/validation/field", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/apiserver/pkg/util/trace", "//vendor:k8s.io/client-go/tools/cache", "//vendor:k8s.io/client-go/util/clock", ], @@ -55,6 +55,7 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", @@ -81,6 +82,7 @@ go_test( "//pkg/storage/etcd/testing:go_default_library", "//pkg/storage/etcd3:go_default_library", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", diff --git a/pkg/storage/cacher.go b/pkg/storage/cacher.go index e031073aa53..fffac82a8b0 100644 --- a/pkg/storage/cacher.go +++ b/pkg/storage/cacher.go @@ -24,6 +24,9 @@ import ( "sync" "time" + "github.com/golang/glog" + "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -34,11 +37,8 @@ import ( utilruntime "k8s.io/apimachinery/pkg/util/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/util" - - "github.com/golang/glog" - "golang.org/x/net/context" ) // CacherConfig contains the configuration for a given Cache. @@ -413,7 +413,7 @@ func (c *Cacher) GetToList(ctx context.Context, key string, resourceVersion stri return err } - trace := util.NewTrace(fmt.Sprintf("cacher %v: List", c.objectType.String())) + trace := utiltrace.New(fmt.Sprintf("cacher %v: List", c.objectType.String())) defer trace.LogIfLong(500 * time.Millisecond) c.ready.wait() @@ -469,7 +469,7 @@ func (c *Cacher) List(ctx context.Context, key string, resourceVersion string, p return err } - trace := util.NewTrace(fmt.Sprintf("cacher %v: List", c.objectType.String())) + trace := utiltrace.New(fmt.Sprintf("cacher %v: List", c.objectType.String())) defer trace.LogIfLong(500 * time.Millisecond) c.ready.wait() diff --git a/pkg/storage/cacher_test.go b/pkg/storage/cacher_test.go index dac10d5d150..ac499bb77aa 100644 --- a/pkg/storage/cacher_test.go +++ b/pkg/storage/cacher_test.go @@ -24,6 +24,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -282,7 +283,7 @@ func verifyWatchEvent(t *testing.T, w watch.Interface, eventType watch.EventType t.Logf("(called from line %d)", line) t.Errorf("Expected: %s, got: %s", eventType, event.Type) } - if e, a := eventObject, event.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := eventObject, event.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Logf("(called from line %d)", line) t.Errorf("Expected (%s): %#v, got: %#v", eventType, e, a) } diff --git a/pkg/storage/etcd/BUILD b/pkg/storage/etcd/BUILD index 8291c35772c..4b982015828 100644 --- a/pkg/storage/etcd/BUILD +++ b/pkg/storage/etcd/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api:go_default_library", "//pkg/storage:go_default_library", "//pkg/storage/etcd/util:go_default_library", - "//pkg/util:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:github.com/golang/glog", "//vendor:golang.org/x/net/context", @@ -33,6 +32,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/watch", "//vendor:k8s.io/apiserver/pkg/storage/etcd/metrics", "//vendor:k8s.io/apiserver/pkg/util/cache", + "//vendor:k8s.io/apiserver/pkg/util/trace", ], ) @@ -55,6 +55,7 @@ go_test( "//pkg/storage/testing:go_default_library", "//vendor:github.com/coreos/etcd/client", "//vendor:golang.org/x/net/context", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/fields", diff --git a/pkg/storage/etcd/etcd_helper.go b/pkg/storage/etcd/etcd_helper.go index f92f6ac143a..2790480a1ac 100644 --- a/pkg/storage/etcd/etcd_helper.go +++ b/pkg/storage/etcd/etcd_helper.go @@ -23,6 +23,10 @@ import ( "reflect" "time" + etcd "github.com/coreos/etcd/client" + "github.com/golang/glog" + "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" @@ -30,14 +34,10 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/apiserver/pkg/storage/etcd/metrics" utilcache "k8s.io/apiserver/pkg/util/cache" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/kubernetes/pkg/api" "k8s.io/kubernetes/pkg/storage" etcdutil "k8s.io/kubernetes/pkg/storage/etcd/util" - "k8s.io/kubernetes/pkg/util" - - etcd "github.com/coreos/etcd/client" - "github.com/golang/glog" - "golang.org/x/net/context" ) // Creates a new storage interface from the client @@ -92,7 +92,7 @@ func (h *etcdHelper) Versioner() storage.Versioner { // Implements storage.Interface. func (h *etcdHelper) Create(ctx context.Context, key string, obj, out runtime.Object, ttl uint64) error { - trace := util.NewTrace("etcdHelper::Create " + getTypeName(obj)) + trace := utiltrace.New("etcdHelper::Create " + getTypeName(obj)) defer trace.LogIfLong(250 * time.Millisecond) if ctx == nil { glog.Errorf("Context is nil") @@ -301,7 +301,7 @@ func (h *etcdHelper) GetToList(ctx context.Context, key string, resourceVersion if ctx == nil { glog.Errorf("Context is nil") } - trace := util.NewTrace("GetToList " + getTypeName(listObj)) + trace := utiltrace.New("GetToList " + getTypeName(listObj)) listPtr, err := meta.GetItemsPtr(listObj) if err != nil { return err @@ -338,7 +338,7 @@ func (h *etcdHelper) GetToList(ctx context.Context, key string, resourceVersion // decodeNodeList walks the tree of each node in the list and decodes into the specified object func (h *etcdHelper) decodeNodeList(nodes []*etcd.Node, filter storage.FilterFunc, slicePtr interface{}) error { - trace := util.NewTrace("decodeNodeList " + getTypeName(slicePtr)) + trace := utiltrace.New("decodeNodeList " + getTypeName(slicePtr)) defer trace.LogIfLong(400 * time.Millisecond) v, err := conversion.EnforcePtr(slicePtr) if err != nil || v.Kind() != reflect.Slice { @@ -383,7 +383,7 @@ func (h *etcdHelper) List(ctx context.Context, key string, resourceVersion strin if ctx == nil { glog.Errorf("Context is nil") } - trace := util.NewTrace("List " + getTypeName(listObj)) + trace := utiltrace.New("List " + getTypeName(listObj)) defer trace.LogIfLong(400 * time.Millisecond) listPtr, err := meta.GetItemsPtr(listObj) if err != nil { diff --git a/pkg/storage/etcd/etcd_watcher_test.go b/pkg/storage/etcd/etcd_watcher_test.go index c07c189fe70..ea700fa2e81 100644 --- a/pkg/storage/etcd/etcd_watcher_test.go +++ b/pkg/storage/etcd/etcd_watcher_test.go @@ -20,6 +20,7 @@ import ( rt "runtime" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" @@ -139,7 +140,7 @@ func TestWatchInterpretations(t *testing.T) { if e, a := item.expectType, event.Type; e != a { t.Errorf("'%v - %v': expected %v, got %v", name, action, e, a) } - if e, a := item.expectObject, event.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := item.expectObject, event.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("'%v - %v': expected %v, got %v", name, action, e, a) } } @@ -311,7 +312,7 @@ func TestWatch(t *testing.T) { if e, a := watch.Added, event.Type; e != a { t.Errorf("Expected %v, got %v", e, a) } - if e, a := pod, event.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := pod, event.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Expected %v, got %v", e, a) } @@ -391,7 +392,7 @@ func TestWatchEtcdState(t *testing.T) { t.Errorf("Unexpected event %#v", event) } - if e, a := endpoint, event.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := endpoint, event.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Unexpected error: expected %#v, got %#v", e, a) } } @@ -464,7 +465,7 @@ func TestWatchFromZeroIndex(t *testing.T) { t.Errorf("Unexpected event %#v", event) } - if e, a := pod, event.Object; a == nil || !api.Semantic.DeepDerivative(e, a) { + if e, a := pod, event.Object; a == nil || !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Unexpected error: expected %#v, got %#v", e, a) } } @@ -494,7 +495,7 @@ func TestWatchListFromZeroIndex(t *testing.T) { t.Errorf("Unexpected event %#v", event) } - if e, a := pod, event.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := pod, event.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Unexpected error: expected %v, got %v", e, a) } } diff --git a/pkg/storage/etcd3/BUILD b/pkg/storage/etcd3/BUILD index 94046467ec9..2649927cc8a 100644 --- a/pkg/storage/etcd3/BUILD +++ b/pkg/storage/etcd3/BUILD @@ -20,7 +20,6 @@ go_library( deps = [ "//pkg/storage:go_default_library", "//pkg/storage/etcd:go_default_library", - "//pkg/util:go_default_library", "//vendor:github.com/coreos/etcd/clientv3", "//vendor:github.com/coreos/etcd/etcdserver/api/v3rpc/rpctypes", "//vendor:github.com/coreos/etcd/mvcc/mvccpb", @@ -31,6 +30,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/conversion", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/watch", + "//vendor:k8s.io/apiserver/pkg/util/trace", ], ) diff --git a/pkg/storage/etcd3/store.go b/pkg/storage/etcd3/store.go index bcecfbfc384..2ecfd6c9016 100644 --- a/pkg/storage/etcd3/store.go +++ b/pkg/storage/etcd3/store.go @@ -25,18 +25,18 @@ import ( "strings" "time" + "github.com/coreos/etcd/clientv3" + "github.com/golang/glog" + "golang.org/x/net/context" + "k8s.io/apimachinery/pkg/api/meta" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/conversion" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/kubernetes/pkg/storage" "k8s.io/kubernetes/pkg/storage/etcd" - "k8s.io/kubernetes/pkg/util" - - "github.com/coreos/etcd/clientv3" - "github.com/golang/glog" - "golang.org/x/net/context" ) type store struct { @@ -216,7 +216,7 @@ func (s *store) conditionalDelete(ctx context.Context, key string, out runtime.O func (s *store) GuaranteedUpdate( ctx context.Context, key string, out runtime.Object, ignoreNotFound bool, precondtions *storage.Preconditions, tryUpdate storage.UpdateFunc, suggestion ...runtime.Object) error { - trace := util.NewTrace(fmt.Sprintf("GuaranteedUpdate etcd3: %s", reflect.TypeOf(out).String())) + trace := utiltrace.New(fmt.Sprintf("GuaranteedUpdate etcd3: %s", reflect.TypeOf(out).String())) defer trace.LogIfLong(500 * time.Millisecond) v, err := conversion.EnforcePtr(out) diff --git a/pkg/storage/watch_cache.go b/pkg/storage/watch_cache.go index 81367a474a3..b2d8f4a828b 100644 --- a/pkg/storage/watch_cache.go +++ b/pkg/storage/watch_cache.go @@ -29,9 +29,9 @@ import ( "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/watch" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/client-go/tools/cache" "k8s.io/client-go/util/clock" - "k8s.io/kubernetes/pkg/util" ) const ( @@ -281,7 +281,7 @@ func (w *watchCache) List() []interface{} { // waitUntilFreshAndBlock waits until cache is at least as fresh as given . // NOTE: This function acquired lock and doesn't release it. // You HAVE TO explicitly call w.RUnlock() after this function. -func (w *watchCache) waitUntilFreshAndBlock(resourceVersion uint64, trace *util.Trace) error { +func (w *watchCache) waitUntilFreshAndBlock(resourceVersion uint64, trace *utiltrace.Trace) error { startTime := w.clock.Now() go func() { // Wake us up when the time limit has expired. The docs @@ -313,7 +313,7 @@ func (w *watchCache) waitUntilFreshAndBlock(resourceVersion uint64, trace *util. } // WaitUntilFreshAndList returns list of pointers to objects. -func (w *watchCache) WaitUntilFreshAndList(resourceVersion uint64, trace *util.Trace) ([]interface{}, uint64, error) { +func (w *watchCache) WaitUntilFreshAndList(resourceVersion uint64, trace *utiltrace.Trace) ([]interface{}, uint64, error) { err := w.waitUntilFreshAndBlock(resourceVersion, trace) defer w.RUnlock() if err != nil { @@ -323,7 +323,7 @@ func (w *watchCache) WaitUntilFreshAndList(resourceVersion uint64, trace *util.T } // WaitUntilFreshAndGet returns a pointers to object. -func (w *watchCache) WaitUntilFreshAndGet(resourceVersion uint64, key string, trace *util.Trace) (interface{}, bool, uint64, error) { +func (w *watchCache) WaitUntilFreshAndGet(resourceVersion uint64, key string, trace *utiltrace.Trace) (interface{}, bool, uint64, error) { err := w.waitUntilFreshAndBlock(resourceVersion, trace) defer w.RUnlock() if err != nil { diff --git a/pkg/storage/watch_cache_test.go b/pkg/storage/watch_cache_test.go index 18fd0ade9a5..4a82cf1e576 100644 --- a/pkg/storage/watch_cache_test.go +++ b/pkg/storage/watch_cache_test.go @@ -21,6 +21,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" @@ -68,7 +69,7 @@ func TestWatchCacheBasic(t *testing.T) { if item, ok, _ := store.Get(pod1); !ok { t.Errorf("didn't find pod") } else { - if !api.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/pod", Object: pod1}, item) { + if !apiequality.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/pod", Object: pod1}, item) { t.Errorf("expected %v, got %v", pod1, item) } } @@ -79,7 +80,7 @@ func TestWatchCacheBasic(t *testing.T) { if item, ok, _ := store.Get(pod2); !ok { t.Errorf("didn't find pod") } else { - if !api.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/pod", Object: pod2}, item) { + if !apiequality.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/pod", Object: pod2}, item) { t.Errorf("expected %v, got %v", pod1, item) } } @@ -154,7 +155,7 @@ func TestEvents(t *testing.T) { t.Errorf("unexpected event type: %v", result[0].Type) } pod := makeTestPod("pod", uint64(3)) - if !api.Semantic.DeepEqual(pod, result[0].Object) { + if !apiequality.Semantic.DeepEqual(pod, result[0].Object) { t.Errorf("unexpected item: %v, expected: %v", result[0].Object, pod) } if result[0].PrevObject != nil { @@ -185,11 +186,11 @@ func TestEvents(t *testing.T) { t.Errorf("unexpected event type: %v", result[i].Type) } pod := makeTestPod("pod", uint64(i+4)) - if !api.Semantic.DeepEqual(pod, result[i].Object) { + if !apiequality.Semantic.DeepEqual(pod, result[i].Object) { t.Errorf("unexpected item: %v, expected: %v", result[i].Object, pod) } prevPod := makeTestPod("pod", uint64(i+3)) - if !api.Semantic.DeepEqual(prevPod, result[i].PrevObject) { + if !apiequality.Semantic.DeepEqual(prevPod, result[i].PrevObject) { t.Errorf("unexpected item: %v, expected: %v", result[i].PrevObject, prevPod) } } @@ -216,7 +217,7 @@ func TestEvents(t *testing.T) { } for i := 0; i < 5; i++ { pod := makeTestPod("pod", uint64(i+5)) - if !api.Semantic.DeepEqual(pod, result[i].Object) { + if !apiequality.Semantic.DeepEqual(pod, result[i].Object) { t.Errorf("unexpected item: %v, expected: %v", result[i].Object, pod) } } @@ -237,11 +238,11 @@ func TestEvents(t *testing.T) { t.Errorf("unexpected event type: %v", result[0].Type) } pod := makeTestPod("pod", uint64(10)) - if !api.Semantic.DeepEqual(pod, result[0].Object) { + if !apiequality.Semantic.DeepEqual(pod, result[0].Object) { t.Errorf("unexpected item: %v, expected: %v", result[0].Object, pod) } prevPod := makeTestPod("pod", uint64(9)) - if !api.Semantic.DeepEqual(prevPod, result[0].PrevObject) { + if !apiequality.Semantic.DeepEqual(prevPod, result[0].PrevObject) { t.Errorf("unexpected item: %v, expected: %v", result[0].PrevObject, prevPod) } } @@ -287,7 +288,7 @@ func TestWaitUntilFreshAndGet(t *testing.T) { if !exists { t.Fatalf("no results returned: %#v", obj) } - if !api.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/bar", Object: makeTestPod("bar", 5)}, obj) { + if !apiequality.Semantic.DeepEqual(&storeElement{Key: "prefix/ns/bar", Object: makeTestPod("bar", 5)}, obj) { t.Errorf("unexpected element returned: %#v", obj) } } diff --git a/pkg/util/BUILD b/pkg/util/BUILD index 3418ef6f41c..2e194816d8b 100644 --- a/pkg/util/BUILD +++ b/pkg/util/BUILD @@ -13,12 +13,10 @@ go_library( srcs = [ "doc.go", "template.go", - "trace.go", "umask.go", "util.go", ], tags = ["automanaged"], - deps = ["//vendor:github.com/golang/glog"], ) go_test( diff --git a/pkg/util/bandwidth/BUILD b/pkg/util/bandwidth/BUILD index 13584addc2c..0d804588266 100644 --- a/pkg/util/bandwidth/BUILD +++ b/pkg/util/bandwidth/BUILD @@ -19,9 +19,9 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/util/exec:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/util/sets", ], ) @@ -36,8 +36,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/util/exec:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/pkg/util/bandwidth/fake_shaper.go b/pkg/util/bandwidth/fake_shaper.go index ad8712d5b8c..8c95e3bb317 100644 --- a/pkg/util/bandwidth/fake_shaper.go +++ b/pkg/util/bandwidth/fake_shaper.go @@ -19,7 +19,7 @@ package bandwidth import ( "errors" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) type FakeShaper struct { diff --git a/pkg/util/bandwidth/interfaces.go b/pkg/util/bandwidth/interfaces.go index a6792afe219..6b0e160aae6 100644 --- a/pkg/util/bandwidth/interfaces.go +++ b/pkg/util/bandwidth/interfaces.go @@ -16,7 +16,7 @@ limitations under the License. package bandwidth -import "k8s.io/kubernetes/pkg/api/resource" +import "k8s.io/apimachinery/pkg/api/resource" type BandwidthShaper interface { // Limit the bandwidth for a particular CIDR on a particular interface diff --git a/pkg/util/bandwidth/linux.go b/pkg/util/bandwidth/linux.go index 3e3ba64119c..6413930af39 100644 --- a/pkg/util/bandwidth/linux.go +++ b/pkg/util/bandwidth/linux.go @@ -26,8 +26,8 @@ import ( "net" "strings" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/util/exec" "github.com/golang/glog" diff --git a/pkg/util/bandwidth/linux_test.go b/pkg/util/bandwidth/linux_test.go index 831afa65eae..e005d65427e 100644 --- a/pkg/util/bandwidth/linux_test.go +++ b/pkg/util/bandwidth/linux_test.go @@ -24,7 +24,7 @@ import ( "strings" "testing" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/util/exec" ) diff --git a/pkg/util/bandwidth/unsupported.go b/pkg/util/bandwidth/unsupported.go index 21ed2ad2838..7d556fd64da 100644 --- a/pkg/util/bandwidth/unsupported.go +++ b/pkg/util/bandwidth/unsupported.go @@ -21,7 +21,7 @@ package bandwidth import ( "errors" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) type unsupportedShaper struct { diff --git a/pkg/util/bandwidth/utils.go b/pkg/util/bandwidth/utils.go index 77447b4840a..bcd64f528bb 100644 --- a/pkg/util/bandwidth/utils.go +++ b/pkg/util/bandwidth/utils.go @@ -19,7 +19,7 @@ package bandwidth import ( "fmt" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) var minRsrc = resource.MustParse("1k") diff --git a/pkg/util/bandwidth/utils_test.go b/pkg/util/bandwidth/utils_test.go index be572db7d4e..56687975afd 100644 --- a/pkg/util/bandwidth/utils_test.go +++ b/pkg/util/bandwidth/utils_test.go @@ -20,9 +20,9 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" ) func TestExtractPodBandwidthResources(t *testing.T) { diff --git a/pkg/util/io/BUILD b/pkg/util/io/BUILD index 2e8a73e6027..1dfc3ad9816 100644 --- a/pkg/util/io/BUILD +++ b/pkg/util/io/BUILD @@ -32,6 +32,7 @@ go_test( "//pkg/util/io:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/client-go/util/testing", ], diff --git a/pkg/util/io/io_test.go b/pkg/util/io/io_test.go index 86b00394ee1..39317427574 100644 --- a/pkg/util/io/io_test.go +++ b/pkg/util/io/io_test.go @@ -22,6 +22,7 @@ import ( "testing" "github.com/pborman/uuid" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/runtime" utiltesting "k8s.io/client-go/util/testing" "k8s.io/kubernetes/pkg/api" @@ -49,7 +50,7 @@ func TestSavePodToFile(t *testing.T) { if err != nil { t.Fatalf("failed to load pod from file: %v", err) } - if !api.Semantic.DeepEqual(pod, podFromFile) { + if !apiequality.Semantic.DeepEqual(pod, podFromFile) { t.Errorf("\nexpected %#v\ngot %#v\n", pod, podFromFile) } } diff --git a/pkg/volume/BUILD b/pkg/volume/BUILD index 874a004af9a..9b114c49f19 100644 --- a/pkg/volume/BUILD +++ b/pkg/volume/BUILD @@ -24,7 +24,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/cloudprovider:go_default_library", @@ -35,6 +34,7 @@ go_library( "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/types", @@ -57,9 +57,9 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/watch", diff --git a/pkg/volume/aws_ebs/BUILD b/pkg/volume/aws_ebs/BUILD index cbcb608629e..2cb35dea638 100644 --- a/pkg/volume/aws_ebs/BUILD +++ b/pkg/volume/aws_ebs/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/aws:go_default_library", @@ -28,6 +27,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", ], diff --git a/pkg/volume/aws_ebs/aws_ebs.go b/pkg/volume/aws_ebs/aws_ebs.go index 20a7f4ab51f..f7837a41025 100644 --- a/pkg/volume/aws_ebs/aws_ebs.go +++ b/pkg/volume/aws_ebs/aws_ebs.go @@ -25,9 +25,9 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" "k8s.io/kubernetes/pkg/util/exec" diff --git a/pkg/volume/azure_dd/BUILD b/pkg/volume/azure_dd/BUILD index 373ead3aa7a..4c1bf1ba9f6 100644 --- a/pkg/volume/azure_dd/BUILD +++ b/pkg/volume/azure_dd/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/azure:go_default_library", @@ -30,6 +29,7 @@ go_library( "//pkg/volume/util:go_default_library", "//vendor:github.com/Azure/azure-sdk-for-go/arm/compute", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/wait", diff --git a/pkg/volume/azure_dd/azure_provision.go b/pkg/volume/azure_dd/azure_provision.go index 56e1f62aabd..2cb7613d6e4 100644 --- a/pkg/volume/azure_dd/azure_provision.go +++ b/pkg/volume/azure_dd/azure_provision.go @@ -21,8 +21,8 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" utilstrings "k8s.io/kubernetes/pkg/util/strings" "k8s.io/kubernetes/pkg/volume" diff --git a/pkg/volume/cinder/BUILD b/pkg/volume/cinder/BUILD index cd92fe15836..c9a7fc435b4 100644 --- a/pkg/volume/cinder/BUILD +++ b/pkg/volume/cinder/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/openstack:go_default_library", @@ -30,6 +29,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", ], diff --git a/pkg/volume/cinder/cinder.go b/pkg/volume/cinder/cinder.go index d02e41cbe1f..e8b10cd3597 100644 --- a/pkg/volume/cinder/cinder.go +++ b/pkg/volume/cinder/cinder.go @@ -23,9 +23,9 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/cloudprovider" "k8s.io/kubernetes/pkg/cloudprovider/providers/openstack" diff --git a/pkg/volume/flocker/BUILD b/pkg/volume/flocker/BUILD index 869a346cdf9..d599709d0d8 100644 --- a/pkg/volume/flocker/BUILD +++ b/pkg/volume/flocker/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/util/env:go_default_library", "//pkg/util/mount:go_default_library", @@ -27,6 +26,7 @@ go_library( "//pkg/volume/util:go_default_library", "//vendor:github.com/clusterhq/flocker-go", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/rand", diff --git a/pkg/volume/flocker/flocker_volume.go b/pkg/volume/flocker/flocker_volume.go index c3b5f8ccd6f..46d01d5b9f6 100644 --- a/pkg/volume/flocker/flocker_volume.go +++ b/pkg/volume/flocker/flocker_volume.go @@ -19,8 +19,8 @@ package flocker import ( "fmt" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/volume" ) diff --git a/pkg/volume/gce_pd/BUILD b/pkg/volume/gce_pd/BUILD index 949df811424..f2633e393b8 100644 --- a/pkg/volume/gce_pd/BUILD +++ b/pkg/volume/gce_pd/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/gce:go_default_library", @@ -28,6 +27,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/pkg/volume/gce_pd/gce_pd.go b/pkg/volume/gce_pd/gce_pd.go index 74224d31bff..feb18f88046 100644 --- a/pkg/volume/gce_pd/gce_pd.go +++ b/pkg/volume/gce_pd/gce_pd.go @@ -23,9 +23,9 @@ import ( "strconv" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/mount" "k8s.io/kubernetes/pkg/util/strings" diff --git a/pkg/volume/glusterfs/BUILD b/pkg/volume/glusterfs/BUILD index 0b55fbe577c..bfb91555fcb 100644 --- a/pkg/volume/glusterfs/BUILD +++ b/pkg/volume/glusterfs/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1/util:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -32,6 +31,7 @@ go_library( "//vendor:github.com/heketi/heketi/client/api/go-client", "//vendor:github.com/heketi/heketi/pkg/glusterfs/api", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/types", diff --git a/pkg/volume/glusterfs/glusterfs.go b/pkg/volume/glusterfs/glusterfs.go index 9b838eb7fa1..eb7a72fca4a 100644 --- a/pkg/volume/glusterfs/glusterfs.go +++ b/pkg/volume/glusterfs/glusterfs.go @@ -30,10 +30,10 @@ import ( gcli "github.com/heketi/heketi/client/api/go-client" gapi "github.com/heketi/heketi/pkg/glusterfs/api" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/pkg/volume/host_path/BUILD b/pkg/volume/host_path/BUILD index 7556cadde25..cef5052dbcb 100644 --- a/pkg/volume/host_path/BUILD +++ b/pkg/volume/host_path/BUILD @@ -31,12 +31,12 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset/fake:go_default_library", "//pkg/util:go_default_library", "//pkg/volume:go_default_library", "//pkg/volume/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/uuid", diff --git a/pkg/volume/host_path/host_path_test.go b/pkg/volume/host_path/host_path_test.go index fa2e83fdc5a..bbd1df562a6 100644 --- a/pkg/volume/host_path/host_path_test.go +++ b/pkg/volume/host_path/host_path_test.go @@ -23,10 +23,10 @@ import ( "os" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/fake" "k8s.io/kubernetes/pkg/util" diff --git a/pkg/volume/metrics_du.go b/pkg/volume/metrics_du.go index eef868da6d1..7edb293101f 100644 --- a/pkg/volume/metrics_du.go +++ b/pkg/volume/metrics_du.go @@ -17,7 +17,7 @@ limitations under the License. package volume import ( - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/metrics_statfs.go b/pkg/volume/metrics_statfs.go index 37a5e03bee9..3f7e6be8ea3 100644 --- a/pkg/volume/metrics_statfs.go +++ b/pkg/volume/metrics_statfs.go @@ -17,7 +17,7 @@ limitations under the License. package volume import ( - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/photon_pd/BUILD b/pkg/volume/photon_pd/BUILD index c964b6689d6..107aace626a 100644 --- a/pkg/volume/photon_pd/BUILD +++ b/pkg/volume/photon_pd/BUILD @@ -17,7 +17,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/photon:go_default_library", @@ -27,6 +26,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", ], diff --git a/pkg/volume/photon_pd/photon_pd.go b/pkg/volume/photon_pd/photon_pd.go index a935a7b6396..b77cf4fc8f0 100644 --- a/pkg/volume/photon_pd/photon_pd.go +++ b/pkg/volume/photon_pd/photon_pd.go @@ -22,9 +22,9 @@ import ( "path" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/quobyte/BUILD b/pkg/volume/quobyte/BUILD index ea356a92daa..bc12a907638 100644 --- a/pkg/volume/quobyte/BUILD +++ b/pkg/volume/quobyte/BUILD @@ -17,7 +17,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/util/exec:go_default_library", "//pkg/util/mount:go_default_library", @@ -27,6 +26,7 @@ go_library( "//vendor:github.com/golang/glog", "//vendor:github.com/pborman/uuid", "//vendor:github.com/quobyte/api", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", ], diff --git a/pkg/volume/quobyte/quobyte.go b/pkg/volume/quobyte/quobyte.go index 8e827bb7c26..f9e7e4bb330 100644 --- a/pkg/volume/quobyte/quobyte.go +++ b/pkg/volume/quobyte/quobyte.go @@ -24,9 +24,9 @@ import ( "github.com/golang/glog" "github.com/pborman/uuid" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" diff --git a/pkg/volume/rbd/BUILD b/pkg/volume/rbd/BUILD index 8780ec7b402..ed3e181f591 100644 --- a/pkg/volume/rbd/BUILD +++ b/pkg/volume/rbd/BUILD @@ -18,7 +18,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/util/exec:go_default_library", @@ -28,6 +27,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/uuid", ], diff --git a/pkg/volume/rbd/rbd.go b/pkg/volume/rbd/rbd.go index 64a741fb979..260414237c6 100644 --- a/pkg/volume/rbd/rbd.go +++ b/pkg/volume/rbd/rbd.go @@ -21,9 +21,9 @@ import ( dstrings "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/util/exec" diff --git a/pkg/volume/testing/BUILD b/pkg/volume/testing/BUILD index afd1a8290b1..c8201b8e6a3 100644 --- a/pkg/volume/testing/BUILD +++ b/pkg/volume/testing/BUILD @@ -15,7 +15,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/cloudprovider:go_default_library", @@ -24,6 +23,7 @@ go_library( "//pkg/util/strings:go_default_library", "//pkg/volume:go_default_library", "//vendor:github.com/stretchr/testify/mock", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", "//vendor:k8s.io/apimachinery/pkg/util/uuid", diff --git a/pkg/volume/testing/testing.go b/pkg/volume/testing/testing.go index acada711431..116f9c2accd 100644 --- a/pkg/volume/testing/testing.go +++ b/pkg/volume/testing/testing.go @@ -27,11 +27,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" utiltesting "k8s.io/client-go/util/testing" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/cloudprovider" diff --git a/pkg/volume/util.go b/pkg/volume/util.go index a3e98abd67e..d3a061e1713 100644 --- a/pkg/volume/util.go +++ b/pkg/volume/util.go @@ -33,9 +33,9 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/sets" - "k8s.io/kubernetes/pkg/api/resource" volutil "k8s.io/kubernetes/pkg/volume/util" ) diff --git a/pkg/volume/util/BUILD b/pkg/volume/util/BUILD index 4ff3adc037e..9bc536b0a6a 100644 --- a/pkg/volume/util/BUILD +++ b/pkg/volume/util/BUILD @@ -21,12 +21,12 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/storage/v1beta1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/util/mount:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/util/sets", ], diff --git a/pkg/volume/util/fs.go b/pkg/volume/util/fs.go index 4313914770a..cfa7e30b4fb 100644 --- a/pkg/volume/util/fs.go +++ b/pkg/volume/util/fs.go @@ -25,7 +25,7 @@ import ( "strings" "syscall" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) // FSInfo linux returns (available bytes, byte capacity, byte usage, total inodes, inodes free, inode usage, error) diff --git a/pkg/volume/util/fs_unsupported.go b/pkg/volume/util/fs_unsupported.go index 02a39f91efe..8d35d5daeda 100644 --- a/pkg/volume/util/fs_unsupported.go +++ b/pkg/volume/util/fs_unsupported.go @@ -21,7 +21,7 @@ package util import ( "fmt" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) // FSInfo unsupported returns 0 values for available and capacity and an error. diff --git a/pkg/volume/util_test.go b/pkg/volume/util_test.go index 04d8eeba558..924a5e0151d 100644 --- a/pkg/volume/util_test.go +++ b/pkg/volume/util_test.go @@ -22,10 +22,10 @@ import ( "testing" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/volume/volume.go b/pkg/volume/volume.go index 9e023c1af16..7671db8a85e 100644 --- a/pkg/volume/volume.go +++ b/pkg/volume/volume.go @@ -25,8 +25,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" ) diff --git a/pkg/volume/vsphere_volume/BUILD b/pkg/volume/vsphere_volume/BUILD index c01ab8cd6e2..1a5f2b422ae 100644 --- a/pkg/volume/vsphere_volume/BUILD +++ b/pkg/volume/vsphere_volume/BUILD @@ -17,7 +17,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/cloudprovider:go_default_library", "//pkg/cloudprovider/providers/vsphere:go_default_library", @@ -28,6 +27,7 @@ go_library( "//pkg/volume:go_default_library", "//pkg/volume/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/types", ], diff --git a/pkg/volume/vsphere_volume/vsphere_volume.go b/pkg/volume/vsphere_volume/vsphere_volume.go index abaa94729dd..6b7a3926817 100644 --- a/pkg/volume/vsphere_volume/vsphere_volume.go +++ b/pkg/volume/vsphere_volume/vsphere_volume.go @@ -23,9 +23,9 @@ import ( "strings" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/exec" "k8s.io/kubernetes/pkg/util/mount" diff --git a/plugin/pkg/admission/gc/BUILD b/plugin/pkg/admission/gc/BUILD index 61295d7c3d6..3b7352d4e85 100644 --- a/plugin/pkg/admission/gc/BUILD +++ b/plugin/pkg/admission/gc/BUILD @@ -13,7 +13,7 @@ go_library( srcs = ["gc_admission.go"], tags = ["automanaged"], deps = [ - "//pkg/api:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/meta", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apiserver/pkg/admission", diff --git a/plugin/pkg/admission/gc/gc_admission.go b/plugin/pkg/admission/gc/gc_admission.go index 5f21d16b5ac..30992f412ab 100644 --- a/plugin/pkg/admission/gc/gc_admission.go +++ b/plugin/pkg/admission/gc/gc_admission.go @@ -20,11 +20,11 @@ import ( "fmt" "io" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/meta" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apiserver/pkg/admission" "k8s.io/apiserver/pkg/authorization/authorizer" - "k8s.io/kubernetes/pkg/api" ) func init() { @@ -91,7 +91,7 @@ func isChangingOwnerReference(newObj, oldObj runtime.Object) bool { return true } for i := range oldOwners { - if !api.Semantic.DeepEqual(oldOwners[i], newOwners[i]) { + if !apiequality.Semantic.DeepEqual(oldOwners[i], newOwners[i]) { return true } } diff --git a/plugin/pkg/admission/initialresources/BUILD b/plugin/pkg/admission/initialresources/BUILD index 4b9d47b8ed9..33f5bedc210 100644 --- a/plugin/pkg/admission/initialresources/BUILD +++ b/plugin/pkg/admission/initialresources/BUILD @@ -20,7 +20,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//vendor:cloud.google.com/go/compute/metadata", "//vendor:github.com/golang/glog", "//vendor:github.com/hawkular/hawkular-client-go/metrics", @@ -29,6 +28,7 @@ go_library( "//vendor:golang.org/x/oauth2/google", "//vendor:google.golang.org/api/cloudmonitoring/v2beta2", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/admission", "//vendor:k8s.io/client-go/rest", @@ -46,8 +46,8 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//vendor:github.com/stretchr/testify/require", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apiserver/pkg/admission", ], diff --git a/plugin/pkg/admission/initialresources/admission.go b/plugin/pkg/admission/initialresources/admission.go index 453f96e8233..547edaae196 100644 --- a/plugin/pkg/admission/initialresources/admission.go +++ b/plugin/pkg/admission/initialresources/admission.go @@ -26,9 +26,9 @@ import ( "github.com/golang/glog" apierrors "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" ) var ( diff --git a/plugin/pkg/admission/initialresources/admission_test.go b/plugin/pkg/admission/initialresources/admission_test.go index a3c4660e102..b6c32840c6c 100644 --- a/plugin/pkg/admission/initialresources/admission_test.go +++ b/plugin/pkg/admission/initialresources/admission_test.go @@ -20,10 +20,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" ) type fakeSource struct { diff --git a/plugin/pkg/admission/limitranger/BUILD b/plugin/pkg/admission/limitranger/BUILD index 6f071dd1aa7..8f2ff129ac4 100644 --- a/plugin/pkg/admission/limitranger/BUILD +++ b/plugin/pkg/admission/limitranger/BUILD @@ -17,13 +17,13 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/listers/core/internalversion:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", "//vendor:github.com/hashicorp/golang-lru", "//vendor:k8s.io/apimachinery/pkg/api/meta", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", @@ -39,11 +39,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/controller/informers:go_default_library", "//pkg/kubeapiserver/admission:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/equality", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/util/wait", diff --git a/plugin/pkg/admission/limitranger/admission.go b/plugin/pkg/admission/limitranger/admission.go index 8515a7cd0fa..6f467ed3698 100644 --- a/plugin/pkg/admission/limitranger/admission.go +++ b/plugin/pkg/admission/limitranger/admission.go @@ -26,13 +26,13 @@ import ( lru "github.com/hashicorp/golang-lru" "k8s.io/apimachinery/pkg/api/meta" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime" utilerrors "k8s.io/apimachinery/pkg/util/errors" "k8s.io/apiserver/pkg/admission" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" coreinternallisters "k8s.io/kubernetes/pkg/client/listers/core/internalversion" "k8s.io/kubernetes/pkg/controller/informers" diff --git a/plugin/pkg/admission/limitranger/admission_test.go b/plugin/pkg/admission/limitranger/admission_test.go index 37465268333..d445d61340f 100644 --- a/plugin/pkg/admission/limitranger/admission_test.go +++ b/plugin/pkg/admission/limitranger/admission_test.go @@ -22,13 +22,14 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/admission" core "k8s.io/client-go/testing" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" clientset "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/controller/informers" @@ -166,7 +167,7 @@ func TestDefaultContainerResourceRequirements(t *testing.T) { } actual := defaultContainerResourceRequirements(&limitRange) - if !api.Semantic.DeepEqual(expected, actual) { + if !apiequality.Semantic.DeepEqual(expected, actual) { t.Errorf("actual.Limits != expected.Limits; %v != %v", actual.Limits, expected.Limits) t.Errorf("actual.Requests != expected.Requests; %v != %v", actual.Requests, expected.Requests) t.Errorf("expected != actual; %v != %v", expected, actual) @@ -199,7 +200,7 @@ func TestMergePodResourceRequirements(t *testing.T) { mergePodResourceRequirements(&pod, &defaultRequirements) for i := range pod.Spec.Containers { actual := pod.Spec.Containers[i].Resources - if !api.Semantic.DeepEqual(expected, actual) { + if !apiequality.Semantic.DeepEqual(expected, actual) { t.Errorf("pod %v, expected != actual; %v != %v", pod.Name, expected, actual) } } @@ -218,13 +219,13 @@ func TestMergePodResourceRequirements(t *testing.T) { mergePodResourceRequirements(&pod, &defaultRequirements) for i := range pod.Spec.Containers { actual := pod.Spec.Containers[i].Resources - if !api.Semantic.DeepEqual(expected, actual) { + if !apiequality.Semantic.DeepEqual(expected, actual) { t.Errorf("pod %v, expected != actual; %v != %v", pod.Name, expected, actual) } } for i := range pod.Spec.InitContainers { actual := pod.Spec.InitContainers[i].Resources - if !api.Semantic.DeepEqual(expected, actual) { + if !apiequality.Semantic.DeepEqual(expected, actual) { t.Errorf("pod %v, expected != actual; %v != %v", pod.Name, expected, actual) } } @@ -238,13 +239,13 @@ func TestMergePodResourceRequirements(t *testing.T) { mergePodResourceRequirements(&pod, &defaultRequirements) for i := range pod.Spec.Containers { actual := pod.Spec.Containers[i].Resources - if !api.Semantic.DeepEqual(expected, actual) { + if !apiequality.Semantic.DeepEqual(expected, actual) { t.Errorf("pod %v, expected != actual; %v != %v", pod.Name, expected, actual) } } for i := range pod.Spec.InitContainers { actual := pod.Spec.InitContainers[i].Resources - if !api.Semantic.DeepEqual(initInputs[i], actual) { + if !apiequality.Semantic.DeepEqual(initInputs[i], actual) { t.Errorf("pod %v, expected != actual; %v != %v", pod.Name, initInputs[i], actual) } } diff --git a/plugin/pkg/admission/resourcequota/BUILD b/plugin/pkg/admission/resourcequota/BUILD index 146cc14e940..776e59faff4 100644 --- a/plugin/pkg/admission/resourcequota/BUILD +++ b/plugin/pkg/admission/resourcequota/BUILD @@ -47,12 +47,12 @@ go_test( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/client/clientset_generated/internalclientset/fake:go_default_library", "//pkg/quota:go_default_library", "//pkg/quota/generic:go_default_library", "//pkg/quota/install:go_default_library", "//vendor:github.com/hashicorp/golang-lru", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/plugin/pkg/admission/resourcequota/admission_test.go b/plugin/pkg/admission/resourcequota/admission_test.go index d6027086190..650cea31bd5 100644 --- a/plugin/pkg/admission/resourcequota/admission_test.go +++ b/plugin/pkg/admission/resourcequota/admission_test.go @@ -24,6 +24,7 @@ import ( lru "github.com/hashicorp/golang-lru" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/util/sets" @@ -31,7 +32,6 @@ import ( testcore "k8s.io/client-go/testing" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset/fake" "k8s.io/kubernetes/pkg/quota" "k8s.io/kubernetes/pkg/quota/generic" diff --git a/plugin/pkg/scheduler/BUILD b/plugin/pkg/scheduler/BUILD index d94c8ae2ae3..70a2867a2b5 100644 --- a/plugin/pkg/scheduler/BUILD +++ b/plugin/pkg/scheduler/BUILD @@ -21,7 +21,6 @@ go_library( "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/client/record:go_default_library", - "//pkg/util:go_default_library", "//pkg/util/hash:go_default_library", "//pkg/util/workqueue:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", @@ -37,6 +36,7 @@ go_library( "//vendor:k8s.io/apimachinery/pkg/util/net", "//vendor:k8s.io/apimachinery/pkg/util/sets", "//vendor:k8s.io/apimachinery/pkg/util/wait", + "//vendor:k8s.io/apiserver/pkg/util/trace", "//vendor:k8s.io/client-go/rest", "//vendor:k8s.io/client-go/tools/cache", ], @@ -52,7 +52,6 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", @@ -64,6 +63,7 @@ go_test( "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//plugin/pkg/scheduler/testing:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/diff", diff --git a/plugin/pkg/scheduler/algorithm/predicates/BUILD b/plugin/pkg/scheduler/algorithm/predicates/BUILD index 83f2a112120..0c68819b94d 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/BUILD +++ b/plugin/pkg/scheduler/algorithm/predicates/BUILD @@ -41,11 +41,11 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", ], diff --git a/plugin/pkg/scheduler/algorithm/predicates/predicates_test.go b/plugin/pkg/scheduler/algorithm/predicates/predicates_test.go index 39ebcc271f3..a5bb47ba1b3 100644 --- a/plugin/pkg/scheduler/algorithm/predicates/predicates_test.go +++ b/plugin/pkg/scheduler/algorithm/predicates/predicates_test.go @@ -22,8 +22,8 @@ import ( "strings" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" diff --git a/plugin/pkg/scheduler/algorithm/priorities/BUILD b/plugin/pkg/scheduler/algorithm/priorities/BUILD index 2d68f1df5ee..0faeaf6e9ed 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/BUILD +++ b/plugin/pkg/scheduler/algorithm/priorities/BUILD @@ -26,7 +26,6 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/util/node:go_default_library", "//pkg/util/workqueue:go_default_library", @@ -36,6 +35,7 @@ go_library( "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", ], @@ -59,13 +59,13 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/extensions/v1beta1:go_default_library", "//plugin/pkg/scheduler/algorithm:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//plugin/pkg/scheduler/api:go_default_library", "//plugin/pkg/scheduler/schedulercache:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", ], ) diff --git a/plugin/pkg/scheduler/algorithm/priorities/balanced_resource_allocation_test.go b/plugin/pkg/scheduler/algorithm/priorities/balanced_resource_allocation_test.go index 63348242131..857f11e8231 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/balanced_resource_allocation_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/balanced_resource_allocation_test.go @@ -20,8 +20,8 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/least_requested_test.go b/plugin/pkg/scheduler/algorithm/priorities/least_requested_test.go index d9393d45f5e..18ef59ac1a5 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/least_requested_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/least_requested_test.go @@ -20,8 +20,8 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/metadata_test.go b/plugin/pkg/scheduler/algorithm/priorities/metadata_test.go index 1457b5f5f82..e9ec32cd6ae 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/metadata_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/metadata_test.go @@ -21,8 +21,8 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/most_requested_test.go b/plugin/pkg/scheduler/algorithm/priorities/most_requested_test.go index 794aefaced8..7943cb9a16a 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/most_requested_test.go +++ b/plugin/pkg/scheduler/algorithm/priorities/most_requested_test.go @@ -20,8 +20,8 @@ import ( "reflect" "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" "k8s.io/kubernetes/plugin/pkg/scheduler/schedulercache" diff --git a/plugin/pkg/scheduler/algorithm/priorities/test_util.go b/plugin/pkg/scheduler/algorithm/priorities/test_util.go index 1d1898c8bdd..4b7539a7b25 100644 --- a/plugin/pkg/scheduler/algorithm/priorities/test_util.go +++ b/plugin/pkg/scheduler/algorithm/priorities/test_util.go @@ -17,8 +17,8 @@ limitations under the License. package priorities import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" schedulerapi "k8s.io/kubernetes/plugin/pkg/scheduler/api" diff --git a/plugin/pkg/scheduler/generic_scheduler.go b/plugin/pkg/scheduler/generic_scheduler.go index f46aa5cc02b..6d8ab4058ab 100644 --- a/plugin/pkg/scheduler/generic_scheduler.go +++ b/plugin/pkg/scheduler/generic_scheduler.go @@ -26,8 +26,8 @@ import ( "github.com/golang/glog" "k8s.io/apimachinery/pkg/util/errors" + utiltrace "k8s.io/apiserver/pkg/util/trace" "k8s.io/kubernetes/pkg/api/v1" - "k8s.io/kubernetes/pkg/util" "k8s.io/kubernetes/pkg/util/workqueue" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/predicates" @@ -87,7 +87,7 @@ type genericScheduler struct { // If it succeeds, it will return the name of the node. // If it fails, it will return a Fiterror error with reasons. func (g *genericScheduler) Schedule(pod *v1.Pod, nodeLister algorithm.NodeLister) (string, error) { - trace := util.NewTrace(fmt.Sprintf("Scheduling %s/%s", pod.Namespace, pod.Name)) + trace := utiltrace.New(fmt.Sprintf("Scheduling %s/%s", pod.Namespace, pod.Name)) defer trace.LogIfLong(100 * time.Millisecond) nodes, err := nodeLister.List() diff --git a/plugin/pkg/scheduler/generic_scheduler_test.go b/plugin/pkg/scheduler/generic_scheduler_test.go index 2610573c753..97d01a772ac 100644 --- a/plugin/pkg/scheduler/generic_scheduler_test.go +++ b/plugin/pkg/scheduler/generic_scheduler_test.go @@ -25,10 +25,10 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm" diff --git a/plugin/pkg/scheduler/scheduler_test.go b/plugin/pkg/scheduler/scheduler_test.go index f9602e2f75c..0b0b5699e4e 100644 --- a/plugin/pkg/scheduler/scheduler_test.go +++ b/plugin/pkg/scheduler/scheduler_test.go @@ -23,12 +23,12 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/diff" "k8s.io/apimachinery/pkg/util/wait" clientcache "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/testapi" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/record" diff --git a/plugin/pkg/scheduler/schedulercache/BUILD b/plugin/pkg/scheduler/schedulercache/BUILD index ae595fd28bb..214ad6dea17 100644 --- a/plugin/pkg/scheduler/schedulercache/BUILD +++ b/plugin/pkg/scheduler/schedulercache/BUILD @@ -18,10 +18,10 @@ go_library( ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/wait", "//vendor:k8s.io/client-go/tools/cache", @@ -34,9 +34,9 @@ go_test( library = ":go_default_library", tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//plugin/pkg/scheduler/algorithm/priorities/util:go_default_library", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", ], diff --git a/plugin/pkg/scheduler/schedulercache/cache_test.go b/plugin/pkg/scheduler/schedulercache/cache_test.go index 27ade20f6ec..19574c80c5c 100644 --- a/plugin/pkg/scheduler/schedulercache/cache_test.go +++ b/plugin/pkg/scheduler/schedulercache/cache_test.go @@ -22,9 +22,9 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" ) diff --git a/plugin/pkg/scheduler/schedulercache/node_info.go b/plugin/pkg/scheduler/schedulercache/node_info.go index 3b5f839ca06..99691bfb59c 100644 --- a/plugin/pkg/scheduler/schedulercache/node_info.go +++ b/plugin/pkg/scheduler/schedulercache/node_info.go @@ -21,8 +21,8 @@ import ( "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" clientcache "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" priorityutil "k8s.io/kubernetes/plugin/pkg/scheduler/algorithm/priorities/util" ) diff --git a/staging/src/k8s.io/apimachinery/pkg/api/equality/semantic.go b/staging/src/k8s.io/apimachinery/pkg/api/equality/semantic.go new file mode 100644 index 00000000000..3ebd8c719d0 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/equality/semantic.go @@ -0,0 +1,46 @@ +/* +Copyright 2014 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package equality + +import ( + "k8s.io/apimachinery/pkg/api/resource" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/conversion" + "k8s.io/apimachinery/pkg/fields" + "k8s.io/apimachinery/pkg/labels" +) + +// Semantic can do semantic deep equality checks for api objects. +// Example: apiequality.Semantic.DeepEqual(aPod, aPodWithNonNilButEmptyMaps) == true +var Semantic = conversion.EqualitiesOrDie( + func(a, b resource.Quantity) bool { + // Ignore formatting, only care that numeric value stayed the same. + // TODO: if we decide it's important, it should be safe to start comparing the format. + // + // Uninitialized quantities are equivalent to 0 quantities. + return a.Cmp(b) == 0 + }, + func(a, b metav1.Time) bool { + return a.UTC() == b.UTC() + }, + func(a, b labels.Selector) bool { + return a.String() == b.String() + }, + func(a, b fields.Selector) bool { + return a.String() == b.String() + }, +) diff --git a/pkg/api/resource/OWNERS b/staging/src/k8s.io/apimachinery/pkg/api/resource/OWNERS similarity index 100% rename from pkg/api/resource/OWNERS rename to staging/src/k8s.io/apimachinery/pkg/api/resource/OWNERS diff --git a/pkg/api/resource/amount.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/amount.go similarity index 100% rename from pkg/api/resource/amount.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/amount.go diff --git a/pkg/api/resource/amount_test.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/amount_test.go similarity index 100% rename from pkg/api/resource/amount_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/amount_test.go diff --git a/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.pb.go new file mode 100644 index 00000000000..e988e3bbe06 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.pb.go @@ -0,0 +1,71 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +// Code generated by protoc-gen-gogo. +// source: k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto +// DO NOT EDIT! + +/* + Package resource is a generated protocol buffer package. + + It is generated from these files: + k8s.io/kubernetes/vendor/k8s.io/apimachinery/pkg/api/resource/generated.proto + + It has these top-level messages: + Quantity +*/ +package resource + +import proto "github.com/gogo/protobuf/proto" +import fmt "fmt" +import math "math" + +// Reference imports to suppress errors if they are not otherwise used. +var _ = proto.Marshal +var _ = fmt.Errorf +var _ = math.Inf + +// This is a compile-time assertion to ensure that this generated file +// is compatible with the proto package it is being compiled against. +const _ = proto.GoGoProtoPackageIsVersion1 + +func (m *Quantity) Reset() { *m = Quantity{} } +func (*Quantity) ProtoMessage() {} +func (*Quantity) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } + +func init() { + proto.RegisterType((*Quantity)(nil), "k8s.io.apimachinery.pkg.api.resource.Quantity") +} + +var fileDescriptorGenerated = []byte{ + // 254 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x64, 0x8f, 0xb1, 0x4a, 0x03, 0x41, + 0x10, 0x86, 0x77, 0x1b, 0x89, 0x57, 0x06, 0x11, 0x49, 0xb1, 0x17, 0xc4, 0x42, 0x04, 0x77, 0xb0, + 0x0b, 0x96, 0xf6, 0x16, 0x5a, 0xda, 0xdd, 0x5d, 0xc6, 0xcd, 0x72, 0x66, 0xf7, 0x98, 0x9d, 0x15, + 0xd2, 0xa5, 0xb4, 0x4c, 0x69, 0x99, 0x7b, 0x9b, 0x94, 0x29, 0x2d, 0x2c, 0xbc, 0xf3, 0x45, 0xe4, + 0x2e, 0x09, 0x88, 0x76, 0xf3, 0xff, 0xc3, 0x37, 0x7c, 0x93, 0xdc, 0x97, 0x93, 0xa0, 0xad, 0x87, + 0x32, 0xe6, 0x48, 0x0e, 0x19, 0x03, 0xbc, 0xa2, 0x9b, 0x7a, 0x82, 0xfd, 0x22, 0xab, 0xec, 0x3c, + 0x2b, 0x66, 0xd6, 0x21, 0x2d, 0xa0, 0x2a, 0x4d, 0x57, 0x00, 0x61, 0xf0, 0x91, 0x0a, 0x04, 0x83, + 0x0e, 0x29, 0x63, 0x9c, 0xea, 0x8a, 0x3c, 0xfb, 0xe1, 0xc5, 0x8e, 0xd2, 0xbf, 0x29, 0x5d, 0x95, + 0xa6, 0x2b, 0xf4, 0x81, 0x1a, 0x5d, 0x1b, 0xcb, 0xb3, 0x98, 0xeb, 0xc2, 0xcf, 0xc1, 0x78, 0xe3, + 0xa1, 0x87, 0xf3, 0xf8, 0xdc, 0xa7, 0x3e, 0xf4, 0xd3, 0xee, 0xe8, 0xe8, 0xe6, 0xbf, 0x63, 0x27, + 0x12, 0xd9, 0xbe, 0x80, 0x75, 0x1c, 0x98, 0xfe, 0x7a, 0x9c, 0x4f, 0x92, 0xc1, 0x43, 0xcc, 0x1c, + 0x5b, 0x5e, 0x0c, 0x4f, 0x93, 0xa3, 0xc0, 0x64, 0x9d, 0x39, 0x93, 0x63, 0x79, 0x79, 0xfc, 0xb8, + 0x4f, 0xb7, 0x27, 0xef, 0xeb, 0x54, 0xbc, 0xd5, 0xa9, 0x58, 0xd5, 0xa9, 0x58, 0xd7, 0xa9, 0x58, + 0x7e, 0x8e, 0xc5, 0xdd, 0xd5, 0xa6, 0x51, 0x62, 0xdb, 0x28, 0xf1, 0xd1, 0x28, 0xb1, 0x6c, 0x95, + 0xdc, 0xb4, 0x4a, 0x6e, 0x5b, 0x25, 0xbf, 0x5a, 0x25, 0x57, 0xdf, 0x4a, 0x3c, 0x0d, 0x0e, 0x7f, + 0xfc, 0x04, 0x00, 0x00, 0xff, 0xff, 0x6f, 0xaa, 0x3e, 0x00, 0x3d, 0x01, 0x00, 0x00, +} diff --git a/pkg/api/resource/generated.proto b/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto similarity index 98% rename from pkg/api/resource/generated.proto rename to staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto index 8dffa518a79..a5d402a7a74 100644 --- a/pkg/api/resource/generated.proto +++ b/staging/src/k8s.io/apimachinery/pkg/api/resource/generated.proto @@ -19,7 +19,7 @@ limitations under the License. syntax = 'proto2'; -package k8s.io.kubernetes.pkg.api.resource; +package k8s.io.apimachinery.pkg.api.resource; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/pkg/api/resource/math.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/math.go similarity index 100% rename from pkg/api/resource/math.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/math.go diff --git a/pkg/api/resource/math_test.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/math_test.go similarity index 100% rename from pkg/api/resource/math_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/math_test.go diff --git a/pkg/api/resource/quantity.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go similarity index 100% rename from pkg/api/resource/quantity.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/quantity.go diff --git a/pkg/api/resource/quantity_example_test.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_example_test.go similarity index 97% rename from pkg/api/resource/quantity_example_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_example_test.go index 642c51a26a3..56a7dbe0e00 100644 --- a/pkg/api/resource/quantity_example_test.go +++ b/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_example_test.go @@ -19,7 +19,7 @@ package resource_test import ( "fmt" - "k8s.io/kubernetes/pkg/api/resource" + "k8s.io/apimachinery/pkg/api/resource" ) func ExampleFormat() { diff --git a/pkg/api/resource/quantity_proto.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go similarity index 100% rename from pkg/api/resource/quantity_proto.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_proto.go diff --git a/pkg/api/resource/quantity_test.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_test.go similarity index 100% rename from pkg/api/resource/quantity_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/quantity_test.go diff --git a/pkg/api/resource/scale_int.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/scale_int.go similarity index 100% rename from pkg/api/resource/scale_int.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/scale_int.go diff --git a/pkg/api/resource/scale_int_test.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/scale_int_test.go similarity index 100% rename from pkg/api/resource/scale_int_test.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/scale_int_test.go diff --git a/pkg/api/resource/suffix.go b/staging/src/k8s.io/apimachinery/pkg/api/resource/suffix.go similarity index 100% rename from pkg/api/resource/suffix.go rename to staging/src/k8s.io/apimachinery/pkg/api/resource/suffix.go diff --git a/staging/src/k8s.io/apimachinery/pkg/api/testing/fuzzer.go b/staging/src/k8s.io/apimachinery/pkg/api/testing/fuzzer.go new file mode 100644 index 00000000000..001f1dfa09c --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/testing/fuzzer.go @@ -0,0 +1,133 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package testing + +import ( + "strconv" + "math/rand" + "testing" + + "github.com/google/gofuzz" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/types" +) + +func GenericFuzzerFuncs(t TestingCommon) []interface{} { + return []interface{}{ + func(j *int, c fuzz.Continue) { + *j = int(c.Int31()) + }, + func(j **int, c fuzz.Continue) { + if c.RandBool() { + i := int(c.Int31()) + *j = &i + } else { + *j = nil + } + }, + func(j *runtime.TypeMeta, c fuzz.Continue) { + // We have to customize the randomization of TypeMetas because their + // APIVersion and Kind must remain blank in memory. + j.APIVersion = "" + j.Kind = "" + }, + func(j *metav1.TypeMeta, c fuzz.Continue) { + // We have to customize the randomization of TypeMetas because their + // APIVersion and Kind must remain blank in memory. + j.APIVersion = "" + j.Kind = "" + }, + func(j *metav1.ObjectMeta, c fuzz.Continue) { + j.Name = c.RandString() + j.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10) + j.SelfLink = c.RandString() + j.UID = types.UID(c.RandString()) + j.GenerateName = c.RandString() + + var sec, nsec int64 + c.Fuzz(&sec) + c.Fuzz(&nsec) + j.CreationTimestamp = metav1.Unix(sec, nsec).Rfc3339Copy() + }, + func(j *metav1.ListMeta, c fuzz.Continue) { + j.ResourceVersion = strconv.FormatUint(c.RandUint64(), 10) + j.SelfLink = c.RandString() + }, + func(j *runtime.Object, c fuzz.Continue) { + // TODO: uncomment when round trip starts from a versioned object + if true { //c.RandBool() { + *j = &runtime.Unknown{ + // We do not set TypeMeta here because it is not carried through a round trip + Raw: []byte(`{"apiVersion":"unknown.group/unknown","kind":"Something","someKey":"someValue"}`), + ContentType: runtime.ContentTypeJSON, + } + } else { + types := []runtime.Object{&metav1.Status{}, &metav1.APIGroup{}} + t := types[c.Rand.Intn(len(types))] + c.Fuzz(t) + *j = t + } + }, + func(r *runtime.RawExtension, c fuzz.Continue) { + // Pick an arbitrary type and fuzz it + types := []runtime.Object{&metav1.Status{}, &metav1.APIGroup{}} + obj := types[c.Rand.Intn(len(types))] + c.Fuzz(obj) + + // Find a codec for converting the object to raw bytes. This is necessary for the + // api version and kind to be correctly set be serialization. + var codec = Codec(metav1.SchemeGroupVersion) + + // Convert the object to raw bytes + bytes, err := runtime.Encode(codec, obj) + if err != nil { + t.Errorf("Failed to encode object: %v", err) + return + } + + // Set the bytes field on the RawExtension + r.Raw = bytes + }, + } +} + +// TestingCommon abstracts testing.T and testing.B +type TestingCommon interface { + Log(args ...interface{}) + Logf(format string, args ...interface{}) + Error(args ...interface{}) + Errorf(format string, args ...interface{}) + Fatal(args ...interface{}) + Fatalf(format string, args ...interface{}) +} + +var ( + _ TestingCommon = &testing.T{} + _ TestingCommon = &testing.B{} +) + +// FuzzerFor can randomly populate api objects that are destined for version. +func FuzzerFor(funcs []interface{}, src rand.Source) *fuzz.Fuzzer { + f := fuzz.New().NilChance(.5).NumElements(0, 1) + if src != nil { + f.RandSource(src) + } + f.Funcs(funcs...) + return f +} diff --git a/staging/src/k8s.io/apimachinery/pkg/api/testing/register.go b/staging/src/k8s.io/apimachinery/pkg/api/testing/register.go new file mode 100644 index 00000000000..2809f68de60 --- /dev/null +++ b/staging/src/k8s.io/apimachinery/pkg/api/testing/register.go @@ -0,0 +1,57 @@ +/* +Copyright 2017 The Kubernetes Authors. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package testing + +import ( + "os" + "mime" + "fmt" + + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/runtime" + runtimeserializer "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/runtime/schema" +) + +var scheme = runtime.NewScheme() +var codecs = runtimeserializer.NewCodecFactory(scheme) +var serializer runtime.SerializerInfo + +// Codec returns the codec for the API version to test against, as set by the +// KUBE_TEST_API_TYPE env var. +func Codec(gvs ...schema.GroupVersion) runtime.Codec { + if serializer.Serializer == nil { + return codecs.LegacyCodec(gvs...) + } + return codecs.CodecForVersions(serializer.Serializer, codecs.UniversalDeserializer(), schema.GroupVersions(gvs), nil) +} + +func init() { + metav1.AddToGroupVersion(scheme, metav1.SchemeGroupVersion) + + if apiMediaType := os.Getenv("KUBE_TEST_API_TYPE"); len(apiMediaType) > 0 { + var ok bool + mediaType, _, err := mime.ParseMediaType(apiMediaType) + if err != nil { + panic(err) + } + serializer, ok = runtime.SerializerInfoForMediaType(codecs.SupportedMediaTypes(), mediaType) + if !ok { + panic(fmt.Sprintf("no serializer for %s", apiMediaType)) + } + } +} diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go index bbc8bf4d6a5..69aa8c9df79 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.pb.go @@ -6702,135 +6702,135 @@ var ( var fileDescriptorGenerated = []byte{ // 2109 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xcc, 0x19, 0x4b, 0x6f, 0x23, 0x49, - 0x39, 0x6d, 0xc7, 0x1e, 0xfb, 0x73, 0x9c, 0x47, 0x31, 0x03, 0xde, 0x48, 0xd8, 0xd9, 0xde, 0x15, - 0x9a, 0x85, 0x59, 0x9b, 0x04, 0x58, 0x0d, 0x03, 0x0c, 0xc4, 0x71, 0x66, 0x14, 0xed, 0x64, 0x12, - 0x55, 0x76, 0x06, 0xb1, 0x8c, 0x10, 0x1d, 0x77, 0xc5, 0x69, 0xd2, 0xee, 0x6e, 0xaa, 0xca, 0x9e, - 0x84, 0x3d, 0xb0, 0xd2, 0x82, 0xe0, 0x80, 0xd0, 0x1c, 0x39, 0x20, 0xb4, 0x23, 0xb8, 0x71, 0xe3, - 0x4f, 0x30, 0xc7, 0x95, 0xb8, 0x70, 0x40, 0x16, 0x13, 0x0e, 0x1c, 0xb9, 0x47, 0x1c, 0x50, 0x55, - 0x57, 0xf5, 0xc3, 0x8e, 0x37, 0x6d, 0x76, 0x0f, 0x7b, 0x8a, 0xeb, 0x7b, 0xd7, 0x57, 0xdf, 0xb3, - 0x03, 0xbb, 0x27, 0xb7, 0x59, 0xd3, 0xf1, 0x5b, 0x27, 0x83, 0x43, 0x42, 0x3d, 0xc2, 0x09, 0x6b, - 0x0d, 0x89, 0x67, 0xfb, 0xb4, 0xa5, 0x10, 0x56, 0xe0, 0xf4, 0xad, 0xee, 0xb1, 0xe3, 0x11, 0x7a, - 0xd6, 0x0a, 0x4e, 0x7a, 0x02, 0xc0, 0x5a, 0x7d, 0xc2, 0xad, 0xd6, 0x70, 0xbd, 0xd5, 0x23, 0x1e, - 0xa1, 0x16, 0x27, 0x76, 0x33, 0xa0, 0x3e, 0xf7, 0xd1, 0xeb, 0x21, 0x57, 0x33, 0xc9, 0xd5, 0x0c, - 0x4e, 0x7a, 0x02, 0xc0, 0x9a, 0x82, 0xab, 0x39, 0x5c, 0x5f, 0x7d, 0xb3, 0xe7, 0xf0, 0xe3, 0xc1, - 0x61, 0xb3, 0xeb, 0xf7, 0x5b, 0x3d, 0xbf, 0xe7, 0xb7, 0x24, 0xf3, 0xe1, 0xe0, 0x48, 0x9e, 0xe4, - 0x41, 0xfe, 0x0a, 0x85, 0xae, 0x4e, 0x35, 0x85, 0x0e, 0x3c, 0xee, 0xf4, 0xc9, 0xb8, 0x15, 0xab, - 0x6f, 0x5d, 0xc5, 0xc0, 0xba, 0xc7, 0xa4, 0x6f, 0x4d, 0xf0, 0x6d, 0x4c, 0x3a, 0x43, 0xdd, 0xb8, - 0x45, 0x09, 0xf3, 0x07, 0xb4, 0x3b, 0xa9, 0x6b, 0xfd, 0x72, 0x9e, 0x01, 0x77, 0xdc, 0x96, 0xe3, - 0x71, 0xc6, 0xe9, 0x38, 0x8b, 0xf9, 0xd7, 0x3c, 0x94, 0x36, 0xf7, 0x77, 0xee, 0x53, 0x7f, 0x10, - 0xa0, 0x35, 0x98, 0xf7, 0xac, 0x3e, 0xa9, 0x19, 0x6b, 0xc6, 0xcd, 0x72, 0x7b, 0xe1, 0xc5, 0xa8, - 0x31, 0x77, 0x3e, 0x6a, 0xcc, 0x3f, 0xb4, 0xfa, 0x04, 0x4b, 0x0c, 0x72, 0xa1, 0x34, 0x24, 0x94, - 0x39, 0xbe, 0xc7, 0x6a, 0xb9, 0xb5, 0xfc, 0xcd, 0xca, 0xc6, 0xdd, 0x66, 0x16, 0x37, 0x37, 0xa5, - 0x82, 0xc7, 0x21, 0xeb, 0x3d, 0x9f, 0x76, 0x1c, 0xd6, 0xf5, 0x87, 0x84, 0x9e, 0xb5, 0x97, 0x95, - 0x96, 0x92, 0x42, 0x32, 0x1c, 0x69, 0x40, 0xbf, 0x30, 0x60, 0x39, 0xa0, 0xe4, 0x88, 0x50, 0x4a, - 0x6c, 0x85, 0xaf, 0xe5, 0xd7, 0x8c, 0x4f, 0x41, 0x6d, 0x4d, 0xa9, 0x5d, 0xde, 0x1f, 0x93, 0x8f, - 0x27, 0x34, 0xa2, 0x3f, 0x1a, 0xb0, 0xca, 0x08, 0x1d, 0x12, 0xba, 0x69, 0xdb, 0x94, 0x30, 0xd6, - 0x3e, 0xdb, 0x72, 0x1d, 0xe2, 0xf1, 0xad, 0x9d, 0x0e, 0x66, 0xb5, 0x79, 0xe9, 0x87, 0xef, 0x66, - 0x33, 0xe8, 0x60, 0x9a, 0x9c, 0xb6, 0xa9, 0x2c, 0x5a, 0x9d, 0x4a, 0xc2, 0xf0, 0xc7, 0x98, 0x61, - 0x1e, 0xc1, 0x82, 0x7e, 0xc8, 0x07, 0x0e, 0xe3, 0xe8, 0x31, 0x14, 0x7b, 0xe2, 0xc0, 0x6a, 0x86, + 0x39, 0x6d, 0xc7, 0x1e, 0xfb, 0x73, 0x9c, 0x47, 0x31, 0x0b, 0xde, 0x48, 0xd8, 0xd9, 0xde, 0x15, + 0x9a, 0x85, 0x59, 0x9b, 0x84, 0x65, 0x35, 0x0c, 0x30, 0x10, 0xc7, 0x99, 0x28, 0xda, 0xc9, 0x24, + 0xaa, 0xec, 0x0c, 0x62, 0x19, 0x21, 0x3a, 0xee, 0x8a, 0xd3, 0xa4, 0xdd, 0xdd, 0x54, 0x95, 0x3d, + 0x09, 0x7b, 0x60, 0xa5, 0x05, 0xc1, 0x01, 0xa1, 0x39, 0x72, 0x40, 0x68, 0x47, 0x70, 0xe3, 0xc6, + 0x9f, 0x60, 0x8e, 0x2b, 0x71, 0xe1, 0x80, 0x2c, 0x26, 0x1c, 0x38, 0x72, 0x8f, 0x38, 0xa0, 0xaa, + 0xae, 0xea, 0x87, 0x3d, 0x9e, 0xb4, 0xd9, 0x3d, 0x70, 0x8a, 0xeb, 0x7b, 0xd7, 0x57, 0xdf, 0xb3, + 0x03, 0x7b, 0xa7, 0xb7, 0x58, 0xd3, 0xf1, 0x5b, 0xa7, 0x83, 0x23, 0x42, 0x3d, 0xc2, 0x09, 0x6b, + 0x0d, 0x89, 0x67, 0xfb, 0xb4, 0xa5, 0x10, 0x56, 0xe0, 0xf4, 0xad, 0xee, 0x89, 0xe3, 0x11, 0x7a, + 0xde, 0x0a, 0x4e, 0x7b, 0x02, 0xc0, 0x5a, 0x7d, 0xc2, 0xad, 0xd6, 0x70, 0xbd, 0xd5, 0x23, 0x1e, + 0xa1, 0x16, 0x27, 0x76, 0x33, 0xa0, 0x3e, 0xf7, 0xd1, 0x1b, 0x21, 0x57, 0x33, 0xc9, 0xd5, 0x0c, + 0x4e, 0x7b, 0x02, 0xc0, 0x9a, 0x82, 0xab, 0x39, 0x5c, 0x5f, 0x7d, 0xab, 0xe7, 0xf0, 0x93, 0xc1, + 0x51, 0xb3, 0xeb, 0xf7, 0x5b, 0x3d, 0xbf, 0xe7, 0xb7, 0x24, 0xf3, 0xd1, 0xe0, 0x58, 0x9e, 0xe4, + 0x41, 0xfe, 0x0a, 0x85, 0xae, 0xbe, 0xfd, 0x12, 0x53, 0x5a, 0x94, 0x30, 0x7f, 0x40, 0xbb, 0x64, + 0xdc, 0x94, 0xd5, 0xa9, 0x17, 0xa0, 0x03, 0x8f, 0x3b, 0xfd, 0x49, 0x86, 0x77, 0xae, 0x62, 0x60, + 0xdd, 0x13, 0xd2, 0xb7, 0x26, 0xf8, 0xd6, 0x27, 0x5d, 0x28, 0xb8, 0x06, 0xdc, 0x71, 0x5b, 0x8e, + 0xc7, 0x19, 0xa7, 0xe3, 0x2c, 0xe6, 0x5f, 0xf2, 0x50, 0xda, 0x3c, 0xd8, 0xdd, 0xa1, 0xfe, 0x20, + 0x40, 0x6b, 0x30, 0xef, 0x59, 0x7d, 0x52, 0x33, 0xd6, 0x8c, 0x1b, 0xe5, 0xf6, 0xc2, 0xb3, 0x51, + 0x63, 0xee, 0x62, 0xd4, 0x98, 0xbf, 0x6f, 0xf5, 0x09, 0x96, 0x18, 0xe4, 0x42, 0x69, 0x48, 0x28, + 0x73, 0x7c, 0x8f, 0xd5, 0x72, 0x6b, 0xf9, 0x1b, 0x95, 0x8d, 0x3b, 0xcd, 0x2c, 0x8e, 0x6e, 0x4a, + 0x05, 0x0f, 0x43, 0xd6, 0xbb, 0x3e, 0xed, 0x38, 0xac, 0xeb, 0x0f, 0x09, 0x3d, 0x6f, 0x2f, 0x2b, + 0x2d, 0x25, 0x85, 0x64, 0x38, 0xd2, 0x80, 0x7e, 0x6e, 0xc0, 0x72, 0x40, 0xc9, 0x31, 0xa1, 0x94, + 0xd8, 0x0a, 0x5f, 0xcb, 0xaf, 0x19, 0x9f, 0x81, 0xda, 0x9a, 0x52, 0xbb, 0x7c, 0x30, 0x26, 0x1f, + 0x4f, 0x68, 0x44, 0x7f, 0x30, 0x60, 0x95, 0x11, 0x3a, 0x24, 0x74, 0xd3, 0xb6, 0x29, 0x61, 0xac, + 0x7d, 0xbe, 0xe5, 0x3a, 0xc4, 0xe3, 0x5b, 0xbb, 0x1d, 0xcc, 0x6a, 0xf3, 0xd2, 0x0f, 0xdf, 0xc9, + 0x66, 0xd0, 0xe1, 0x34, 0x39, 0x6d, 0x53, 0x59, 0xb4, 0x3a, 0x95, 0x84, 0xe1, 0x97, 0x98, 0x61, + 0x1e, 0xc3, 0x82, 0x7e, 0xc8, 0x7b, 0x0e, 0xe3, 0xe8, 0x21, 0x14, 0x7b, 0xe2, 0xc0, 0x6a, 0x86, 0x34, 0xb0, 0x99, 0xcd, 0x40, 0x2d, 0xa3, 0xbd, 0xa8, 0xec, 0x29, 0xca, 0x23, 0xc3, 0x4a, 0x9a, - 0xf9, 0x41, 0x0e, 0x2a, 0x9b, 0xfb, 0x3b, 0x58, 0x05, 0x61, 0x86, 0xa0, 0xd9, 0x00, 0x10, 0x7f, - 0x59, 0x60, 0x75, 0x89, 0x5d, 0xcb, 0xad, 0x19, 0x37, 0x4b, 0x6d, 0xa4, 0xe8, 0xe0, 0x61, 0x84, - 0xc1, 0x09, 0x2a, 0x21, 0xf5, 0xc4, 0xf1, 0x6c, 0xf9, 0xda, 0x09, 0xa9, 0x6f, 0x3b, 0x9e, 0x8d, - 0x25, 0x06, 0x3d, 0x80, 0xc2, 0x90, 0xd0, 0x43, 0xe1, 0x7f, 0x11, 0x10, 0x5f, 0xc9, 0x76, 0xbd, - 0xc7, 0x82, 0xa5, 0x5d, 0x3e, 0x1f, 0x35, 0x0a, 0xf2, 0x27, 0x0e, 0x85, 0xa0, 0x26, 0x00, 0x3b, - 0xf6, 0x29, 0x97, 0xe6, 0xd4, 0x0a, 0x6b, 0xf9, 0x9b, 0xe5, 0xf6, 0xa2, 0xb0, 0xef, 0x20, 0x82, - 0xe2, 0x04, 0x85, 0xf9, 0x17, 0x03, 0x96, 0x12, 0x5e, 0x90, 0x1e, 0xbf, 0x0d, 0x0b, 0xbd, 0x44, - 0xbc, 0x29, 0x8f, 0x5c, 0x57, 0xb6, 0x2f, 0x24, 0x63, 0x11, 0xa7, 0x28, 0x11, 0x81, 0xb2, 0x4e, - 0x6a, 0x9d, 0x57, 0xeb, 0x99, 0x9f, 0x4b, 0xdb, 0x10, 0x6b, 0x4a, 0x00, 0x19, 0x8e, 0x25, 0x9b, - 0xff, 0x36, 0xe4, 0xd3, 0xe9, 0x4c, 0x43, 0x37, 0x13, 0xd9, 0x6c, 0xc8, 0x2b, 0x2f, 0x4c, 0xc9, - 0xc4, 0x2b, 0x52, 0x20, 0xf7, 0x99, 0x48, 0x81, 0x3b, 0xa5, 0xdf, 0x7d, 0xd8, 0x98, 0x7b, 0xff, - 0x1f, 0x6b, 0x73, 0xe6, 0xaf, 0x72, 0x50, 0xed, 0x10, 0x97, 0x70, 0xb2, 0x17, 0x70, 0x79, 0x83, - 0x7b, 0x80, 0x7a, 0xd4, 0xea, 0x92, 0x7d, 0x42, 0x1d, 0xdf, 0x3e, 0x20, 0x5d, 0xdf, 0xb3, 0x99, - 0x7c, 0xa2, 0x7c, 0xfb, 0xf3, 0xe7, 0xa3, 0x06, 0xba, 0x3f, 0x81, 0xc5, 0x97, 0x70, 0x20, 0x17, - 0xaa, 0x01, 0x95, 0xbf, 0x1d, 0xae, 0xca, 0xa0, 0x08, 0xbf, 0xaf, 0x65, 0xbb, 0xfb, 0x7e, 0x92, - 0xb5, 0xbd, 0x72, 0x3e, 0x6a, 0x54, 0x53, 0x20, 0x9c, 0x16, 0x8e, 0xbe, 0x07, 0xcb, 0x3e, 0x0d, - 0x8e, 0x2d, 0xaf, 0x43, 0x02, 0xe2, 0xd9, 0xc4, 0xe3, 0x4c, 0xa6, 0x44, 0xa9, 0x7d, 0x5d, 0x14, - 0xaf, 0xbd, 0x31, 0x1c, 0x9e, 0xa0, 0x36, 0x77, 0xa0, 0xd4, 0x19, 0x50, 0x4b, 0x88, 0x43, 0xdf, - 0x81, 0x92, 0xad, 0x7e, 0xab, 0x9b, 0xbf, 0xaa, 0xab, 0xaf, 0xa6, 0xb9, 0x18, 0x35, 0xaa, 0xa2, - 0x2d, 0x35, 0x35, 0x00, 0x47, 0x2c, 0xe6, 0x13, 0xa8, 0x6e, 0x9f, 0x06, 0x3e, 0xe5, 0xda, 0xa7, - 0x5f, 0x82, 0x22, 0x91, 0x00, 0x29, 0xad, 0x14, 0x97, 0x8c, 0x90, 0x0c, 0x2b, 0x2c, 0x7a, 0x0d, - 0x0a, 0xe4, 0xd4, 0xea, 0x72, 0x95, 0xfb, 0x55, 0x45, 0x56, 0xd8, 0x16, 0x40, 0x1c, 0xe2, 0xcc, - 0x3d, 0x80, 0xfb, 0x24, 0x12, 0xbd, 0x09, 0x4b, 0x3a, 0x6e, 0xd3, 0xe9, 0xf4, 0x05, 0xc5, 0xbc, - 0x84, 0xd3, 0x68, 0x3c, 0x4e, 0x6f, 0x3e, 0x81, 0xb2, 0x4c, 0x39, 0x51, 0x33, 0x84, 0x09, 0x32, - 0xe3, 0x94, 0x94, 0xc8, 0x04, 0x49, 0x81, 0x43, 0x5c, 0x54, 0x74, 0x72, 0xd3, 0x8a, 0x4e, 0x22, - 0xc2, 0x5c, 0xa8, 0x86, 0xbc, 0xba, 0x0e, 0x66, 0xd2, 0x70, 0x0b, 0x4a, 0xda, 0x4c, 0xa5, 0x25, - 0xea, 0x7f, 0x5a, 0x10, 0x8e, 0x28, 0x12, 0xda, 0x8e, 0x21, 0x55, 0x3e, 0xb2, 0x29, 0x7b, 0x03, - 0xae, 0xa9, 0x04, 0x56, 0xba, 0x96, 0x14, 0xd9, 0x35, 0xed, 0x33, 0x8d, 0x4f, 0x68, 0xfa, 0x39, - 0xd4, 0xa6, 0x35, 0xcd, 0x4f, 0x50, 0xe0, 0xb2, 0x9b, 0x62, 0xfe, 0xd6, 0x80, 0xe5, 0xa4, 0xa4, - 0xec, 0xcf, 0x97, 0x5d, 0xc9, 0xd5, 0xed, 0x25, 0xe1, 0x91, 0x3f, 0x18, 0x70, 0x3d, 0x75, 0xb5, - 0x99, 0x5e, 0x7c, 0x06, 0xa3, 0x92, 0xc1, 0x91, 0x9f, 0x21, 0x38, 0xfe, 0x96, 0x83, 0xea, 0x03, - 0xeb, 0x90, 0xb8, 0x07, 0xc4, 0x25, 0x5d, 0xee, 0x53, 0xf4, 0x1e, 0x54, 0xfa, 0x16, 0xef, 0x1e, - 0x4b, 0xa8, 0x1e, 0x00, 0x3a, 0xd9, 0x4a, 0x54, 0x4a, 0x52, 0x73, 0x37, 0x16, 0xb3, 0xed, 0x71, - 0x7a, 0xd6, 0xfe, 0x9c, 0x32, 0xa9, 0x92, 0xc0, 0xe0, 0xa4, 0x36, 0x39, 0xb5, 0xc9, 0xf3, 0xf6, - 0x69, 0x20, 0x6a, 0xf4, 0xec, 0xc3, 0x62, 0xca, 0x04, 0x4c, 0x7e, 0x3a, 0x70, 0x28, 0xe9, 0x13, - 0x8f, 0xc7, 0x53, 0xdb, 0xee, 0x98, 0x7c, 0x3c, 0xa1, 0x71, 0xf5, 0x2e, 0x2c, 0x8f, 0x1b, 0x8f, - 0x96, 0x21, 0x7f, 0x42, 0xce, 0xc2, 0xf7, 0xc2, 0xe2, 0x27, 0xba, 0x0e, 0x85, 0xa1, 0xe5, 0x0e, - 0x54, 0x36, 0xe2, 0xf0, 0x70, 0x27, 0x77, 0xdb, 0x30, 0xff, 0x64, 0x40, 0x6d, 0x9a, 0x21, 0xe8, - 0x8b, 0x09, 0x41, 0xed, 0x8a, 0xb2, 0x2a, 0xff, 0x36, 0x39, 0x0b, 0xa5, 0x6e, 0x43, 0xc9, 0x0f, - 0xc4, 0x9c, 0xed, 0x53, 0xf5, 0xea, 0x6f, 0xe8, 0x97, 0xdc, 0x53, 0xf0, 0x8b, 0x51, 0xe3, 0x46, - 0x4a, 0xbc, 0x46, 0xe0, 0x88, 0x15, 0x99, 0x50, 0x94, 0xf6, 0x88, 0x9a, 0x2f, 0xba, 0x33, 0x88, - 0xda, 0xfa, 0x58, 0x42, 0xb0, 0xc2, 0x98, 0xef, 0x41, 0x49, 0x0c, 0x1f, 0xbb, 0x84, 0x5b, 0x22, - 0x80, 0x18, 0x71, 0x8f, 0x1e, 0x38, 0xde, 0x89, 0x32, 0x2d, 0x0a, 0xa0, 0x03, 0x05, 0xc7, 0x11, - 0xc5, 0x65, 0x25, 0x36, 0x37, 0x63, 0x89, 0xfd, 0x73, 0x0e, 0x2a, 0x42, 0xbb, 0xae, 0xda, 0xdf, - 0x82, 0xaa, 0x9b, 0xbc, 0x93, 0xb2, 0xe2, 0x86, 0x12, 0x98, 0x8e, 0x52, 0x9c, 0xa6, 0x15, 0xcc, - 0x47, 0x0e, 0x71, 0xed, 0x88, 0x39, 0x97, 0x66, 0xbe, 0x97, 0x44, 0xe2, 0x34, 0xad, 0xc8, 0xc5, - 0xa7, 0xe2, 0xb5, 0x55, 0x77, 0x8c, 0x72, 0xf1, 0xfb, 0x02, 0x88, 0x43, 0xdc, 0x65, 0x37, 0x9e, - 0x9f, 0xed, 0xc6, 0xe8, 0x0e, 0x2c, 0x8a, 0xf6, 0xe8, 0x0f, 0xb8, 0x1e, 0x21, 0x0a, 0xb2, 0x91, - 0xa2, 0xf3, 0x51, 0x63, 0xf1, 0x9d, 0x14, 0x06, 0x8f, 0x51, 0x9a, 0x1f, 0x00, 0xc0, 0xde, 0xe1, - 0x4f, 0x48, 0x37, 0x7c, 0xad, 0xab, 0x07, 0x67, 0x51, 0x6f, 0xd5, 0xbe, 0x26, 0xa0, 0xca, 0x21, - 0x71, 0xbd, 0x4d, 0xe0, 0x70, 0x8a, 0x12, 0xb5, 0xa0, 0x1c, 0x0d, 0xd3, 0xaa, 0x96, 0xac, 0x28, - 0xb6, 0x72, 0x34, 0x71, 0xe3, 0x98, 0x26, 0x15, 0x3a, 0xf3, 0x57, 0x86, 0x4e, 0x1b, 0xf2, 0x03, - 0xc7, 0x96, 0x57, 0x2f, 0xb7, 0xbf, 0xaa, 0xc3, 0xff, 0xd1, 0x4e, 0xe7, 0x62, 0xd4, 0x78, 0x75, - 0xda, 0xc2, 0xcb, 0xcf, 0x02, 0xc2, 0x9a, 0x8f, 0x76, 0x3a, 0x58, 0x30, 0x5f, 0xf6, 0x18, 0xc5, - 0x19, 0x1f, 0x63, 0x03, 0x40, 0xdd, 0x5a, 0x70, 0x5f, 0x0b, 0x1f, 0x42, 0x2f, 0x16, 0xf7, 0x23, - 0x0c, 0x4e, 0x50, 0x21, 0x06, 0x2b, 0x5d, 0x4a, 0xe4, 0x6f, 0xf1, 0x5c, 0x8c, 0x5b, 0xfd, 0xa0, - 0x56, 0x92, 0x33, 0xdc, 0x97, 0xb3, 0x55, 0x27, 0xc1, 0xd6, 0x7e, 0x45, 0xa9, 0x59, 0xd9, 0x1a, - 0x17, 0x86, 0x27, 0xe5, 0x23, 0x1f, 0x56, 0x6c, 0x31, 0x8d, 0xa6, 0x94, 0x96, 0x67, 0x56, 0x7a, - 0x43, 0x28, 0xec, 0x8c, 0x0b, 0xc2, 0x93, 0xb2, 0xd1, 0x8f, 0x60, 0x55, 0x03, 0x27, 0xe7, 0xda, - 0x1a, 0x48, 0x4f, 0xd5, 0xc5, 0xa4, 0xdd, 0x99, 0x4a, 0x85, 0x3f, 0x46, 0x02, 0xb2, 0xa1, 0xe8, - 0x86, 0xbd, 0xa5, 0x22, 0x0b, 0xfb, 0xb7, 0xb3, 0xdd, 0x22, 0x8e, 0xfe, 0x66, 0xb2, 0xa7, 0x44, - 0x73, 0xa3, 0x6a, 0x27, 0x4a, 0x36, 0x3a, 0x85, 0x8a, 0xe5, 0x79, 0x3e, 0xb7, 0xc2, 0x49, 0x7b, - 0x41, 0xaa, 0xda, 0x9c, 0x59, 0xd5, 0x66, 0x2c, 0x63, 0xac, 0x87, 0x25, 0x30, 0x38, 0xa9, 0x0a, - 0x3d, 0x85, 0x25, 0xff, 0xa9, 0x47, 0x28, 0x26, 0x47, 0x84, 0x12, 0x4f, 0xac, 0x65, 0x55, 0xa9, - 0xfd, 0xeb, 0x19, 0xb5, 0xa7, 0x98, 0xe3, 0x90, 0x4e, 0xc3, 0x19, 0x1e, 0xd7, 0x22, 0xf6, 0xd0, - 0x23, 0xc7, 0xb3, 0x5c, 0xe7, 0x67, 0x84, 0xb2, 0xda, 0x62, 0xbc, 0x87, 0xde, 0x8b, 0xa0, 0x38, - 0x41, 0x81, 0xbe, 0x01, 0x95, 0xae, 0x3b, 0x60, 0x9c, 0x50, 0x59, 0x21, 0x96, 0x64, 0x06, 0x45, - 0xf7, 0xdb, 0x8a, 0x51, 0x38, 0x49, 0xb7, 0xfa, 0x4d, 0xa8, 0xfc, 0x9f, 0x7d, 0x51, 0xf4, 0xd5, - 0x71, 0x87, 0xce, 0xd4, 0x57, 0xff, 0x6b, 0xc0, 0x62, 0xda, 0x0d, 0xd1, 0x34, 0x66, 0x4c, 0x5d, - 0xf6, 0x75, 0xad, 0xcc, 0x4f, 0xad, 0x95, 0xaa, 0x24, 0xcd, 0x7f, 0x92, 0x92, 0xb4, 0x01, 0x60, - 0x05, 0x8e, 0xae, 0x46, 0x61, 0x75, 0x8b, 0xea, 0x49, 0xbc, 0x38, 0xe3, 0x04, 0x95, 0x78, 0xb0, - 0xae, 0xef, 0x71, 0xea, 0xbb, 0x2e, 0xa1, 0xb2, 0x82, 0x95, 0xc2, 0x07, 0xdb, 0x8a, 0xa0, 0x38, - 0x41, 0x61, 0xee, 0x41, 0x7a, 0xe3, 0x43, 0x77, 0x43, 0xc3, 0xc3, 0xbb, 0xdf, 0x9a, 0xd9, 0x68, - 0xf3, 0x16, 0x94, 0xb1, 0xef, 0xf3, 0x7d, 0x8b, 0x1f, 0x33, 0xd4, 0x80, 0x42, 0x20, 0x7e, 0xa8, - 0x75, 0x5e, 0x7e, 0xe7, 0x90, 0x18, 0x1c, 0xc2, 0xcd, 0xdf, 0x18, 0xf0, 0xca, 0xd4, 0xed, 0x5a, - 0x38, 0xa0, 0x1b, 0x9d, 0x94, 0x49, 0x91, 0x03, 0x62, 0x3a, 0x9c, 0xa0, 0x12, 0x6d, 0x3b, 0xb5, - 0x92, 0x8f, 0xb7, 0xed, 0x94, 0x36, 0x9c, 0xa6, 0x35, 0xff, 0x93, 0x83, 0xe2, 0x01, 0xb7, 0xf8, - 0x80, 0xa1, 0x27, 0x50, 0x12, 0xd9, 0x63, 0x5b, 0xdc, 0x92, 0x9a, 0x33, 0x7f, 0xb1, 0xd2, 0xe3, - 0x4f, 0xdc, 0xb1, 0x34, 0x04, 0x47, 0x12, 0xc5, 0xaa, 0xca, 0xa4, 0x1e, 0x65, 0x5e, 0x54, 0x72, - 0x42, 0xed, 0x58, 0x61, 0xc5, 0xb8, 0xde, 0x27, 0x8c, 0x59, 0x3d, 0x1d, 0x6b, 0xd1, 0xb8, 0xbe, - 0x1b, 0x82, 0xb1, 0xc6, 0xa3, 0xb7, 0xa0, 0x48, 0x89, 0xc5, 0xa2, 0x21, 0xa2, 0xae, 0x45, 0x62, - 0x09, 0xbd, 0x18, 0x35, 0x16, 0x94, 0x70, 0x79, 0xc6, 0x8a, 0x1a, 0xbd, 0x0b, 0xd7, 0x6c, 0xc2, - 0x2d, 0xc7, 0x0d, 0x67, 0x87, 0xcc, 0xdf, 0x0e, 0x42, 0x61, 0x9d, 0x90, 0xb5, 0x5d, 0x11, 0x36, - 0xa9, 0x03, 0xd6, 0x02, 0x45, 0x9e, 0x74, 0x7d, 0x9b, 0xc8, 0x38, 0x2c, 0xc4, 0x79, 0xb2, 0xe5, - 0xdb, 0x04, 0x4b, 0x8c, 0xf9, 0xcc, 0x80, 0x4a, 0x28, 0x69, 0xcb, 0x1a, 0x30, 0x82, 0xd6, 0xa3, - 0x5b, 0x84, 0xcf, 0xad, 0x1b, 0xdb, 0xfc, 0x3b, 0x67, 0x01, 0xb9, 0x18, 0x35, 0xca, 0x92, 0x4c, - 0x1c, 0xa2, 0x0b, 0x24, 0x7c, 0x94, 0xbb, 0xc2, 0x47, 0xaf, 0x41, 0x41, 0xce, 0x69, 0xca, 0x99, - 0xd1, 0x58, 0x26, 0x67, 0x39, 0x1c, 0xe2, 0xcc, 0xdf, 0xe7, 0xa0, 0x9a, 0xba, 0x5c, 0x86, 0xd1, - 0x28, 0xda, 0xbd, 0x72, 0x19, 0xf6, 0xf9, 0xe9, 0x1f, 0x11, 0x7f, 0x00, 0xc5, 0xae, 0xb8, 0x9f, - 0xfe, 0x8a, 0xbb, 0x3e, 0xcb, 0x53, 0x48, 0xcf, 0xc4, 0x91, 0x24, 0x8f, 0x0c, 0x2b, 0x81, 0xe8, - 0x3e, 0xac, 0x50, 0xc2, 0xe9, 0xd9, 0xe6, 0x11, 0x27, 0x34, 0x39, 0x2c, 0x16, 0xe2, 0xe1, 0x01, - 0x8f, 0x13, 0xe0, 0x49, 0x1e, 0xd3, 0x85, 0x79, 0xd1, 0xd8, 0x85, 0xdb, 0x59, 0xea, 0xb3, 0x55, - 0xe4, 0x76, 0xcd, 0xac, 0xf1, 0xc2, 0x3b, 0x9e, 0xe5, 0xf9, 0x61, 0xb0, 0x17, 0x62, 0xef, 0x3c, - 0x14, 0x40, 0x1c, 0xe2, 0xee, 0x5c, 0x17, 0x0b, 0xe4, 0xaf, 0x9f, 0x37, 0xe6, 0x9e, 0x3d, 0x6f, - 0xcc, 0x7d, 0xf8, 0x5c, 0x2d, 0x93, 0x3f, 0x84, 0x72, 0x3c, 0x46, 0x7c, 0xca, 0x2a, 0xcd, 0x1f, - 0x43, 0x49, 0x44, 0x92, 0x1e, 0x7f, 0xaf, 0x28, 0xfa, 0xe9, 0x72, 0x9c, 0xcb, 0x52, 0x8e, 0xcd, - 0x0d, 0x08, 0xbf, 0xeb, 0x8a, 0x4a, 0xe8, 0x70, 0xd2, 0x4f, 0x55, 0xc2, 0x1d, 0x01, 0xc0, 0x21, - 0x3c, 0xb1, 0x3f, 0xff, 0xd2, 0x00, 0x90, 0x7b, 0xc2, 0xf6, 0x50, 0xec, 0x76, 0x6b, 0x30, 0x2f, - 0x4a, 0xec, 0xb8, 0x61, 0x32, 0x05, 0x24, 0x06, 0x3d, 0x82, 0xa2, 0x2f, 0xc7, 0x0b, 0xf5, 0xf1, - 0xef, 0xcd, 0xa9, 0x51, 0xa3, 0xfe, 0xc9, 0xd3, 0xc4, 0xd6, 0xd3, 0xed, 0x53, 0x4e, 0x3c, 0x61, - 0x63, 0x1c, 0x31, 0xe1, 0x8c, 0x82, 0x95, 0xb0, 0xf6, 0xeb, 0x2f, 0x5e, 0xd6, 0xe7, 0x3e, 0x7a, - 0x59, 0x9f, 0xfb, 0xfb, 0xcb, 0xfa, 0xdc, 0xfb, 0xe7, 0x75, 0xe3, 0xc5, 0x79, 0xdd, 0xf8, 0xe8, - 0xbc, 0x6e, 0xfc, 0xf3, 0xbc, 0x6e, 0x3c, 0xfb, 0x57, 0x7d, 0xee, 0xdd, 0xdc, 0x70, 0xfd, 0x7f, - 0x01, 0x00, 0x00, 0xff, 0xff, 0xc3, 0xe1, 0xb9, 0xfd, 0x26, 0x1b, 0x00, 0x00, + 0xf9, 0x51, 0x0e, 0x2a, 0x9b, 0x07, 0xbb, 0x58, 0x45, 0x7b, 0x86, 0xa0, 0xd9, 0x00, 0x10, 0x7f, + 0x59, 0x60, 0x75, 0x89, 0x5d, 0xcb, 0xad, 0x19, 0x37, 0x4a, 0x6d, 0xa4, 0xe8, 0xe0, 0x7e, 0x84, + 0xc1, 0x09, 0x2a, 0x21, 0xf5, 0xd4, 0xf1, 0x6c, 0xf9, 0xda, 0x09, 0xa9, 0xef, 0x3a, 0x9e, 0x8d, + 0x25, 0x06, 0xdd, 0x83, 0xc2, 0x90, 0xd0, 0x23, 0xe1, 0x7f, 0x11, 0x10, 0x5f, 0xc9, 0x76, 0xbd, + 0x87, 0x82, 0xa5, 0x5d, 0xbe, 0x18, 0x35, 0x0a, 0xf2, 0x27, 0x0e, 0x85, 0xa0, 0x26, 0x00, 0x3b, + 0xf1, 0x29, 0x97, 0xe6, 0xd4, 0x0a, 0x6b, 0xf9, 0x1b, 0xe5, 0xf6, 0xa2, 0xb0, 0xef, 0x30, 0x82, + 0xe2, 0x04, 0x85, 0xf9, 0x67, 0x03, 0x96, 0x12, 0x5e, 0x90, 0x1e, 0xbf, 0x05, 0x0b, 0xbd, 0x44, + 0xbc, 0x29, 0x8f, 0x5c, 0x57, 0xb6, 0x2f, 0x24, 0x63, 0x11, 0xa7, 0x28, 0x11, 0x81, 0xb2, 0xae, + 0x1e, 0x3a, 0xaf, 0xd6, 0x33, 0x3f, 0x97, 0xb6, 0x21, 0xd6, 0x94, 0x00, 0x32, 0x1c, 0x4b, 0x36, + 0xff, 0x65, 0xc8, 0xa7, 0xd3, 0x99, 0x86, 0x6e, 0x24, 0xb2, 0xd9, 0x90, 0x57, 0x5e, 0x98, 0x92, + 0x89, 0x57, 0xa4, 0x40, 0xee, 0xff, 0x22, 0x05, 0x6e, 0x97, 0x7e, 0xfb, 0x71, 0x63, 0xee, 0xc3, + 0xbf, 0xaf, 0xcd, 0x99, 0xbf, 0xcc, 0x41, 0xb5, 0x43, 0x5c, 0xc2, 0xc9, 0x7e, 0xc0, 0xe5, 0x0d, + 0xee, 0x02, 0xea, 0x51, 0xab, 0x4b, 0x0e, 0x08, 0x75, 0x7c, 0xfb, 0x90, 0x74, 0x7d, 0xcf, 0x66, + 0xf2, 0x89, 0xf2, 0xed, 0xcf, 0x5f, 0x8c, 0x1a, 0x68, 0x67, 0x02, 0x8b, 0x5f, 0xc0, 0x81, 0x5c, + 0xa8, 0x06, 0x54, 0xfe, 0x76, 0xb8, 0x2a, 0x83, 0x22, 0xfc, 0xbe, 0x96, 0xed, 0xee, 0x07, 0x49, + 0xd6, 0xf6, 0xca, 0xc5, 0xa8, 0x51, 0x4d, 0x81, 0x70, 0x5a, 0x38, 0xfa, 0x2e, 0x2c, 0xfb, 0x34, + 0x38, 0xb1, 0xbc, 0x0e, 0x09, 0x88, 0x67, 0x13, 0x8f, 0x33, 0x99, 0x12, 0xa5, 0xf6, 0x75, 0x51, + 0xbc, 0xf6, 0xc7, 0x70, 0x78, 0x82, 0xda, 0xdc, 0x85, 0x52, 0x67, 0x40, 0x2d, 0x21, 0x0e, 0x7d, + 0x1b, 0x4a, 0xb6, 0xfa, 0xad, 0x6e, 0xfe, 0x9a, 0xae, 0xbe, 0x9a, 0xe6, 0x72, 0xd4, 0xa8, 0x8a, + 0x16, 0xd3, 0xd4, 0x00, 0x1c, 0xb1, 0x98, 0x8f, 0xa0, 0xba, 0x7d, 0x16, 0xf8, 0x94, 0x6b, 0x9f, + 0x7e, 0x09, 0x8a, 0x44, 0x02, 0xa4, 0xb4, 0x52, 0x5c, 0x32, 0x42, 0x32, 0xac, 0xb0, 0xe8, 0x75, + 0x28, 0x90, 0x33, 0xab, 0xcb, 0x55, 0xee, 0x57, 0x15, 0x59, 0x61, 0x5b, 0x00, 0x71, 0x88, 0x33, + 0xf7, 0x01, 0x76, 0x48, 0x24, 0x7a, 0x13, 0x96, 0x74, 0xdc, 0xa6, 0xd3, 0xe9, 0x0b, 0x8a, 0x79, + 0x09, 0xa7, 0xd1, 0x78, 0x9c, 0xde, 0x7c, 0x04, 0x65, 0x99, 0x72, 0xa2, 0x66, 0x08, 0x13, 0x64, + 0xc6, 0x29, 0x29, 0x91, 0x09, 0x92, 0x02, 0x87, 0xb8, 0xa8, 0xe8, 0xe4, 0xa6, 0x15, 0x9d, 0x44, + 0x84, 0xb9, 0x50, 0x0d, 0x79, 0x75, 0x1d, 0xcc, 0xa4, 0xe1, 0x26, 0x94, 0xb4, 0x99, 0x4a, 0x4b, + 0xd4, 0xff, 0xb4, 0x20, 0x1c, 0x51, 0x24, 0xb4, 0x9d, 0x40, 0xaa, 0x7c, 0x64, 0x53, 0xf6, 0x26, + 0x5c, 0x53, 0x09, 0xac, 0x74, 0x2d, 0x29, 0xb2, 0x6b, 0xda, 0x67, 0x1a, 0x9f, 0xd0, 0xf4, 0x33, + 0xa8, 0x4d, 0x6b, 0x9a, 0x9f, 0xa2, 0xc0, 0x65, 0x37, 0xc5, 0xfc, 0x8d, 0x01, 0xcb, 0x49, 0x49, + 0xd9, 0x9f, 0x2f, 0xbb, 0x92, 0xab, 0xdb, 0x4b, 0xc2, 0x23, 0xbf, 0x37, 0xe0, 0x7a, 0xea, 0x6a, + 0x33, 0xbd, 0xf8, 0x0c, 0x46, 0x25, 0x83, 0x23, 0x3f, 0x43, 0x70, 0xfc, 0x35, 0x07, 0xd5, 0x7b, + 0xd6, 0x11, 0x71, 0x0f, 0x89, 0x4b, 0xba, 0xdc, 0xa7, 0xe8, 0x03, 0xa8, 0xf4, 0x2d, 0xde, 0x3d, + 0x91, 0x50, 0x3d, 0x00, 0x74, 0xb2, 0x95, 0xa8, 0x94, 0xa4, 0xe6, 0x5e, 0x2c, 0x66, 0xdb, 0xe3, + 0xf4, 0xbc, 0xfd, 0x39, 0x65, 0x52, 0x25, 0x81, 0xc1, 0x49, 0x6d, 0x72, 0x6a, 0x93, 0xe7, 0xed, + 0xb3, 0x40, 0xd4, 0xe8, 0xd9, 0x87, 0xc5, 0x94, 0x09, 0x98, 0xfc, 0x64, 0xe0, 0x50, 0xd2, 0x27, + 0x1e, 0x8f, 0xa7, 0xb6, 0xbd, 0x31, 0xf9, 0x78, 0x42, 0xe3, 0xea, 0x1d, 0x58, 0x1e, 0x37, 0x1e, + 0x2d, 0x43, 0xfe, 0x94, 0x9c, 0x87, 0xef, 0x85, 0xc5, 0x4f, 0x74, 0x1d, 0x0a, 0x43, 0xcb, 0x1d, + 0xa8, 0x6c, 0xc4, 0xe1, 0xe1, 0x76, 0xee, 0x96, 0x61, 0xfe, 0xd1, 0x80, 0xda, 0x34, 0x43, 0xd0, + 0x17, 0x13, 0x82, 0xda, 0x15, 0x65, 0x55, 0xfe, 0x5d, 0x72, 0x1e, 0x4a, 0xdd, 0x86, 0x92, 0x1f, + 0x88, 0x39, 0xdb, 0xa7, 0xea, 0xd5, 0xdf, 0xd4, 0x2f, 0xb9, 0xaf, 0xe0, 0x97, 0xa3, 0xc6, 0x2b, + 0x29, 0xf1, 0x1a, 0x81, 0x23, 0x56, 0x64, 0x42, 0x51, 0xda, 0x23, 0x6a, 0xbe, 0xe8, 0xce, 0x20, + 0x6a, 0xeb, 0x43, 0x09, 0xc1, 0x0a, 0x63, 0x7e, 0x00, 0x25, 0x31, 0x7c, 0xec, 0x11, 0x6e, 0x89, + 0x00, 0x62, 0xc4, 0x3d, 0xbe, 0xe7, 0x78, 0xa7, 0xca, 0xb4, 0x28, 0x80, 0x0e, 0x15, 0x1c, 0x47, + 0x14, 0x2f, 0x2a, 0xb1, 0xb9, 0x19, 0x4b, 0xec, 0x9f, 0x72, 0x50, 0x11, 0xda, 0x75, 0xd5, 0xfe, + 0x26, 0x54, 0xdd, 0xe4, 0x9d, 0x94, 0x15, 0xaf, 0x28, 0x81, 0xe9, 0x28, 0xc5, 0x69, 0x5a, 0xc1, + 0x7c, 0xec, 0x10, 0xd7, 0x8e, 0x98, 0x73, 0x69, 0xe6, 0xbb, 0x49, 0x24, 0x4e, 0xd3, 0x8a, 0x5c, + 0x7c, 0x2c, 0x5e, 0x5b, 0x75, 0xc7, 0x28, 0x17, 0xbf, 0x27, 0x80, 0x38, 0xc4, 0xbd, 0xe8, 0xc6, + 0xf3, 0xb3, 0xdd, 0x18, 0xdd, 0x86, 0x45, 0xd1, 0x1e, 0xfd, 0x01, 0xd7, 0x23, 0x44, 0x41, 0x36, + 0x52, 0x74, 0x31, 0x6a, 0x2c, 0xbe, 0x97, 0xc2, 0xe0, 0x31, 0x4a, 0xf3, 0x23, 0x00, 0xd8, 0x3f, + 0xfa, 0x31, 0xe9, 0x86, 0xaf, 0x75, 0xf5, 0xe0, 0x2c, 0xea, 0xad, 0xda, 0xd7, 0x04, 0x54, 0x39, + 0x24, 0xae, 0xb7, 0x09, 0x1c, 0x4e, 0x51, 0xa2, 0x16, 0x94, 0xa3, 0x61, 0x5a, 0xd5, 0x92, 0x15, + 0xc5, 0x56, 0x8e, 0x26, 0x6e, 0x1c, 0xd3, 0xa4, 0x42, 0x67, 0xfe, 0xca, 0xd0, 0x69, 0x43, 0x7e, + 0xe0, 0xd8, 0xf2, 0xea, 0xe5, 0xf6, 0x57, 0x75, 0xf8, 0x3f, 0xd8, 0xed, 0x5c, 0x8e, 0x1a, 0xaf, + 0x4d, 0x5b, 0x5e, 0xf9, 0x79, 0x40, 0x58, 0xf3, 0xc1, 0x6e, 0x07, 0x0b, 0xe6, 0x17, 0x3d, 0x46, + 0x71, 0xc6, 0xc7, 0xd8, 0x00, 0x50, 0xb7, 0x16, 0xdc, 0xd7, 0xc2, 0x87, 0xd0, 0x8b, 0xc5, 0x4e, + 0x84, 0xc1, 0x09, 0x2a, 0xc4, 0x60, 0xa5, 0x4b, 0x89, 0xfc, 0x2d, 0x9e, 0x8b, 0x71, 0xab, 0x1f, + 0xd4, 0x4a, 0x72, 0x86, 0xfb, 0x72, 0xb6, 0xea, 0x24, 0xd8, 0xda, 0xaf, 0x2a, 0x35, 0x2b, 0x5b, + 0xe3, 0xc2, 0xf0, 0xa4, 0x7c, 0xe4, 0xc3, 0x8a, 0x2d, 0xa6, 0xd1, 0x94, 0xd2, 0xf2, 0xcc, 0x4a, + 0x5f, 0x11, 0x0a, 0x3b, 0xe3, 0x82, 0xf0, 0xa4, 0x6c, 0xf4, 0x43, 0x58, 0xd5, 0xc0, 0xc9, 0xb9, + 0xb6, 0x06, 0xd2, 0x53, 0x75, 0x31, 0x69, 0x77, 0xa6, 0x52, 0xe1, 0x97, 0x48, 0x40, 0x36, 0x14, + 0xdd, 0xb0, 0xb7, 0x54, 0x64, 0x61, 0xff, 0x56, 0xb6, 0x5b, 0xc4, 0xd1, 0xdf, 0x4c, 0xf6, 0x94, + 0x68, 0x6e, 0x54, 0xed, 0x44, 0xc9, 0x46, 0x67, 0x50, 0xb1, 0x3c, 0xcf, 0xe7, 0x56, 0x38, 0x69, + 0x2f, 0x48, 0x55, 0x9b, 0x33, 0xab, 0xda, 0x8c, 0x65, 0x8c, 0xf5, 0xb0, 0x04, 0x06, 0x27, 0x55, + 0xa1, 0xc7, 0xb0, 0xe4, 0x3f, 0xf6, 0x08, 0xc5, 0xe4, 0x98, 0x50, 0xe2, 0x89, 0xb5, 0xac, 0x2a, + 0xb5, 0xbf, 0x9d, 0x51, 0x7b, 0x8a, 0x39, 0x0e, 0xe9, 0x34, 0x9c, 0xe1, 0x71, 0x2d, 0x62, 0x0f, + 0x3d, 0x76, 0x3c, 0xcb, 0x75, 0x7e, 0x4a, 0x28, 0xab, 0x2d, 0xc6, 0x7b, 0xe8, 0xdd, 0x08, 0x8a, + 0x13, 0x14, 0xe8, 0xeb, 0x50, 0xe9, 0xba, 0x03, 0xc6, 0x09, 0x95, 0x15, 0x62, 0x49, 0x66, 0x50, + 0x74, 0xbf, 0xad, 0x18, 0x85, 0x93, 0x74, 0xab, 0xdf, 0x80, 0xca, 0xff, 0xd8, 0x17, 0x45, 0x5f, + 0x1d, 0x77, 0xe8, 0x4c, 0x7d, 0xf5, 0x3f, 0x06, 0x2c, 0xa6, 0xdd, 0x10, 0x4d, 0x63, 0xc6, 0xd4, + 0x65, 0x5f, 0xd7, 0xca, 0xfc, 0xd4, 0x5a, 0xa9, 0x4a, 0xd2, 0xfc, 0xa7, 0x29, 0x49, 0x1b, 0x00, + 0x56, 0xe0, 0xe8, 0x6a, 0x14, 0x56, 0xb7, 0xa8, 0x9e, 0xc4, 0x8b, 0x33, 0x4e, 0x50, 0x89, 0x07, + 0xeb, 0xfa, 0x1e, 0xa7, 0xbe, 0xeb, 0x12, 0x2a, 0x2b, 0x58, 0x29, 0x7c, 0xb0, 0xad, 0x08, 0x8a, + 0x13, 0x14, 0xe6, 0x3e, 0xa4, 0x37, 0x3e, 0x74, 0x27, 0x34, 0x3c, 0xbc, 0xfb, 0xcd, 0x99, 0x8d, + 0x36, 0x6f, 0x42, 0x19, 0xfb, 0x3e, 0x3f, 0xb0, 0xf8, 0x09, 0x43, 0x0d, 0x28, 0x04, 0xe2, 0x87, + 0x5a, 0xe7, 0xe5, 0x77, 0x0e, 0x89, 0xc1, 0x21, 0xdc, 0xfc, 0xb5, 0x01, 0xaf, 0x4e, 0xdd, 0xae, + 0x85, 0x03, 0xba, 0xd1, 0x49, 0x99, 0x14, 0x39, 0x20, 0xa6, 0xc3, 0x09, 0x2a, 0xd1, 0xb6, 0x53, + 0x2b, 0xf9, 0x78, 0xdb, 0x4e, 0x69, 0xc3, 0x69, 0x5a, 0xf3, 0xdf, 0x39, 0x28, 0x1e, 0x72, 0x8b, + 0x0f, 0x18, 0x7a, 0x04, 0x25, 0x91, 0x3d, 0xb6, 0xc5, 0x2d, 0xa9, 0x39, 0xf3, 0x17, 0x2b, 0x3d, + 0xfe, 0xc4, 0x1d, 0x4b, 0x43, 0x70, 0x24, 0x51, 0xac, 0xaa, 0x4c, 0xea, 0x51, 0xe6, 0x45, 0x25, + 0x27, 0xd4, 0x8e, 0x15, 0x56, 0x8c, 0xeb, 0x7d, 0xc2, 0x98, 0xd5, 0xd3, 0xb1, 0x16, 0x8d, 0xeb, + 0x7b, 0x21, 0x18, 0x6b, 0x3c, 0x7a, 0x07, 0x8a, 0x94, 0x58, 0x2c, 0x1a, 0x22, 0xea, 0x5a, 0x24, + 0x96, 0xd0, 0xcb, 0x51, 0x63, 0x41, 0x09, 0x97, 0x67, 0xac, 0xa8, 0xd1, 0xfb, 0x70, 0xcd, 0x26, + 0xdc, 0x72, 0xdc, 0x70, 0x76, 0xc8, 0xfc, 0xed, 0x20, 0x14, 0xd6, 0x09, 0x59, 0xdb, 0x15, 0x61, + 0x93, 0x3a, 0x60, 0x2d, 0x50, 0xe4, 0x49, 0xd7, 0xb7, 0x89, 0x8c, 0xc3, 0x42, 0x9c, 0x27, 0x5b, + 0xbe, 0x4d, 0xb0, 0xc4, 0x98, 0x4f, 0x0c, 0xa8, 0x84, 0x92, 0xb6, 0xac, 0x01, 0x23, 0x68, 0x3d, + 0xba, 0x45, 0xf8, 0xdc, 0xba, 0xb1, 0xcd, 0xbf, 0x77, 0x1e, 0x90, 0xcb, 0x51, 0xa3, 0x2c, 0xc9, + 0xc4, 0x21, 0xba, 0x40, 0xc2, 0x47, 0xb9, 0x2b, 0x7c, 0xf4, 0x3a, 0x14, 0xe4, 0x9c, 0xa6, 0x9c, + 0x19, 0x8d, 0x65, 0x72, 0x96, 0xc3, 0x21, 0xce, 0xfc, 0x5d, 0x0e, 0xaa, 0xa9, 0xcb, 0x65, 0x18, + 0x8d, 0xa2, 0xdd, 0x2b, 0x97, 0x61, 0x9f, 0x9f, 0xfe, 0x11, 0xf1, 0xfb, 0x50, 0xec, 0x8a, 0xfb, + 0xe9, 0xaf, 0xb8, 0xeb, 0xb3, 0x3c, 0x85, 0xf4, 0x4c, 0x1c, 0x49, 0xf2, 0xc8, 0xb0, 0x12, 0x88, + 0x76, 0x60, 0x85, 0x12, 0x4e, 0xcf, 0x37, 0x8f, 0x39, 0xa1, 0xc9, 0x61, 0xb1, 0x10, 0x0f, 0x0f, + 0x78, 0x9c, 0x00, 0x4f, 0xf2, 0x98, 0x2e, 0xcc, 0x8b, 0xc6, 0x2e, 0xdc, 0xce, 0x52, 0x9f, 0xad, + 0x22, 0xb7, 0x6b, 0x66, 0x8d, 0x17, 0xde, 0xf1, 0x2c, 0xcf, 0x0f, 0x83, 0xbd, 0x10, 0x7b, 0xe7, + 0xbe, 0x00, 0xe2, 0x10, 0x77, 0xfb, 0xba, 0x58, 0x20, 0x7f, 0xf5, 0xb4, 0x31, 0xf7, 0xe4, 0x69, + 0x63, 0xee, 0xe3, 0xa7, 0x6a, 0x99, 0xfc, 0x01, 0x94, 0xe3, 0x31, 0xe2, 0x33, 0x56, 0x69, 0xfe, + 0x08, 0x4a, 0x22, 0x92, 0xf4, 0xf8, 0x7b, 0x45, 0xd1, 0x4f, 0x97, 0xe3, 0x5c, 0x96, 0x72, 0x6c, + 0x6e, 0x40, 0xf8, 0x5d, 0x57, 0x54, 0x42, 0x87, 0x93, 0x7e, 0xaa, 0x12, 0xee, 0x0a, 0x00, 0x0e, + 0xe1, 0x89, 0xfd, 0xf9, 0x17, 0x06, 0x80, 0xdc, 0x13, 0xb6, 0x87, 0x62, 0xb7, 0x5b, 0x83, 0x79, + 0x51, 0x62, 0xc7, 0x0d, 0x93, 0x29, 0x20, 0x31, 0xe8, 0x01, 0x14, 0x7d, 0x39, 0x5e, 0xa8, 0x8f, + 0x7f, 0x6f, 0x4d, 0x8d, 0x1a, 0xf5, 0x0f, 0x9b, 0x26, 0xb6, 0x1e, 0x6f, 0x9f, 0x71, 0xe2, 0x09, + 0x1b, 0xe3, 0x88, 0x09, 0x67, 0x14, 0xac, 0x84, 0xb5, 0xdf, 0x78, 0xf6, 0xbc, 0x3e, 0xf7, 0xc9, + 0xf3, 0xfa, 0xdc, 0xdf, 0x9e, 0xd7, 0xe7, 0x3e, 0xbc, 0xa8, 0x1b, 0xcf, 0x2e, 0xea, 0xc6, 0x27, + 0x17, 0x75, 0xe3, 0x1f, 0x17, 0x75, 0xe3, 0xc9, 0x3f, 0xeb, 0x73, 0xef, 0xe7, 0x86, 0xeb, 0xff, + 0x0d, 0x00, 0x00, 0xff, 0xff, 0x07, 0x07, 0xdb, 0xc2, 0x28, 0x1b, 0x00, 0x00, } diff --git a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 723daf6ed14..730a1655528 100644 --- a/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/staging/src/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -21,9 +21,9 @@ syntax = 'proto2'; package k8s.io.apimachinery.pkg.apis.meta.v1; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go index 426c3995598..cd37f4ab1f9 100644 --- a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.pb.go @@ -739,30 +739,30 @@ var ( var fileDescriptorGenerated = []byte{ // 406 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x90, 0x4f, 0x8b, 0xd3, 0x40, - 0x18, 0xc6, 0x93, 0x6d, 0xa1, 0xeb, 0xb4, 0xb0, 0x32, 0x1e, 0x8c, 0x3d, 0x4c, 0x96, 0x9e, 0xec, - 0xc1, 0x19, 0x2c, 0x08, 0x5e, 0x37, 0xcb, 0x82, 0x22, 0x82, 0x0c, 0xfe, 0x01, 0x4f, 0x4e, 0x93, - 0x31, 0x3b, 0xc4, 0xbe, 0x13, 0x26, 0x13, 0xe3, 0xde, 0xfc, 0x08, 0x7e, 0xac, 0x1e, 0xf7, 0xe8, - 0xa9, 0xd8, 0xf8, 0x21, 0xbc, 0x4a, 0xa6, 0xd3, 0x5a, 0x5b, 0xc1, 0x5b, 0xe6, 0x7d, 0x9e, 0xdf, - 0xf3, 0x3e, 0x6f, 0xd0, 0xb3, 0xe2, 0x69, 0x45, 0x95, 0x66, 0x45, 0x3d, 0x97, 0x06, 0xa4, 0x95, - 0x15, 0xfb, 0x2c, 0x21, 0xd3, 0x86, 0x79, 0x41, 0x94, 0x6a, 0x21, 0xd2, 0x6b, 0x05, 0xd2, 0xdc, - 0xb0, 0xb2, 0xc8, 0x99, 0xa9, 0xc1, 0xaa, 0x85, 0x64, 0xb9, 0x04, 0x69, 0x84, 0x95, 0x19, 0x2d, - 0x8d, 0xb6, 0x1a, 0xc7, 0x1b, 0x80, 0xee, 0x03, 0xb4, 0x2c, 0x72, 0xea, 0x81, 0xf1, 0xa3, 0x5c, - 0xd9, 0xeb, 0x7a, 0x4e, 0x53, 0xbd, 0x60, 0xb9, 0xce, 0x35, 0x73, 0xdc, 0xbc, 0xfe, 0xe8, 0x5e, - 0xee, 0xe1, 0xbe, 0x36, 0x79, 0xe3, 0xd9, 0x71, 0xb3, 0x6e, 0xbd, 0x28, 0x15, 0x33, 0xb2, 0xd2, - 0xb5, 0x49, 0x8f, 0x3a, 0x8c, 0x1f, 0xff, 0x9b, 0xa9, 0xad, 0xfa, 0xc4, 0x14, 0xd8, 0xca, 0x9a, - 0x43, 0x64, 0x32, 0x45, 0x23, 0x2e, 0x9a, 0xab, 0x2f, 0x56, 0x42, 0xa5, 0x34, 0xe0, 0x07, 0xa8, - 0x67, 0x44, 0x13, 0x85, 0xe7, 0xe1, 0xc3, 0x51, 0x32, 0x68, 0x57, 0x71, 0x8f, 0x8b, 0x86, 0x77, - 0xb3, 0xc9, 0x07, 0x74, 0xfa, 0xfa, 0xa6, 0x94, 0x2f, 0xa5, 0x15, 0x78, 0x86, 0x90, 0x28, 0xd5, - 0x5b, 0x69, 0x3a, 0xc8, 0xb9, 0xef, 0x24, 0x78, 0xb9, 0x8a, 0x83, 0x76, 0x15, 0xa3, 0x8b, 0x57, - 0xcf, 0xbd, 0xc2, 0xf7, 0x5c, 0xf8, 0x1c, 0xf5, 0x0b, 0x05, 0x59, 0x74, 0xe2, 0xdc, 0x23, 0xef, - 0xee, 0xbf, 0x50, 0x90, 0x71, 0xa7, 0x4c, 0x7e, 0x85, 0x68, 0xf0, 0x06, 0x0a, 0xd0, 0x0d, 0xe0, - 0x77, 0xe8, 0xd4, 0xfa, 0x6d, 0x2e, 0x7f, 0x38, 0x9b, 0xd2, 0xff, 0xfc, 0x62, 0xba, 0xad, 0x97, - 0xdc, 0xf5, 0xe1, 0xbb, 0xc2, 0x7c, 0x17, 0xb6, 0xbd, 0xf0, 0xe4, 0xf8, 0x42, 0x7c, 0x81, 0xce, - 0x52, 0x0d, 0x56, 0x82, 0xbd, 0x82, 0x54, 0x67, 0x0a, 0xf2, 0xa8, 0xe7, 0xca, 0xde, 0xf7, 0x79, - 0x67, 0x97, 0x7f, 0xcb, 0xfc, 0xd0, 0x8f, 0x9f, 0xa0, 0xa1, 0x1f, 0x75, 0xab, 0xa3, 0xbe, 0xc3, - 0xef, 0x79, 0x7c, 0x78, 0xf9, 0x47, 0xe2, 0xfb, 0xbe, 0x64, 0xba, 0x5c, 0x93, 0xe0, 0x76, 0x4d, - 0x82, 0xef, 0x6b, 0x12, 0x7c, 0x6d, 0x49, 0xb8, 0x6c, 0x49, 0x78, 0xdb, 0x92, 0xf0, 0x47, 0x4b, - 0xc2, 0x6f, 0x3f, 0x49, 0xf0, 0x7e, 0xe0, 0x8f, 0xfc, 0x1d, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x26, - 0x55, 0x0f, 0xb3, 0x02, 0x00, 0x00, + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x84, 0x90, 0xbf, 0x8f, 0xd3, 0x30, + 0x1c, 0xc5, 0x93, 0x6b, 0xa5, 0x1e, 0x6e, 0xa5, 0x43, 0x66, 0x20, 0x74, 0x70, 0x4e, 0x9d, 0xe8, + 0x80, 0x2d, 0x4e, 0x20, 0xb1, 0x5e, 0x4e, 0x27, 0x81, 0x10, 0x12, 0xb2, 0xf8, 0x21, 0x31, 0xe1, + 0x26, 0x26, 0x67, 0x85, 0x7e, 0x1d, 0x39, 0x0e, 0xe1, 0x36, 0xfe, 0x04, 0xfe, 0xac, 0x8e, 0x37, + 0x32, 0x55, 0x34, 0xfc, 0x11, 0xac, 0x28, 0xae, 0x5b, 0x4a, 0x2b, 0x74, 0x5b, 0xec, 0xf7, 0x3e, + 0xcf, 0xef, 0x05, 0x3d, 0x2f, 0x9e, 0x55, 0x54, 0x69, 0x56, 0xd4, 0x33, 0x69, 0x40, 0x5a, 0x59, + 0xb1, 0x2f, 0x12, 0x32, 0x6d, 0x98, 0x17, 0x44, 0xa9, 0xe6, 0x22, 0xbd, 0x52, 0x20, 0xcd, 0x35, + 0x2b, 0x8b, 0x9c, 0x99, 0x1a, 0xac, 0x9a, 0x4b, 0x96, 0x4b, 0x90, 0x46, 0x58, 0x99, 0xd1, 0xd2, + 0x68, 0xab, 0x71, 0xbc, 0x06, 0xe8, 0x2e, 0x40, 0xcb, 0x22, 0xa7, 0x1e, 0x18, 0x3f, 0xca, 0x95, + 0xbd, 0xaa, 0x67, 0x34, 0xd5, 0x73, 0x96, 0xeb, 0x5c, 0x33, 0xc7, 0xcd, 0xea, 0x4f, 0xee, 0xe4, + 0x0e, 0xee, 0x6b, 0x9d, 0x37, 0x7e, 0xf2, 0xbf, 0x02, 0xa2, 0x54, 0xcc, 0xc8, 0x4a, 0xd7, 0x26, + 0x3d, 0x68, 0x31, 0x7e, 0x7c, 0xb8, 0xa7, 0x63, 0x6a, 0xab, 0x3e, 0x33, 0x05, 0xb6, 0xb2, 0x66, + 0x1f, 0x99, 0x4c, 0xd1, 0x88, 0x8b, 0xe6, 0xf2, 0xab, 0x95, 0x50, 0x29, 0x0d, 0xf8, 0x01, 0xea, + 0x19, 0xd1, 0x44, 0xe1, 0x69, 0xf8, 0x70, 0x94, 0x0c, 0xda, 0x65, 0xdc, 0xe3, 0xa2, 0xe1, 0xdd, + 0xdd, 0xe4, 0x23, 0x3a, 0x7e, 0x73, 0x5d, 0xca, 0x57, 0xd2, 0x0a, 0x7c, 0x86, 0x90, 0x28, 0xd5, + 0x3b, 0x69, 0x3a, 0xc8, 0xb9, 0xef, 0x24, 0x78, 0xb1, 0x8c, 0x83, 0x76, 0x19, 0xa3, 0xf3, 0xd7, + 0x2f, 0xbc, 0xc2, 0x77, 0x5c, 0xf8, 0x14, 0xf5, 0x0b, 0x05, 0x59, 0x74, 0xe4, 0xdc, 0x23, 0xef, + 0xee, 0xbf, 0x54, 0x90, 0x71, 0xa7, 0x4c, 0x7e, 0x87, 0x68, 0xf0, 0x16, 0x0a, 0xd0, 0x0d, 0xe0, + 0xf7, 0xe8, 0xd8, 0xfa, 0xd7, 0x5c, 0xfe, 0xf0, 0x6c, 0x4a, 0x6f, 0xf9, 0xc9, 0x74, 0x53, 0x2f, + 0xb9, 0xeb, 0xc3, 0xb7, 0x85, 0xf9, 0x36, 0x6c, 0xb3, 0xf0, 0xe8, 0x70, 0x21, 0x3e, 0x47, 0x27, + 0xa9, 0x06, 0x2b, 0xc1, 0x5e, 0x42, 0xaa, 0x33, 0x05, 0x79, 0xd4, 0x73, 0x65, 0xef, 0xfb, 0xbc, + 0x93, 0x8b, 0x7f, 0x65, 0xbe, 0xef, 0xc7, 0x4f, 0xd1, 0xd0, 0x5f, 0x75, 0x4f, 0x47, 0x7d, 0x87, + 0xdf, 0xf3, 0xf8, 0xf0, 0xe2, 0xaf, 0xc4, 0x77, 0x7d, 0xc9, 0x74, 0xb1, 0x22, 0xc1, 0xcd, 0x8a, + 0x04, 0x3f, 0x56, 0x24, 0xf8, 0xd6, 0x92, 0x70, 0xd1, 0x92, 0xf0, 0xa6, 0x25, 0xe1, 0xcf, 0x96, + 0x84, 0xdf, 0x7f, 0x91, 0xe0, 0xc3, 0xc0, 0x8f, 0xfc, 0x13, 0x00, 0x00, 0xff, 0xff, 0x64, 0x29, + 0x25, 0xfb, 0xb5, 0x02, 0x00, 0x00, } diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto index bf04aca1cea..180622f3aba 100644 --- a/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/generated.proto @@ -21,7 +21,7 @@ syntax = 'proto2'; package k8s.io.apimachinery.pkg.runtime; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go index 5525e13044c..ecd3d6e1284 100644 --- a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.pb.go @@ -42,19 +42,19 @@ var _ = math.Inf const _ = proto.GoGoProtoPackageIsVersion1 var fileDescriptorGenerated = []byte{ - // 215 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x6c, 0xce, 0xb1, 0x4e, 0xc4, 0x30, - 0x0c, 0xc6, 0xf1, 0x76, 0x61, 0x60, 0x64, 0xec, 0xe0, 0x11, 0xb1, 0x10, 0x0b, 0x26, 0x66, 0x5e, - 0x80, 0x9d, 0x2d, 0xed, 0x99, 0xd4, 0x2a, 0x8d, 0x23, 0xc7, 0x41, 0x62, 0xe3, 0x11, 0x78, 0xac, - 0x1b, 0x6f, 0x64, 0xa4, 0xe5, 0x45, 0x10, 0xcd, 0x0d, 0xe8, 0x60, 0xcb, 0xa7, 0xe8, 0x67, 0xfd, - 0xcf, 0x1f, 0xa6, 0xbb, 0xec, 0x58, 0x70, 0x2a, 0x3d, 0x69, 0x24, 0xa3, 0x8c, 0x2f, 0x14, 0x77, - 0xa2, 0x78, 0xfc, 0xf0, 0x89, 0x67, 0x3f, 0x8c, 0x1c, 0x49, 0x5f, 0x31, 0x4d, 0x01, 0xb5, 0x44, - 0xe3, 0x99, 0x30, 0x0f, 0x23, 0xcd, 0x1e, 0x03, 0x45, 0x52, 0x6f, 0xb4, 0x73, 0x49, 0xc5, 0xe4, - 0xe2, 0xb2, 0x3a, 0xf7, 0xdb, 0xb9, 0x34, 0x05, 0x77, 0x74, 0xae, 0xba, 0xee, 0x3a, 0xb0, 0x8d, - 0xa5, 0x77, 0x83, 0xcc, 0x18, 0x24, 0x08, 0x6e, 0xbc, 0x2f, 0x4f, 0xdb, 0xda, 0xc6, 0xf6, 0xaa, - 0x67, 0xbb, 0xdb, 0xbf, 0x9d, 0x3f, 0x31, 0x3e, 0x31, 0x2a, 0x65, 0x29, 0x3a, 0xd0, 0x69, 0x4a, - 0x77, 0xf3, 0xbf, 0x29, 0xc6, 0xcf, 0xc8, 0xd1, 0xb2, 0xe9, 0x29, 0xb9, 0xbf, 0xda, 0x2f, 0xd0, - 0x1c, 0x16, 0x68, 0x3e, 0x16, 0x68, 0xde, 0x56, 0x68, 0xf7, 0x2b, 0xb4, 0x87, 0x15, 0xda, 0xcf, - 0x15, 0xda, 0xf7, 0x2f, 0x68, 0x1e, 0xcf, 0x6a, 0xff, 0x77, 0x00, 0x00, 0x00, 0xff, 0xff, 0x86, - 0xae, 0x35, 0x6c, 0x39, 0x01, 0x00, 0x00, + // 217 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x74, 0xcf, 0xb1, 0x4e, 0xc4, 0x30, + 0x0c, 0x06, 0xe0, 0x76, 0x61, 0x60, 0x64, 0xec, 0xe0, 0x11, 0xb1, 0x10, 0x0b, 0x89, 0x81, 0x99, + 0x17, 0x60, 0x67, 0x4b, 0x7b, 0x26, 0xb5, 0x4a, 0xe3, 0xc8, 0x71, 0x90, 0xd8, 0x78, 0x04, 0x1e, + 0xeb, 0xc6, 0x1b, 0x19, 0x69, 0x79, 0x11, 0x44, 0x73, 0x03, 0x3a, 0xc4, 0x96, 0x5f, 0xd1, 0x67, + 0xfd, 0xff, 0xf9, 0xc3, 0x74, 0x97, 0x1d, 0x0b, 0x4e, 0xa5, 0x27, 0x8d, 0x64, 0x94, 0xf1, 0x85, + 0xe2, 0x4e, 0x14, 0x8f, 0x1f, 0x3e, 0xf1, 0xec, 0x87, 0x91, 0x23, 0xe9, 0x2b, 0xa6, 0x29, 0xa0, + 0x96, 0x68, 0x3c, 0x13, 0xe6, 0x61, 0xa4, 0xd9, 0x63, 0xa0, 0x48, 0xea, 0x8d, 0x76, 0x2e, 0xa9, + 0x98, 0x5c, 0x5c, 0x56, 0xe7, 0x7e, 0x3b, 0x97, 0xa6, 0xe0, 0x8e, 0xce, 0x55, 0xd7, 0x5d, 0x07, + 0xb6, 0xb1, 0xf4, 0x6e, 0x90, 0x19, 0x83, 0x04, 0xc1, 0x8d, 0xf7, 0xe5, 0x69, 0x4b, 0x5b, 0xd8, + 0x5e, 0xf5, 0x6c, 0x77, 0xfb, 0x5f, 0x1d, 0x9f, 0x18, 0x95, 0xb2, 0x14, 0x1d, 0xe8, 0xb4, 0x4c, + 0x77, 0xf3, 0x77, 0xdd, 0x8f, 0x29, 0xc6, 0xcf, 0xc8, 0xd1, 0xb2, 0xe9, 0x29, 0xb9, 0xbf, 0xda, + 0x2f, 0xd0, 0x1c, 0x16, 0x68, 0x3e, 0x16, 0x68, 0xde, 0x56, 0x68, 0xf7, 0x2b, 0xb4, 0x87, 0x15, + 0xda, 0xcf, 0x15, 0xda, 0xf7, 0x2f, 0x68, 0x1e, 0xcf, 0xea, 0x82, 0xef, 0x00, 0x00, 0x00, 0xff, + 0xff, 0x8c, 0x83, 0xea, 0x6e, 0x3b, 0x01, 0x00, 0x00, } diff --git a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto index 09e47011daf..10758136105 100644 --- a/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto +++ b/staging/src/k8s.io/apimachinery/pkg/runtime/schema/generated.proto @@ -21,7 +21,7 @@ syntax = 'proto2'; package k8s.io.apimachinery.pkg.runtime.schema; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/pkg/util/trace.go b/staging/src/k8s.io/apiserver/pkg/util/trace/trace.go similarity index 97% rename from pkg/util/trace.go rename to staging/src/k8s.io/apiserver/pkg/util/trace/trace.go index fe93db8df6f..b228aa1bff9 100644 --- a/pkg/util/trace.go +++ b/staging/src/k8s.io/apiserver/pkg/util/trace/trace.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package util +package trace import ( "bytes" @@ -35,7 +35,7 @@ type Trace struct { steps []traceStep } -func NewTrace(name string) *Trace { +func New(name string) *Trace { return &Trace{name, time.Now(), nil} } diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto index 7069961042e..cca08961124 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto @@ -23,7 +23,7 @@ package k8s.io.apimachinery.pkg.apis.meta.v1; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.proto b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.proto index bf04aca1cea..180622f3aba 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.proto +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/generated.proto @@ -21,7 +21,7 @@ syntax = 'proto2'; package k8s.io.apimachinery.pkg.runtime; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto index 09e47011daf..10758136105 100644 --- a/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto +++ b/staging/src/k8s.io/client-go/_vendor/k8s.io/apimachinery/pkg/runtime/schema/generated.proto @@ -21,7 +21,7 @@ syntax = 'proto2'; package k8s.io.apimachinery.pkg.runtime.schema; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/api/helpers.go b/staging/src/k8s.io/client-go/pkg/api/helpers.go index 943ed0afb97..7a06fc5ab37 100644 --- a/staging/src/k8s.io/client-go/pkg/api/helpers.go +++ b/staging/src/k8s.io/client-go/pkg/api/helpers.go @@ -67,7 +67,7 @@ func NonConvertibleFields(annotations map[string]string) map[string]string { } // Semantic can do semantic deep equality checks for api objects. -// Example: api.Semantic.DeepEqual(aPod, aPodWithNonNilButEmptyMaps) == true +// Example: apiequality.Semantic.DeepEqual(aPod, aPodWithNonNilButEmptyMaps) == true var Semantic = conversion.EqualitiesOrDie( func(a, b resource.Quantity) bool { // Ignore formatting, only care that numeric value stayed the same. diff --git a/staging/src/k8s.io/client-go/pkg/api/resource/generated.pb.go b/staging/src/k8s.io/client-go/pkg/api/resource/generated.pb.go index b8eb1606106..a724df07953 100644 --- a/staging/src/k8s.io/client-go/pkg/api/resource/generated.pb.go +++ b/staging/src/k8s.io/client-go/pkg/api/resource/generated.pb.go @@ -15,14 +15,14 @@ limitations under the License. */ // Code generated by protoc-gen-gogo. -// source: k8s.io/kubernetes/pkg/api/resource/generated.proto +// source: k8s.io/apimachinery/pkg/api/resource/generated.proto // DO NOT EDIT! /* Package resource is a generated protocol buffer package. It is generated from these files: - k8s.io/kubernetes/pkg/api/resource/generated.proto + k8s.io/apimachinery/pkg/api/resource/generated.proto It has these top-level messages: Quantity diff --git a/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto index 73dca3fec75..f82bb9456c3 100644 --- a/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/api/v1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.api.v1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; // Package-wide variables from generator "generated". diff --git a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto index e7555c9d609..6990434f4fd 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/apps/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.apps.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto index 96c1504b046..cf565632432 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/authentication/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.authentication.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto index 26d2b835efa..342efd4acf6 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/authorization/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.authorization.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto index 4d4fa8e6030..0aafdfbe857 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/autoscaling/v1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.autoscaling.v1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto index 2d84a5001d1..438aa5c245d 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto index 1654920fb56..a735ed12fd0 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/batch/v2alpha1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.batch.v2alpha1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/generated.proto index cb432875f50..d23f573410c 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/certificates/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.certificates.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto index d6a2751c6cc..2122284326d 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/extensions/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.extensions.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto index 4d74c13cbf0..855c4810564 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/policy/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.policy.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto index 6837061ed6e..0cbcb7cbd3e 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1alpha1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.rbac.v1alpha1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/generated.proto index c2cb2c74c8f..be6459a4919 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/rbac/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.rbac.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto index 8c89490b490..e78eb8f3ba8 100644 --- a/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto +++ b/staging/src/k8s.io/client-go/pkg/apis/storage/v1beta1/generated.proto @@ -24,7 +24,7 @@ package k8s.io.kubernetes.pkg.apis.storage.v1beta1; import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/generated.proto"; import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; -import "k8s.io/kubernetes/pkg/api/resource/generated.proto"; +import "k8s.io/apimachinery/pkg/api/resource/generated.proto"; import "k8s.io/kubernetes/pkg/api/v1/generated.proto"; import "k8s.io/kubernetes/pkg/util/intstr/generated.proto"; diff --git a/staging/src/k8s.io/client-go/rest/request_test.go b/staging/src/k8s.io/client-go/rest/request_test.go index db6049c925c..58b55ff32f6 100755 --- a/staging/src/k8s.io/client-go/rest/request_test.go +++ b/staging/src/k8s.io/client-go/rest/request_test.go @@ -50,6 +50,7 @@ import ( "k8s.io/client-go/util/clock" "k8s.io/client-go/util/flowcontrol" utiltesting "k8s.io/client-go/util/testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" _ "k8s.io/client-go/pkg/api/install" ) @@ -415,7 +416,7 @@ func TestTransformResponse(t *testing.T) { if test.ErrFn != nil && !test.ErrFn(err) { t.Errorf("%d: error function did not match: %v", i, err) } - if !(test.Data == nil && response == nil) && !api.Semantic.DeepDerivative(test.Data, response) { + if !(test.Data == nil && response == nil) && !apiequality.Semantic.DeepDerivative(test.Data, response) { t.Errorf("%d: unexpected response: %#v %#v", i, test.Data, response) } if test.Created != created { @@ -1043,7 +1044,7 @@ func TestDoRequestNewWay(t *testing.T) { } if obj == nil { t.Error("nil obj") - } else if !api.Semantic.DeepDerivative(expectedObj, obj) { + } else if !apiequality.Semantic.DeepDerivative(expectedObj, obj) { t.Errorf("Expected: %#v, got %#v", expectedObj, obj) } requestURL := defaultResourcePathWithPrefix("foo/bar", "", "", "baz") @@ -1276,7 +1277,7 @@ func TestDoRequestNewWayReader(t *testing.T) { } if obj == nil { t.Error("nil obj") - } else if !api.Semantic.DeepDerivative(expectedObj, obj) { + } else if !apiequality.Semantic.DeepDerivative(expectedObj, obj) { t.Errorf("Expected: %#v, got %#v", expectedObj, obj) } tmpStr := string(reqBodyExpected) @@ -1316,7 +1317,7 @@ func TestDoRequestNewWayObj(t *testing.T) { } if obj == nil { t.Error("nil obj") - } else if !api.Semantic.DeepDerivative(expectedObj, obj) { + } else if !apiequality.Semantic.DeepDerivative(expectedObj, obj) { t.Errorf("Expected: %#v, got %#v", expectedObj, obj) } tmpStr := string(reqBodyExpected) @@ -1370,7 +1371,7 @@ func TestDoRequestNewWayFile(t *testing.T) { } if obj == nil { t.Error("nil obj") - } else if !api.Semantic.DeepDerivative(expectedObj, obj) { + } else if !apiequality.Semantic.DeepDerivative(expectedObj, obj) { t.Errorf("Expected: %#v, got %#v", expectedObj, obj) } if wasCreated { @@ -1415,7 +1416,7 @@ func TestWasCreated(t *testing.T) { } if obj == nil { t.Error("nil obj") - } else if !api.Semantic.DeepDerivative(expectedObj, obj) { + } else if !apiequality.Semantic.DeepDerivative(expectedObj, obj) { t.Errorf("Expected: %#v, got %#v", expectedObj, obj) } if !wasCreated { @@ -1623,7 +1624,7 @@ func TestWatch(t *testing.T) { if e, a := item.t, got.Type; e != a { t.Errorf("Expected %v, got %v", e, a) } - if e, a := item.obj, got.Object; !api.Semantic.DeepDerivative(e, a) { + if e, a := item.obj, got.Object; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Expected %v, got %v", e, a) } } diff --git a/staging/src/k8s.io/client-go/rest/watch/decoder_test.go b/staging/src/k8s.io/client-go/rest/watch/decoder_test.go index 559d1e5f772..fa7f3957b5e 100644 --- a/staging/src/k8s.io/client-go/rest/watch/decoder_test.go +++ b/staging/src/k8s.io/client-go/rest/watch/decoder_test.go @@ -30,6 +30,7 @@ import ( "k8s.io/client-go/pkg/api" "k8s.io/client-go/pkg/api/v1" restclientwatch "k8s.io/client-go/rest/watch" + apiequality "k8s.io/apimachinery/pkg/api/equality" _ "k8s.io/client-go/pkg/api/install" ) @@ -68,7 +69,7 @@ func TestDecoder(t *testing.T) { if e, a := eventType, action; e != a { t.Errorf("Expected %v, got %v", e, a) } - if e, a := expect, got; !api.Semantic.DeepDerivative(e, a) { + if e, a := expect, got; !apiequality.Semantic.DeepDerivative(e, a) { t.Errorf("Expected %v, got %v", e, a) } t.Logf("Exited read") diff --git a/staging/src/k8s.io/client-go/rest/watch/encoder_test.go b/staging/src/k8s.io/client-go/rest/watch/encoder_test.go index 6a8e1e8a3fd..f2e5aaa764c 100644 --- a/staging/src/k8s.io/client-go/rest/watch/encoder_test.go +++ b/staging/src/k8s.io/client-go/rest/watch/encoder_test.go @@ -21,6 +21,7 @@ import ( "io/ioutil" "testing" + apiequality "k8s.io/apimachinery/pkg/api/equality" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer/streaming" @@ -71,7 +72,7 @@ func TestEncodeDecodeRoundTrip(t *testing.T) { t.Errorf("%d: unexpected error: %v", i, err) continue } - if !api.Semantic.DeepDerivative(testCase.Object, obj) { + if !apiequality.Semantic.DeepDerivative(testCase.Object, obj) { t.Errorf("%d: expected %#v, got %#v", i, testCase.Object, obj) } if event != testCase.Type { diff --git a/test/e2e/BUILD b/test/e2e/BUILD index c1b91046b3c..c5a7c896a06 100644 --- a/test/e2e/BUILD +++ b/test/e2e/BUILD @@ -100,7 +100,6 @@ go_library( "//federation/apis/federation/v1beta1:go_default_library", "//pkg/api:go_default_library", "//pkg/api/annotations:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/api/v1/service:go_default_library", @@ -175,6 +174,7 @@ go_library( "//vendor:google.golang.org/api/googleapi", "//vendor:gopkg.in/inf.v0", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/test/e2e/common/BUILD b/test/e2e/common/BUILD index 084a6243012..e8debd94fb5 100644 --- a/test/e2e/common/BUILD +++ b/test/e2e/common/BUILD @@ -31,7 +31,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/api/v1/pod:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", @@ -47,6 +46,7 @@ go_library( "//vendor:github.com/onsi/gomega", "//vendor:golang.org/x/net/websocket", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/util/sets", diff --git a/test/e2e/common/downward_api.go b/test/e2e/common/downward_api.go index 2a1ac3a327a..549bdb40f4a 100644 --- a/test/e2e/common/downward_api.go +++ b/test/e2e/common/downward_api.go @@ -19,9 +19,9 @@ package common import ( "fmt" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/downwardapi_volume.go b/test/e2e/common/downwardapi_volume.go index bf8967315e8..06bfd08549d 100644 --- a/test/e2e/common/downwardapi_volume.go +++ b/test/e2e/common/downwardapi_volume.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/common/init_container.go b/test/e2e/common/init_container.go index 9110c65b358..a2a4b306184 100644 --- a/test/e2e/common/init_container.go +++ b/test/e2e/common/init_container.go @@ -21,10 +21,10 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/watch" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" podutil "k8s.io/kubernetes/pkg/api/v1/pod" "k8s.io/kubernetes/pkg/client/conditions" diff --git a/test/e2e/density.go b/test/e2e/density.go index 28e8f45c6fe..31172b58f48 100644 --- a/test/e2e/density.go +++ b/test/e2e/density.go @@ -25,6 +25,7 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -35,7 +36,6 @@ import ( "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/batch" "k8s.io/kubernetes/pkg/apis/extensions" diff --git a/test/e2e/dns_autoscaling.go b/test/e2e/dns_autoscaling.go index 04a05a541bb..17271298fe8 100644 --- a/test/e2e/dns_autoscaling.go +++ b/test/e2e/dns_autoscaling.go @@ -23,10 +23,10 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/empty_dir_wrapper.go b/test/e2e/empty_dir_wrapper.go index d5ea807038d..91a992ab606 100644 --- a/test/e2e/empty_dir_wrapper.go +++ b/test/e2e/empty_dir_wrapper.go @@ -17,9 +17,9 @@ limitations under the License. package e2e import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/intstr" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/kubectl.go b/test/e2e/kubectl.go index 3482dd53642..01f2eb4a4ab 100644 --- a/test/e2e/kubectl.go +++ b/test/e2e/kubectl.go @@ -43,6 +43,7 @@ import ( "github.com/ghodss/yaml" apierrs "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/runtime/schema" @@ -51,7 +52,6 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apiserver/pkg/authentication/serviceaccount" "k8s.io/kubernetes/pkg/api/annotations" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" rbacv1beta1 "k8s.io/kubernetes/pkg/apis/rbac/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/test/e2e/limit_range.go b/test/e2e/limit_range.go index b9b3116c1b3..aa3214b4eaf 100644 --- a/test/e2e/limit_range.go +++ b/test/e2e/limit_range.go @@ -19,8 +19,8 @@ package e2e import ( "fmt" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/nodeoutofdisk.go b/test/e2e/nodeoutofdisk.go index b2ee3ee7994..db8753498bc 100644 --- a/test/e2e/nodeoutofdisk.go +++ b/test/e2e/nodeoutofdisk.go @@ -22,10 +22,10 @@ import ( "time" cadvisorapi "github.com/google/cadvisor/info/v1" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/opaque_resource.go b/test/e2e/opaque_resource.go index a6d353716a3..5bf734524f0 100644 --- a/test/e2e/opaque_resource.go +++ b/test/e2e/opaque_resource.go @@ -22,6 +22,7 @@ import ( "sync" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/runtime" @@ -29,7 +30,6 @@ import ( "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" "k8s.io/client-go/tools/cache" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/util/system" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/pd.go b/test/e2e/pd.go index 2b3a374b30b..290e66c295c 100644 --- a/test/e2e/pd.go +++ b/test/e2e/pd.go @@ -31,11 +31,11 @@ import ( "github.com/aws/aws-sdk-go/service/ec2" . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" awscloud "k8s.io/kubernetes/pkg/cloudprovider/providers/aws" diff --git a/test/e2e/persistent_volumes.go b/test/e2e/persistent_volumes.go index b492ece97a7..cb584dc4aa5 100644 --- a/test/e2e/persistent_volumes.go +++ b/test/e2e/persistent_volumes.go @@ -23,10 +23,10 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" apierrs "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/types" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/volume/util/volumehelper" diff --git a/test/e2e/pods.go b/test/e2e/pods.go index 0c11a9b6cb0..751164674c6 100644 --- a/test/e2e/pods.go +++ b/test/e2e/pods.go @@ -24,12 +24,12 @@ import ( "strconv" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/apimachinery/pkg/watch" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/rc.go b/test/e2e/rc.go index 6f7af734ab3..c4bb56111dd 100644 --- a/test/e2e/rc.go +++ b/test/e2e/rc.go @@ -20,11 +20,11 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/controller/replication" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/replica_set.go b/test/e2e/replica_set.go index a4602ce5387..a7730645e14 100644 --- a/test/e2e/replica_set.go +++ b/test/e2e/replica_set.go @@ -20,11 +20,11 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" extensions "k8s.io/kubernetes/pkg/apis/extensions/v1beta1" "k8s.io/kubernetes/pkg/controller/replicaset" diff --git a/test/e2e/resource_quota.go b/test/e2e/resource_quota.go index 36a1d5d9d5a..f0f1d469574 100644 --- a/test/e2e/resource_quota.go +++ b/test/e2e/resource_quota.go @@ -20,9 +20,9 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/apis/storage/util" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/test/e2e/scheduler_predicates.go b/test/e2e/scheduler_predicates.go index 4ddada64a6e..5f9a25bb329 100644 --- a/test/e2e/scheduler_predicates.go +++ b/test/e2e/scheduler_predicates.go @@ -21,10 +21,10 @@ import ( "time" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e/statefulset.go b/test/e2e/statefulset.go index a90971382a2..90f0eb4d7c2 100644 --- a/test/e2e/statefulset.go +++ b/test/e2e/statefulset.go @@ -29,6 +29,7 @@ import ( . "github.com/onsi/ginkgo" . "github.com/onsi/gomega" apierrs "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/labels" klabels "k8s.io/apimachinery/pkg/labels" @@ -39,7 +40,6 @@ import ( utilyaml "k8s.io/apimachinery/pkg/util/yaml" "k8s.io/apimachinery/pkg/watch" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" apps "k8s.io/kubernetes/pkg/apis/apps/v1beta1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" diff --git a/test/e2e/volume_provisioning.go b/test/e2e/volume_provisioning.go index 65d52347587..aa047be98ed 100644 --- a/test/e2e/volume_provisioning.go +++ b/test/e2e/volume_provisioning.go @@ -19,8 +19,8 @@ package e2e import ( "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" diff --git a/test/e2e_node/BUILD b/test/e2e_node/BUILD index ea0fb8e6000..d7c8b1f241f 100644 --- a/test/e2e_node/BUILD +++ b/test/e2e_node/BUILD @@ -76,7 +76,6 @@ go_test( "integration", ], deps = [ - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/client/clientset_generated/clientset:go_default_library", "//pkg/kubelet:go_default_library", @@ -106,6 +105,7 @@ go_test( "//vendor:github.com/onsi/gomega/types", "//vendor:github.com/spf13/pflag", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", "//vendor:k8s.io/apimachinery/pkg/runtime", diff --git a/test/e2e_node/cgroup_manager_test.go b/test/e2e_node/cgroup_manager_test.go index 1159335f47e..d9451371c45 100644 --- a/test/e2e_node/cgroup_manager_test.go +++ b/test/e2e_node/cgroup_manager_test.go @@ -17,9 +17,9 @@ limitations under the License. package e2e_node import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/cm" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/container_manager_test.go b/test/e2e_node/container_manager_test.go index 1b9aa9463aa..b7964d70e53 100644 --- a/test/e2e_node/container_manager_test.go +++ b/test/e2e_node/container_manager_test.go @@ -26,9 +26,9 @@ import ( "strings" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/uuid" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/memory_eviction_test.go b/test/e2e_node/memory_eviction_test.go index 71d13e427d4..9c66a1f9796 100644 --- a/test/e2e_node/memory_eviction_test.go +++ b/test/e2e_node/memory_eviction_test.go @@ -22,8 +22,8 @@ import ( "time" "github.com/golang/glog" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/e2e_node/summary_test.go b/test/e2e_node/summary_test.go index 660339d61fe..8f1fe6abb3c 100644 --- a/test/e2e_node/summary_test.go +++ b/test/e2e_node/summary_test.go @@ -20,8 +20,8 @@ import ( "fmt" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/kubelet/api/v1alpha1/stats" "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/integration/framework/BUILD b/test/integration/framework/BUILD index 1ff14a396af..3246b73fc83 100644 --- a/test/integration/framework/BUILD +++ b/test/integration/framework/BUILD @@ -17,7 +17,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/testapi:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/apps/v1beta1:go_default_library", @@ -47,6 +46,7 @@ go_library( "//vendor:github.com/go-openapi/spec", "//vendor:github.com/golang/glog", "//vendor:github.com/pborman/uuid", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/schema", diff --git a/test/integration/framework/perf_utils.go b/test/integration/framework/perf_utils.go index d4f15c90104..1d615005d9c 100644 --- a/test/integration/framework/perf_utils.go +++ b/test/integration/framework/perf_utils.go @@ -17,8 +17,8 @@ limitations under the License. package framework import ( + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" e2eframework "k8s.io/kubernetes/test/e2e/framework" diff --git a/test/integration/quota/quota_test.go b/test/integration/quota/quota_test.go index c5b58ce1db2..43efa83cf82 100644 --- a/test/integration/quota/quota_test.go +++ b/test/integration/quota/quota_test.go @@ -25,6 +25,7 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -32,7 +33,6 @@ import ( "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" "k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset" diff --git a/test/integration/scheduler/extender_test.go b/test/integration/scheduler/extender_test.go index 0fdeedc59b0..cc48d135a40 100644 --- a/test/integration/scheduler/extender_test.go +++ b/test/integration/scheduler/extender_test.go @@ -29,11 +29,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" diff --git a/test/integration/scheduler/scheduler_test.go b/test/integration/scheduler/scheduler_test.go index 48b729648f6..f064db79533 100644 --- a/test/integration/scheduler/scheduler_test.go +++ b/test/integration/scheduler/scheduler_test.go @@ -26,12 +26,12 @@ import ( "time" "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/wait" restclient "k8s.io/client-go/rest" "k8s.io/client-go/tools/cache" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" "k8s.io/kubernetes/pkg/client/clientset_generated/clientset" v1core "k8s.io/kubernetes/pkg/client/clientset_generated/clientset/typed/core/v1" diff --git a/test/integration/serviceaccount/service_account_test.go b/test/integration/serviceaccount/service_account_test.go index 07dff8ab649..330b7f881b8 100644 --- a/test/integration/serviceaccount/service_account_test.go +++ b/test/integration/serviceaccount/service_account_test.go @@ -31,6 +31,7 @@ import ( "testing" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/util/sets" @@ -259,13 +260,13 @@ func TestServiceAccountTokenAutoMount(t *testing.T) { if createdPod.Spec.ServiceAccountName != expectedServiceAccount { t.Fatalf("Expected %s, got %s", expectedServiceAccount, createdPod.Spec.ServiceAccountName) } - if !api.Semantic.DeepEqual(&expectedVolumes, &createdPod.Spec.Volumes) { + if !apiequality.Semantic.DeepEqual(&expectedVolumes, &createdPod.Spec.Volumes) { t.Fatalf("Expected\n\t%#v\n\tgot\n\t%#v", expectedVolumes, createdPod.Spec.Volumes) } - if !api.Semantic.DeepEqual(&expectedContainer1VolumeMounts, &createdPod.Spec.Containers[0].VolumeMounts) { + if !apiequality.Semantic.DeepEqual(&expectedContainer1VolumeMounts, &createdPod.Spec.Containers[0].VolumeMounts) { t.Fatalf("Expected\n\t%#v\n\tgot\n\t%#v", expectedContainer1VolumeMounts, createdPod.Spec.Containers[0].VolumeMounts) } - if !api.Semantic.DeepEqual(&expectedContainer2VolumeMounts, &createdPod.Spec.Containers[1].VolumeMounts) { + if !apiequality.Semantic.DeepEqual(&expectedContainer2VolumeMounts, &createdPod.Spec.Containers[1].VolumeMounts) { t.Fatalf("Expected\n\t%#v\n\tgot\n\t%#v", expectedContainer2VolumeMounts, createdPod.Spec.Containers[1].VolumeMounts) } } diff --git a/test/integration/storageclasses/storage_classes_test.go b/test/integration/storageclasses/storage_classes_test.go index a8b0f85ae43..681099204fc 100644 --- a/test/integration/storageclasses/storage_classes_test.go +++ b/test/integration/storageclasses/storage_classes_test.go @@ -23,10 +23,10 @@ package storageclasses import ( "testing" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" diff --git a/test/integration/volume/persistent_volumes_test.go b/test/integration/volume/persistent_volumes_test.go index 5451fcc8521..34a697ec77c 100644 --- a/test/integration/volume/persistent_volumes_test.go +++ b/test/integration/volume/persistent_volumes_test.go @@ -27,11 +27,11 @@ import ( "testing" "time" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/watch" restclient "k8s.io/client-go/rest" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" storage "k8s.io/kubernetes/pkg/apis/storage/v1beta1" storageutil "k8s.io/kubernetes/pkg/apis/storage/v1beta1/util" diff --git a/test/test_owners.csv b/test/test_owners.csv index 793437a15b4..1cf55e5b2d6 100644 --- a/test/test_owners.csv +++ b/test/test_owners.csv @@ -578,7 +578,6 @@ k8s.io/kubernetes/pkg/api/errors,yifan-gu,1 k8s.io/kubernetes/pkg/api/events,jlowdermilk,1 k8s.io/kubernetes/pkg/api/install,timothysc,1 k8s.io/kubernetes/pkg/api/meta,fabioy,1 -k8s.io/kubernetes/pkg/api/resource,smarterclayton,1 k8s.io/kubernetes/pkg/api/rest,rkouj,0 k8s.io/kubernetes/pkg/api/service,spxtr,1 k8s.io/kubernetes/pkg/api/testapi,caesarxuchao,1 diff --git a/test/utils/BUILD b/test/utils/BUILD index bb4f8482ed9..79ddad1de27 100644 --- a/test/utils/BUILD +++ b/test/utils/BUILD @@ -19,7 +19,6 @@ go_library( tags = ["automanaged"], deps = [ "//pkg/api:go_default_library", - "//pkg/api/resource:go_default_library", "//pkg/api/v1:go_default_library", "//pkg/apis/batch:go_default_library", "//pkg/apis/batch/v1:go_default_library", @@ -29,7 +28,9 @@ go_library( "//pkg/client/clientset_generated/internalclientset:go_default_library", "//pkg/util/workqueue:go_default_library", "//vendor:github.com/golang/glog", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", + "//vendor:k8s.io/apimachinery/pkg/api/resource", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/fields", "//vendor:k8s.io/apimachinery/pkg/labels", diff --git a/test/utils/runners.go b/test/utils/runners.go index 76c6cc1fa7b..2778e021d80 100644 --- a/test/utils/runners.go +++ b/test/utils/runners.go @@ -23,7 +23,9 @@ import ( "sync" "time" + apiequality "k8s.io/apimachinery/pkg/api/equality" apierrs "k8s.io/apimachinery/pkg/api/errors" + "k8s.io/apimachinery/pkg/api/resource" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/fields" "k8s.io/apimachinery/pkg/labels" @@ -33,7 +35,6 @@ import ( "k8s.io/apimachinery/pkg/util/uuid" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/kubernetes/pkg/api" - "k8s.io/kubernetes/pkg/api/resource" "k8s.io/kubernetes/pkg/api/v1" batchinternal "k8s.io/kubernetes/pkg/apis/batch" batch "k8s.io/kubernetes/pkg/apis/batch/v1" @@ -845,7 +846,7 @@ func DoCleanupNode(client clientset.Interface, nodeName string, strategy Prepare return fmt.Errorf("Skipping cleanup of Node: failed to get Node %v: %v", nodeName, err) } updatedNode := strategy.CleanupNode(node) - if api.Semantic.DeepEqual(node, updatedNode) { + if apiequality.Semantic.DeepEqual(node, updatedNode) { return nil } if _, err = client.Core().Nodes().Update(updatedNode); err == nil { diff --git a/vendor/BUILD b/vendor/BUILD index 8eff5891fb9..69dd02277f7 100644 --- a/vendor/BUILD +++ b/vendor/BUILD @@ -346,18 +346,21 @@ go_library( "github.com/appc/spec/schema/types/isolator.go", "github.com/appc/spec/schema/types/isolator_linux_specific.go", "github.com/appc/spec/schema/types/isolator_resources.go", + "github.com/appc/spec/schema/types/isolator_unix.go", "github.com/appc/spec/schema/types/labels.go", "github.com/appc/spec/schema/types/mountpoint.go", "github.com/appc/spec/schema/types/port.go", "github.com/appc/spec/schema/types/semver.go", "github.com/appc/spec/schema/types/url.go", + "github.com/appc/spec/schema/types/user_annotations.go", + "github.com/appc/spec/schema/types/user_labels.go", "github.com/appc/spec/schema/types/uuid.go", "github.com/appc/spec/schema/types/volume.go", ], tags = ["automanaged"], deps = [ - "//pkg/api/resource:go_default_library", "//vendor:github.com/appc/spec/schema/common", + "//vendor:github.com/appc/spec/schema/types/resource", "//vendor:github.com/coreos/go-semver/semver", ], ) @@ -12352,6 +12355,7 @@ go_test( tags = ["automanaged"], deps = [ "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/api/errors", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/labels", @@ -12449,6 +12453,7 @@ go_test( ], tags = ["automanaged"], deps = [ + "//vendor:k8s.io/apimachinery/pkg/api/equality", "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", "//vendor:k8s.io/apimachinery/pkg/runtime", "//vendor:k8s.io/apimachinery/pkg/runtime/serializer/streaming", @@ -13873,3 +13878,101 @@ go_library( "//vendor:k8s.io/apimachinery/third_party/forked/golang/netutil", ], ) + +go_library( + name = "github.com/appc/spec/schema/types/resource", + srcs = [ + "github.com/appc/spec/schema/types/resource/amount.go", + "github.com/appc/spec/schema/types/resource/math.go", + "github.com/appc/spec/schema/types/resource/quantity.go", + "github.com/appc/spec/schema/types/resource/scale_int.go", + "github.com/appc/spec/schema/types/resource/suffix.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/spf13/pflag", + "//vendor:gopkg.in/inf.v0", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/api/equality", + srcs = ["k8s.io/apimachinery/pkg/api/equality/semantic.go"], + tags = ["automanaged"], + deps = [ + "//vendor:k8s.io/apimachinery/pkg/api/resource", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/conversion", + "//vendor:k8s.io/apimachinery/pkg/fields", + "//vendor:k8s.io/apimachinery/pkg/labels", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/api/resource_test", + srcs = [ + "k8s.io/apimachinery/pkg/api/resource/amount_test.go", + "k8s.io/apimachinery/pkg/api/resource/math_test.go", + "k8s.io/apimachinery/pkg/api/resource/quantity_test.go", + "k8s.io/apimachinery/pkg/api/resource/scale_int_test.go", + ], + library = ":k8s.io/apimachinery/pkg/api/resource", + tags = ["automanaged"], + deps = [ + "//vendor:github.com/google/gofuzz", + "//vendor:github.com/spf13/pflag", + "//vendor:gopkg.in/inf.v0", + ], +) + +go_library( + name = "k8s.io/apimachinery/pkg/api/resource", + srcs = [ + "k8s.io/apimachinery/pkg/api/resource/amount.go", + "k8s.io/apimachinery/pkg/api/resource/generated.pb.go", + "k8s.io/apimachinery/pkg/api/resource/math.go", + "k8s.io/apimachinery/pkg/api/resource/quantity.go", + "k8s.io/apimachinery/pkg/api/resource/quantity_proto.go", + "k8s.io/apimachinery/pkg/api/resource/scale_int.go", + "k8s.io/apimachinery/pkg/api/resource/suffix.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/go-openapi/spec", + "//vendor:github.com/gogo/protobuf/proto", + "//vendor:github.com/spf13/pflag", + "//vendor:gopkg.in/inf.v0", + "//vendor:k8s.io/apimachinery/pkg/openapi", + ], +) + +go_test( + name = "k8s.io/apimachinery/pkg/api/resource_xtest", + srcs = ["k8s.io/apimachinery/pkg/api/resource/quantity_example_test.go"], + tags = ["automanaged"], + deps = ["//vendor:k8s.io/apimachinery/pkg/api/resource"], +) + +go_library( + name = "k8s.io/apimachinery/pkg/api/testing", + srcs = [ + "k8s.io/apimachinery/pkg/api/testing/fuzzer.go", + "k8s.io/apimachinery/pkg/api/testing/register.go", + ], + tags = ["automanaged"], + deps = [ + "//vendor:github.com/google/gofuzz", + "//vendor:k8s.io/apimachinery/pkg/apis/meta/v1", + "//vendor:k8s.io/apimachinery/pkg/runtime", + "//vendor:k8s.io/apimachinery/pkg/runtime/schema", + "//vendor:k8s.io/apimachinery/pkg/runtime/serializer", + "//vendor:k8s.io/apimachinery/pkg/types", + ], +) + +go_library( + name = "k8s.io/apiserver/pkg/util/trace", + srcs = ["k8s.io/apiserver/pkg/util/trace/trace.go"], + tags = ["automanaged"], + deps = ["//vendor:github.com/golang/glog"], +) diff --git a/vendor/github.com/appc/spec/schema/pod.go b/vendor/github.com/appc/spec/schema/pod.go index d4792ff3b40..9ed6c9e0a66 100644 --- a/vendor/github.com/appc/spec/schema/pod.go +++ b/vendor/github.com/appc/spec/schema/pod.go @@ -28,13 +28,15 @@ import ( const PodManifestKind = types.ACKind("PodManifest") type PodManifest struct { - ACVersion types.SemVer `json:"acVersion"` - ACKind types.ACKind `json:"acKind"` - Apps AppList `json:"apps"` - Volumes []types.Volume `json:"volumes"` - Isolators []types.Isolator `json:"isolators"` - Annotations types.Annotations `json:"annotations"` - Ports []types.ExposedPort `json:"ports"` + ACVersion types.SemVer `json:"acVersion"` + ACKind types.ACKind `json:"acKind"` + Apps AppList `json:"apps"` + Volumes []types.Volume `json:"volumes"` + Isolators []types.Isolator `json:"isolators"` + Annotations types.Annotations `json:"annotations"` + Ports []types.ExposedPort `json:"ports"` + UserAnnotations types.UserAnnotations `json:"userAnnotations,omitempty"` + UserLabels types.UserLabels `json:"userLabels,omitempty"` } // podManifest is a model to facilitate extra validation during the @@ -135,9 +137,12 @@ func (al AppList) Get(name types.ACName) *RuntimeApp { // Mount describes the mapping between a volume and the path it is mounted // inside of an app's filesystem. +// The AppVolume is optional. If missing, the pod-level Volume of the +// same name shall be used. type Mount struct { - Volume types.ACName `json:"volume"` - Path string `json:"path"` + Volume types.ACName `json:"volume"` + Path string `json:"path"` + AppVolume *types.Volume `json:"appVolume,omitempty"` } func (r Mount) assertValid() error { diff --git a/vendor/github.com/appc/spec/schema/types/app.go b/vendor/github.com/appc/spec/schema/types/app.go index df13bf1c3a4..0ef68c892f8 100644 --- a/vendor/github.com/appc/spec/schema/types/app.go +++ b/vendor/github.com/appc/spec/schema/types/app.go @@ -22,16 +22,18 @@ import ( ) type App struct { - Exec Exec `json:"exec"` - EventHandlers []EventHandler `json:"eventHandlers,omitempty"` - User string `json:"user"` - Group string `json:"group"` - SupplementaryGIDs []int `json:"supplementaryGIDs,omitempty"` - WorkingDirectory string `json:"workingDirectory,omitempty"` - Environment Environment `json:"environment,omitempty"` - MountPoints []MountPoint `json:"mountPoints,omitempty"` - Ports []Port `json:"ports,omitempty"` - Isolators Isolators `json:"isolators,omitempty"` + Exec Exec `json:"exec"` + EventHandlers []EventHandler `json:"eventHandlers,omitempty"` + User string `json:"user"` + Group string `json:"group"` + SupplementaryGIDs []int `json:"supplementaryGIDs,omitempty"` + WorkingDirectory string `json:"workingDirectory,omitempty"` + Environment Environment `json:"environment,omitempty"` + MountPoints []MountPoint `json:"mountPoints,omitempty"` + Ports []Port `json:"ports,omitempty"` + Isolators Isolators `json:"isolators,omitempty"` + UserAnnotations UserAnnotations `json:"userAnnotations,omitempty"` + UserLabels UserLabels `json:"userLabels,omitempty"` } // app is a model to facilitate extra validation during the @@ -86,5 +88,8 @@ func (a *App) assertValid() error { if err := a.Environment.assertValid(); err != nil { return err } + if err := a.Isolators.assertValid(); err != nil { + return err + } return nil } diff --git a/vendor/github.com/appc/spec/schema/types/isolator.go b/vendor/github.com/appc/spec/schema/types/isolator.go index ecdab0088bb..fcd1801e64e 100644 --- a/vendor/github.com/appc/spec/schema/types/isolator.go +++ b/vendor/github.com/appc/spec/schema/types/isolator.go @@ -16,10 +16,19 @@ package types import ( "encoding/json" + "errors" + "fmt" ) var ( isolatorMap map[ACIdentifier]IsolatorValueConstructor + + // ErrIncompatibleIsolator is returned whenever an Isolators set contains + // conflicting IsolatorValue instances + ErrIncompatibleIsolator = errors.New("isolators set contains incompatible types") + // ErrInvalidIsolator is returned upon validation failures due to improper + // or partially constructed Isolator instances (eg. from incomplete direct construction) + ErrInvalidIsolator = errors.New("invalid isolator") ) func init() { @@ -40,6 +49,33 @@ func AddIsolatorName(n ACIdentifier, ns map[ACIdentifier]struct{}) { // and PodManifest schemas. type Isolators []Isolator +// assertValid checks that every single isolator is valid and that +// the whole set is well built +func (isolators Isolators) assertValid() error { + typesMap := make(map[ACIdentifier]bool) + for _, i := range isolators { + v := i.Value() + if v == nil { + return ErrInvalidIsolator + } + if err := v.AssertValid(); err != nil { + return err + } + if _, ok := typesMap[i.Name]; ok { + if !v.multipleAllowed() { + return fmt.Errorf(`isolators set contains too many instances of type %s"`, i.Name) + } + } + for _, c := range v.Conflicts() { + if _, found := typesMap[c]; found { + return ErrIncompatibleIsolator + } + } + typesMap[i.Name] = true + } + return nil +} + // GetByName returns the last isolator in the list by the given name. func (is *Isolators) GetByName(name ACIdentifier) *Isolator { var i Isolator @@ -52,6 +88,22 @@ func (is *Isolators) GetByName(name ACIdentifier) *Isolator { return nil } +// ReplaceIsolatorsByName overrides matching isolator types with a new +// isolator, deleting them all and appending the new one instead +func (is *Isolators) ReplaceIsolatorsByName(newIs Isolator, oldNames []ACIdentifier) { + var i Isolator + for j := len(*is) - 1; j >= 0; j-- { + i = []Isolator(*is)[j] + for _, name := range oldNames { + if i.Name == name { + *is = append((*is)[:j], (*is)[j+1:]...) + } + } + } + *is = append((*is)[:], newIs) + return +} + // Unrecognized returns a set of isolators that are not recognized. // An isolator is not recognized if it has not had an associated // constructor registered with AddIsolatorValueConstructor. @@ -69,8 +121,17 @@ func (is *Isolators) Unrecognized() Isolators { // serialized as any arbitrary JSON blob. Specific Isolator types should // implement this interface to facilitate unmarshalling and validation. type IsolatorValue interface { + // UnmarshalJSON unserialize a JSON-encoded isolator UnmarshalJSON(b []byte) error + // AssertValid returns a non-nil error value if an IsolatorValue is not valid + // according to appc spec AssertValid() error + // Conflicts returns a list of conflicting isolators types, which cannot co-exist + // together with this IsolatorValue + Conflicts() []ACIdentifier + // multipleAllowed specifies whether multiple isolator instances are allowed + // for this isolator type + multipleAllowed() bool } // Isolator is a model for unmarshalling isolator types from their JSON-encoded diff --git a/vendor/github.com/appc/spec/schema/types/isolator_linux_specific.go b/vendor/github.com/appc/spec/schema/types/isolator_linux_specific.go index b390ed9187b..3d5dc9fa285 100644 --- a/vendor/github.com/appc/spec/schema/types/isolator_linux_specific.go +++ b/vendor/github.com/appc/spec/schema/types/isolator_linux_specific.go @@ -17,11 +17,20 @@ package types import ( "encoding/json" "errors" + "fmt" + "strings" + "unicode" ) const ( LinuxCapabilitiesRetainSetName = "os/linux/capabilities-retain-set" LinuxCapabilitiesRevokeSetName = "os/linux/capabilities-remove-set" + LinuxNoNewPrivilegesName = "os/linux/no-new-privileges" + LinuxSeccompRemoveSetName = "os/linux/seccomp-remove-set" + LinuxSeccompRetainSetName = "os/linux/seccomp-retain-set" + LinuxOOMScoreAdjName = "os/linux/oom-score-adj" + LinuxCPUSharesName = "os/linux/cpu-shares" + LinuxSELinuxContextName = "os/linux/selinux-context" ) var LinuxIsolatorNames = make(map[ACIdentifier]struct{}) @@ -30,12 +39,49 @@ func init() { for name, con := range map[ACIdentifier]IsolatorValueConstructor{ LinuxCapabilitiesRevokeSetName: func() IsolatorValue { return &LinuxCapabilitiesRevokeSet{} }, LinuxCapabilitiesRetainSetName: func() IsolatorValue { return &LinuxCapabilitiesRetainSet{} }, + LinuxNoNewPrivilegesName: func() IsolatorValue { v := LinuxNoNewPrivileges(false); return &v }, + LinuxOOMScoreAdjName: func() IsolatorValue { v := LinuxOOMScoreAdj(0); return &v }, + LinuxCPUSharesName: func() IsolatorValue { v := LinuxCPUShares(1024); return &v }, + LinuxSeccompRemoveSetName: func() IsolatorValue { return &LinuxSeccompRemoveSet{} }, + LinuxSeccompRetainSetName: func() IsolatorValue { return &LinuxSeccompRetainSet{} }, + LinuxSELinuxContextName: func() IsolatorValue { return &LinuxSELinuxContext{} }, } { AddIsolatorName(name, LinuxIsolatorNames) AddIsolatorValueConstructor(name, con) } } +type LinuxNoNewPrivileges bool + +func (l LinuxNoNewPrivileges) AssertValid() error { + return nil +} + +// TODO(lucab): both need to be clarified in spec, +// see https://github.com/appc/spec/issues/625 +func (l LinuxNoNewPrivileges) multipleAllowed() bool { + return true +} +func (l LinuxNoNewPrivileges) Conflicts() []ACIdentifier { + return nil +} + +func (l *LinuxNoNewPrivileges) UnmarshalJSON(b []byte) error { + var v bool + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + + *l = LinuxNoNewPrivileges(v) + + return nil +} + +type AsIsolator interface { + AsIsolator() (*Isolator, error) +} + type LinuxCapabilitiesSet interface { Set() []LinuxCapability AssertValid() error @@ -58,6 +104,15 @@ func (l linuxCapabilitiesSetBase) AssertValid() error { return nil } +// TODO(lucab): both need to be clarified in spec, +// see https://github.com/appc/spec/issues/625 +func (l linuxCapabilitiesSetBase) multipleAllowed() bool { + return true +} +func (l linuxCapabilitiesSetBase) Conflicts() []ACIdentifier { + return nil +} + func (l *linuxCapabilitiesSetBase) UnmarshalJSON(b []byte) error { var v linuxCapabilitiesSetValue err := json.Unmarshal(b, &v) @@ -95,17 +150,17 @@ func NewLinuxCapabilitiesRetainSet(caps ...string) (*LinuxCapabilitiesRetainSet, return &l, nil } -func (l LinuxCapabilitiesRetainSet) AsIsolator() Isolator { +func (l LinuxCapabilitiesRetainSet) AsIsolator() (*Isolator, error) { b, err := json.Marshal(l.linuxCapabilitiesSetBase.val) if err != nil { - panic(err) + return nil, err } rm := json.RawMessage(b) - return Isolator{ + return &Isolator{ Name: LinuxCapabilitiesRetainSetName, ValueRaw: &rm, value: &l, - } + }, nil } type LinuxCapabilitiesRevokeSet struct { @@ -129,15 +184,346 @@ func NewLinuxCapabilitiesRevokeSet(caps ...string) (*LinuxCapabilitiesRevokeSet, return &l, nil } -func (l LinuxCapabilitiesRevokeSet) AsIsolator() Isolator { +func (l LinuxCapabilitiesRevokeSet) AsIsolator() (*Isolator, error) { b, err := json.Marshal(l.linuxCapabilitiesSetBase.val) + if err != nil { + return nil, err + } + rm := json.RawMessage(b) + return &Isolator{ + Name: LinuxCapabilitiesRevokeSetName, + ValueRaw: &rm, + value: &l, + }, nil +} + +type LinuxSeccompSet interface { + Set() []LinuxSeccompEntry + Errno() LinuxSeccompErrno + AssertValid() error +} + +type LinuxSeccompEntry string +type LinuxSeccompErrno string + +type linuxSeccompValue struct { + Set []LinuxSeccompEntry `json:"set"` + Errno LinuxSeccompErrno `json:"errno"` +} + +type linuxSeccompBase struct { + val linuxSeccompValue +} + +func (l linuxSeccompBase) multipleAllowed() bool { + return false +} + +func (l linuxSeccompBase) AssertValid() error { + if len(l.val.Set) == 0 { + return errors.New("set must be non-empty") + } + if l.val.Errno == "" { + return nil + } + for _, c := range l.val.Errno { + if !unicode.IsUpper(c) { + return errors.New("errno must be an upper case string") + } + } + return nil +} + +func (l *linuxSeccompBase) UnmarshalJSON(b []byte) error { + var v linuxSeccompValue + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + l.val = v + return nil +} + +func (l linuxSeccompBase) Set() []LinuxSeccompEntry { + return l.val.Set +} + +func (l linuxSeccompBase) Errno() LinuxSeccompErrno { + return l.val.Errno +} + +type LinuxSeccompRetainSet struct { + linuxSeccompBase +} + +func (l LinuxSeccompRetainSet) Conflicts() []ACIdentifier { + return []ACIdentifier{LinuxSeccompRemoveSetName} +} + +func NewLinuxSeccompRetainSet(errno string, syscall ...string) (*LinuxSeccompRetainSet, error) { + l := LinuxSeccompRetainSet{ + linuxSeccompBase{ + linuxSeccompValue{ + make([]LinuxSeccompEntry, len(syscall)), + LinuxSeccompErrno(errno), + }, + }, + } + for i, c := range syscall { + l.linuxSeccompBase.val.Set[i] = LinuxSeccompEntry(c) + } + if err := l.AssertValid(); err != nil { + return nil, err + } + return &l, nil +} + +func (l LinuxSeccompRetainSet) AsIsolator() (*Isolator, error) { + b, err := json.Marshal(l.linuxSeccompBase.val) + if err != nil { + return nil, err + } + rm := json.RawMessage(b) + return &Isolator{ + Name: LinuxSeccompRetainSetName, + ValueRaw: &rm, + value: &l, + }, nil +} + +type LinuxSeccompRemoveSet struct { + linuxSeccompBase +} + +func (l LinuxSeccompRemoveSet) Conflicts() []ACIdentifier { + return []ACIdentifier{LinuxSeccompRetainSetName} +} + +func NewLinuxSeccompRemoveSet(errno string, syscall ...string) (*LinuxSeccompRemoveSet, error) { + l := LinuxSeccompRemoveSet{ + linuxSeccompBase{ + linuxSeccompValue{ + make([]LinuxSeccompEntry, len(syscall)), + LinuxSeccompErrno(errno), + }, + }, + } + for i, c := range syscall { + l.linuxSeccompBase.val.Set[i] = LinuxSeccompEntry(c) + } + if err := l.AssertValid(); err != nil { + return nil, err + } + return &l, nil +} + +func (l LinuxSeccompRemoveSet) AsIsolator() (*Isolator, error) { + b, err := json.Marshal(l.linuxSeccompBase.val) + if err != nil { + return nil, err + } + rm := json.RawMessage(b) + return &Isolator{ + Name: LinuxSeccompRemoveSetName, + ValueRaw: &rm, + value: &l, + }, nil +} + +// LinuxCPUShares assigns the CPU time share weight to the processes executed. +// See https://www.freedesktop.org/software/systemd/man/systemd.resource-control.html#CPUShares=weight, +// https://www.kernel.org/doc/Documentation/scheduler/sched-design-CFS.txt +type LinuxCPUShares int + +func NewLinuxCPUShares(val int) (*LinuxCPUShares, error) { + l := LinuxCPUShares(val) + if err := l.AssertValid(); err != nil { + return nil, err + } + + return &l, nil +} + +func (l LinuxCPUShares) AssertValid() error { + if l < 2 || l > 262144 { + return fmt.Errorf("%s must be between 2 and 262144, got %d", LinuxCPUSharesName, l) + } + return nil +} + +func (l LinuxCPUShares) multipleAllowed() bool { + return false +} + +func (l LinuxCPUShares) Conflicts() []ACIdentifier { + return nil +} + +func (l *LinuxCPUShares) UnmarshalJSON(b []byte) error { + var v int + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + + *l = LinuxCPUShares(v) + return nil +} + +func (l LinuxCPUShares) AsIsolator() Isolator { + b, err := json.Marshal(l) if err != nil { panic(err) } rm := json.RawMessage(b) return Isolator{ - Name: LinuxCapabilitiesRevokeSetName, + Name: LinuxCPUSharesName, ValueRaw: &rm, value: &l, } } + +// LinuxOOMScoreAdj is equivalent to /proc/[pid]/oom_score_adj +type LinuxOOMScoreAdj int // -1000 to 1000 + +func NewLinuxOOMScoreAdj(val int) (*LinuxOOMScoreAdj, error) { + l := LinuxOOMScoreAdj(val) + if err := l.AssertValid(); err != nil { + return nil, err + } + + return &l, nil +} + +func (l LinuxOOMScoreAdj) AssertValid() error { + if l < -1000 || l > 1000 { + return fmt.Errorf("%s must be between -1000 and 1000, got %d", LinuxOOMScoreAdjName, l) + } + return nil +} + +func (l LinuxOOMScoreAdj) multipleAllowed() bool { + return false +} + +func (l LinuxOOMScoreAdj) Conflicts() []ACIdentifier { + return nil +} + +func (l *LinuxOOMScoreAdj) UnmarshalJSON(b []byte) error { + var v int + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + + *l = LinuxOOMScoreAdj(v) + return nil +} + +func (l LinuxOOMScoreAdj) AsIsolator() Isolator { + b, err := json.Marshal(l) + if err != nil { + panic(err) + } + rm := json.RawMessage(b) + return Isolator{ + Name: LinuxOOMScoreAdjName, + ValueRaw: &rm, + value: &l, + } +} + +type LinuxSELinuxUser string +type LinuxSELinuxRole string +type LinuxSELinuxType string +type LinuxSELinuxLevel string + +type linuxSELinuxValue struct { + User LinuxSELinuxUser `json:"user"` + Role LinuxSELinuxRole `json:"role"` + Type LinuxSELinuxType `json:"type"` + Level LinuxSELinuxLevel `json:"level"` +} + +type LinuxSELinuxContext struct { + val linuxSELinuxValue +} + +func (l LinuxSELinuxContext) AssertValid() error { + if l.val.User == "" || strings.Contains(string(l.val.User), ":") { + return fmt.Errorf("invalid user value %q", l.val.User) + } + if l.val.Role == "" || strings.Contains(string(l.val.Role), ":") { + return fmt.Errorf("invalid role value %q", l.val.Role) + } + if l.val.Type == "" || strings.Contains(string(l.val.Type), ":") { + return fmt.Errorf("invalid type value %q", l.val.Type) + } + if l.val.Level == "" { + return fmt.Errorf("invalid level value %q", l.val.Level) + } + return nil +} + +func (l *LinuxSELinuxContext) UnmarshalJSON(b []byte) error { + var v linuxSELinuxValue + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + l.val = v + return nil +} + +func (l LinuxSELinuxContext) User() LinuxSELinuxUser { + return l.val.User +} + +func (l LinuxSELinuxContext) Role() LinuxSELinuxRole { + return l.val.Role +} + +func (l LinuxSELinuxContext) Type() LinuxSELinuxType { + return l.val.Type +} + +func (l LinuxSELinuxContext) Level() LinuxSELinuxLevel { + return l.val.Level +} + +func (l LinuxSELinuxContext) multipleAllowed() bool { + return false +} + +func (l LinuxSELinuxContext) Conflicts() []ACIdentifier { + return nil +} + +func NewLinuxSELinuxContext(selinuxUser, selinuxRole, selinuxType, selinuxLevel string) (*LinuxSELinuxContext, error) { + l := LinuxSELinuxContext{ + linuxSELinuxValue{ + LinuxSELinuxUser(selinuxUser), + LinuxSELinuxRole(selinuxRole), + LinuxSELinuxType(selinuxType), + LinuxSELinuxLevel(selinuxLevel), + }, + } + if err := l.AssertValid(); err != nil { + return nil, err + } + return &l, nil +} + +func (l LinuxSELinuxContext) AsIsolator() (*Isolator, error) { + b, err := json.Marshal(l.val) + if err != nil { + return nil, err + } + rm := json.RawMessage(b) + return &Isolator{ + Name: LinuxSELinuxContextName, + ValueRaw: &rm, + value: &l, + }, nil +} diff --git a/vendor/github.com/appc/spec/schema/types/isolator_resources.go b/vendor/github.com/appc/spec/schema/types/isolator_resources.go index d97827b96f4..2ec250d4f97 100644 --- a/vendor/github.com/appc/spec/schema/types/isolator_resources.go +++ b/vendor/github.com/appc/spec/schema/types/isolator_resources.go @@ -19,7 +19,7 @@ import ( "errors" "fmt" - "k8s.io/kubernetes/pkg/api/resource" + "github.com/appc/spec/schema/types/resource" ) var ( @@ -85,6 +85,15 @@ func (r ResourceBase) AssertValid() error { return nil } +// TODO(lucab): both need to be clarified in spec, +// see https://github.com/appc/spec/issues/625 +func (l ResourceBase) multipleAllowed() bool { + return true +} +func (l ResourceBase) Conflicts() []ACIdentifier { + return nil +} + type ResourceBlockBandwidth struct { ResourceBase } diff --git a/vendor/github.com/appc/spec/schema/types/isolator_unix.go b/vendor/github.com/appc/spec/schema/types/isolator_unix.go new file mode 100644 index 00000000000..ac0111a7deb --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/isolator_unix.go @@ -0,0 +1,83 @@ +// Copyright 2016 The appc Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package types + +import ( + "encoding/json" +) + +var ( + UnixIsolatorNames = make(map[ACIdentifier]struct{}) +) + +const ( + //TODO(lucab): add "ulimit" isolators + UnixSysctlName = "os/unix/sysctl" +) + +func init() { + for name, con := range map[ACIdentifier]IsolatorValueConstructor{ + UnixSysctlName: func() IsolatorValue { return &UnixSysctl{} }, + } { + AddIsolatorName(name, UnixIsolatorNames) + AddIsolatorValueConstructor(name, con) + } +} + +type UnixSysctl map[string]string + +func (s *UnixSysctl) UnmarshalJSON(b []byte) error { + var v map[string]string + err := json.Unmarshal(b, &v) + if err != nil { + return err + } + *s = UnixSysctl(v) + return err +} + +func (s UnixSysctl) AssertValid() error { + return nil +} + +func (s UnixSysctl) multipleAllowed() bool { + return false +} +func (s UnixSysctl) Conflicts() []ACIdentifier { + return nil +} + +func (s UnixSysctl) AsIsolator() Isolator { + isol := isolatorMap[UnixSysctlName]() + + b, err := json.Marshal(s) + if err != nil { + panic(err) + } + valRaw := json.RawMessage(b) + return Isolator{ + Name: UnixSysctlName, + ValueRaw: &valRaw, + value: isol, + } +} + +func NewUnixSysctlIsolator(cfg map[string]string) (*UnixSysctl, error) { + s := UnixSysctl(cfg) + if err := s.AssertValid(); err != nil { + return nil, err + } + return &s, nil +} diff --git a/vendor/github.com/appc/spec/schema/types/labels.go b/vendor/github.com/appc/spec/schema/types/labels.go index ebd2bb1a983..89fa4285d4a 100644 --- a/vendor/github.com/appc/spec/schema/types/labels.go +++ b/vendor/github.com/appc/spec/schema/types/labels.go @@ -21,7 +21,7 @@ import ( ) var ValidOSArch = map[string][]string{ - "linux": {"amd64", "i386", "aarch64", "aarch64_be", "armv6l", "armv7l", "armv7b"}, + "linux": {"amd64", "i386", "aarch64", "aarch64_be", "armv6l", "armv7l", "armv7b", "ppc64", "ppc64le", "s390x"}, "freebsd": {"amd64", "i386", "arm"}, "darwin": {"x86_64", "i386"}, } @@ -35,6 +35,17 @@ type Label struct { Value string `json:"value"` } +// {appc,go}ArchTuple are internal helper types used to translate arch tuple between go and appc +type appcArchTuple struct { + appcOs string + appcArch string +} +type goArchTuple struct { + goOs string + goArch string + goArchFlavor string +} + // IsValidOsArch checks if a OS-architecture combination is valid given a map // of valid OS-architectures func IsValidOSArch(labels map[ACIdentifier]string, validOSArch map[string][]string) error { @@ -132,3 +143,64 @@ func LabelsFromMap(labelsMap map[ACIdentifier]string) (Labels, error) { } return labels, nil } + +// ToAppcOSArch translates a Golang arch tuple (OS, architecture, flavor) into +// an appc arch tuple (OS, architecture) +func ToAppcOSArch(goOs string, goArch string, goArchFlavor string) (appcOs string, appcArch string, e error) { + tabularAppcToGo := map[goArchTuple]appcArchTuple{ + {"linux", "amd64", ""}: {"linux", "amd64"}, + {"linux", "386", ""}: {"linux", "i386"}, + {"linux", "arm64", ""}: {"linux", "aarch64"}, + {"linux", "arm", ""}: {"linux", "armv6l"}, + {"linux", "arm", "6"}: {"linux", "armv6l"}, + {"linux", "arm", "7"}: {"linux", "armv7l"}, + {"linux", "ppc64", ""}: {"linux", "ppc64"}, + {"linux", "ppc64le", ""}: {"linux", "ppc64le"}, + {"linux", "s390x", ""}: {"linux", "s390x"}, + + {"freebsd", "amd64", ""}: {"freebsd", "amd64"}, + {"freebsd", "386", ""}: {"freebsd", "i386"}, + {"freebsd", "arm", ""}: {"freebsd", "arm"}, + {"freebsd", "arm", "5"}: {"freebsd", "arm"}, + {"freebsd", "arm", "6"}: {"freebsd", "arm"}, + {"freebsd", "arm", "7"}: {"freebsd", "arm"}, + + {"darwin", "amd64", ""}: {"darwin", "x86_64"}, + {"darwin", "386", ""}: {"darwin", "i386"}, + } + archTuple, ok := tabularAppcToGo[goArchTuple{goOs, goArch, goArchFlavor}] + if !ok { + return "", "", fmt.Errorf("unknown arch tuple: %q - %q - %q", goOs, goArch, goArchFlavor) + } + return archTuple.appcOs, archTuple.appcArch, nil +} + +// ToGoOSArch translates an appc arch tuple (OS, architecture) into +// a Golang arch tuple (OS, architecture, flavor) +func ToGoOSArch(appcOs string, appcArch string) (goOs string, goArch string, goArchFlavor string, e error) { + tabularGoToAppc := map[appcArchTuple]goArchTuple{ + // {"linux", "aarch64_be"}: nil, + // {"linux", "armv7b"}: nil, + {"linux", "aarch64"}: {"linux", "arm64", ""}, + {"linux", "amd64"}: {"linux", "amd64", ""}, + {"linux", "armv6l"}: {"linux", "arm", "6"}, + {"linux", "armv7l"}: {"linux", "arm", "7"}, + {"linux", "i386"}: {"linux", "386", ""}, + {"linux", "ppc64"}: {"linux", "ppc64", ""}, + {"linux", "ppc64le"}: {"linux", "ppc64le", ""}, + {"linux", "s390x"}: {"linux", "s390x", ""}, + + {"freebsd", "amd64"}: {"freebsd", "amd64", ""}, + {"freebsd", "arm"}: {"freebsd", "arm", "6"}, + {"freebsd", "386"}: {"freebsd", "i386", ""}, + + {"darwin", "amd64"}: {"darwin", "x86_64", ""}, + {"darwin", "386"}: {"darwin", "i386", ""}, + } + + archTuple, ok := tabularGoToAppc[appcArchTuple{appcOs, appcArch}] + if !ok { + return "", "", "", fmt.Errorf("unknown arch tuple: %q - %q", appcOs, appcArch) + } + return archTuple.goOs, archTuple.goArch, archTuple.goArchFlavor, nil +} diff --git a/vendor/github.com/appc/spec/schema/types/mountpoint.go b/vendor/github.com/appc/spec/schema/types/mountpoint.go index 80eab945638..9d4e52b3d0d 100644 --- a/vendor/github.com/appc/spec/schema/types/mountpoint.go +++ b/vendor/github.com/appc/spec/schema/types/mountpoint.go @@ -23,6 +23,7 @@ import ( "github.com/appc/spec/schema/common" ) +// MountPoint is the application-side manifestation of a Volume. type MountPoint struct { Name ACName `json:"name"` Path string `json:"path"` diff --git a/vendor/github.com/appc/spec/schema/types/port.go b/vendor/github.com/appc/spec/schema/types/port.go index 78d6de4ce18..2d54515037a 100644 --- a/vendor/github.com/appc/spec/schema/types/port.go +++ b/vendor/github.com/appc/spec/schema/types/port.go @@ -18,12 +18,15 @@ import ( "encoding/json" "errors" "fmt" + "net" "net/url" "strconv" "github.com/appc/spec/schema/common" ) +// Port represents a port as offered by an application *inside* +// the pod. type Port struct { Name ACName `json:"name"` Protocol string `json:"protocol"` @@ -32,9 +35,14 @@ type Port struct { SocketActivated bool `json:"socketActivated"` } +// ExposedPort represents a port listening on the host side. +// The PodPort is optional -- if missing, then try and find the pod-side +// information by matching names type ExposedPort struct { Name ACName `json:"name"` HostPort uint `json:"hostPort"` + HostIP net.IP `json:"hostIP,omitempty"` // optional + PodPort *Port `json:"podPort,omitempty"` // optional. If missing, try and find a corresponding App's port } type port Port diff --git a/vendor/github.com/appc/spec/schema/types/resource/README.md b/vendor/github.com/appc/spec/schema/types/resource/README.md new file mode 100644 index 00000000000..b3c16d25127 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/README.md @@ -0,0 +1,4 @@ +This package was copied in from the Kubernetes repo to avoid a cyclic +dependency. These files were taken from master from +github.com/kubernetes/kubernetes at commit hash +b0deb2eb8f4037421077f77cb163dbb4c0a2a9f5. diff --git a/vendor/github.com/appc/spec/schema/types/resource/amount.go b/vendor/github.com/appc/spec/schema/types/resource/amount.go new file mode 100644 index 00000000000..6ae823a0229 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/amount.go @@ -0,0 +1,298 @@ +/* +Copyright 2014 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package resource + +import ( + "math/big" + "strconv" + + inf "gopkg.in/inf.v0" +) + +// Scale is used for getting and setting the base-10 scaled value. +// Base-2 scales are omitted for mathematical simplicity. +// See Quantity.ScaledValue for more details. +type Scale int32 + +// infScale adapts a Scale value to an inf.Scale value. +func (s Scale) infScale() inf.Scale { + return inf.Scale(-s) // inf.Scale is upside-down +} + +const ( + Nano Scale = -9 + Micro Scale = -6 + Milli Scale = -3 + Kilo Scale = 3 + Mega Scale = 6 + Giga Scale = 9 + Tera Scale = 12 + Peta Scale = 15 + Exa Scale = 18 +) + +var ( + Zero = int64Amount{} + + // Used by quantity strings - treat as read only + zeroBytes = []byte("0") +) + +// int64Amount represents a fixed precision numerator and arbitrary scale exponent. It is faster +// than operations on inf.Dec for values that can be represented as int64. +type int64Amount struct { + value int64 + scale Scale +} + +// Sign returns 0 if the value is zero, -1 if it is less than 0, or 1 if it is greater than 0. +func (a int64Amount) Sign() int { + switch { + case a.value == 0: + return 0 + case a.value > 0: + return 1 + default: + return -1 + } +} + +// AsInt64 returns the current amount as an int64 at scale 0, or false if the value cannot be +// represented in an int64 OR would result in a loss of precision. This method is intended as +// an optimization to avoid calling AsDec. +func (a int64Amount) AsInt64() (int64, bool) { + if a.scale == 0 { + return a.value, true + } + if a.scale < 0 { + // TODO: attempt to reduce factors, although it is assumed that factors are reduced prior + // to the int64Amount being created. + return 0, false + } + return positiveScaleInt64(a.value, a.scale) +} + +// AsScaledInt64 returns an int64 representing the value of this amount at the specified scale, +// rounding up, or false if that would result in overflow. (1e20).AsScaledInt64(1) would result +// in overflow because 1e19 is not representable as an int64. Note that setting a scale larger +// than the current value may result in loss of precision - i.e. (1e-6).AsScaledInt64(0) would +// return 1, because 0.000001 is rounded up to 1. +func (a int64Amount) AsScaledInt64(scale Scale) (result int64, ok bool) { + if a.scale < scale { + result, _ = negativeScaleInt64(a.value, scale-a.scale) + return result, true + } + return positiveScaleInt64(a.value, a.scale-scale) +} + +// AsDec returns an inf.Dec representation of this value. +func (a int64Amount) AsDec() *inf.Dec { + var base inf.Dec + base.SetUnscaled(a.value) + base.SetScale(inf.Scale(-a.scale)) + return &base +} + +// Cmp returns 0 if a and b are equal, 1 if a is greater than b, or -1 if a is less than b. +func (a int64Amount) Cmp(b int64Amount) int { + switch { + case a.scale == b.scale: + // compare only the unscaled portion + case a.scale > b.scale: + result, remainder, exact := divideByScaleInt64(b.value, a.scale-b.scale) + if !exact { + return a.AsDec().Cmp(b.AsDec()) + } + if result == a.value { + switch { + case remainder == 0: + return 0 + case remainder > 0: + return -1 + default: + return 1 + } + } + b.value = result + default: + result, remainder, exact := divideByScaleInt64(a.value, b.scale-a.scale) + if !exact { + return a.AsDec().Cmp(b.AsDec()) + } + if result == b.value { + switch { + case remainder == 0: + return 0 + case remainder > 0: + return 1 + default: + return -1 + } + } + a.value = result + } + + switch { + case a.value == b.value: + return 0 + case a.value < b.value: + return -1 + default: + return 1 + } +} + +// Add adds two int64Amounts together, matching scales. It will return false and not mutate +// a if overflow or underflow would result. +func (a *int64Amount) Add(b int64Amount) bool { + switch { + case b.value == 0: + return true + case a.value == 0: + a.value = b.value + a.scale = b.scale + return true + case a.scale == b.scale: + c, ok := int64Add(a.value, b.value) + if !ok { + return false + } + a.value = c + case a.scale > b.scale: + c, ok := positiveScaleInt64(a.value, a.scale-b.scale) + if !ok { + return false + } + c, ok = int64Add(c, b.value) + if !ok { + return false + } + a.scale = b.scale + a.value = c + default: + c, ok := positiveScaleInt64(b.value, b.scale-a.scale) + if !ok { + return false + } + c, ok = int64Add(a.value, c) + if !ok { + return false + } + a.value = c + } + return true +} + +// Sub removes the value of b from the current amount, or returns false if underflow would result. +func (a *int64Amount) Sub(b int64Amount) bool { + return a.Add(int64Amount{value: -b.value, scale: b.scale}) +} + +// AsScale adjusts this amount to set a minimum scale, rounding up, and returns true iff no precision +// was lost. (1.1e5).AsScale(5) would return 1.1e5, but (1.1e5).AsScale(6) would return 1e6. +func (a int64Amount) AsScale(scale Scale) (int64Amount, bool) { + if a.scale >= scale { + return a, true + } + result, exact := negativeScaleInt64(a.value, scale-a.scale) + return int64Amount{value: result, scale: scale}, exact +} + +// AsCanonicalBytes accepts a buffer to write the base-10 string value of this field to, and returns +// either that buffer or a larger buffer and the current exponent of the value. The value is adjusted +// until the exponent is a multiple of 3 - i.e. 1.1e5 would return "110", 3. +func (a int64Amount) AsCanonicalBytes(out []byte) (result []byte, exponent int32) { + mantissa := a.value + exponent = int32(a.scale) + + amount, times := removeInt64Factors(mantissa, 10) + exponent += int32(times) + + // make sure exponent is a multiple of 3 + var ok bool + switch exponent % 3 { + case 1, -2: + amount, ok = int64MultiplyScale10(amount) + if !ok { + return infDecAmount{a.AsDec()}.AsCanonicalBytes(out) + } + exponent = exponent - 1 + case 2, -1: + amount, ok = int64MultiplyScale100(amount) + if !ok { + return infDecAmount{a.AsDec()}.AsCanonicalBytes(out) + } + exponent = exponent - 2 + } + return strconv.AppendInt(out, amount, 10), exponent +} + +// AsCanonicalBase1024Bytes accepts a buffer to write the base-1024 string value of this field to, and returns +// either that buffer or a larger buffer and the current exponent of the value. 2048 is 2 * 1024 ^ 1 and would +// return []byte("2048"), 1. +func (a int64Amount) AsCanonicalBase1024Bytes(out []byte) (result []byte, exponent int32) { + value, ok := a.AsScaledInt64(0) + if !ok { + return infDecAmount{a.AsDec()}.AsCanonicalBase1024Bytes(out) + } + amount, exponent := removeInt64Factors(value, 1024) + return strconv.AppendInt(out, amount, 10), exponent +} + +// infDecAmount implements common operations over an inf.Dec that are specific to the quantity +// representation. +type infDecAmount struct { + *inf.Dec +} + +// AsScale adjusts this amount to set a minimum scale, rounding up, and returns true iff no precision +// was lost. (1.1e5).AsScale(5) would return 1.1e5, but (1.1e5).AsScale(6) would return 1e6. +func (a infDecAmount) AsScale(scale Scale) (infDecAmount, bool) { + tmp := &inf.Dec{} + tmp.Round(a.Dec, scale.infScale(), inf.RoundUp) + return infDecAmount{tmp}, tmp.Cmp(a.Dec) == 0 +} + +// AsCanonicalBytes accepts a buffer to write the base-10 string value of this field to, and returns +// either that buffer or a larger buffer and the current exponent of the value. The value is adjusted +// until the exponent is a multiple of 3 - i.e. 1.1e5 would return "110", 3. +func (a infDecAmount) AsCanonicalBytes(out []byte) (result []byte, exponent int32) { + mantissa := a.Dec.UnscaledBig() + exponent = int32(-a.Dec.Scale()) + amount := big.NewInt(0).Set(mantissa) + // move all factors of 10 into the exponent for easy reasoning + amount, times := removeBigIntFactors(amount, bigTen) + exponent += times + + // make sure exponent is a multiple of 3 + for exponent%3 != 0 { + amount.Mul(amount, bigTen) + exponent-- + } + + return append(out, amount.String()...), exponent +} + +// AsCanonicalBase1024Bytes accepts a buffer to write the base-1024 string value of this field to, and returns +// either that buffer or a larger buffer and the current exponent of the value. 2048 is 2 * 1024 ^ 1 and would +// return []byte("2048"), 1. +func (a infDecAmount) AsCanonicalBase1024Bytes(out []byte) (result []byte, exponent int32) { + tmp := &inf.Dec{} + tmp.Round(a.Dec, 0, inf.RoundUp) + amount, exponent := removeBigIntFactors(tmp.UnscaledBig(), big1024) + return append(out, amount.String()...), exponent +} diff --git a/vendor/github.com/appc/spec/schema/types/resource/math.go b/vendor/github.com/appc/spec/schema/types/resource/math.go new file mode 100644 index 00000000000..163aafa5db6 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/math.go @@ -0,0 +1,327 @@ +/* +Copyright 2014 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package resource + +import ( + "math/big" + + inf "gopkg.in/inf.v0" +) + +const ( + // maxInt64Factors is the highest value that will be checked when removing factors of 10 from an int64. + // It is also the maximum decimal digits that can be represented with an int64. + maxInt64Factors = 18 +) + +var ( + // Commonly needed big.Int values-- treat as read only! + bigTen = big.NewInt(10) + bigZero = big.NewInt(0) + bigOne = big.NewInt(1) + bigThousand = big.NewInt(1000) + big1024 = big.NewInt(1024) + + // Commonly needed inf.Dec values-- treat as read only! + decZero = inf.NewDec(0, 0) + decOne = inf.NewDec(1, 0) + decMinusOne = inf.NewDec(-1, 0) + decThousand = inf.NewDec(1000, 0) + dec1024 = inf.NewDec(1024, 0) + decMinus1024 = inf.NewDec(-1024, 0) + + // Largest (in magnitude) number allowed. + maxAllowed = infDecAmount{inf.NewDec((1<<63)-1, 0)} // == max int64 + + // The maximum value we can represent milli-units for. + // Compare with the return value of Quantity.Value() to + // see if it's safe to use Quantity.MilliValue(). + MaxMilliValue = int64(((1 << 63) - 1) / 1000) +) + +const mostNegative = -(mostPositive + 1) +const mostPositive = 1<<63 - 1 + +// int64Add returns a+b, or false if that would overflow int64. +func int64Add(a, b int64) (int64, bool) { + c := a + b + switch { + case a > 0 && b > 0: + if c < 0 { + return 0, false + } + case a < 0 && b < 0: + if c > 0 { + return 0, false + } + if a == mostNegative && b == mostNegative { + return 0, false + } + } + return c, true +} + +// int64Multiply returns a*b, or false if that would overflow or underflow int64. +func int64Multiply(a, b int64) (int64, bool) { + if a == 0 || b == 0 || a == 1 || b == 1 { + return a * b, true + } + if a == mostNegative || b == mostNegative { + return 0, false + } + c := a * b + return c, c/b == a +} + +// int64MultiplyScale returns a*b, assuming b is greater than one, or false if that would overflow or underflow int64. +// Use when b is known to be greater than one. +func int64MultiplyScale(a int64, b int64) (int64, bool) { + if a == 0 || a == 1 { + return a * b, true + } + if a == mostNegative && b != 1 { + return 0, false + } + c := a * b + return c, c/b == a +} + +// int64MultiplyScale10 multiplies a by 10, or returns false if that would overflow. This method is faster than +// int64Multiply(a, 10) because the compiler can optimize constant factor multiplication. +func int64MultiplyScale10(a int64) (int64, bool) { + if a == 0 || a == 1 { + return a * 10, true + } + if a == mostNegative { + return 0, false + } + c := a * 10 + return c, c/10 == a +} + +// int64MultiplyScale100 multiplies a by 100, or returns false if that would overflow. This method is faster than +// int64Multiply(a, 100) because the compiler can optimize constant factor multiplication. +func int64MultiplyScale100(a int64) (int64, bool) { + if a == 0 || a == 1 { + return a * 100, true + } + if a == mostNegative { + return 0, false + } + c := a * 100 + return c, c/100 == a +} + +// int64MultiplyScale1000 multiplies a by 1000, or returns false if that would overflow. This method is faster than +// int64Multiply(a, 1000) because the compiler can optimize constant factor multiplication. +func int64MultiplyScale1000(a int64) (int64, bool) { + if a == 0 || a == 1 { + return a * 1000, true + } + if a == mostNegative { + return 0, false + } + c := a * 1000 + return c, c/1000 == a +} + +// positiveScaleInt64 multiplies base by 10^scale, returning false if the +// value overflows. Passing a negative scale is undefined. +func positiveScaleInt64(base int64, scale Scale) (int64, bool) { + switch scale { + case 0: + return base, true + case 1: + return int64MultiplyScale10(base) + case 2: + return int64MultiplyScale100(base) + case 3: + return int64MultiplyScale1000(base) + case 6: + return int64MultiplyScale(base, 1000000) + case 9: + return int64MultiplyScale(base, 1000000000) + default: + value := base + var ok bool + for i := Scale(0); i < scale; i++ { + if value, ok = int64MultiplyScale(value, 10); !ok { + return 0, false + } + } + return value, true + } +} + +// negativeScaleInt64 reduces base by the provided scale, rounding up, until the +// value is zero or the scale is reached. Passing a negative scale is undefined. +// The value returned, if not exact, is rounded away from zero. +func negativeScaleInt64(base int64, scale Scale) (result int64, exact bool) { + if scale == 0 { + return base, true + } + + value := base + var fraction bool + for i := Scale(0); i < scale; i++ { + if !fraction && value%10 != 0 { + fraction = true + } + value = value / 10 + if value == 0 { + if fraction { + if base > 0 { + return 1, false + } + return -1, false + } + return 0, true + } + } + if fraction { + if base > 0 { + value += 1 + } else { + value += -1 + } + } + return value, !fraction +} + +func pow10Int64(b int64) int64 { + switch b { + case 0: + return 1 + case 1: + return 10 + case 2: + return 100 + case 3: + return 1000 + case 4: + return 10000 + case 5: + return 100000 + case 6: + return 1000000 + case 7: + return 10000000 + case 8: + return 100000000 + case 9: + return 1000000000 + case 10: + return 10000000000 + case 11: + return 100000000000 + case 12: + return 1000000000000 + case 13: + return 10000000000000 + case 14: + return 100000000000000 + case 15: + return 1000000000000000 + case 16: + return 10000000000000000 + case 17: + return 100000000000000000 + case 18: + return 1000000000000000000 + default: + return 0 + } +} + +// powInt64 raises a to the bth power. Is not overflow aware. +func powInt64(a, b int64) int64 { + p := int64(1) + for b > 0 { + if b&1 != 0 { + p *= a + } + b >>= 1 + a *= a + } + return p +} + +// negativeScaleInt64 returns the result of dividing base by scale * 10 and the remainder, or +// false if no such division is possible. Dividing by negative scales is undefined. +func divideByScaleInt64(base int64, scale Scale) (result, remainder int64, exact bool) { + if scale == 0 { + return base, 0, true + } + // the max scale representable in base 10 in an int64 is 18 decimal places + if scale >= 18 { + return 0, base, false + } + divisor := pow10Int64(int64(scale)) + return base / divisor, base % divisor, true +} + +// removeInt64Factors divides in a loop; the return values have the property that +// value == result * base ^ scale +func removeInt64Factors(value int64, base int64) (result int64, times int32) { + times = 0 + result = value + negative := result < 0 + if negative { + result = -result + } + switch base { + // allow the compiler to optimize the common cases + case 10: + for result >= 10 && result%10 == 0 { + times++ + result = result / 10 + } + // allow the compiler to optimize the common cases + case 1024: + for result >= 1024 && result%1024 == 0 { + times++ + result = result / 1024 + } + default: + for result >= base && result%base == 0 { + times++ + result = result / base + } + } + if negative { + result = -result + } + return result, times +} + +// removeBigIntFactors divides in a loop; the return values have the property that +// d == result * factor ^ times +// d may be modified in place. +// If d == 0, then the return values will be (0, 0) +func removeBigIntFactors(d, factor *big.Int) (result *big.Int, times int32) { + q := big.NewInt(0) + m := big.NewInt(0) + for d.Cmp(bigZero) != 0 { + q.DivMod(d, factor, m) + if m.Cmp(bigZero) != 0 { + break + } + times++ + d, q = q, d + } + return d, times +} diff --git a/vendor/github.com/appc/spec/schema/types/resource/quantity.go b/vendor/github.com/appc/spec/schema/types/resource/quantity.go new file mode 100644 index 00000000000..96877b4c946 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/quantity.go @@ -0,0 +1,768 @@ +/* +Copyright 2014 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package resource + +import ( + "bytes" + "errors" + "fmt" + "math/big" + "regexp" + "strconv" + "strings" + + flag "github.com/spf13/pflag" + + inf "gopkg.in/inf.v0" +) + +// Quantity is a fixed-point representation of a number. +// It provides convenient marshaling/unmarshaling in JSON and YAML, +// in addition to String() and Int64() accessors. +// +// The serialization format is: +// +// ::= +// (Note that may be empty, from the "" case in .) +// ::= 0 | 1 | ... | 9 +// ::= | +// ::= | . | . | . +// ::= "+" | "-" +// ::= | +// ::= | | +// ::= Ki | Mi | Gi | Ti | Pi | Ei +// (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) +// ::= m | "" | k | M | G | T | P | E +// (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) +// ::= "e" | "E" +// +// No matter which of the three exponent forms is used, no quantity may represent +// a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal +// places. Numbers larger or more precise will be capped or rounded up. +// (E.g.: 0.1m will rounded up to 1m.) +// This may be extended in the future if we require larger or smaller quantities. +// +// When a Quantity is parsed from a string, it will remember the type of suffix +// it had, and will use the same type again when it is serialized. +// +// Before serializing, Quantity will be put in "canonical form". +// This means that Exponent/suffix will be adjusted up or down (with a +// corresponding increase or decrease in Mantissa) such that: +// a. No precision is lost +// b. No fractional digits will be emitted +// c. The exponent (or suffix) is as large as possible. +// The sign will be omitted unless the number is negative. +// +// Examples: +// 1.5 will be serialized as "1500m" +// 1.5Gi will be serialized as "1536Mi" +// +// NOTE: We reserve the right to amend this canonical format, perhaps to +// allow 1.5 to be canonical. +// TODO: Remove above disclaimer after all bikeshedding about format is over, +// or after March 2015. +// +// Note that the quantity will NEVER be internally represented by a +// floating point number. That is the whole point of this exercise. +// +// Non-canonical values will still parse as long as they are well formed, +// but will be re-emitted in their canonical form. (So always use canonical +// form, or don't diff.) +// +// This format is intended to make it difficult to use these numbers without +// writing some sort of special handling code in the hopes that that will +// cause implementors to also use a fixed point implementation. +// +// +gencopy=false +// +protobuf=true +// +protobuf.embed=string +// +protobuf.options.marshal=false +// +protobuf.options.(gogoproto.goproto_stringer)=false +type Quantity struct { + // i is the quantity in int64 scaled form, if d.Dec == nil + i int64Amount + // d is the quantity in inf.Dec form if d.Dec != nil + d infDecAmount + // s is the generated value of this quantity to avoid recalculation + s string + + // Change Format at will. See the comment for Canonicalize for + // more details. + Format +} + +// CanonicalValue allows a quantity amount to be converted to a string. +type CanonicalValue interface { + // AsCanonicalBytes returns a byte array representing the string representation + // of the value mantissa and an int32 representing its exponent in base-10. Callers may + // pass a byte slice to the method to avoid allocations. + AsCanonicalBytes(out []byte) ([]byte, int32) + // AsCanonicalBase1024Bytes returns a byte array representing the string representation + // of the value mantissa and an int32 representing its exponent in base-1024. Callers + // may pass a byte slice to the method to avoid allocations. + AsCanonicalBase1024Bytes(out []byte) ([]byte, int32) +} + +// Format lists the three possible formattings of a quantity. +type Format string + +const ( + DecimalExponent = Format("DecimalExponent") // e.g., 12e6 + BinarySI = Format("BinarySI") // e.g., 12Mi (12 * 2^20) + DecimalSI = Format("DecimalSI") // e.g., 12M (12 * 10^6) +) + +// MustParse turns the given string into a quantity or panics; for tests +// or others cases where you know the string is valid. +func MustParse(str string) Quantity { + q, err := ParseQuantity(str) + if err != nil { + panic(fmt.Errorf("cannot parse '%v': %v", str, err)) + } + return q +} + +const ( + // splitREString is used to separate a number from its suffix; as such, + // this is overly permissive, but that's OK-- it will be checked later. + splitREString = "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$" +) + +var ( + // splitRE is used to get the various parts of a number. + splitRE = regexp.MustCompile(splitREString) + + // Errors that could happen while parsing a string. + ErrFormatWrong = errors.New("quantities must match the regular expression '" + splitREString + "'") + ErrNumeric = errors.New("unable to parse numeric part of quantity") + ErrSuffix = errors.New("unable to parse quantity's suffix") +) + +// parseQuantityString is a fast scanner for quantity values. +func parseQuantityString(str string) (positive bool, value, num, denom, suffix string, err error) { + positive = true + pos := 0 + end := len(str) + + // handle leading sign + if pos < end { + switch str[0] { + case '-': + positive = false + pos++ + case '+': + pos++ + } + } + + // strip leading zeros +Zeroes: + for i := pos; ; i++ { + if i >= end { + num = "0" + value = num + return + } + switch str[i] { + case '0': + pos++ + default: + break Zeroes + } + } + + // extract the numerator +Num: + for i := pos; ; i++ { + if i >= end { + num = str[pos:end] + value = str[0:end] + return + } + switch str[i] { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + default: + num = str[pos:i] + pos = i + break Num + } + } + + // if we stripped all numerator positions, always return 0 + if len(num) == 0 { + num = "0" + } + + // handle a denominator + if pos < end && str[pos] == '.' { + pos++ + Denom: + for i := pos; ; i++ { + if i >= end { + denom = str[pos:end] + value = str[0:end] + return + } + switch str[i] { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + default: + denom = str[pos:i] + pos = i + break Denom + } + } + // TODO: we currently allow 1.G, but we may not want to in the future. + // if len(denom) == 0 { + // err = ErrFormatWrong + // return + // } + } + value = str[0:pos] + + // grab the elements of the suffix + suffixStart := pos + for i := pos; ; i++ { + if i >= end { + suffix = str[suffixStart:end] + return + } + if !strings.ContainsAny(str[i:i+1], "eEinumkKMGTP") { + pos = i + break + } + } + if pos < end { + switch str[pos] { + case '-', '+': + pos++ + } + } +Suffix: + for i := pos; ; i++ { + if i >= end { + suffix = str[suffixStart:end] + return + } + switch str[i] { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + default: + break Suffix + } + } + // we encountered a non decimal in the Suffix loop, but the last character + // was not a valid exponent + err = ErrFormatWrong + return +} + +// ParseQuantity turns str into a Quantity, or returns an error. +func ParseQuantity(str string) (Quantity, error) { + if len(str) == 0 { + return Quantity{}, ErrFormatWrong + } + if str == "0" { + return Quantity{Format: DecimalSI, s: str}, nil + } + + positive, value, num, denom, suf, err := parseQuantityString(str) + if err != nil { + return Quantity{}, err + } + + base, exponent, format, ok := quantitySuffixer.interpret(suffix(suf)) + if !ok { + return Quantity{}, ErrSuffix + } + + precision := int32(0) + scale := int32(0) + mantissa := int64(1) + switch format { + case DecimalExponent, DecimalSI: + scale = exponent + precision = maxInt64Factors - int32(len(num)+len(denom)) + case BinarySI: + scale = 0 + switch { + case exponent >= 0 && len(denom) == 0: + // only handle positive binary numbers with the fast path + mantissa = int64(int64(mantissa) << uint64(exponent)) + // 1Mi (2^20) has ~6 digits of decimal precision, so exponent*3/10 -1 is roughly the precision + precision = 15 - int32(len(num)) - int32(float32(exponent)*3/10) - 1 + default: + precision = -1 + } + } + + if precision >= 0 { + // if we have a denominator, shift the entire value to the left by the number of places in the + // denominator + scale -= int32(len(denom)) + if scale >= int32(Nano) { + shifted := num + denom + + var value int64 + value, err := strconv.ParseInt(shifted, 10, 64) + if err != nil { + return Quantity{}, ErrNumeric + } + if result, ok := int64Multiply(value, int64(mantissa)); ok { + if !positive { + result = -result + } + // if the number is in canonical form, reuse the string + switch format { + case BinarySI: + if exponent%10 == 0 && (value&0x07 != 0) { + return Quantity{i: int64Amount{value: result, scale: Scale(scale)}, Format: format, s: str}, nil + } + default: + if scale%3 == 0 && !strings.HasSuffix(shifted, "000") && shifted[0] != '0' { + return Quantity{i: int64Amount{value: result, scale: Scale(scale)}, Format: format, s: str}, nil + } + } + return Quantity{i: int64Amount{value: result, scale: Scale(scale)}, Format: format}, nil + } + } + } + + amount := new(inf.Dec) + if _, ok := amount.SetString(value); !ok { + return Quantity{}, ErrNumeric + } + + // So that no one but us has to think about suffixes, remove it. + if base == 10 { + amount.SetScale(amount.Scale() + Scale(exponent).infScale()) + } else if base == 2 { + // numericSuffix = 2 ** exponent + numericSuffix := big.NewInt(1).Lsh(bigOne, uint(exponent)) + ub := amount.UnscaledBig() + amount.SetUnscaledBig(ub.Mul(ub, numericSuffix)) + } + + // Cap at min/max bounds. + sign := amount.Sign() + if sign == -1 { + amount.Neg(amount) + } + + // This rounds non-zero values up to the minimum representable value, under the theory that + // if you want some resources, you should get some resources, even if you asked for way too small + // of an amount. Arguably, this should be inf.RoundHalfUp (normal rounding), but that would have + // the side effect of rounding values < .5n to zero. + if v, ok := amount.Unscaled(); v != int64(0) || !ok { + amount.Round(amount, Nano.infScale(), inf.RoundUp) + } + + // The max is just a simple cap. + // TODO: this prevents accumulating quantities greater than int64, for instance quota across a cluster + if format == BinarySI && amount.Cmp(maxAllowed.Dec) > 0 { + amount.Set(maxAllowed.Dec) + } + + if format == BinarySI && amount.Cmp(decOne) < 0 && amount.Cmp(decZero) > 0 { + // This avoids rounding and hopefully confusion, too. + format = DecimalSI + } + if sign == -1 { + amount.Neg(amount) + } + + return Quantity{d: infDecAmount{amount}, Format: format}, nil +} + +// CanonicalizeBytes returns the canonical form of q and its suffix (see comment on Quantity). +// +// Note about BinarySI: +// * If q.Format is set to BinarySI and q.Amount represents a non-zero value between +// -1 and +1, it will be emitted as if q.Format were DecimalSI. +// * Otherwise, if q.Format is set to BinarySI, frational parts of q.Amount will be +// rounded up. (1.1i becomes 2i.) +func (q *Quantity) CanonicalizeBytes(out []byte) (result, suffix []byte) { + if q.IsZero() { + return zeroBytes, nil + } + + var rounded CanonicalValue + format := q.Format + switch format { + case DecimalExponent, DecimalSI: + case BinarySI: + if q.CmpInt64(-1024) > 0 && q.CmpInt64(1024) < 0 { + // This avoids rounding and hopefully confusion, too. + format = DecimalSI + } else { + var exact bool + if rounded, exact = q.AsScale(0); !exact { + // Don't lose precision-- show as DecimalSI + format = DecimalSI + } + } + default: + format = DecimalExponent + } + + // TODO: If BinarySI formatting is requested but would cause rounding, upgrade to + // one of the other formats. + switch format { + case DecimalExponent, DecimalSI: + number, exponent := q.AsCanonicalBytes(out) + suffix, _ := quantitySuffixer.constructBytes(10, exponent, format) + return number, suffix + default: + // format must be BinarySI + number, exponent := rounded.AsCanonicalBase1024Bytes(out) + suffix, _ := quantitySuffixer.constructBytes(2, exponent*10, format) + return number, suffix + } +} + +// AsInt64 returns a representation of the current value as an int64 if a fast conversion +// is possible. If false is returned, callers must use the inf.Dec form of this quantity. +func (q *Quantity) AsInt64() (int64, bool) { + if q.d.Dec != nil { + return 0, false + } + return q.i.AsInt64() +} + +// ToDec promotes the quantity in place to use an inf.Dec representation and returns itself. +func (q *Quantity) ToDec() *Quantity { + if q.d.Dec == nil { + q.d.Dec = q.i.AsDec() + q.i = int64Amount{} + } + return q +} + +// AsDec returns the quantity as represented by a scaled inf.Dec. +func (q *Quantity) AsDec() *inf.Dec { + if q.d.Dec != nil { + return q.d.Dec + } + q.d.Dec = q.i.AsDec() + q.i = int64Amount{} + return q.d.Dec +} + +// AsCanonicalBytes returns the canonical byte representation of this quantity as a mantissa +// and base 10 exponent. The out byte slice may be passed to the method to avoid an extra +// allocation. +func (q *Quantity) AsCanonicalBytes(out []byte) (result []byte, exponent int32) { + if q.d.Dec != nil { + return q.d.AsCanonicalBytes(out) + } + return q.i.AsCanonicalBytes(out) +} + +// IsZero returns true if the quantity is equal to zero. +func (q *Quantity) IsZero() bool { + if q.d.Dec != nil { + return q.d.Dec.Sign() == 0 + } + return q.i.value == 0 +} + +// Sign returns 0 if the quantity is zero, -1 if the quantity is less than zero, or 1 if the +// quantity is greater than zero. +func (q *Quantity) Sign() int { + if q.d.Dec != nil { + return q.d.Dec.Sign() + } + return q.i.Sign() +} + +// AsScaled returns the current value, rounded up to the provided scale, and returns +// false if the scale resulted in a loss of precision. +func (q *Quantity) AsScale(scale Scale) (CanonicalValue, bool) { + if q.d.Dec != nil { + return q.d.AsScale(scale) + } + return q.i.AsScale(scale) +} + +// RoundUp updates the quantity to the provided scale, ensuring that the value is at +// least 1. False is returned if the rounding operation resulted in a loss of precision. +// Negative numbers are rounded away from zero (-9 scale 1 rounds to -10). +func (q *Quantity) RoundUp(scale Scale) bool { + if q.d.Dec != nil { + q.s = "" + d, exact := q.d.AsScale(scale) + q.d = d + return exact + } + // avoid clearing the string value if we have already calculated it + if q.i.scale >= scale { + return true + } + q.s = "" + i, exact := q.i.AsScale(scale) + q.i = i + return exact +} + +// Add adds the provide y quantity to the current value. If the current value is zero, +// the format of the quantity will be updated to the format of y. +func (q *Quantity) Add(y Quantity) { + q.s = "" + if q.d.Dec == nil && y.d.Dec == nil { + if q.i.value == 0 { + q.Format = y.Format + } + if q.i.Add(y.i) { + return + } + } else if q.IsZero() { + q.Format = y.Format + } + q.ToDec().d.Dec.Add(q.d.Dec, y.AsDec()) +} + +// Sub subtracts the provided quantity from the current value in place. If the current +// value is zero, the format of the quantity will be updated to the format of y. +func (q *Quantity) Sub(y Quantity) { + q.s = "" + if q.IsZero() { + q.Format = y.Format + } + if q.d.Dec == nil && y.d.Dec == nil && q.i.Sub(y.i) { + return + } + q.ToDec().d.Dec.Sub(q.d.Dec, y.AsDec()) +} + +// Cmp returns 0 if the quantity is equal to y, -1 if the quantity is less than y, or 1 if the +// quantity is greater than y. +func (q *Quantity) Cmp(y Quantity) int { + if q.d.Dec == nil && y.d.Dec == nil { + return q.i.Cmp(y.i) + } + return q.AsDec().Cmp(y.AsDec()) +} + +// CmpInt64 returns 0 if the quantity is equal to y, -1 if the quantity is less than y, or 1 if the +// quantity is greater than y. +func (q *Quantity) CmpInt64(y int64) int { + if q.d.Dec != nil { + return q.d.Dec.Cmp(inf.NewDec(y, inf.Scale(0))) + } + return q.i.Cmp(int64Amount{value: y}) +} + +// Neg sets quantity to be the negative value of itself. +func (q *Quantity) Neg() { + q.s = "" + if q.d.Dec == nil { + q.i.value = -q.i.value + return + } + q.d.Dec.Neg(q.d.Dec) +} + +// int64QuantityExpectedBytes is the expected width in bytes of the canonical string representation +// of most Quantity values. +const int64QuantityExpectedBytes = 18 + +// String formats the Quantity as a string, caching the result if not calculated. +// String is an expensive operation and caching this result significantly reduces the cost of +// normal parse / marshal operations on Quantity. +func (q *Quantity) String() string { + if len(q.s) == 0 { + result := make([]byte, 0, int64QuantityExpectedBytes) + number, suffix := q.CanonicalizeBytes(result) + number = append(number, suffix...) + q.s = string(number) + } + return q.s +} + +// MarshalJSON implements the json.Marshaller interface. +func (q Quantity) MarshalJSON() ([]byte, error) { + if len(q.s) > 0 { + out := make([]byte, len(q.s)+2) + out[0], out[len(out)-1] = '"', '"' + copy(out[1:], q.s) + return out, nil + } + result := make([]byte, int64QuantityExpectedBytes, int64QuantityExpectedBytes) + result[0] = '"' + number, suffix := q.CanonicalizeBytes(result[1:1]) + // if the same slice was returned to us that we passed in, avoid another allocation by copying number into + // the source slice and returning that + if len(number) > 0 && &number[0] == &result[1] && (len(number)+len(suffix)+2) <= int64QuantityExpectedBytes { + number = append(number, suffix...) + number = append(number, '"') + return result[:1+len(number)], nil + } + // if CanonicalizeBytes needed more space than our slice provided, we may need to allocate again so use + // append + result = result[:1] + result = append(result, number...) + result = append(result, suffix...) + result = append(result, '"') + return result, nil +} + +// UnmarshalJSON implements the json.Unmarshaller interface. +// TODO: Remove support for leading/trailing whitespace +func (q *Quantity) UnmarshalJSON(value []byte) error { + l := len(value) + if l == 4 && bytes.Equal(value, []byte("null")) { + q.d.Dec = nil + q.i = int64Amount{} + return nil + } + if l >= 2 && value[0] == '"' && value[l-1] == '"' { + value = value[1 : l-1] + } + + parsed, err := ParseQuantity(strings.TrimSpace(string(value))) + if err != nil { + return err + } + + // This copy is safe because parsed will not be referred to again. + *q = parsed + return nil +} + +// NewQuantity returns a new Quantity representing the given +// value in the given format. +func NewQuantity(value int64, format Format) *Quantity { + return &Quantity{ + i: int64Amount{value: value}, + Format: format, + } +} + +// NewMilliQuantity returns a new Quantity representing the given +// value * 1/1000 in the given format. Note that BinarySI formatting +// will round fractional values, and will be changed to DecimalSI for +// values x where (-1 < x < 1) && (x != 0). +func NewMilliQuantity(value int64, format Format) *Quantity { + return &Quantity{ + i: int64Amount{value: value, scale: -3}, + Format: format, + } +} + +// NewScaledQuantity returns a new Quantity representing the given +// value * 10^scale in DecimalSI format. +func NewScaledQuantity(value int64, scale Scale) *Quantity { + return &Quantity{ + i: int64Amount{value: value, scale: scale}, + Format: DecimalSI, + } +} + +// Value returns the value of q; any fractional part will be lost. +func (q *Quantity) Value() int64 { + return q.ScaledValue(0) +} + +// MilliValue returns the value of ceil(q * 1000); this could overflow an int64; +// if that's a concern, call Value() first to verify the number is small enough. +func (q *Quantity) MilliValue() int64 { + return q.ScaledValue(Milli) +} + +// ScaledValue returns the value of ceil(q * 10^scale); this could overflow an int64. +// To detect overflow, call Value() first and verify the expected magnitude. +func (q *Quantity) ScaledValue(scale Scale) int64 { + if q.d.Dec == nil { + i, _ := q.i.AsScaledInt64(scale) + return i + } + dec := q.d.Dec + return scaledValue(dec.UnscaledBig(), int(dec.Scale()), int(scale.infScale())) +} + +// Set sets q's value to be value. +func (q *Quantity) Set(value int64) { + q.SetScaled(value, 0) +} + +// SetMilli sets q's value to be value * 1/1000. +func (q *Quantity) SetMilli(value int64) { + q.SetScaled(value, Milli) +} + +// SetScaled sets q's value to be value * 10^scale +func (q *Quantity) SetScaled(value int64, scale Scale) { + q.s = "" + q.d.Dec = nil + q.i = int64Amount{value: value, scale: scale} +} + +// Copy is a convenience function that makes a deep copy for you. Non-deep +// copies of quantities share pointers and you will regret that. +func (q *Quantity) Copy() *Quantity { + if q.d.Dec == nil { + return &Quantity{ + s: q.s, + i: q.i, + Format: q.Format, + } + } + tmp := &inf.Dec{} + return &Quantity{ + s: q.s, + d: infDecAmount{tmp.Set(q.d.Dec)}, + Format: q.Format, + } +} + +// qFlag is a helper type for the Flag function +type qFlag struct { + dest *Quantity +} + +// Sets the value of the internal Quantity. (used by flag & pflag) +func (qf qFlag) Set(val string) error { + q, err := ParseQuantity(val) + if err != nil { + return err + } + // This copy is OK because q will not be referenced again. + *qf.dest = q + return nil +} + +// Converts the value of the internal Quantity to a string. (used by flag & pflag) +func (qf qFlag) String() string { + return qf.dest.String() +} + +// States the type of flag this is (Quantity). (used by pflag) +func (qf qFlag) Type() string { + return "quantity" +} + +// QuantityFlag is a helper that makes a quantity flag (using standard flag package). +// Will panic if defaultValue is not a valid quantity. +func QuantityFlag(flagName, defaultValue, description string) *Quantity { + q := MustParse(defaultValue) + flag.Var(NewQuantityFlagValue(&q), flagName, description) + return &q +} + +// NewQuantityFlagValue returns an object that can be used to back a flag, +// pointing at the given Quantity variable. +func NewQuantityFlagValue(q *Quantity) flag.Value { + return qFlag{q} +} diff --git a/vendor/github.com/appc/spec/schema/types/resource/scale_int.go b/vendor/github.com/appc/spec/schema/types/resource/scale_int.go new file mode 100644 index 00000000000..173de1a2171 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/scale_int.go @@ -0,0 +1,95 @@ +/* +Copyright 2015 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package resource + +import ( + "math" + "math/big" + "sync" +) + +var ( + // A sync pool to reduce allocation. + intPool sync.Pool + maxInt64 = big.NewInt(math.MaxInt64) +) + +func init() { + intPool.New = func() interface{} { + return &big.Int{} + } +} + +// scaledValue scales given unscaled value from scale to new Scale and returns +// an int64. It ALWAYS rounds up the result when scale down. The final result might +// overflow. +// +// scale, newScale represents the scale of the unscaled decimal. +// The mathematical value of the decimal is unscaled * 10**(-scale). +func scaledValue(unscaled *big.Int, scale, newScale int) int64 { + dif := scale - newScale + if dif == 0 { + return unscaled.Int64() + } + + // Handle scale up + // This is an easy case, we do not need to care about rounding and overflow. + // If any intermediate operation causes overflow, the result will overflow. + if dif < 0 { + return unscaled.Int64() * int64(math.Pow10(-dif)) + } + + // Handle scale down + // We have to be careful about the intermediate operations. + + // fast path when unscaled < max.Int64 and exp(10,dif) < max.Int64 + const log10MaxInt64 = 19 + if unscaled.Cmp(maxInt64) < 0 && dif < log10MaxInt64 { + divide := int64(math.Pow10(dif)) + result := unscaled.Int64() / divide + mod := unscaled.Int64() % divide + if mod != 0 { + return result + 1 + } + return result + } + + // We should only convert back to int64 when getting the result. + divisor := intPool.Get().(*big.Int) + exp := intPool.Get().(*big.Int) + result := intPool.Get().(*big.Int) + defer func() { + intPool.Put(divisor) + intPool.Put(exp) + intPool.Put(result) + }() + + // divisor = 10^(dif) + // TODO: create loop up table if exp costs too much. + divisor.Exp(bigTen, exp.SetInt64(int64(dif)), nil) + // reuse exp + remainder := exp + + // result = unscaled / divisor + // remainder = unscaled % divisor + result.DivMod(unscaled, divisor, remainder) + if remainder.Sign() != 0 { + return result.Int64() + 1 + } + + return result.Int64() +} diff --git a/vendor/github.com/appc/spec/schema/types/resource/suffix.go b/vendor/github.com/appc/spec/schema/types/resource/suffix.go new file mode 100644 index 00000000000..0aa2ce2bf60 --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/resource/suffix.go @@ -0,0 +1,198 @@ +/* +Copyright 2014 The Kubernetes Authors All rights reserved. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +See the License for the specific language governing permissions and +limitations under the License. +*/ + +package resource + +import ( + "strconv" +) + +type suffix string + +// suffixer can interpret and construct suffixes. +type suffixer interface { + interpret(suffix) (base, exponent int32, fmt Format, ok bool) + construct(base, exponent int32, fmt Format) (s suffix, ok bool) + constructBytes(base, exponent int32, fmt Format) (s []byte, ok bool) +} + +// quantitySuffixer handles suffixes for all three formats that quantity +// can handle. +var quantitySuffixer = newSuffixer() + +type bePair struct { + base, exponent int32 +} + +type listSuffixer struct { + suffixToBE map[suffix]bePair + beToSuffix map[bePair]suffix + beToSuffixBytes map[bePair][]byte +} + +func (ls *listSuffixer) addSuffix(s suffix, pair bePair) { + if ls.suffixToBE == nil { + ls.suffixToBE = map[suffix]bePair{} + } + if ls.beToSuffix == nil { + ls.beToSuffix = map[bePair]suffix{} + } + if ls.beToSuffixBytes == nil { + ls.beToSuffixBytes = map[bePair][]byte{} + } + ls.suffixToBE[s] = pair + ls.beToSuffix[pair] = s + ls.beToSuffixBytes[pair] = []byte(s) +} + +func (ls *listSuffixer) lookup(s suffix) (base, exponent int32, ok bool) { + pair, ok := ls.suffixToBE[s] + if !ok { + return 0, 0, false + } + return pair.base, pair.exponent, true +} + +func (ls *listSuffixer) construct(base, exponent int32) (s suffix, ok bool) { + s, ok = ls.beToSuffix[bePair{base, exponent}] + return +} + +func (ls *listSuffixer) constructBytes(base, exponent int32) (s []byte, ok bool) { + s, ok = ls.beToSuffixBytes[bePair{base, exponent}] + return +} + +type suffixHandler struct { + decSuffixes listSuffixer + binSuffixes listSuffixer +} + +type fastLookup struct { + *suffixHandler +} + +func (l fastLookup) interpret(s suffix) (base, exponent int32, format Format, ok bool) { + switch s { + case "": + return 10, 0, DecimalSI, true + case "n": + return 10, -9, DecimalSI, true + case "u": + return 10, -6, DecimalSI, true + case "m": + return 10, -3, DecimalSI, true + case "k": + return 10, 3, DecimalSI, true + case "M": + return 10, 6, DecimalSI, true + case "G": + return 10, 9, DecimalSI, true + } + return l.suffixHandler.interpret(s) +} + +func newSuffixer() suffixer { + sh := &suffixHandler{} + + // IMPORTANT: if you change this section you must change fastLookup + + sh.binSuffixes.addSuffix("Ki", bePair{2, 10}) + sh.binSuffixes.addSuffix("Mi", bePair{2, 20}) + sh.binSuffixes.addSuffix("Gi", bePair{2, 30}) + sh.binSuffixes.addSuffix("Ti", bePair{2, 40}) + sh.binSuffixes.addSuffix("Pi", bePair{2, 50}) + sh.binSuffixes.addSuffix("Ei", bePair{2, 60}) + // Don't emit an error when trying to produce + // a suffix for 2^0. + sh.decSuffixes.addSuffix("", bePair{2, 0}) + + sh.decSuffixes.addSuffix("n", bePair{10, -9}) + sh.decSuffixes.addSuffix("u", bePair{10, -6}) + sh.decSuffixes.addSuffix("m", bePair{10, -3}) + sh.decSuffixes.addSuffix("", bePair{10, 0}) + sh.decSuffixes.addSuffix("k", bePair{10, 3}) + sh.decSuffixes.addSuffix("M", bePair{10, 6}) + sh.decSuffixes.addSuffix("G", bePair{10, 9}) + sh.decSuffixes.addSuffix("T", bePair{10, 12}) + sh.decSuffixes.addSuffix("P", bePair{10, 15}) + sh.decSuffixes.addSuffix("E", bePair{10, 18}) + + return fastLookup{sh} +} + +func (sh *suffixHandler) construct(base, exponent int32, fmt Format) (s suffix, ok bool) { + switch fmt { + case DecimalSI: + return sh.decSuffixes.construct(base, exponent) + case BinarySI: + return sh.binSuffixes.construct(base, exponent) + case DecimalExponent: + if base != 10 { + return "", false + } + if exponent == 0 { + return "", true + } + return suffix("e" + strconv.FormatInt(int64(exponent), 10)), true + } + return "", false +} + +func (sh *suffixHandler) constructBytes(base, exponent int32, format Format) (s []byte, ok bool) { + switch format { + case DecimalSI: + return sh.decSuffixes.constructBytes(base, exponent) + case BinarySI: + return sh.binSuffixes.constructBytes(base, exponent) + case DecimalExponent: + if base != 10 { + return nil, false + } + if exponent == 0 { + return nil, true + } + result := make([]byte, 8, 8) + result[0] = 'e' + number := strconv.AppendInt(result[1:1], int64(exponent), 10) + if &result[1] == &number[0] { + return result[:1+len(number)], true + } + result = append(result[:1], number...) + return result, true + } + return nil, false +} + +func (sh *suffixHandler) interpret(suffix suffix) (base, exponent int32, fmt Format, ok bool) { + // Try lookup tables first + if b, e, ok := sh.decSuffixes.lookup(suffix); ok { + return b, e, DecimalSI, true + } + if b, e, ok := sh.binSuffixes.lookup(suffix); ok { + return b, e, BinarySI, true + } + + if len(suffix) > 1 && (suffix[0] == 'E' || suffix[0] == 'e') { + parsed, err := strconv.ParseInt(string(suffix[1:]), 10, 64) + if err != nil { + return 0, 0, DecimalExponent, false + } + return 10, int32(parsed), DecimalExponent, true + } + + return 0, 0, DecimalExponent, false +} diff --git a/vendor/github.com/appc/spec/schema/types/user_annotations.go b/vendor/github.com/appc/spec/schema/types/user_annotations.go new file mode 100644 index 00000000000..63ba434ea5d --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/user_annotations.go @@ -0,0 +1,18 @@ +// Copyright 2016 The appc Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package types + +// UserAnnotations are arbitrary key-value pairs, to be supplied and interpreted by the user +type UserAnnotations map[string]string diff --git a/vendor/github.com/appc/spec/schema/types/user_labels.go b/vendor/github.com/appc/spec/schema/types/user_labels.go new file mode 100644 index 00000000000..5ed927c9e8e --- /dev/null +++ b/vendor/github.com/appc/spec/schema/types/user_labels.go @@ -0,0 +1,18 @@ +// Copyright 2015 The appc Authors +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +package types + +// UserLabels are arbitrary key-value pairs, to be supplied and interpreted by the user +type UserLabels map[string]string diff --git a/vendor/github.com/appc/spec/schema/types/volume.go b/vendor/github.com/appc/spec/schema/types/volume.go index c5ae59180f1..0986a61d25f 100644 --- a/vendor/github.com/appc/spec/schema/types/volume.go +++ b/vendor/github.com/appc/spec/schema/types/volume.go @@ -40,8 +40,9 @@ type Volume struct { // currently used only by "host" // TODO(jonboulle): factor out? - Source string `json:"source,omitempty"` - ReadOnly *bool `json:"readOnly,omitempty"` + Source string `json:"source,omitempty"` + ReadOnly *bool `json:"readOnly,omitempty"` + Recursive *bool `json:"recursive,omitempty"` // currently used only by "empty" Mode *string `json:"mode,omitempty"` @@ -128,6 +129,10 @@ func (v Volume) String() string { s = append(s, ",readOnly=") s = append(s, strconv.FormatBool(*v.ReadOnly)) } + if v.Recursive != nil { + s = append(s, ",recursive=") + s = append(s, strconv.FormatBool(*v.Recursive)) + } switch v.Kind { case "empty": if *v.Mode != emptyVolumeDefaultMode { @@ -149,10 +154,8 @@ func (v Volume) String() string { // VolumeFromString takes a command line volume parameter and returns a volume // // Example volume parameters: -// database,kind=host,source=/tmp,readOnly=true +// database,kind=host,source=/tmp,readOnly=true,recursive=true func VolumeFromString(vp string) (*Volume, error) { - var vol Volume - vp = "name=" + vp vpQuery, err := common.MakeQueryString(vp) if err != nil { @@ -163,7 +166,12 @@ func VolumeFromString(vp string) (*Volume, error) { if err != nil { return nil, err } - for key, val := range v { + return VolumeFromParams(v) +} + +func VolumeFromParams(params map[string][]string) (*Volume, error) { + var vol Volume + for key, val := range params { val := val if len(val) > 1 { return nil, fmt.Errorf("label %s with multiple values %q", key, val) @@ -186,6 +194,12 @@ func VolumeFromString(vp string) (*Volume, error) { return nil, err } vol.ReadOnly = &ro + case "recursive": + rec, err := strconv.ParseBool(val[0]) + if err != nil { + return nil, err + } + vol.Recursive = &rec case "mode": vol.Mode = &val[0] case "uid": @@ -207,8 +221,7 @@ func VolumeFromString(vp string) (*Volume, error) { maybeSetDefaults(&vol) - err = vol.assertValid() - if err != nil { + if err := vol.assertValid(); err != nil { return nil, err } diff --git a/vendor/github.com/appc/spec/schema/version.go b/vendor/github.com/appc/spec/schema/version.go index e8884e970de..1fa0802949b 100644 --- a/vendor/github.com/appc/spec/schema/version.go +++ b/vendor/github.com/appc/spec/schema/version.go @@ -22,7 +22,7 @@ const ( // version represents the canonical version of the appc spec and tooling. // For now, the schema and tooling is coupled with the spec itself, so // this must be kept in sync with the VERSION file in the root of the repo. - version string = "0.8.1+git" + version string = "0.8.9+git" ) var (