diff --git a/Godeps/Godeps.json b/Godeps/Godeps.json index 80582038..32fd8e19 100644 --- a/Godeps/Godeps.json +++ b/Godeps/Godeps.json @@ -152,755 +152,755 @@ }, { "ImportPath": "k8s.io/api/admissionregistration/v1alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/admissionregistration/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/apps/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/apps/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/apps/v1beta2", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/authentication/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/authentication/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/authorization/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/authorization/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/autoscaling/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/autoscaling/v2beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/batch/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/batch/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/batch/v2alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/certificates/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/core/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/events/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/extensions/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/networking/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/policy/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/rbac/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/rbac/v1alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/rbac/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/scheduling/v1alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/settings/v1alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/storage/v1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/storage/v1alpha1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/api/storage/v1beta1", - "Rev": "c4b8804aa02d17a4a0ef92e7cb86260a6ba58de7" + "Rev": "0406a944760b00b7a75b559f642673d7bb07b48a" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/errors", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/meta", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/api/resource", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/internalversion", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/apis/meta/v1beta1", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/conversion/queryparams", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/fields", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/labels", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/schema", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/json", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/protobuf", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/recognizer", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/streaming", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/runtime/serializer/versioning", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/selection", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/types", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/cache", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/clock", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/diff", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/errors", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/framer", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/intstr", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/json", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/mergepatch", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/net", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/runtime", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/sets", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/strategicpatch", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/validation/field", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/wait", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/util/yaml", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/version", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/pkg/watch", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/json", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/apimachinery/third_party/forked/golang/reflect", - "Rev": "30b53f19cfbba6e1a971adfd8edd674b6e0f3ead" + "Rev": "bf4c8d907ba9e7fee82a73bad5346aeebff5d06e" }, { "ImportPath": "k8s.io/client-go/discovery", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/discovery/fake", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/admissionregistration/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/apps", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/apps/v1beta2", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/autoscaling/v2beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/batch", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/batch/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/batch/v2alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/certificates", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/certificates/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/core", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/core/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/events", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/events/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/extensions", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/extensions/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/internalinterfaces", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/networking", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/networking/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/policy", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/policy/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/rbac", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/rbac/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/scheduling", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/scheduling/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/settings", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/settings/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/storage", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/informers/storage/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/scheme", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/admissionregistration/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/apps/v1beta2", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authentication/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/authorization/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/autoscaling/v2beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/batch/v2alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/certificates/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/core/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/events/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/extensions/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/networking/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/policy/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/rbac/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/scheduling/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/settings/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/kubernetes/typed/storage/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/admissionregistration/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/apps/v1beta2", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/autoscaling/v2beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/batch/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/batch/v2alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/certificates/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/core/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/events/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/extensions/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/networking/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/policy/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/rbac/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/scheduling/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/settings/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1alpha1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/listers/storage/v1beta1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/pkg/version", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/rest", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/rest/watch", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/testing", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/auth", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/cache", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/latest", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/clientcmd/api/v1", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/metrics", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/pager", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/record", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/tools/reference", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/transport", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/buffer", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/cert", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/flowcontrol", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/homedir", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/integer", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/retry", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/client-go/util/workqueue", - "Rev": "8b0c96689ac641f27b80e24be05940baecb056ae" + "Rev": "fbdccbf09b0ccc7dd39cb25d7a6044e7f37a3147" }, { "ImportPath": "k8s.io/kube-openapi/pkg/util/proto", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" + "Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf" } ] } diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.pb.go b/vendor/k8s.io/api/autoscaling/v1/generated.pb.go index 4c6a1712..9e2b235e 100644 --- a/vendor/k8s.io/api/autoscaling/v1/generated.pb.go +++ b/vendor/k8s.io/api/autoscaling/v1/generated.pb.go @@ -26,6 +26,8 @@ limitations under the License. It has these top-level messages: CrossVersionObjectReference + ExternalMetricSource + ExternalMetricStatus HorizontalPodAutoscaler HorizontalPodAutoscalerCondition HorizontalPodAutoscalerList @@ -76,80 +78,90 @@ func (*CrossVersionObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } +func (m *ExternalMetricSource) Reset() { *m = ExternalMetricSource{} } +func (*ExternalMetricSource) ProtoMessage() {} +func (*ExternalMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ExternalMetricStatus) Reset() { *m = ExternalMetricStatus{} } +func (*ExternalMetricStatus) ProtoMessage() {} +func (*ExternalMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} } func (*HorizontalPodAutoscaler) ProtoMessage() {} -func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } +func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } func (m *HorizontalPodAutoscalerCondition) Reset() { *m = HorizontalPodAutoscalerCondition{} } func (*HorizontalPodAutoscalerCondition) ProtoMessage() {} func (*HorizontalPodAutoscalerCondition) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{2} + return fileDescriptorGenerated, []int{4} } func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} } func (*HorizontalPodAutoscalerList) ProtoMessage() {} func (*HorizontalPodAutoscalerList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{3} + return fileDescriptorGenerated, []int{5} } func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} } func (*HorizontalPodAutoscalerSpec) ProtoMessage() {} func (*HorizontalPodAutoscalerSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{4} + return fileDescriptorGenerated, []int{6} } func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} } func (*HorizontalPodAutoscalerStatus) ProtoMessage() {} func (*HorizontalPodAutoscalerStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{5} + return fileDescriptorGenerated, []int{7} } func (m *MetricSpec) Reset() { *m = MetricSpec{} } func (*MetricSpec) ProtoMessage() {} -func (*MetricSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } +func (*MetricSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (m *MetricStatus) Reset() { *m = MetricStatus{} } func (*MetricStatus) ProtoMessage() {} -func (*MetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } +func (*MetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (m *ObjectMetricSource) Reset() { *m = ObjectMetricSource{} } func (*ObjectMetricSource) ProtoMessage() {} -func (*ObjectMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } +func (*ObjectMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (m *ObjectMetricStatus) Reset() { *m = ObjectMetricStatus{} } func (*ObjectMetricStatus) ProtoMessage() {} -func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } +func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (m *PodsMetricSource) Reset() { *m = PodsMetricSource{} } func (*PodsMetricSource) ProtoMessage() {} -func (*PodsMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } +func (*PodsMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } func (m *PodsMetricStatus) Reset() { *m = PodsMetricStatus{} } func (*PodsMetricStatus) ProtoMessage() {} -func (*PodsMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } +func (*PodsMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } func (m *ResourceMetricSource) Reset() { *m = ResourceMetricSource{} } func (*ResourceMetricSource) ProtoMessage() {} -func (*ResourceMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } +func (*ResourceMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } func (m *ResourceMetricStatus) Reset() { *m = ResourceMetricStatus{} } func (*ResourceMetricStatus) ProtoMessage() {} -func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } +func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } func (m *Scale) Reset() { *m = Scale{} } func (*Scale) ProtoMessage() {} -func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } +func (*Scale) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } func (m *ScaleSpec) Reset() { *m = ScaleSpec{} } func (*ScaleSpec) ProtoMessage() {} -func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } +func (*ScaleSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{17} } func (m *ScaleStatus) Reset() { *m = ScaleStatus{} } func (*ScaleStatus) ProtoMessage() {} -func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{16} } +func (*ScaleStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{18} } func init() { proto.RegisterType((*CrossVersionObjectReference)(nil), "k8s.io.api.autoscaling.v1.CrossVersionObjectReference") + proto.RegisterType((*ExternalMetricSource)(nil), "k8s.io.api.autoscaling.v1.ExternalMetricSource") + proto.RegisterType((*ExternalMetricStatus)(nil), "k8s.io.api.autoscaling.v1.ExternalMetricStatus") proto.RegisterType((*HorizontalPodAutoscaler)(nil), "k8s.io.api.autoscaling.v1.HorizontalPodAutoscaler") proto.RegisterType((*HorizontalPodAutoscalerCondition)(nil), "k8s.io.api.autoscaling.v1.HorizontalPodAutoscalerCondition") proto.RegisterType((*HorizontalPodAutoscalerList)(nil), "k8s.io.api.autoscaling.v1.HorizontalPodAutoscalerList") @@ -197,6 +209,108 @@ func (m *CrossVersionObjectReference) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *ExternalMetricSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExternalMetricSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) + i += copy(dAtA[i:], m.MetricName) + if m.MetricSelector != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MetricSelector.Size())) + n1, err := m.MetricSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if m.TargetValue != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TargetValue.Size())) + n2, err := m.TargetValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + if m.TargetAverageValue != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) + n3, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + } + return i, nil +} + +func (m *ExternalMetricStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExternalMetricStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) + i += copy(dAtA[i:], m.MetricName) + if m.MetricSelector != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MetricSelector.Size())) + n4, err := m.MetricSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) + n5, err := m.CurrentValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if m.CurrentAverageValue != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) + n6, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } + return i, nil +} + func (m *HorizontalPodAutoscaler) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -215,27 +329,27 @@ func (m *HorizontalPodAutoscaler) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n7, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n1 + i += n7 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n2, err := m.Spec.MarshalTo(dAtA[i:]) + n8, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n2 + i += n8 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n3, err := m.Status.MarshalTo(dAtA[i:]) + n9, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n3 + i += n9 return i, nil } @@ -265,11 +379,11 @@ func (m *HorizontalPodAutoscalerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n4, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n10, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n4 + i += n10 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -299,11 +413,11 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(dAtA[i:]) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n5 + i += n11 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -337,11 +451,11 @@ func (m *HorizontalPodAutoscalerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleTargetRef.Size())) - n6, err := m.ScaleTargetRef.MarshalTo(dAtA[i:]) + n12, err := m.ScaleTargetRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n12 if m.MinReplicas != nil { dAtA[i] = 0x10 i++ @@ -382,11 +496,11 @@ func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastScaleTime.Size())) - n7, err := m.LastScaleTime.MarshalTo(dAtA[i:]) + n13, err := m.LastScaleTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n13 } dAtA[i] = 0x18 i++ @@ -425,31 +539,41 @@ func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) - n8, err := m.Object.MarshalTo(dAtA[i:]) + n14, err := m.Object.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n14 } if m.Pods != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size())) - n9, err := m.Pods.MarshalTo(dAtA[i:]) + n15, err := m.Pods.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n15 } if m.Resource != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) - n10, err := m.Resource.MarshalTo(dAtA[i:]) + n16, err := m.Resource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n16 + } + if m.External != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) + n17, err := m.External.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 } return i, nil } @@ -477,31 +601,41 @@ func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) - n11, err := m.Object.MarshalTo(dAtA[i:]) + n18, err := m.Object.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n18 } if m.Pods != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size())) - n12, err := m.Pods.MarshalTo(dAtA[i:]) + n19, err := m.Pods.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n19 } if m.Resource != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) - n13, err := m.Resource.MarshalTo(dAtA[i:]) + n20, err := m.Resource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n20 + } + if m.External != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) + n21, err := m.External.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 } return i, nil } @@ -524,11 +658,11 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) - n14, err := m.Target.MarshalTo(dAtA[i:]) + n22, err := m.Target.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n22 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) @@ -536,11 +670,11 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetValue.Size())) - n15, err := m.TargetValue.MarshalTo(dAtA[i:]) + n23, err := m.TargetValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n23 return i, nil } @@ -562,11 +696,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) - n16, err := m.Target.MarshalTo(dAtA[i:]) + n24, err := m.Target.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n16 + i += n24 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) @@ -574,11 +708,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) - n17, err := m.CurrentValue.MarshalTo(dAtA[i:]) + n25, err := m.CurrentValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n25 return i, nil } @@ -604,11 +738,11 @@ func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) - n18, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + n26, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n26 return i, nil } @@ -634,11 +768,11 @@ func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) - n19, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + n27, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n27 return i, nil } @@ -670,11 +804,11 @@ func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) - n20, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + n28, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n28 } return i, nil } @@ -706,11 +840,11 @@ func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) - n21, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + n29, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n29 return i, nil } @@ -732,27 +866,27 @@ func (m *Scale) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n22, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n30, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n22 + i += n30 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n23, err := m.Spec.MarshalTo(dAtA[i:]) + n31, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n31 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n24, err := m.Status.MarshalTo(dAtA[i:]) + n32, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n32 return i, nil } @@ -841,6 +975,44 @@ func (m *CrossVersionObjectReference) Size() (n int) { return n } +func (m *ExternalMetricSource) Size() (n int) { + var l int + _ = l + l = len(m.MetricName) + n += 1 + l + sovGenerated(uint64(l)) + if m.MetricSelector != nil { + l = m.MetricSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TargetValue != nil { + l = m.TargetValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TargetAverageValue != nil { + l = m.TargetAverageValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ExternalMetricStatus) Size() (n int) { + var l int + _ = l + l = len(m.MetricName) + n += 1 + l + sovGenerated(uint64(l)) + if m.MetricSelector != nil { + l = m.MetricSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.CurrentValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.CurrentAverageValue != nil { + l = m.CurrentAverageValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *HorizontalPodAutoscaler) Size() (n int) { var l int _ = l @@ -933,6 +1105,10 @@ func (m *MetricSpec) Size() (n int) { l = m.Resource.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.External != nil { + l = m.External.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -953,6 +1129,10 @@ func (m *MetricStatus) Size() (n int) { l = m.Resource.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.External != nil { + l = m.External.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -1081,6 +1261,32 @@ func (this *CrossVersionObjectReference) String() string { }, "") return s } +func (this *ExternalMetricSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExternalMetricSource{`, + `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, + `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `TargetValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ExternalMetricStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExternalMetricStatus{`, + `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, + `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, + `CurrentAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `}`, + }, "") + return s +} func (this *HorizontalPodAutoscaler) String() string { if this == nil { return "nil" @@ -1154,6 +1360,7 @@ func (this *MetricSpec) String() string { `Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricSource", "ObjectMetricSource", 1) + `,`, `Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricSource", "PodsMetricSource", 1) + `,`, `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricSource", "ResourceMetricSource", 1) + `,`, + `External:` + strings.Replace(fmt.Sprintf("%v", this.External), "ExternalMetricSource", "ExternalMetricSource", 1) + `,`, `}`, }, "") return s @@ -1167,6 +1374,7 @@ func (this *MetricStatus) String() string { `Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricStatus", "ObjectMetricStatus", 1) + `,`, `Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricStatus", "PodsMetricStatus", 1) + `,`, `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricStatus", "ResourceMetricStatus", 1) + `,`, + `External:` + strings.Replace(fmt.Sprintf("%v", this.External), "ExternalMetricStatus", "ExternalMetricStatus", 1) + `,`, `}`, }, "") return s @@ -1419,6 +1627,359 @@ func (m *CrossVersionObjectReference) Unmarshal(dAtA []byte) error { } return nil } +func (m *ExternalMetricSource) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExternalMetricSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExternalMetricSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MetricName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MetricSelector == nil { + m.MetricSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} + } + if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TargetValue == nil { + m.TargetValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.TargetValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TargetAverageValue == nil { + m.TargetAverageValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExternalMetricStatus) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExternalMetricStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExternalMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MetricName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MetricSelector == nil { + m.MetricSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} + } + if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CurrentValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CurrentAverageValue == nil { + m.CurrentAverageValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *HorizontalPodAutoscaler) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -2323,6 +2884,39 @@ func (m *MetricSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field External", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.External == nil { + m.External = &ExternalMetricSource{} + } + if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -2501,6 +3095,39 @@ func (m *MetricStatus) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field External", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.External == nil { + m.External = &ExternalMetricStatus{} + } + if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -3696,91 +4323,98 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 1370 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0x4d, 0x6f, 0x13, 0xc7, - 0x1b, 0x8f, 0x5f, 0x12, 0xc2, 0x38, 0x10, 0xfe, 0x03, 0x02, 0x13, 0xfe, 0x78, 0xa3, 0x2d, 0x42, - 0xf4, 0x85, 0xdd, 0xc6, 0xa5, 0x88, 0x1e, 0x63, 0x57, 0x14, 0xd4, 0x04, 0xc2, 0x60, 0x28, 0x7d, - 0x51, 0xc5, 0x64, 0x77, 0x70, 0x86, 0x78, 0x5f, 0x34, 0x33, 0xb6, 0x1a, 0xa4, 0x4a, 0xed, 0xa1, - 0xe7, 0x56, 0x95, 0xfa, 0x31, 0x7a, 0xe6, 0x50, 0xf5, 0xd0, 0x4a, 0x95, 0x38, 0x72, 0xe8, 0x81, - 0x93, 0x55, 0xb6, 0xc7, 0x7e, 0x03, 0x4e, 0xd5, 0xcc, 0x8e, 0xd7, 0xbb, 0xb6, 0xd7, 0x21, 0x21, - 0x42, 0xbd, 0xed, 0xce, 0xfc, 0x9e, 0xdf, 0xf3, 0x3a, 0xcf, 0x3c, 0x03, 0x1a, 0xdb, 0x57, 0xb8, - 0x45, 0x03, 0x7b, 0xbb, 0xbb, 0x49, 0x98, 0x4f, 0x04, 0xe1, 0x76, 0x8f, 0xf8, 0x6e, 0xc0, 0x6c, - 0xbd, 0x81, 0x43, 0x6a, 0xe3, 0xae, 0x08, 0xb8, 0x83, 0x3b, 0xd4, 0x6f, 0xdb, 0xbd, 0x15, 0xbb, - 0x4d, 0x7c, 0xc2, 0xb0, 0x20, 0xae, 0x15, 0xb2, 0x40, 0x04, 0xf0, 0x74, 0x0c, 0xb5, 0x70, 0x48, - 0xad, 0x14, 0xd4, 0xea, 0xad, 0x2c, 0x5d, 0x6c, 0x53, 0xb1, 0xd5, 0xdd, 0xb4, 0x9c, 0xc0, 0xb3, - 0xdb, 0x41, 0x3b, 0xb0, 0x95, 0xc4, 0x66, 0xf7, 0x81, 0xfa, 0x53, 0x3f, 0xea, 0x2b, 0x66, 0x5a, - 0x32, 0x53, 0x4a, 0x9d, 0x80, 0x91, 0x09, 0xda, 0x96, 0x2e, 0x0d, 0x31, 0x1e, 0x76, 0xb6, 0xa8, - 0x4f, 0xd8, 0x8e, 0x1d, 0x6e, 0xb7, 0x95, 0x10, 0x23, 0x3c, 0xe8, 0x32, 0x87, 0xec, 0x49, 0x8a, - 0xdb, 0x1e, 0x11, 0x78, 0x92, 0x2e, 0x3b, 0x4f, 0x8a, 0x75, 0x7d, 0x41, 0xbd, 0x71, 0x35, 0x97, - 0x77, 0x13, 0xe0, 0xce, 0x16, 0xf1, 0xf0, 0x98, 0xdc, 0x7b, 0x79, 0x72, 0x5d, 0x41, 0x3b, 0x36, - 0xf5, 0x05, 0x17, 0x6c, 0x54, 0xc8, 0xfc, 0xa9, 0x00, 0xce, 0x34, 0x59, 0xc0, 0xf9, 0x5d, 0xc2, - 0x38, 0x0d, 0xfc, 0x9b, 0x9b, 0x0f, 0x89, 0x23, 0x10, 0x79, 0x40, 0x18, 0xf1, 0x1d, 0x02, 0x97, - 0x41, 0x79, 0x9b, 0xfa, 0x6e, 0xb5, 0xb0, 0x5c, 0xb8, 0x70, 0xb8, 0xb1, 0xf0, 0xa4, 0x6f, 0xcc, - 0x44, 0x7d, 0xa3, 0xfc, 0x31, 0xf5, 0x5d, 0xa4, 0x76, 0x24, 0xc2, 0xc7, 0x1e, 0xa9, 0x16, 0xb3, - 0x88, 0x1b, 0xd8, 0x23, 0x48, 0xed, 0xc0, 0x3a, 0x00, 0x38, 0xa4, 0x5a, 0x41, 0xb5, 0xa4, 0x70, - 0x50, 0xe3, 0xc0, 0xea, 0xc6, 0x75, 0xbd, 0x83, 0x52, 0x28, 0xf3, 0x71, 0x11, 0x9c, 0xba, 0x16, - 0x30, 0xfa, 0x28, 0xf0, 0x05, 0xee, 0x6c, 0x04, 0xee, 0xaa, 0x2e, 0x0a, 0xc2, 0xe0, 0x7d, 0x30, - 0x2f, 0x83, 0xed, 0x62, 0x81, 0x95, 0x5d, 0x95, 0xfa, 0xbb, 0xd6, 0xb0, 0x7c, 0x12, 0xdf, 0xad, - 0x70, 0xbb, 0x2d, 0x17, 0xb8, 0x25, 0xd1, 0x56, 0x6f, 0xc5, 0x8a, 0x9d, 0x5b, 0x27, 0x02, 0x0f, - 0xf5, 0x0f, 0xd7, 0x50, 0xc2, 0x0a, 0xef, 0x81, 0x32, 0x0f, 0x89, 0xa3, 0x7c, 0xaa, 0xd4, 0x2f, - 0x5b, 0xb9, 0xc5, 0x69, 0xe5, 0xd8, 0x78, 0x3b, 0x24, 0xce, 0x30, 0x16, 0xf2, 0x0f, 0x29, 0x46, - 0x78, 0x1f, 0xcc, 0x71, 0x81, 0x45, 0x97, 0xab, 0x38, 0x54, 0xea, 0x57, 0xf6, 0xc1, 0xad, 0xe4, - 0x1b, 0x47, 0x35, 0xfb, 0x5c, 0xfc, 0x8f, 0x34, 0xaf, 0xf9, 0x5d, 0x09, 0x2c, 0xe7, 0x48, 0x36, - 0x03, 0xdf, 0xa5, 0x82, 0x06, 0x3e, 0xbc, 0x06, 0xca, 0x62, 0x27, 0x24, 0x3a, 0xad, 0x97, 0x06, - 0x86, 0xb6, 0x76, 0x42, 0xf2, 0xa2, 0x6f, 0x9c, 0xdb, 0x4d, 0x5e, 0xe2, 0x90, 0x62, 0x80, 0x6b, - 0x89, 0x43, 0xc5, 0x0c, 0x97, 0x36, 0xeb, 0x45, 0xdf, 0x98, 0x70, 0x20, 0xad, 0x84, 0x29, 0x6b, - 0x3c, 0xec, 0x01, 0xd8, 0xc1, 0x5c, 0xb4, 0x18, 0xf6, 0x79, 0xac, 0x89, 0x7a, 0x44, 0x87, 0xea, - 0xad, 0x97, 0x4b, 0xb2, 0x94, 0x68, 0x2c, 0x69, 0x2b, 0xe0, 0xda, 0x18, 0x1b, 0x9a, 0xa0, 0x01, - 0x9e, 0x07, 0x73, 0x8c, 0x60, 0x1e, 0xf8, 0xd5, 0xb2, 0xf2, 0x22, 0x09, 0x2e, 0x52, 0xab, 0x48, - 0xef, 0xc2, 0x37, 0xc1, 0x21, 0x8f, 0x70, 0x8e, 0xdb, 0xa4, 0x3a, 0xab, 0x80, 0x8b, 0x1a, 0x78, - 0x68, 0x3d, 0x5e, 0x46, 0x83, 0x7d, 0xf3, 0xcf, 0x02, 0x38, 0x93, 0x13, 0xc7, 0x35, 0xca, 0x05, - 0xfc, 0x62, 0xac, 0x8a, 0xad, 0x97, 0x73, 0x50, 0x4a, 0xab, 0x1a, 0x3e, 0xa6, 0x75, 0xcf, 0x0f, - 0x56, 0x52, 0x15, 0xfc, 0x09, 0x98, 0xa5, 0x82, 0x78, 0x32, 0x2b, 0xa5, 0x0b, 0x95, 0x7a, 0x7d, - 0xef, 0x65, 0xd6, 0x38, 0xa2, 0xe9, 0x67, 0xaf, 0x4b, 0x22, 0x14, 0xf3, 0x99, 0xff, 0x14, 0x73, - 0xdd, 0x92, 0x65, 0x0e, 0x7b, 0xe0, 0xa8, 0xfa, 0x6b, 0x61, 0xd6, 0x26, 0xb2, 0x91, 0x68, 0xe7, - 0xa6, 0x1d, 0xa2, 0x29, 0x0d, 0xa8, 0x71, 0x52, 0x5b, 0x71, 0xf4, 0x76, 0x86, 0x15, 0x8d, 0x68, - 0x81, 0x2b, 0xa0, 0xe2, 0x51, 0x1f, 0x91, 0xb0, 0x43, 0x1d, 0x1c, 0x17, 0xe3, 0x6c, 0x63, 0x31, - 0xea, 0x1b, 0x95, 0xf5, 0xe1, 0x32, 0x4a, 0x63, 0xe0, 0xfb, 0xa0, 0xe2, 0xe1, 0xaf, 0x12, 0x91, - 0x92, 0x12, 0x39, 0xae, 0xf5, 0x55, 0xd6, 0x87, 0x5b, 0x28, 0x8d, 0x83, 0x0f, 0x41, 0x4d, 0x28, - 0xb5, 0xcd, 0x8d, 0x3b, 0x77, 0x04, 0xed, 0xd0, 0x47, 0x58, 0xd6, 0xd1, 0x06, 0x61, 0x0e, 0xf1, - 0x85, 0x2c, 0x8d, 0xb2, 0x62, 0x32, 0xa3, 0xbe, 0x51, 0x6b, 0x4d, 0x45, 0xa2, 0x5d, 0x98, 0xcc, - 0xdf, 0x4a, 0xe0, 0xec, 0xd4, 0x36, 0x00, 0xaf, 0x02, 0x18, 0x6c, 0x72, 0xc2, 0x7a, 0xc4, 0xfd, - 0x28, 0xee, 0xed, 0xb2, 0xc9, 0xca, 0x98, 0x97, 0x1a, 0x27, 0xe5, 0x09, 0xb8, 0x39, 0xb6, 0x8b, - 0x26, 0x48, 0x40, 0x07, 0x1c, 0x91, 0xe7, 0x22, 0x8e, 0x32, 0xd5, 0xfd, 0x7c, 0x6f, 0x87, 0xee, - 0x7f, 0x51, 0xdf, 0x38, 0xb2, 0x96, 0x26, 0x41, 0x59, 0x4e, 0xb8, 0x0a, 0x16, 0x9d, 0x2e, 0x63, - 0xc4, 0x17, 0x23, 0x51, 0x3f, 0xa5, 0xa3, 0xbe, 0xd8, 0xcc, 0x6e, 0xa3, 0x51, 0xbc, 0xa4, 0x70, - 0x09, 0xa7, 0x8c, 0xb8, 0x09, 0x45, 0x39, 0x4b, 0xf1, 0x61, 0x76, 0x1b, 0x8d, 0xe2, 0xa1, 0x07, - 0x0c, 0xcd, 0x9a, 0x9b, 0xc1, 0x59, 0x45, 0xf9, 0x46, 0xd4, 0x37, 0x8c, 0xe6, 0x74, 0x28, 0xda, - 0x8d, 0xcb, 0xfc, 0xa5, 0x08, 0xc0, 0x3a, 0x11, 0x8c, 0x3a, 0xea, 0x80, 0x5c, 0xca, 0xb4, 0xde, - 0xe5, 0x91, 0xd6, 0x7b, 0x4c, 0x23, 0xd5, 0x04, 0x92, 0x6a, 0xb3, 0xb7, 0xc0, 0x5c, 0xa0, 0x4e, - 0x86, 0xce, 0xcb, 0xc5, 0x29, 0xc7, 0x29, 0xb9, 0xd2, 0x12, 0xa2, 0x06, 0x90, 0xbd, 0x4c, 0x1f, - 0x2d, 0x4d, 0x04, 0xaf, 0x83, 0x72, 0x18, 0xb8, 0x83, 0x8b, 0xe8, 0xed, 0x29, 0x84, 0x1b, 0x81, - 0xcb, 0x33, 0x74, 0xf3, 0xd2, 0x62, 0xb9, 0x8a, 0x14, 0x05, 0xfc, 0x14, 0xcc, 0x0f, 0xa6, 0x26, - 0x95, 0x8d, 0x4a, 0xdd, 0x9e, 0x42, 0x87, 0x34, 0x34, 0x43, 0xb9, 0x20, 0x1b, 0xd9, 0x60, 0x07, - 0x25, 0x74, 0xe6, 0xaf, 0x45, 0xb0, 0xa0, 0x81, 0x71, 0xc1, 0xbf, 0xe6, 0xf8, 0xc5, 0x97, 0xed, - 0x81, 0xc5, 0x2f, 0xa6, 0x3b, 0xd0, 0xf8, 0xc5, 0x94, 0x79, 0xf1, 0xfb, 0xbe, 0x08, 0xe0, 0x78, - 0x41, 0xc0, 0x2f, 0xc1, 0x5c, 0xdc, 0x7a, 0x5e, 0xb1, 0x3d, 0x27, 0x17, 0xa5, 0xee, 0xc4, 0x9a, - 0x55, 0xce, 0x7c, 0x9e, 0xd2, 0x77, 0x63, 0x38, 0x1b, 0x26, 0x33, 0xd7, 0x7a, 0xb2, 0x83, 0x52, - 0x28, 0x48, 0x40, 0x25, 0x96, 0xbe, 0x8b, 0x3b, 0xdd, 0xc1, 0xad, 0x3f, 0xf5, 0x52, 0xb4, 0x06, - 0x6e, 0x5a, 0xb7, 0xba, 0xd8, 0x17, 0x54, 0xec, 0x0c, 0xfb, 0x77, 0x6b, 0x48, 0x85, 0xd2, 0xbc, - 0xe6, 0x8f, 0xa3, 0x11, 0x89, 0xeb, 0xea, 0xbf, 0x18, 0x91, 0x2d, 0xb0, 0xa0, 0xbb, 0xcb, 0xab, - 0x84, 0xe4, 0x84, 0xd6, 0xb2, 0xd0, 0x4c, 0x71, 0xa1, 0x0c, 0xb3, 0xf9, 0x7b, 0x01, 0x1c, 0x1b, - 0x3d, 0xe6, 0x23, 0x26, 0x17, 0x5e, 0xca, 0xe4, 0x47, 0x00, 0xc6, 0x0e, 0xaf, 0xf6, 0x08, 0xc3, - 0x6d, 0x12, 0x1b, 0x5e, 0xdc, 0x97, 0xe1, 0xc9, 0x14, 0xd7, 0x1a, 0x63, 0x44, 0x13, 0xb4, 0x98, - 0x7f, 0x64, 0x9d, 0x88, 0xf3, 0xba, 0x1f, 0x27, 0xbe, 0x06, 0xc7, 0x75, 0x74, 0x0e, 0xc0, 0x8b, - 0x33, 0x5a, 0xd9, 0xf1, 0xe6, 0x38, 0x25, 0x9a, 0xa4, 0xc7, 0xfc, 0xb9, 0x08, 0x4e, 0x4c, 0x6a, - 0x92, 0xb0, 0xa9, 0xdf, 0x5a, 0xb1, 0x17, 0x76, 0xfa, 0xad, 0xf5, 0xa2, 0x6f, 0x18, 0x13, 0x06, - 0xed, 0x01, 0x4d, 0xea, 0x39, 0x76, 0x0f, 0x54, 0x33, 0xb1, 0x4b, 0xdd, 0x5a, 0x7a, 0x6c, 0xfa, - 0x7f, 0xd4, 0x37, 0xaa, 0xad, 0x1c, 0x0c, 0xca, 0x95, 0x96, 0xd3, 0xfb, 0x84, 0xdc, 0xef, 0xaf, - 0x68, 0x4f, 0xee, 0x21, 0xef, 0x8f, 0xc7, 0xe3, 0x15, 0xe7, 0xfe, 0x40, 0xe2, 0xf5, 0x39, 0x38, - 0x9d, 0x4d, 0xd2, 0x78, 0xc0, 0xce, 0x46, 0x7d, 0xe3, 0x74, 0x33, 0x0f, 0x84, 0xf2, 0xe5, 0xf3, - 0x2a, 0xad, 0xf4, 0x9a, 0x2a, 0xed, 0xdb, 0x22, 0x98, 0x55, 0xe3, 0xd9, 0x6b, 0x78, 0x54, 0x5f, - 0xcd, 0x3c, 0xaa, 0xcf, 0x4d, 0x69, 0xaf, 0xca, 0xa2, 0xdc, 0x27, 0xf4, 0x8d, 0x91, 0x27, 0xf4, - 0xf9, 0x5d, 0x99, 0xa6, 0x3f, 0x98, 0x3f, 0x00, 0x87, 0x13, 0x85, 0xf0, 0x1d, 0x79, 0x13, 0xeb, - 0xb9, 0xb2, 0xa0, 0x72, 0x9b, 0xbc, 0xb2, 0x92, 0x81, 0x32, 0x41, 0x98, 0x14, 0x54, 0x52, 0x1a, - 0xf6, 0x26, 0x2c, 0xd1, 0x9c, 0x74, 0x88, 0x23, 0x02, 0xa6, 0xaf, 0x83, 0x04, 0x7d, 0x5b, 0xaf, - 0xa3, 0x04, 0xd1, 0xb8, 0xf0, 0xe4, 0x79, 0x6d, 0xe6, 0xe9, 0xf3, 0xda, 0xcc, 0xb3, 0xe7, 0xb5, - 0x99, 0x6f, 0xa2, 0x5a, 0xe1, 0x49, 0x54, 0x2b, 0x3c, 0x8d, 0x6a, 0x85, 0x67, 0x51, 0xad, 0xf0, - 0x57, 0x54, 0x2b, 0xfc, 0xf0, 0x77, 0x6d, 0xe6, 0xb3, 0x62, 0x6f, 0xe5, 0xdf, 0x00, 0x00, 0x00, - 0xff, 0xff, 0x45, 0xeb, 0xd1, 0x70, 0x8f, 0x13, 0x00, 0x00, + // 1485 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcb, 0x6f, 0x14, 0x47, + 0x13, 0xf7, 0x3e, 0x6c, 0xec, 0x5e, 0x63, 0xf3, 0x35, 0x08, 0x8c, 0xf9, 0xd8, 0xb1, 0xe6, 0x43, + 0x88, 0x2f, 0x09, 0x33, 0xb1, 0x21, 0x88, 0x1c, 0xbd, 0x9b, 0x10, 0x50, 0xbc, 0x60, 0xda, 0x86, + 0x90, 0x87, 0x22, 0xda, 0xb3, 0xcd, 0xba, 0xf1, 0xce, 0xcc, 0xaa, 0xa7, 0x77, 0x85, 0x91, 0x22, + 0x25, 0x87, 0x9c, 0x13, 0x45, 0x4a, 0x94, 0x63, 0xfe, 0x81, 0x9c, 0x39, 0x27, 0x52, 0x24, 0x8e, + 0x1c, 0x72, 0xe0, 0x34, 0x0a, 0x93, 0x63, 0xfe, 0x03, 0x4e, 0x51, 0x3f, 0x76, 0x76, 0x66, 0x77, + 0x67, 0xfd, 0xc0, 0x58, 0xc9, 0x6d, 0x7a, 0xaa, 0xea, 0x57, 0xdd, 0x55, 0xd5, 0xf5, 0x68, 0x50, + 0xd9, 0xba, 0x1a, 0x58, 0xd4, 0xb7, 0xb7, 0xda, 0x1b, 0x84, 0x79, 0x84, 0x93, 0xc0, 0xee, 0x10, + 0xaf, 0xee, 0x33, 0x5b, 0x13, 0x70, 0x8b, 0xda, 0xb8, 0xcd, 0xfd, 0xc0, 0xc1, 0x4d, 0xea, 0x35, + 0xec, 0xce, 0xa2, 0xdd, 0x20, 0x1e, 0x61, 0x98, 0x93, 0xba, 0xd5, 0x62, 0x3e, 0xf7, 0xe1, 0x69, + 0xc5, 0x6a, 0xe1, 0x16, 0xb5, 0x12, 0xac, 0x56, 0x67, 0x71, 0xfe, 0x62, 0x83, 0xf2, 0xcd, 0xf6, + 0x86, 0xe5, 0xf8, 0xae, 0xdd, 0xf0, 0x1b, 0xbe, 0x2d, 0x25, 0x36, 0xda, 0x0f, 0xe4, 0x4a, 0x2e, + 0xe4, 0x97, 0x42, 0x9a, 0x37, 0x13, 0x4a, 0x1d, 0x9f, 0x91, 0x21, 0xda, 0xe6, 0x2f, 0xf7, 0x78, + 0x5c, 0xec, 0x6c, 0x52, 0x8f, 0xb0, 0x6d, 0xbb, 0xb5, 0xd5, 0x90, 0x42, 0x8c, 0x04, 0x7e, 0x9b, + 0x39, 0x64, 0x4f, 0x52, 0x81, 0xed, 0x12, 0x8e, 0x87, 0xe9, 0xb2, 0xb3, 0xa4, 0x58, 0xdb, 0xe3, + 0xd4, 0x1d, 0x54, 0x73, 0x65, 0x27, 0x81, 0xc0, 0xd9, 0x24, 0x2e, 0x1e, 0x90, 0xbb, 0x94, 0x25, + 0xd7, 0xe6, 0xb4, 0x69, 0x53, 0x8f, 0x07, 0x9c, 0xf5, 0x0b, 0x99, 0xdf, 0xe7, 0xc0, 0x99, 0x2a, + 0xf3, 0x83, 0xe0, 0x2e, 0x61, 0x01, 0xf5, 0xbd, 0x5b, 0x1b, 0x0f, 0x89, 0xc3, 0x11, 0x79, 0x40, + 0x18, 0xf1, 0x1c, 0x02, 0x17, 0x40, 0x71, 0x8b, 0x7a, 0xf5, 0xb9, 0xdc, 0x42, 0xee, 0xc2, 0x54, + 0x65, 0xfa, 0x69, 0x68, 0x8c, 0x45, 0xa1, 0x51, 0xfc, 0x90, 0x7a, 0x75, 0x24, 0x29, 0x82, 0xc3, + 0xc3, 0x2e, 0x99, 0xcb, 0xa7, 0x39, 0x6e, 0x62, 0x97, 0x20, 0x49, 0x81, 0x4b, 0x00, 0xe0, 0x16, + 0xd5, 0x0a, 0xe6, 0x0a, 0x92, 0x0f, 0x6a, 0x3e, 0xb0, 0xbc, 0x7a, 0x43, 0x53, 0x50, 0x82, 0xcb, + 0xfc, 0xa1, 0x00, 0x4e, 0xbc, 0xff, 0x88, 0x13, 0xe6, 0xe1, 0x66, 0x8d, 0x70, 0x46, 0x9d, 0x35, + 0xe9, 0x14, 0x01, 0xe6, 0xca, 0xb5, 0x50, 0xa0, 0xb7, 0x15, 0x83, 0xd5, 0x62, 0x0a, 0x4a, 0x70, + 0x41, 0x1f, 0xcc, 0xa8, 0xd5, 0x1a, 0x69, 0x12, 0x87, 0xfb, 0x4c, 0x6e, 0xb6, 0xb4, 0x74, 0xc9, + 0xea, 0x45, 0x5d, 0x6c, 0x32, 0xab, 0xb5, 0xd5, 0x10, 0x3f, 0x02, 0x4b, 0x78, 0xd4, 0xea, 0x2c, + 0x5a, 0x2b, 0x78, 0x83, 0x34, 0xbb, 0xa2, 0x15, 0x18, 0x85, 0xc6, 0x4c, 0x2d, 0x05, 0x87, 0xfa, + 0xe0, 0x21, 0x06, 0x25, 0x8e, 0x59, 0x83, 0xf0, 0xbb, 0xb8, 0xd9, 0x26, 0xf2, 0xc8, 0xa5, 0x25, + 0x6b, 0x94, 0x36, 0xab, 0x1b, 0x75, 0xd6, 0xed, 0x36, 0xf6, 0x38, 0xe5, 0xdb, 0x95, 0xd9, 0x28, + 0x34, 0x4a, 0xeb, 0x3d, 0x18, 0x94, 0xc4, 0x84, 0x1d, 0x00, 0xd5, 0x72, 0xb9, 0x43, 0x18, 0x6e, + 0x10, 0xa5, 0xa9, 0xb8, 0x2f, 0x4d, 0x27, 0xa3, 0xd0, 0x80, 0xeb, 0x03, 0x68, 0x68, 0x88, 0x06, + 0xf3, 0xa7, 0x41, 0xc7, 0x70, 0xcc, 0xdb, 0xc1, 0xbf, 0xc3, 0x31, 0x9b, 0x60, 0xda, 0x69, 0x33, + 0x46, 0xbc, 0x57, 0xf2, 0xcc, 0x09, 0x7d, 0xac, 0xe9, 0x6a, 0x02, 0x0b, 0xa5, 0x90, 0xe1, 0x36, + 0x38, 0xae, 0xd7, 0x07, 0xe0, 0xa0, 0x53, 0x51, 0x68, 0x1c, 0xaf, 0x0e, 0xc2, 0xa1, 0x61, 0x3a, + 0xcc, 0x27, 0x79, 0x70, 0xea, 0xba, 0xcf, 0xe8, 0x63, 0xdf, 0xe3, 0xb8, 0xb9, 0xea, 0xd7, 0x97, + 0x75, 0x42, 0x25, 0x0c, 0xde, 0x07, 0x93, 0xc2, 0x7a, 0x75, 0xcc, 0xb1, 0xf4, 0x51, 0x69, 0xe9, + 0xed, 0xdd, 0xd9, 0x5a, 0x25, 0x86, 0x1a, 0xe1, 0xb8, 0xe7, 0xd5, 0xde, 0x3f, 0x14, 0xa3, 0xc2, + 0x7b, 0xa0, 0x18, 0xb4, 0x88, 0xa3, 0x3d, 0x79, 0xc5, 0xca, 0x4c, 0xec, 0x56, 0xc6, 0x1e, 0xd7, + 0x5a, 0xc4, 0xe9, 0xe5, 0x11, 0xb1, 0x42, 0x12, 0x11, 0xde, 0x07, 0x13, 0x81, 0x8c, 0x35, 0xed, + 0xb6, 0xab, 0xfb, 0xc0, 0x96, 0xf2, 0x95, 0x19, 0x8d, 0x3e, 0xa1, 0xd6, 0x48, 0xe3, 0x9a, 0x5f, + 0x17, 0xc0, 0x42, 0x86, 0x64, 0xd5, 0xf7, 0xea, 0x94, 0x53, 0xdf, 0x83, 0xd7, 0x41, 0x91, 0x6f, + 0xb7, 0xba, 0x21, 0x7e, 0xb9, 0xbb, 0xd1, 0xf5, 0xed, 0x16, 0x79, 0x19, 0x1a, 0xe7, 0x76, 0x92, + 0x17, 0x7c, 0x48, 0x22, 0xc0, 0x95, 0xf8, 0x40, 0xf9, 0x14, 0x96, 0xde, 0xd6, 0xcb, 0xd0, 0x18, + 0x52, 0xcc, 0xac, 0x18, 0x29, 0xbd, 0x79, 0x91, 0x11, 0x9a, 0x38, 0xe0, 0xeb, 0x0c, 0x7b, 0x81, + 0xd2, 0x44, 0xdd, 0x6e, 0x84, 0xbf, 0xb1, 0x3b, 0x27, 0x0b, 0x89, 0xca, 0xbc, 0xde, 0x05, 0x5c, + 0x19, 0x40, 0x43, 0x43, 0x34, 0xc0, 0xf3, 0x60, 0x82, 0x11, 0x1c, 0xf8, 0x9e, 0x0c, 0xee, 0xa9, + 0x9e, 0x71, 0x91, 0xfc, 0x8b, 0x34, 0x15, 0xfe, 0x1f, 0x1c, 0x71, 0x49, 0x10, 0xe0, 0x06, 0x99, + 0x1b, 0x97, 0x8c, 0xb3, 0x9a, 0xf1, 0x48, 0x4d, 0xfd, 0x46, 0x5d, 0xba, 0xf9, 0x7b, 0x0e, 0x9c, + 0xc9, 0xb0, 0xe3, 0x0a, 0x0d, 0x38, 0xfc, 0x6c, 0x20, 0x8a, 0xad, 0x5d, 0x66, 0x0c, 0x1a, 0xa8, + 0x18, 0x3e, 0xa6, 0x75, 0x4f, 0x76, 0xff, 0x24, 0x22, 0xf8, 0x23, 0x30, 0x4e, 0x39, 0x71, 0x85, + 0x57, 0x0a, 0x17, 0x4a, 0x4b, 0x4b, 0x7b, 0x0f, 0xb3, 0xca, 0x51, 0x0d, 0x3f, 0x7e, 0x43, 0x00, + 0x21, 0x85, 0x67, 0xfe, 0x95, 0xcf, 0x3c, 0x96, 0x08, 0x73, 0xd8, 0x01, 0x33, 0x72, 0xa5, 0x52, + 0x31, 0x22, 0x0f, 0xf4, 0xe1, 0x46, 0x5d, 0xa2, 0x11, 0xc5, 0xbb, 0x72, 0x52, 0xef, 0x62, 0x66, + 0x2d, 0x85, 0x8a, 0xfa, 0xb4, 0xc0, 0x45, 0x50, 0x72, 0xa9, 0x87, 0x48, 0xab, 0x49, 0x1d, 0xac, + 0x82, 0x71, 0x5c, 0x95, 0x9f, 0x5a, 0xef, 0x37, 0x4a, 0xf2, 0xc0, 0x77, 0x40, 0xc9, 0xc5, 0x8f, + 0x62, 0x91, 0x82, 0x14, 0x39, 0xae, 0xf5, 0x95, 0x6a, 0x3d, 0x12, 0x4a, 0xf2, 0xc1, 0x87, 0xa0, + 0xac, 0x6a, 0x4a, 0x75, 0xf5, 0xce, 0x1d, 0x4e, 0x9b, 0xf4, 0x31, 0x16, 0x71, 0xb4, 0x4a, 0x98, + 0x43, 0x3c, 0x2e, 0x42, 0xa3, 0x28, 0x91, 0xcc, 0x28, 0x34, 0xca, 0xeb, 0x23, 0x39, 0xd1, 0x0e, + 0x48, 0xe6, 0x2f, 0x05, 0x70, 0x76, 0x64, 0x1a, 0x80, 0xd7, 0x00, 0xf4, 0x37, 0x02, 0xc2, 0x3a, + 0xa4, 0xfe, 0x81, 0xea, 0x8b, 0x44, 0x83, 0x22, 0x6c, 0x5e, 0x50, 0x35, 0xf1, 0xd6, 0x00, 0x15, + 0x0d, 0x91, 0x80, 0x0e, 0x38, 0x2a, 0xee, 0x85, 0xb2, 0x32, 0xd5, 0xbd, 0xd0, 0xde, 0x2e, 0xdd, + 0x7f, 0xa2, 0xd0, 0x38, 0xba, 0x92, 0x04, 0x41, 0x69, 0x4c, 0xb8, 0x0c, 0x66, 0x75, 0xb2, 0xef, + 0xb3, 0xfa, 0x29, 0x6d, 0xf5, 0xd9, 0x6a, 0x9a, 0x8c, 0xfa, 0xf9, 0x05, 0x44, 0x9d, 0x04, 0x94, + 0x91, 0x7a, 0x0c, 0x51, 0x4c, 0x43, 0xbc, 0x97, 0x26, 0xa3, 0x7e, 0x7e, 0xe8, 0x02, 0x43, 0xa3, + 0x66, 0x7a, 0x70, 0x5c, 0x42, 0xfe, 0x2f, 0x0a, 0x0d, 0xa3, 0x3a, 0x9a, 0x15, 0xed, 0x84, 0x25, + 0xda, 0x40, 0xdd, 0x3b, 0xc8, 0x0b, 0x72, 0x39, 0x95, 0x7a, 0x17, 0xfa, 0x52, 0xef, 0xb1, 0x64, + 0xa3, 0x98, 0x48, 0xb3, 0xb7, 0xc1, 0x84, 0x2f, 0x6f, 0x86, 0xf6, 0xcb, 0xc5, 0x11, 0xd7, 0x29, + 0x2e, 0x69, 0x31, 0x50, 0x05, 0x88, 0x5c, 0xa6, 0xaf, 0x96, 0x06, 0x82, 0x37, 0x40, 0xb1, 0xe5, + 0xd7, 0xbb, 0x85, 0xe8, 0xcd, 0x11, 0x80, 0xab, 0x7e, 0x3d, 0x48, 0xc1, 0x4d, 0x8a, 0x1d, 0x8b, + 0xbf, 0x48, 0x42, 0xc0, 0x8f, 0xc1, 0x64, 0xb7, 0xe0, 0xeb, 0xee, 0xc0, 0x1e, 0x01, 0x87, 0x34, + 0x6b, 0x0a, 0x72, 0x5a, 0x24, 0xb2, 0x2e, 0x05, 0xc5, 0x70, 0x02, 0x9a, 0xe8, 0x56, 0x4d, 0x7a, + 0x65, 0x34, 0xf4, 0xb0, 0x76, 0x5b, 0x41, 0x77, 0x29, 0x28, 0x86, 0x33, 0x7f, 0x2c, 0x80, 0xe9, + 0x54, 0xfb, 0x77, 0xc8, 0xae, 0x51, 0x75, 0xfc, 0xc0, 0x5c, 0xa3, 0xe0, 0x0e, 0xd4, 0x35, 0x0a, + 0xf2, 0xb5, 0xb8, 0x26, 0x01, 0x3d, 0xc4, 0x35, 0xdf, 0xe4, 0x01, 0x1c, 0x0c, 0x63, 0xf8, 0x39, + 0x98, 0x50, 0x09, 0xf3, 0x15, 0x8b, 0x4a, 0x5c, 0xde, 0x75, 0xfd, 0xd0, 0xa8, 0x7d, 0xfd, 0x7f, + 0x7e, 0x57, 0xfd, 0x3f, 0x39, 0x88, 0x39, 0x29, 0xae, 0x3a, 0x59, 0xb3, 0x92, 0xf9, 0x5d, 0xbf, + 0x45, 0x54, 0xc8, 0xfe, 0x13, 0x2d, 0x72, 0x68, 0x03, 0x8a, 0xf9, 0x6b, 0x0e, 0x1c, 0xeb, 0x4f, + 0x4e, 0xfb, 0x1a, 0xe2, 0x1e, 0x0f, 0x9d, 0x44, 0xf3, 0xfb, 0xda, 0x78, 0xdc, 0x7b, 0xee, 0x72, + 0x1a, 0xfd, 0x2d, 0x7d, 0x88, 0xfd, 0x4f, 0xa2, 0x5f, 0x0c, 0x1f, 0xd7, 0xf6, 0x77, 0x8a, 0x33, + 0x5a, 0xd9, 0xee, 0x47, 0xb6, 0x9f, 0xf3, 0xe0, 0xc4, 0xb0, 0xd4, 0x0e, 0xab, 0xfa, 0x75, 0x45, + 0x9d, 0xc2, 0x4e, 0xbe, 0xae, 0xbc, 0x0c, 0x0d, 0x63, 0xc8, 0x78, 0xd0, 0x85, 0x49, 0x3c, 0xc0, + 0xdc, 0x03, 0x73, 0x29, 0xdb, 0x25, 0x6a, 0xad, 0x6e, 0xf6, 0xfe, 0x1b, 0x85, 0xc6, 0xdc, 0x7a, + 0x06, 0x0f, 0xca, 0x94, 0xce, 0x78, 0x85, 0x28, 0xbc, 0xf6, 0x57, 0x88, 0x27, 0x83, 0xf6, 0x52, + 0xbe, 0x3f, 0x10, 0x7b, 0x7d, 0x0a, 0x4e, 0xa7, 0x9d, 0x34, 0x68, 0xb0, 0xb3, 0x51, 0x68, 0x9c, + 0xae, 0x66, 0x31, 0xa1, 0x6c, 0xf9, 0xac, 0x48, 0x2b, 0x1c, 0x52, 0xa4, 0x7d, 0x95, 0x07, 0xe3, + 0xb2, 0xa9, 0x3c, 0x84, 0xa7, 0x80, 0x6b, 0xa9, 0xa7, 0x80, 0x73, 0x23, 0xd2, 0xab, 0xdc, 0x51, + 0xe6, 0xe0, 0x7f, 0xb3, 0x6f, 0xf0, 0x3f, 0xbf, 0x23, 0xd2, 0xe8, 0x31, 0xff, 0x5d, 0x30, 0x15, + 0x2b, 0x84, 0x6f, 0x89, 0x22, 0xaf, 0xbb, 0xe1, 0x9c, 0xf4, 0x6d, 0x3c, 0x1b, 0xc6, 0x6d, 0x70, + 0xcc, 0x61, 0x52, 0x50, 0x4a, 0x68, 0xd8, 0x9b, 0xb0, 0xe0, 0x0e, 0x92, 0x0f, 0x5d, 0x53, 0x3d, + 0xee, 0xf8, 0xc5, 0x2a, 0xe6, 0xa8, 0x5c, 0x78, 0xfa, 0xa2, 0x3c, 0xf6, 0xec, 0x45, 0x79, 0xec, + 0xf9, 0x8b, 0xf2, 0xd8, 0x97, 0x51, 0x39, 0xf7, 0x34, 0x2a, 0xe7, 0x9e, 0x45, 0xe5, 0xdc, 0xf3, + 0xa8, 0x9c, 0xfb, 0x23, 0x2a, 0xe7, 0xbe, 0xfd, 0xb3, 0x3c, 0xf6, 0x49, 0xbe, 0xb3, 0xf8, 0x77, + 0x00, 0x00, 0x00, 0xff, 0xff, 0x61, 0x55, 0xfd, 0xeb, 0x81, 0x17, 0x00, 0x00, } diff --git a/vendor/k8s.io/api/autoscaling/v1/generated.proto b/vendor/k8s.io/api/autoscaling/v1/generated.proto index 33eecf4d..64f01f47 100644 --- a/vendor/k8s.io/api/autoscaling/v1/generated.proto +++ b/vendor/k8s.io/api/autoscaling/v1/generated.proto @@ -44,6 +44,49 @@ message CrossVersionObjectReference { optional string apiVersion = 3; } +// ExternalMetricSource indicates how to scale on a metric not associated with +// any Kubernetes object (for example length of queue in cloud +// messaging service, or QPS from loadbalancer running outside of cluster). +message ExternalMetricSource { + // metricName is the name of the metric in question. + optional string metricName = 1; + + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + + // targetValue is the target value of the metric (as a quantity). + // Mutually exclusive with TargetAverageValue. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3; + + // targetAverageValue is the target per-pod value of global metric (as a quantity). + // Mutually exclusive with TargetValue. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; +} + +// ExternalMetricStatus indicates the current value of a global metric +// not associated with any Kubernetes object. +message ExternalMetricStatus { + // metricName is the name of a metric used for autoscaling in + // metric system. + optional string metricName = 1; + + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + + // currentValue is the current value of the metric (as a quantity) + optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3; + + // currentAverageValue is the current value of metric averaged over autoscaled pods. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; +} + // configuration of a horizontal pod autoscaler. message HorizontalPodAutoscaler { // Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata @@ -160,6 +203,14 @@ message MetricSpec { // to normal per-pod metrics using the "pods" source. // +optional optional ResourceMetricSource resource = 4; + + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + optional ExternalMetricSource external = 5; } // MetricStatus describes the last-read state of a single metric. @@ -186,6 +237,14 @@ message MetricStatus { // to normal per-pod metrics using the "pods" source. // +optional optional ResourceMetricStatus resource = 4; + + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + optional ExternalMetricStatus external = 5; } // ObjectMetricSource indicates how to scale on a metric describing a diff --git a/vendor/k8s.io/api/autoscaling/v1/types.go b/vendor/k8s.io/api/autoscaling/v1/types.go index eeadaf88..344af774 100644 --- a/vendor/k8s.io/api/autoscaling/v1/types.go +++ b/vendor/k8s.io/api/autoscaling/v1/types.go @@ -161,6 +161,12 @@ var ( // Kubernetes, and have special scaling options on top of those available // to normal per-pod metrics (the "pods" source). ResourceMetricSourceType MetricSourceType = "Resource" + // ExternalMetricSourceType is a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + ExternalMetricSourceType MetricSourceType = "External" ) // MetricSpec specifies how to scale based on a single metric @@ -186,6 +192,13 @@ type MetricSpec struct { // to normal per-pod metrics using the "pods" source. // +optional Resource *ResourceMetricSource `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"` + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + External *ExternalMetricSource `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"` } // ObjectMetricSource indicates how to scale on a metric describing a @@ -234,6 +247,26 @@ type ResourceMetricSource struct { TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,3,opt,name=targetAverageValue"` } +// ExternalMetricSource indicates how to scale on a metric not associated with +// any Kubernetes object (for example length of queue in cloud +// messaging service, or QPS from loadbalancer running outside of cluster). +type ExternalMetricSource struct { + // metricName is the name of the metric in question. + MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"` + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"` + // targetValue is the target value of the metric (as a quantity). + // Mutually exclusive with TargetAverageValue. + // +optional + TargetValue *resource.Quantity `json:"targetValue,omitempty" protobuf:"bytes,3,opt,name=targetValue"` + // targetAverageValue is the target per-pod value of global metric (as a quantity). + // Mutually exclusive with TargetValue. + // +optional + TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,4,opt,name=targetAverageValue"` +} + // MetricStatus describes the last-read state of a single metric. type MetricStatus struct { // type is the type of metric source. It will be one of "Object", @@ -256,6 +289,13 @@ type MetricStatus struct { // to normal per-pod metrics using the "pods" source. // +optional Resource *ResourceMetricStatus `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"` + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + External *ExternalMetricStatus `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"` } // HorizontalPodAutoscalerConditionType are the valid conditions of @@ -337,3 +377,20 @@ type ResourceMetricStatus struct { // It will always be set, regardless of the corresponding metric specification. CurrentAverageValue resource.Quantity `json:"currentAverageValue" protobuf:"bytes,3,name=currentAverageValue"` } + +// ExternalMetricStatus indicates the current value of a global metric +// not associated with any Kubernetes object. +type ExternalMetricStatus struct { + // metricName is the name of a metric used for autoscaling in + // metric system. + MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"` + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"` + // currentValue is the current value of the metric (as a quantity) + CurrentValue resource.Quantity `json:"currentValue" protobuf:"bytes,3,name=currentValue"` + // currentAverageValue is the current value of metric averaged over autoscaled pods. + // +optional + CurrentAverageValue *resource.Quantity `json:"currentAverageValue,omitempty" protobuf:"bytes,4,opt,name=currentAverageValue"` +} diff --git a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go index 5506b76f..ec364f53 100644 --- a/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/autoscaling/v1/types_swagger_doc_generated.go @@ -38,6 +38,30 @@ func (CrossVersionObjectReference) SwaggerDoc() map[string]string { return map_CrossVersionObjectReference } +var map_ExternalMetricSource = map[string]string{ + "": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", + "metricName": "metricName is the name of the metric in question.", + "metricSelector": "metricSelector is used to identify a specific time series within a given metric.", + "targetValue": "targetValue is the target value of the metric (as a quantity). Mutually exclusive with TargetAverageValue.", + "targetAverageValue": "targetAverageValue is the target per-pod value of global metric (as a quantity). Mutually exclusive with TargetValue.", +} + +func (ExternalMetricSource) SwaggerDoc() map[string]string { + return map_ExternalMetricSource +} + +var map_ExternalMetricStatus = map[string]string{ + "": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.", + "metricName": "metricName is the name of a metric used for autoscaling in metric system.", + "metricSelector": "metricSelector is used to identify a specific time series within a given metric.", + "currentValue": "currentValue is the current value of the metric (as a quantity)", + "currentAverageValue": "currentAverageValue is the current value of metric averaged over autoscaled pods.", +} + +func (ExternalMetricStatus) SwaggerDoc() map[string]string { + return map_ExternalMetricStatus +} + var map_HorizontalPodAutoscaler = map[string]string{ "": "configuration of a horizontal pod autoscaler.", "metadata": "Standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", @@ -103,6 +127,7 @@ var map_MetricSpec = map[string]string{ "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", } func (MetricSpec) SwaggerDoc() map[string]string { @@ -115,6 +140,7 @@ var map_MetricStatus = map[string]string{ "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", } func (MetricStatus) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go index 3622cf45..46f242c8 100644 --- a/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/api/autoscaling/v1/zz_generated.deepcopy.go @@ -42,6 +42,84 @@ func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) { + *out = *in + if in.MetricSelector != nil { + in, out := &in.MetricSelector, &out.MetricSelector + if *in == nil { + *out = nil + } else { + *out = new(meta_v1.LabelSelector) + (*in).DeepCopyInto(*out) + } + } + if in.TargetValue != nil { + in, out := &in.TargetValue, &out.TargetValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + if in.TargetAverageValue != nil { + in, out := &in.TargetAverageValue, &out.TargetAverageValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricSource. +func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource { + if in == nil { + return nil + } + out := new(ExternalMetricSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) { + *out = *in + if in.MetricSelector != nil { + in, out := &in.MetricSelector, &out.MetricSelector + if *in == nil { + *out = nil + } else { + *out = new(meta_v1.LabelSelector) + (*in).DeepCopyInto(*out) + } + } + out.CurrentValue = in.CurrentValue.DeepCopy() + if in.CurrentAverageValue != nil { + in, out := &in.CurrentAverageValue, &out.CurrentAverageValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricStatus. +func (in *ExternalMetricStatus) DeepCopy() *ExternalMetricStatus { + if in == nil { + return nil + } + out := new(ExternalMetricStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler) { *out = *in @@ -230,6 +308,15 @@ func (in *MetricSpec) DeepCopyInto(out *MetricSpec) { (*in).DeepCopyInto(*out) } } + if in.External != nil { + in, out := &in.External, &out.External + if *in == nil { + *out = nil + } else { + *out = new(ExternalMetricSource) + (*in).DeepCopyInto(*out) + } + } return } @@ -273,6 +360,15 @@ func (in *MetricStatus) DeepCopyInto(out *MetricStatus) { (*in).DeepCopyInto(*out) } } + if in.External != nil { + in, out := &in.External, &out.External + if *in == nil { + *out = nil + } else { + *out = new(ExternalMetricStatus) + (*in).DeepCopyInto(*out) + } + } return } diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go b/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go index 908c049e..784e4be2 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/generated.pb.go @@ -26,6 +26,8 @@ limitations under the License. It has these top-level messages: CrossVersionObjectReference + ExternalMetricSource + ExternalMetricStatus HorizontalPodAutoscaler HorizontalPodAutoscalerCondition HorizontalPodAutoscalerList @@ -73,68 +75,78 @@ func (*CrossVersionObjectReference) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{0} } +func (m *ExternalMetricSource) Reset() { *m = ExternalMetricSource{} } +func (*ExternalMetricSource) ProtoMessage() {} +func (*ExternalMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } + +func (m *ExternalMetricStatus) Reset() { *m = ExternalMetricStatus{} } +func (*ExternalMetricStatus) ProtoMessage() {} +func (*ExternalMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{2} } + func (m *HorizontalPodAutoscaler) Reset() { *m = HorizontalPodAutoscaler{} } func (*HorizontalPodAutoscaler) ProtoMessage() {} -func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{1} } +func (*HorizontalPodAutoscaler) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{3} } func (m *HorizontalPodAutoscalerCondition) Reset() { *m = HorizontalPodAutoscalerCondition{} } func (*HorizontalPodAutoscalerCondition) ProtoMessage() {} func (*HorizontalPodAutoscalerCondition) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{2} + return fileDescriptorGenerated, []int{4} } func (m *HorizontalPodAutoscalerList) Reset() { *m = HorizontalPodAutoscalerList{} } func (*HorizontalPodAutoscalerList) ProtoMessage() {} func (*HorizontalPodAutoscalerList) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{3} + return fileDescriptorGenerated, []int{5} } func (m *HorizontalPodAutoscalerSpec) Reset() { *m = HorizontalPodAutoscalerSpec{} } func (*HorizontalPodAutoscalerSpec) ProtoMessage() {} func (*HorizontalPodAutoscalerSpec) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{4} + return fileDescriptorGenerated, []int{6} } func (m *HorizontalPodAutoscalerStatus) Reset() { *m = HorizontalPodAutoscalerStatus{} } func (*HorizontalPodAutoscalerStatus) ProtoMessage() {} func (*HorizontalPodAutoscalerStatus) Descriptor() ([]byte, []int) { - return fileDescriptorGenerated, []int{5} + return fileDescriptorGenerated, []int{7} } func (m *MetricSpec) Reset() { *m = MetricSpec{} } func (*MetricSpec) ProtoMessage() {} -func (*MetricSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{6} } +func (*MetricSpec) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } func (m *MetricStatus) Reset() { *m = MetricStatus{} } func (*MetricStatus) ProtoMessage() {} -func (*MetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{7} } +func (*MetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } func (m *ObjectMetricSource) Reset() { *m = ObjectMetricSource{} } func (*ObjectMetricSource) ProtoMessage() {} -func (*ObjectMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{8} } +func (*ObjectMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } func (m *ObjectMetricStatus) Reset() { *m = ObjectMetricStatus{} } func (*ObjectMetricStatus) ProtoMessage() {} -func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{9} } +func (*ObjectMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } func (m *PodsMetricSource) Reset() { *m = PodsMetricSource{} } func (*PodsMetricSource) ProtoMessage() {} -func (*PodsMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{10} } +func (*PodsMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } func (m *PodsMetricStatus) Reset() { *m = PodsMetricStatus{} } func (*PodsMetricStatus) ProtoMessage() {} -func (*PodsMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{11} } +func (*PodsMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } func (m *ResourceMetricSource) Reset() { *m = ResourceMetricSource{} } func (*ResourceMetricSource) ProtoMessage() {} -func (*ResourceMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{12} } +func (*ResourceMetricSource) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{14} } func (m *ResourceMetricStatus) Reset() { *m = ResourceMetricStatus{} } func (*ResourceMetricStatus) ProtoMessage() {} -func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{13} } +func (*ResourceMetricStatus) Descriptor() ([]byte, []int) { return fileDescriptorGenerated, []int{15} } func init() { proto.RegisterType((*CrossVersionObjectReference)(nil), "k8s.io.api.autoscaling.v2beta1.CrossVersionObjectReference") + proto.RegisterType((*ExternalMetricSource)(nil), "k8s.io.api.autoscaling.v2beta1.ExternalMetricSource") + proto.RegisterType((*ExternalMetricStatus)(nil), "k8s.io.api.autoscaling.v2beta1.ExternalMetricStatus") proto.RegisterType((*HorizontalPodAutoscaler)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscaler") proto.RegisterType((*HorizontalPodAutoscalerCondition)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerCondition") proto.RegisterType((*HorizontalPodAutoscalerList)(nil), "k8s.io.api.autoscaling.v2beta1.HorizontalPodAutoscalerList") @@ -179,6 +191,108 @@ func (m *CrossVersionObjectReference) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *ExternalMetricSource) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExternalMetricSource) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) + i += copy(dAtA[i:], m.MetricName) + if m.MetricSelector != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MetricSelector.Size())) + n1, err := m.MetricSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n1 + } + if m.TargetValue != nil { + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TargetValue.Size())) + n2, err := m.TargetValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n2 + } + if m.TargetAverageValue != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) + n3, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n3 + } + return i, nil +} + +func (m *ExternalMetricStatus) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *ExternalMetricStatus) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) + i += copy(dAtA[i:], m.MetricName) + if m.MetricSelector != nil { + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.MetricSelector.Size())) + n4, err := m.MetricSelector.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n4 + } + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) + n5, err := m.CurrentValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n5 + if m.CurrentAverageValue != nil { + dAtA[i] = 0x22 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) + n6, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } + return i, nil +} + func (m *HorizontalPodAutoscaler) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -197,27 +311,27 @@ func (m *HorizontalPodAutoscaler) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n1, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n7, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n1 + i += n7 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n2, err := m.Spec.MarshalTo(dAtA[i:]) + n8, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n2 + i += n8 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n3, err := m.Status.MarshalTo(dAtA[i:]) + n9, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n3 + i += n9 return i, nil } @@ -247,11 +361,11 @@ func (m *HorizontalPodAutoscalerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n4, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n10, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n4 + i += n10 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -281,11 +395,11 @@ func (m *HorizontalPodAutoscalerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n5, err := m.ListMeta.MarshalTo(dAtA[i:]) + n11, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n5 + i += n11 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -319,11 +433,11 @@ func (m *HorizontalPodAutoscalerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleTargetRef.Size())) - n6, err := m.ScaleTargetRef.MarshalTo(dAtA[i:]) + n12, err := m.ScaleTargetRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n12 if m.MinReplicas != nil { dAtA[i] = 0x10 i++ @@ -371,11 +485,11 @@ func (m *HorizontalPodAutoscalerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastScaleTime.Size())) - n7, err := m.LastScaleTime.MarshalTo(dAtA[i:]) + n13, err := m.LastScaleTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n13 } dAtA[i] = 0x18 i++ @@ -433,31 +547,41 @@ func (m *MetricSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) - n8, err := m.Object.MarshalTo(dAtA[i:]) + n14, err := m.Object.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n14 } if m.Pods != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size())) - n9, err := m.Pods.MarshalTo(dAtA[i:]) + n15, err := m.Pods.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n15 } if m.Resource != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) - n10, err := m.Resource.MarshalTo(dAtA[i:]) + n16, err := m.Resource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n16 + } + if m.External != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) + n17, err := m.External.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n17 } return i, nil } @@ -485,31 +609,41 @@ func (m *MetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Object.Size())) - n11, err := m.Object.MarshalTo(dAtA[i:]) + n18, err := m.Object.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n18 } if m.Pods != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Pods.Size())) - n12, err := m.Pods.MarshalTo(dAtA[i:]) + n19, err := m.Pods.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n19 } if m.Resource != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resource.Size())) - n13, err := m.Resource.MarshalTo(dAtA[i:]) + n20, err := m.Resource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n20 + } + if m.External != nil { + dAtA[i] = 0x2a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.External.Size())) + n21, err := m.External.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n21 } return i, nil } @@ -532,11 +666,11 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) - n14, err := m.Target.MarshalTo(dAtA[i:]) + n22, err := m.Target.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n22 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) @@ -544,11 +678,11 @@ func (m *ObjectMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetValue.Size())) - n15, err := m.TargetValue.MarshalTo(dAtA[i:]) + n23, err := m.TargetValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n23 return i, nil } @@ -570,11 +704,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Target.Size())) - n16, err := m.Target.MarshalTo(dAtA[i:]) + n24, err := m.Target.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n16 + i += n24 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.MetricName))) @@ -582,11 +716,11 @@ func (m *ObjectMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentValue.Size())) - n17, err := m.CurrentValue.MarshalTo(dAtA[i:]) + n25, err := m.CurrentValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n25 return i, nil } @@ -612,11 +746,11 @@ func (m *PodsMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) - n18, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + n26, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n26 return i, nil } @@ -642,11 +776,11 @@ func (m *PodsMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) - n19, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + n27, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n27 return i, nil } @@ -678,11 +812,11 @@ func (m *ResourceMetricSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetAverageValue.Size())) - n20, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) + n28, err := m.TargetAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n28 } return i, nil } @@ -714,11 +848,11 @@ func (m *ResourceMetricStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CurrentAverageValue.Size())) - n21, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) + n29, err := m.CurrentAverageValue.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n29 return i, nil } @@ -761,6 +895,44 @@ func (m *CrossVersionObjectReference) Size() (n int) { return n } +func (m *ExternalMetricSource) Size() (n int) { + var l int + _ = l + l = len(m.MetricName) + n += 1 + l + sovGenerated(uint64(l)) + if m.MetricSelector != nil { + l = m.MetricSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TargetValue != nil { + l = m.TargetValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.TargetAverageValue != nil { + l = m.TargetAverageValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + +func (m *ExternalMetricStatus) Size() (n int) { + var l int + _ = l + l = len(m.MetricName) + n += 1 + l + sovGenerated(uint64(l)) + if m.MetricSelector != nil { + l = m.MetricSelector.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + l = m.CurrentValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + if m.CurrentAverageValue != nil { + l = m.CurrentAverageValue.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + return n +} + func (m *HorizontalPodAutoscaler) Size() (n int) { var l int _ = l @@ -865,6 +1037,10 @@ func (m *MetricSpec) Size() (n int) { l = m.Resource.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.External != nil { + l = m.External.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -885,6 +1061,10 @@ func (m *MetricStatus) Size() (n int) { l = m.Resource.Size() n += 1 + l + sovGenerated(uint64(l)) } + if m.External != nil { + l = m.External.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -985,6 +1165,32 @@ func (this *CrossVersionObjectReference) String() string { }, "") return s } +func (this *ExternalMetricSource) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExternalMetricSource{`, + `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, + `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `TargetValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `TargetAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.TargetAverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `}`, + }, "") + return s +} +func (this *ExternalMetricStatus) String() string { + if this == nil { + return "nil" + } + s := strings.Join([]string{`&ExternalMetricStatus{`, + `MetricName:` + fmt.Sprintf("%v", this.MetricName) + `,`, + `MetricSelector:` + strings.Replace(fmt.Sprintf("%v", this.MetricSelector), "LabelSelector", "k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector", 1) + `,`, + `CurrentValue:` + strings.Replace(strings.Replace(this.CurrentValue.String(), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1), `&`, ``, 1) + `,`, + `CurrentAverageValue:` + strings.Replace(fmt.Sprintf("%v", this.CurrentAverageValue), "Quantity", "k8s_io_apimachinery_pkg_api_resource.Quantity", 1) + `,`, + `}`, + }, "") + return s +} func (this *HorizontalPodAutoscaler) String() string { if this == nil { return "nil" @@ -1059,6 +1265,7 @@ func (this *MetricSpec) String() string { `Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricSource", "ObjectMetricSource", 1) + `,`, `Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricSource", "PodsMetricSource", 1) + `,`, `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricSource", "ResourceMetricSource", 1) + `,`, + `External:` + strings.Replace(fmt.Sprintf("%v", this.External), "ExternalMetricSource", "ExternalMetricSource", 1) + `,`, `}`, }, "") return s @@ -1072,6 +1279,7 @@ func (this *MetricStatus) String() string { `Object:` + strings.Replace(fmt.Sprintf("%v", this.Object), "ObjectMetricStatus", "ObjectMetricStatus", 1) + `,`, `Pods:` + strings.Replace(fmt.Sprintf("%v", this.Pods), "PodsMetricStatus", "PodsMetricStatus", 1) + `,`, `Resource:` + strings.Replace(fmt.Sprintf("%v", this.Resource), "ResourceMetricStatus", "ResourceMetricStatus", 1) + `,`, + `External:` + strings.Replace(fmt.Sprintf("%v", this.External), "ExternalMetricStatus", "ExternalMetricStatus", 1) + `,`, `}`, }, "") return s @@ -1291,6 +1499,359 @@ func (m *CrossVersionObjectReference) Unmarshal(dAtA []byte) error { } return nil } +func (m *ExternalMetricSource) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExternalMetricSource: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExternalMetricSource: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MetricName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MetricSelector == nil { + m.MetricSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} + } + if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TargetValue == nil { + m.TargetValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.TargetValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field TargetAverageValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.TargetAverageValue == nil { + m.TargetAverageValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.TargetAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *ExternalMetricStatus) Unmarshal(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: ExternalMetricStatus: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: ExternalMetricStatus: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricName", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + intStringLen + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.MetricName = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field MetricSelector", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.MetricSelector == nil { + m.MetricSelector = &k8s_io_apimachinery_pkg_apis_meta_v1.LabelSelector{} + } + if err := m.MetricSelector.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if err := m.CurrentValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field CurrentAverageValue", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.CurrentAverageValue == nil { + m.CurrentAverageValue = &k8s_io_apimachinery_pkg_api_resource.Quantity{} + } + if err := m.CurrentAverageValue.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := skipGenerated(dAtA[iNdEx:]) + if err != nil { + return err + } + if skippy < 0 { + return ErrInvalidLengthGenerated + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} func (m *HorizontalPodAutoscaler) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 @@ -2248,6 +2809,39 @@ func (m *MetricSpec) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field External", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.External == nil { + m.External = &ExternalMetricSource{} + } + if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -2426,6 +3020,39 @@ func (m *MetricStatus) Unmarshal(dAtA []byte) error { return err } iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field External", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.External == nil { + m.External = &ExternalMetricStatus{} + } + if err := m.External.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -3314,88 +3941,96 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 1316 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xcc, 0x57, 0xcd, 0x6f, 0x1b, 0x45, - 0x14, 0x8f, 0x1d, 0x27, 0x0d, 0xe3, 0x34, 0x29, 0xd3, 0xaa, 0x75, 0x53, 0x6a, 0x47, 0x2b, 0x84, - 0x4a, 0x45, 0x77, 0x5b, 0x13, 0x3e, 0x24, 0x84, 0x44, 0x6c, 0x44, 0x5b, 0x91, 0xb4, 0x65, 0x9a, - 0x56, 0x08, 0x0a, 0x62, 0xb2, 0x3b, 0x75, 0x86, 0x78, 0x3f, 0x34, 0x33, 0xb6, 0x48, 0x11, 0x12, - 0x17, 0xee, 0x1c, 0x40, 0xfc, 0x15, 0x5c, 0xe1, 0x0c, 0x12, 0x52, 0x85, 0x38, 0xf4, 0x58, 0x84, - 0x64, 0x51, 0xf3, 0x5f, 0xf4, 0x84, 0xe6, 0xc3, 0xfb, 0x61, 0x7b, 0xe3, 0xc4, 0x44, 0xc0, 0xcd, - 0x3b, 0xef, 0xf7, 0x7e, 0xef, 0xbd, 0xdf, 0xbc, 0x79, 0x33, 0x06, 0x57, 0x77, 0x5f, 0xe7, 0x36, - 0x0d, 0x9d, 0xdd, 0xce, 0x36, 0x61, 0x01, 0x11, 0x84, 0x3b, 0x5d, 0x12, 0x78, 0x21, 0x73, 0x8c, - 0x01, 0x47, 0xd4, 0xc1, 0x1d, 0x11, 0x72, 0x17, 0xb7, 0x69, 0xd0, 0x72, 0xba, 0xf5, 0x6d, 0x22, - 0xf0, 0x15, 0xa7, 0x45, 0x02, 0xc2, 0xb0, 0x20, 0x9e, 0x1d, 0xb1, 0x50, 0x84, 0xb0, 0xaa, 0xf1, - 0x36, 0x8e, 0xa8, 0x9d, 0xc2, 0xdb, 0x06, 0xbf, 0x72, 0xa9, 0x45, 0xc5, 0x4e, 0x67, 0xdb, 0x76, - 0x43, 0xdf, 0x69, 0x85, 0xad, 0xd0, 0x51, 0x6e, 0xdb, 0x9d, 0xfb, 0xea, 0x4b, 0x7d, 0xa8, 0x5f, - 0x9a, 0x6e, 0xc5, 0x4a, 0x85, 0x77, 0x43, 0x46, 0x9c, 0xee, 0x48, 0xc8, 0x95, 0xb5, 0x04, 0xe3, - 0x63, 0x77, 0x87, 0x06, 0x84, 0xed, 0x39, 0xd1, 0x6e, 0x4b, 0x39, 0x31, 0xc2, 0xc3, 0x0e, 0x73, - 0xc9, 0xa1, 0xbc, 0xb8, 0xe3, 0x13, 0x81, 0xc7, 0xc5, 0x72, 0xf2, 0xbc, 0x58, 0x27, 0x10, 0xd4, - 0x1f, 0x0d, 0xf3, 0xea, 0x24, 0x07, 0xee, 0xee, 0x10, 0x1f, 0x8f, 0xf8, 0xbd, 0x9c, 0xe7, 0xd7, - 0x11, 0xb4, 0xed, 0xd0, 0x40, 0x70, 0xc1, 0x86, 0x9d, 0xac, 0x6f, 0x0b, 0xe0, 0x5c, 0x93, 0x85, - 0x9c, 0xdf, 0x25, 0x8c, 0xd3, 0x30, 0xb8, 0xb9, 0xfd, 0x29, 0x71, 0x05, 0x22, 0xf7, 0x09, 0x23, - 0x81, 0x4b, 0xe0, 0x2a, 0x28, 0xed, 0xd2, 0xc0, 0xab, 0x14, 0x56, 0x0b, 0x17, 0x9e, 0x69, 0x2c, - 0x3e, 0xec, 0xd5, 0x66, 0xfa, 0xbd, 0x5a, 0xe9, 0x5d, 0x1a, 0x78, 0x48, 0x59, 0x24, 0x22, 0xc0, - 0x3e, 0xa9, 0x14, 0xb3, 0x88, 0x1b, 0xd8, 0x27, 0x48, 0x59, 0x60, 0x1d, 0x00, 0x1c, 0x51, 0x13, - 0xa0, 0x32, 0xab, 0x70, 0xd0, 0xe0, 0xc0, 0xfa, 0xad, 0xeb, 0xc6, 0x82, 0x52, 0x28, 0xeb, 0xa7, - 0x22, 0x38, 0x73, 0x2d, 0x64, 0xf4, 0x41, 0x18, 0x08, 0xdc, 0xbe, 0x15, 0x7a, 0xeb, 0xa6, 0x33, - 0x08, 0x83, 0x9f, 0x80, 0x05, 0x29, 0xb6, 0x87, 0x05, 0x56, 0x79, 0x95, 0xeb, 0x97, 0xed, 0xa4, - 0x87, 0xe2, 0xda, 0xed, 0x68, 0xb7, 0x25, 0x17, 0xb8, 0x2d, 0xd1, 0x76, 0xf7, 0x8a, 0xad, 0x8b, - 0xdb, 0x24, 0x02, 0x27, 0xf1, 0x93, 0x35, 0x14, 0xb3, 0xc2, 0x8f, 0x40, 0x89, 0x47, 0xc4, 0x55, - 0x35, 0x95, 0xeb, 0x6f, 0xd8, 0xfb, 0x77, 0xa8, 0x9d, 0x93, 0xe8, 0xed, 0x88, 0xb8, 0x89, 0x20, - 0xf2, 0x0b, 0x29, 0x5a, 0x48, 0xc0, 0x3c, 0x17, 0x58, 0x74, 0xb8, 0x12, 0xa3, 0x5c, 0x7f, 0x73, - 0xda, 0x00, 0x8a, 0xa4, 0xb1, 0x64, 0x42, 0xcc, 0xeb, 0x6f, 0x64, 0xc8, 0xad, 0xaf, 0x66, 0xc1, - 0x6a, 0x8e, 0x67, 0x33, 0x0c, 0x3c, 0x2a, 0x68, 0x18, 0xc0, 0x6b, 0xa0, 0x24, 0xf6, 0x22, 0x62, - 0x36, 0x78, 0x6d, 0x90, 0xed, 0xd6, 0x5e, 0x44, 0x9e, 0xf6, 0x6a, 0xcf, 0x4f, 0xf2, 0x97, 0x38, - 0xa4, 0x18, 0xe0, 0x46, 0x5c, 0x55, 0x31, 0xc3, 0x65, 0xd2, 0x7a, 0xda, 0xab, 0x8d, 0x39, 0x9a, - 0x76, 0xcc, 0x94, 0x4d, 0x1e, 0x76, 0x01, 0x6c, 0x63, 0x2e, 0xb6, 0x18, 0x0e, 0xb8, 0x8e, 0x44, - 0x7d, 0x62, 0xf4, 0xba, 0x78, 0xb0, 0xed, 0x96, 0x1e, 0x8d, 0x15, 0x93, 0x05, 0xdc, 0x18, 0x61, - 0x43, 0x63, 0x22, 0xc0, 0x17, 0xc0, 0x3c, 0x23, 0x98, 0x87, 0x41, 0xa5, 0xa4, 0xaa, 0x88, 0xc5, - 0x45, 0x6a, 0x15, 0x19, 0x2b, 0x7c, 0x11, 0x1c, 0xf3, 0x09, 0xe7, 0xb8, 0x45, 0x2a, 0x73, 0x0a, - 0xb8, 0x6c, 0x80, 0xc7, 0x36, 0xf5, 0x32, 0x1a, 0xd8, 0xad, 0xdf, 0x0b, 0xe0, 0x5c, 0x8e, 0x8e, - 0x1b, 0x94, 0x0b, 0x78, 0x6f, 0xa4, 0x9f, 0xed, 0x83, 0x15, 0x28, 0xbd, 0x55, 0x37, 0x9f, 0x30, - 0xb1, 0x17, 0x06, 0x2b, 0xa9, 0x5e, 0xbe, 0x07, 0xe6, 0xa8, 0x20, 0xbe, 0xdc, 0x95, 0xd9, 0x0b, - 0xe5, 0xfa, 0x6b, 0x53, 0xf6, 0x5a, 0xe3, 0xb8, 0x89, 0x31, 0x77, 0x5d, 0xb2, 0x21, 0x4d, 0x6a, - 0xfd, 0x51, 0xcc, 0xad, 0x4d, 0x36, 0x3c, 0xfc, 0x1c, 0x2c, 0xa9, 0xaf, 0x2d, 0xcc, 0x5a, 0x44, - 0xce, 0x15, 0x53, 0xe1, 0xc4, 0x33, 0xb5, 0xcf, 0x50, 0x6a, 0x9c, 0x36, 0xa9, 0x2c, 0xdd, 0xce, - 0x50, 0xa3, 0xa1, 0x50, 0xf0, 0x0a, 0x28, 0xfb, 0x34, 0x40, 0x24, 0x6a, 0x53, 0x17, 0xeb, 0xb6, - 0x9c, 0x6b, 0x2c, 0xf7, 0x7b, 0xb5, 0xf2, 0x66, 0xb2, 0x8c, 0xd2, 0x18, 0xf8, 0x0a, 0x28, 0xfb, - 0xf8, 0xb3, 0xd8, 0x65, 0x56, 0xb9, 0x9c, 0x34, 0xf1, 0xca, 0x9b, 0x89, 0x09, 0xa5, 0x71, 0xf0, - 0x8e, 0xec, 0x06, 0xc1, 0xa8, 0xcb, 0x2b, 0x25, 0x25, 0xf3, 0xc5, 0x49, 0xf5, 0x6d, 0x2a, 0xb8, - 0x1a, 0x11, 0xa9, 0xce, 0x51, 0x14, 0x68, 0xc0, 0x65, 0xfd, 0x50, 0x02, 0xe7, 0xf7, 0x3d, 0xfb, - 0xf0, 0x1d, 0x00, 0xc3, 0x6d, 0x4e, 0x58, 0x97, 0x78, 0x57, 0xf5, 0x68, 0x97, 0x33, 0x56, 0x6a, - 0x3c, 0xdb, 0x38, 0x2d, 0xdb, 0xfe, 0xe6, 0x88, 0x15, 0x8d, 0xf1, 0x80, 0x2e, 0x38, 0x2e, 0x0f, - 0x83, 0x16, 0x94, 0x9a, 0x71, 0x7e, 0xb8, 0x93, 0xf6, 0x6c, 0xbf, 0x57, 0x3b, 0xbe, 0x91, 0x26, - 0x41, 0x59, 0x4e, 0xb8, 0x0e, 0x96, 0xdd, 0x0e, 0x63, 0x24, 0x10, 0x43, 0x02, 0x9f, 0x31, 0x0a, - 0x2c, 0x37, 0xb3, 0x66, 0x34, 0x8c, 0x97, 0x14, 0x1e, 0xe1, 0x94, 0x11, 0x2f, 0xa6, 0x28, 0x65, - 0x29, 0xde, 0xce, 0x9a, 0xd1, 0x30, 0x1e, 0xb6, 0xc1, 0x92, 0x61, 0x35, 0x7a, 0x57, 0xe6, 0xd4, - 0x96, 0xbd, 0x74, 0xc0, 0x2d, 0xd3, 0x43, 0x37, 0xee, 0xc1, 0x66, 0x86, 0x0b, 0x0d, 0x71, 0x43, - 0x01, 0x80, 0x3b, 0x18, 0x71, 0xbc, 0x32, 0xaf, 0x22, 0xbd, 0x35, 0xe5, 0x19, 0x8c, 0x67, 0x65, - 0x72, 0x7d, 0xc5, 0x4b, 0x1c, 0xa5, 0xe2, 0x58, 0xbf, 0x16, 0x01, 0x48, 0x3a, 0x0c, 0xae, 0x65, - 0x86, 0xfc, 0xea, 0xd0, 0x90, 0x3f, 0x61, 0x90, 0xea, 0xd5, 0x93, 0x1a, 0xe8, 0x77, 0xc1, 0x7c, - 0xa8, 0x4e, 0x9e, 0x69, 0x86, 0xfa, 0xa4, 0xb4, 0xe3, 0xbb, 0x34, 0x66, 0x6b, 0x00, 0x39, 0x3a, - 0xcd, 0xf9, 0x35, 0x6c, 0xf0, 0x06, 0x28, 0x45, 0xa1, 0x37, 0xb8, 0xfc, 0x2e, 0x4f, 0x62, 0xbd, - 0x15, 0x7a, 0x3c, 0xc3, 0xb9, 0x20, 0x73, 0x97, 0xab, 0x48, 0xf1, 0xc0, 0x8f, 0xc1, 0xc2, 0xe0, - 0xcd, 0xa6, 0x9a, 0xa1, 0x5c, 0x5f, 0x9b, 0xc4, 0x89, 0x0c, 0x3e, 0xc3, 0xbb, 0x28, 0x27, 0xe8, - 0xc0, 0x82, 0x62, 0x4e, 0xeb, 0xb7, 0x22, 0x58, 0x4c, 0xef, 0xfd, 0x7f, 0x22, 0xa7, 0xee, 0xba, - 0xa3, 0x95, 0x53, 0x73, 0x1e, 0xbd, 0x9c, 0x9a, 0x37, 0x4f, 0xce, 0x6f, 0x8a, 0x00, 0x8e, 0x76, - 0x0a, 0x74, 0xc1, 0xbc, 0x50, 0x93, 0xfb, 0x28, 0x6e, 0x88, 0xf8, 0xd6, 0x36, 0x97, 0x81, 0xa1, - 0x96, 0x4f, 0x51, 0x3d, 0x5b, 0x6f, 0x24, 0x4f, 0xd6, 0xf8, 0x2c, 0x6d, 0xc6, 0x16, 0x94, 0x42, - 0x41, 0x02, 0xca, 0xda, 0xfb, 0x2e, 0x6e, 0x77, 0x06, 0x4f, 0x90, 0x7d, 0x6f, 0x68, 0x7b, 0x50, - 0xab, 0xfd, 0x5e, 0x07, 0x07, 0x82, 0x8a, 0xbd, 0xe4, 0x0a, 0xd9, 0x4a, 0xa8, 0x50, 0x9a, 0xd7, - 0xfa, 0x6e, 0x58, 0x16, 0xdd, 0x6b, 0xff, 0x5b, 0x59, 0x76, 0xc0, 0xa2, 0x19, 0x75, 0xff, 0x44, - 0x97, 0x53, 0x26, 0xca, 0x62, 0x33, 0xc5, 0x85, 0x32, 0xcc, 0xd6, 0xcf, 0x05, 0x70, 0x62, 0x78, - 0x08, 0x0c, 0xa5, 0x5c, 0x38, 0x50, 0xca, 0x0f, 0x00, 0xd4, 0x05, 0xaf, 0x77, 0x09, 0xc3, 0x2d, - 0xa2, 0x13, 0x2f, 0x4e, 0x95, 0x78, 0xfc, 0xae, 0xdc, 0x1a, 0x61, 0x44, 0x63, 0xa2, 0x58, 0xbf, - 0x64, 0x8b, 0xd0, 0x9b, 0x3b, 0x4d, 0x11, 0x5f, 0x80, 0x93, 0x46, 0x9d, 0x23, 0xa8, 0xe2, 0x9c, - 0x09, 0x76, 0xb2, 0x39, 0x4a, 0x89, 0xc6, 0xc5, 0xb1, 0xbe, 0x2f, 0x82, 0x53, 0xe3, 0xa6, 0x27, - 0x6c, 0x9a, 0xff, 0x81, 0xba, 0x0a, 0x27, 0xfd, 0x3f, 0xf0, 0x69, 0xaf, 0x56, 0x1b, 0xf3, 0xf4, - 0x1f, 0xd0, 0xa4, 0xfe, 0x2a, 0xbe, 0x0f, 0x2a, 0x19, 0xed, 0xee, 0x08, 0xda, 0xa6, 0x0f, 0xf4, - 0xa3, 0x46, 0x3f, 0xdf, 0x9e, 0xeb, 0xf7, 0x6a, 0x95, 0xad, 0x1c, 0x0c, 0xca, 0xf5, 0x96, 0xff, - 0x27, 0xc6, 0xec, 0xfd, 0x74, 0x4d, 0x7b, 0xfa, 0x10, 0xfb, 0xfe, 0xe3, 0xa8, 0x5e, 0x7a, 0xef, - 0x8f, 0x44, 0xaf, 0x0f, 0xc1, 0xd9, 0xec, 0x26, 0x8d, 0x0a, 0x76, 0xbe, 0xdf, 0xab, 0x9d, 0x6d, - 0xe6, 0x81, 0x50, 0xbe, 0x7f, 0x5e, 0xa7, 0xcd, 0xfe, 0x3b, 0x9d, 0xd6, 0xb8, 0xf4, 0xf0, 0x49, - 0x75, 0xe6, 0xd1, 0x93, 0xea, 0xcc, 0xe3, 0x27, 0xd5, 0x99, 0x2f, 0xfb, 0xd5, 0xc2, 0xc3, 0x7e, - 0xb5, 0xf0, 0xa8, 0x5f, 0x2d, 0x3c, 0xee, 0x57, 0x0b, 0x7f, 0xf6, 0xab, 0x85, 0xaf, 0xff, 0xaa, - 0xce, 0x7c, 0x70, 0xcc, 0xcc, 0xbd, 0xbf, 0x03, 0x00, 0x00, 0xff, 0xff, 0xac, 0xf1, 0x6a, 0x4f, - 0x90, 0x12, 0x00, 0x00, + // 1441 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xd4, 0x58, 0xcd, 0x8f, 0x1b, 0xc5, + 0x12, 0x5f, 0x7f, 0xec, 0x66, 0xd3, 0xde, 0xec, 0xe6, 0x75, 0xa2, 0xc4, 0xd9, 0xbc, 0xd8, 0xab, + 0xd1, 0xd3, 0x53, 0x88, 0xc8, 0x4c, 0xe2, 0x2c, 0x1f, 0x12, 0x42, 0x62, 0x6d, 0x20, 0x89, 0x58, + 0x27, 0xa1, 0x77, 0x13, 0x21, 0x08, 0x88, 0xf6, 0xb8, 0xe3, 0x6d, 0xd6, 0x33, 0x63, 0x75, 0xb7, + 0xad, 0x6c, 0x10, 0x12, 0x17, 0xee, 0x1c, 0xf8, 0xb8, 0x72, 0x46, 0x70, 0x85, 0x33, 0x48, 0x48, + 0x39, 0xe6, 0x18, 0x84, 0x64, 0x91, 0xe1, 0xbf, 0xc8, 0x09, 0x4d, 0x77, 0xcf, 0x78, 0xc6, 0xf6, + 0xac, 0x1d, 0xb3, 0x09, 0x70, 0x9b, 0xee, 0xaa, 0xfa, 0x55, 0x75, 0x55, 0x75, 0x75, 0xd5, 0x80, + 0xcb, 0xbb, 0x2f, 0x73, 0x93, 0x7a, 0xd6, 0x6e, 0xb7, 0x41, 0x98, 0x4b, 0x04, 0xe1, 0x56, 0x8f, + 0xb8, 0x4d, 0x8f, 0x59, 0x9a, 0x80, 0x3b, 0xd4, 0xc2, 0x5d, 0xe1, 0x71, 0x1b, 0xb7, 0xa9, 0xdb, + 0xb2, 0x7a, 0x95, 0x06, 0x11, 0xf8, 0xa2, 0xd5, 0x22, 0x2e, 0x61, 0x58, 0x90, 0xa6, 0xd9, 0x61, + 0x9e, 0xf0, 0x60, 0x49, 0xf1, 0x9b, 0xb8, 0x43, 0xcd, 0x18, 0xbf, 0xa9, 0xf9, 0x57, 0xcf, 0xb7, + 0xa8, 0xd8, 0xe9, 0x36, 0x4c, 0xdb, 0x73, 0xac, 0x96, 0xd7, 0xf2, 0x2c, 0x29, 0xd6, 0xe8, 0xde, + 0x91, 0x2b, 0xb9, 0x90, 0x5f, 0x0a, 0x6e, 0xd5, 0x88, 0xa9, 0xb7, 0x3d, 0x46, 0xac, 0xde, 0x88, + 0xca, 0xd5, 0xf5, 0x01, 0x8f, 0x83, 0xed, 0x1d, 0xea, 0x12, 0xb6, 0x67, 0x75, 0x76, 0x5b, 0x52, + 0x88, 0x11, 0xee, 0x75, 0x99, 0x4d, 0x9e, 0x48, 0x8a, 0x5b, 0x0e, 0x11, 0x78, 0x9c, 0x2e, 0x2b, + 0x4d, 0x8a, 0x75, 0x5d, 0x41, 0x9d, 0x51, 0x35, 0x2f, 0x4e, 0x12, 0xe0, 0xf6, 0x0e, 0x71, 0xf0, + 0x88, 0xdc, 0xa5, 0x34, 0xb9, 0xae, 0xa0, 0x6d, 0x8b, 0xba, 0x82, 0x0b, 0x36, 0x2c, 0x64, 0x7c, + 0x99, 0x01, 0xa7, 0x6b, 0xcc, 0xe3, 0xfc, 0x16, 0x61, 0x9c, 0x7a, 0xee, 0xf5, 0xc6, 0x47, 0xc4, + 0x16, 0x88, 0xdc, 0x21, 0x8c, 0xb8, 0x36, 0x81, 0x6b, 0x20, 0xbf, 0x4b, 0xdd, 0x66, 0x31, 0xb3, + 0x96, 0x39, 0x7b, 0xb8, 0xba, 0x74, 0xbf, 0x5f, 0x9e, 0xf3, 0xfb, 0xe5, 0xfc, 0x5b, 0xd4, 0x6d, + 0x22, 0x49, 0x09, 0x38, 0x5c, 0xec, 0x90, 0x62, 0x36, 0xc9, 0x71, 0x0d, 0x3b, 0x04, 0x49, 0x0a, + 0xac, 0x00, 0x80, 0x3b, 0x54, 0x2b, 0x28, 0xe6, 0x24, 0x1f, 0xd4, 0x7c, 0x60, 0xe3, 0xc6, 0x55, + 0x4d, 0x41, 0x31, 0x2e, 0xe3, 0xab, 0x1c, 0x38, 0xfe, 0xc6, 0x5d, 0x41, 0x98, 0x8b, 0xdb, 0x75, + 0x22, 0x18, 0xb5, 0xb7, 0x64, 0x50, 0x02, 0x30, 0x47, 0xae, 0x03, 0x05, 0xda, 0xac, 0x08, 0xac, + 0x1e, 0x51, 0x50, 0x8c, 0x0b, 0x7a, 0x60, 0x59, 0xad, 0xb6, 0x48, 0x9b, 0xd8, 0xc2, 0x63, 0xd2, + 0xd8, 0x42, 0xe5, 0x92, 0x39, 0x48, 0xbd, 0xc8, 0x65, 0x66, 0x67, 0xb7, 0x15, 0x6c, 0x70, 0x33, + 0x88, 0xa8, 0xd9, 0xbb, 0x68, 0x6e, 0xe2, 0x06, 0x69, 0x87, 0xa2, 0x55, 0xe8, 0xf7, 0xcb, 0xcb, + 0xf5, 0x04, 0x1c, 0x1a, 0x82, 0x87, 0x18, 0x14, 0x04, 0x66, 0x2d, 0x22, 0x6e, 0xe1, 0x76, 0x97, + 0xc8, 0x23, 0x17, 0x2a, 0xe6, 0x7e, 0xda, 0xcc, 0x30, 0xeb, 0xcc, 0xb7, 0xbb, 0xd8, 0x15, 0x54, + 0xec, 0x55, 0x57, 0xfc, 0x7e, 0xb9, 0xb0, 0x3d, 0x80, 0x41, 0x71, 0x4c, 0xd8, 0x03, 0x50, 0x2d, + 0x37, 0x7a, 0x84, 0xe1, 0x16, 0x51, 0x9a, 0xf2, 0x33, 0x69, 0x3a, 0xe1, 0xf7, 0xcb, 0x70, 0x7b, + 0x04, 0x0d, 0x8d, 0xd1, 0x60, 0x7c, 0x33, 0x1a, 0x18, 0x81, 0x45, 0x97, 0xff, 0x3b, 0x02, 0xb3, + 0x03, 0x96, 0xec, 0x2e, 0x63, 0xc4, 0xfd, 0x4b, 0x91, 0x39, 0xae, 0x8f, 0xb5, 0x54, 0x8b, 0x61, + 0xa1, 0x04, 0x32, 0xdc, 0x03, 0xc7, 0xf4, 0xfa, 0x00, 0x02, 0x74, 0xd2, 0xef, 0x97, 0x8f, 0xd5, + 0x46, 0xe1, 0xd0, 0x38, 0x1d, 0xc6, 0x4f, 0x59, 0x70, 0xf2, 0x8a, 0xc7, 0xe8, 0x3d, 0xcf, 0x15, + 0xb8, 0x7d, 0xc3, 0x6b, 0x6e, 0xe8, 0xaa, 0x4a, 0x18, 0xfc, 0x10, 0x2c, 0x06, 0xde, 0x6b, 0x62, + 0x81, 0x65, 0x8c, 0x0a, 0x95, 0x0b, 0xd3, 0xf9, 0x5a, 0x15, 0x86, 0x3a, 0x11, 0x78, 0x10, 0xd5, + 0xc1, 0x1e, 0x8a, 0x50, 0xe1, 0xfb, 0x20, 0xcf, 0x3b, 0xc4, 0xd6, 0x91, 0x7c, 0xc5, 0xdc, 0xbf, + 0xba, 0x9b, 0x29, 0x86, 0x6e, 0x75, 0x88, 0x3d, 0x28, 0x26, 0xc1, 0x0a, 0x49, 0x58, 0x48, 0xc0, + 0x02, 0x97, 0x09, 0xa7, 0x63, 0xf7, 0xea, 0xac, 0x0a, 0x24, 0x48, 0x75, 0x59, 0xab, 0x58, 0x50, + 0x6b, 0xa4, 0xc1, 0x8d, 0xcf, 0x72, 0x60, 0x2d, 0x45, 0xb2, 0xe6, 0xb9, 0x4d, 0x2a, 0xa8, 0xe7, + 0xc2, 0x2b, 0x20, 0x2f, 0xf6, 0x3a, 0x61, 0xb2, 0xaf, 0x87, 0xd6, 0x6e, 0xef, 0x75, 0xc8, 0xe3, + 0x7e, 0xf9, 0x7f, 0x93, 0xe4, 0x03, 0x3e, 0x24, 0x11, 0xe0, 0x66, 0x74, 0xaa, 0x6c, 0x02, 0x4b, + 0x9b, 0xf5, 0xb8, 0x5f, 0x1e, 0xf3, 0xac, 0x99, 0x11, 0x52, 0xd2, 0xf8, 0xa0, 0x36, 0xb4, 0x31, + 0x17, 0xdb, 0x0c, 0xbb, 0x5c, 0x69, 0xa2, 0x4e, 0x98, 0xeb, 0xe7, 0xa6, 0x0b, 0x77, 0x20, 0x51, + 0x5d, 0xd5, 0x56, 0xc0, 0xcd, 0x11, 0x34, 0x34, 0x46, 0x03, 0xfc, 0x3f, 0x58, 0x60, 0x04, 0x73, + 0xcf, 0x95, 0x69, 0x7e, 0x78, 0xe0, 0x5c, 0x24, 0x77, 0x91, 0xa6, 0xc2, 0xe7, 0xc0, 0x21, 0x87, + 0x70, 0x8e, 0x5b, 0xa4, 0x38, 0x2f, 0x19, 0x57, 0x34, 0xe3, 0xa1, 0xba, 0xda, 0x46, 0x21, 0xdd, + 0xf8, 0x35, 0x03, 0x4e, 0xa7, 0xf8, 0x71, 0x93, 0x72, 0x01, 0x6f, 0x8f, 0xe4, 0xb3, 0x39, 0x65, + 0xed, 0xa0, 0x5c, 0x65, 0xf3, 0x51, 0xad, 0x7b, 0x31, 0xdc, 0x89, 0xe5, 0xf2, 0x6d, 0x30, 0x4f, + 0x05, 0x71, 0x82, 0xa8, 0xe4, 0xce, 0x16, 0x2a, 0x2f, 0xcd, 0x98, 0x6b, 0xd5, 0x23, 0x5a, 0xc7, + 0xfc, 0xd5, 0x00, 0x0d, 0x29, 0x50, 0xe3, 0xb7, 0x6c, 0xea, 0xd9, 0x82, 0x84, 0x87, 0x1f, 0x83, + 0x65, 0xb9, 0x52, 0x95, 0x19, 0x91, 0x3b, 0xfa, 0x84, 0x13, 0xef, 0xd4, 0x3e, 0x0f, 0x7a, 0xf5, + 0x84, 0x36, 0x65, 0x79, 0x2b, 0x01, 0x8d, 0x86, 0x54, 0xc1, 0x8b, 0xa0, 0xe0, 0x50, 0x17, 0x91, + 0x4e, 0x9b, 0xda, 0x58, 0xa5, 0xe5, 0xbc, 0x7a, 0x92, 0xea, 0x83, 0x6d, 0x14, 0xe7, 0x81, 0x2f, + 0x80, 0x82, 0x83, 0xef, 0x46, 0x22, 0x39, 0x29, 0x72, 0x4c, 0xeb, 0x2b, 0xd4, 0x07, 0x24, 0x14, + 0xe7, 0x83, 0x37, 0x83, 0x6c, 0x08, 0xaa, 0x34, 0x2f, 0xe6, 0xa5, 0x9b, 0xcf, 0x4d, 0x3a, 0x9f, + 0x2e, 0xf2, 0x41, 0x89, 0x88, 0x65, 0x8e, 0x84, 0x40, 0x21, 0x96, 0xf1, 0x43, 0x1e, 0x9c, 0xd9, + 0xf7, 0xee, 0xc3, 0x37, 0x01, 0xf4, 0x1a, 0x9c, 0xb0, 0x1e, 0x69, 0x5e, 0x56, 0x6d, 0x51, 0xd0, + 0x9f, 0x04, 0x3e, 0xce, 0xa9, 0x27, 0xf1, 0xfa, 0x08, 0x15, 0x8d, 0x91, 0x80, 0x36, 0x38, 0x12, + 0x5c, 0x06, 0xe5, 0x50, 0xaa, 0x5b, 0xa1, 0x27, 0xbb, 0x69, 0xff, 0xf1, 0xfb, 0xe5, 0x23, 0x9b, + 0x71, 0x10, 0x94, 0xc4, 0x84, 0x1b, 0x60, 0x45, 0xd7, 0xfa, 0x21, 0x07, 0x9f, 0xd4, 0x1e, 0x58, + 0xa9, 0x25, 0xc9, 0x68, 0x98, 0x3f, 0x80, 0x68, 0x12, 0x4e, 0x19, 0x69, 0x46, 0x10, 0xf9, 0x24, + 0xc4, 0xeb, 0x49, 0x32, 0x1a, 0xe6, 0x87, 0x6d, 0xb0, 0xac, 0x51, 0xb5, 0xbf, 0x8b, 0xf3, 0x32, + 0x64, 0xcf, 0x4f, 0x19, 0x32, 0x55, 0x74, 0xa3, 0x1c, 0xac, 0x25, 0xb0, 0xd0, 0x10, 0x36, 0x14, + 0x00, 0xd8, 0x61, 0x89, 0xe3, 0xc5, 0x05, 0xa9, 0xe9, 0xb5, 0x19, 0xef, 0x60, 0x54, 0x2b, 0x07, + 0xcf, 0x57, 0xb4, 0xc5, 0x51, 0x4c, 0x8f, 0xf1, 0x6d, 0x0e, 0x80, 0x41, 0x86, 0xc1, 0xf5, 0x44, + 0x91, 0x5f, 0x1b, 0x2a, 0xf2, 0x47, 0xe3, 0xcd, 0x69, 0xac, 0xa0, 0xdf, 0x02, 0x0b, 0x9e, 0xbc, + 0x79, 0x3a, 0x19, 0x2a, 0x93, 0xcc, 0x8e, 0xde, 0xd2, 0x08, 0xad, 0x0a, 0x82, 0xd2, 0xa9, 0xef, + 0xaf, 0x46, 0x83, 0xd7, 0x40, 0xbe, 0xe3, 0x35, 0xc3, 0xc7, 0xef, 0xc2, 0x24, 0xd4, 0x1b, 0x5e, + 0x93, 0x27, 0x30, 0x17, 0x03, 0xdb, 0x83, 0x5d, 0x24, 0x71, 0xe0, 0x07, 0x60, 0x31, 0x6c, 0x37, + 0x74, 0x6f, 0xb2, 0x3e, 0x09, 0x13, 0x69, 0xfe, 0x04, 0xee, 0x52, 0x50, 0x41, 0x43, 0x0a, 0x8a, + 0x30, 0x03, 0x7c, 0xa2, 0xbb, 0x45, 0x59, 0xeb, 0xa7, 0xc0, 0x1f, 0xd7, 0xf6, 0x2b, 0xfc, 0x90, + 0x82, 0x22, 0x4c, 0xe3, 0xbb, 0x1c, 0x58, 0x4a, 0xb4, 0xa1, 0x7f, 0x47, 0xb8, 0x54, 0x56, 0x1f, + 0x6c, 0xb8, 0x14, 0xe6, 0xc1, 0x87, 0x4b, 0xe1, 0x3e, 0xbd, 0x70, 0xc5, 0xf0, 0xc7, 0x84, 0xeb, + 0x8b, 0x2c, 0x80, 0xa3, 0x99, 0x0e, 0x6d, 0xb0, 0xa0, 0x46, 0x8d, 0x83, 0x78, 0xe1, 0xa2, 0xae, + 0x43, 0x3f, 0x66, 0x1a, 0x7a, 0x68, 0x40, 0xc9, 0x4e, 0x35, 0xa0, 0x90, 0x83, 0x18, 0xe4, 0xa2, + 0x27, 0x30, 0x6d, 0x98, 0x33, 0xbe, 0x1e, 0x76, 0x8b, 0xca, 0xe5, 0x7f, 0xac, 0x5b, 0x9e, 0xd9, + 0x18, 0x65, 0xfc, 0x9c, 0x01, 0x47, 0x87, 0x8b, 0xd8, 0x4c, 0xa3, 0xe6, 0xbd, 0xb1, 0xf3, 0x72, + 0x76, 0x26, 0xc3, 0xa3, 0xbe, 0x78, 0xca, 0x99, 0xf9, 0x97, 0xe4, 0x21, 0x66, 0x9f, 0x97, 0x3f, + 0x19, 0x3f, 0x54, 0xce, 0x76, 0x8a, 0xd3, 0x5a, 0xd9, 0xf4, 0x83, 0xe5, 0xf7, 0x59, 0x70, 0x7c, + 0x5c, 0xf5, 0x87, 0x35, 0xfd, 0x0f, 0x48, 0x9d, 0xc2, 0x8a, 0xff, 0x03, 0x7a, 0xdc, 0x2f, 0x97, + 0xc7, 0x8c, 0x2e, 0x21, 0x4c, 0xec, 0x37, 0xd1, 0x3b, 0xa0, 0x98, 0xf0, 0xdd, 0x4d, 0x41, 0xdb, + 0xf4, 0x9e, 0x6a, 0xca, 0x54, 0xfb, 0xf9, 0x5f, 0xbf, 0x5f, 0x2e, 0x6e, 0xa7, 0xf0, 0xa0, 0x54, + 0xe9, 0x94, 0x7f, 0x25, 0xb9, 0xa7, 0xfe, 0xaf, 0xe4, 0xc7, 0x51, 0x7f, 0xa9, 0xd8, 0x1f, 0x88, + 0xbf, 0xde, 0x03, 0xa7, 0x92, 0x41, 0x1a, 0x75, 0xd8, 0x19, 0xbf, 0x5f, 0x3e, 0x55, 0x4b, 0x63, + 0x42, 0xe9, 0xf2, 0x69, 0x99, 0x96, 0x7b, 0x36, 0x99, 0x56, 0x3d, 0x7f, 0xff, 0x51, 0x69, 0xee, + 0xc1, 0xa3, 0xd2, 0xdc, 0xc3, 0x47, 0xa5, 0xb9, 0x4f, 0xfd, 0x52, 0xe6, 0xbe, 0x5f, 0xca, 0x3c, + 0xf0, 0x4b, 0x99, 0x87, 0x7e, 0x29, 0xf3, 0xbb, 0x5f, 0xca, 0x7c, 0xfe, 0x47, 0x69, 0xee, 0xdd, + 0x43, 0xba, 0xee, 0xfd, 0x19, 0x00, 0x00, 0xff, 0xff, 0x91, 0x09, 0xa9, 0x38, 0x8c, 0x16, 0x00, + 0x00, } diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto b/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto index 0c682b35..b565920c 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto +++ b/vendor/k8s.io/api/autoscaling/v2beta1/generated.proto @@ -44,6 +44,50 @@ message CrossVersionObjectReference { optional string apiVersion = 3; } +// ExternalMetricSource indicates how to scale on a metric not associated with +// any Kubernetes object (for example length of queue in cloud +// messaging service, or QPS from loadbalancer running outside of cluster). +// Exactly one "target" type should be set. +message ExternalMetricSource { + // metricName is the name of the metric in question. + optional string metricName = 1; + + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + + // targetValue is the target value of the metric (as a quantity). + // Mutually exclusive with TargetAverageValue. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity targetValue = 3; + + // targetAverageValue is the target per-pod value of global metric (as a quantity). + // Mutually exclusive with TargetValue. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity targetAverageValue = 4; +} + +// ExternalMetricStatus indicates the current value of a global metric +// not associated with any Kubernetes object. +message ExternalMetricStatus { + // metricName is the name of a metric used for autoscaling in + // metric system. + optional string metricName = 1; + + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector metricSelector = 2; + + // currentValue is the current value of the metric (as a quantity) + optional k8s.io.apimachinery.pkg.api.resource.Quantity currentValue = 3; + + // currentAverageValue is the current value of metric averaged over autoscaled pods. + // +optional + optional k8s.io.apimachinery.pkg.api.resource.Quantity currentAverageValue = 4; +} + // HorizontalPodAutoscaler is the configuration for a horizontal pod // autoscaler, which automatically manages the replica count of any resource // implementing the scale subresource based on the metrics specified. @@ -175,6 +219,14 @@ message MetricSpec { // to normal per-pod metrics using the "pods" source. // +optional optional ResourceMetricSource resource = 4; + + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + optional ExternalMetricSource external = 5; } // MetricStatus describes the last-read state of a single metric. @@ -201,6 +253,14 @@ message MetricStatus { // to normal per-pod metrics using the "pods" source. // +optional optional ResourceMetricStatus resource = 4; + + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + optional ExternalMetricStatus external = 5; } // ObjectMetricSource indicates how to scale on a metric describing a diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types.go b/vendor/k8s.io/api/autoscaling/v2beta1/types.go index 22e53573..f842cc34 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/types.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/types.go @@ -73,6 +73,12 @@ var ( // Kubernetes, and have special scaling options on top of those available // to normal per-pod metrics (the "pods" source). ResourceMetricSourceType MetricSourceType = "Resource" + // ExternalMetricSourceType is a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + ExternalMetricSourceType MetricSourceType = "External" ) // MetricSpec specifies how to scale based on a single metric @@ -98,6 +104,13 @@ type MetricSpec struct { // to normal per-pod metrics using the "pods" source. // +optional Resource *ResourceMetricSource `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"` + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + External *ExternalMetricSource `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"` } // ObjectMetricSource indicates how to scale on a metric describing a @@ -146,6 +159,27 @@ type ResourceMetricSource struct { TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,3,opt,name=targetAverageValue"` } +// ExternalMetricSource indicates how to scale on a metric not associated with +// any Kubernetes object (for example length of queue in cloud +// messaging service, or QPS from loadbalancer running outside of cluster). +// Exactly one "target" type should be set. +type ExternalMetricSource struct { + // metricName is the name of the metric in question. + MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"` + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"` + // targetValue is the target value of the metric (as a quantity). + // Mutually exclusive with TargetAverageValue. + // +optional + TargetValue *resource.Quantity `json:"targetValue,omitempty" protobuf:"bytes,3,opt,name=targetValue"` + // targetAverageValue is the target per-pod value of global metric (as a quantity). + // Mutually exclusive with TargetValue. + // +optional + TargetAverageValue *resource.Quantity `json:"targetAverageValue,omitempty" protobuf:"bytes,4,opt,name=targetAverageValue"` +} + // HorizontalPodAutoscalerStatus describes the current status of a horizontal pod autoscaler. type HorizontalPodAutoscalerStatus struct { // observedGeneration is the most recent generation observed by this autoscaler. @@ -231,6 +265,13 @@ type MetricStatus struct { // to normal per-pod metrics using the "pods" source. // +optional Resource *ResourceMetricStatus `json:"resource,omitempty" protobuf:"bytes,4,opt,name=resource"` + // external refers to a global metric that is not associated + // with any Kubernetes object. It allows autoscaling based on information + // coming from components running outside of cluster + // (for example length of queue in cloud messaging service, or + // QPS from loadbalancer running outside of cluster). + // +optional + External *ExternalMetricStatus `json:"external,omitempty" protobuf:"bytes,5,opt,name=external"` } // ObjectMetricStatus indicates the current value of a metric describing a @@ -277,6 +318,23 @@ type ResourceMetricStatus struct { CurrentAverageValue resource.Quantity `json:"currentAverageValue" protobuf:"bytes,3,name=currentAverageValue"` } +// ExternalMetricStatus indicates the current value of a global metric +// not associated with any Kubernetes object. +type ExternalMetricStatus struct { + // metricName is the name of a metric used for autoscaling in + // metric system. + MetricName string `json:"metricName" protobuf:"bytes,1,name=metricName"` + // metricSelector is used to identify a specific time series + // within a given metric. + // +optional + MetricSelector *metav1.LabelSelector `json:"metricSelector,omitempty" protobuf:"bytes,2,opt,name=metricSelector"` + // currentValue is the current value of the metric (as a quantity) + CurrentValue resource.Quantity `json:"currentValue" protobuf:"bytes,3,name=currentValue"` + // currentAverageValue is the current value of metric averaged over autoscaled pods. + // +optional + CurrentAverageValue *resource.Quantity `json:"currentAverageValue,omitempty" protobuf:"bytes,4,opt,name=currentAverageValue"` +} + // +genclient // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go b/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go index 8bcf0f4b..12cfa764 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/types_swagger_doc_generated.go @@ -38,6 +38,30 @@ func (CrossVersionObjectReference) SwaggerDoc() map[string]string { return map_CrossVersionObjectReference } +var map_ExternalMetricSource = map[string]string{ + "": "ExternalMetricSource indicates how to scale on a metric not associated with any Kubernetes object (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster). Exactly one \"target\" type should be set.", + "metricName": "metricName is the name of the metric in question.", + "metricSelector": "metricSelector is used to identify a specific time series within a given metric.", + "targetValue": "targetValue is the target value of the metric (as a quantity). Mutually exclusive with TargetAverageValue.", + "targetAverageValue": "targetAverageValue is the target per-pod value of global metric (as a quantity). Mutually exclusive with TargetValue.", +} + +func (ExternalMetricSource) SwaggerDoc() map[string]string { + return map_ExternalMetricSource +} + +var map_ExternalMetricStatus = map[string]string{ + "": "ExternalMetricStatus indicates the current value of a global metric not associated with any Kubernetes object.", + "metricName": "metricName is the name of a metric used for autoscaling in metric system.", + "metricSelector": "metricSelector is used to identify a specific time series within a given metric.", + "currentValue": "currentValue is the current value of the metric (as a quantity)", + "currentAverageValue": "currentAverageValue is the current value of metric averaged over autoscaled pods.", +} + +func (ExternalMetricStatus) SwaggerDoc() map[string]string { + return map_ExternalMetricStatus +} + var map_HorizontalPodAutoscaler = map[string]string{ "": "HorizontalPodAutoscaler is the configuration for a horizontal pod autoscaler, which automatically manages the replica count of any resource implementing the scale subresource based on the metrics specified.", "metadata": "metadata is the standard object metadata. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata", @@ -104,6 +128,7 @@ var map_MetricSpec = map[string]string{ "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", } func (MetricSpec) SwaggerDoc() map[string]string { @@ -116,6 +141,7 @@ var map_MetricStatus = map[string]string{ "object": "object refers to a metric describing a single kubernetes object (for example, hits-per-second on an Ingress object).", "pods": "pods refers to a metric describing each pod in the current scale target (for example, transactions-processed-per-second). The values will be averaged together before being compared to the target value.", "resource": "resource refers to a resource metric (such as those specified in requests and limits) known to Kubernetes describing each pod in the current scale target (e.g. CPU or memory). Such metrics are built in to Kubernetes, and have special scaling options on top of those available to normal per-pod metrics using the \"pods\" source.", + "external": "external refers to a global metric that is not associated with any Kubernetes object. It allows autoscaling based on information coming from components running outside of cluster (for example length of queue in cloud messaging service, or QPS from loadbalancer running outside of cluster).", } func (MetricStatus) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go index 70bec2b5..0f547246 100644 --- a/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/api/autoscaling/v2beta1/zz_generated.deepcopy.go @@ -42,6 +42,84 @@ func (in *CrossVersionObjectReference) DeepCopy() *CrossVersionObjectReference { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalMetricSource) DeepCopyInto(out *ExternalMetricSource) { + *out = *in + if in.MetricSelector != nil { + in, out := &in.MetricSelector, &out.MetricSelector + if *in == nil { + *out = nil + } else { + *out = new(v1.LabelSelector) + (*in).DeepCopyInto(*out) + } + } + if in.TargetValue != nil { + in, out := &in.TargetValue, &out.TargetValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + if in.TargetAverageValue != nil { + in, out := &in.TargetAverageValue, &out.TargetAverageValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricSource. +func (in *ExternalMetricSource) DeepCopy() *ExternalMetricSource { + if in == nil { + return nil + } + out := new(ExternalMetricSource) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ExternalMetricStatus) DeepCopyInto(out *ExternalMetricStatus) { + *out = *in + if in.MetricSelector != nil { + in, out := &in.MetricSelector, &out.MetricSelector + if *in == nil { + *out = nil + } else { + *out = new(v1.LabelSelector) + (*in).DeepCopyInto(*out) + } + } + out.CurrentValue = in.CurrentValue.DeepCopy() + if in.CurrentAverageValue != nil { + in, out := &in.CurrentAverageValue, &out.CurrentAverageValue + if *in == nil { + *out = nil + } else { + *out = new(resource.Quantity) + **out = (*in).DeepCopy() + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalMetricStatus. +func (in *ExternalMetricStatus) DeepCopy() *ExternalMetricStatus { + if in == nil { + return nil + } + out := new(ExternalMetricStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *HorizontalPodAutoscaler) DeepCopyInto(out *HorizontalPodAutoscaler) { *out = *in @@ -233,6 +311,15 @@ func (in *MetricSpec) DeepCopyInto(out *MetricSpec) { (*in).DeepCopyInto(*out) } } + if in.External != nil { + in, out := &in.External, &out.External + if *in == nil { + *out = nil + } else { + *out = new(ExternalMetricSource) + (*in).DeepCopyInto(*out) + } + } return } @@ -276,6 +363,15 @@ func (in *MetricStatus) DeepCopyInto(out *MetricStatus) { (*in).DeepCopyInto(*out) } } + if in.External != nil { + in, out := &in.External, &out.External + if *in == nil { + *out = nil + } else { + *out = new(ExternalMetricStatus) + (*in).DeepCopyInto(*out) + } + } return } diff --git a/vendor/k8s.io/api/core/v1/generated.pb.go b/vendor/k8s.io/api/core/v1/generated.pb.go index 4535ac29..48bfca98 100644 --- a/vendor/k8s.io/api/core/v1/generated.pb.go +++ b/vendor/k8s.io/api/core/v1/generated.pb.go @@ -1580,6 +1580,58 @@ func (m *CSIPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.FSType))) i += copy(dAtA[i:], m.FSType) + if len(m.VolumeAttributes) > 0 { + keysForVolumeAttributes := make([]string, 0, len(m.VolumeAttributes)) + for k := range m.VolumeAttributes { + keysForVolumeAttributes = append(keysForVolumeAttributes, string(k)) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForVolumeAttributes) + for _, k := range keysForVolumeAttributes { + dAtA[i] = 0x2a + i++ + v := m.VolumeAttributes[string(k)] + mapSize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + i = encodeVarintGenerated(dAtA, i, uint64(mapSize)) + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(k))) + i += copy(dAtA[i:], k) + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(len(v))) + i += copy(dAtA[i:], v) + } + } + if m.ControllerPublishSecretRef != nil { + dAtA[i] = 0x32 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ControllerPublishSecretRef.Size())) + n6, err := m.ControllerPublishSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n6 + } + if m.NodeStageSecretRef != nil { + dAtA[i] = 0x3a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodeStageSecretRef.Size())) + n7, err := m.NodeStageSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n7 + } + if m.NodePublishSecretRef != nil { + dAtA[i] = 0x42 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.NodePublishSecretRef.Size())) + n8, err := m.NodePublishSecretRef.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n8 + } return i, nil } @@ -1677,11 +1729,11 @@ func (m *CephFSPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n6, err := m.SecretRef.MarshalTo(dAtA[i:]) + n9, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n6 + i += n9 } dAtA[i] = 0x30 i++ @@ -1740,11 +1792,11 @@ func (m *CephFSVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n7, err := m.SecretRef.MarshalTo(dAtA[i:]) + n10, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n7 + i += n10 } dAtA[i] = 0x30 i++ @@ -1866,11 +1918,11 @@ func (m *ComponentStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n8, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n11, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n8 + i += n11 if len(m.Conditions) > 0 { for _, msg := range m.Conditions { dAtA[i] = 0x12 @@ -1904,11 +1956,11 @@ func (m *ComponentStatusList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n9, err := m.ListMeta.MarshalTo(dAtA[i:]) + n12, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n9 + i += n12 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -1942,11 +1994,11 @@ func (m *ConfigMap) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n10, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n13, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n10 + i += n13 if len(m.Data) > 0 { keysForData := make([]string, 0, len(m.Data)) for k := range m.Data { @@ -2018,11 +2070,11 @@ func (m *ConfigMapEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n11, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n14, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n11 + i += n14 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -2054,11 +2106,11 @@ func (m *ConfigMapKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n12, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n15, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n12 + i += n15 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -2094,11 +2146,11 @@ func (m *ConfigMapList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n13, err := m.ListMeta.MarshalTo(dAtA[i:]) + n16, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n13 + i += n16 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2132,11 +2184,11 @@ func (m *ConfigMapProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n14, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n17, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n14 + i += n17 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2180,11 +2232,11 @@ func (m *ConfigMapVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n15, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n18, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n15 + i += n18 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -2299,11 +2351,11 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) - n16, err := m.Resources.MarshalTo(dAtA[i:]) + n19, err := m.Resources.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n16 + i += n19 if len(m.VolumeMounts) > 0 { for _, msg := range m.VolumeMounts { dAtA[i] = 0x4a @@ -2320,31 +2372,31 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LivenessProbe.Size())) - n17, err := m.LivenessProbe.MarshalTo(dAtA[i:]) + n20, err := m.LivenessProbe.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n17 + i += n20 } if m.ReadinessProbe != nil { dAtA[i] = 0x5a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ReadinessProbe.Size())) - n18, err := m.ReadinessProbe.MarshalTo(dAtA[i:]) + n21, err := m.ReadinessProbe.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n18 + i += n21 } if m.Lifecycle != nil { dAtA[i] = 0x62 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Lifecycle.Size())) - n19, err := m.Lifecycle.MarshalTo(dAtA[i:]) + n22, err := m.Lifecycle.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n19 + i += n22 } dAtA[i] = 0x6a i++ @@ -2358,11 +2410,11 @@ func (m *Container) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x7a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n20, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n23, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n20 + i += n23 } dAtA[i] = 0x80 i++ @@ -2522,31 +2574,31 @@ func (m *ContainerState) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Waiting.Size())) - n21, err := m.Waiting.MarshalTo(dAtA[i:]) + n24, err := m.Waiting.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n21 + i += n24 } if m.Running != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Running.Size())) - n22, err := m.Running.MarshalTo(dAtA[i:]) + n25, err := m.Running.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n22 + i += n25 } if m.Terminated != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Terminated.Size())) - n23, err := m.Terminated.MarshalTo(dAtA[i:]) + n26, err := m.Terminated.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n23 + i += n26 } return i, nil } @@ -2569,11 +2621,11 @@ func (m *ContainerStateRunning) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartedAt.Size())) - n24, err := m.StartedAt.MarshalTo(dAtA[i:]) + n27, err := m.StartedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n24 + i += n27 return i, nil } @@ -2609,19 +2661,19 @@ func (m *ContainerStateTerminated) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartedAt.Size())) - n25, err := m.StartedAt.MarshalTo(dAtA[i:]) + n28, err := m.StartedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n25 + i += n28 dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FinishedAt.Size())) - n26, err := m.FinishedAt.MarshalTo(dAtA[i:]) + n29, err := m.FinishedAt.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n26 + i += n29 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.ContainerID))) @@ -2677,19 +2729,19 @@ func (m *ContainerStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.State.Size())) - n27, err := m.State.MarshalTo(dAtA[i:]) + n30, err := m.State.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n27 + i += n30 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTerminationState.Size())) - n28, err := m.LastTerminationState.MarshalTo(dAtA[i:]) + n31, err := m.LastTerminationState.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n28 + i += n31 dAtA[i] = 0x20 i++ if m.Ready { @@ -2761,11 +2813,11 @@ func (m *DeleteOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preconditions.Size())) - n29, err := m.Preconditions.MarshalTo(dAtA[i:]) + n32, err := m.Preconditions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n29 + i += n32 } if m.OrphanDependents != nil { dAtA[i] = 0x18 @@ -2839,21 +2891,21 @@ func (m *DownwardAPIVolumeFile) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FieldRef.Size())) - n30, err := m.FieldRef.MarshalTo(dAtA[i:]) + n33, err := m.FieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n30 + i += n33 } if m.ResourceFieldRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ResourceFieldRef.Size())) - n31, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) + n34, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n31 + i += n34 } if m.Mode != nil { dAtA[i] = 0x20 @@ -2921,11 +2973,11 @@ func (m *EmptyDirVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SizeLimit.Size())) - n32, err := m.SizeLimit.MarshalTo(dAtA[i:]) + n35, err := m.SizeLimit.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n32 + i += n35 } return i, nil } @@ -2953,11 +3005,11 @@ func (m *EndpointAddress) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetRef.Size())) - n33, err := m.TargetRef.MarshalTo(dAtA[i:]) + n36, err := m.TargetRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n33 + i += n36 } dAtA[i] = 0x1a i++ @@ -3073,11 +3125,11 @@ func (m *Endpoints) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n34, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n37, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n34 + i += n37 if len(m.Subsets) > 0 { for _, msg := range m.Subsets { dAtA[i] = 0x12 @@ -3111,11 +3163,11 @@ func (m *EndpointsList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n35, err := m.ListMeta.MarshalTo(dAtA[i:]) + n38, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n35 + i += n38 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -3154,21 +3206,21 @@ func (m *EnvFromSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapRef.Size())) - n36, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) + n39, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n36 + i += n39 } if m.SecretRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n37, err := m.SecretRef.MarshalTo(dAtA[i:]) + n40, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n37 + i += n40 } return i, nil } @@ -3200,11 +3252,11 @@ func (m *EnvVar) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ValueFrom.Size())) - n38, err := m.ValueFrom.MarshalTo(dAtA[i:]) + n41, err := m.ValueFrom.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n38 + i += n41 } return i, nil } @@ -3228,41 +3280,41 @@ func (m *EnvVarSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FieldRef.Size())) - n39, err := m.FieldRef.MarshalTo(dAtA[i:]) + n42, err := m.FieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n39 + i += n42 } if m.ResourceFieldRef != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ResourceFieldRef.Size())) - n40, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) + n43, err := m.ResourceFieldRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n40 + i += n43 } if m.ConfigMapKeyRef != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapKeyRef.Size())) - n41, err := m.ConfigMapKeyRef.MarshalTo(dAtA[i:]) + n44, err := m.ConfigMapKeyRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n41 + i += n44 } if m.SecretKeyRef != nil { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretKeyRef.Size())) - n42, err := m.SecretKeyRef.MarshalTo(dAtA[i:]) + n45, err := m.SecretKeyRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n42 + i += n45 } return i, nil } @@ -3285,19 +3337,19 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n43, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n46, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n43 + i += n46 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InvolvedObject.Size())) - n44, err := m.InvolvedObject.MarshalTo(dAtA[i:]) + n47, err := m.InvolvedObject.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n44 + i += n47 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -3309,27 +3361,27 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Source.Size())) - n45, err := m.Source.MarshalTo(dAtA[i:]) + n48, err := m.Source.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n45 + i += n48 dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FirstTimestamp.Size())) - n46, err := m.FirstTimestamp.MarshalTo(dAtA[i:]) + n49, err := m.FirstTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n46 + i += n49 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTimestamp.Size())) - n47, err := m.LastTimestamp.MarshalTo(dAtA[i:]) + n50, err := m.LastTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n47 + i += n50 dAtA[i] = 0x40 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Count)) @@ -3340,20 +3392,20 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.EventTime.Size())) - n48, err := m.EventTime.MarshalTo(dAtA[i:]) + n51, err := m.EventTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n48 + i += n51 if m.Series != nil { dAtA[i] = 0x5a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Series.Size())) - n49, err := m.Series.MarshalTo(dAtA[i:]) + n52, err := m.Series.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n49 + i += n52 } dAtA[i] = 0x62 i++ @@ -3363,11 +3415,11 @@ func (m *Event) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x6a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Related.Size())) - n50, err := m.Related.MarshalTo(dAtA[i:]) + n53, err := m.Related.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n50 + i += n53 } dAtA[i] = 0x72 i++ @@ -3398,11 +3450,11 @@ func (m *EventList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n51, err := m.ListMeta.MarshalTo(dAtA[i:]) + n54, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n51 + i += n54 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -3439,11 +3491,11 @@ func (m *EventSeries) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastObservedTime.Size())) - n52, err := m.LastObservedTime.MarshalTo(dAtA[i:]) + n55, err := m.LastObservedTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n52 + i += n55 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.State))) @@ -3602,11 +3654,11 @@ func (m *FlexPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n53, err := m.SecretRef.MarshalTo(dAtA[i:]) + n56, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n53 + i += n56 } dAtA[i] = 0x20 i++ @@ -3668,11 +3720,11 @@ func (m *FlexVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n54, err := m.SecretRef.MarshalTo(dAtA[i:]) + n57, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n54 + i += n57 } dAtA[i] = 0x20 i++ @@ -3856,11 +3908,11 @@ func (m *HTTPGetAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n55, err := m.Port.MarshalTo(dAtA[i:]) + n58, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n55 + i += n58 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -3929,31 +3981,31 @@ func (m *Handler) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Exec.Size())) - n56, err := m.Exec.MarshalTo(dAtA[i:]) + n59, err := m.Exec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n56 + i += n59 } if m.HTTPGet != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HTTPGet.Size())) - n57, err := m.HTTPGet.MarshalTo(dAtA[i:]) + n60, err := m.HTTPGet.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n57 + i += n60 } if m.TCPSocket != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TCPSocket.Size())) - n58, err := m.TCPSocket.MarshalTo(dAtA[i:]) + n61, err := m.TCPSocket.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n58 + i += n61 } return i, nil } @@ -4092,11 +4144,11 @@ func (m *ISCSIPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n59, err := m.SecretRef.MarshalTo(dAtA[i:]) + n62, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n59 + i += n62 } dAtA[i] = 0x58 i++ @@ -4184,11 +4236,11 @@ func (m *ISCSIVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x52 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n60, err := m.SecretRef.MarshalTo(dAtA[i:]) + n63, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n60 + i += n63 } dAtA[i] = 0x58 i++ @@ -4257,21 +4309,21 @@ func (m *Lifecycle) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PostStart.Size())) - n61, err := m.PostStart.MarshalTo(dAtA[i:]) + n64, err := m.PostStart.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n61 + i += n64 } if m.PreStop != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PreStop.Size())) - n62, err := m.PreStop.MarshalTo(dAtA[i:]) + n65, err := m.PreStop.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n62 + i += n65 } return i, nil } @@ -4294,19 +4346,19 @@ func (m *LimitRange) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n63, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n66, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n63 + i += n66 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n64, err := m.Spec.MarshalTo(dAtA[i:]) + n67, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n64 + i += n67 return i, nil } @@ -4353,11 +4405,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n65, err := (&v).MarshalTo(dAtA[i:]) + n68, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n65 + i += n68 } } if len(m.Min) > 0 { @@ -4384,11 +4436,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n66, err := (&v).MarshalTo(dAtA[i:]) + n69, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n66 + i += n69 } } if len(m.Default) > 0 { @@ -4415,11 +4467,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n67, err := (&v).MarshalTo(dAtA[i:]) + n70, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n67 + i += n70 } } if len(m.DefaultRequest) > 0 { @@ -4446,11 +4498,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n68, err := (&v).MarshalTo(dAtA[i:]) + n71, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n68 + i += n71 } } if len(m.MaxLimitRequestRatio) > 0 { @@ -4477,11 +4529,11 @@ func (m *LimitRangeItem) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n69, err := (&v).MarshalTo(dAtA[i:]) + n72, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n69 + i += n72 } } return i, nil @@ -4505,11 +4557,11 @@ func (m *LimitRangeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n70, err := m.ListMeta.MarshalTo(dAtA[i:]) + n73, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n70 + i += n73 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4573,11 +4625,11 @@ func (m *List) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n71, err := m.ListMeta.MarshalTo(dAtA[i:]) + n74, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n71 + i += n74 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4796,27 +4848,27 @@ func (m *Namespace) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n72, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n75, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n72 + i += n75 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n73, err := m.Spec.MarshalTo(dAtA[i:]) + n76, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n73 + i += n76 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n74, err := m.Status.MarshalTo(dAtA[i:]) + n77, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n74 + i += n77 return i, nil } @@ -4838,11 +4890,11 @@ func (m *NamespaceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n75, err := m.ListMeta.MarshalTo(dAtA[i:]) + n78, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n75 + i += n78 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -4931,27 +4983,27 @@ func (m *Node) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n76, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n79, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n76 + i += n79 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n77, err := m.Spec.MarshalTo(dAtA[i:]) + n80, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n77 + i += n80 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n78, err := m.Status.MarshalTo(dAtA[i:]) + n81, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n78 + i += n81 return i, nil } @@ -5000,11 +5052,11 @@ func (m *NodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.RequiredDuringSchedulingIgnoredDuringExecution.Size())) - n79, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) + n82, err := m.RequiredDuringSchedulingIgnoredDuringExecution.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n79 + i += n82 } if len(m.PreferredDuringSchedulingIgnoredDuringExecution) > 0 { for _, msg := range m.PreferredDuringSchedulingIgnoredDuringExecution { @@ -5047,19 +5099,19 @@ func (m *NodeCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastHeartbeatTime.Size())) - n80, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) + n83, err := m.LastHeartbeatTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n80 + i += n83 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n81, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n84, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n81 + i += n84 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -5090,11 +5142,11 @@ func (m *NodeConfigSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMapRef.Size())) - n82, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) + n85, err := m.ConfigMapRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n82 + i += n85 } return i, nil } @@ -5117,11 +5169,11 @@ func (m *NodeDaemonEndpoints) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.KubeletEndpoint.Size())) - n83, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) + n86, err := m.KubeletEndpoint.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n83 + i += n86 return i, nil } @@ -5143,11 +5195,11 @@ func (m *NodeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n84, err := m.ListMeta.MarshalTo(dAtA[i:]) + n87, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n84 + i += n87 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -5224,11 +5276,11 @@ func (m *NodeResources) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n85, err := (&v).MarshalTo(dAtA[i:]) + n88, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n85 + i += n88 } } return i, nil @@ -5386,11 +5438,11 @@ func (m *NodeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigSource.Size())) - n86, err := m.ConfigSource.MarshalTo(dAtA[i:]) + n89, err := m.ConfigSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n86 + i += n89 } return i, nil } @@ -5434,11 +5486,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n87, err := (&v).MarshalTo(dAtA[i:]) + n90, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n87 + i += n90 } } if len(m.Allocatable) > 0 { @@ -5465,11 +5517,11 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n88, err := (&v).MarshalTo(dAtA[i:]) + n91, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n88 + i += n91 } } dAtA[i] = 0x1a @@ -5503,19 +5555,19 @@ func (m *NodeStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x32 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DaemonEndpoints.Size())) - n89, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) + n92, err := m.DaemonEndpoints.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n89 + i += n92 dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodeInfo.Size())) - n90, err := m.NodeInfo.MarshalTo(dAtA[i:]) + n93, err := m.NodeInfo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n90 + i += n93 if len(m.Images) > 0 { for _, msg := range m.Images { dAtA[i] = 0x42 @@ -5687,20 +5739,20 @@ func (m *ObjectMeta) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x42 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CreationTimestamp.Size())) - n91, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) + n94, err := m.CreationTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n91 + i += n94 if m.DeletionTimestamp != nil { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DeletionTimestamp.Size())) - n92, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) + n95, err := m.DeletionTimestamp.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n92 + i += n95 } if m.DeletionGracePeriodSeconds != nil { dAtA[i] = 0x50 @@ -5788,11 +5840,11 @@ func (m *ObjectMeta) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Initializers.Size())) - n93, err := m.Initializers.MarshalTo(dAtA[i:]) + n96, err := m.Initializers.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n93 + i += n96 } return i, nil } @@ -5854,48 +5906,6 @@ func (m *PersistentVolume) Marshal() (dAtA []byte, err error) { } func (m *PersistentVolume) MarshalTo(dAtA []byte) (int, error) { - var i int - _ = i - var l int - _ = l - dAtA[i] = 0xa - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n94, err := m.ObjectMeta.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n94 - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n95, err := m.Spec.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n95 - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n96, err := m.Status.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n96 - return i, nil -} - -func (m *PersistentVolumeClaim) Marshal() (dAtA []byte, err error) { - size := m.Size() - dAtA = make([]byte, size) - n, err := m.MarshalTo(dAtA) - if err != nil { - return nil, err - } - return dAtA[:n], nil -} - -func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { var i int _ = i var l int @@ -5927,6 +5937,48 @@ func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { return i, nil } +func (m *PersistentVolumeClaim) Marshal() (dAtA []byte, err error) { + size := m.Size() + dAtA = make([]byte, size) + n, err := m.MarshalTo(dAtA) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PersistentVolumeClaim) MarshalTo(dAtA []byte) (int, error) { + var i int + _ = i + var l int + _ = l + dAtA[i] = 0xa + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) + n100, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n100 + dAtA[i] = 0x12 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) + n101, err := m.Spec.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n101 + dAtA[i] = 0x1a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) + n102, err := m.Status.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n102 + return i, nil +} + func (m *PersistentVolumeClaimCondition) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) @@ -5953,19 +6005,19 @@ func (m *PersistentVolumeClaimCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n100, err := m.LastProbeTime.MarshalTo(dAtA[i:]) + n103, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n100 + i += n103 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n101, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n104, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n101 + i += n104 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -5995,11 +6047,11 @@ func (m *PersistentVolumeClaimList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n102, err := m.ListMeta.MarshalTo(dAtA[i:]) + n105, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n102 + i += n105 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6048,11 +6100,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Resources.Size())) - n103, err := m.Resources.MarshalTo(dAtA[i:]) + n106, err := m.Resources.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n103 + i += n106 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.VolumeName))) @@ -6061,11 +6113,11 @@ func (m *PersistentVolumeClaimSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Selector.Size())) - n104, err := m.Selector.MarshalTo(dAtA[i:]) + n107, err := m.Selector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n104 + i += n107 } if m.StorageClassName != nil { dAtA[i] = 0x2a @@ -6140,11 +6192,11 @@ func (m *PersistentVolumeClaimStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n105, err := (&v).MarshalTo(dAtA[i:]) + n108, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n105 + i += n108 } } if len(m.Conditions) > 0 { @@ -6210,11 +6262,11 @@ func (m *PersistentVolumeList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n106, err := m.ListMeta.MarshalTo(dAtA[i:]) + n109, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n106 + i += n109 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -6249,163 +6301,163 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n107, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n107 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n108, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n108 - } - if m.HostPath != nil { - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n109, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n109 - } - if m.Glusterfs != nil { - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n110, err := m.Glusterfs.MarshalTo(dAtA[i:]) + n110, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n110 } - if m.NFS != nil { - dAtA[i] = 0x2a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n111, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n111, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n111 } - if m.RBD != nil { - dAtA[i] = 0x32 + if m.HostPath != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n112, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) + n112, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n112 } - if m.ISCSI != nil { - dAtA[i] = 0x3a + if m.Glusterfs != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n113, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n113, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n113 } - if m.Cinder != nil { - dAtA[i] = 0x42 + if m.NFS != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n114, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n114, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n114 } - if m.CephFS != nil { - dAtA[i] = 0x4a + if m.RBD != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n115, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n115, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n115 } - if m.FC != nil { - dAtA[i] = 0x52 + if m.ISCSI != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n116, err := m.FC.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n116, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n116 } - if m.Flocker != nil { - dAtA[i] = 0x5a + if m.Cinder != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n117, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n117, err := m.Cinder.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n117 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.CephFS != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n118, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n118, err := m.CephFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n118 } - if m.AzureFile != nil { - dAtA[i] = 0x6a + if m.FC != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n119, err := m.AzureFile.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) + n119, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n119 } - if m.VsphereVolume != nil { - dAtA[i] = 0x72 + if m.Flocker != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n120, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n120, err := m.Flocker.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n120 } - if m.Quobyte != nil { - dAtA[i] = 0x7a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n121, err := m.Quobyte.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n121, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n121 } + if m.AzureFile != nil { + dAtA[i] = 0x6a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) + n122, err := m.AzureFile.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n122 + } + if m.VsphereVolume != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) + n123, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n123 + } + if m.Quobyte != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) + n124, err := m.Quobyte.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n124 + } if m.AzureDisk != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n122, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n125, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n122 + i += n125 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0x8a @@ -6413,11 +6465,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n123, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n126, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n123 + i += n126 } if m.PortworxVolume != nil { dAtA[i] = 0x92 @@ -6425,11 +6477,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n124, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n127, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n124 + i += n127 } if m.ScaleIO != nil { dAtA[i] = 0x9a @@ -6437,11 +6489,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n125, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n128, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n125 + i += n128 } if m.Local != nil { dAtA[i] = 0xa2 @@ -6449,11 +6501,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Local.Size())) - n126, err := m.Local.MarshalTo(dAtA[i:]) + n129, err := m.Local.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n126 + i += n129 } if m.StorageOS != nil { dAtA[i] = 0xaa @@ -6461,11 +6513,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n127, err := m.StorageOS.MarshalTo(dAtA[i:]) + n130, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n127 + i += n130 } if m.CSI != nil { dAtA[i] = 0xb2 @@ -6473,11 +6525,11 @@ func (m *PersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.CSI.Size())) - n128, err := m.CSI.MarshalTo(dAtA[i:]) + n131, err := m.CSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n128 + i += n131 } return i, nil } @@ -6521,21 +6573,21 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n129, err := (&v).MarshalTo(dAtA[i:]) + n132, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n129 + i += n132 } } dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeSource.Size())) - n130, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) + n133, err := m.PersistentVolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n130 + i += n133 if len(m.AccessModes) > 0 { for _, s := range m.AccessModes { dAtA[i] = 0x1a @@ -6555,11 +6607,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClaimRef.Size())) - n131, err := m.ClaimRef.MarshalTo(dAtA[i:]) + n134, err := m.ClaimRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n131 + i += n134 } dAtA[i] = 0x2a i++ @@ -6594,11 +6646,11 @@ func (m *PersistentVolumeSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x4a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodeAffinity.Size())) - n132, err := m.NodeAffinity.MarshalTo(dAtA[i:]) + n135, err := m.NodeAffinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n132 + i += n135 } return i, nil } @@ -6677,27 +6729,27 @@ func (m *Pod) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n133, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n136, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n133 + i += n136 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n134, err := m.Spec.MarshalTo(dAtA[i:]) + n137, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n134 + i += n137 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n135, err := m.Status.MarshalTo(dAtA[i:]) + n138, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n135 + i += n138 return i, nil } @@ -6762,11 +6814,11 @@ func (m *PodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LabelSelector.Size())) - n136, err := m.LabelSelector.MarshalTo(dAtA[i:]) + n139, err := m.LabelSelector.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n136 + i += n139 } if len(m.Namespaces) > 0 { for _, s := range m.Namespaces { @@ -6912,19 +6964,19 @@ func (m *PodCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastProbeTime.Size())) - n137, err := m.LastProbeTime.MarshalTo(dAtA[i:]) + n140, err := m.LastProbeTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n137 + i += n140 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n138, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n141, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n138 + i += n141 dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7111,11 +7163,11 @@ func (m *PodList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n139, err := m.ListMeta.MarshalTo(dAtA[i:]) + n142, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n139 + i += n142 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7175,11 +7227,11 @@ func (m *PodLogOptions) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SinceTime.Size())) - n140, err := m.SinceTime.MarshalTo(dAtA[i:]) + n143, err := m.SinceTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n140 + i += n143 } dAtA[i] = 0x30 i++ @@ -7268,11 +7320,11 @@ func (m *PodSecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n141, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n144, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n141 + i += n144 } if m.RunAsUser != nil { dAtA[i] = 0x10 @@ -7323,11 +7375,11 @@ func (m *PodSignature) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodController.Size())) - n142, err := m.PodController.MarshalTo(dAtA[i:]) + n145, err := m.PodController.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n142 + i += n145 } return i, nil } @@ -7451,11 +7503,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecurityContext.Size())) - n143, err := m.SecurityContext.MarshalTo(dAtA[i:]) + n146, err := m.SecurityContext.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n143 + i += n146 } if len(m.ImagePullSecrets) > 0 { for _, msg := range m.ImagePullSecrets { @@ -7487,11 +7539,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Affinity.Size())) - n144, err := m.Affinity.MarshalTo(dAtA[i:]) + n147, err := m.Affinity.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n144 + i += n147 } dAtA[i] = 0x9a i++ @@ -7572,11 +7624,11 @@ func (m *PodSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DNSConfig.Size())) - n145, err := m.DNSConfig.MarshalTo(dAtA[i:]) + n148, err := m.DNSConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n145 + i += n148 } if m.ShareProcessNamespace != nil { dAtA[i] = 0xd8 @@ -7644,11 +7696,11 @@ func (m *PodStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StartTime.Size())) - n146, err := m.StartTime.MarshalTo(dAtA[i:]) + n149, err := m.StartTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n146 + i += n149 } if len(m.ContainerStatuses) > 0 { for _, msg := range m.ContainerStatuses { @@ -7703,19 +7755,19 @@ func (m *PodStatusResult) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n147, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n150, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n147 + i += n150 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n148, err := m.Status.MarshalTo(dAtA[i:]) + n151, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n148 + i += n151 return i, nil } @@ -7737,19 +7789,19 @@ func (m *PodTemplate) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n149, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n152, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n149 + i += n152 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n150, err := m.Template.MarshalTo(dAtA[i:]) + n153, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n150 + i += n153 return i, nil } @@ -7771,11 +7823,11 @@ func (m *PodTemplateList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n151, err := m.ListMeta.MarshalTo(dAtA[i:]) + n154, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n151 + i += n154 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -7809,19 +7861,19 @@ func (m *PodTemplateSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n152, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n155, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n152 + i += n155 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n153, err := m.Spec.MarshalTo(dAtA[i:]) + n156, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n153 + i += n156 return i, nil } @@ -7901,19 +7953,19 @@ func (m *PreferAvoidPodsEntry) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodSignature.Size())) - n154, err := m.PodSignature.MarshalTo(dAtA[i:]) + n157, err := m.PodSignature.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n154 + i += n157 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.EvictionTime.Size())) - n155, err := m.EvictionTime.MarshalTo(dAtA[i:]) + n158, err := m.EvictionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n155 + i += n158 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -7946,11 +7998,11 @@ func (m *PreferredSchedulingTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Preference.Size())) - n156, err := m.Preference.MarshalTo(dAtA[i:]) + n159, err := m.Preference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n156 + i += n159 return i, nil } @@ -7972,11 +8024,11 @@ func (m *Probe) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Handler.Size())) - n157, err := m.Handler.MarshalTo(dAtA[i:]) + n160, err := m.Handler.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n157 + i += n160 dAtA[i] = 0x10 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.InitialDelaySeconds)) @@ -8126,11 +8178,11 @@ func (m *RBDPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n158, err := m.SecretRef.MarshalTo(dAtA[i:]) + n161, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n158 + i += n161 } dAtA[i] = 0x40 i++ @@ -8197,11 +8249,11 @@ func (m *RBDVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x3a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n159, err := m.SecretRef.MarshalTo(dAtA[i:]) + n162, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n159 + i += n162 } dAtA[i] = 0x40 i++ @@ -8232,11 +8284,11 @@ func (m *RangeAllocation) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n160, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n163, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n160 + i += n163 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Range))) @@ -8268,27 +8320,27 @@ func (m *ReplicationController) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n161, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n164, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n161 + i += n164 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n162, err := m.Spec.MarshalTo(dAtA[i:]) + n165, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n162 + i += n165 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n163, err := m.Status.MarshalTo(dAtA[i:]) + n166, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n163 + i += n166 return i, nil } @@ -8318,11 +8370,11 @@ func (m *ReplicationControllerCondition) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LastTransitionTime.Size())) - n164, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) + n167, err := m.LastTransitionTime.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n164 + i += n167 dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Reason))) @@ -8352,11 +8404,11 @@ func (m *ReplicationControllerList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n165, err := m.ListMeta.MarshalTo(dAtA[i:]) + n168, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n165 + i += n168 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8418,11 +8470,11 @@ func (m *ReplicationControllerSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Template.Size())) - n166, err := m.Template.MarshalTo(dAtA[i:]) + n169, err := m.Template.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n166 + i += n169 } dAtA[i] = 0x20 i++ @@ -8501,11 +8553,11 @@ func (m *ResourceFieldSelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Divisor.Size())) - n167, err := m.Divisor.MarshalTo(dAtA[i:]) + n170, err := m.Divisor.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n167 + i += n170 return i, nil } @@ -8527,27 +8579,27 @@ func (m *ResourceQuota) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n168, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n171, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n168 + i += n171 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n169, err := m.Spec.MarshalTo(dAtA[i:]) + n172, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n169 + i += n172 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n170, err := m.Status.MarshalTo(dAtA[i:]) + n173, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n170 + i += n173 return i, nil } @@ -8569,11 +8621,11 @@ func (m *ResourceQuotaList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n171, err := m.ListMeta.MarshalTo(dAtA[i:]) + n174, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n171 + i += n174 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -8628,11 +8680,11 @@ func (m *ResourceQuotaSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n172, err := (&v).MarshalTo(dAtA[i:]) + n175, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n172 + i += n175 } } if len(m.Scopes) > 0 { @@ -8692,11 +8744,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n173, err := (&v).MarshalTo(dAtA[i:]) + n176, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n173 + i += n176 } } if len(m.Used) > 0 { @@ -8723,11 +8775,11 @@ func (m *ResourceQuotaStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n174, err := (&v).MarshalTo(dAtA[i:]) + n177, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n174 + i += n177 } } return i, nil @@ -8772,11 +8824,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n175, err := (&v).MarshalTo(dAtA[i:]) + n178, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n175 + i += n178 } } if len(m.Requests) > 0 { @@ -8803,11 +8855,11 @@ func (m *ResourceRequirements) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64((&v).Size())) - n176, err := (&v).MarshalTo(dAtA[i:]) + n179, err := (&v).MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n176 + i += n179 } } return i, nil @@ -8874,11 +8926,11 @@ func (m *ScaleIOPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n177, err := m.SecretRef.MarshalTo(dAtA[i:]) + n180, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n177 + i += n180 } dAtA[i] = 0x20 i++ @@ -8946,11 +8998,11 @@ func (m *ScaleIOVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n178, err := m.SecretRef.MarshalTo(dAtA[i:]) + n181, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n178 + i += n181 } dAtA[i] = 0x20 i++ @@ -9009,11 +9061,11 @@ func (m *Secret) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n179, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n182, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n179 + i += n182 if len(m.Data) > 0 { keysForData := make([]string, 0, len(m.Data)) for k := range m.Data { @@ -9089,11 +9141,11 @@ func (m *SecretEnvSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n180, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n183, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n180 + i += n183 if m.Optional != nil { dAtA[i] = 0x10 i++ @@ -9125,11 +9177,11 @@ func (m *SecretKeySelector) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n181, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n184, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n181 + i += n184 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Key))) @@ -9165,11 +9217,11 @@ func (m *SecretList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n182, err := m.ListMeta.MarshalTo(dAtA[i:]) + n185, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n182 + i += n185 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9203,11 +9255,11 @@ func (m *SecretProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LocalObjectReference.Size())) - n183, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) + n186, err := m.LocalObjectReference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n183 + i += n186 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9327,11 +9379,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Capabilities.Size())) - n184, err := m.Capabilities.MarshalTo(dAtA[i:]) + n187, err := m.Capabilities.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n184 + i += n187 } if m.Privileged != nil { dAtA[i] = 0x10 @@ -9347,11 +9399,11 @@ func (m *SecurityContext) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SELinuxOptions.Size())) - n185, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) + n188, err := m.SELinuxOptions.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n185 + i += n188 } if m.RunAsUser != nil { dAtA[i] = 0x20 @@ -9409,11 +9461,11 @@ func (m *SerializedReference) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Reference.Size())) - n186, err := m.Reference.MarshalTo(dAtA[i:]) + n189, err := m.Reference.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n186 + i += n189 return i, nil } @@ -9435,27 +9487,27 @@ func (m *Service) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n187, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n190, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n187 + i += n190 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Spec.Size())) - n188, err := m.Spec.MarshalTo(dAtA[i:]) + n191, err := m.Spec.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n188 + i += n191 dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Status.Size())) - n189, err := m.Status.MarshalTo(dAtA[i:]) + n192, err := m.Status.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n189 + i += n192 return i, nil } @@ -9477,11 +9529,11 @@ func (m *ServiceAccount) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ObjectMeta.Size())) - n190, err := m.ObjectMeta.MarshalTo(dAtA[i:]) + n193, err := m.ObjectMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n190 + i += n193 if len(m.Secrets) > 0 { for _, msg := range m.Secrets { dAtA[i] = 0x12 @@ -9537,11 +9589,11 @@ func (m *ServiceAccountList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n191, err := m.ListMeta.MarshalTo(dAtA[i:]) + n194, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n191 + i += n194 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9575,11 +9627,11 @@ func (m *ServiceList) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ListMeta.Size())) - n192, err := m.ListMeta.MarshalTo(dAtA[i:]) + n195, err := m.ListMeta.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n192 + i += n195 if len(m.Items) > 0 { for _, msg := range m.Items { dAtA[i] = 0x12 @@ -9624,11 +9676,11 @@ func (m *ServicePort) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TargetPort.Size())) - n193, err := m.TargetPort.MarshalTo(dAtA[i:]) + n196, err := m.TargetPort.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n193 + i += n196 dAtA[i] = 0x28 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.NodePort)) @@ -9775,11 +9827,11 @@ func (m *ServiceSpec) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x72 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SessionAffinityConfig.Size())) - n194, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) + n197, err := m.SessionAffinityConfig.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n194 + i += n197 } return i, nil } @@ -9802,11 +9854,11 @@ func (m *ServiceStatus) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.LoadBalancer.Size())) - n195, err := m.LoadBalancer.MarshalTo(dAtA[i:]) + n198, err := m.LoadBalancer.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n195 + i += n198 return i, nil } @@ -9829,11 +9881,11 @@ func (m *SessionAffinityConfig) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ClientIP.Size())) - n196, err := m.ClientIP.MarshalTo(dAtA[i:]) + n199, err := m.ClientIP.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n196 + i += n199 } return i, nil } @@ -9877,11 +9929,11 @@ func (m *StorageOSPersistentVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n197, err := m.SecretRef.MarshalTo(dAtA[i:]) + n200, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n197 + i += n200 } return i, nil } @@ -9925,11 +9977,11 @@ func (m *StorageOSVolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x2a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.SecretRef.Size())) - n198, err := m.SecretRef.MarshalTo(dAtA[i:]) + n201, err := m.SecretRef.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n198 + i += n201 } return i, nil } @@ -9978,11 +10030,11 @@ func (m *TCPSocketAction) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Port.Size())) - n199, err := m.Port.MarshalTo(dAtA[i:]) + n202, err := m.Port.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n199 + i += n202 dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(len(m.Host))) @@ -10021,11 +10073,11 @@ func (m *Taint) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x22 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.TimeAdded.Size())) - n200, err := m.TimeAdded.MarshalTo(dAtA[i:]) + n203, err := m.TimeAdded.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n200 + i += n203 } return i, nil } @@ -10091,11 +10143,11 @@ func (m *Volume) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VolumeSource.Size())) - n201, err := m.VolumeSource.MarshalTo(dAtA[i:]) + n204, err := m.VolumeSource.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n201 + i += n204 return i, nil } @@ -10188,11 +10240,11 @@ func (m *VolumeNodeAffinity) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Required.Size())) - n202, err := m.Required.MarshalTo(dAtA[i:]) + n205, err := m.Required.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n202 + i += n205 } return i, nil } @@ -10216,31 +10268,31 @@ func (m *VolumeProjection) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n203, err := m.Secret.MarshalTo(dAtA[i:]) + n206, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n203 + i += n206 } if m.DownwardAPI != nil { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n204, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n207, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n204 + i += n207 } if m.ConfigMap != nil { dAtA[i] = 0x1a i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n205, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n208, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n205 + i += n208 } return i, nil } @@ -10264,163 +10316,163 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0xa i++ i = encodeVarintGenerated(dAtA, i, uint64(m.HostPath.Size())) - n206, err := m.HostPath.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n206 - } - if m.EmptyDir != nil { - dAtA[i] = 0x12 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) - n207, err := m.EmptyDir.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n207 - } - if m.GCEPersistentDisk != nil { - dAtA[i] = 0x1a - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) - n208, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) - if err != nil { - return 0, err - } - i += n208 - } - if m.AWSElasticBlockStore != nil { - dAtA[i] = 0x22 - i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) - n209, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) + n209, err := m.HostPath.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n209 } - if m.GitRepo != nil { - dAtA[i] = 0x2a + if m.EmptyDir != nil { + dAtA[i] = 0x12 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) - n210, err := m.GitRepo.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.EmptyDir.Size())) + n210, err := m.EmptyDir.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n210 } - if m.Secret != nil { - dAtA[i] = 0x32 + if m.GCEPersistentDisk != nil { + dAtA[i] = 0x1a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) - n211, err := m.Secret.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GCEPersistentDisk.Size())) + n211, err := m.GCEPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n211 } - if m.NFS != nil { - dAtA[i] = 0x3a + if m.AWSElasticBlockStore != nil { + dAtA[i] = 0x22 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) - n212, err := m.NFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.AWSElasticBlockStore.Size())) + n212, err := m.AWSElasticBlockStore.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n212 } - if m.ISCSI != nil { - dAtA[i] = 0x42 + if m.GitRepo != nil { + dAtA[i] = 0x2a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) - n213, err := m.ISCSI.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.GitRepo.Size())) + n213, err := m.GitRepo.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n213 } - if m.Glusterfs != nil { - dAtA[i] = 0x4a + if m.Secret != nil { + dAtA[i] = 0x32 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) - n214, err := m.Glusterfs.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Secret.Size())) + n214, err := m.Secret.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n214 } - if m.PersistentVolumeClaim != nil { - dAtA[i] = 0x52 + if m.NFS != nil { + dAtA[i] = 0x3a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) - n215, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.NFS.Size())) + n215, err := m.NFS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n215 } - if m.RBD != nil { - dAtA[i] = 0x5a + if m.ISCSI != nil { + dAtA[i] = 0x42 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) - n216, err := m.RBD.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.ISCSI.Size())) + n216, err := m.ISCSI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n216 } - if m.FlexVolume != nil { - dAtA[i] = 0x62 + if m.Glusterfs != nil { + dAtA[i] = 0x4a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) - n217, err := m.FlexVolume.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.Glusterfs.Size())) + n217, err := m.Glusterfs.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n217 } - if m.Cinder != nil { - dAtA[i] = 0x6a + if m.PersistentVolumeClaim != nil { + dAtA[i] = 0x52 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) - n218, err := m.Cinder.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.PersistentVolumeClaim.Size())) + n218, err := m.PersistentVolumeClaim.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n218 } - if m.CephFS != nil { - dAtA[i] = 0x72 + if m.RBD != nil { + dAtA[i] = 0x5a i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) - n219, err := m.CephFS.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.RBD.Size())) + n219, err := m.RBD.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n219 } - if m.Flocker != nil { - dAtA[i] = 0x7a + if m.FlexVolume != nil { + dAtA[i] = 0x62 i++ - i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) - n220, err := m.Flocker.MarshalTo(dAtA[i:]) + i = encodeVarintGenerated(dAtA, i, uint64(m.FlexVolume.Size())) + n220, err := m.FlexVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } i += n220 } + if m.Cinder != nil { + dAtA[i] = 0x6a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Cinder.Size())) + n221, err := m.Cinder.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n221 + } + if m.CephFS != nil { + dAtA[i] = 0x72 + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.CephFS.Size())) + n222, err := m.CephFS.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n222 + } + if m.Flocker != nil { + dAtA[i] = 0x7a + i++ + i = encodeVarintGenerated(dAtA, i, uint64(m.Flocker.Size())) + n223, err := m.Flocker.MarshalTo(dAtA[i:]) + if err != nil { + return 0, err + } + i += n223 + } if m.DownwardAPI != nil { dAtA[i] = 0x82 i++ dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.DownwardAPI.Size())) - n221, err := m.DownwardAPI.MarshalTo(dAtA[i:]) + n224, err := m.DownwardAPI.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n221 + i += n224 } if m.FC != nil { dAtA[i] = 0x8a @@ -10428,11 +10480,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.FC.Size())) - n222, err := m.FC.MarshalTo(dAtA[i:]) + n225, err := m.FC.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n222 + i += n225 } if m.AzureFile != nil { dAtA[i] = 0x92 @@ -10440,11 +10492,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureFile.Size())) - n223, err := m.AzureFile.MarshalTo(dAtA[i:]) + n226, err := m.AzureFile.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n223 + i += n226 } if m.ConfigMap != nil { dAtA[i] = 0x9a @@ -10452,11 +10504,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ConfigMap.Size())) - n224, err := m.ConfigMap.MarshalTo(dAtA[i:]) + n227, err := m.ConfigMap.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n224 + i += n227 } if m.VsphereVolume != nil { dAtA[i] = 0xa2 @@ -10464,11 +10516,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.VsphereVolume.Size())) - n225, err := m.VsphereVolume.MarshalTo(dAtA[i:]) + n228, err := m.VsphereVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n225 + i += n228 } if m.Quobyte != nil { dAtA[i] = 0xaa @@ -10476,11 +10528,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Quobyte.Size())) - n226, err := m.Quobyte.MarshalTo(dAtA[i:]) + n229, err := m.Quobyte.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n226 + i += n229 } if m.AzureDisk != nil { dAtA[i] = 0xb2 @@ -10488,11 +10540,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.AzureDisk.Size())) - n227, err := m.AzureDisk.MarshalTo(dAtA[i:]) + n230, err := m.AzureDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n227 + i += n230 } if m.PhotonPersistentDisk != nil { dAtA[i] = 0xba @@ -10500,11 +10552,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PhotonPersistentDisk.Size())) - n228, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) + n231, err := m.PhotonPersistentDisk.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n228 + i += n231 } if m.PortworxVolume != nil { dAtA[i] = 0xc2 @@ -10512,11 +10564,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PortworxVolume.Size())) - n229, err := m.PortworxVolume.MarshalTo(dAtA[i:]) + n232, err := m.PortworxVolume.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n229 + i += n232 } if m.ScaleIO != nil { dAtA[i] = 0xca @@ -10524,11 +10576,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.ScaleIO.Size())) - n230, err := m.ScaleIO.MarshalTo(dAtA[i:]) + n233, err := m.ScaleIO.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n230 + i += n233 } if m.Projected != nil { dAtA[i] = 0xd2 @@ -10536,11 +10588,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.Projected.Size())) - n231, err := m.Projected.MarshalTo(dAtA[i:]) + n234, err := m.Projected.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n231 + i += n234 } if m.StorageOS != nil { dAtA[i] = 0xda @@ -10548,11 +10600,11 @@ func (m *VolumeSource) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x1 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.StorageOS.Size())) - n232, err := m.StorageOS.MarshalTo(dAtA[i:]) + n235, err := m.StorageOS.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n232 + i += n235 } return i, nil } @@ -10612,11 +10664,11 @@ func (m *WeightedPodAffinityTerm) MarshalTo(dAtA []byte) (int, error) { dAtA[i] = 0x12 i++ i = encodeVarintGenerated(dAtA, i, uint64(m.PodAffinityTerm.Size())) - n233, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) + n236, err := m.PodAffinityTerm.MarshalTo(dAtA[i:]) if err != nil { return 0, err } - i += n233 + i += n236 return i, nil } @@ -10770,6 +10822,26 @@ func (m *CSIPersistentVolumeSource) Size() (n int) { n += 2 l = len(m.FSType) n += 1 + l + sovGenerated(uint64(l)) + if len(m.VolumeAttributes) > 0 { + for k, v := range m.VolumeAttributes { + _ = k + _ = v + mapEntrySize := 1 + len(k) + sovGenerated(uint64(len(k))) + 1 + len(v) + sovGenerated(uint64(len(v))) + n += mapEntrySize + 1 + sovGenerated(uint64(mapEntrySize)) + } + } + if m.ControllerPublishSecretRef != nil { + l = m.ControllerPublishSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.NodeStageSecretRef != nil { + l = m.NodeStageSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } + if m.NodePublishSecretRef != nil { + l = m.NodePublishSecretRef.Size() + n += 1 + l + sovGenerated(uint64(l)) + } return n } @@ -14174,11 +14246,25 @@ func (this *CSIPersistentVolumeSource) String() string { if this == nil { return "nil" } + keysForVolumeAttributes := make([]string, 0, len(this.VolumeAttributes)) + for k := range this.VolumeAttributes { + keysForVolumeAttributes = append(keysForVolumeAttributes, k) + } + github_com_gogo_protobuf_sortkeys.Strings(keysForVolumeAttributes) + mapStringForVolumeAttributes := "map[string]string{" + for _, k := range keysForVolumeAttributes { + mapStringForVolumeAttributes += fmt.Sprintf("%v: %v,", k, this.VolumeAttributes[k]) + } + mapStringForVolumeAttributes += "}" s := strings.Join([]string{`&CSIPersistentVolumeSource{`, `Driver:` + fmt.Sprintf("%v", this.Driver) + `,`, `VolumeHandle:` + fmt.Sprintf("%v", this.VolumeHandle) + `,`, `ReadOnly:` + fmt.Sprintf("%v", this.ReadOnly) + `,`, `FSType:` + fmt.Sprintf("%v", this.FSType) + `,`, + `VolumeAttributes:` + mapStringForVolumeAttributes + `,`, + `ControllerPublishSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.ControllerPublishSecretRef), "SecretReference", "SecretReference", 1) + `,`, + `NodeStageSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.NodeStageSecretRef), "SecretReference", "SecretReference", 1) + `,`, + `NodePublishSecretRef:` + strings.Replace(fmt.Sprintf("%v", this.NodePublishSecretRef), "SecretReference", "SecretReference", 1) + `,`, `}`, }, "") return s @@ -18017,6 +18103,221 @@ func (m *CSIPersistentVolumeSource) Unmarshal(dAtA []byte) error { } m.FSType = string(dAtA[iNdEx:postIndex]) iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field VolumeAttributes", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + var keykey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + keykey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey := string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + if m.VolumeAttributes == nil { + m.VolumeAttributes = make(map[string]string) + } + if iNdEx < postIndex { + var valuekey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + valuekey |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= (uint64(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return ErrInvalidLengthGenerated + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue := string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + m.VolumeAttributes[mapkey] = mapvalue + } else { + var mapvalue string + m.VolumeAttributes[mapkey] = mapvalue + } + iNdEx = postIndex + case 6: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field ControllerPublishSecretRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.ControllerPublishSecretRef == nil { + m.ControllerPublishSecretRef = &SecretReference{} + } + if err := m.ControllerPublishSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 7: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodeStageSecretRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NodeStageSecretRef == nil { + m.NodeStageSecretRef = &SecretReference{} + } + if err := m.NodeStageSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 8: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field NodePublishSecretRef", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return ErrIntOverflowGenerated + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= (int(b) & 0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return ErrInvalidLengthGenerated + } + postIndex := iNdEx + msglen + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.NodePublishSecretRef == nil { + m.NodePublishSecretRef = &SecretReference{} + } + if err := m.NodePublishSecretRef.Unmarshal(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex default: iNdEx = preIndex skippy, err := skipGenerated(dAtA[iNdEx:]) @@ -49974,788 +50275,796 @@ func init() { } var fileDescriptorGenerated = []byte{ - // 12523 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x6b, 0x90, 0x24, 0x57, - 0x56, 0x18, 0xbc, 0x59, 0xd5, 0xaf, 0x3a, 0xfd, 0xbe, 0x33, 0x23, 0xd5, 0xb4, 0xa4, 0xe9, 0x51, - 0x6a, 0x77, 0x34, 0x7a, 0x75, 0xaf, 0x46, 0xd2, 0x4a, 0xac, 0x76, 0x05, 0xdd, 0x5d, 0xdd, 0x33, - 0xa5, 0x99, 0xee, 0x29, 0xdd, 0xea, 0x99, 0xd9, 0x15, 0x62, 0xbf, 0xcd, 0xae, 0xba, 0x5d, 0x9d, - 0xea, 0xec, 0xcc, 0x52, 0x66, 0x56, 0xcf, 0xb4, 0x02, 0x22, 0x3e, 0xaf, 0x01, 0x3f, 0xe0, 0xc7, - 0x86, 0x21, 0x6c, 0x0c, 0x04, 0x8e, 0xb0, 0x71, 0xc0, 0x1a, 0xdb, 0x11, 0x18, 0x0c, 0x18, 0xb0, - 0x8d, 0xb1, 0xc3, 0x01, 0x7f, 0x30, 0xd8, 0x3f, 0x96, 0x08, 0xc2, 0x6d, 0x68, 0x08, 0x3b, 0xf8, - 0x61, 0x87, 0xc3, 0xfc, 0xa2, 0x8d, 0x8d, 0xe3, 0x3e, 0xf3, 0xde, 0xac, 0xcc, 0xaa, 0xea, 0x51, - 0x4f, 0x4b, 0x10, 0xfb, 0xaf, 0xea, 0x9e, 0x73, 0xcf, 0xbd, 0x79, 0x1f, 0xe7, 0x9e, 0x7b, 0xee, - 0x79, 0xc0, 0x9b, 0xbb, 0x6f, 0x44, 0x0b, 0x6e, 0xb0, 0xb8, 0xdb, 0xd9, 0x22, 0xa1, 0x4f, 0x62, - 0x12, 0x2d, 0xee, 0x13, 0xbf, 0x19, 0x84, 0x8b, 0x02, 0xe0, 0xb4, 0xdd, 0xc5, 0x46, 0x10, 0x92, - 0xc5, 0xfd, 0x97, 0x17, 0x5b, 0xc4, 0x27, 0xa1, 0x13, 0x93, 0xe6, 0x42, 0x3b, 0x0c, 0xe2, 0x00, - 0x21, 0x8e, 0xb3, 0xe0, 0xb4, 0xdd, 0x05, 0x8a, 0xb3, 0xb0, 0xff, 0xf2, 0xdc, 0x4b, 0x2d, 0x37, - 0xde, 0xe9, 0x6c, 0x2d, 0x34, 0x82, 0xbd, 0xc5, 0x56, 0xd0, 0x0a, 0x16, 0x19, 0xea, 0x56, 0x67, - 0x9b, 0xfd, 0x63, 0x7f, 0xd8, 0x2f, 0x4e, 0x62, 0x6e, 0x3d, 0x69, 0x86, 0x3c, 0x88, 0x89, 0x1f, - 0xb9, 0x81, 0x1f, 0xbd, 0xe4, 0xb4, 0xdd, 0x88, 0x84, 0xfb, 0x24, 0x5c, 0x6c, 0xef, 0xb6, 0x28, - 0x2c, 0x32, 0x11, 0x16, 0xf7, 0x5f, 0xde, 0x22, 0xb1, 0xd3, 0xd5, 0xa3, 0xb9, 0x57, 0x13, 0x72, - 0x7b, 0x4e, 0x63, 0xc7, 0xf5, 0x49, 0x78, 0x20, 0x69, 0x2c, 0x86, 0x24, 0x0a, 0x3a, 0x61, 0x83, - 0x9c, 0xa8, 0x56, 0xb4, 0xb8, 0x47, 0x62, 0x27, 0xe3, 0xeb, 0xe7, 0x16, 0xf3, 0x6a, 0x85, 0x1d, - 0x3f, 0x76, 0xf7, 0xba, 0x9b, 0xf9, 0x5c, 0xbf, 0x0a, 0x51, 0x63, 0x87, 0xec, 0x39, 0x5d, 0xf5, - 0x5e, 0xc9, 0xab, 0xd7, 0x89, 0x5d, 0x6f, 0xd1, 0xf5, 0xe3, 0x28, 0x0e, 0xd3, 0x95, 0xec, 0x6f, - 0x5a, 0x70, 0x79, 0xe9, 0x5e, 0x7d, 0xd5, 0x73, 0xa2, 0xd8, 0x6d, 0x2c, 0x7b, 0x41, 0x63, 0xb7, - 0x1e, 0x07, 0x21, 0xb9, 0x1b, 0x78, 0x9d, 0x3d, 0x52, 0x67, 0x03, 0x81, 0x5e, 0x84, 0xb1, 0x7d, - 0xf6, 0xbf, 0x5a, 0x29, 0x5b, 0x97, 0xad, 0xab, 0xa5, 0xe5, 0x99, 0xdf, 0x38, 0x9c, 0xff, 0xd4, - 0xd1, 0xe1, 0xfc, 0xd8, 0x5d, 0x51, 0x8e, 0x15, 0x06, 0xba, 0x02, 0x23, 0xdb, 0xd1, 0xe6, 0x41, - 0x9b, 0x94, 0x0b, 0x0c, 0x77, 0x4a, 0xe0, 0x8e, 0xac, 0xd5, 0x69, 0x29, 0x16, 0x50, 0xb4, 0x08, - 0xa5, 0xb6, 0x13, 0xc6, 0x6e, 0xec, 0x06, 0x7e, 0xb9, 0x78, 0xd9, 0xba, 0x3a, 0xbc, 0x3c, 0x2b, - 0x50, 0x4b, 0x35, 0x09, 0xc0, 0x09, 0x0e, 0xed, 0x46, 0x48, 0x9c, 0xe6, 0x6d, 0xdf, 0x3b, 0x28, - 0x0f, 0x5d, 0xb6, 0xae, 0x8e, 0x25, 0xdd, 0xc0, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x47, 0x0b, 0x30, - 0xb6, 0xb4, 0xbd, 0xed, 0xfa, 0x6e, 0x7c, 0x80, 0xee, 0xc2, 0x84, 0x1f, 0x34, 0x89, 0xfc, 0xcf, - 0xbe, 0x62, 0xfc, 0xda, 0xe5, 0x85, 0xee, 0x95, 0xb9, 0xb0, 0xa1, 0xe1, 0x2d, 0xcf, 0x1c, 0x1d, - 0xce, 0x4f, 0xe8, 0x25, 0xd8, 0xa0, 0x83, 0x30, 0x8c, 0xb7, 0x83, 0xa6, 0x22, 0x5b, 0x60, 0x64, - 0xe7, 0xb3, 0xc8, 0xd6, 0x12, 0xb4, 0xe5, 0xe9, 0xa3, 0xc3, 0xf9, 0x71, 0xad, 0x00, 0xeb, 0x44, - 0xd0, 0x16, 0x4c, 0xd3, 0xbf, 0x7e, 0xec, 0x2a, 0xba, 0x45, 0x46, 0xf7, 0x99, 0x3c, 0xba, 0x1a, - 0xea, 0xf2, 0xb9, 0xa3, 0xc3, 0xf9, 0xe9, 0x54, 0x21, 0x4e, 0x13, 0xb4, 0x3f, 0x84, 0xa9, 0xa5, - 0x38, 0x76, 0x1a, 0x3b, 0xa4, 0xc9, 0x67, 0x10, 0xbd, 0x0a, 0x43, 0xbe, 0xb3, 0x47, 0xc4, 0xfc, - 0x5e, 0x16, 0x03, 0x3b, 0xb4, 0xe1, 0xec, 0x91, 0xe3, 0xc3, 0xf9, 0x99, 0x3b, 0xbe, 0xfb, 0x41, - 0x47, 0xac, 0x0a, 0x5a, 0x86, 0x19, 0x36, 0xba, 0x06, 0xd0, 0x24, 0xfb, 0x6e, 0x83, 0xd4, 0x9c, - 0x78, 0x47, 0xcc, 0x37, 0x12, 0x75, 0xa1, 0xa2, 0x20, 0x58, 0xc3, 0xb2, 0x1f, 0x40, 0x69, 0x69, - 0x3f, 0x70, 0x9b, 0xb5, 0xa0, 0x19, 0xa1, 0x5d, 0x98, 0x6e, 0x87, 0x64, 0x9b, 0x84, 0xaa, 0xa8, - 0x6c, 0x5d, 0x2e, 0x5e, 0x1d, 0xbf, 0x76, 0x35, 0xf3, 0x63, 0x4d, 0xd4, 0x55, 0x3f, 0x0e, 0x0f, - 0x96, 0x1f, 0x17, 0xed, 0x4d, 0xa7, 0xa0, 0x38, 0x4d, 0xd9, 0xfe, 0x77, 0x05, 0xb8, 0xb0, 0xf4, - 0x61, 0x27, 0x24, 0x15, 0x37, 0xda, 0x4d, 0xaf, 0xf0, 0xa6, 0x1b, 0xed, 0x6e, 0x24, 0x23, 0xa0, - 0x96, 0x56, 0x45, 0x94, 0x63, 0x85, 0x81, 0x5e, 0x82, 0x51, 0xfa, 0xfb, 0x0e, 0xae, 0x8a, 0x4f, - 0x3e, 0x27, 0x90, 0xc7, 0x2b, 0x4e, 0xec, 0x54, 0x38, 0x08, 0x4b, 0x1c, 0xb4, 0x0e, 0xe3, 0x0d, - 0xb6, 0x21, 0x5b, 0xeb, 0x41, 0x93, 0xb0, 0xc9, 0x2c, 0x2d, 0xbf, 0x40, 0xd1, 0x57, 0x92, 0xe2, - 0xe3, 0xc3, 0xf9, 0x32, 0xef, 0x9b, 0x20, 0xa1, 0xc1, 0xb0, 0x5e, 0x1f, 0xd9, 0x6a, 0x7f, 0x0d, - 0x31, 0x4a, 0x90, 0xb1, 0xb7, 0xae, 0x6a, 0x5b, 0x65, 0x98, 0x6d, 0x95, 0x89, 0xec, 0x6d, 0x82, - 0x5e, 0x86, 0xa1, 0x5d, 0xd7, 0x6f, 0x96, 0x47, 0x18, 0xad, 0xa7, 0xe8, 0x9c, 0xdf, 0x74, 0xfd, - 0xe6, 0xf1, 0xe1, 0xfc, 0xac, 0xd1, 0x1d, 0x5a, 0x88, 0x19, 0xaa, 0xfd, 0x27, 0x16, 0xcc, 0x33, - 0xd8, 0x9a, 0xeb, 0x91, 0x1a, 0x09, 0x23, 0x37, 0x8a, 0x89, 0x1f, 0x1b, 0x03, 0x7a, 0x0d, 0x20, - 0x22, 0x8d, 0x90, 0xc4, 0xda, 0x90, 0xaa, 0x85, 0x51, 0x57, 0x10, 0xac, 0x61, 0x51, 0x86, 0x10, - 0xed, 0x38, 0x21, 0x5b, 0x5f, 0x62, 0x60, 0x15, 0x43, 0xa8, 0x4b, 0x00, 0x4e, 0x70, 0x0c, 0x86, - 0x50, 0xec, 0xc7, 0x10, 0xd0, 0x17, 0x61, 0x3a, 0x69, 0x2c, 0x6a, 0x3b, 0x0d, 0x39, 0x80, 0x6c, - 0xcb, 0xd4, 0x4d, 0x10, 0x4e, 0xe3, 0xda, 0xff, 0xc8, 0x12, 0x8b, 0x87, 0x7e, 0xf5, 0x27, 0xfc, - 0x5b, 0xed, 0x5f, 0xb2, 0x60, 0x74, 0xd9, 0xf5, 0x9b, 0xae, 0xdf, 0x42, 0x5f, 0x85, 0x31, 0x7a, - 0x36, 0x35, 0x9d, 0xd8, 0x11, 0x7c, 0xef, 0xb3, 0xda, 0xde, 0x52, 0x47, 0xc5, 0x42, 0x7b, 0xb7, - 0x45, 0x0b, 0xa2, 0x05, 0x8a, 0x4d, 0x77, 0xdb, 0xed, 0xad, 0xf7, 0x49, 0x23, 0x5e, 0x27, 0xb1, - 0x93, 0x7c, 0x4e, 0x52, 0x86, 0x15, 0x55, 0x74, 0x13, 0x46, 0x62, 0x27, 0x6c, 0x91, 0x58, 0x30, - 0xc0, 0x4c, 0x46, 0xc5, 0x6b, 0x62, 0xba, 0x23, 0x89, 0xdf, 0x20, 0xc9, 0xb1, 0xb0, 0xc9, 0xaa, - 0x62, 0x41, 0xc2, 0xfe, 0x4f, 0x16, 0x5c, 0x5c, 0xa9, 0x57, 0x73, 0xd6, 0xd5, 0x15, 0x18, 0x69, - 0x86, 0xee, 0x3e, 0x09, 0xc5, 0x38, 0x2b, 0x2a, 0x15, 0x56, 0x8a, 0x05, 0x14, 0xbd, 0x01, 0x13, - 0xfc, 0x40, 0xba, 0xe1, 0xf8, 0x4d, 0x4f, 0x0e, 0xf1, 0x79, 0x81, 0x3d, 0x71, 0x57, 0x83, 0x61, - 0x03, 0xf3, 0x84, 0x8b, 0xea, 0x4a, 0x6a, 0x33, 0xe6, 0x1c, 0x76, 0x76, 0x03, 0x26, 0x56, 0x9c, - 0xb6, 0xb3, 0xe5, 0x7a, 0x6e, 0xec, 0x92, 0x08, 0x3d, 0x0b, 0x45, 0xa7, 0xd9, 0x64, 0xbc, 0xae, - 0xb4, 0x7c, 0xe1, 0xe8, 0x70, 0xbe, 0xb8, 0xd4, 0xa4, 0x9b, 0x0e, 0x14, 0xd6, 0x01, 0xa6, 0x18, - 0xe8, 0x79, 0x18, 0x6a, 0x86, 0x41, 0xbb, 0x5c, 0x60, 0x98, 0x8f, 0xd1, 0xfd, 0x59, 0x09, 0x83, - 0x76, 0x0a, 0x95, 0xe1, 0xd8, 0xbf, 0x56, 0x80, 0x27, 0x57, 0x48, 0x7b, 0x67, 0xad, 0x9e, 0x33, - 0x7a, 0x57, 0x61, 0x6c, 0x2f, 0xf0, 0xdd, 0x38, 0x08, 0x23, 0xd1, 0x34, 0x63, 0x0b, 0xeb, 0xa2, - 0x0c, 0x2b, 0x28, 0xba, 0x0c, 0x43, 0xed, 0x84, 0xa5, 0x4f, 0xc8, 0xe3, 0x80, 0x31, 0x73, 0x06, - 0xa1, 0x18, 0x9d, 0x88, 0x84, 0x82, 0x9d, 0x29, 0x8c, 0x3b, 0x11, 0x09, 0x31, 0x83, 0x24, 0xfb, - 0x82, 0xee, 0x18, 0x31, 0x3e, 0xa9, 0x7d, 0x41, 0x21, 0x58, 0xc3, 0x42, 0x35, 0x28, 0xf1, 0x7f, - 0x98, 0x6c, 0x33, 0xce, 0x95, 0xb3, 0x9a, 0xea, 0x12, 0x49, 0xac, 0xa6, 0x49, 0xb6, 0x71, 0x64, - 0x21, 0x4e, 0x88, 0x18, 0xf3, 0x39, 0xd2, 0x77, 0xe3, 0xfc, 0x4a, 0x01, 0x10, 0x1f, 0xc2, 0xbf, - 0x60, 0x03, 0x77, 0xa7, 0x7b, 0xe0, 0x32, 0x8f, 0xd0, 0x5b, 0x41, 0xc3, 0xf1, 0xd2, 0x7b, 0xf1, - 0xb4, 0x46, 0xef, 0x47, 0x2c, 0x40, 0x2b, 0xae, 0xdf, 0x24, 0xe1, 0x19, 0xc8, 0x8f, 0x27, 0xe3, - 0x88, 0xb7, 0x60, 0x6a, 0xc5, 0x73, 0x89, 0x1f, 0x57, 0x6b, 0x2b, 0x81, 0xbf, 0xed, 0xb6, 0xd0, - 0xe7, 0x61, 0x8a, 0x8a, 0xd3, 0x41, 0x27, 0xae, 0x93, 0x46, 0xe0, 0x33, 0xc9, 0x83, 0x0a, 0xa1, - 0xe8, 0xe8, 0x70, 0x7e, 0x6a, 0xd3, 0x80, 0xe0, 0x14, 0xa6, 0xfd, 0x7b, 0xf4, 0x43, 0x83, 0xbd, - 0x76, 0xe0, 0x13, 0x3f, 0x5e, 0x09, 0xfc, 0x26, 0x97, 0x50, 0x3f, 0x0f, 0x43, 0x31, 0xed, 0x38, - 0xff, 0xc8, 0x2b, 0x72, 0x6a, 0x69, 0x77, 0x8f, 0x0f, 0xe7, 0x1f, 0xeb, 0xae, 0xc1, 0x3e, 0x88, - 0xd5, 0x41, 0xdf, 0x06, 0x23, 0x51, 0xec, 0xc4, 0x9d, 0x48, 0x7c, 0xf6, 0xd3, 0xf2, 0xb3, 0xeb, - 0xac, 0xf4, 0xf8, 0x70, 0x7e, 0x5a, 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc1, 0xe8, 0x1e, - 0x89, 0x22, 0xa7, 0x25, 0x85, 0x8b, 0x69, 0x51, 0x77, 0x74, 0x9d, 0x17, 0x63, 0x09, 0x47, 0xcf, - 0xc0, 0x30, 0x09, 0xc3, 0x20, 0x14, 0xab, 0x6a, 0x52, 0x20, 0x0e, 0xaf, 0xd2, 0x42, 0xcc, 0x61, - 0xf6, 0x7f, 0xb0, 0x60, 0x5a, 0xf5, 0x95, 0xb7, 0x75, 0x06, 0xa7, 0xc8, 0xbb, 0x00, 0x0d, 0xf9, - 0x81, 0x11, 0xe3, 0x77, 0xe3, 0xd7, 0xae, 0x64, 0x2d, 0xe1, 0xee, 0x61, 0x4c, 0x28, 0xab, 0xa2, - 0x08, 0x6b, 0xd4, 0xec, 0x7f, 0x69, 0xc1, 0xb9, 0xd4, 0x17, 0xdd, 0x72, 0xa3, 0x18, 0xbd, 0xd7, - 0xf5, 0x55, 0x0b, 0x83, 0x7d, 0x15, 0xad, 0xcd, 0xbe, 0x49, 0xad, 0x39, 0x59, 0xa2, 0x7d, 0xd1, - 0x0d, 0x18, 0x76, 0x63, 0xb2, 0x27, 0x3f, 0xe6, 0x99, 0x9e, 0x1f, 0xc3, 0x7b, 0x95, 0xcc, 0x48, - 0x95, 0xd6, 0xc4, 0x9c, 0x80, 0xfd, 0x43, 0x45, 0x28, 0xf1, 0x65, 0xbb, 0xee, 0xb4, 0xcf, 0x60, - 0x2e, 0xaa, 0x30, 0xc4, 0xa8, 0xf3, 0x8e, 0x3f, 0x9b, 0xdd, 0x71, 0xd1, 0x9d, 0x05, 0x2a, 0x22, - 0x72, 0x51, 0x5c, 0x31, 0x33, 0x5a, 0x84, 0x19, 0x09, 0xe4, 0x00, 0x6c, 0xb9, 0xbe, 0x13, 0x1e, - 0xd0, 0xb2, 0x72, 0x91, 0x11, 0x7c, 0xa9, 0x37, 0xc1, 0x65, 0x85, 0xcf, 0xc9, 0xaa, 0xbe, 0x26, - 0x00, 0xac, 0x11, 0x9d, 0x7b, 0x1d, 0x4a, 0x0a, 0x19, 0xcd, 0x40, 0x71, 0x97, 0xf0, 0x1b, 0x5e, - 0x09, 0xd3, 0x9f, 0xe8, 0x3c, 0x0c, 0xef, 0x3b, 0x5e, 0x47, 0xf0, 0x13, 0xcc, 0xff, 0x7c, 0xbe, - 0xf0, 0x86, 0x35, 0xf7, 0x45, 0x98, 0x4e, 0xb5, 0xd5, 0xaf, 0xfa, 0x84, 0x56, 0xdd, 0xfe, 0x65, - 0xc6, 0x05, 0x44, 0xaf, 0x57, 0xfd, 0x7d, 0xc1, 0xee, 0x3e, 0x84, 0xf3, 0x5e, 0x06, 0x97, 0x15, - 0x53, 0x35, 0x38, 0x57, 0x7e, 0x52, 0x7c, 0xf6, 0xf9, 0x2c, 0x28, 0xce, 0x6c, 0x83, 0x1e, 0x54, - 0x41, 0x9b, 0xae, 0x79, 0xc7, 0x63, 0xfd, 0x15, 0x82, 0xff, 0x6d, 0x51, 0x86, 0x15, 0x94, 0xb2, - 0xb0, 0xf3, 0xaa, 0xf3, 0x37, 0xc9, 0x41, 0x9d, 0x78, 0xa4, 0x11, 0x07, 0xe1, 0xc7, 0xda, 0xfd, - 0xa7, 0xf8, 0xe8, 0x73, 0x0e, 0x38, 0x2e, 0x08, 0x14, 0x6f, 0x92, 0x03, 0x3e, 0x15, 0xfa, 0xd7, - 0x15, 0x7b, 0x7e, 0xdd, 0xcf, 0x5a, 0x30, 0xa9, 0xbe, 0xee, 0x0c, 0xb6, 0xfa, 0xb2, 0xb9, 0xd5, - 0x9f, 0xea, 0xb9, 0xc0, 0x73, 0x36, 0xf9, 0x9f, 0x33, 0x26, 0x25, 0x70, 0x6a, 0x61, 0x40, 0x87, - 0x86, 0x9e, 0x2a, 0x1f, 0xe7, 0x84, 0x0c, 0xf2, 0x5d, 0x37, 0xc9, 0xc1, 0x66, 0x40, 0x05, 0x9c, - 0xec, 0xef, 0x32, 0x66, 0x6d, 0xa8, 0xe7, 0xac, 0xfd, 0x7c, 0x01, 0x2e, 0xa8, 0x11, 0x30, 0x44, - 0x88, 0xbf, 0xe8, 0x63, 0xf0, 0x32, 0x8c, 0x37, 0xc9, 0xb6, 0xd3, 0xf1, 0x62, 0xa5, 0x03, 0x18, - 0xe6, 0x7a, 0xa0, 0x4a, 0x52, 0x8c, 0x75, 0x9c, 0x13, 0x0c, 0xdb, 0x4f, 0x8e, 0xb3, 0xd3, 0x21, - 0x76, 0xe8, 0x0a, 0xa6, 0xf2, 0xa5, 0xa6, 0xc9, 0x99, 0xd0, 0x35, 0x39, 0x42, 0x6b, 0xf3, 0x0c, - 0x0c, 0xbb, 0x7b, 0x54, 0x5a, 0x28, 0x98, 0x42, 0x40, 0x95, 0x16, 0x62, 0x0e, 0x43, 0x9f, 0x81, - 0xd1, 0x46, 0xb0, 0xb7, 0xe7, 0xf8, 0x4d, 0xc6, 0xb4, 0x4b, 0xcb, 0xe3, 0x54, 0xa0, 0x58, 0xe1, - 0x45, 0x58, 0xc2, 0xd0, 0x93, 0x30, 0xe4, 0x84, 0xad, 0xa8, 0x3c, 0xc4, 0x70, 0xc6, 0x68, 0x4b, - 0x4b, 0x61, 0x2b, 0xc2, 0xac, 0x94, 0x4a, 0xb2, 0xf7, 0x83, 0x70, 0xd7, 0xf5, 0x5b, 0x15, 0x37, - 0x64, 0x62, 0xa9, 0x26, 0xc9, 0xde, 0x53, 0x10, 0xac, 0x61, 0xa1, 0x35, 0x18, 0x6e, 0x07, 0x61, - 0x1c, 0x95, 0x47, 0xd8, 0x70, 0x3f, 0x9d, 0xb3, 0x95, 0xf8, 0xd7, 0xd6, 0x82, 0x30, 0x4e, 0x3e, - 0x80, 0xfe, 0x8b, 0x30, 0xaf, 0x8e, 0xbe, 0x0d, 0x8a, 0xc4, 0xdf, 0x2f, 0x8f, 0x32, 0x2a, 0x73, - 0x59, 0x54, 0x56, 0xfd, 0xfd, 0xbb, 0x4e, 0x98, 0xf0, 0x99, 0x55, 0x7f, 0x1f, 0xd3, 0x3a, 0xe8, - 0xcb, 0x50, 0x92, 0x5a, 0xe0, 0xa8, 0x3c, 0x96, 0xbf, 0xc4, 0xb0, 0x40, 0xc2, 0xe4, 0x83, 0x8e, - 0x1b, 0x92, 0x3d, 0xe2, 0xc7, 0x51, 0x72, 0x8f, 0x97, 0xd0, 0x08, 0x27, 0xd4, 0xd0, 0x97, 0xe5, - 0xc5, 0x74, 0x3d, 0xe8, 0xf8, 0x71, 0x54, 0x2e, 0xb1, 0xee, 0x65, 0xaa, 0x0c, 0xef, 0x26, 0x78, - 0xe9, 0x9b, 0x2b, 0xaf, 0x8c, 0x0d, 0x52, 0x08, 0xc3, 0xa4, 0xe7, 0xee, 0x13, 0x9f, 0x44, 0x51, - 0x2d, 0x0c, 0xb6, 0x48, 0x19, 0x58, 0xcf, 0x2f, 0x66, 0x6b, 0xd2, 0x82, 0x2d, 0xb2, 0x3c, 0x7b, - 0x74, 0x38, 0x3f, 0x79, 0x4b, 0xaf, 0x83, 0x4d, 0x12, 0xe8, 0x0e, 0x4c, 0x51, 0x11, 0xda, 0x4d, - 0x88, 0x8e, 0xf7, 0x23, 0xca, 0xe4, 0x67, 0x6c, 0x54, 0xc2, 0x29, 0x22, 0xe8, 0x6d, 0x28, 0x79, - 0xee, 0x36, 0x69, 0x1c, 0x34, 0x3c, 0x52, 0x9e, 0x60, 0x14, 0x33, 0xb7, 0xd5, 0x2d, 0x89, 0xc4, - 0xaf, 0x28, 0xea, 0x2f, 0x4e, 0xaa, 0xa3, 0xbb, 0xf0, 0x58, 0x4c, 0xc2, 0x3d, 0xd7, 0x77, 0xe8, - 0x76, 0x10, 0x12, 0x2f, 0xd3, 0x47, 0x4e, 0xb2, 0xf5, 0x76, 0x49, 0x0c, 0xdd, 0x63, 0x9b, 0x99, - 0x58, 0x38, 0xa7, 0x36, 0xba, 0x0d, 0xd3, 0x6c, 0x27, 0xd4, 0x3a, 0x9e, 0x57, 0x0b, 0x3c, 0xb7, - 0x71, 0x50, 0x9e, 0x62, 0x04, 0x3f, 0x23, 0x15, 0x8e, 0x55, 0x13, 0x4c, 0xef, 0xe4, 0xc9, 0x3f, - 0x9c, 0xae, 0x8d, 0xb6, 0x98, 0x02, 0xaa, 0x13, 0xba, 0xf1, 0x01, 0x5d, 0xbf, 0xe4, 0x41, 0x5c, - 0x9e, 0xee, 0x79, 0xc3, 0xd5, 0x51, 0x95, 0x96, 0x4a, 0x2f, 0xc4, 0x69, 0x82, 0x74, 0x6b, 0x47, - 0x71, 0xd3, 0xf5, 0xcb, 0x33, 0x8c, 0x63, 0xa8, 0x9d, 0x51, 0xa7, 0x85, 0x98, 0xc3, 0x98, 0xf2, - 0x89, 0xfe, 0xb8, 0x4d, 0x39, 0xe8, 0x2c, 0x43, 0x4c, 0x94, 0x4f, 0x12, 0x80, 0x13, 0x1c, 0x7a, - 0x2c, 0xc7, 0xf1, 0x41, 0x19, 0x31, 0x54, 0xb5, 0x5d, 0x36, 0x37, 0xbf, 0x8c, 0x69, 0x39, 0xba, - 0x05, 0xa3, 0xc4, 0xdf, 0x5f, 0x0b, 0x83, 0xbd, 0xf2, 0xb9, 0xfc, 0x3d, 0xbb, 0xca, 0x51, 0x38, - 0x43, 0x4f, 0xae, 0x28, 0xa2, 0x18, 0x4b, 0x12, 0xe8, 0x01, 0x94, 0x33, 0x66, 0x84, 0x4f, 0xc0, - 0x79, 0x36, 0x01, 0x5f, 0x10, 0x75, 0xcb, 0x9b, 0x39, 0x78, 0xc7, 0x3d, 0x60, 0x38, 0x97, 0x3a, - 0xfa, 0x2e, 0x98, 0xe4, 0x1b, 0x8a, 0x6b, 0xae, 0xa3, 0xf2, 0x05, 0xf6, 0x35, 0x97, 0xf3, 0x37, - 0x27, 0x47, 0x5c, 0xbe, 0x20, 0x3a, 0x34, 0xa9, 0x97, 0x46, 0xd8, 0xa4, 0x66, 0x6f, 0xc1, 0x94, - 0xe2, 0x5b, 0x6c, 0xe9, 0xa0, 0x79, 0x18, 0xa6, 0x0c, 0x59, 0xea, 0x14, 0x4a, 0x74, 0xa6, 0x98, - 0xc6, 0x11, 0xf3, 0x72, 0x36, 0x53, 0xee, 0x87, 0x64, 0xf9, 0x20, 0x26, 0xfc, 0x5e, 0x58, 0xd4, - 0x66, 0x4a, 0x02, 0x70, 0x82, 0x63, 0xff, 0x5f, 0x2e, 0xf7, 0x24, 0xcc, 0x71, 0x80, 0xe3, 0xe0, - 0x45, 0x18, 0xdb, 0x09, 0xa2, 0x98, 0x62, 0xb3, 0x36, 0x86, 0x13, 0x49, 0xe7, 0x86, 0x28, 0xc7, - 0x0a, 0x03, 0xbd, 0x09, 0x93, 0x0d, 0xbd, 0x01, 0x71, 0x96, 0xa9, 0x21, 0x30, 0x5a, 0xc7, 0x26, - 0x2e, 0x7a, 0x03, 0xc6, 0xd8, 0xbb, 0x53, 0x23, 0xf0, 0xc4, 0x0d, 0x54, 0x1e, 0xc8, 0x63, 0x35, - 0x51, 0x7e, 0xac, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x81, 0x11, 0xda, 0x85, 0x6a, 0x4d, 0x9c, 0x22, - 0x4a, 0x2b, 0x70, 0x83, 0x95, 0x62, 0x01, 0xb5, 0xff, 0x56, 0x41, 0x1b, 0x65, 0x7a, 0xa7, 0x22, - 0xa8, 0x06, 0xa3, 0xf7, 0x1d, 0x37, 0x76, 0xfd, 0x96, 0x10, 0x17, 0x9e, 0xeb, 0x79, 0xa4, 0xb0, - 0x4a, 0xf7, 0x78, 0x05, 0x7e, 0xe8, 0x89, 0x3f, 0x58, 0x92, 0xa1, 0x14, 0xc3, 0x8e, 0xef, 0x53, - 0x8a, 0x85, 0x41, 0x29, 0x62, 0x5e, 0x81, 0x53, 0x14, 0x7f, 0xb0, 0x24, 0x83, 0xde, 0x03, 0x90, - 0xcb, 0x92, 0x34, 0xc5, 0x7b, 0xcf, 0x8b, 0xfd, 0x89, 0x6e, 0xaa, 0x3a, 0xcb, 0x53, 0xf4, 0x48, - 0x4d, 0xfe, 0x63, 0x8d, 0x9e, 0x1d, 0x33, 0xb1, 0xaa, 0xbb, 0x33, 0xe8, 0x3b, 0x29, 0x27, 0x70, - 0xc2, 0x98, 0x34, 0x97, 0x62, 0x31, 0x38, 0xcf, 0x0f, 0x26, 0x15, 0x6f, 0xba, 0x7b, 0x44, 0xe7, - 0x1a, 0x82, 0x08, 0x4e, 0xe8, 0xd9, 0xbf, 0x58, 0x84, 0x72, 0x5e, 0x77, 0xe9, 0xa2, 0x23, 0x0f, - 0xdc, 0x78, 0x85, 0x4a, 0x43, 0x96, 0xb9, 0xe8, 0x56, 0x45, 0x39, 0x56, 0x18, 0x74, 0xf6, 0x23, - 0xb7, 0x25, 0x2f, 0x35, 0xc3, 0xc9, 0xec, 0xd7, 0x59, 0x29, 0x16, 0x50, 0x8a, 0x17, 0x12, 0x27, - 0x12, 0x0f, 0x8a, 0xda, 0x2a, 0xc1, 0xac, 0x14, 0x0b, 0xa8, 0xae, 0x31, 0x19, 0xea, 0xa3, 0x31, - 0x31, 0x86, 0x68, 0xf8, 0x74, 0x87, 0x08, 0x7d, 0x05, 0x60, 0xdb, 0xf5, 0xdd, 0x68, 0x87, 0x51, - 0x1f, 0x39, 0x31, 0x75, 0x25, 0x4b, 0xad, 0x29, 0x2a, 0x58, 0xa3, 0x88, 0x5e, 0x83, 0x71, 0xb5, - 0x01, 0xab, 0x95, 0xf2, 0xa8, 0xf9, 0x5a, 0x95, 0x70, 0xa3, 0x0a, 0xd6, 0xf1, 0xec, 0xf7, 0xd3, - 0xeb, 0x45, 0xec, 0x00, 0x6d, 0x7c, 0xad, 0x41, 0xc7, 0xb7, 0xd0, 0x7b, 0x7c, 0xed, 0x5f, 0x2f, - 0xc2, 0xb4, 0xd1, 0x58, 0x27, 0x1a, 0x80, 0x67, 0x5d, 0xa7, 0xe7, 0x9c, 0x13, 0x13, 0xb1, 0xff, - 0xec, 0xfe, 0x5b, 0x45, 0x3f, 0x0b, 0xe9, 0x0e, 0xe0, 0xf5, 0xd1, 0x57, 0xa0, 0xe4, 0x39, 0x11, - 0xd3, 0xbe, 0x10, 0xb1, 0xef, 0x06, 0x21, 0x96, 0xdc, 0x23, 0x9c, 0x28, 0xd6, 0x8e, 0x1a, 0x4e, - 0x3b, 0x21, 0x49, 0x0f, 0x64, 0x2a, 0xfb, 0xc8, 0x17, 0x6b, 0xd5, 0x09, 0x2a, 0x20, 0x1d, 0x60, - 0x0e, 0x43, 0x6f, 0xc0, 0x44, 0x48, 0xd8, 0xaa, 0x58, 0xa1, 0xa2, 0x1c, 0x5b, 0x66, 0xc3, 0x89, - 0xcc, 0x87, 0x35, 0x18, 0x36, 0x30, 0x13, 0x51, 0x7e, 0xa4, 0x87, 0x28, 0xff, 0x1c, 0x8c, 0xb2, - 0x1f, 0x6a, 0x05, 0xa8, 0xd9, 0xa8, 0xf2, 0x62, 0x2c, 0xe1, 0xe9, 0x05, 0x33, 0x36, 0xe0, 0x82, - 0x79, 0x1e, 0xa6, 0x2a, 0x0e, 0xd9, 0x0b, 0xfc, 0x55, 0xbf, 0xd9, 0x0e, 0x5c, 0x3f, 0x46, 0x65, - 0x18, 0x62, 0xa7, 0x03, 0xdf, 0xdb, 0x43, 0x94, 0x02, 0x1e, 0xa2, 0x82, 0xb9, 0xfd, 0x3b, 0x05, - 0x98, 0xac, 0x10, 0x8f, 0xc4, 0x84, 0x5f, 0x65, 0x22, 0xb4, 0x06, 0xa8, 0x15, 0x3a, 0x0d, 0x52, - 0x23, 0xa1, 0x1b, 0x34, 0x75, 0x6d, 0x6c, 0x91, 0xbd, 0x78, 0xa0, 0xeb, 0x5d, 0x50, 0x9c, 0x51, - 0x03, 0xbd, 0x0b, 0x93, 0xed, 0x90, 0x18, 0x4a, 0x44, 0x2b, 0x4f, 0x1a, 0xa9, 0xe9, 0x88, 0x5c, - 0x10, 0x36, 0x8a, 0xb0, 0x49, 0x0a, 0x7d, 0x07, 0xcc, 0x04, 0x61, 0x7b, 0xc7, 0xf1, 0x2b, 0xa4, - 0x4d, 0xfc, 0x26, 0x95, 0xf4, 0x85, 0x0a, 0xe2, 0xfc, 0xd1, 0xe1, 0xfc, 0xcc, 0xed, 0x14, 0x0c, - 0x77, 0x61, 0xa3, 0x77, 0x61, 0xb6, 0x1d, 0x06, 0x6d, 0xa7, 0xc5, 0x16, 0x8a, 0x10, 0x68, 0x38, - 0xf7, 0x79, 0xf1, 0xe8, 0x70, 0x7e, 0xb6, 0x96, 0x06, 0x1e, 0x1f, 0xce, 0x9f, 0x63, 0x03, 0x45, - 0x4b, 0x12, 0x20, 0xee, 0x26, 0x63, 0xb7, 0xe0, 0x42, 0x25, 0xb8, 0xef, 0xdf, 0x77, 0xc2, 0xe6, - 0x52, 0xad, 0xaa, 0xe9, 0x0e, 0x36, 0xe4, 0xdd, 0x95, 0xbf, 0xaa, 0x67, 0x9e, 0x53, 0x5a, 0x4d, - 0x2e, 0xbf, 0xac, 0xb9, 0x1e, 0xc9, 0xd1, 0x51, 0xfc, 0x9d, 0x82, 0xd1, 0x52, 0x82, 0xaf, 0x1e, - 0x3e, 0xac, 0xdc, 0x87, 0x8f, 0x77, 0x60, 0x6c, 0xdb, 0x25, 0x5e, 0x13, 0x93, 0x6d, 0x31, 0x33, - 0xcf, 0xe6, 0x3f, 0x14, 0xae, 0x51, 0x4c, 0xa9, 0x93, 0xe2, 0x37, 0xdf, 0x35, 0x51, 0x19, 0x2b, - 0x32, 0x68, 0x17, 0x66, 0xe4, 0xd5, 0x4a, 0x42, 0xc5, 0x26, 0x7e, 0xae, 0xd7, 0x7d, 0xcd, 0x24, - 0xce, 0x26, 0x10, 0xa7, 0xc8, 0xe0, 0x2e, 0xc2, 0xf4, 0xaa, 0xbb, 0x47, 0x8f, 0xab, 0x21, 0xb6, - 0xa4, 0xd9, 0x55, 0x97, 0xdd, 0xda, 0x59, 0xa9, 0xfd, 0xe3, 0x16, 0x3c, 0xde, 0x35, 0x32, 0x42, - 0x7b, 0x71, 0xca, 0xb3, 0x90, 0xd6, 0x26, 0x14, 0xfa, 0x6b, 0x13, 0xec, 0x7f, 0x6c, 0xc1, 0xf9, - 0xd5, 0xbd, 0x76, 0x7c, 0x50, 0x71, 0xcd, 0xc7, 0x99, 0xd7, 0x61, 0x64, 0x8f, 0x34, 0xdd, 0xce, - 0x9e, 0x98, 0xb9, 0x79, 0xc9, 0xd2, 0xd7, 0x59, 0xe9, 0xf1, 0xe1, 0xfc, 0x64, 0x3d, 0x0e, 0x42, - 0xa7, 0x45, 0x78, 0x01, 0x16, 0xe8, 0xec, 0x60, 0x74, 0x3f, 0x24, 0xb7, 0xdc, 0x3d, 0x57, 0x3e, - 0xfc, 0xf6, 0xd4, 0xa8, 0x2d, 0xc8, 0x01, 0x5d, 0x78, 0xa7, 0xe3, 0xf8, 0xb1, 0x1b, 0x1f, 0x88, - 0x77, 0x27, 0x49, 0x04, 0x27, 0xf4, 0xec, 0x6f, 0x5a, 0x30, 0x2d, 0x79, 0xc9, 0x52, 0xb3, 0x19, - 0x92, 0x28, 0x42, 0x73, 0x50, 0x70, 0xdb, 0xa2, 0x97, 0x20, 0x7a, 0x59, 0xa8, 0xd6, 0x70, 0xc1, - 0x6d, 0xa3, 0x1a, 0x94, 0xf8, 0xfb, 0x71, 0xb2, 0xb8, 0x06, 0x7a, 0x85, 0x66, 0x3d, 0xd8, 0x94, - 0x35, 0x71, 0x42, 0x44, 0x4a, 0xc5, 0xec, 0x1c, 0x2a, 0x9a, 0x8f, 0x56, 0x37, 0x44, 0x39, 0x56, - 0x18, 0xe8, 0x2a, 0x8c, 0xf9, 0x41, 0x93, 0x3f, 0xe7, 0xf3, 0x3d, 0xcd, 0x96, 0xec, 0x86, 0x28, - 0xc3, 0x0a, 0x6a, 0xff, 0xa0, 0x05, 0x13, 0xf2, 0xcb, 0x06, 0x14, 0xd0, 0xe9, 0xd6, 0x4a, 0x84, - 0xf3, 0x64, 0x6b, 0x51, 0x01, 0x9b, 0x41, 0x0c, 0xb9, 0xba, 0x78, 0x12, 0xb9, 0xda, 0xfe, 0xb1, - 0x02, 0x4c, 0xc9, 0xee, 0xd4, 0x3b, 0x5b, 0x11, 0x89, 0xd1, 0x26, 0x94, 0x1c, 0x3e, 0xe4, 0x44, - 0xae, 0xd8, 0x67, 0xb2, 0x2f, 0x74, 0xc6, 0xfc, 0x24, 0xa2, 0xce, 0x92, 0xac, 0x8d, 0x13, 0x42, - 0xc8, 0x83, 0x59, 0x3f, 0x88, 0xd9, 0xb1, 0xa7, 0xe0, 0xbd, 0x1e, 0x46, 0xd2, 0xd4, 0x2f, 0x0a, - 0xea, 0xb3, 0x1b, 0x69, 0x2a, 0xb8, 0x9b, 0x30, 0x5a, 0x95, 0x4a, 0xa4, 0x62, 0xfe, 0x15, 0x4e, - 0x9f, 0x85, 0x6c, 0x1d, 0x92, 0xfd, 0xab, 0x16, 0x94, 0x24, 0xda, 0x59, 0xbc, 0x81, 0xad, 0xc3, - 0x68, 0xc4, 0x26, 0x41, 0x0e, 0x8d, 0xdd, 0xab, 0xe3, 0x7c, 0xbe, 0x92, 0xd3, 0x9c, 0xff, 0x8f, - 0xb0, 0xa4, 0xc1, 0xb4, 0xe0, 0xaa, 0xfb, 0x9f, 0x10, 0x2d, 0xb8, 0xea, 0x4f, 0xce, 0x09, 0xf3, - 0xdf, 0x58, 0x9f, 0x35, 0x55, 0x01, 0x15, 0x3a, 0xdb, 0x21, 0xd9, 0x76, 0x1f, 0xa4, 0x85, 0xce, - 0x1a, 0x2b, 0xc5, 0x02, 0x8a, 0xde, 0x83, 0x89, 0x86, 0x54, 0x1e, 0x27, 0x6c, 0xe0, 0x4a, 0x4f, - 0x55, 0xbc, 0x7a, 0xb5, 0xe1, 0xa6, 0x7e, 0x2b, 0x5a, 0x7d, 0x6c, 0x50, 0x33, 0x2d, 0x13, 0x8a, - 0xfd, 0x2c, 0x13, 0x12, 0xba, 0xb9, 0x6f, 0xeb, 0xf6, 0x4f, 0x58, 0x30, 0xc2, 0x55, 0x90, 0x83, - 0xe9, 0x6c, 0xb5, 0x47, 0xac, 0x64, 0xec, 0xee, 0xd2, 0x42, 0xf1, 0x28, 0x85, 0xd6, 0xa1, 0xc4, - 0x7e, 0x30, 0x55, 0x4c, 0x31, 0xdf, 0xc6, 0x91, 0xb7, 0xaa, 0x77, 0xf0, 0xae, 0xac, 0x86, 0x13, - 0x0a, 0xf6, 0x0f, 0x17, 0x29, 0xab, 0x4a, 0x50, 0x8d, 0x13, 0xdc, 0x7a, 0x74, 0x27, 0x78, 0xe1, - 0x51, 0x9d, 0xe0, 0x2d, 0x98, 0x6e, 0x68, 0x4f, 0x5e, 0xc9, 0x4c, 0x5e, 0xed, 0xb9, 0x48, 0xb4, - 0xd7, 0x31, 0xae, 0x86, 0x5b, 0x31, 0x89, 0xe0, 0x34, 0x55, 0xf4, 0x9d, 0x30, 0xc1, 0xe7, 0x59, - 0xb4, 0x32, 0xc4, 0x5a, 0xf9, 0x4c, 0xfe, 0x7a, 0xd1, 0x9b, 0x60, 0x2b, 0xb1, 0xae, 0x55, 0xc7, - 0x06, 0x31, 0xfb, 0x17, 0xc7, 0x60, 0x78, 0x75, 0x9f, 0xf8, 0xf1, 0x19, 0x30, 0xa4, 0x06, 0x4c, - 0xb9, 0xfe, 0x7e, 0xe0, 0xed, 0x93, 0x26, 0x87, 0x9f, 0xe4, 0x70, 0x7d, 0x4c, 0x90, 0x9e, 0xaa, - 0x1a, 0x24, 0x70, 0x8a, 0xe4, 0xa3, 0xb8, 0xb5, 0x5f, 0x87, 0x11, 0x3e, 0xf7, 0xe2, 0xca, 0x9e, - 0xa9, 0x60, 0x67, 0x83, 0x28, 0x76, 0x41, 0xa2, 0x51, 0xe0, 0x1a, 0x7d, 0x51, 0x1d, 0xbd, 0x0f, - 0x53, 0xdb, 0x6e, 0x18, 0xc5, 0xf4, 0xba, 0x1d, 0xc5, 0xce, 0x5e, 0xfb, 0x21, 0x6e, 0xe9, 0x6a, - 0x1c, 0xd6, 0x0c, 0x4a, 0x38, 0x45, 0x19, 0xb5, 0x60, 0x92, 0x5e, 0x1c, 0x93, 0xa6, 0x46, 0x4f, - 0xdc, 0x94, 0x52, 0xc3, 0xdd, 0xd2, 0x09, 0x61, 0x93, 0x2e, 0x65, 0x26, 0x0d, 0x76, 0xd1, 0x1c, - 0x63, 0x12, 0x85, 0x62, 0x26, 0xfc, 0x86, 0xc9, 0x61, 0x94, 0x27, 0x31, 0x63, 0x96, 0x92, 0xc9, - 0x93, 0x34, 0x93, 0x95, 0xaf, 0x42, 0x89, 0xd0, 0x21, 0xa4, 0x84, 0xc5, 0x63, 0xc3, 0xe2, 0x60, - 0x7d, 0x5d, 0x77, 0x1b, 0x61, 0x60, 0xea, 0x47, 0x56, 0x25, 0x25, 0x9c, 0x10, 0x45, 0x2b, 0x30, - 0x12, 0x91, 0xd0, 0x25, 0x91, 0x78, 0x76, 0xe8, 0x31, 0x8d, 0x0c, 0x8d, 0x1b, 0xc3, 0xf2, 0xdf, - 0x58, 0x54, 0xa5, 0xcb, 0xcb, 0x61, 0xb7, 0x21, 0xf6, 0xd2, 0xa0, 0x2d, 0xaf, 0x25, 0x56, 0x8a, - 0x05, 0x14, 0xbd, 0x0d, 0xa3, 0x21, 0xf1, 0x98, 0x02, 0x6e, 0x72, 0xf0, 0x45, 0xce, 0xf5, 0x79, - 0xbc, 0x1e, 0x96, 0x04, 0xd0, 0x4d, 0x40, 0x21, 0xa1, 0x32, 0x84, 0xeb, 0xb7, 0x94, 0x89, 0x87, - 0x78, 0x3f, 0x78, 0x42, 0xb4, 0x7f, 0x0e, 0x27, 0x18, 0x7e, 0x1c, 0x06, 0x9e, 0x47, 0x42, 0x9c, - 0x51, 0x0d, 0x5d, 0x87, 0x59, 0x55, 0x5a, 0xf5, 0xa3, 0xd8, 0xf1, 0x1b, 0x84, 0x3d, 0x1d, 0x94, - 0x12, 0xa9, 0x08, 0xa7, 0x11, 0x70, 0x77, 0x1d, 0xfb, 0x1b, 0x54, 0x9c, 0xa1, 0xa3, 0x75, 0x06, - 0xb2, 0xc0, 0x5b, 0xa6, 0x2c, 0x70, 0x31, 0x77, 0xe6, 0x72, 0xe4, 0x80, 0x23, 0x0b, 0xc6, 0xb5, - 0x99, 0x4d, 0xd6, 0xac, 0xd5, 0x63, 0xcd, 0x76, 0x60, 0x86, 0xae, 0xf4, 0xdb, 0x5b, 0xcc, 0x2f, - 0xa4, 0xc9, 0x16, 0x66, 0xe1, 0xe1, 0x16, 0x66, 0x59, 0x34, 0x30, 0x73, 0x2b, 0x45, 0x10, 0x77, - 0x35, 0x81, 0x5e, 0x97, 0xda, 0xa8, 0xa2, 0x61, 0xba, 0xc5, 0x35, 0x4d, 0xc7, 0x87, 0xf3, 0x33, - 0xda, 0x87, 0xe8, 0xda, 0x27, 0xfb, 0xab, 0xf2, 0x1b, 0x39, 0xb3, 0x59, 0x84, 0x52, 0x43, 0x2d, - 0x16, 0xcb, 0xb4, 0x0a, 0x56, 0xcb, 0x01, 0x27, 0x38, 0x74, 0x8f, 0xd2, 0x2b, 0x48, 0xda, 0xda, - 0x90, 0x5e, 0x50, 0x30, 0x83, 0xd8, 0xaf, 0x00, 0xac, 0x3e, 0x20, 0x0d, 0xbe, 0xd4, 0xf5, 0x47, - 0x5d, 0x2b, 0xff, 0x51, 0xd7, 0xfe, 0x8f, 0x16, 0x4c, 0xad, 0xad, 0x18, 0xd7, 0xc4, 0x05, 0x00, - 0x7e, 0x37, 0xba, 0x77, 0x6f, 0x43, 0xbe, 0x57, 0x70, 0x95, 0xb3, 0x2a, 0xc5, 0x1a, 0x06, 0xba, - 0x08, 0x45, 0xaf, 0xe3, 0x8b, 0x2b, 0xcb, 0xe8, 0xd1, 0xe1, 0x7c, 0xf1, 0x56, 0xc7, 0xc7, 0xb4, - 0x4c, 0x33, 0xf0, 0x2b, 0x0e, 0x6c, 0xe0, 0xd7, 0xd7, 0xdf, 0x03, 0xcd, 0xc3, 0xf0, 0xfd, 0xfb, - 0x6e, 0x33, 0x2a, 0x0f, 0x27, 0x6f, 0x29, 0xf7, 0xee, 0x55, 0x2b, 0x11, 0xe6, 0xe5, 0xf6, 0xd7, - 0x8b, 0x30, 0xb7, 0xe6, 0x91, 0x07, 0x1f, 0xd1, 0xb2, 0x78, 0x50, 0xf3, 0xc4, 0x93, 0xc9, 0x8b, - 0x27, 0xb5, 0xc5, 0xec, 0x3f, 0x1e, 0xdb, 0x30, 0xca, 0x0d, 0x04, 0xf8, 0x88, 0x8c, 0x5f, 0x7b, - 0x33, 0xab, 0xf5, 0xfc, 0x01, 0x59, 0x10, 0xda, 0x39, 0x6e, 0x82, 0xa5, 0x4e, 0x5a, 0x51, 0x8a, - 0x25, 0xf1, 0xb9, 0xcf, 0xc3, 0x84, 0x8e, 0x79, 0x12, 0xfb, 0x2b, 0xfb, 0xaf, 0x14, 0x61, 0x86, - 0xf6, 0xe0, 0x91, 0x4e, 0xc4, 0x9d, 0xee, 0x89, 0x38, 0x6d, 0xcb, 0xd8, 0xfe, 0xb3, 0xf1, 0x5e, - 0x7a, 0x36, 0x5e, 0xce, 0x9b, 0x8d, 0xb3, 0x9e, 0x83, 0xbf, 0x6a, 0xc1, 0xb9, 0x35, 0x2f, 0x68, - 0xec, 0xa6, 0x8c, 0x76, 0x5f, 0x83, 0x71, 0xca, 0xc7, 0x23, 0xc3, 0xad, 0xc1, 0x70, 0x74, 0x11, - 0x20, 0xac, 0xe3, 0x69, 0xd5, 0xee, 0xdc, 0xa9, 0x56, 0xb2, 0xfc, 0x63, 0x04, 0x08, 0xeb, 0x78, - 0xf6, 0x6f, 0x59, 0xf0, 0xd4, 0xf5, 0x95, 0xd5, 0x64, 0x29, 0x76, 0xb9, 0xe8, 0xd0, 0x5b, 0x60, - 0x53, 0xeb, 0x4a, 0x72, 0x0b, 0xac, 0xb0, 0x5e, 0x08, 0xe8, 0x27, 0xc5, 0xfd, 0xec, 0xa7, 0x2d, - 0x38, 0x77, 0xdd, 0x8d, 0xe9, 0xb1, 0x9c, 0x76, 0x16, 0xa1, 0xe7, 0x72, 0xe4, 0xc6, 0x41, 0x78, - 0x90, 0x76, 0x16, 0xc1, 0x0a, 0x82, 0x35, 0x2c, 0xde, 0xf2, 0xbe, 0x1b, 0xd1, 0x9e, 0x16, 0x4c, - 0x55, 0x14, 0x16, 0xe5, 0x58, 0x61, 0xd0, 0x0f, 0x6b, 0xba, 0x21, 0xbb, 0x4a, 0x1c, 0x08, 0x0e, - 0xab, 0x3e, 0xac, 0x22, 0x01, 0x38, 0xc1, 0xb1, 0x7f, 0xdc, 0x82, 0x0b, 0xd7, 0xbd, 0x4e, 0x14, - 0x93, 0x70, 0x3b, 0x32, 0x3a, 0xfb, 0x0a, 0x94, 0x88, 0xbc, 0xae, 0x8b, 0xbe, 0x2a, 0x01, 0x53, - 0xdd, 0xe3, 0xb9, 0xa7, 0x8a, 0xc2, 0x1b, 0xc0, 0x02, 0xfe, 0x64, 0x96, 0xdb, 0x3f, 0x57, 0x80, - 0xc9, 0x1b, 0x9b, 0x9b, 0xb5, 0xeb, 0x24, 0x16, 0xa7, 0x58, 0x7f, 0x55, 0x33, 0xd6, 0x34, 0x66, - 0xbd, 0x2e, 0x45, 0x9d, 0xd8, 0xf5, 0x16, 0xb8, 0x6b, 0xe4, 0x42, 0xd5, 0x8f, 0x6f, 0x87, 0xf5, - 0x38, 0x74, 0xfd, 0x56, 0xa6, 0x8e, 0x4d, 0x9e, 0xb5, 0xc5, 0xbc, 0xb3, 0x16, 0xbd, 0x02, 0x23, - 0xcc, 0x37, 0x53, 0x5e, 0x4f, 0x9e, 0x50, 0x77, 0x0a, 0x56, 0x7a, 0x7c, 0x38, 0x5f, 0xba, 0x83, - 0xab, 0xfc, 0x0f, 0x16, 0xa8, 0xe8, 0x0e, 0x8c, 0xef, 0xc4, 0x71, 0xfb, 0x06, 0x71, 0x9a, 0x24, - 0x94, 0xdc, 0xe1, 0x52, 0x16, 0x77, 0xa0, 0x83, 0xc0, 0xd1, 0x92, 0x0d, 0x95, 0x94, 0x45, 0x58, - 0xa7, 0x63, 0xd7, 0x01, 0x12, 0xd8, 0x29, 0xe9, 0x17, 0xec, 0x3f, 0xb4, 0x60, 0x94, 0xbb, 0xc9, - 0x84, 0xe8, 0x0b, 0x30, 0x44, 0x1e, 0x90, 0x86, 0x90, 0x1c, 0x33, 0x3b, 0x9c, 0x08, 0x1e, 0x5c, - 0x5b, 0x4e, 0xff, 0x63, 0x56, 0x0b, 0xdd, 0x80, 0x51, 0xda, 0xdb, 0xeb, 0xca, 0x67, 0xe8, 0xe9, - 0xbc, 0x2f, 0x56, 0xd3, 0xce, 0x65, 0x15, 0x51, 0x84, 0x65, 0x75, 0xa6, 0xf9, 0x6d, 0xb4, 0xeb, - 0x94, 0x81, 0xc5, 0xbd, 0xce, 0xd9, 0xcd, 0x95, 0x1a, 0x47, 0x12, 0xd4, 0xb8, 0xe6, 0x57, 0x16, - 0xe2, 0x84, 0x88, 0xbd, 0x09, 0x25, 0x3a, 0xa9, 0x4b, 0x9e, 0xeb, 0xf4, 0x56, 0x3a, 0xbf, 0x00, - 0x25, 0xa9, 0x00, 0x8e, 0x84, 0x83, 0x0e, 0xa3, 0x2a, 0xf5, 0xc3, 0x11, 0x4e, 0xe0, 0xf6, 0x36, - 0x9c, 0x67, 0xd6, 0x14, 0x4e, 0xbc, 0x63, 0xec, 0xb1, 0xfe, 0x8b, 0xf9, 0x45, 0x71, 0x11, 0xe3, - 0x33, 0x53, 0xd6, 0x3c, 0x0a, 0x26, 0x24, 0xc5, 0xe4, 0x52, 0x66, 0xff, 0xf1, 0x10, 0x3c, 0x51, - 0xad, 0xe7, 0x7b, 0x50, 0xbd, 0x01, 0x13, 0x5c, 0x4c, 0xa3, 0x4b, 0xdb, 0xf1, 0x44, 0xbb, 0xea, - 0xad, 0x71, 0x53, 0x83, 0x61, 0x03, 0x13, 0x3d, 0x05, 0x45, 0xf7, 0x03, 0x3f, 0x6d, 0x9c, 0x5b, - 0x7d, 0x67, 0x03, 0xd3, 0x72, 0x0a, 0xa6, 0x12, 0x1f, 0x67, 0xa5, 0x0a, 0xac, 0xa4, 0xbe, 0xb7, - 0x60, 0xca, 0x8d, 0x1a, 0x91, 0x5b, 0xf5, 0x29, 0x9f, 0x49, 0xbc, 0xef, 0x12, 0x25, 0x01, 0xed, - 0xb4, 0x82, 0xe2, 0x14, 0xb6, 0xc6, 0xd7, 0x87, 0x07, 0x96, 0x1a, 0xfb, 0x7a, 0xac, 0x50, 0x81, - 0xb8, 0xcd, 0xbe, 0x2e, 0x62, 0x86, 0x82, 0x42, 0x20, 0xe6, 0x1f, 0x1c, 0x61, 0x09, 0xa3, 0x37, - 0xb0, 0xc6, 0x8e, 0xd3, 0x5e, 0xea, 0xc4, 0x3b, 0x15, 0x37, 0x6a, 0x04, 0xfb, 0x24, 0x3c, 0x60, - 0x97, 0xe7, 0xb1, 0xe4, 0x06, 0xa6, 0x00, 0x2b, 0x37, 0x96, 0x6a, 0x14, 0x13, 0x77, 0xd7, 0x31, - 0xa5, 0x42, 0x38, 0x0d, 0xa9, 0x70, 0x09, 0xa6, 0x65, 0x33, 0x75, 0x12, 0xb1, 0x33, 0x62, 0x9c, - 0x75, 0x4c, 0xf9, 0xc5, 0x8a, 0x62, 0xd5, 0xad, 0x34, 0x3e, 0x7a, 0x1d, 0x26, 0x5d, 0xdf, 0x8d, - 0x5d, 0x27, 0x0e, 0x42, 0x76, 0xc2, 0xf2, 0x7b, 0x32, 0x7b, 0x14, 0xad, 0xea, 0x00, 0x6c, 0xe2, - 0xd9, 0x7f, 0x34, 0x04, 0xb3, 0x6c, 0xda, 0xbe, 0xb5, 0xc2, 0x3e, 0x31, 0x2b, 0xec, 0x4e, 0xf7, - 0x0a, 0x3b, 0x0d, 0x71, 0xf7, 0xe3, 0x5c, 0x66, 0xef, 0x43, 0x49, 0xd9, 0x57, 0x4b, 0x17, 0x01, - 0x2b, 0xc7, 0x45, 0xa0, 0xbf, 0xf4, 0x21, 0x9f, 0x71, 0x8b, 0x99, 0xcf, 0xb8, 0x7f, 0xd7, 0x82, - 0xc4, 0xcc, 0x14, 0xdd, 0x80, 0x52, 0x3b, 0x60, 0xa6, 0x1c, 0xa1, 0xb4, 0x8f, 0x7a, 0x22, 0xf3, - 0xa0, 0xe2, 0x87, 0x22, 0x1f, 0xbf, 0x9a, 0xac, 0x81, 0x93, 0xca, 0x68, 0x19, 0x46, 0xdb, 0x21, - 0xa9, 0xc7, 0xcc, 0x95, 0xb3, 0x2f, 0x1d, 0xbe, 0x46, 0x38, 0x3e, 0x96, 0x15, 0xed, 0x9f, 0xb7, - 0x00, 0xf8, 0x4b, 0xa9, 0xe3, 0xb7, 0xc8, 0x19, 0x68, 0x7f, 0x2b, 0x30, 0x14, 0xb5, 0x49, 0xa3, - 0x97, 0x91, 0x4d, 0xd2, 0x9f, 0x7a, 0x9b, 0x34, 0x92, 0x01, 0xa7, 0xff, 0x30, 0xab, 0x6d, 0x7f, - 0x1f, 0xc0, 0x54, 0x82, 0x56, 0x8d, 0xc9, 0x1e, 0x7a, 0xc9, 0x70, 0x94, 0xbb, 0x98, 0x72, 0x94, - 0x2b, 0x31, 0x6c, 0x4d, 0xd1, 0xf8, 0x3e, 0x14, 0xf7, 0x9c, 0x07, 0x42, 0x93, 0xf4, 0x42, 0xef, - 0x6e, 0x50, 0xfa, 0x0b, 0xeb, 0xce, 0x03, 0x7e, 0x67, 0x7a, 0x41, 0x2e, 0x90, 0x75, 0xe7, 0xc1, - 0x31, 0x37, 0xa5, 0x61, 0x4c, 0xea, 0x96, 0x1b, 0xc5, 0x5f, 0xfb, 0x2f, 0xc9, 0x7f, 0xb6, 0xec, - 0x68, 0x23, 0xac, 0x2d, 0xd7, 0x17, 0xef, 0x86, 0x03, 0xb5, 0xe5, 0xfa, 0xe9, 0xb6, 0x5c, 0x7f, - 0x80, 0xb6, 0x5c, 0x1f, 0x7d, 0x08, 0xa3, 0xe2, 0x8d, 0x9e, 0xd9, 0xcf, 0x9b, 0x5a, 0xaa, 0xbc, - 0xf6, 0xc4, 0x13, 0x3f, 0x6f, 0x73, 0x51, 0xde, 0x09, 0x45, 0x69, 0xdf, 0x76, 0x65, 0x83, 0xe8, - 0x6f, 0x5b, 0x30, 0x25, 0x7e, 0x63, 0xf2, 0x41, 0x87, 0x44, 0xb1, 0x90, 0x3d, 0x3f, 0x37, 0x78, - 0x1f, 0x44, 0x45, 0xde, 0x95, 0xcf, 0x49, 0x36, 0x6b, 0x02, 0xfb, 0xf6, 0x28, 0xd5, 0x0b, 0xf4, - 0x4f, 0x2d, 0x38, 0xbf, 0xe7, 0x3c, 0xe0, 0x2d, 0xf2, 0x32, 0xec, 0xc4, 0x6e, 0x20, 0xfc, 0x01, - 0xbe, 0x30, 0xd8, 0xf4, 0x77, 0x55, 0xe7, 0x9d, 0x94, 0xa6, 0xc3, 0xe7, 0xb3, 0x50, 0xfa, 0x76, - 0x35, 0xb3, 0x5f, 0x73, 0xdb, 0x30, 0x26, 0xd7, 0x5b, 0xc6, 0xcd, 0xbb, 0xa2, 0x0b, 0xd6, 0x27, - 0x36, 0x91, 0xd0, 0xbd, 0xd5, 0x68, 0x3b, 0x62, 0xad, 0x3d, 0xd2, 0x76, 0xde, 0x87, 0x09, 0x7d, - 0x8d, 0x3d, 0xd2, 0xb6, 0x3e, 0x80, 0x73, 0x19, 0x6b, 0xe9, 0x91, 0x36, 0x79, 0x1f, 0x2e, 0xe6, - 0xae, 0x8f, 0x47, 0xd9, 0xb0, 0xfd, 0x73, 0x96, 0xce, 0x07, 0xcf, 0x40, 0x05, 0xbf, 0x62, 0xaa, - 0xe0, 0x2f, 0xf5, 0xde, 0x39, 0x39, 0x7a, 0xf8, 0xf7, 0xf4, 0x4e, 0x53, 0xae, 0x8e, 0xde, 0x86, - 0x11, 0x8f, 0x96, 0x48, 0xe3, 0x10, 0xbb, 0xff, 0x8e, 0x4c, 0x64, 0x29, 0x56, 0x1e, 0x61, 0x41, - 0xc1, 0xfe, 0x25, 0x0b, 0x86, 0xce, 0x60, 0x24, 0xb0, 0x39, 0x12, 0x2f, 0xe5, 0x92, 0x16, 0x31, - 0x96, 0x16, 0xb0, 0x73, 0x7f, 0x55, 0xc6, 0x91, 0xca, 0x19, 0x98, 0xff, 0x53, 0x80, 0x71, 0xda, - 0x94, 0xb4, 0x62, 0x7c, 0x13, 0x26, 0x3d, 0x67, 0x8b, 0x78, 0xf2, 0x1d, 0x37, 0xad, 0x30, 0xb9, - 0xa5, 0x03, 0xb1, 0x89, 0x4b, 0x2b, 0x6f, 0xeb, 0x4f, 0xda, 0x42, 0x7e, 0x51, 0x95, 0x8d, 0xf7, - 0x6e, 0x6c, 0xe2, 0xd2, 0xbb, 0xfb, 0x7d, 0x27, 0x6e, 0xec, 0x08, 0x65, 0x8a, 0xea, 0xee, 0x3d, - 0x5a, 0x88, 0x39, 0x8c, 0x0a, 0x70, 0x72, 0x75, 0xde, 0xa5, 0x37, 0xc3, 0xc0, 0x17, 0xe2, 0xb1, - 0x12, 0xe0, 0xb0, 0x09, 0xc6, 0x69, 0xfc, 0x0c, 0x8f, 0xf9, 0x61, 0x66, 0xa3, 0x39, 0x80, 0xc7, - 0x3c, 0xaa, 0xc1, 0x79, 0xd7, 0x6f, 0x78, 0x9d, 0x26, 0xb9, 0xe3, 0x73, 0xe9, 0xce, 0x73, 0x3f, - 0x24, 0x4d, 0x21, 0x40, 0x2b, 0x73, 0xda, 0x6a, 0x06, 0x0e, 0xce, 0xac, 0x69, 0xff, 0x7f, 0x70, - 0xee, 0x56, 0xe0, 0x34, 0x97, 0x1d, 0xcf, 0xf1, 0x1b, 0x24, 0xac, 0xfa, 0xad, 0xbe, 0x56, 0x62, - 0xba, 0x4d, 0x57, 0xa1, 0x9f, 0x4d, 0x97, 0xbd, 0x03, 0x48, 0x6f, 0x40, 0xd8, 0x26, 0x63, 0x18, - 0x75, 0x79, 0x53, 0x62, 0xf9, 0x3f, 0x9b, 0x2d, 0x5d, 0x77, 0xf5, 0x4c, 0xb3, 0xba, 0xe5, 0x05, - 0x58, 0x12, 0xb2, 0xdf, 0x80, 0x4c, 0x7f, 0xc4, 0xfe, 0x6a, 0x1b, 0xfb, 0x35, 0x98, 0x65, 0x35, - 0x4f, 0xa6, 0x52, 0xb0, 0xff, 0x86, 0x05, 0xd3, 0x1b, 0xa9, 0x18, 0x17, 0x57, 0xd8, 0x5b, 0x6b, - 0x86, 0xde, 0xbd, 0xce, 0x4a, 0xb1, 0x80, 0x9e, 0xba, 0x7e, 0xef, 0xcf, 0x2d, 0x28, 0xa9, 0x30, - 0x3b, 0x67, 0x20, 0xd4, 0xae, 0x18, 0x42, 0x6d, 0xa6, 0xde, 0x49, 0x75, 0x27, 0x4f, 0xa6, 0x45, - 0x37, 0x55, 0xb4, 0x86, 0x1e, 0x2a, 0xa7, 0x84, 0x0c, 0xf7, 0xed, 0x9f, 0x32, 0x43, 0x3a, 0xc8, - 0xf8, 0x0d, 0xcc, 0x4c, 0x4b, 0xe1, 0x7e, 0x42, 0xcc, 0xb4, 0x54, 0x7f, 0x72, 0xb8, 0x5f, 0x4d, - 0xeb, 0x32, 0x3b, 0x15, 0xbe, 0x9d, 0xb9, 0x32, 0xb0, 0xbd, 0xa9, 0x82, 0xa4, 0xcc, 0x0b, 0xd7, - 0x04, 0x51, 0x7a, 0xcc, 0x18, 0x99, 0xf8, 0xc7, 0x43, 0x22, 0x25, 0x55, 0xec, 0x1b, 0x30, 0x9d, - 0x1a, 0x30, 0xf4, 0x1a, 0x0c, 0xb7, 0x77, 0x9c, 0x88, 0xa4, 0x4c, 0x53, 0x87, 0x6b, 0xb4, 0xf0, - 0xf8, 0x70, 0x7e, 0x4a, 0x55, 0x60, 0x25, 0x98, 0x63, 0xdb, 0xff, 0xd3, 0x82, 0xa1, 0x8d, 0xa0, - 0x79, 0x16, 0x8b, 0xe9, 0x2d, 0x63, 0x31, 0x3d, 0x99, 0x17, 0x50, 0x2e, 0x77, 0x1d, 0xad, 0xa5, - 0xd6, 0xd1, 0xa5, 0x5c, 0x0a, 0xbd, 0x97, 0xd0, 0x1e, 0x8c, 0xb3, 0x30, 0x75, 0xc2, 0x54, 0xf6, - 0x15, 0xe3, 0x7e, 0x35, 0x9f, 0xba, 0x5f, 0x4d, 0x6b, 0xa8, 0xda, 0x2d, 0xeb, 0x39, 0x18, 0x15, - 0xe6, 0x9a, 0x69, 0xa7, 0x0d, 0x81, 0x8b, 0x25, 0xdc, 0xfe, 0x89, 0x22, 0x18, 0x61, 0xf1, 0xd0, - 0xaf, 0x5a, 0xb0, 0x10, 0x72, 0x2f, 0xd8, 0x66, 0xa5, 0x13, 0xba, 0x7e, 0xab, 0xde, 0xd8, 0x21, - 0xcd, 0x8e, 0xe7, 0xfa, 0xad, 0x6a, 0xcb, 0x0f, 0x54, 0xf1, 0xea, 0x03, 0xd2, 0xe8, 0xb0, 0x37, - 0x97, 0x3e, 0x31, 0xf8, 0x94, 0x39, 0xd4, 0xb5, 0xa3, 0xc3, 0xf9, 0x05, 0x7c, 0x22, 0xda, 0xf8, - 0x84, 0x7d, 0x41, 0xbf, 0x65, 0xc1, 0x22, 0x8f, 0x16, 0x37, 0x78, 0xff, 0x7b, 0xdc, 0x46, 0x6b, - 0x92, 0x54, 0x42, 0x64, 0x93, 0x84, 0x7b, 0xcb, 0xaf, 0x8b, 0x01, 0x5d, 0xac, 0x9d, 0xac, 0x2d, - 0x7c, 0xd2, 0xce, 0xd9, 0xff, 0xa6, 0x08, 0x93, 0x74, 0x14, 0x93, 0xd8, 0x34, 0xaf, 0x19, 0x4b, - 0xe2, 0xe9, 0xd4, 0x92, 0x98, 0x35, 0x90, 0x4f, 0x27, 0x2c, 0x4d, 0x04, 0xb3, 0x9e, 0x13, 0xc5, - 0x37, 0x88, 0x13, 0xc6, 0x5b, 0xc4, 0xe1, 0x66, 0x42, 0xc5, 0x13, 0x9b, 0x34, 0x29, 0xf5, 0xd7, - 0xad, 0x34, 0x31, 0xdc, 0x4d, 0x1f, 0xed, 0x03, 0x62, 0xb6, 0x4e, 0xa1, 0xe3, 0x47, 0xfc, 0x5b, - 0x5c, 0xf1, 0x1e, 0x73, 0xb2, 0x56, 0xe7, 0x44, 0xab, 0xe8, 0x56, 0x17, 0x35, 0x9c, 0xd1, 0x82, - 0x66, 0xc3, 0x36, 0x3c, 0xa8, 0x0d, 0xdb, 0x48, 0x1f, 0xcf, 0xa8, 0x3d, 0x98, 0x11, 0xb3, 0xb2, - 0xed, 0xb6, 0xc4, 0x21, 0xfd, 0xe5, 0x94, 0x8d, 0xab, 0x35, 0xb8, 0xa1, 0x52, 0x1f, 0x03, 0x57, - 0xfb, 0xbb, 0xe1, 0x1c, 0x6d, 0xce, 0xf4, 0xe3, 0x89, 0x10, 0x81, 0xe9, 0xdd, 0xce, 0x16, 0xf1, - 0x48, 0x2c, 0xcb, 0x44, 0xa3, 0x99, 0x62, 0xbf, 0x59, 0x3b, 0x91, 0x2d, 0x6f, 0x9a, 0x24, 0x70, - 0x9a, 0xa6, 0xfd, 0x53, 0x16, 0x30, 0x6b, 0xf9, 0x33, 0x38, 0xfe, 0xbe, 0x68, 0x1e, 0x7f, 0xe5, - 0x3c, 0x0e, 0x94, 0x73, 0xf2, 0xbd, 0xca, 0xa7, 0xa5, 0x16, 0x06, 0x0f, 0x0e, 0xa4, 0xec, 0xdf, - 0x5f, 0xe2, 0xfa, 0xdf, 0x16, 0xdf, 0x90, 0x2a, 0x28, 0x00, 0xfa, 0x1e, 0x18, 0x6b, 0x38, 0x6d, - 0xa7, 0xc1, 0xe3, 0x91, 0xe6, 0x6a, 0x7f, 0x8c, 0x4a, 0x0b, 0x2b, 0xa2, 0x06, 0xd7, 0x66, 0x7c, - 0x56, 0x7e, 0xa5, 0x2c, 0xee, 0xab, 0xc1, 0x50, 0x4d, 0xce, 0xed, 0xc2, 0xa4, 0x41, 0xec, 0x91, - 0x5e, 0x7d, 0xbf, 0x87, 0x1f, 0x17, 0xea, 0xc6, 0xb2, 0x07, 0xb3, 0xbe, 0xf6, 0x9f, 0x32, 0x47, - 0x29, 0x4e, 0x7f, 0xba, 0xdf, 0x81, 0xc0, 0x38, 0xa9, 0xe6, 0x0d, 0x90, 0x22, 0x83, 0xbb, 0x29, - 0xdb, 0x7f, 0xdf, 0x82, 0xc7, 0x75, 0x44, 0x2d, 0x5e, 0x43, 0x3f, 0x7d, 0x72, 0x05, 0xc6, 0x82, - 0x36, 0x09, 0x9d, 0xe4, 0x4e, 0x76, 0x55, 0x0e, 0xfa, 0x6d, 0x51, 0x7e, 0x7c, 0x38, 0x7f, 0x5e, - 0xa7, 0x2e, 0xcb, 0xb1, 0xaa, 0x89, 0x6c, 0x18, 0x61, 0x83, 0x11, 0x89, 0x58, 0x1a, 0xcc, 0x4c, - 0x91, 0x3d, 0xad, 0x46, 0x58, 0x40, 0xec, 0xef, 0xb3, 0xf8, 0xc2, 0xd2, 0xbb, 0x8e, 0x3e, 0x80, - 0x99, 0x3d, 0x7a, 0x7d, 0x5b, 0x7d, 0xd0, 0x0e, 0xb9, 0x1a, 0x5d, 0x8e, 0xd3, 0x0b, 0xfd, 0xc6, - 0x49, 0xfb, 0xc8, 0xc4, 0x98, 0x6d, 0x3d, 0x45, 0x0c, 0x77, 0x91, 0xb7, 0xff, 0xb4, 0xc0, 0x77, - 0x22, 0x93, 0xea, 0x9e, 0x83, 0xd1, 0x76, 0xd0, 0x5c, 0xa9, 0x56, 0xb0, 0x18, 0x21, 0xc5, 0xae, - 0x6a, 0xbc, 0x18, 0x4b, 0x38, 0xba, 0x06, 0x40, 0x1e, 0xc4, 0x24, 0xf4, 0x1d, 0x4f, 0x19, 0x7e, - 0x28, 0xe1, 0x69, 0x55, 0x41, 0xb0, 0x86, 0x45, 0xeb, 0xb4, 0xc3, 0x60, 0xdf, 0x6d, 0x32, 0x6f, - 0xc3, 0xa2, 0x59, 0xa7, 0xa6, 0x20, 0x58, 0xc3, 0xa2, 0x57, 0xe5, 0x8e, 0x1f, 0xf1, 0x03, 0xd0, - 0xd9, 0x12, 0x01, 0xf2, 0xc6, 0x92, 0xab, 0xf2, 0x1d, 0x1d, 0x88, 0x4d, 0x5c, 0xb4, 0x04, 0x23, - 0xb1, 0xc3, 0xcc, 0x19, 0x86, 0xf3, 0xcd, 0x12, 0x37, 0x29, 0x86, 0x1e, 0xa0, 0x92, 0x56, 0xc0, - 0xa2, 0x22, 0x7a, 0x57, 0xb2, 0x60, 0xce, 0x92, 0x85, 0x3d, 0x70, 0xee, 0xb2, 0xd5, 0xd9, 0xb7, - 0xce, 0x83, 0x85, 0x9d, 0xb1, 0x41, 0xcb, 0xfe, 0xde, 0x12, 0x40, 0x22, 0xed, 0xa1, 0x0f, 0xbb, - 0x58, 0xc4, 0x8b, 0xbd, 0xe5, 0xc3, 0xd3, 0xe3, 0x0f, 0xe8, 0xfb, 0x2d, 0x18, 0x77, 0x3c, 0x2f, - 0x68, 0x38, 0x31, 0x1b, 0xe5, 0x42, 0x6f, 0x16, 0x25, 0xda, 0x5f, 0x4a, 0x6a, 0xf0, 0x2e, 0xbc, - 0x22, 0x2d, 0x15, 0x34, 0x48, 0xdf, 0x5e, 0xe8, 0x0d, 0xa3, 0xcf, 0xca, 0x4b, 0x00, 0x5f, 0x1e, - 0x73, 0xe9, 0x4b, 0x40, 0x89, 0x71, 0x63, 0x4d, 0xfe, 0x47, 0x77, 0x8c, 0x48, 0x72, 0x43, 0xf9, - 0x21, 0x29, 0x0c, 0xa1, 0xa7, 0x5f, 0x10, 0x39, 0x54, 0xd3, 0xfd, 0xa2, 0x86, 0xf3, 0xe3, 0xb6, - 0x68, 0xd2, 0x75, 0x1f, 0x9f, 0xa8, 0xf7, 0x61, 0xba, 0x69, 0x1e, 0xb7, 0x62, 0x35, 0x3d, 0x9b, - 0x47, 0x37, 0x75, 0x3a, 0x27, 0x07, 0x6c, 0x0a, 0x80, 0xd3, 0x84, 0x51, 0x8d, 0x7b, 0xa8, 0x55, - 0xfd, 0xed, 0x40, 0xd8, 0x95, 0xdb, 0xb9, 0x73, 0x79, 0x10, 0xc5, 0x64, 0x8f, 0x62, 0x26, 0xe7, - 0xe8, 0x86, 0xa8, 0x8b, 0x15, 0x15, 0xf4, 0x36, 0x8c, 0x30, 0xb7, 0xe1, 0xa8, 0x3c, 0x96, 0xaf, - 0x07, 0x34, 0x23, 0x5e, 0x24, 0x9b, 0x8a, 0xfd, 0x8d, 0xb0, 0xa0, 0x80, 0x6e, 0xc8, 0xb0, 0x38, - 0x51, 0xd5, 0xbf, 0x13, 0x11, 0x16, 0x16, 0xa7, 0xb4, 0xfc, 0xe9, 0x24, 0xe2, 0x0d, 0x2f, 0xcf, - 0x0c, 0x45, 0x6d, 0xd4, 0xa4, 0xf2, 0x8a, 0xf8, 0x2f, 0x23, 0x5c, 0x97, 0x21, 0xbf, 0x7b, 0x66, - 0x14, 0xec, 0x64, 0x38, 0xef, 0x9a, 0x24, 0x70, 0x9a, 0xe6, 0x99, 0x1e, 0x9f, 0x73, 0x3e, 0xcc, - 0xa4, 0x37, 0xd6, 0x23, 0x3d, 0xae, 0xff, 0x70, 0x08, 0xa6, 0xcc, 0x85, 0x80, 0x16, 0xa1, 0x24, - 0x88, 0xa8, 0x20, 0x9e, 0x6a, 0x6d, 0xaf, 0x4b, 0x00, 0x4e, 0x70, 0x58, 0x10, 0x53, 0x56, 0x5d, - 0xb3, 0x03, 0x4c, 0x82, 0x98, 0x2a, 0x08, 0xd6, 0xb0, 0xa8, 0x10, 0xbd, 0x15, 0x04, 0xb1, 0x3a, - 0x0a, 0xd4, 0x6a, 0x59, 0x66, 0xa5, 0x58, 0x40, 0xe9, 0x11, 0xb0, 0x4b, 0x42, 0x9f, 0x78, 0xa6, - 0x26, 0x53, 0x1d, 0x01, 0x37, 0x75, 0x20, 0x36, 0x71, 0xe9, 0x91, 0x16, 0x44, 0x6c, 0xf9, 0x09, - 0x51, 0x3d, 0xb1, 0xab, 0xac, 0x73, 0xb7, 0x79, 0x09, 0x47, 0x5f, 0x86, 0xc7, 0x95, 0x97, 0x3b, - 0xe6, 0x9a, 0x61, 0xd9, 0xe2, 0x88, 0x71, 0xb3, 0x7e, 0x7c, 0x25, 0x1b, 0x0d, 0xe7, 0xd5, 0x47, - 0x6f, 0xc1, 0x94, 0x10, 0x81, 0x25, 0xc5, 0x51, 0xd3, 0x58, 0xe1, 0xa6, 0x01, 0xc5, 0x29, 0x6c, - 0x54, 0x81, 0x19, 0x5a, 0xc2, 0xa4, 0x50, 0x49, 0x81, 0x7b, 0xeb, 0xab, 0xb3, 0xfe, 0x66, 0x0a, - 0x8e, 0xbb, 0x6a, 0xa0, 0x25, 0x98, 0xe6, 0x32, 0x0a, 0xbd, 0x53, 0xb2, 0x79, 0x10, 0xee, 0x1e, - 0x6a, 0x23, 0xdc, 0x36, 0xc1, 0x38, 0x8d, 0x8f, 0xde, 0x80, 0x09, 0x27, 0x6c, 0xec, 0xb8, 0x31, - 0x69, 0xc4, 0x9d, 0x90, 0xfb, 0x81, 0x68, 0xd6, 0x1e, 0x4b, 0x1a, 0x0c, 0x1b, 0x98, 0xf6, 0x87, - 0x70, 0x2e, 0xc3, 0x53, 0x8c, 0x2e, 0x1c, 0xa7, 0xed, 0xca, 0x6f, 0x4a, 0x59, 0x48, 0x2e, 0xd5, - 0xaa, 0xf2, 0x6b, 0x34, 0x2c, 0xba, 0x3a, 0x99, 0x4a, 0x5c, 0x0b, 0x43, 0xaf, 0x56, 0xe7, 0x9a, - 0x04, 0xe0, 0x04, 0xc7, 0xfe, 0x4d, 0x00, 0x4d, 0xa1, 0x33, 0x80, 0x7d, 0xdc, 0x1b, 0x30, 0x21, - 0x73, 0x27, 0x68, 0x31, 0xbb, 0xd5, 0x67, 0x5e, 0xd7, 0x60, 0xd8, 0xc0, 0xa4, 0x7d, 0xf3, 0x55, - 0xc4, 0xf1, 0x94, 0x3d, 0x66, 0x12, 0x6f, 0x3c, 0xc1, 0x41, 0x2f, 0xc2, 0x58, 0x44, 0xbc, 0xed, - 0x5b, 0xae, 0xbf, 0x2b, 0x16, 0xb6, 0xe2, 0xc2, 0x75, 0x51, 0x8e, 0x15, 0x06, 0x5a, 0x86, 0x62, - 0xc7, 0x6d, 0x8a, 0xa5, 0x2c, 0x0f, 0xfc, 0xe2, 0x9d, 0x6a, 0xe5, 0xf8, 0x70, 0xfe, 0xe9, 0xbc, - 0x94, 0x10, 0xf4, 0x6a, 0x1f, 0x2d, 0xd0, 0xed, 0x47, 0x2b, 0x67, 0xbd, 0x0d, 0x8c, 0x9c, 0xf0, - 0x6d, 0xe0, 0x1a, 0x80, 0xf8, 0x6a, 0xb9, 0x96, 0x8b, 0xc9, 0xac, 0x5d, 0x57, 0x10, 0xac, 0x61, - 0xa1, 0x08, 0x66, 0x1b, 0x21, 0x71, 0xe4, 0x1d, 0x9a, 0xfb, 0x3c, 0x8d, 0x3d, 0xbc, 0x82, 0x60, - 0x25, 0x4d, 0x0c, 0x77, 0xd3, 0x47, 0x01, 0xcc, 0x36, 0x45, 0x50, 0x85, 0xa4, 0xd1, 0xd2, 0xc9, - 0x1d, 0xad, 0x98, 0x41, 0x4e, 0x9a, 0x10, 0xee, 0xa6, 0x8d, 0xbe, 0x02, 0x73, 0xb2, 0xb0, 0x3b, - 0x8e, 0x05, 0xdb, 0x2e, 0xc5, 0xe5, 0x4b, 0x47, 0x87, 0xf3, 0x73, 0x95, 0x5c, 0x2c, 0xdc, 0x83, - 0x02, 0xc2, 0x30, 0xc2, 0xde, 0x92, 0xa2, 0xf2, 0x38, 0x3b, 0xe7, 0x9e, 0xcf, 0x57, 0x06, 0xd0, - 0xb5, 0xbe, 0xc0, 0xde, 0xa1, 0x84, 0x49, 0x79, 0xf2, 0x2c, 0xc7, 0x0a, 0xb1, 0xa0, 0x84, 0xb6, - 0x61, 0xdc, 0xf1, 0xfd, 0x20, 0x76, 0xb8, 0x08, 0x35, 0x91, 0x2f, 0xfb, 0x69, 0x84, 0x97, 0x92, - 0x1a, 0x9c, 0xba, 0xb2, 0x52, 0xd5, 0x20, 0x58, 0x27, 0x8c, 0xee, 0xc3, 0x74, 0x70, 0x9f, 0x32, - 0x47, 0xa9, 0xa5, 0x88, 0xca, 0x93, 0xac, 0xad, 0x57, 0x07, 0xd4, 0xd3, 0x1a, 0x95, 0x35, 0xae, - 0x65, 0x12, 0xc5, 0xe9, 0x56, 0xd0, 0x82, 0xa1, 0xad, 0x9e, 0x4a, 0xdc, 0x59, 0x12, 0x6d, 0xb5, - 0xae, 0x9c, 0x66, 0x71, 0x51, 0xb8, 0x89, 0x34, 0xdb, 0xfd, 0xd3, 0xa9, 0xb8, 0x28, 0x09, 0x08, - 0xeb, 0x78, 0x68, 0x07, 0x26, 0x92, 0x27, 0xab, 0x30, 0x62, 0x51, 0xd9, 0xc6, 0xaf, 0x5d, 0x1b, - 0xec, 0xe3, 0xaa, 0x5a, 0x4d, 0x7e, 0x73, 0xd0, 0x4b, 0xb0, 0x41, 0x79, 0xee, 0xdb, 0x60, 0x5c, - 0x9b, 0xd8, 0x13, 0x45, 0xc1, 0x7d, 0x0b, 0x66, 0xd2, 0x53, 0x77, 0x22, 0x0f, 0x82, 0xff, 0x55, - 0x80, 0xe9, 0x8c, 0x97, 0x2b, 0x96, 0x56, 0x22, 0xc5, 0x50, 0x93, 0x2c, 0x12, 0x26, 0x5b, 0x2c, - 0x0c, 0xc0, 0x16, 0x25, 0x8f, 0x2e, 0xe6, 0xf2, 0x68, 0xc1, 0x0a, 0x87, 0x3e, 0x0a, 0x2b, 0x34, - 0x4f, 0x9f, 0xe1, 0x81, 0x4e, 0x9f, 0x53, 0x60, 0x9f, 0xc6, 0x01, 0x36, 0x3a, 0xc0, 0x01, 0xf6, - 0xc3, 0x05, 0x98, 0x49, 0x5b, 0xf8, 0x9e, 0xc1, 0x7b, 0xc7, 0xdb, 0xc6, 0x7b, 0x47, 0x76, 0x92, - 0x96, 0xb4, 0xdd, 0x71, 0xde, 0xdb, 0x07, 0x4e, 0xbd, 0x7d, 0x3c, 0x3f, 0x10, 0xb5, 0xde, 0xef, - 0x20, 0xff, 0xa0, 0x00, 0x17, 0xd2, 0x55, 0x56, 0x3c, 0xc7, 0xdd, 0x3b, 0x83, 0xb1, 0xb9, 0x6d, - 0x8c, 0xcd, 0x4b, 0x83, 0x7c, 0x0d, 0xeb, 0x5a, 0xee, 0x00, 0xdd, 0x4b, 0x0d, 0xd0, 0xe2, 0xe0, - 0x24, 0x7b, 0x8f, 0xd2, 0x37, 0x8b, 0x70, 0x29, 0xb3, 0x5e, 0xf2, 0x5c, 0xb0, 0x66, 0x3c, 0x17, - 0x5c, 0x4b, 0x3d, 0x17, 0xd8, 0xbd, 0x6b, 0x9f, 0xce, 0xfb, 0x81, 0x70, 0x87, 0x66, 0x11, 0x43, - 0x1f, 0xf2, 0xed, 0xc0, 0x70, 0x87, 0x56, 0x84, 0xb0, 0x49, 0xf7, 0x2f, 0xd3, 0x9b, 0xc1, 0x6f, - 0x5a, 0x70, 0x31, 0x73, 0x6e, 0xce, 0x40, 0xaf, 0xbe, 0x61, 0xea, 0xd5, 0x9f, 0x1b, 0x78, 0xb5, - 0xe6, 0x28, 0xda, 0xff, 0xa8, 0x98, 0xf3, 0x2d, 0x4c, 0x33, 0x79, 0x1b, 0xc6, 0x9d, 0x46, 0x83, - 0x44, 0xd1, 0x7a, 0xd0, 0x54, 0x11, 0x34, 0x5f, 0x62, 0xd2, 0x46, 0x52, 0x7c, 0x7c, 0x38, 0x3f, - 0x97, 0x26, 0x91, 0x80, 0xb1, 0x4e, 0xc1, 0x0c, 0xfa, 0x5b, 0x38, 0xd5, 0xa0, 0xbf, 0xd7, 0x00, - 0xf6, 0x95, 0xbe, 0x22, 0xad, 0xe6, 0xd4, 0x34, 0x19, 0x1a, 0x16, 0xfa, 0x2e, 0x76, 0x0b, 0xe0, - 0xc6, 0x40, 0x7c, 0x29, 0xbe, 0x32, 0xe0, 0x5c, 0xe9, 0x86, 0x45, 0x3c, 0xee, 0x86, 0x52, 0x09, - 0x2b, 0x92, 0xe8, 0x3b, 0x60, 0x26, 0xe2, 0x61, 0x9d, 0x56, 0x3c, 0x27, 0x62, 0x4e, 0x5c, 0x62, - 0x15, 0xb2, 0x60, 0x1a, 0xf5, 0x14, 0x0c, 0x77, 0x61, 0xa3, 0x35, 0xf9, 0x51, 0x2c, 0x06, 0x15, - 0x5f, 0x98, 0x57, 0x92, 0x0f, 0x12, 0x49, 0xad, 0xce, 0xa7, 0x87, 0x9f, 0x0d, 0xbc, 0x56, 0xd3, - 0xfe, 0xe1, 0x21, 0x78, 0xa2, 0x07, 0x13, 0x43, 0x4b, 0xa6, 0x11, 0xc0, 0x0b, 0x69, 0xfd, 0xdf, - 0x5c, 0x66, 0x65, 0x43, 0x21, 0x98, 0x5a, 0x2b, 0x85, 0x8f, 0xbc, 0x56, 0x7e, 0xc0, 0xd2, 0x34, - 0xb3, 0xdc, 0x54, 0xf8, 0x8b, 0x27, 0x64, 0xce, 0xa7, 0xa8, 0xaa, 0xdd, 0xce, 0xd0, 0x77, 0x5e, - 0x1b, 0xb8, 0x3b, 0x03, 0x2b, 0x40, 0xcf, 0xf6, 0xc9, 0xe8, 0x6b, 0x16, 0x3c, 0x9d, 0xd9, 0x5f, - 0xc3, 0x68, 0x69, 0x11, 0x4a, 0x0d, 0x5a, 0xa8, 0x39, 0x86, 0x26, 0x1e, 0xf3, 0x12, 0x80, 0x13, - 0x1c, 0xc3, 0x36, 0xa9, 0xd0, 0xd7, 0x36, 0xe9, 0x5f, 0x5b, 0xd0, 0xb5, 0x80, 0xcf, 0x80, 0x93, - 0x56, 0x4d, 0x4e, 0xfa, 0xe9, 0x41, 0xe6, 0x32, 0x87, 0x89, 0xfe, 0xde, 0x34, 0x3c, 0x96, 0xe3, - 0x09, 0xb6, 0x0f, 0xb3, 0xad, 0x06, 0x31, 0x5d, 0x6e, 0xc5, 0xc7, 0x64, 0x7a, 0x27, 0xf7, 0xf4, - 0xcf, 0xe5, 0x17, 0xe2, 0x2e, 0x14, 0xdc, 0xdd, 0x04, 0xfa, 0x9a, 0x05, 0xe7, 0x9d, 0xfb, 0x51, - 0x57, 0xce, 0x49, 0xb1, 0x66, 0x5e, 0xcd, 0xd4, 0xd3, 0xf6, 0xc9, 0x51, 0xc9, 0xdc, 0xe2, 0xce, - 0x67, 0x61, 0xe1, 0xcc, 0xb6, 0x10, 0x16, 0x41, 0x8f, 0xa9, 0xbc, 0xdd, 0xc3, 0x29, 0x3c, 0xcb, - 0x65, 0x8f, 0xf3, 0x54, 0x09, 0xc1, 0x8a, 0x0e, 0xba, 0x0b, 0xa5, 0x96, 0xf4, 0xa3, 0x15, 0x3c, - 0x3b, 0xf3, 0x10, 0xcc, 0x74, 0xb6, 0xe5, 0xbe, 0x23, 0x0a, 0x84, 0x13, 0x52, 0xe8, 0x2d, 0x28, - 0xfa, 0xdb, 0x51, 0xaf, 0x74, 0x58, 0x29, 0x5b, 0x3e, 0x1e, 0x70, 0x61, 0x63, 0xad, 0x8e, 0x69, - 0x45, 0x74, 0x03, 0x8a, 0xe1, 0x56, 0x53, 0x3c, 0x2d, 0x64, 0xca, 0xa5, 0x78, 0xb9, 0x92, 0xbd, - 0x48, 0x38, 0x25, 0xbc, 0x5c, 0xc1, 0x94, 0x04, 0xaa, 0xc1, 0x30, 0x73, 0x9a, 0x12, 0x2f, 0x08, - 0x99, 0x02, 0x69, 0x0f, 0xe7, 0x43, 0x1e, 0x95, 0x81, 0x21, 0x60, 0x4e, 0x08, 0xbd, 0x0d, 0x23, - 0x0d, 0x96, 0x31, 0x4a, 0x28, 0x7e, 0xb2, 0xc3, 0x75, 0x75, 0xe5, 0x94, 0xe2, 0x2f, 0xa8, 0xbc, - 0x1c, 0x0b, 0x0a, 0x68, 0x13, 0x46, 0x1a, 0xa4, 0xbd, 0xb3, 0x1d, 0x09, 0x7d, 0xce, 0x67, 0x33, - 0x69, 0xf5, 0x48, 0x90, 0x26, 0xa8, 0x32, 0x0c, 0x2c, 0x68, 0xa1, 0xcf, 0x43, 0x61, 0xbb, 0x21, - 0x3c, 0xa9, 0x32, 0xdf, 0x10, 0xcc, 0x48, 0x19, 0xcb, 0x23, 0x47, 0x87, 0xf3, 0x85, 0xb5, 0x15, - 0x5c, 0xd8, 0x6e, 0xa0, 0x0d, 0x18, 0xdd, 0xe6, 0xbe, 0xf5, 0x22, 0x80, 0xcd, 0xb3, 0xd9, 0x6e, - 0xff, 0x5d, 0xee, 0xf7, 0xdc, 0x03, 0x48, 0x00, 0xb0, 0x24, 0xc2, 0xe2, 0x05, 0xab, 0x18, 0x01, - 0x22, 0x70, 0xfe, 0xc2, 0xc9, 0xe2, 0x3a, 0x08, 0x35, 0x87, 0xa2, 0x82, 0x35, 0x8a, 0xe8, 0xab, - 0x50, 0x72, 0x64, 0x8e, 0x43, 0x11, 0x04, 0xe7, 0x95, 0xcc, 0xed, 0xd8, 0x3b, 0xfd, 0x23, 0x5f, - 0xcb, 0x0a, 0x09, 0x27, 0x44, 0xd1, 0x2e, 0x4c, 0xee, 0x47, 0xed, 0x1d, 0x22, 0xb7, 0x2f, 0x8b, - 0x89, 0x93, 0x73, 0x5c, 0xdd, 0x15, 0x88, 0x6e, 0x18, 0x77, 0x1c, 0xaf, 0x8b, 0xe3, 0x30, 0xc7, - 0xb1, 0xbb, 0x3a, 0x31, 0x6c, 0xd2, 0xa6, 0xc3, 0xff, 0x41, 0x27, 0xd8, 0x3a, 0x88, 0x89, 0x88, - 0xb4, 0x9f, 0x39, 0xfc, 0xef, 0x70, 0x94, 0xee, 0xe1, 0x17, 0x00, 0x2c, 0x89, 0xd0, 0x0d, 0xee, - 0xc8, 0xfc, 0xa1, 0x42, 0x97, 0xf3, 0x5c, 0xee, 0xf0, 0x74, 0xf5, 0x37, 0x19, 0x14, 0xc6, 0x19, - 0x13, 0x52, 0x8c, 0x23, 0xb6, 0x77, 0x82, 0x38, 0xf0, 0x53, 0xdc, 0x78, 0x36, 0x9f, 0x23, 0xd6, - 0x32, 0xf0, 0xbb, 0x39, 0x62, 0x16, 0x16, 0xce, 0x6c, 0x0b, 0x35, 0x61, 0xaa, 0x1d, 0x84, 0xf1, - 0xfd, 0x20, 0x94, 0xeb, 0x0b, 0xf5, 0xb8, 0xe4, 0x1b, 0x98, 0xa2, 0x45, 0x66, 0x07, 0x6e, 0x42, - 0x70, 0x8a, 0x26, 0xfa, 0x12, 0x8c, 0x46, 0x0d, 0xc7, 0x23, 0xd5, 0xdb, 0xe5, 0x73, 0xf9, 0x47, - 0x4d, 0x9d, 0xa3, 0xe4, 0xac, 0x2e, 0x36, 0x39, 0x02, 0x05, 0x4b, 0x72, 0x68, 0x0d, 0x86, 0x59, - 0xfa, 0x16, 0x96, 0x24, 0x20, 0x27, 0xd8, 0x5a, 0x97, 0xad, 0x34, 0xe7, 0x48, 0xac, 0x18, 0xf3, - 0xea, 0x74, 0x0f, 0x08, 0x59, 0x37, 0x88, 0xca, 0x17, 0xf2, 0xf7, 0x80, 0x10, 0x91, 0x6f, 0xd7, - 0x7b, 0xed, 0x01, 0x85, 0x84, 0x13, 0xa2, 0x94, 0x1f, 0x53, 0x1e, 0xfa, 0x58, 0x3e, 0x3f, 0xce, - 0xe7, 0xa0, 0x8c, 0x1f, 0x53, 0xfe, 0x49, 0x49, 0xd8, 0xbf, 0x3f, 0xda, 0x2d, 0x9f, 0xb0, 0xdb, - 0xd1, 0xf7, 0x5a, 0x5d, 0xa6, 0x03, 0x9f, 0x1b, 0x54, 0x59, 0x73, 0x8a, 0x92, 0xe9, 0xd7, 0x2c, - 0x78, 0xac, 0x9d, 0xf9, 0x21, 0xe2, 0xb0, 0x1f, 0x4c, 0xe7, 0xc3, 0x3f, 0x5d, 0x25, 0xf2, 0xc8, - 0x86, 0xe3, 0x9c, 0x96, 0xd2, 0xd2, 0x7f, 0xf1, 0x23, 0x4b, 0xff, 0xeb, 0x30, 0xc6, 0x04, 0xca, - 0x24, 0xb2, 0xdf, 0x40, 0x06, 0x78, 0x4c, 0x6c, 0x58, 0x11, 0x15, 0xb1, 0x22, 0x81, 0x7e, 0xd0, - 0x82, 0xa7, 0xd2, 0x5d, 0xc7, 0x84, 0x81, 0x45, 0x94, 0x68, 0x7e, 0x31, 0x5b, 0x13, 0xdf, 0xff, - 0x54, 0xad, 0x17, 0xf2, 0x71, 0x3f, 0x04, 0xdc, 0xbb, 0x31, 0x54, 0xc9, 0xb8, 0x19, 0x8e, 0x98, - 0x2f, 0x8b, 0x03, 0xdc, 0x0e, 0x5f, 0x85, 0x89, 0xbd, 0xa0, 0xe3, 0x4b, 0xef, 0x18, 0xe1, 0xfb, - 0xcc, 0xb4, 0xd8, 0xeb, 0x5a, 0x39, 0x36, 0xb0, 0x52, 0x77, 0xca, 0xb1, 0x87, 0xbd, 0x53, 0xa2, - 0xf7, 0x52, 0xf9, 0xbe, 0x4b, 0xf9, 0xb2, 0x85, 0xb8, 0x7e, 0x9f, 0x20, 0xeb, 0xf7, 0xd9, 0xde, - 0x83, 0xbe, 0x61, 0x65, 0x08, 0xf0, 0xfc, 0x66, 0xfc, 0x05, 0xf3, 0x66, 0x7c, 0x25, 0x7d, 0x33, - 0xee, 0xd2, 0x84, 0x1a, 0x97, 0xe2, 0xc1, 0x63, 0xf4, 0x0f, 0x1a, 0xa0, 0xd1, 0xf6, 0xe0, 0x72, - 0xbf, 0x63, 0x89, 0x99, 0x4a, 0x36, 0x95, 0x0d, 0x41, 0x62, 0x2a, 0xd9, 0xac, 0x56, 0x30, 0x83, - 0x0c, 0x1a, 0xc1, 0xc7, 0xfe, 0xef, 0x16, 0x14, 0x6b, 0x41, 0xf3, 0x0c, 0x34, 0xbb, 0x5f, 0x34, - 0x34, 0xbb, 0x4f, 0xe4, 0xe4, 0x61, 0xcf, 0xd5, 0xe3, 0xae, 0xa6, 0xf4, 0xb8, 0x4f, 0xe5, 0x11, - 0xe8, 0xad, 0xb5, 0xfd, 0xc9, 0x22, 0xe8, 0x59, 0xe3, 0xd1, 0xbf, 0x7d, 0x18, 0x9b, 0xfb, 0x62, - 0xaf, 0x44, 0xf2, 0x82, 0x32, 0xb3, 0xb0, 0x94, 0xee, 0xbc, 0x7f, 0xc1, 0x4c, 0xef, 0xef, 0x11, - 0xb7, 0xb5, 0x13, 0x93, 0x66, 0xfa, 0x73, 0xce, 0xce, 0xf4, 0xfe, 0xbf, 0x5a, 0x30, 0x9d, 0x6a, - 0x1d, 0x79, 0x59, 0xbe, 0x81, 0x0f, 0xa9, 0xd1, 0x9b, 0xed, 0xeb, 0x4c, 0xb8, 0x00, 0xa0, 0x9e, - 0xcd, 0xa4, 0xb6, 0x8b, 0x49, 0xfd, 0xea, 0x5d, 0x2d, 0xc2, 0x1a, 0x06, 0x7a, 0x0d, 0xc6, 0xe3, - 0xa0, 0x1d, 0x78, 0x41, 0xeb, 0xe0, 0x26, 0x91, 0x31, 0xa3, 0xd4, 0xe3, 0xe6, 0x66, 0x02, 0xc2, - 0x3a, 0x9e, 0xfd, 0xd3, 0x45, 0xfe, 0xa1, 0x7e, 0xec, 0x7e, 0x6b, 0x4d, 0x7e, 0xb2, 0xd7, 0xe4, - 0x37, 0x2d, 0x98, 0xa1, 0xad, 0x33, 0xeb, 0x35, 0x79, 0xd8, 0xaa, 0x5c, 0x61, 0x56, 0x8f, 0x5c, - 0x61, 0x57, 0x28, 0xef, 0x6a, 0x06, 0x9d, 0x58, 0x68, 0xcb, 0x34, 0xe6, 0x44, 0x4b, 0xb1, 0x80, - 0x0a, 0x3c, 0x12, 0x86, 0xc2, 0xe3, 0x4f, 0xc7, 0x23, 0x61, 0x88, 0x05, 0x54, 0xa6, 0x12, 0x1b, - 0xca, 0x49, 0x25, 0xc6, 0x22, 0x60, 0x0a, 0x8b, 0x29, 0x21, 0xf6, 0x68, 0x11, 0x30, 0xa5, 0x29, - 0x55, 0x82, 0x63, 0xff, 0x5c, 0x11, 0x26, 0x6a, 0x41, 0x33, 0x79, 0xb8, 0x7a, 0xd5, 0x78, 0xb8, - 0xba, 0x9c, 0x7a, 0xb8, 0x9a, 0xd1, 0x71, 0xbf, 0xf5, 0x4c, 0xf5, 0x71, 0x3d, 0x53, 0xfd, 0x2b, - 0x8b, 0xcd, 0x5a, 0x65, 0xa3, 0x2e, 0x92, 0x71, 0xbf, 0x0c, 0xe3, 0x8c, 0x21, 0x31, 0x17, 0x53, - 0xf9, 0x9a, 0xc3, 0x32, 0x5a, 0x6c, 0x24, 0xc5, 0x58, 0xc7, 0x41, 0x57, 0x61, 0x2c, 0x22, 0x4e, - 0xd8, 0xd8, 0x51, 0x3c, 0x4e, 0xbc, 0x75, 0xf0, 0x32, 0xac, 0xa0, 0xe8, 0x9d, 0x24, 0xf8, 0x62, - 0x31, 0x3f, 0xad, 0xb4, 0xde, 0x1f, 0xbe, 0x45, 0xf2, 0x23, 0x2e, 0xda, 0xf7, 0x00, 0x75, 0xe3, - 0x0f, 0x60, 0x46, 0x36, 0x6f, 0x86, 0x59, 0x2b, 0x75, 0x85, 0x58, 0xfb, 0x33, 0x0b, 0xa6, 0x6a, - 0x41, 0x93, 0x6e, 0xdd, 0xbf, 0x4c, 0xfb, 0x54, 0x8f, 0x3c, 0x3b, 0xd2, 0x23, 0xf2, 0xec, 0x3f, - 0xb4, 0x60, 0xb4, 0x16, 0x34, 0xcf, 0x40, 0xc7, 0xfe, 0x05, 0x53, 0xc7, 0xfe, 0x78, 0xce, 0x92, - 0xc8, 0x51, 0xab, 0xff, 0x42, 0x11, 0x26, 0x69, 0x3f, 0x83, 0x96, 0x9c, 0x25, 0x63, 0x44, 0xac, - 0x01, 0x46, 0x84, 0x8a, 0xb9, 0x81, 0xe7, 0x05, 0xf7, 0xd3, 0x33, 0xb6, 0xc6, 0x4a, 0xb1, 0x80, - 0xa2, 0x17, 0x61, 0xac, 0x1d, 0x92, 0x7d, 0x37, 0xe8, 0x44, 0x69, 0x6f, 0xea, 0x9a, 0x28, 0xc7, - 0x0a, 0x83, 0xde, 0xbb, 0x22, 0xd7, 0x6f, 0x10, 0x69, 0x5f, 0x36, 0xc4, 0xec, 0xcb, 0x78, 0x48, - 0x79, 0xad, 0x1c, 0x1b, 0x58, 0xe8, 0x1e, 0x94, 0xd8, 0x7f, 0xc6, 0x51, 0x4e, 0x9e, 0xe4, 0x4c, - 0xe4, 0x71, 0x11, 0x04, 0x70, 0x42, 0x0b, 0x5d, 0x03, 0x88, 0xa5, 0x25, 0x5c, 0x24, 0x9c, 0xfd, - 0x95, 0xac, 0xad, 0x6c, 0xe4, 0x22, 0xac, 0x61, 0xa1, 0x17, 0xa0, 0x14, 0x3b, 0xae, 0x77, 0xcb, - 0xf5, 0x49, 0x24, 0x2c, 0x09, 0x45, 0x9a, 0x16, 0x51, 0x88, 0x13, 0x38, 0x95, 0x75, 0x58, 0x28, - 0x09, 0x9e, 0x22, 0x71, 0x8c, 0x61, 0x33, 0x59, 0xe7, 0x96, 0x2a, 0xc5, 0x1a, 0x86, 0xfd, 0x06, - 0x5c, 0xa8, 0x05, 0xcd, 0x5a, 0x10, 0xc6, 0x6b, 0x41, 0x78, 0xdf, 0x09, 0x9b, 0x72, 0xfe, 0xe6, - 0x65, 0xc6, 0x10, 0xca, 0x7b, 0x86, 0xf9, 0xce, 0x34, 0x72, 0x81, 0xbc, 0xc2, 0xa4, 0x9d, 0x13, - 0xba, 0x7d, 0xfd, 0xfb, 0x02, 0x63, 0x14, 0xa9, 0xbc, 0x9d, 0xe8, 0x2b, 0x30, 0x15, 0x91, 0x5b, - 0xae, 0xdf, 0x79, 0x20, 0xef, 0xc7, 0x3d, 0x7c, 0xea, 0xea, 0xab, 0x3a, 0x26, 0xd7, 0xb2, 0x99, - 0x65, 0x38, 0x45, 0x8d, 0x0e, 0x61, 0xd8, 0xf1, 0x97, 0xa2, 0x3b, 0x11, 0x09, 0x45, 0xde, 0x48, - 0x36, 0x84, 0x58, 0x16, 0xe2, 0x04, 0x4e, 0x97, 0x0c, 0xfb, 0xb3, 0x11, 0xf8, 0x38, 0x08, 0x62, - 0xb9, 0xc8, 0x58, 0xe6, 0x31, 0xad, 0x1c, 0x1b, 0x58, 0x68, 0x0d, 0x50, 0xd4, 0x69, 0xb7, 0x3d, - 0xf6, 0x00, 0xee, 0x78, 0xd7, 0xc3, 0xa0, 0xd3, 0xe6, 0x8f, 0x8f, 0x22, 0x69, 0x57, 0xbd, 0x0b, - 0x8a, 0x33, 0x6a, 0x50, 0xc6, 0xb0, 0x1d, 0xb1, 0xdf, 0x22, 0x9a, 0x04, 0xd7, 0x7c, 0xd7, 0x59, - 0x11, 0x96, 0x30, 0xfb, 0x7b, 0xd8, 0x81, 0xc1, 0xd2, 0xfd, 0xc5, 0x9d, 0x90, 0xa0, 0x3d, 0x98, - 0x6c, 0xb3, 0xa3, 0x5c, 0x04, 0x4e, 0x17, 0x03, 0xf8, 0x70, 0x76, 0x83, 0x3c, 0xfd, 0x97, 0x4e, - 0x0e, 0x9b, 0xd4, 0xed, 0x9f, 0x9c, 0x61, 0x7c, 0xa9, 0xce, 0xaf, 0x73, 0xa3, 0xc2, 0x1b, 0x40, - 0xc8, 0xae, 0x73, 0xf9, 0x7a, 0x85, 0xe4, 0x08, 0x11, 0x1e, 0x05, 0x58, 0xd6, 0x45, 0xef, 0xb0, - 0x57, 0x5b, 0xce, 0x0c, 0xfa, 0xe5, 0x0d, 0xe7, 0x58, 0xc6, 0x03, 0xad, 0xa8, 0x88, 0x35, 0x22, - 0xe8, 0x16, 0x4c, 0x8a, 0xec, 0x70, 0x42, 0x71, 0x54, 0x34, 0x14, 0x03, 0x93, 0x58, 0x07, 0x1e, - 0xa7, 0x0b, 0xb0, 0x59, 0x19, 0xb5, 0xe0, 0x29, 0x2d, 0x55, 0x6a, 0x86, 0xed, 0x2a, 0xe7, 0x2d, - 0x4f, 0x1f, 0x1d, 0xce, 0x3f, 0xb5, 0xd9, 0x0b, 0x11, 0xf7, 0xa6, 0x83, 0x6e, 0xc3, 0x05, 0xa7, - 0x11, 0xbb, 0xfb, 0xa4, 0x42, 0x9c, 0xa6, 0xe7, 0xfa, 0xc4, 0x0c, 0x2f, 0x72, 0xf1, 0xe8, 0x70, - 0xfe, 0xc2, 0x52, 0x16, 0x02, 0xce, 0xae, 0x87, 0xbe, 0x00, 0xa5, 0xa6, 0x1f, 0x89, 0x31, 0x18, - 0x31, 0xb2, 0x00, 0x97, 0x2a, 0x1b, 0x75, 0xf5, 0xfd, 0xc9, 0x1f, 0x9c, 0x54, 0x40, 0x2d, 0xae, - 0x3c, 0x52, 0x77, 0xb5, 0xd1, 0xae, 0x98, 0x31, 0xe9, 0x5b, 0xbf, 0xe1, 0x77, 0xc7, 0xb5, 0xa6, - 0xca, 0x32, 0xdc, 0x70, 0xc9, 0x33, 0x08, 0xa3, 0xb7, 0x01, 0x51, 0x61, 0xc6, 0x6d, 0x90, 0xa5, - 0x06, 0x8b, 0x5f, 0xcf, 0x74, 0x6d, 0x63, 0x86, 0x9b, 0x13, 0xaa, 0x77, 0x61, 0xe0, 0x8c, 0x5a, - 0xe8, 0x06, 0xe5, 0x28, 0x7a, 0xa9, 0x30, 0xe4, 0x97, 0x02, 0x70, 0xb9, 0x42, 0xda, 0x21, 0x69, - 0x38, 0x31, 0x69, 0x9a, 0x14, 0x71, 0xaa, 0x1e, 0x3d, 0x6f, 0x54, 0x2a, 0x2b, 0x30, 0xcd, 0xcf, - 0xbb, 0xd3, 0x59, 0xd1, 0xbb, 0xe3, 0x4e, 0x10, 0xc5, 0x1b, 0x24, 0xbe, 0x1f, 0x84, 0xbb, 0x22, - 0x26, 0x60, 0x12, 0x9e, 0x36, 0x01, 0x61, 0x1d, 0x8f, 0xca, 0x8a, 0xec, 0xd9, 0xb4, 0x5a, 0x61, - 0xaf, 0x58, 0x63, 0xc9, 0x3e, 0xb9, 0xc1, 0x8b, 0xb1, 0x84, 0x4b, 0xd4, 0x6a, 0x6d, 0x85, 0xbd, - 0x48, 0xa5, 0x50, 0xab, 0xb5, 0x15, 0x2c, 0xe1, 0x88, 0x74, 0x67, 0x58, 0x9e, 0xca, 0xd7, 0xfc, - 0x75, 0xf3, 0xe5, 0x01, 0x93, 0x2c, 0xfb, 0x30, 0xa3, 0x72, 0x3b, 0xf3, 0x60, 0x89, 0x51, 0x79, - 0x9a, 0x2d, 0x92, 0xc1, 0x23, 0x2d, 0x2a, 0x5d, 0x6a, 0x35, 0x45, 0x09, 0x77, 0xd1, 0x36, 0xc2, - 0xd6, 0xcc, 0xf4, 0x4d, 0x45, 0xb6, 0x08, 0xa5, 0xa8, 0xb3, 0xd5, 0x0c, 0xf6, 0x1c, 0xd7, 0x67, - 0x0f, 0x48, 0x9a, 0x20, 0x52, 0x97, 0x00, 0x9c, 0xe0, 0xa0, 0x35, 0x18, 0x73, 0xa4, 0xa2, 0x14, - 0xe5, 0xc7, 0xb1, 0x50, 0xea, 0x51, 0x26, 0x66, 0x2b, 0xd5, 0xa8, 0xaa, 0x8b, 0xde, 0x84, 0x49, - 0xe1, 0x6a, 0x29, 0xac, 0xa4, 0xcf, 0x99, 0x5e, 0x39, 0x75, 0x1d, 0x88, 0x4d, 0x5c, 0xf4, 0x5d, - 0x30, 0x45, 0xa9, 0x24, 0x8c, 0xad, 0x7c, 0x7e, 0x10, 0x8e, 0xa8, 0xa5, 0x98, 0xd1, 0x2b, 0xe3, - 0x14, 0x31, 0xd4, 0x84, 0x27, 0x9d, 0x4e, 0x1c, 0x30, 0x65, 0xb3, 0xb9, 0xfe, 0x37, 0x83, 0x5d, - 0xe2, 0xb3, 0x77, 0x9e, 0xb1, 0xe5, 0xcb, 0x47, 0x87, 0xf3, 0x4f, 0x2e, 0xf5, 0xc0, 0xc3, 0x3d, - 0xa9, 0xa0, 0x3b, 0x30, 0x1e, 0x07, 0x9e, 0x70, 0x6f, 0x88, 0xca, 0x8f, 0xe5, 0x87, 0xdd, 0xda, - 0x54, 0x68, 0xba, 0xa2, 0x45, 0x55, 0xc5, 0x3a, 0x1d, 0xb4, 0xc9, 0xf7, 0x18, 0x0b, 0x48, 0x4c, - 0xa2, 0xf2, 0xe3, 0xf9, 0x03, 0xa3, 0xe2, 0x16, 0x9b, 0x5b, 0x50, 0xd4, 0xc4, 0x3a, 0x19, 0x74, - 0x1d, 0x66, 0xdb, 0xa1, 0x1b, 0xb0, 0x85, 0xad, 0x14, 0xfd, 0x65, 0x33, 0xab, 0x48, 0x2d, 0x8d, - 0x80, 0xbb, 0xeb, 0xd0, 0x8b, 0x98, 0x2c, 0x2c, 0x5f, 0xe4, 0x29, 0xea, 0xb8, 0x70, 0xca, 0xcb, - 0xb0, 0x82, 0xa2, 0x75, 0xc6, 0x97, 0xf9, 0x95, 0xa9, 0x3c, 0x97, 0x1f, 0xff, 0x43, 0xbf, 0x5a, - 0x71, 0xc1, 0x45, 0xfd, 0xc5, 0x09, 0x05, 0x7a, 0x6e, 0x44, 0x3b, 0x4e, 0x48, 0x6a, 0x61, 0xd0, - 0x20, 0xbc, 0x33, 0xdc, 0x9c, 0xfc, 0x09, 0x1e, 0x37, 0x95, 0x9e, 0x1b, 0xf5, 0x2c, 0x04, 0x9c, - 0x5d, 0x6f, 0xee, 0xdb, 0x61, 0xb6, 0x8b, 0x93, 0x9f, 0xc8, 0x14, 0xfe, 0x4f, 0x87, 0xa1, 0xa4, - 0x14, 0xb9, 0x68, 0xd1, 0xd4, 0xcf, 0x5f, 0x4c, 0xeb, 0xe7, 0xc7, 0xa8, 0x3c, 0xa9, 0xab, 0xe4, - 0x37, 0x0d, 0x43, 0xae, 0x42, 0x7e, 0xea, 0x3a, 0x5d, 0x8b, 0xd1, 0xd7, 0x6f, 0x55, 0xbb, 0x97, - 0x17, 0x07, 0x56, 0xf4, 0x0f, 0xf5, 0xbc, 0xea, 0x0f, 0x98, 0x8d, 0x9b, 0x5e, 0x5d, 0xdb, 0x41, - 0xb3, 0x5a, 0x4b, 0xa7, 0xa7, 0xad, 0xd1, 0x42, 0xcc, 0x61, 0xec, 0xf2, 0x41, 0xc5, 0x0e, 0x76, - 0xf9, 0x18, 0x7d, 0xc8, 0xcb, 0x87, 0x24, 0x80, 0x13, 0x5a, 0xc8, 0x83, 0xd9, 0x86, 0x99, 0x59, - 0x58, 0xf9, 0xaa, 0x3e, 0xd3, 0x37, 0xc7, 0x6f, 0x47, 0x4b, 0x39, 0xb8, 0x92, 0xa6, 0x82, 0xbb, - 0x09, 0xa3, 0x37, 0x61, 0xec, 0x83, 0x20, 0x62, 0xdb, 0x42, 0x9c, 0xbd, 0xd2, 0x3b, 0x70, 0xec, - 0x9d, 0xdb, 0x75, 0x56, 0x7e, 0x7c, 0x38, 0x3f, 0x5e, 0x0b, 0x9a, 0xf2, 0x2f, 0x56, 0x15, 0xd0, - 0x03, 0xb8, 0x60, 0x70, 0x2c, 0xd5, 0x5d, 0x18, 0xbc, 0xbb, 0x4f, 0x89, 0xe6, 0x2e, 0x54, 0xb3, - 0x28, 0xe1, 0xec, 0x06, 0x28, 0x1b, 0xf0, 0x03, 0x91, 0x95, 0x5b, 0x9e, 0xef, 0xec, 0x18, 0x2f, - 0xe9, 0x41, 0x16, 0x52, 0x08, 0xb8, 0xbb, 0x8e, 0xfd, 0xcb, 0x5c, 0xef, 0x2d, 0xb4, 0x63, 0x24, - 0xea, 0x78, 0x67, 0x91, 0xa0, 0x6c, 0xd5, 0x50, 0xdc, 0x3d, 0xf4, 0xdb, 0xca, 0xaf, 0x5b, 0xec, - 0x6d, 0x65, 0x93, 0xec, 0xb5, 0x3d, 0x27, 0x3e, 0x0b, 0x4f, 0x8a, 0x77, 0x60, 0x2c, 0x16, 0xad, - 0xf5, 0xca, 0xa9, 0xa6, 0x75, 0x8a, 0xbd, 0x2f, 0xa9, 0x93, 0x5f, 0x96, 0x62, 0x45, 0xc6, 0xfe, - 0xe7, 0x7c, 0x06, 0x24, 0xe4, 0x0c, 0x94, 0x28, 0x15, 0x53, 0x89, 0x32, 0xdf, 0xe7, 0x0b, 0x72, - 0x94, 0x29, 0xff, 0xcc, 0xec, 0x37, 0xbb, 0x64, 0x7d, 0xd2, 0x1f, 0xf5, 0xec, 0x1f, 0xb5, 0xe0, - 0x7c, 0x96, 0x15, 0x0c, 0x95, 0xd6, 0xf8, 0x15, 0x4f, 0x3d, 0x72, 0xaa, 0x11, 0xbc, 0x2b, 0xca, - 0xb1, 0xc2, 0x18, 0x38, 0x5d, 0xc9, 0xc9, 0x62, 0xea, 0xdd, 0x06, 0x33, 0x9b, 0x35, 0x7a, 0x8b, - 0xbb, 0x46, 0x59, 0x2a, 0xdd, 0xf4, 0xc9, 0xdc, 0xa2, 0xec, 0x9f, 0x29, 0xc0, 0x79, 0xfe, 0x4a, - 0xb1, 0xb4, 0x1f, 0xb8, 0xcd, 0x5a, 0xd0, 0x14, 0x8e, 0x62, 0xef, 0xc2, 0x44, 0x5b, 0xbb, 0x97, - 0xf7, 0x8a, 0xea, 0xa5, 0xdf, 0xdf, 0x93, 0xfb, 0x91, 0x5e, 0x8a, 0x0d, 0x5a, 0xa8, 0x09, 0x13, - 0x64, 0xdf, 0x6d, 0x28, 0x55, 0x77, 0xe1, 0xc4, 0x67, 0x83, 0x6a, 0x65, 0x55, 0xa3, 0x83, 0x0d, - 0xaa, 0x8f, 0x20, 0xfb, 0xa0, 0xfd, 0x63, 0x16, 0x3c, 0x9e, 0x13, 0x03, 0x8c, 0x36, 0x77, 0x9f, - 0xbd, 0x07, 0x89, 0x44, 0x66, 0xaa, 0x39, 0xfe, 0x4a, 0x84, 0x05, 0x14, 0x7d, 0x09, 0x80, 0xbf, - 0xf2, 0xd0, 0xeb, 0x82, 0xf8, 0xf4, 0xc1, 0x62, 0xe3, 0x68, 0x01, 0x54, 0x64, 0x7d, 0xac, 0xd1, - 0xb2, 0x7f, 0xaa, 0x08, 0xc3, 0xec, 0x55, 0x01, 0xad, 0xc1, 0xe8, 0x0e, 0x8f, 0x38, 0x3e, 0x48, - 0x70, 0xf3, 0xe4, 0xde, 0xc5, 0x0b, 0xb0, 0xac, 0x8c, 0xd6, 0xe1, 0x9c, 0x70, 0x46, 0xac, 0x10, - 0xcf, 0x39, 0x90, 0xd7, 0x77, 0x9e, 0xfc, 0x4b, 0xa5, 0xbb, 0xab, 0x76, 0xa3, 0xe0, 0xac, 0x7a, - 0xe8, 0xad, 0xae, 0x38, 0xa3, 0x3c, 0x56, 0xbb, 0x12, 0xf6, 0xfb, 0xc4, 0x1a, 0x7d, 0x13, 0x26, - 0xdb, 0x5d, 0x8a, 0x8a, 0xe1, 0xe4, 0x22, 0x62, 0x2a, 0x27, 0x4c, 0x5c, 0x66, 0xfe, 0xd2, 0x61, - 0xc6, 0x3e, 0x9b, 0x3b, 0x21, 0x89, 0x76, 0x02, 0xaf, 0x29, 0xf2, 0xf1, 0x27, 0xe6, 0x2f, 0x29, - 0x38, 0xee, 0xaa, 0x41, 0xa9, 0x6c, 0x3b, 0xae, 0xd7, 0x09, 0x49, 0x42, 0x65, 0xc4, 0xa4, 0xb2, - 0x96, 0x82, 0xe3, 0xae, 0x1a, 0x74, 0x1d, 0x5d, 0x10, 0xc9, 0xdc, 0x65, 0x88, 0x0a, 0x65, 0xd3, - 0x34, 0x2a, 0x5d, 0x55, 0x7a, 0x84, 0x4d, 0x12, 0x56, 0x1f, 0x2a, 0x1d, 0xbc, 0x96, 0x2a, 0x58, - 0x38, 0xa9, 0x48, 0x2a, 0x0f, 0x93, 0x52, 0xfc, 0xf7, 0x2d, 0x38, 0x97, 0x61, 0x3b, 0xc9, 0x59, - 0x55, 0xcb, 0x8d, 0x62, 0x95, 0xe0, 0x48, 0x63, 0x55, 0xbc, 0x1c, 0x2b, 0x0c, 0xba, 0x1f, 0x38, - 0x33, 0x4c, 0x33, 0x40, 0x61, 0x9b, 0x24, 0xa0, 0x27, 0x63, 0x80, 0xe8, 0x32, 0x0c, 0x75, 0x22, - 0x12, 0xca, 0x5c, 0xdc, 0x92, 0x7f, 0x33, 0xd5, 0x27, 0x83, 0x50, 0xd1, 0xb4, 0xa5, 0xb4, 0x8e, - 0x9a, 0x68, 0xca, 0xf5, 0x8e, 0x1c, 0x66, 0x7f, 0xbd, 0x08, 0x17, 0x73, 0x6d, 0xa3, 0x69, 0x97, - 0xf6, 0x02, 0xdf, 0x8d, 0x03, 0xf5, 0x62, 0xc5, 0xe3, 0xfb, 0x90, 0xf6, 0xce, 0xba, 0x28, 0xc7, - 0x0a, 0x03, 0x5d, 0x81, 0x61, 0x76, 0xb3, 0xef, 0x4a, 0xe1, 0xb4, 0x5c, 0xe1, 0x61, 0x27, 0x38, - 0x78, 0xe0, 0xf4, 0x78, 0xcf, 0xc0, 0x50, 0x3b, 0x08, 0xbc, 0x34, 0x33, 0xa2, 0xdd, 0x0d, 0x02, - 0x0f, 0x33, 0x20, 0xfa, 0x8c, 0x18, 0x87, 0xd4, 0x13, 0x0d, 0x76, 0x9a, 0x41, 0xa4, 0x0d, 0xc6, - 0x73, 0x30, 0xba, 0x4b, 0x0e, 0x42, 0xd7, 0x6f, 0xa5, 0x9f, 0xee, 0x6e, 0xf2, 0x62, 0x2c, 0xe1, - 0x66, 0x06, 0x93, 0xd1, 0xd3, 0xce, 0x6b, 0x37, 0xd6, 0xf7, 0x68, 0xfb, 0x81, 0x22, 0x4c, 0xe3, - 0xe5, 0xca, 0xb7, 0x26, 0xe2, 0x4e, 0xf7, 0x44, 0x9c, 0x76, 0x5e, 0xbb, 0xfe, 0xb3, 0xf1, 0x0b, - 0x16, 0x4c, 0xb3, 0x28, 0xdf, 0x22, 0x3e, 0x8d, 0x1b, 0xf8, 0x67, 0x20, 0xba, 0x3d, 0x03, 0xc3, - 0x21, 0x6d, 0x34, 0x9d, 0xac, 0x8a, 0xf5, 0x04, 0x73, 0x18, 0x7a, 0x12, 0x86, 0x58, 0x17, 0xe8, - 0xe4, 0x4d, 0xf0, 0x3c, 0x1f, 0x15, 0x27, 0x76, 0x30, 0x2b, 0x65, 0x8e, 0xc2, 0x98, 0xb4, 0x3d, - 0x97, 0x77, 0x3a, 0x51, 0xf5, 0x7f, 0x32, 0x1c, 0x85, 0x33, 0xbb, 0xf6, 0xd1, 0x1c, 0x85, 0xb3, - 0x49, 0xf6, 0xbe, 0x16, 0xfd, 0x8f, 0x02, 0x5c, 0xca, 0xac, 0x37, 0xb0, 0xa3, 0x70, 0xef, 0xda, - 0xa7, 0x63, 0x81, 0x91, 0x6d, 0x18, 0x51, 0x3c, 0x43, 0xc3, 0x88, 0xa1, 0x41, 0x25, 0xc7, 0xe1, - 0x01, 0xfc, 0x77, 0x33, 0x87, 0xec, 0x13, 0xe2, 0xbf, 0x9b, 0xd9, 0xb7, 0x9c, 0x6b, 0xdd, 0x9f, - 0x17, 0x72, 0xbe, 0x85, 0x5d, 0xf0, 0xae, 0x52, 0x3e, 0xc3, 0x80, 0x91, 0x90, 0x84, 0x27, 0x38, - 0x8f, 0xe1, 0x65, 0x58, 0x41, 0x91, 0xab, 0x79, 0xc2, 0x16, 0xf2, 0x53, 0x99, 0xe6, 0x36, 0xb5, - 0x60, 0xbe, 0xcc, 0xe8, 0xc1, 0x74, 0xd2, 0x5e, 0xb1, 0xeb, 0xda, 0xa5, 0xbc, 0x38, 0xf8, 0xa5, - 0x7c, 0x22, 0xfb, 0x42, 0x8e, 0x96, 0x60, 0x7a, 0xcf, 0xf5, 0x29, 0xdb, 0x3c, 0x30, 0x45, 0x51, - 0x15, 0x18, 0x62, 0xdd, 0x04, 0xe3, 0x34, 0xfe, 0xdc, 0x9b, 0x30, 0xf9, 0xf0, 0xea, 0xc8, 0x6f, - 0x16, 0xe1, 0x89, 0x1e, 0xdb, 0x9e, 0xf3, 0x7a, 0x63, 0x0e, 0x34, 0x5e, 0xdf, 0x35, 0x0f, 0x35, - 0x38, 0xbf, 0xdd, 0xf1, 0xbc, 0x03, 0x66, 0x7b, 0x48, 0x9a, 0x12, 0x43, 0xc8, 0x8a, 0x2a, 0x84, - 0xff, 0x5a, 0x06, 0x0e, 0xce, 0xac, 0x89, 0xde, 0x06, 0x14, 0x88, 0x3c, 0xca, 0x49, 0x88, 0x20, - 0x36, 0xf0, 0xc5, 0x64, 0x33, 0xde, 0xee, 0xc2, 0xc0, 0x19, 0xb5, 0xa8, 0xd0, 0x4f, 0x4f, 0xa5, - 0x03, 0xd5, 0xad, 0x94, 0xd0, 0x8f, 0x75, 0x20, 0x36, 0x71, 0xd1, 0x75, 0x98, 0x75, 0xf6, 0x1d, - 0x97, 0x87, 0x8c, 0x94, 0x04, 0xb8, 0xd4, 0xaf, 0x94, 0x60, 0x4b, 0x69, 0x04, 0xdc, 0x5d, 0x27, - 0xe5, 0x8a, 0x3b, 0x92, 0xef, 0x8a, 0xdb, 0x9b, 0x2f, 0xf6, 0xd3, 0xe9, 0xda, 0xff, 0xd9, 0xa2, - 0xc7, 0x17, 0x17, 0xde, 0xcd, 0xf0, 0x59, 0x6f, 0xc2, 0xa4, 0xd2, 0x4d, 0x6a, 0x5e, 0xb1, 0x6a, - 0x1c, 0x56, 0x74, 0x20, 0x36, 0x71, 0xf9, 0x82, 0x88, 0x12, 0x07, 0x0d, 0x43, 0x74, 0x17, 0x6e, - 0xef, 0x0a, 0x03, 0x7d, 0x19, 0x46, 0x9b, 0xee, 0xbe, 0x1b, 0x05, 0xa1, 0xd8, 0x2c, 0x27, 0x34, - 0x73, 0x4f, 0xf8, 0x60, 0x85, 0x93, 0xc1, 0x92, 0x9e, 0xfd, 0x03, 0x05, 0x98, 0x94, 0x2d, 0xbe, - 0xd3, 0x09, 0x62, 0xe7, 0x0c, 0x8e, 0xe5, 0xeb, 0xc6, 0xb1, 0xfc, 0x99, 0x5e, 0xbe, 0xff, 0xac, - 0x4b, 0xb9, 0xc7, 0xf1, 0xed, 0xd4, 0x71, 0xfc, 0x6c, 0x7f, 0x52, 0xbd, 0x8f, 0xe1, 0x7f, 0x61, - 0xc1, 0xac, 0x81, 0x7f, 0x06, 0xa7, 0xc1, 0x9a, 0x79, 0x1a, 0x3c, 0xdd, 0xf7, 0x1b, 0x72, 0x4e, - 0x81, 0x6f, 0x14, 0x52, 0x7d, 0x67, 0xdc, 0xff, 0x03, 0x18, 0xda, 0x71, 0xc2, 0x66, 0xaf, 0xc0, - 0xc7, 0x5d, 0x95, 0x16, 0x6e, 0x38, 0x61, 0x93, 0xf3, 0xf0, 0x17, 0x55, 0xf6, 0x55, 0x27, 0x6c, - 0xf6, 0xf5, 0x47, 0x62, 0x4d, 0xa1, 0x37, 0x60, 0x24, 0x6a, 0x04, 0x6d, 0x65, 0x2d, 0x78, 0x99, - 0x67, 0x66, 0xa5, 0x25, 0xc7, 0x87, 0xf3, 0xc8, 0x6c, 0x8e, 0x16, 0x63, 0x81, 0x3f, 0xd7, 0x82, - 0x92, 0x6a, 0xfa, 0x91, 0xfa, 0x7a, 0xfc, 0x4e, 0x11, 0xce, 0x65, 0xac, 0x0b, 0x14, 0x19, 0xa3, - 0xf5, 0xf2, 0x80, 0xcb, 0xe9, 0x23, 0x8e, 0x57, 0xc4, 0x6e, 0x2c, 0x4d, 0x31, 0xff, 0x03, 0x37, - 0x7a, 0x27, 0x22, 0xe9, 0x46, 0x69, 0x51, 0xff, 0x46, 0x69, 0x63, 0x67, 0x36, 0xd4, 0xb4, 0x21, - 0xd5, 0xd3, 0x47, 0x3a, 0xa7, 0x7f, 0x52, 0x84, 0xf3, 0x59, 0x21, 0x43, 0xd0, 0x77, 0xa7, 0xd2, - 0x28, 0xbd, 0x3a, 0x68, 0xb0, 0x11, 0x9e, 0x5b, 0x49, 0xc4, 0x58, 0x5b, 0x30, 0x13, 0x2b, 0xf5, - 0x1d, 0x66, 0xd1, 0x26, 0x73, 0x10, 0x0c, 0x79, 0xfa, 0x2b, 0xb9, 0xc5, 0x3f, 0x37, 0x70, 0x07, - 0x44, 0xde, 0xac, 0x28, 0xe5, 0x20, 0x28, 0x8b, 0xfb, 0x3b, 0x08, 0xca, 0x96, 0xe7, 0x5c, 0x18, - 0xd7, 0xbe, 0xe6, 0x91, 0xce, 0xf8, 0x2e, 0x3d, 0x51, 0xb4, 0x7e, 0x3f, 0xd2, 0x59, 0xff, 0x31, - 0x0b, 0x52, 0x36, 0x7a, 0x4a, 0x25, 0x65, 0xe5, 0xaa, 0xa4, 0x2e, 0xc3, 0x50, 0x18, 0x78, 0x24, - 0x9d, 0x59, 0x07, 0x07, 0x1e, 0xc1, 0x0c, 0x42, 0x31, 0xe2, 0x44, 0x21, 0x31, 0xa1, 0x5f, 0xb6, - 0xc4, 0x35, 0xea, 0x19, 0x18, 0xf6, 0xc8, 0x3e, 0x91, 0xda, 0x08, 0xc5, 0x93, 0x6f, 0xd1, 0x42, - 0xcc, 0x61, 0xf6, 0x2f, 0x0c, 0xc1, 0x53, 0x3d, 0x5d, 0x6c, 0xe9, 0x95, 0xa5, 0xe5, 0xc4, 0xe4, - 0xbe, 0x73, 0x90, 0x8e, 0xfb, 0x7d, 0x9d, 0x17, 0x63, 0x09, 0x67, 0x16, 0xc5, 0x3c, 0x74, 0x68, - 0x4a, 0x81, 0x27, 0x22, 0x86, 0x0a, 0xa8, 0xa9, 0x38, 0x2a, 0x9e, 0x86, 0xe2, 0xe8, 0x1a, 0x40, - 0x14, 0x79, 0xab, 0x3e, 0x95, 0xc0, 0x9a, 0xc2, 0x54, 0x39, 0x09, 0x31, 0x5b, 0xbf, 0x25, 0x20, - 0x58, 0xc3, 0x42, 0x15, 0x98, 0x69, 0x87, 0x41, 0xcc, 0xf5, 0xa1, 0x15, 0x6e, 0x24, 0x33, 0x6c, - 0x7a, 0x37, 0xd6, 0x52, 0x70, 0xdc, 0x55, 0x03, 0xbd, 0x06, 0xe3, 0xc2, 0xe3, 0xb1, 0x16, 0x04, - 0x9e, 0x50, 0xd5, 0x28, 0x93, 0x8b, 0x7a, 0x02, 0xc2, 0x3a, 0x9e, 0x56, 0x8d, 0x29, 0x59, 0x47, - 0x33, 0xab, 0x71, 0x45, 0xab, 0x86, 0x97, 0x0a, 0x1f, 0x34, 0x36, 0x50, 0xf8, 0xa0, 0x44, 0x79, - 0x55, 0x1a, 0xf8, 0x5d, 0x09, 0xfa, 0xaa, 0x7b, 0x7e, 0x76, 0x08, 0xce, 0x89, 0x85, 0xf3, 0xa8, - 0x97, 0xcb, 0x9d, 0xee, 0xe5, 0x72, 0x1a, 0xea, 0xad, 0x6f, 0xad, 0x99, 0xb3, 0x5e, 0x33, 0xbf, - 0x5c, 0x84, 0x11, 0x3e, 0x15, 0x67, 0x20, 0xc3, 0xaf, 0x09, 0xa5, 0x5f, 0x8f, 0xc0, 0x39, 0xbc, - 0x2f, 0x0b, 0x15, 0x27, 0x76, 0xf8, 0xf9, 0xa5, 0xd8, 0x68, 0xa2, 0x1e, 0x44, 0x0b, 0x06, 0xa3, - 0x9d, 0x4b, 0x69, 0xb5, 0x80, 0xd3, 0xd0, 0xd8, 0xee, 0x57, 0x00, 0xa2, 0x38, 0x74, 0xfd, 0x16, - 0xa5, 0x21, 0x42, 0x30, 0x3d, 0xdf, 0xa3, 0xf5, 0xba, 0x42, 0xe6, 0x7d, 0x48, 0x96, 0xa0, 0x02, - 0x60, 0x8d, 0xe2, 0xdc, 0xeb, 0x50, 0x52, 0xc8, 0xfd, 0x54, 0x00, 0x13, 0xfa, 0xa9, 0xf7, 0x45, - 0x98, 0x4e, 0xb5, 0x75, 0x22, 0x0d, 0xc2, 0x2f, 0x5a, 0x30, 0xcd, 0xbb, 0xbc, 0xea, 0xef, 0x8b, - 0xcd, 0xfe, 0x21, 0x9c, 0xf7, 0x32, 0x36, 0x9d, 0x98, 0xd1, 0xc1, 0x37, 0xa9, 0xd2, 0x18, 0x64, - 0x41, 0x71, 0x66, 0x1b, 0xe8, 0x2a, 0x8c, 0x71, 0x17, 0x1c, 0xc7, 0x13, 0x6e, 0x13, 0x13, 0x3c, - 0x15, 0x07, 0x2f, 0xc3, 0x0a, 0x6a, 0xff, 0xae, 0x05, 0xb3, 0xbc, 0xe7, 0x37, 0xc9, 0x81, 0xba, - 0x1d, 0x7f, 0x9c, 0x7d, 0x17, 0x99, 0x46, 0x0a, 0x39, 0x99, 0x46, 0xf4, 0x4f, 0x2b, 0xf6, 0xfc, - 0xb4, 0x9f, 0xb1, 0x40, 0xac, 0xc0, 0x33, 0xb8, 0x07, 0x7e, 0xbb, 0x79, 0x0f, 0x9c, 0xcb, 0x5f, - 0xd4, 0x39, 0x17, 0xc0, 0x3f, 0xb3, 0x60, 0x86, 0x23, 0x24, 0x0f, 0x91, 0x1f, 0xeb, 0x3c, 0x0c, - 0x92, 0xfe, 0x4e, 0xe5, 0x1b, 0xcf, 0xfe, 0x28, 0x63, 0xb2, 0x86, 0x7a, 0x4e, 0x56, 0x53, 0x6e, - 0xa0, 0x13, 0xa4, 0x75, 0x3c, 0x71, 0x70, 0x5c, 0xfb, 0x8f, 0x2d, 0x40, 0xbc, 0x19, 0xe3, 0x5c, - 0xa6, 0xa7, 0x1d, 0x2b, 0xd5, 0x34, 0x41, 0x09, 0xab, 0x51, 0x10, 0xac, 0x61, 0x9d, 0xca, 0xf0, - 0xa4, 0x5e, 0x93, 0x8b, 0xfd, 0x5f, 0x93, 0x4f, 0x30, 0xa2, 0x7f, 0x73, 0x08, 0xd2, 0x36, 0xda, - 0xe8, 0x2e, 0x4c, 0x34, 0x9c, 0xb6, 0xb3, 0xe5, 0x7a, 0x6e, 0xec, 0x92, 0xa8, 0x97, 0x19, 0xca, - 0x8a, 0x86, 0x27, 0xde, 0x09, 0xb5, 0x12, 0x6c, 0xd0, 0x41, 0x0b, 0x00, 0xed, 0xd0, 0xdd, 0x77, - 0x3d, 0xd2, 0x62, 0x57, 0x61, 0xe6, 0xa8, 0xc5, 0x6d, 0x2b, 0x64, 0x29, 0xd6, 0x30, 0x32, 0x1c, - 0x7b, 0x8a, 0x8f, 0xce, 0xb1, 0x67, 0xe8, 0x84, 0x8e, 0x3d, 0xc3, 0x03, 0x39, 0xf6, 0x60, 0x78, - 0x4c, 0x9e, 0xdd, 0xf4, 0xff, 0x9a, 0xeb, 0x11, 0x21, 0xb0, 0x71, 0xf7, 0xad, 0xb9, 0xa3, 0xc3, - 0xf9, 0xc7, 0x70, 0x26, 0x06, 0xce, 0xa9, 0x89, 0xbe, 0x04, 0x65, 0xc7, 0xf3, 0x82, 0xfb, 0x6a, - 0xd4, 0x56, 0xa3, 0x86, 0xe3, 0x25, 0xb1, 0xe2, 0xc7, 0x96, 0x9f, 0x3c, 0x3a, 0x9c, 0x2f, 0x2f, - 0xe5, 0xe0, 0xe0, 0xdc, 0xda, 0xf6, 0x2e, 0x9c, 0xab, 0x93, 0x50, 0x66, 0x8a, 0x55, 0x5b, 0x6c, - 0x13, 0x4a, 0x61, 0x8a, 0xa9, 0x0c, 0x14, 0xa3, 0x45, 0x8b, 0xe3, 0x29, 0x99, 0x48, 0x42, 0xc8, - 0xfe, 0x53, 0x0b, 0x46, 0x85, 0xdd, 0xf7, 0x19, 0xc8, 0x32, 0x4b, 0x86, 0x3e, 0x72, 0x3e, 0x9b, - 0xf1, 0xb2, 0xce, 0xe4, 0x6a, 0x22, 0xab, 0x29, 0x4d, 0xe4, 0xd3, 0xbd, 0x88, 0xf4, 0xd6, 0x41, - 0xfe, 0x48, 0x11, 0xa6, 0x4c, 0x9b, 0xf7, 0x33, 0x18, 0x82, 0x0d, 0x18, 0x8d, 0x84, 0x83, 0x45, - 0x21, 0xdf, 0x10, 0x36, 0x3d, 0x89, 0x89, 0x95, 0x8b, 0x70, 0xa9, 0x90, 0x44, 0x32, 0x3d, 0x37, - 0x8a, 0x8f, 0xd0, 0x73, 0xa3, 0x9f, 0xdb, 0xc1, 0xd0, 0x69, 0xb8, 0x1d, 0xd8, 0xbf, 0xc2, 0x98, - 0xbf, 0x5e, 0x7e, 0x06, 0x72, 0xc1, 0x75, 0xf3, 0x98, 0xb0, 0x7b, 0xac, 0x2c, 0xd1, 0xa9, 0x1c, - 0xf9, 0xe0, 0x9f, 0x58, 0x30, 0x2e, 0x10, 0xcf, 0xa0, 0xdb, 0xdf, 0x61, 0x76, 0xfb, 0x89, 0x1e, - 0xdd, 0xce, 0xe9, 0xef, 0xdf, 0x2b, 0xa8, 0xfe, 0xd6, 0x82, 0x30, 0x1e, 0x28, 0x77, 0xc8, 0x18, - 0xbd, 0x0d, 0x06, 0x8d, 0xc0, 0x13, 0x87, 0xf9, 0x93, 0x89, 0x07, 0x2f, 0x2f, 0x3f, 0xd6, 0x7e, - 0x63, 0x85, 0xcd, 0x1c, 0x4c, 0x83, 0x30, 0x16, 0x07, 0x68, 0xe2, 0x60, 0x1a, 0x84, 0x31, 0x66, - 0x10, 0xd4, 0x04, 0x88, 0x9d, 0xb0, 0x45, 0x62, 0x5a, 0x26, 0x82, 0x01, 0xe4, 0xef, 0xc2, 0x4e, - 0xec, 0x7a, 0x0b, 0xae, 0x1f, 0x47, 0x71, 0xb8, 0x50, 0xf5, 0xe3, 0xdb, 0x21, 0xbf, 0x1b, 0x68, - 0x2e, 0xb9, 0x8a, 0x16, 0xd6, 0xe8, 0x4a, 0x9f, 0x30, 0xd6, 0xc6, 0xb0, 0xf9, 0x50, 0xb8, 0x21, - 0xca, 0xb1, 0xc2, 0xb0, 0x5f, 0x67, 0x3c, 0x99, 0x0d, 0xd0, 0xc9, 0xbc, 0x65, 0x7f, 0x6b, 0x4c, - 0x0d, 0x2d, 0x7b, 0x25, 0xa8, 0xe8, 0x3e, 0xb9, 0xbd, 0x59, 0x20, 0x6d, 0x58, 0xf7, 0x2f, 0x48, - 0x1c, 0x77, 0xd1, 0x77, 0x76, 0xbd, 0x1f, 0xbf, 0xd4, 0x87, 0x97, 0x9e, 0xe0, 0xc5, 0x98, 0x05, - 0xa0, 0x65, 0x81, 0x3a, 0xab, 0xb5, 0x74, 0x76, 0x97, 0x15, 0x09, 0xc0, 0x09, 0x0e, 0x5a, 0x14, - 0x37, 0x4b, 0xae, 0x9f, 0x7b, 0x22, 0x75, 0xb3, 0x94, 0x9f, 0xaf, 0x5d, 0x2d, 0x5f, 0x86, 0x71, - 0x95, 0x31, 0xaf, 0xc6, 0x13, 0x8f, 0x89, 0xd0, 0x08, 0xab, 0x49, 0x31, 0xd6, 0x71, 0xd0, 0x26, - 0x4c, 0x47, 0x3c, 0x9d, 0x9f, 0x8a, 0x80, 0xc5, 0xf5, 0x06, 0xcf, 0xcb, 0x77, 0xe7, 0xba, 0x09, - 0x3e, 0x66, 0x45, 0x7c, 0xb3, 0x4a, 0xc7, 0xae, 0x34, 0x09, 0xf4, 0x16, 0x4c, 0x79, 0x7a, 0x5a, - 0xf3, 0x9a, 0x50, 0x2b, 0x28, 0xb3, 0x4c, 0x23, 0xe9, 0x79, 0x0d, 0xa7, 0xb0, 0xa9, 0x10, 0xa0, - 0x97, 0x88, 0xa8, 0x6d, 0x8e, 0xdf, 0x22, 0x91, 0xc8, 0xf7, 0xc5, 0x84, 0x80, 0x5b, 0x39, 0x38, - 0x38, 0xb7, 0x36, 0x7a, 0x03, 0x26, 0xe4, 0xe7, 0x6b, 0x6e, 0x8b, 0x89, 0xf1, 0xaf, 0x06, 0xc3, - 0x06, 0x26, 0xba, 0x0f, 0x17, 0xe4, 0xff, 0xcd, 0xd0, 0xd9, 0xde, 0x76, 0x1b, 0xc2, 0x6b, 0x94, - 0x7b, 0x40, 0x2c, 0x49, 0x97, 0x8a, 0xd5, 0x2c, 0xa4, 0xe3, 0xc3, 0xf9, 0xcb, 0x62, 0xd4, 0x32, - 0xe1, 0x6c, 0x12, 0xb3, 0xe9, 0xa3, 0x75, 0x38, 0xb7, 0x43, 0x1c, 0x2f, 0xde, 0x59, 0xd9, 0x21, - 0x8d, 0x5d, 0xb9, 0x89, 0x98, 0x33, 0xa4, 0x66, 0x32, 0x7b, 0xa3, 0x1b, 0x05, 0x67, 0xd5, 0x43, - 0xef, 0x41, 0xb9, 0xdd, 0xd9, 0xf2, 0xdc, 0x68, 0x67, 0x23, 0x88, 0xd9, 0x53, 0xb7, 0x4a, 0x38, - 0x27, 0xbc, 0x26, 0x95, 0x23, 0x68, 0x2d, 0x07, 0x0f, 0xe7, 0x52, 0x40, 0x1f, 0xc2, 0x85, 0xd4, - 0x62, 0x10, 0x3e, 0x5c, 0x53, 0xf9, 0x31, 0x30, 0xeb, 0x59, 0x15, 0x84, 0x4f, 0x56, 0x16, 0x08, - 0x67, 0x37, 0xf1, 0xd1, 0x0c, 0x20, 0x3e, 0xa0, 0x95, 0x35, 0xe9, 0x06, 0x7d, 0x15, 0x26, 0xf4, - 0x55, 0x24, 0x0e, 0x98, 0x2b, 0xfd, 0x52, 0xf8, 0x0b, 0xd9, 0x48, 0xad, 0x28, 0x1d, 0x86, 0x0d, - 0x8a, 0x36, 0x81, 0xec, 0xef, 0x43, 0xb7, 0x60, 0xac, 0xe1, 0xb9, 0xc4, 0x8f, 0xab, 0xb5, 0x5e, - 0xde, 0xfe, 0x2b, 0x02, 0x47, 0x0c, 0x98, 0x08, 0x1a, 0xc8, 0xcb, 0xb0, 0xa2, 0x60, 0xff, 0x5a, - 0x01, 0xe6, 0xfb, 0x44, 0xa0, 0x4c, 0xe9, 0x00, 0xad, 0x81, 0x74, 0x80, 0x4b, 0x32, 0x7d, 0xde, - 0x46, 0xea, 0xfe, 0x99, 0x4a, 0x8d, 0x97, 0xdc, 0x42, 0xd3, 0xf8, 0x03, 0xdb, 0x4d, 0xea, 0x6a, - 0xc4, 0xa1, 0xbe, 0x16, 0xbd, 0xc6, 0xf3, 0xc1, 0xf0, 0xe0, 0x12, 0x7d, 0xae, 0x2a, 0xd8, 0xfe, - 0x95, 0x02, 0x5c, 0x50, 0x43, 0xf8, 0x97, 0x77, 0xe0, 0xee, 0x74, 0x0f, 0xdc, 0x29, 0x28, 0xd2, - 0xed, 0xdb, 0x30, 0x52, 0x3f, 0x88, 0x1a, 0xb1, 0x37, 0x80, 0x00, 0xf4, 0x8c, 0x19, 0xf5, 0x46, - 0x1d, 0xd3, 0x46, 0xe4, 0x9b, 0xbf, 0x66, 0xc1, 0xf4, 0xe6, 0x4a, 0xad, 0x1e, 0x34, 0x76, 0x49, - 0xbc, 0xc4, 0xd5, 0x44, 0x58, 0xc8, 0x3f, 0xd6, 0x43, 0xca, 0x35, 0x59, 0x12, 0xd3, 0x65, 0x18, - 0xda, 0x09, 0xa2, 0x38, 0xfd, 0xca, 0x76, 0x23, 0x88, 0x62, 0xcc, 0x20, 0xf6, 0xef, 0x59, 0x30, - 0xcc, 0x92, 0xbe, 0xf6, 0x4b, 0x0e, 0x3c, 0xc8, 0x77, 0xa1, 0xd7, 0x60, 0x84, 0x6c, 0x6f, 0x93, - 0x46, 0x2c, 0x66, 0x55, 0xba, 0xe9, 0x8d, 0xac, 0xb2, 0x52, 0x7a, 0xe8, 0xb3, 0xc6, 0xf8, 0x5f, - 0x2c, 0x90, 0xd1, 0x3d, 0x28, 0xc5, 0xee, 0x1e, 0x59, 0x6a, 0x36, 0xc5, 0x3b, 0xc5, 0x43, 0x78, - 0x45, 0x6e, 0x4a, 0x02, 0x38, 0xa1, 0x65, 0x7f, 0xbd, 0x00, 0x90, 0xb8, 0x1a, 0xf7, 0xfb, 0xc4, - 0xe5, 0xae, 0xfc, 0xc7, 0x57, 0x32, 0xf2, 0x1f, 0xa3, 0x84, 0x60, 0x46, 0xf6, 0x63, 0x35, 0x4c, - 0xc5, 0x81, 0x86, 0x69, 0xe8, 0x24, 0xc3, 0xb4, 0x02, 0xb3, 0x89, 0xab, 0xb4, 0x19, 0x37, 0x82, - 0x45, 0xa4, 0xdf, 0x4c, 0x03, 0x71, 0x37, 0xbe, 0xfd, 0xfd, 0x16, 0x08, 0x77, 0x83, 0x01, 0x16, - 0xf3, 0xbb, 0x32, 0x55, 0xa9, 0x11, 0xc8, 0xf6, 0x72, 0xbe, 0xff, 0x85, 0x08, 0x5f, 0xab, 0x0e, - 0x0f, 0x23, 0x68, 0xad, 0x41, 0xcb, 0x6e, 0x82, 0x80, 0x56, 0x08, 0x53, 0x32, 0xf4, 0xef, 0xcd, - 0x35, 0x80, 0x26, 0xc3, 0xd5, 0x52, 0x1f, 0x2a, 0x56, 0x55, 0x51, 0x10, 0xac, 0x61, 0xd9, 0x3f, - 0x54, 0x80, 0x71, 0x19, 0x38, 0x95, 0xde, 0xe3, 0xfb, 0xb7, 0x72, 0xa2, 0xac, 0x09, 0x2c, 0x57, - 0x28, 0x25, 0xac, 0x82, 0xeb, 0xeb, 0xb9, 0x42, 0x25, 0x00, 0x27, 0x38, 0xe8, 0x39, 0x18, 0x8d, - 0x3a, 0x5b, 0x0c, 0x3d, 0x65, 0x44, 0x5f, 0xe7, 0xc5, 0x58, 0xc2, 0xd1, 0x97, 0x60, 0x86, 0xd7, - 0x0b, 0x83, 0xb6, 0xd3, 0xe2, 0x1a, 0xa4, 0x61, 0xe5, 0xd5, 0x36, 0xb3, 0x9e, 0x82, 0x1d, 0x1f, - 0xce, 0x9f, 0x4f, 0x97, 0x31, 0xdd, 0x63, 0x17, 0x15, 0xfb, 0xab, 0x80, 0xba, 0x63, 0xc1, 0xa2, - 0xb7, 0xb9, 0x99, 0x84, 0x1b, 0x92, 0x66, 0x2f, 0xa5, 0xa2, 0xee, 0x84, 0x25, 0x0d, 0x59, 0x79, - 0x2d, 0xac, 0xea, 0xd3, 0x9d, 0x37, 0x93, 0x76, 0xc9, 0x41, 0x37, 0x60, 0x84, 0x33, 0x55, 0x41, - 0xbe, 0xc7, 0x9b, 0x95, 0xe6, 0xc8, 0xc3, 0x02, 0xd5, 0x0b, 0xbe, 0x2c, 0xea, 0xa3, 0xf7, 0x60, - 0xbc, 0x19, 0xdc, 0xf7, 0xef, 0x3b, 0x61, 0x73, 0xa9, 0x56, 0x15, 0xeb, 0x32, 0x53, 0x36, 0xab, - 0x24, 0x68, 0xba, 0x73, 0x10, 0xd3, 0xcf, 0x26, 0x20, 0xac, 0x93, 0x43, 0x9b, 0x2c, 0xbe, 0xd5, - 0xb6, 0xdb, 0x5a, 0x77, 0xda, 0xbd, 0xec, 0xda, 0x56, 0x24, 0x92, 0x46, 0x79, 0x52, 0x04, 0xc1, - 0xe2, 0x00, 0x9c, 0x10, 0xb2, 0xbf, 0x76, 0x0e, 0x8c, 0xfd, 0x60, 0xe4, 0x65, 0xb0, 0x4e, 0x29, - 0x2f, 0x03, 0x86, 0x31, 0xb2, 0xd7, 0x8e, 0x0f, 0x2a, 0x6e, 0xd8, 0x2b, 0xb1, 0xcf, 0xaa, 0xc0, - 0xe9, 0xa6, 0x29, 0x21, 0x58, 0xd1, 0xc9, 0x4e, 0x9e, 0x51, 0xfc, 0x18, 0x93, 0x67, 0x0c, 0x9d, - 0x61, 0xf2, 0x8c, 0x0d, 0x18, 0x6d, 0xb9, 0x31, 0x26, 0xed, 0x40, 0x08, 0x14, 0x99, 0x2b, 0xe1, - 0x3a, 0x47, 0xe9, 0x0e, 0xdd, 0x2e, 0x00, 0x58, 0x12, 0x41, 0x6f, 0xab, 0x3d, 0x30, 0x92, 0x2f, - 0x8f, 0x77, 0x3f, 0x6f, 0x64, 0xee, 0x02, 0x91, 0x2c, 0x63, 0xf4, 0x61, 0x93, 0x65, 0xac, 0xc9, - 0x14, 0x17, 0x63, 0xf9, 0x66, 0xa0, 0x2c, 0x83, 0x45, 0x9f, 0xc4, 0x16, 0x46, 0x32, 0x90, 0xd2, - 0xe9, 0x25, 0x03, 0xf9, 0x7e, 0x0b, 0x2e, 0xb4, 0xb3, 0xf2, 0xe2, 0x88, 0x14, 0x15, 0xaf, 0x0d, - 0x9c, 0xf8, 0xc7, 0x68, 0x90, 0x5d, 0xcc, 0x32, 0xd1, 0x70, 0x76, 0x73, 0x74, 0xa0, 0xc3, 0xad, - 0xa6, 0xc8, 0x6b, 0xf1, 0x4c, 0x4e, 0x56, 0x91, 0x1e, 0xb9, 0x44, 0x36, 0x33, 0x72, 0x59, 0x7c, - 0x3a, 0x2f, 0x97, 0xc5, 0xc0, 0x19, 0x2c, 0x92, 0x7c, 0x22, 0x93, 0x1f, 0x39, 0x9f, 0xc8, 0xdb, - 0x2a, 0x9f, 0x48, 0x8f, 0x28, 0x42, 0x3c, 0x5b, 0x48, 0xdf, 0x2c, 0x22, 0x5a, 0x26, 0x90, 0xe9, - 0xd3, 0xc9, 0x04, 0x62, 0x30, 0x7b, 0x9e, 0x8c, 0xe2, 0x85, 0x3e, 0xcc, 0xde, 0xa0, 0xdb, 0x9b, - 0xdd, 0xf3, 0xac, 0x27, 0xb3, 0x0f, 0x95, 0xf5, 0xe4, 0xae, 0x9e, 0x45, 0x04, 0xf5, 0x49, 0x93, - 0x41, 0x91, 0x06, 0xcc, 0x1d, 0x72, 0x57, 0x3f, 0x82, 0xce, 0xe5, 0xd3, 0x55, 0x27, 0x4d, 0x37, - 0xdd, 0xac, 0x43, 0xa8, 0x3b, 0x27, 0xc9, 0xf9, 0xb3, 0xc9, 0x49, 0x72, 0xe1, 0xd4, 0x73, 0x92, - 0x3c, 0x76, 0x06, 0x39, 0x49, 0x1e, 0xff, 0x58, 0x73, 0x92, 0x94, 0x1f, 0x41, 0x4e, 0x92, 0x8d, - 0x24, 0x27, 0xc9, 0xc5, 0xfc, 0x29, 0xc9, 0xb0, 0x7b, 0xcb, 0xc9, 0x44, 0x72, 0x17, 0x4a, 0x6d, - 0xe9, 0xb5, 0x2d, 0xc2, 0x1c, 0x65, 0x27, 0x43, 0xcc, 0x72, 0xed, 0xe6, 0x53, 0xa2, 0x40, 0x38, - 0x21, 0x45, 0xe9, 0x26, 0x99, 0x49, 0x9e, 0xe8, 0xa1, 0x7a, 0xcb, 0x52, 0x6a, 0xe4, 0xe7, 0x23, - 0xb1, 0xff, 0x7a, 0x01, 0x2e, 0xf5, 0x5e, 0xd7, 0x89, 0x46, 0xa4, 0x96, 0x68, 0xf0, 0x53, 0x1a, - 0x11, 0x7e, 0xcd, 0x48, 0xb0, 0x06, 0x0e, 0x6d, 0x71, 0x1d, 0x66, 0x95, 0xc1, 0x9b, 0xe7, 0x36, - 0x0e, 0xb4, 0x24, 0x89, 0xca, 0xf9, 0xa6, 0x9e, 0x46, 0xc0, 0xdd, 0x75, 0xd0, 0x12, 0x4c, 0x1b, - 0x85, 0xd5, 0x8a, 0xb8, 0x4e, 0x28, 0x15, 0x4c, 0xdd, 0x04, 0xe3, 0x34, 0xbe, 0xfd, 0x0d, 0x0b, - 0x1e, 0xcf, 0x09, 0xd7, 0x3d, 0x70, 0xe4, 0x86, 0x6d, 0x98, 0x6e, 0x9b, 0x55, 0xfb, 0x04, 0x78, - 0x31, 0x82, 0x82, 0xab, 0xbe, 0xa6, 0x00, 0x38, 0x4d, 0x74, 0xf9, 0xea, 0x6f, 0xfc, 0xc1, 0xa5, - 0x4f, 0xfd, 0xf6, 0x1f, 0x5c, 0xfa, 0xd4, 0xef, 0xfe, 0xc1, 0xa5, 0x4f, 0xfd, 0xff, 0x47, 0x97, - 0xac, 0xdf, 0x38, 0xba, 0x64, 0xfd, 0xf6, 0xd1, 0x25, 0xeb, 0x77, 0x8f, 0x2e, 0x59, 0xbf, 0x7f, - 0x74, 0xc9, 0xfa, 0xfa, 0x1f, 0x5e, 0xfa, 0xd4, 0xbb, 0x85, 0xfd, 0x97, 0xff, 0x5f, 0x00, 0x00, - 0x00, 0xff, 0xff, 0x5a, 0xde, 0x98, 0x2f, 0xbf, 0xe1, 0x00, 0x00, + // 12646 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xec, 0xbd, 0x5b, 0x70, 0x24, 0x47, + 0x76, 0x18, 0xba, 0xd5, 0x8d, 0x57, 0x1f, 0xbc, 0x73, 0x66, 0x48, 0x0c, 0x48, 0x4e, 0x0f, 0x8b, + 0xbb, 0xc3, 0xe1, 0x0b, 0x58, 0x0e, 0xc9, 0x25, 0xb5, 0xdc, 0xa5, 0x04, 0xa0, 0x81, 0x99, 0xe6, + 0x0c, 0x30, 0xcd, 0x6c, 0xcc, 0xcc, 0x2e, 0x45, 0xed, 0xdd, 0x42, 0x77, 0xa2, 0x51, 0x44, 0xa1, + 0xaa, 0x59, 0x55, 0x8d, 0x19, 0x30, 0xa4, 0x88, 0x7b, 0x57, 0x8f, 0x7b, 0xf5, 0xf8, 0xd8, 0xb8, + 0x52, 0xd8, 0xb2, 0xa4, 0x90, 0x23, 0x6c, 0x39, 0xa4, 0xb5, 0x6c, 0x47, 0xc8, 0x92, 0x25, 0x59, + 0x92, 0x6d, 0x59, 0x76, 0x38, 0xa4, 0x1f, 0x59, 0xf2, 0xcf, 0x2a, 0x42, 0x61, 0x58, 0x82, 0x14, + 0x76, 0xe8, 0xc3, 0x0e, 0x87, 0xf5, 0x25, 0x58, 0xb6, 0x1c, 0xf9, 0xac, 0xcc, 0xea, 0xaa, 0xee, + 0xc6, 0x10, 0x03, 0x52, 0x8a, 0xfd, 0xeb, 0xce, 0x73, 0xf2, 0x64, 0x56, 0x3e, 0x4e, 0x9e, 0x3c, + 0x79, 0x1e, 0xf0, 0xe6, 0xee, 0x1b, 0xd1, 0x82, 0x1b, 0x2c, 0xee, 0x76, 0xb6, 0x48, 0xe8, 0x93, + 0x98, 0x44, 0x8b, 0xfb, 0xc4, 0x6f, 0x06, 0xe1, 0xa2, 0x00, 0x38, 0x6d, 0x77, 0xb1, 0x11, 0x84, + 0x64, 0x71, 0xff, 0xe5, 0xc5, 0x16, 0xf1, 0x49, 0xe8, 0xc4, 0xa4, 0xb9, 0xd0, 0x0e, 0x83, 0x38, + 0x40, 0x88, 0xe3, 0x2c, 0x38, 0x6d, 0x77, 0x81, 0xe2, 0x2c, 0xec, 0xbf, 0x3c, 0xff, 0x52, 0xcb, + 0x8d, 0x77, 0x3a, 0x5b, 0x0b, 0x8d, 0x60, 0x6f, 0xb1, 0x15, 0xb4, 0x82, 0x45, 0x86, 0xba, 0xd5, + 0xd9, 0x66, 0xff, 0xd8, 0x1f, 0xf6, 0x8b, 0x93, 0x98, 0x5f, 0x4f, 0x9a, 0x21, 0x0f, 0x62, 0xe2, + 0x47, 0x6e, 0xe0, 0x47, 0x2f, 0x39, 0x6d, 0x37, 0x22, 0xe1, 0x3e, 0x09, 0x17, 0xdb, 0xbb, 0x2d, + 0x0a, 0x8b, 0x4c, 0x84, 0xc5, 0xfd, 0x97, 0xb7, 0x48, 0xec, 0x74, 0xf5, 0x68, 0xfe, 0xd5, 0x84, + 0xdc, 0x9e, 0xd3, 0xd8, 0x71, 0x7d, 0x12, 0x1e, 0x48, 0x1a, 0x8b, 0x21, 0x89, 0x82, 0x4e, 0xd8, + 0x20, 0x27, 0xaa, 0x15, 0x2d, 0xee, 0x91, 0xd8, 0xc9, 0xf8, 0xfa, 0xf9, 0xc5, 0xbc, 0x5a, 0x61, + 0xc7, 0x8f, 0xdd, 0xbd, 0xee, 0x66, 0x3e, 0xd7, 0xaf, 0x42, 0xd4, 0xd8, 0x21, 0x7b, 0x4e, 0x57, + 0xbd, 0x57, 0xf2, 0xea, 0x75, 0x62, 0xd7, 0x5b, 0x74, 0xfd, 0x38, 0x8a, 0xc3, 0x74, 0x25, 0xfb, + 0x9b, 0x16, 0x5c, 0x5e, 0xba, 0x57, 0x5f, 0xf5, 0x9c, 0x28, 0x76, 0x1b, 0xcb, 0x5e, 0xd0, 0xd8, + 0xad, 0xc7, 0x41, 0x48, 0xee, 0x06, 0x5e, 0x67, 0x8f, 0xd4, 0xd9, 0x40, 0xa0, 0x17, 0x61, 0x6c, + 0x9f, 0xfd, 0xaf, 0x56, 0xe6, 0xac, 0xcb, 0xd6, 0xd5, 0xd2, 0xf2, 0xcc, 0x6f, 0x1f, 0x96, 0x3f, + 0x75, 0x74, 0x58, 0x1e, 0xbb, 0x2b, 0xca, 0xb1, 0xc2, 0x40, 0x57, 0x60, 0x64, 0x3b, 0xda, 0x3c, + 0x68, 0x93, 0xb9, 0x02, 0xc3, 0x9d, 0x12, 0xb8, 0x23, 0x6b, 0x75, 0x5a, 0x8a, 0x05, 0x14, 0x2d, + 0x42, 0xa9, 0xed, 0x84, 0xb1, 0x1b, 0xbb, 0x81, 0x3f, 0x57, 0xbc, 0x6c, 0x5d, 0x1d, 0x5e, 0x9e, + 0x15, 0xa8, 0xa5, 0x9a, 0x04, 0xe0, 0x04, 0x87, 0x76, 0x23, 0x24, 0x4e, 0xf3, 0xb6, 0xef, 0x1d, + 0xcc, 0x0d, 0x5d, 0xb6, 0xae, 0x8e, 0x25, 0xdd, 0xc0, 0xa2, 0x1c, 0x2b, 0x0c, 0xfb, 0x27, 0x0a, + 0x30, 0xb6, 0xb4, 0xbd, 0xed, 0xfa, 0x6e, 0x7c, 0x80, 0xee, 0xc2, 0x84, 0x1f, 0x34, 0x89, 0xfc, + 0xcf, 0xbe, 0x62, 0xfc, 0xda, 0xe5, 0x85, 0xee, 0x95, 0xb9, 0xb0, 0xa1, 0xe1, 0x2d, 0xcf, 0x1c, + 0x1d, 0x96, 0x27, 0xf4, 0x12, 0x6c, 0xd0, 0x41, 0x18, 0xc6, 0xdb, 0x41, 0x53, 0x91, 0x2d, 0x30, + 0xb2, 0xe5, 0x2c, 0xb2, 0xb5, 0x04, 0x6d, 0x79, 0xfa, 0xe8, 0xb0, 0x3c, 0xae, 0x15, 0x60, 0x9d, + 0x08, 0xda, 0x82, 0x69, 0xfa, 0xd7, 0x8f, 0x5d, 0x45, 0xb7, 0xc8, 0xe8, 0x3e, 0x93, 0x47, 0x57, + 0x43, 0x5d, 0x3e, 0x77, 0x74, 0x58, 0x9e, 0x4e, 0x15, 0xe2, 0x34, 0x41, 0xfb, 0x43, 0x98, 0x5a, + 0x8a, 0x63, 0xa7, 0xb1, 0x43, 0x9a, 0x7c, 0x06, 0xd1, 0xab, 0x30, 0xe4, 0x3b, 0x7b, 0x44, 0xcc, + 0xef, 0x65, 0x31, 0xb0, 0x43, 0x1b, 0xce, 0x1e, 0x39, 0x3e, 0x2c, 0xcf, 0xdc, 0xf1, 0xdd, 0x0f, + 0x3a, 0x62, 0x55, 0xd0, 0x32, 0xcc, 0xb0, 0xd1, 0x35, 0x80, 0x26, 0xd9, 0x77, 0x1b, 0xa4, 0xe6, + 0xc4, 0x3b, 0x62, 0xbe, 0x91, 0xa8, 0x0b, 0x15, 0x05, 0xc1, 0x1a, 0x96, 0xfd, 0x00, 0x4a, 0x4b, + 0xfb, 0x81, 0xdb, 0xac, 0x05, 0xcd, 0x08, 0xed, 0xc2, 0x74, 0x3b, 0x24, 0xdb, 0x24, 0x54, 0x45, + 0x73, 0xd6, 0xe5, 0xe2, 0xd5, 0xf1, 0x6b, 0x57, 0x33, 0x3f, 0xd6, 0x44, 0x5d, 0xf5, 0xe3, 0xf0, + 0x60, 0xf9, 0x71, 0xd1, 0xde, 0x74, 0x0a, 0x8a, 0xd3, 0x94, 0xed, 0x7f, 0x5b, 0x80, 0x0b, 0x4b, + 0x1f, 0x76, 0x42, 0x52, 0x71, 0xa3, 0xdd, 0xf4, 0x0a, 0x6f, 0xba, 0xd1, 0xee, 0x46, 0x32, 0x02, + 0x6a, 0x69, 0x55, 0x44, 0x39, 0x56, 0x18, 0xe8, 0x25, 0x18, 0xa5, 0xbf, 0xef, 0xe0, 0xaa, 0xf8, + 0xe4, 0x73, 0x02, 0x79, 0xbc, 0xe2, 0xc4, 0x4e, 0x85, 0x83, 0xb0, 0xc4, 0x41, 0xeb, 0x30, 0xde, + 0x60, 0x1b, 0xb2, 0xb5, 0x1e, 0x34, 0x09, 0x9b, 0xcc, 0xd2, 0xf2, 0x0b, 0x14, 0x7d, 0x25, 0x29, + 0x3e, 0x3e, 0x2c, 0xcf, 0xf1, 0xbe, 0x09, 0x12, 0x1a, 0x0c, 0xeb, 0xf5, 0x91, 0xad, 0xf6, 0xd7, + 0x10, 0xa3, 0x04, 0x19, 0x7b, 0xeb, 0xaa, 0xb6, 0x55, 0x86, 0xd9, 0x56, 0x99, 0xc8, 0xde, 0x26, + 0xe8, 0x65, 0x18, 0xda, 0x75, 0xfd, 0xe6, 0xdc, 0x08, 0xa3, 0xf5, 0x14, 0x9d, 0xf3, 0x9b, 0xae, + 0xdf, 0x3c, 0x3e, 0x2c, 0xcf, 0x1a, 0xdd, 0xa1, 0x85, 0x98, 0xa1, 0xda, 0x7f, 0x6e, 0x41, 0x99, + 0xc1, 0xd6, 0x5c, 0x8f, 0xd4, 0x48, 0x18, 0xb9, 0x51, 0x4c, 0xfc, 0xd8, 0x18, 0xd0, 0x6b, 0x00, + 0x11, 0x69, 0x84, 0x24, 0xd6, 0x86, 0x54, 0x2d, 0x8c, 0xba, 0x82, 0x60, 0x0d, 0x8b, 0x32, 0x84, + 0x68, 0xc7, 0x09, 0xd9, 0xfa, 0x12, 0x03, 0xab, 0x18, 0x42, 0x5d, 0x02, 0x70, 0x82, 0x63, 0x30, + 0x84, 0x62, 0x3f, 0x86, 0x80, 0xbe, 0x08, 0xd3, 0x49, 0x63, 0x51, 0xdb, 0x69, 0xc8, 0x01, 0x64, + 0x5b, 0xa6, 0x6e, 0x82, 0x70, 0x1a, 0xd7, 0xfe, 0x87, 0x96, 0x58, 0x3c, 0xf4, 0xab, 0x3f, 0xe1, + 0xdf, 0x6a, 0xff, 0xaa, 0x05, 0xa3, 0xcb, 0xae, 0xdf, 0x74, 0xfd, 0x16, 0xfa, 0x2a, 0x8c, 0xd1, + 0xb3, 0xa9, 0xe9, 0xc4, 0x8e, 0xe0, 0x7b, 0x9f, 0xd5, 0xf6, 0x96, 0x3a, 0x2a, 0x16, 0xda, 0xbb, + 0x2d, 0x5a, 0x10, 0x2d, 0x50, 0x6c, 0xba, 0xdb, 0x6e, 0x6f, 0xbd, 0x4f, 0x1a, 0xf1, 0x3a, 0x89, + 0x9d, 0xe4, 0x73, 0x92, 0x32, 0xac, 0xa8, 0xa2, 0x9b, 0x30, 0x12, 0x3b, 0x61, 0x8b, 0xc4, 0x82, + 0x01, 0x66, 0x32, 0x2a, 0x5e, 0x13, 0xd3, 0x1d, 0x49, 0xfc, 0x06, 0x49, 0x8e, 0x85, 0x4d, 0x56, + 0x15, 0x0b, 0x12, 0xf6, 0x0f, 0x8d, 0xc0, 0xc5, 0x95, 0x7a, 0x35, 0x67, 0x5d, 0x5d, 0x81, 0x91, + 0x66, 0xe8, 0xee, 0x93, 0x50, 0x8c, 0xb3, 0xa2, 0x52, 0x61, 0xa5, 0x58, 0x40, 0xd1, 0x1b, 0x30, + 0xc1, 0x0f, 0xa4, 0x1b, 0x8e, 0xdf, 0xf4, 0xe4, 0x10, 0x9f, 0x17, 0xd8, 0x13, 0x77, 0x35, 0x18, + 0x36, 0x30, 0x4f, 0xb8, 0xa8, 0xae, 0xa4, 0x36, 0x63, 0xde, 0x61, 0xf7, 0x83, 0x16, 0xcc, 0xf0, + 0x66, 0x96, 0xe2, 0x38, 0x74, 0xb7, 0x3a, 0x31, 0x89, 0xe6, 0x86, 0x19, 0xa7, 0x5b, 0xc9, 0x1a, + 0xad, 0xdc, 0x11, 0x58, 0xb8, 0x9b, 0xa2, 0xc2, 0x99, 0xe0, 0x9c, 0x68, 0x77, 0x26, 0x0d, 0xc6, + 0x5d, 0xcd, 0xa2, 0xef, 0xb5, 0x60, 0xbe, 0x11, 0xf8, 0x71, 0x18, 0x78, 0x1e, 0x09, 0x6b, 0x9d, + 0x2d, 0xcf, 0x8d, 0x76, 0xf8, 0x3a, 0xc5, 0x64, 0x9b, 0x71, 0x82, 0x9c, 0x39, 0x54, 0x48, 0x62, + 0x0e, 0x2f, 0x1d, 0x1d, 0x96, 0xe7, 0x57, 0x72, 0x49, 0xe1, 0x1e, 0xcd, 0xa0, 0x5d, 0x40, 0xf4, + 0x28, 0xad, 0xc7, 0x4e, 0x8b, 0x24, 0x8d, 0x8f, 0x0e, 0xde, 0xf8, 0x63, 0x47, 0x87, 0x65, 0xb4, + 0xd1, 0x45, 0x02, 0x67, 0x90, 0x45, 0x1f, 0xc0, 0x79, 0x5a, 0xda, 0xf5, 0xad, 0x63, 0x83, 0x37, + 0x37, 0x77, 0x74, 0x58, 0x3e, 0xbf, 0x91, 0x41, 0x04, 0x67, 0x92, 0x9e, 0x5f, 0x81, 0x0b, 0x99, + 0x53, 0x85, 0x66, 0xa0, 0xb8, 0x4b, 0xb8, 0x08, 0x52, 0xc2, 0xf4, 0x27, 0x3a, 0x0f, 0xc3, 0xfb, + 0x8e, 0xd7, 0x11, 0xab, 0x14, 0xf3, 0x3f, 0x9f, 0x2f, 0xbc, 0x61, 0xd9, 0x0d, 0x98, 0x58, 0x71, + 0xda, 0xce, 0x96, 0xeb, 0xb9, 0xb1, 0x4b, 0x22, 0xf4, 0x2c, 0x14, 0x9d, 0x66, 0x93, 0x1d, 0x91, + 0xa5, 0xe5, 0x0b, 0x47, 0x87, 0xe5, 0xe2, 0x52, 0x93, 0xf2, 0x6a, 0x50, 0x58, 0x07, 0x98, 0x62, + 0xa0, 0xe7, 0x61, 0xa8, 0x19, 0x06, 0xed, 0xb9, 0x02, 0xc3, 0xa4, 0x43, 0x35, 0x54, 0x09, 0x83, + 0x76, 0x0a, 0x95, 0xe1, 0xd8, 0xbf, 0x59, 0x80, 0x27, 0x57, 0x48, 0x7b, 0x67, 0xad, 0x9e, 0xb3, + 0xe9, 0xae, 0xc2, 0xd8, 0x5e, 0xe0, 0xbb, 0x71, 0x10, 0x46, 0xa2, 0x69, 0x76, 0x9a, 0xac, 0x8b, + 0x32, 0xac, 0xa0, 0xe8, 0x32, 0x0c, 0xb5, 0x13, 0x49, 0x60, 0x42, 0x4a, 0x11, 0x4c, 0x06, 0x60, + 0x10, 0x8a, 0xd1, 0x89, 0x48, 0x28, 0x4e, 0x41, 0x85, 0x71, 0x27, 0x22, 0x21, 0x66, 0x90, 0x84, + 0x9d, 0x52, 0x46, 0x2b, 0xb6, 0x55, 0x8a, 0x9d, 0x52, 0x08, 0xd6, 0xb0, 0x50, 0x0d, 0x4a, 0x91, + 0x9a, 0xd4, 0xe1, 0xc1, 0x27, 0x75, 0x92, 0xf1, 0x5b, 0x35, 0x93, 0x09, 0x11, 0x83, 0x0d, 0x8c, + 0xf4, 0xe5, 0xb7, 0xbf, 0x5e, 0x00, 0xc4, 0x87, 0xf0, 0xaf, 0xd9, 0xc0, 0xdd, 0xe9, 0x1e, 0xb8, + 0x4c, 0xc9, 0xeb, 0x56, 0xd0, 0x70, 0xbc, 0x34, 0x0b, 0x3f, 0xad, 0xd1, 0xfb, 0x71, 0x0b, 0xd0, + 0x8a, 0xeb, 0x37, 0x49, 0x78, 0x06, 0xd7, 0x8e, 0x93, 0x1d, 0xa4, 0xb7, 0x60, 0x6a, 0xc5, 0x73, + 0x89, 0x1f, 0x57, 0x6b, 0x2b, 0x81, 0xbf, 0xed, 0xb6, 0xd0, 0xe7, 0x61, 0x8a, 0xde, 0xc2, 0x82, + 0x4e, 0x5c, 0x27, 0x8d, 0xc0, 0x67, 0x02, 0x2b, 0xbd, 0xbb, 0xa0, 0xa3, 0xc3, 0xf2, 0xd4, 0xa6, + 0x01, 0xc1, 0x29, 0x4c, 0xfb, 0x0f, 0xe9, 0x87, 0x06, 0x7b, 0xed, 0xc0, 0x27, 0x7e, 0xbc, 0x12, + 0xf8, 0x4d, 0x7e, 0xb1, 0xf9, 0x3c, 0x0c, 0xc5, 0xb4, 0xe3, 0xfc, 0x23, 0xaf, 0xc8, 0xa9, 0xa5, + 0xdd, 0x3d, 0x3e, 0x2c, 0x3f, 0xd6, 0x5d, 0x83, 0x7d, 0x10, 0xab, 0x83, 0xbe, 0x0d, 0x46, 0xa2, + 0xd8, 0x89, 0x3b, 0x91, 0xf8, 0xec, 0xa7, 0xe5, 0x67, 0xd7, 0x59, 0xe9, 0xf1, 0x61, 0x79, 0x5a, + 0x55, 0xe3, 0x45, 0x58, 0x54, 0x40, 0xcf, 0xc1, 0xe8, 0x1e, 0x89, 0x22, 0xa7, 0x25, 0x65, 0xd2, + 0x69, 0x51, 0x77, 0x74, 0x9d, 0x17, 0x63, 0x09, 0x47, 0xcf, 0xc0, 0x30, 0x09, 0xc3, 0x20, 0x14, + 0xab, 0x6a, 0x52, 0x20, 0x0e, 0xaf, 0xd2, 0x42, 0xcc, 0x61, 0xf6, 0xbf, 0xb7, 0x60, 0x5a, 0xf5, + 0x95, 0xb7, 0x75, 0x06, 0xc2, 0xc7, 0xbb, 0x00, 0x0d, 0xf9, 0x81, 0x11, 0xe3, 0x77, 0xe3, 0xd7, + 0xae, 0x64, 0x1e, 0xa9, 0x5d, 0xc3, 0x98, 0x50, 0x56, 0x45, 0x11, 0xd6, 0xa8, 0xd9, 0xff, 0xc2, + 0x82, 0x73, 0xa9, 0x2f, 0xba, 0xe5, 0x46, 0x31, 0x7a, 0xaf, 0xeb, 0xab, 0x16, 0x06, 0xfb, 0x2a, + 0x5a, 0x9b, 0x7d, 0x93, 0x5a, 0x73, 0xb2, 0x44, 0xfb, 0xa2, 0x1b, 0x30, 0xec, 0xc6, 0x64, 0x4f, + 0x7e, 0xcc, 0x33, 0x3d, 0x3f, 0x86, 0xf7, 0x2a, 0x99, 0x91, 0x2a, 0xad, 0x89, 0x39, 0x01, 0xfb, + 0x47, 0x8b, 0x50, 0xe2, 0xcb, 0x76, 0xdd, 0x69, 0x9f, 0xc1, 0x5c, 0x54, 0x61, 0x88, 0x51, 0xe7, + 0x1d, 0x7f, 0x36, 0xbb, 0xe3, 0xa2, 0x3b, 0x0b, 0xf4, 0x66, 0xc1, 0x85, 0x17, 0xc5, 0xcc, 0x68, + 0x11, 0x66, 0x24, 0x90, 0x03, 0xb0, 0xe5, 0xfa, 0x4e, 0x78, 0x40, 0xcb, 0xe6, 0x8a, 0x8c, 0xe0, + 0x4b, 0xbd, 0x09, 0x2e, 0x2b, 0x7c, 0x4e, 0x56, 0xf5, 0x35, 0x01, 0x60, 0x8d, 0xe8, 0xfc, 0xeb, + 0x50, 0x52, 0xc8, 0x27, 0x39, 0x95, 0xe7, 0xbf, 0x08, 0xd3, 0xa9, 0xb6, 0xfa, 0x55, 0x9f, 0xd0, + 0x0f, 0xf5, 0x5f, 0x63, 0x5c, 0x40, 0xf4, 0x7a, 0xd5, 0xdf, 0x17, 0xec, 0xee, 0x43, 0x38, 0xef, + 0x65, 0x70, 0x59, 0x31, 0x55, 0x83, 0x73, 0xe5, 0x27, 0xc5, 0x67, 0x9f, 0xcf, 0x82, 0xe2, 0xcc, + 0x36, 0xe8, 0x41, 0x15, 0xb4, 0xe9, 0x9a, 0x77, 0x3c, 0xd6, 0x5f, 0x71, 0x5f, 0xbc, 0x2d, 0xca, + 0xb0, 0x82, 0x52, 0x16, 0x76, 0x5e, 0x75, 0xfe, 0x26, 0x39, 0xa8, 0x13, 0x8f, 0x34, 0xe2, 0x20, + 0xfc, 0x58, 0xbb, 0xff, 0x14, 0x1f, 0x7d, 0xce, 0x01, 0xc7, 0x05, 0x81, 0xe2, 0x4d, 0x72, 0xc0, + 0xa7, 0x42, 0xff, 0xba, 0x62, 0xcf, 0xaf, 0xfb, 0x05, 0x0b, 0x26, 0xd5, 0xd7, 0x9d, 0xc1, 0x56, + 0x5f, 0x36, 0xb7, 0xfa, 0x53, 0x3d, 0x17, 0x78, 0xce, 0x26, 0xff, 0x2b, 0xc6, 0xa4, 0x04, 0x4e, + 0x2d, 0x0c, 0xe8, 0xd0, 0xd0, 0x53, 0xe5, 0xe3, 0x9c, 0x90, 0x41, 0xbe, 0xeb, 0x26, 0x39, 0xd8, + 0x0c, 0xa8, 0x80, 0x93, 0xfd, 0x5d, 0xc6, 0xac, 0x0d, 0xf5, 0x9c, 0xb5, 0x5f, 0x2a, 0xc0, 0x05, + 0x35, 0x02, 0x86, 0x08, 0xf1, 0xd7, 0x7d, 0x0c, 0x5e, 0x86, 0xf1, 0x26, 0xd9, 0x76, 0x3a, 0x5e, + 0xac, 0x54, 0x47, 0xc3, 0x5c, 0x7d, 0x58, 0x49, 0x8a, 0xb1, 0x8e, 0x73, 0x82, 0x61, 0xfb, 0x99, + 0x71, 0x76, 0x3a, 0xc4, 0x0e, 0x5d, 0xc1, 0x54, 0xbe, 0xd4, 0x14, 0x80, 0x13, 0xba, 0x02, 0x50, + 0x28, 0xfb, 0x9e, 0x81, 0x61, 0x77, 0x8f, 0x4a, 0x0b, 0x05, 0x53, 0x08, 0xa8, 0xd2, 0x42, 0xcc, + 0x61, 0xe8, 0x33, 0x30, 0xda, 0x08, 0xf6, 0xf6, 0x1c, 0xbf, 0xc9, 0x98, 0x76, 0x69, 0x79, 0x9c, + 0x0a, 0x14, 0x2b, 0xbc, 0x08, 0x4b, 0x18, 0x7a, 0x12, 0x86, 0x9c, 0xb0, 0x15, 0xcd, 0x0d, 0x31, + 0x9c, 0x31, 0xda, 0xd2, 0x52, 0xd8, 0x8a, 0x30, 0x2b, 0xa5, 0x92, 0xec, 0xfd, 0x20, 0xdc, 0x75, + 0xfd, 0x56, 0xc5, 0x0d, 0x99, 0x58, 0xaa, 0x49, 0xb2, 0xf7, 0x14, 0x04, 0x6b, 0x58, 0x68, 0x0d, + 0x86, 0xdb, 0x41, 0x18, 0x47, 0x73, 0x23, 0x6c, 0xb8, 0x9f, 0xce, 0xd9, 0x4a, 0xfc, 0x6b, 0x6b, + 0x41, 0x18, 0x27, 0x1f, 0x40, 0xff, 0x45, 0x98, 0x57, 0x47, 0xdf, 0x06, 0x45, 0xe2, 0xef, 0xcf, + 0x8d, 0x32, 0x2a, 0xf3, 0x59, 0x54, 0x56, 0xfd, 0xfd, 0xbb, 0x4e, 0x98, 0xf0, 0x99, 0x55, 0x7f, + 0x1f, 0xd3, 0x3a, 0xe8, 0xcb, 0x50, 0x92, 0x8f, 0x07, 0x91, 0xb8, 0x5a, 0x66, 0x2e, 0x31, 0x2c, + 0x90, 0x30, 0xf9, 0xa0, 0xe3, 0x86, 0x64, 0x8f, 0xf8, 0x71, 0x94, 0xa8, 0x7f, 0x24, 0x34, 0xc2, + 0x09, 0x35, 0xf4, 0x65, 0xa9, 0xcf, 0x58, 0x0f, 0x3a, 0x7e, 0x1c, 0xcd, 0x95, 0x58, 0xf7, 0x32, + 0x35, 0xcd, 0x77, 0x13, 0xbc, 0xb4, 0xc2, 0x83, 0x57, 0xc6, 0x06, 0x29, 0x84, 0x61, 0xd2, 0x73, + 0xf7, 0x89, 0x4f, 0xa2, 0xa8, 0x16, 0x06, 0x5b, 0x64, 0x0e, 0x58, 0xcf, 0x2f, 0x66, 0x2b, 0x60, + 0x83, 0x2d, 0xb2, 0x3c, 0x7b, 0x74, 0x58, 0x9e, 0xbc, 0xa5, 0xd7, 0xc1, 0x26, 0x09, 0x74, 0x07, + 0xa6, 0xa8, 0x08, 0xed, 0x26, 0x44, 0xc7, 0xfb, 0x11, 0x65, 0xf2, 0x33, 0x36, 0x2a, 0xe1, 0x14, + 0x11, 0xf4, 0x36, 0x94, 0x3c, 0x77, 0x9b, 0x34, 0x0e, 0x1a, 0x1e, 0x99, 0x9b, 0x60, 0x14, 0x33, + 0xb7, 0xd5, 0x2d, 0x89, 0xc4, 0xaf, 0x28, 0xea, 0x2f, 0x4e, 0xaa, 0xa3, 0xbb, 0xf0, 0x58, 0x4c, + 0xc2, 0x3d, 0xd7, 0x77, 0xe8, 0x76, 0x10, 0x12, 0x2f, 0x53, 0x63, 0x4f, 0xb2, 0xf5, 0x76, 0x49, + 0x0c, 0xdd, 0x63, 0x9b, 0x99, 0x58, 0x38, 0xa7, 0x36, 0xba, 0x0d, 0xd3, 0x6c, 0x27, 0xd4, 0x3a, + 0x9e, 0x57, 0x0b, 0x3c, 0xb7, 0x71, 0x30, 0x37, 0xc5, 0x08, 0x7e, 0x46, 0xea, 0xa9, 0xab, 0x26, + 0x98, 0xde, 0xc9, 0x93, 0x7f, 0x38, 0x5d, 0x1b, 0x6d, 0x31, 0xbd, 0x65, 0x27, 0x74, 0xe3, 0x03, + 0xba, 0x7e, 0xc9, 0x83, 0x78, 0x6e, 0xba, 0xe7, 0x0d, 0x57, 0x47, 0x55, 0xca, 0x4d, 0xbd, 0x10, + 0xa7, 0x09, 0xd2, 0xad, 0x1d, 0xc5, 0x4d, 0xd7, 0x9f, 0x9b, 0x61, 0x1c, 0x43, 0xed, 0x8c, 0x3a, + 0x2d, 0xc4, 0x1c, 0xc6, 0x74, 0x96, 0xf4, 0xc7, 0x6d, 0xca, 0x41, 0x67, 0x19, 0x62, 0xa2, 0xb3, + 0x94, 0x00, 0x9c, 0xe0, 0xd0, 0x63, 0x39, 0x8e, 0x0f, 0xe6, 0x10, 0x43, 0x55, 0xdb, 0x65, 0x73, + 0xf3, 0xcb, 0x98, 0x96, 0xa3, 0x5b, 0x30, 0x4a, 0xfc, 0xfd, 0xb5, 0x30, 0xd8, 0x9b, 0x3b, 0x97, + 0xbf, 0x67, 0x57, 0x39, 0x0a, 0x67, 0xe8, 0xc9, 0x15, 0x45, 0x14, 0x63, 0x49, 0x02, 0x3d, 0x80, + 0xb9, 0x8c, 0x19, 0xe1, 0x13, 0x70, 0x9e, 0x4d, 0xc0, 0x17, 0x44, 0xdd, 0xb9, 0xcd, 0x1c, 0xbc, + 0xe3, 0x1e, 0x30, 0x9c, 0x4b, 0x1d, 0x7d, 0x17, 0x4c, 0xf2, 0x0d, 0xc5, 0x1f, 0x3c, 0xa2, 0xb9, + 0x0b, 0xec, 0x6b, 0x2e, 0xe7, 0x6f, 0x4e, 0x8e, 0xb8, 0x7c, 0x41, 0x74, 0x68, 0x52, 0x2f, 0x8d, + 0xb0, 0x49, 0xcd, 0xde, 0x82, 0x29, 0xc5, 0xb7, 0xd8, 0xd2, 0x41, 0x65, 0x18, 0xa6, 0x0c, 0x59, + 0xea, 0x14, 0x4a, 0x74, 0xa6, 0x98, 0xa2, 0x1a, 0xf3, 0x72, 0x36, 0x53, 0xee, 0x87, 0x64, 0xf9, + 0x20, 0x26, 0xfc, 0x5e, 0x58, 0xd4, 0x66, 0x4a, 0x02, 0x70, 0x82, 0x63, 0xff, 0x6f, 0x2e, 0xf7, + 0x24, 0xcc, 0x71, 0x80, 0xe3, 0xe0, 0x45, 0x18, 0xdb, 0x09, 0xa2, 0x98, 0x62, 0xb3, 0x36, 0x86, + 0x13, 0x49, 0xe7, 0x86, 0x28, 0xc7, 0x0a, 0x03, 0xbd, 0x09, 0x93, 0x0d, 0xbd, 0x01, 0x71, 0x96, + 0xa9, 0x21, 0x30, 0x5a, 0xc7, 0x26, 0x2e, 0x7a, 0x03, 0xc6, 0xd8, 0x73, 0x65, 0x23, 0xf0, 0xc4, + 0x0d, 0x54, 0x1e, 0xc8, 0x63, 0x35, 0x51, 0x7e, 0xac, 0xfd, 0xc6, 0x0a, 0x1b, 0x5d, 0x81, 0x11, + 0xda, 0x85, 0x6a, 0x4d, 0x9c, 0x22, 0x4a, 0x2b, 0x70, 0x83, 0x95, 0x62, 0x01, 0xb5, 0xff, 0xff, + 0x82, 0x36, 0xca, 0xf4, 0x4e, 0x45, 0x50, 0x0d, 0x46, 0xef, 0x3b, 0x6e, 0xec, 0xfa, 0x2d, 0x21, + 0x2e, 0x3c, 0xd7, 0xf3, 0x48, 0x61, 0x95, 0xee, 0xf1, 0x0a, 0xfc, 0xd0, 0x13, 0x7f, 0xb0, 0x24, + 0x43, 0x29, 0x86, 0x1d, 0xdf, 0xa7, 0x14, 0x0b, 0x83, 0x52, 0xc4, 0xbc, 0x02, 0xa7, 0x28, 0xfe, + 0x60, 0x49, 0x06, 0xbd, 0x07, 0x20, 0x97, 0x25, 0x69, 0x8a, 0x67, 0xc2, 0x17, 0xfb, 0x13, 0xdd, + 0x54, 0x75, 0x96, 0xa7, 0xe8, 0x91, 0x9a, 0xfc, 0xc7, 0x1a, 0x3d, 0x3b, 0x66, 0x62, 0x55, 0x77, + 0x67, 0xd0, 0x77, 0x52, 0x4e, 0xe0, 0x84, 0x31, 0x69, 0x2e, 0xc5, 0x62, 0x70, 0x9e, 0x1f, 0x4c, + 0x2a, 0xde, 0x74, 0xf7, 0x88, 0xce, 0x35, 0x04, 0x11, 0x9c, 0xd0, 0xb3, 0x7f, 0xa5, 0x08, 0x73, + 0x79, 0xdd, 0xa5, 0x8b, 0x8e, 0x3c, 0x70, 0xe3, 0x15, 0x2a, 0x0d, 0x59, 0xe6, 0xa2, 0x5b, 0x15, + 0xe5, 0x58, 0x61, 0xd0, 0xd9, 0x8f, 0xdc, 0x96, 0xbc, 0xd4, 0x0c, 0x27, 0xb3, 0x5f, 0x67, 0xa5, + 0x58, 0x40, 0x29, 0x5e, 0x48, 0x9c, 0x48, 0xbc, 0x43, 0x6b, 0xab, 0x04, 0xb3, 0x52, 0x2c, 0xa0, + 0xba, 0xc6, 0x64, 0xa8, 0x8f, 0xc6, 0xc4, 0x18, 0xa2, 0xe1, 0xd3, 0x1d, 0x22, 0xf4, 0x15, 0x80, + 0x6d, 0xd7, 0x77, 0xa3, 0x1d, 0x46, 0x7d, 0xe4, 0xc4, 0xd4, 0x95, 0x2c, 0xb5, 0xa6, 0xa8, 0x60, + 0x8d, 0x22, 0x7a, 0x0d, 0xc6, 0xd5, 0x06, 0xac, 0x56, 0x98, 0x52, 0x5e, 0x7b, 0xe4, 0x4c, 0xb8, + 0x51, 0x05, 0xeb, 0x78, 0xf6, 0xfb, 0xe9, 0xf5, 0x22, 0x76, 0x80, 0x36, 0xbe, 0xd6, 0xa0, 0xe3, + 0x5b, 0xe8, 0x3d, 0xbe, 0xf6, 0x6f, 0x15, 0x61, 0xda, 0x68, 0xac, 0x13, 0x0d, 0xc0, 0xb3, 0xae, + 0xd3, 0x73, 0xce, 0x89, 0x89, 0xd8, 0x7f, 0x76, 0xff, 0xad, 0xa2, 0x9f, 0x85, 0x74, 0x07, 0xf0, + 0xfa, 0xe8, 0x2b, 0x50, 0xf2, 0x9c, 0x88, 0x69, 0x5f, 0x88, 0xd8, 0x77, 0x83, 0x10, 0x4b, 0xee, + 0x11, 0x4e, 0x14, 0x6b, 0x47, 0x0d, 0xa7, 0x9d, 0x90, 0xa4, 0x07, 0x32, 0x95, 0x7d, 0xa4, 0xa1, + 0x83, 0xea, 0x04, 0x15, 0x90, 0x0e, 0x30, 0x87, 0xa1, 0x37, 0x60, 0x22, 0x24, 0x6c, 0x55, 0xac, + 0x50, 0x51, 0x8e, 0x2d, 0xb3, 0xe1, 0x44, 0xe6, 0xc3, 0x1a, 0x0c, 0x1b, 0x98, 0x89, 0x28, 0x3f, + 0xd2, 0x43, 0x94, 0x7f, 0x0e, 0x46, 0xd9, 0x0f, 0xb5, 0x02, 0xd4, 0x6c, 0x54, 0x79, 0x31, 0x96, + 0xf0, 0xf4, 0x82, 0x19, 0x1b, 0x70, 0xc1, 0x3c, 0x0f, 0x53, 0x15, 0x87, 0xec, 0x05, 0xfe, 0xaa, + 0xdf, 0x6c, 0x07, 0xae, 0x1f, 0xa3, 0x39, 0x18, 0x62, 0xa7, 0x03, 0xdf, 0xdb, 0x43, 0x94, 0x02, + 0x1e, 0xa2, 0x82, 0xb9, 0xfd, 0xfb, 0x05, 0x98, 0xac, 0x10, 0x8f, 0xc4, 0x84, 0x5f, 0x65, 0x22, + 0xb4, 0x06, 0xa8, 0x15, 0x3a, 0x0d, 0x52, 0x23, 0xa1, 0x1b, 0x34, 0x75, 0x6d, 0x6c, 0x91, 0x3f, + 0x0e, 0x5d, 0xef, 0x82, 0xe2, 0x8c, 0x1a, 0xe8, 0x5d, 0x98, 0x6c, 0x87, 0xc4, 0x50, 0x22, 0x5a, + 0x79, 0xd2, 0x48, 0x4d, 0x47, 0xe4, 0x82, 0xb0, 0x51, 0x84, 0x4d, 0x52, 0xe8, 0x3b, 0x60, 0x26, + 0x08, 0xdb, 0x3b, 0x8e, 0x5f, 0x21, 0x6d, 0xe2, 0x37, 0xa9, 0xa4, 0x2f, 0x54, 0x10, 0xe7, 0x8f, + 0x0e, 0xcb, 0x33, 0xb7, 0x53, 0x30, 0xdc, 0x85, 0x8d, 0xde, 0x85, 0xd9, 0x76, 0x18, 0xb4, 0x9d, + 0x16, 0x5b, 0x28, 0x42, 0xa0, 0xe1, 0xdc, 0xe7, 0xc5, 0xa3, 0xc3, 0xf2, 0x6c, 0x2d, 0x0d, 0x3c, + 0x3e, 0x2c, 0x9f, 0x63, 0x03, 0x45, 0x4b, 0x12, 0x20, 0xee, 0x26, 0x63, 0xb7, 0xe0, 0x42, 0x25, + 0xb8, 0xef, 0xdf, 0x77, 0xc2, 0xe6, 0x52, 0xad, 0xaa, 0xe9, 0x0e, 0x36, 0xe4, 0xdd, 0x95, 0x1b, + 0x63, 0x64, 0x9e, 0x53, 0x5a, 0x4d, 0x2e, 0xbf, 0xac, 0xb9, 0x1e, 0xc9, 0xd1, 0x51, 0xfc, 0xed, + 0x82, 0xd1, 0x52, 0x82, 0xaf, 0x1e, 0x3e, 0xac, 0xdc, 0x87, 0x8f, 0x77, 0x60, 0x6c, 0xdb, 0x25, + 0x5e, 0x13, 0x93, 0x6d, 0x31, 0x33, 0xcf, 0xe6, 0xbf, 0x2f, 0xaf, 0x51, 0x4c, 0xa9, 0x93, 0xe2, + 0x37, 0xdf, 0x35, 0x51, 0x19, 0x2b, 0x32, 0x68, 0x17, 0x66, 0xe4, 0xd5, 0x4a, 0x42, 0xc5, 0x26, + 0x7e, 0xae, 0xd7, 0x7d, 0xcd, 0x24, 0xce, 0x26, 0x10, 0xa7, 0xc8, 0xe0, 0x2e, 0xc2, 0xf4, 0xaa, + 0xbb, 0x47, 0x8f, 0xab, 0x21, 0xb6, 0xa4, 0xd9, 0x55, 0x97, 0xdd, 0xda, 0x59, 0xa9, 0xfd, 0x53, + 0x16, 0x3c, 0xde, 0x35, 0x32, 0x42, 0x7b, 0x71, 0xca, 0xb3, 0x90, 0xd6, 0x26, 0x14, 0xfa, 0x6b, + 0x13, 0xec, 0x7f, 0x64, 0xc1, 0xf9, 0xd5, 0xbd, 0x76, 0x7c, 0x50, 0x71, 0xcd, 0xc7, 0x99, 0xd7, + 0x61, 0x64, 0x8f, 0x34, 0xdd, 0xce, 0x9e, 0x98, 0xb9, 0xb2, 0x64, 0xe9, 0xeb, 0xac, 0xf4, 0xf8, + 0xb0, 0x3c, 0x59, 0x8f, 0x83, 0xd0, 0x69, 0x11, 0x5e, 0x80, 0x05, 0x3a, 0x3b, 0x18, 0xdd, 0x0f, + 0xc9, 0x2d, 0x77, 0xcf, 0x95, 0xf6, 0x02, 0x3d, 0x35, 0x6a, 0x0b, 0x72, 0x40, 0x17, 0xde, 0xe9, + 0x38, 0x7e, 0xec, 0xc6, 0x07, 0xe2, 0xdd, 0x49, 0x12, 0xc1, 0x09, 0x3d, 0xfb, 0x9b, 0x16, 0x4c, + 0x4b, 0x5e, 0xb2, 0xd4, 0x6c, 0x86, 0x24, 0x8a, 0xd0, 0x3c, 0x14, 0xdc, 0xb6, 0xe8, 0x25, 0x88, + 0x5e, 0x16, 0xaa, 0x35, 0x5c, 0x70, 0xdb, 0xa8, 0x06, 0x25, 0x6e, 0x76, 0x90, 0x2c, 0xae, 0x81, + 0x8c, 0x17, 0x58, 0x0f, 0x36, 0x65, 0x4d, 0x9c, 0x10, 0x91, 0x52, 0x31, 0x3b, 0x87, 0x8a, 0xe6, + 0xa3, 0xd5, 0x0d, 0x51, 0x8e, 0x15, 0x06, 0xba, 0x0a, 0x63, 0x7e, 0xd0, 0xe4, 0x56, 0x20, 0x7c, + 0x4f, 0xb3, 0x25, 0xbb, 0x21, 0xca, 0xb0, 0x82, 0xda, 0x3f, 0x62, 0xc1, 0x84, 0xfc, 0xb2, 0x01, + 0x05, 0x74, 0xba, 0xb5, 0x12, 0xe1, 0x3c, 0xd9, 0x5a, 0x54, 0xc0, 0x66, 0x10, 0x43, 0xae, 0x2e, + 0x9e, 0x44, 0xae, 0xb6, 0x7f, 0xb2, 0x00, 0x53, 0xb2, 0x3b, 0xf5, 0xce, 0x56, 0x44, 0x62, 0xb4, + 0x09, 0x25, 0x87, 0x0f, 0x39, 0x91, 0x2b, 0xf6, 0x99, 0xec, 0x0b, 0x9d, 0x31, 0x3f, 0x89, 0xa8, + 0xb3, 0x24, 0x6b, 0xe3, 0x84, 0x10, 0xf2, 0x60, 0xd6, 0x0f, 0x62, 0x76, 0xec, 0x29, 0x78, 0xaf, + 0x87, 0x91, 0x34, 0xf5, 0x8b, 0x82, 0xfa, 0xec, 0x46, 0x9a, 0x0a, 0xee, 0x26, 0x8c, 0x56, 0xa5, + 0x12, 0xa9, 0x98, 0x7f, 0x85, 0xd3, 0x67, 0x21, 0x5b, 0x87, 0x64, 0xff, 0x86, 0x05, 0x25, 0x89, + 0x76, 0x16, 0x6f, 0x60, 0xeb, 0x30, 0x1a, 0xb1, 0x49, 0x90, 0x43, 0x63, 0xf7, 0xea, 0x38, 0x9f, + 0xaf, 0xe4, 0x34, 0xe7, 0xff, 0x23, 0x2c, 0x69, 0x30, 0x2d, 0xb8, 0xea, 0xfe, 0x27, 0x44, 0x0b, + 0xae, 0xfa, 0x93, 0x73, 0xc2, 0xfc, 0x17, 0xd6, 0x67, 0x4d, 0x55, 0x40, 0x85, 0xce, 0x76, 0x48, + 0xb6, 0xdd, 0x07, 0x69, 0xa1, 0xb3, 0xc6, 0x4a, 0xb1, 0x80, 0xa2, 0xf7, 0x60, 0xa2, 0x21, 0x95, + 0xc7, 0x09, 0x1b, 0xb8, 0xd2, 0x53, 0x15, 0xaf, 0x5e, 0x6d, 0xb8, 0x85, 0xe8, 0x8a, 0x56, 0x1f, + 0x1b, 0xd4, 0x4c, 0xcb, 0x84, 0x62, 0x3f, 0xcb, 0x84, 0x84, 0x6e, 0xee, 0xdb, 0xba, 0xfd, 0xd3, + 0x16, 0x8c, 0x70, 0x15, 0xe4, 0x60, 0x3a, 0x5b, 0xed, 0x11, 0x2b, 0x19, 0xbb, 0xbb, 0xb4, 0x50, + 0x3c, 0x4a, 0xa1, 0x75, 0x28, 0xb1, 0x1f, 0x4c, 0x15, 0x53, 0xcc, 0x37, 0x8d, 0xe5, 0xad, 0xea, + 0x1d, 0xbc, 0x2b, 0xab, 0xe1, 0x84, 0x82, 0xfd, 0x63, 0x45, 0xca, 0xaa, 0x12, 0x54, 0xe3, 0x04, + 0xb7, 0x1e, 0xdd, 0x09, 0x5e, 0x78, 0x54, 0x27, 0x78, 0x0b, 0xa6, 0x1b, 0xda, 0x93, 0x57, 0x32, + 0x93, 0x57, 0x7b, 0x2e, 0x12, 0xed, 0x75, 0x8c, 0xab, 0xe1, 0x56, 0x4c, 0x22, 0x38, 0x4d, 0x15, + 0x7d, 0x27, 0x4c, 0xf0, 0x79, 0x16, 0xad, 0x0c, 0xb1, 0x56, 0x3e, 0x93, 0xbf, 0x5e, 0xf4, 0x26, + 0xd8, 0x4a, 0xac, 0x6b, 0xd5, 0xb1, 0x41, 0xcc, 0xfe, 0x95, 0x31, 0x18, 0x5e, 0xdd, 0x27, 0x7e, + 0x7c, 0x06, 0x0c, 0xa9, 0x01, 0x53, 0xae, 0xbf, 0x1f, 0x78, 0xfb, 0xa4, 0xc9, 0xe1, 0x27, 0x39, + 0x5c, 0x1f, 0x13, 0xa4, 0xa7, 0xaa, 0x06, 0x09, 0x9c, 0x22, 0xf9, 0x28, 0x6e, 0xed, 0xd7, 0x61, + 0x84, 0xcf, 0xbd, 0xb8, 0xb2, 0x67, 0x2a, 0xd8, 0xd9, 0x20, 0x8a, 0x5d, 0x90, 0x68, 0x14, 0xb8, + 0x46, 0x5f, 0x54, 0x47, 0xef, 0xc3, 0xd4, 0xb6, 0x1b, 0x46, 0x31, 0xbd, 0x6e, 0x47, 0xb1, 0xb3, + 0xd7, 0x7e, 0x88, 0x5b, 0xba, 0x1a, 0x87, 0x35, 0x83, 0x12, 0x4e, 0x51, 0x46, 0x2d, 0x98, 0xa4, + 0x17, 0xc7, 0xa4, 0xa9, 0xd1, 0x13, 0x37, 0xa5, 0xd4, 0x70, 0xb7, 0x74, 0x42, 0xd8, 0xa4, 0x4b, + 0x99, 0x49, 0x83, 0x5d, 0x34, 0xc7, 0x98, 0x44, 0xa1, 0x98, 0x09, 0xbf, 0x61, 0x72, 0x18, 0xe5, + 0x49, 0xcc, 0x98, 0xa5, 0x64, 0xf2, 0x24, 0xcd, 0x64, 0xe5, 0xab, 0x50, 0x22, 0x74, 0x08, 0x29, + 0x61, 0xf1, 0xd8, 0xb0, 0x38, 0x58, 0x5f, 0xd7, 0xdd, 0x46, 0x18, 0x98, 0xfa, 0x91, 0x55, 0x49, + 0x09, 0x27, 0x44, 0xd1, 0x0a, 0x8c, 0x44, 0x24, 0x74, 0x49, 0x24, 0x9e, 0x1d, 0x7a, 0x4c, 0x23, + 0x43, 0xe3, 0x36, 0xd4, 0xfc, 0x37, 0x16, 0x55, 0xe9, 0xf2, 0x72, 0xd8, 0x6d, 0x88, 0xbd, 0x34, + 0x68, 0xcb, 0x6b, 0x89, 0x95, 0x62, 0x01, 0x45, 0x6f, 0xc3, 0x68, 0x48, 0x3c, 0xa6, 0x80, 0x9b, + 0x1c, 0x7c, 0x91, 0x73, 0x7d, 0x1e, 0xaf, 0x87, 0x25, 0x01, 0x74, 0x13, 0x50, 0x48, 0xa8, 0x0c, + 0xe1, 0xfa, 0x2d, 0x65, 0xe2, 0x21, 0xde, 0x0f, 0x9e, 0x10, 0xed, 0x9f, 0xc3, 0x09, 0x86, 0xb4, + 0xae, 0xc4, 0x19, 0xd5, 0xd0, 0x75, 0x98, 0x55, 0xa5, 0x55, 0x3f, 0x8a, 0x1d, 0xbf, 0x41, 0xd8, + 0xd3, 0x41, 0x29, 0x91, 0x8a, 0x70, 0x1a, 0x01, 0x77, 0xd7, 0xb1, 0xbf, 0x41, 0xc5, 0x19, 0x3a, + 0x5a, 0x67, 0x20, 0x0b, 0xbc, 0x65, 0xca, 0x02, 0x17, 0x73, 0x67, 0x2e, 0x47, 0x0e, 0x38, 0xb2, + 0x60, 0x5c, 0x9b, 0xd9, 0x64, 0xcd, 0x5a, 0x3d, 0xd6, 0x6c, 0x07, 0x66, 0xe8, 0x4a, 0xbf, 0xbd, + 0xc5, 0xdc, 0x89, 0x9a, 0x6c, 0x61, 0x16, 0x1e, 0x6e, 0x61, 0x2a, 0x43, 0xdc, 0x5b, 0x29, 0x82, + 0xb8, 0xab, 0x09, 0xf4, 0xba, 0xd4, 0x46, 0x15, 0x0d, 0xd3, 0x2d, 0xae, 0x69, 0x3a, 0x3e, 0x2c, + 0xcf, 0x68, 0x1f, 0xa2, 0x6b, 0x9f, 0xec, 0xaf, 0xca, 0x6f, 0xe4, 0xcc, 0x66, 0x11, 0x4a, 0x0d, + 0xb5, 0x58, 0x2c, 0xd3, 0x98, 0x5c, 0x2d, 0x07, 0x9c, 0xe0, 0xd0, 0x3d, 0x4a, 0xaf, 0x20, 0x69, + 0x6b, 0x43, 0x7a, 0x41, 0xc1, 0x0c, 0x62, 0xbf, 0x02, 0xb0, 0xfa, 0x80, 0x34, 0xf8, 0x52, 0xd7, + 0x1f, 0x75, 0xad, 0xfc, 0x47, 0x5d, 0xfb, 0x3f, 0x58, 0x30, 0xb5, 0xb6, 0x62, 0x5c, 0x13, 0x17, + 0x00, 0xf8, 0xdd, 0xe8, 0xde, 0xbd, 0x0d, 0xf9, 0x5e, 0xc1, 0x55, 0xce, 0xaa, 0x14, 0x6b, 0x18, + 0xe8, 0x22, 0x14, 0xbd, 0x8e, 0x2f, 0xae, 0x2c, 0xa3, 0x47, 0x87, 0xe5, 0xe2, 0xad, 0x8e, 0x8f, + 0x69, 0x99, 0x66, 0xe0, 0x57, 0x1c, 0xd8, 0xc0, 0xaf, 0xaf, 0x9b, 0x10, 0x2a, 0xc3, 0xf0, 0xfd, + 0xfb, 0x6e, 0x93, 0x1b, 0x63, 0x8b, 0xb7, 0x94, 0x7b, 0xf7, 0xaa, 0x95, 0x08, 0xf3, 0x72, 0xfb, + 0xeb, 0x45, 0x98, 0x5f, 0xf3, 0xc8, 0x83, 0x8f, 0x68, 0x90, 0x3e, 0xa8, 0x79, 0xe2, 0xc9, 0xe4, + 0xc5, 0x93, 0xda, 0x62, 0xf6, 0x1f, 0x8f, 0x6d, 0x18, 0xe5, 0x06, 0x02, 0xd2, 0x3c, 0xfd, 0xcd, + 0xac, 0xd6, 0xf3, 0x07, 0x64, 0x41, 0x68, 0xe7, 0xb8, 0x09, 0x96, 0x3a, 0x69, 0x45, 0x29, 0x96, + 0xc4, 0xe7, 0x3f, 0x0f, 0x13, 0x3a, 0xe6, 0x89, 0xac, 0xa2, 0xff, 0x9f, 0x22, 0xcc, 0xd0, 0x1e, + 0x3c, 0xd2, 0x89, 0xb8, 0xd3, 0x3d, 0x11, 0xa7, 0x6d, 0x19, 0xdb, 0x7f, 0x36, 0xde, 0x4b, 0xcf, + 0xc6, 0xcb, 0x79, 0xb3, 0x71, 0xd6, 0x73, 0xf0, 0xbd, 0x16, 0x9c, 0x5b, 0xf3, 0x82, 0xc6, 0x6e, + 0xca, 0x68, 0xf7, 0x35, 0x18, 0xa7, 0x7c, 0x3c, 0x32, 0xbc, 0x61, 0x0c, 0xff, 0x28, 0x01, 0xc2, + 0x3a, 0x9e, 0x56, 0xed, 0xce, 0x9d, 0x6a, 0x25, 0xcb, 0xad, 0x4a, 0x80, 0xb0, 0x8e, 0x67, 0xff, + 0xae, 0x05, 0x4f, 0x5d, 0x5f, 0x59, 0x4d, 0x96, 0x62, 0x97, 0x67, 0x17, 0xbd, 0x05, 0x36, 0xb5, + 0xae, 0x24, 0xb7, 0xc0, 0x0a, 0xeb, 0x85, 0x80, 0x7e, 0x52, 0xbc, 0x16, 0x7f, 0xce, 0x82, 0x73, + 0xd7, 0xdd, 0x98, 0x1e, 0xcb, 0x69, 0x1f, 0x23, 0x7a, 0x2e, 0x47, 0x6e, 0x1c, 0x84, 0x07, 0x69, + 0x1f, 0x23, 0xac, 0x20, 0x58, 0xc3, 0xe2, 0x2d, 0xef, 0xbb, 0x11, 0xed, 0x69, 0xc1, 0x54, 0x45, + 0x61, 0x51, 0x8e, 0x15, 0x06, 0xfd, 0xb0, 0xa6, 0x1b, 0xb2, 0xab, 0xc4, 0x81, 0xe0, 0xb0, 0xea, + 0xc3, 0x2a, 0x12, 0x80, 0x13, 0x1c, 0xfb, 0xa7, 0x2c, 0xb8, 0x70, 0xdd, 0xeb, 0x44, 0x31, 0x09, + 0xb7, 0x23, 0xa3, 0xb3, 0xaf, 0x40, 0x89, 0xc8, 0xeb, 0xba, 0xe8, 0xab, 0x12, 0x30, 0xd5, 0x3d, + 0x9e, 0x3b, 0x38, 0x29, 0xbc, 0x01, 0x2c, 0xe0, 0x4f, 0x66, 0xb9, 0xfd, 0x8b, 0x05, 0x98, 0xbc, + 0xb1, 0xb9, 0x59, 0xbb, 0x4e, 0x62, 0x71, 0x8a, 0xf5, 0x57, 0x35, 0x63, 0x4d, 0x63, 0xd6, 0xeb, + 0x52, 0xd4, 0x89, 0x5d, 0x6f, 0x81, 0x7b, 0xd4, 0x2e, 0x54, 0xfd, 0xf8, 0x76, 0x58, 0x8f, 0x43, + 0xd7, 0x6f, 0x65, 0xea, 0xd8, 0xe4, 0x59, 0x5b, 0xcc, 0x3b, 0x6b, 0xd1, 0x2b, 0x30, 0xc2, 0x5c, + 0x7a, 0xe5, 0xf5, 0xe4, 0x09, 0x75, 0xa7, 0x60, 0xa5, 0xc7, 0x87, 0xe5, 0xd2, 0x1d, 0x5c, 0xe5, + 0x7f, 0xb0, 0x40, 0x45, 0x77, 0x60, 0x7c, 0x27, 0x8e, 0xdb, 0x37, 0x88, 0xd3, 0x24, 0xa1, 0xe4, + 0x0e, 0x97, 0xb2, 0xb8, 0x03, 0x1d, 0x04, 0x8e, 0x96, 0x6c, 0xa8, 0xa4, 0x2c, 0xc2, 0x3a, 0x1d, + 0xbb, 0x0e, 0x90, 0xc0, 0x4e, 0x49, 0xbf, 0x60, 0xff, 0x89, 0x05, 0xa3, 0xdc, 0xbb, 0x2a, 0x44, + 0x5f, 0x80, 0x21, 0xf2, 0x80, 0x34, 0x84, 0xe4, 0x98, 0xd9, 0xe1, 0x44, 0xf0, 0xe0, 0xda, 0x72, + 0xfa, 0x1f, 0xb3, 0x5a, 0xe8, 0x06, 0x8c, 0xd2, 0xde, 0x5e, 0x57, 0xae, 0x66, 0x4f, 0xe7, 0x7d, + 0xb1, 0x9a, 0x76, 0x2e, 0xab, 0x88, 0x22, 0x2c, 0xab, 0x33, 0xcd, 0x6f, 0xa3, 0x5d, 0xa7, 0x0c, + 0x2c, 0xee, 0x75, 0xce, 0x6e, 0xae, 0xd4, 0x38, 0x92, 0xa0, 0xc6, 0x35, 0xbf, 0xb2, 0x10, 0x27, + 0x44, 0xec, 0x4d, 0x28, 0xd1, 0x49, 0x5d, 0xf2, 0x5c, 0xa7, 0xb7, 0xd2, 0xf9, 0x05, 0x28, 0x49, + 0x05, 0x70, 0x24, 0x1c, 0x74, 0x18, 0x55, 0xa9, 0x1f, 0x8e, 0x70, 0x02, 0xb7, 0xb7, 0xe1, 0x3c, + 0xb3, 0xa6, 0x70, 0xe2, 0x1d, 0x63, 0x8f, 0xf5, 0x5f, 0xcc, 0x2f, 0x8a, 0x8b, 0x18, 0x9f, 0x99, + 0x39, 0xcd, 0xa3, 0x60, 0x42, 0x52, 0x4c, 0x2e, 0x65, 0xf6, 0x9f, 0x0d, 0xc1, 0x13, 0xd5, 0x7a, + 0xbe, 0xe3, 0xdd, 0x1b, 0x30, 0xc1, 0xc5, 0x34, 0xba, 0xb4, 0x1d, 0x4f, 0xb4, 0xab, 0xde, 0x1a, + 0x37, 0x35, 0x18, 0x36, 0x30, 0xd1, 0x53, 0x50, 0x74, 0x3f, 0xf0, 0xd3, 0xc6, 0xb9, 0xd5, 0x77, + 0x36, 0x30, 0x2d, 0xa7, 0x60, 0x2a, 0xf1, 0x71, 0x56, 0xaa, 0xc0, 0x4a, 0xea, 0x7b, 0x0b, 0xa6, + 0xdc, 0xa8, 0x11, 0xb9, 0x55, 0x9f, 0xf2, 0x99, 0xc4, 0x69, 0x33, 0x51, 0x12, 0xd0, 0x4e, 0x2b, + 0x28, 0x4e, 0x61, 0x6b, 0x7c, 0x7d, 0x78, 0x60, 0xa9, 0xb1, 0xaf, 0xc7, 0x0a, 0x15, 0x88, 0xdb, + 0xec, 0xeb, 0x22, 0x66, 0x28, 0x28, 0x04, 0x62, 0xfe, 0xc1, 0x11, 0x96, 0x30, 0x7a, 0x03, 0x6b, + 0xec, 0x38, 0xed, 0xa5, 0x4e, 0xbc, 0x53, 0x71, 0xa3, 0x46, 0xb0, 0x4f, 0xc2, 0x03, 0x76, 0x79, + 0x1e, 0x4b, 0x6e, 0x60, 0x0a, 0xb0, 0x72, 0x63, 0xa9, 0x46, 0x31, 0x71, 0x77, 0x1d, 0x53, 0x2a, + 0x84, 0xd3, 0x90, 0x0a, 0x97, 0x60, 0x5a, 0x36, 0x53, 0x27, 0x11, 0x3b, 0x23, 0xc6, 0x59, 0xc7, + 0x94, 0x3b, 0xb5, 0x28, 0x56, 0xdd, 0x4a, 0xe3, 0xa3, 0xd7, 0x61, 0xd2, 0xf5, 0xdd, 0xd8, 0x75, + 0xe2, 0x20, 0x64, 0x27, 0x2c, 0xbf, 0x27, 0xb3, 0x47, 0xd1, 0xaa, 0x0e, 0xc0, 0x26, 0x9e, 0xfd, + 0xa7, 0x43, 0x30, 0xcb, 0xa6, 0xed, 0x5b, 0x2b, 0xec, 0x13, 0xb3, 0xc2, 0xee, 0x74, 0xaf, 0xb0, + 0xd3, 0x10, 0x77, 0x3f, 0xce, 0x65, 0xf6, 0x3e, 0x94, 0x94, 0x7d, 0xb5, 0x74, 0x11, 0xb0, 0x72, + 0x5c, 0x04, 0xfa, 0x4b, 0x1f, 0xf2, 0x19, 0xb7, 0x98, 0xf9, 0x8c, 0xfb, 0x77, 0x2c, 0x48, 0xcc, + 0x4c, 0xd1, 0x0d, 0x28, 0xb5, 0x03, 0x66, 0xca, 0x11, 0x4a, 0xfb, 0xa8, 0x27, 0x32, 0x0f, 0x2a, + 0x7e, 0x28, 0xf2, 0xf1, 0xab, 0xc9, 0x1a, 0x38, 0xa9, 0x8c, 0x96, 0x61, 0xb4, 0x1d, 0x92, 0x7a, + 0xcc, 0x5c, 0x39, 0xfb, 0xd2, 0xe1, 0x6b, 0x84, 0xe3, 0x63, 0x59, 0xd1, 0xfe, 0x25, 0x0b, 0x80, + 0xbf, 0x94, 0x3a, 0x7e, 0x8b, 0x9c, 0x81, 0xf6, 0xb7, 0x02, 0x43, 0x51, 0x9b, 0x34, 0x7a, 0x19, + 0xd9, 0x24, 0xfd, 0xa9, 0xb7, 0x49, 0x23, 0x19, 0x70, 0xfa, 0x0f, 0xb3, 0xda, 0xf6, 0xf7, 0x03, + 0x4c, 0x25, 0x68, 0xd5, 0x98, 0xec, 0xa1, 0x97, 0x0c, 0x47, 0xb9, 0x8b, 0x29, 0x47, 0xb9, 0x12, + 0xc3, 0xd6, 0x14, 0x8d, 0xef, 0x43, 0x71, 0xcf, 0x79, 0x20, 0x34, 0x49, 0x2f, 0xf4, 0xee, 0x06, + 0xa5, 0xbf, 0xb0, 0xee, 0x3c, 0xe0, 0x77, 0xa6, 0x17, 0xe4, 0x02, 0x59, 0x77, 0x1e, 0x1c, 0x73, + 0x53, 0x1a, 0xc6, 0xa4, 0x6e, 0xb9, 0x51, 0xfc, 0xb5, 0xff, 0x94, 0xfc, 0x67, 0xcb, 0x8e, 0x36, + 0xc2, 0xda, 0x72, 0x7d, 0xf1, 0x6e, 0x38, 0x50, 0x5b, 0xae, 0x9f, 0x6e, 0xcb, 0xf5, 0x07, 0x68, + 0xcb, 0xf5, 0xd1, 0x87, 0x30, 0x2a, 0xde, 0xe8, 0x99, 0xfd, 0xbc, 0xa9, 0xa5, 0xca, 0x6b, 0x4f, + 0x3c, 0xf1, 0xf3, 0x36, 0x17, 0xe5, 0x9d, 0x50, 0x94, 0xf6, 0x6d, 0x57, 0x36, 0x88, 0xfe, 0x96, + 0x05, 0x53, 0xe2, 0x37, 0x26, 0x1f, 0x74, 0x48, 0x14, 0x0b, 0xd9, 0xf3, 0x73, 0x83, 0xf7, 0x41, + 0x54, 0xe4, 0x5d, 0xf9, 0x9c, 0x64, 0xb3, 0x26, 0xb0, 0x6f, 0x8f, 0x52, 0xbd, 0x40, 0xff, 0xc4, + 0x82, 0xf3, 0x7b, 0xce, 0x03, 0xde, 0x22, 0x2f, 0xc3, 0x4e, 0xec, 0x06, 0xc2, 0x1f, 0xe0, 0x0b, + 0x83, 0x4d, 0x7f, 0x57, 0x75, 0xde, 0x49, 0x69, 0x3a, 0x7c, 0x3e, 0x0b, 0xa5, 0x6f, 0x57, 0x33, + 0xfb, 0x35, 0xbf, 0x0d, 0x63, 0x72, 0xbd, 0x65, 0xdc, 0xbc, 0x2b, 0xba, 0x60, 0x7d, 0x62, 0x13, + 0x09, 0xdd, 0x5b, 0x8d, 0xb6, 0x23, 0xd6, 0xda, 0x23, 0x6d, 0xe7, 0x7d, 0x98, 0xd0, 0xd7, 0xd8, + 0x23, 0x6d, 0xeb, 0x03, 0x38, 0x97, 0xb1, 0x96, 0x1e, 0x69, 0x93, 0xf7, 0xe1, 0x62, 0xee, 0xfa, + 0x78, 0x94, 0x0d, 0xdb, 0xbf, 0x68, 0xe9, 0x7c, 0xf0, 0x0c, 0x54, 0xf0, 0x2b, 0xa6, 0x0a, 0xfe, + 0x52, 0xef, 0x9d, 0x93, 0xa3, 0x87, 0x7f, 0x4f, 0xef, 0x34, 0xe5, 0xea, 0xe8, 0x6d, 0x18, 0xf1, + 0x68, 0x89, 0x34, 0x0e, 0xb1, 0xfb, 0xef, 0xc8, 0x44, 0x96, 0x62, 0xe5, 0x11, 0x16, 0x14, 0xec, + 0x5f, 0xb5, 0x60, 0xe8, 0x0c, 0x46, 0x02, 0x9b, 0x23, 0xf1, 0x52, 0x2e, 0x69, 0x11, 0x9a, 0x6b, + 0x01, 0x3b, 0xf7, 0x57, 0x65, 0xf8, 0xb1, 0x9c, 0x81, 0xf9, 0x5f, 0x05, 0x18, 0xa7, 0x4d, 0x49, + 0x2b, 0xc6, 0x37, 0x61, 0xd2, 0x73, 0xb6, 0x88, 0x27, 0xdf, 0x71, 0xd3, 0x0a, 0x93, 0x5b, 0x3a, + 0x10, 0x9b, 0xb8, 0xb4, 0xf2, 0xb6, 0xfe, 0xa4, 0x2d, 0xe4, 0x17, 0x55, 0xd9, 0x78, 0xef, 0xc6, + 0x26, 0x2e, 0xbd, 0xbb, 0xdf, 0x77, 0xe2, 0xc6, 0x8e, 0x50, 0xa6, 0xa8, 0xee, 0xde, 0xa3, 0x85, + 0x98, 0xc3, 0xa8, 0x00, 0x27, 0x57, 0xe7, 0x5d, 0x7a, 0x33, 0x0c, 0x7c, 0x21, 0x1e, 0x2b, 0x01, + 0x0e, 0x9b, 0x60, 0x9c, 0xc6, 0xcf, 0xf0, 0x98, 0x1f, 0x66, 0x36, 0x9a, 0x03, 0x78, 0xcc, 0xa3, + 0x1a, 0x9c, 0x77, 0xfd, 0x86, 0xd7, 0x69, 0x92, 0x3b, 0x3e, 0x97, 0xee, 0x3c, 0xf7, 0x43, 0xd2, + 0x14, 0x02, 0xb4, 0x32, 0xa7, 0xad, 0x66, 0xe0, 0xe0, 0xcc, 0x9a, 0xf6, 0xff, 0x05, 0xe7, 0x6e, + 0x05, 0x4e, 0x73, 0xd9, 0xf1, 0x1c, 0xbf, 0x41, 0xc2, 0xaa, 0xdf, 0xea, 0x6b, 0x25, 0xa6, 0xdb, + 0x74, 0x15, 0xfa, 0xd9, 0x74, 0xd9, 0x3b, 0x80, 0xf4, 0x06, 0x84, 0x6d, 0x32, 0x86, 0x51, 0x97, + 0x37, 0x25, 0x96, 0xff, 0xb3, 0xd9, 0xd2, 0x75, 0x57, 0xcf, 0x34, 0xab, 0x5b, 0x5e, 0x80, 0x25, + 0x21, 0xfb, 0x0d, 0xc8, 0xf4, 0x47, 0xec, 0xaf, 0xb6, 0xb1, 0x5f, 0x83, 0x59, 0x56, 0xf3, 0x64, + 0x2a, 0x05, 0xfb, 0x07, 0x2d, 0x98, 0xde, 0x48, 0xc5, 0xb8, 0xb8, 0xc2, 0xde, 0x5a, 0x33, 0xf4, + 0xee, 0x75, 0x56, 0x8a, 0x05, 0xf4, 0xd4, 0xf5, 0x7b, 0x7f, 0x65, 0x41, 0x49, 0x45, 0x67, 0x3a, + 0x03, 0xa1, 0x76, 0xc5, 0x10, 0x6a, 0x33, 0xf5, 0x4e, 0xaa, 0x3b, 0x79, 0x32, 0x2d, 0xba, 0xa9, + 0xa2, 0x35, 0xf4, 0x50, 0x39, 0x25, 0x64, 0xb8, 0x6f, 0xff, 0x94, 0x19, 0xd2, 0x41, 0xc6, 0x6f, + 0x60, 0x66, 0x5a, 0x0a, 0xf7, 0x13, 0x62, 0xa6, 0xa5, 0xfa, 0x93, 0xc3, 0xfd, 0x6a, 0x5a, 0x97, + 0xd9, 0xa9, 0xf0, 0xed, 0xcc, 0x95, 0x81, 0xed, 0x4d, 0x15, 0x24, 0xa5, 0x2c, 0x5c, 0x13, 0x44, + 0xe9, 0x31, 0x63, 0x64, 0xe2, 0x1f, 0x8f, 0xa4, 0x95, 0x54, 0xb1, 0x6f, 0xc0, 0x74, 0x6a, 0xc0, + 0xd0, 0x6b, 0x30, 0xdc, 0xde, 0x71, 0x22, 0x92, 0x32, 0x4d, 0x1d, 0xae, 0xd1, 0xc2, 0xe3, 0xc3, + 0xf2, 0x94, 0xaa, 0xc0, 0x4a, 0x30, 0xc7, 0xb6, 0xff, 0xbb, 0x05, 0x43, 0x1b, 0x41, 0xf3, 0x2c, + 0x16, 0xd3, 0x5b, 0xc6, 0x62, 0x7a, 0x32, 0x2f, 0x0e, 0x61, 0xee, 0x3a, 0x5a, 0x4b, 0xad, 0xa3, + 0x4b, 0xb9, 0x14, 0x7a, 0x2f, 0xa1, 0x3d, 0x18, 0x67, 0xd1, 0x0d, 0x85, 0xa9, 0xec, 0x2b, 0xc6, + 0xfd, 0xaa, 0x9c, 0xba, 0x5f, 0x4d, 0x6b, 0xa8, 0xda, 0x2d, 0xeb, 0x39, 0x18, 0x15, 0xe6, 0x9a, + 0x69, 0xa7, 0x0d, 0x81, 0x8b, 0x25, 0xdc, 0xfe, 0xe9, 0x22, 0x18, 0xd1, 0x14, 0xd1, 0x6f, 0x58, + 0xb0, 0x10, 0x72, 0x2f, 0xd8, 0x66, 0xa5, 0x13, 0xba, 0x7e, 0xab, 0xde, 0xd8, 0x21, 0xcd, 0x8e, + 0xe7, 0xfa, 0xad, 0x6a, 0xcb, 0x0f, 0x54, 0xf1, 0xea, 0x03, 0xd2, 0xe8, 0xb0, 0x37, 0x97, 0x3e, + 0xa1, 0x1b, 0x95, 0x39, 0xd4, 0xb5, 0xa3, 0xc3, 0xf2, 0x02, 0x3e, 0x11, 0x6d, 0x7c, 0xc2, 0xbe, + 0xa0, 0xdf, 0xb5, 0x60, 0x91, 0x07, 0x19, 0x1c, 0xbc, 0xff, 0x3d, 0x6e, 0xa3, 0x35, 0x49, 0x2a, + 0x21, 0xb2, 0x49, 0xc2, 0xbd, 0xe5, 0xd7, 0xc5, 0x80, 0x2e, 0xd6, 0x4e, 0xd6, 0x16, 0x3e, 0x69, + 0xe7, 0xec, 0x7f, 0x5d, 0x84, 0x49, 0x3a, 0x8a, 0x49, 0x6c, 0x9a, 0xd7, 0x8c, 0x25, 0xf1, 0x74, + 0x6a, 0x49, 0xcc, 0x1a, 0xc8, 0xa7, 0x13, 0x96, 0x26, 0x82, 0x59, 0xcf, 0x89, 0xe2, 0x1b, 0xc4, + 0x09, 0xe3, 0x2d, 0xe2, 0x70, 0x33, 0xa1, 0xe2, 0x89, 0x4d, 0x9a, 0x94, 0xfa, 0xeb, 0x56, 0x9a, + 0x18, 0xee, 0xa6, 0x8f, 0xf6, 0x01, 0x31, 0x5b, 0xa7, 0xd0, 0xf1, 0x23, 0xfe, 0x2d, 0xae, 0x78, + 0x8f, 0x39, 0x59, 0xab, 0xf3, 0xa2, 0x55, 0x74, 0xab, 0x8b, 0x1a, 0xce, 0x68, 0x41, 0xb3, 0x61, + 0x1b, 0x1e, 0xd4, 0x86, 0x6d, 0xa4, 0x8f, 0x67, 0xd4, 0x1e, 0xcc, 0x88, 0x59, 0xd9, 0x76, 0x5b, + 0xe2, 0x90, 0xfe, 0x72, 0xca, 0xc6, 0xd5, 0x1a, 0xdc, 0x50, 0xa9, 0x8f, 0x81, 0xab, 0xfd, 0xdd, + 0x70, 0x8e, 0x36, 0x67, 0xfa, 0xf1, 0x44, 0x88, 0xc0, 0xf4, 0x6e, 0x67, 0x8b, 0x78, 0x24, 0x96, + 0x65, 0xa2, 0xd1, 0x4c, 0xb1, 0xdf, 0xac, 0x9d, 0xc8, 0x96, 0x37, 0x4d, 0x12, 0x38, 0x4d, 0xd3, + 0xfe, 0x59, 0x0b, 0x98, 0xb5, 0xfc, 0x19, 0x1c, 0x7f, 0x5f, 0x34, 0x8f, 0xbf, 0xb9, 0x3c, 0x0e, + 0x94, 0x73, 0xf2, 0xbd, 0xca, 0xa7, 0xa5, 0x16, 0x06, 0x0f, 0x0e, 0xa4, 0xec, 0xdf, 0x5f, 0xe2, + 0xfa, 0x9f, 0x16, 0xdf, 0x90, 0x2a, 0x28, 0x00, 0xfa, 0x1e, 0x18, 0x6b, 0x38, 0x6d, 0xa7, 0xc1, + 0xc3, 0xd8, 0xe6, 0x6a, 0x7f, 0x8c, 0x4a, 0x0b, 0x2b, 0xa2, 0x06, 0xd7, 0x66, 0x7c, 0x56, 0x7e, + 0xa5, 0x2c, 0xee, 0xab, 0xc1, 0x50, 0x4d, 0xce, 0xef, 0xc2, 0xa4, 0x41, 0xec, 0x91, 0x5e, 0x7d, + 0xbf, 0x87, 0x1f, 0x17, 0xea, 0xc6, 0xb2, 0x07, 0xb3, 0xbe, 0xf6, 0x9f, 0x32, 0x47, 0x29, 0x4e, + 0x7f, 0xba, 0xdf, 0x81, 0xc0, 0x38, 0xa9, 0xe6, 0x0d, 0x90, 0x22, 0x83, 0xbb, 0x29, 0xdb, 0x7f, + 0xcf, 0x82, 0xc7, 0x75, 0x44, 0x2d, 0x5e, 0x43, 0x3f, 0x7d, 0x72, 0x05, 0xc6, 0x82, 0x36, 0x09, + 0x9d, 0xe4, 0x4e, 0x76, 0x55, 0x0e, 0xfa, 0x6d, 0x51, 0x7e, 0x2c, 0xe2, 0x09, 0x4a, 0xea, 0xb2, + 0x1c, 0xab, 0x9a, 0xc8, 0x86, 0x11, 0x36, 0x18, 0x91, 0x88, 0xa5, 0xc1, 0xcc, 0x14, 0xd9, 0xd3, + 0x6a, 0x84, 0x05, 0xc4, 0xfe, 0x7e, 0x8b, 0x2f, 0x2c, 0xbd, 0xeb, 0xe8, 0x03, 0x98, 0xd9, 0xa3, + 0xd7, 0xb7, 0xd5, 0x07, 0xed, 0x90, 0xab, 0xd1, 0xe5, 0x38, 0xbd, 0xd0, 0x6f, 0x9c, 0xb4, 0x8f, + 0x4c, 0x8c, 0xd9, 0xd6, 0x53, 0xc4, 0x70, 0x17, 0x79, 0xfb, 0x2f, 0x0a, 0x7c, 0x27, 0x32, 0xa9, + 0xee, 0x39, 0x18, 0x6d, 0x07, 0xcd, 0x95, 0x6a, 0x05, 0x8b, 0x11, 0x52, 0xec, 0xaa, 0xc6, 0x8b, + 0xb1, 0x84, 0xa3, 0x6b, 0x00, 0xe4, 0x41, 0x4c, 0x42, 0xdf, 0xf1, 0x94, 0xe1, 0x87, 0x12, 0x9e, + 0x56, 0x15, 0x04, 0x6b, 0x58, 0xb4, 0x4e, 0x3b, 0x0c, 0xf6, 0xdd, 0x26, 0xf3, 0x36, 0x2c, 0x9a, + 0x75, 0x6a, 0x0a, 0x82, 0x35, 0x2c, 0x7a, 0x55, 0xee, 0xf8, 0x11, 0x3f, 0x00, 0x9d, 0x2d, 0x11, + 0x20, 0x6f, 0x2c, 0xb9, 0x2a, 0xdf, 0xd1, 0x81, 0xd8, 0xc4, 0x45, 0x4b, 0x30, 0x12, 0x3b, 0xcc, + 0x9c, 0x61, 0x38, 0xdf, 0x2c, 0x71, 0x93, 0x62, 0xe8, 0x71, 0x4d, 0x69, 0x05, 0x2c, 0x2a, 0xa2, + 0x77, 0x25, 0x0b, 0xe6, 0x2c, 0x59, 0xd8, 0x03, 0xe7, 0x2e, 0x5b, 0x9d, 0x7d, 0xeb, 0x3c, 0x58, + 0xd8, 0x19, 0x1b, 0xb4, 0xec, 0xef, 0x2b, 0x01, 0x24, 0xd2, 0x1e, 0xfa, 0xb0, 0x8b, 0x45, 0xbc, + 0xd8, 0x5b, 0x3e, 0x3c, 0x3d, 0xfe, 0x80, 0x7e, 0xc0, 0x82, 0x71, 0xc7, 0xf3, 0x82, 0x86, 0x13, + 0xb3, 0x51, 0x2e, 0xf4, 0x66, 0x51, 0xa2, 0xfd, 0xa5, 0xa4, 0x06, 0xef, 0xc2, 0x2b, 0xd2, 0x52, + 0x41, 0x83, 0xf4, 0xed, 0x85, 0xde, 0x30, 0xfa, 0xac, 0xbc, 0x04, 0xf0, 0xe5, 0x31, 0x9f, 0xbe, + 0x04, 0x94, 0x18, 0x37, 0xd6, 0xe4, 0x7f, 0x74, 0xc7, 0x88, 0x24, 0x37, 0x94, 0x1f, 0x92, 0xc2, + 0x10, 0x7a, 0xfa, 0x05, 0x91, 0x43, 0x35, 0xdd, 0x2f, 0x6a, 0x38, 0x3f, 0x6e, 0x8b, 0x26, 0x5d, + 0xf7, 0xf1, 0x89, 0x7a, 0x1f, 0xa6, 0x9b, 0xe6, 0x71, 0x2b, 0x56, 0xd3, 0xb3, 0x79, 0x74, 0x53, + 0xa7, 0x73, 0x72, 0xc0, 0xa6, 0x00, 0x38, 0x4d, 0x18, 0xd5, 0xb8, 0x87, 0x5a, 0xd5, 0xdf, 0x0e, + 0x84, 0x5d, 0xb9, 0x9d, 0x3b, 0x97, 0x07, 0x51, 0x4c, 0xf6, 0x28, 0x66, 0x72, 0x8e, 0x6e, 0x88, + 0xba, 0x58, 0x51, 0x41, 0x6f, 0xc3, 0x08, 0x73, 0x1b, 0x8e, 0xe6, 0xc6, 0xf2, 0xf5, 0x80, 0x66, + 0xc4, 0x8b, 0x64, 0x53, 0xb1, 0xbf, 0x11, 0x16, 0x14, 0xd0, 0x0d, 0x19, 0x16, 0x27, 0xaa, 0xfa, + 0x77, 0x22, 0xc2, 0xc2, 0xe2, 0x94, 0x96, 0x3f, 0x9d, 0x44, 0xbc, 0xe1, 0xe5, 0x99, 0x11, 0xcc, + 0x8d, 0x9a, 0x54, 0x5e, 0x11, 0xff, 0x65, 0x60, 0xf4, 0x39, 0xc8, 0xef, 0x9e, 0x19, 0x3c, 0x3d, + 0x19, 0xce, 0xbb, 0x26, 0x09, 0x9c, 0xa6, 0x79, 0xa6, 0xc7, 0xe7, 0xbc, 0x0f, 0x33, 0xe9, 0x8d, + 0xf5, 0x48, 0x8f, 0xeb, 0x3f, 0x19, 0x82, 0x29, 0x73, 0x21, 0xa0, 0x45, 0x28, 0x09, 0x22, 0x2a, + 0x88, 0xa7, 0x5a, 0xdb, 0xeb, 0x12, 0x80, 0x13, 0x1c, 0x16, 0xc4, 0x94, 0x55, 0xd7, 0xec, 0x00, + 0x93, 0x20, 0xa6, 0x0a, 0x82, 0x35, 0x2c, 0x2a, 0x44, 0x6f, 0x05, 0x41, 0xac, 0x8e, 0x02, 0xb5, + 0x5a, 0x96, 0x59, 0x29, 0x16, 0x50, 0x7a, 0x04, 0xec, 0x92, 0xd0, 0x27, 0x9e, 0xa9, 0xc9, 0x54, + 0x47, 0xc0, 0x4d, 0x1d, 0x88, 0x4d, 0x5c, 0x7a, 0xa4, 0x05, 0x11, 0x5b, 0x7e, 0x42, 0x54, 0x4f, + 0xec, 0x2a, 0xeb, 0xdc, 0x6d, 0x5e, 0xc2, 0xd1, 0x97, 0xe1, 0x71, 0xe5, 0xe5, 0x8e, 0xb9, 0x66, + 0x58, 0xb6, 0x38, 0x62, 0xdc, 0xac, 0x1f, 0x5f, 0xc9, 0x46, 0xc3, 0x79, 0xf5, 0xd1, 0x5b, 0x30, + 0x25, 0x44, 0x60, 0x49, 0x71, 0xd4, 0x34, 0x56, 0xb8, 0x69, 0x40, 0x71, 0x0a, 0x1b, 0x55, 0x60, + 0x86, 0x96, 0x30, 0x29, 0x54, 0x52, 0xe0, 0xde, 0xfa, 0xea, 0xac, 0xbf, 0x99, 0x82, 0xe3, 0xae, + 0x1a, 0x68, 0x09, 0xa6, 0xb9, 0x8c, 0x42, 0xef, 0x94, 0x6c, 0x1e, 0x84, 0xbb, 0x87, 0xda, 0x08, + 0xb7, 0x4d, 0x30, 0x4e, 0xe3, 0xa3, 0x37, 0x60, 0xc2, 0x09, 0x1b, 0x3b, 0x6e, 0x4c, 0x1a, 0x71, + 0x27, 0xe4, 0x7e, 0x20, 0x9a, 0xb5, 0xc7, 0x92, 0x06, 0xc3, 0x06, 0xa6, 0xfd, 0x21, 0x9c, 0xcb, + 0xf0, 0x14, 0xa3, 0x0b, 0xc7, 0x69, 0xbb, 0xf2, 0x9b, 0x52, 0x16, 0x92, 0x4b, 0xb5, 0xaa, 0xfc, + 0x1a, 0x0d, 0x8b, 0xae, 0x4e, 0xa6, 0x12, 0xd7, 0xb2, 0x17, 0xa8, 0xd5, 0xb9, 0x26, 0x01, 0x38, + 0xc1, 0xb1, 0x7f, 0x07, 0x40, 0x53, 0xe8, 0x0c, 0x60, 0x1f, 0xf7, 0x06, 0x4c, 0xc8, 0x94, 0x1b, + 0x5a, 0xa8, 0x77, 0xf5, 0x99, 0xd7, 0x35, 0x18, 0x36, 0x30, 0x69, 0xdf, 0x7c, 0x15, 0xa8, 0x3e, + 0x65, 0x8f, 0x99, 0x84, 0xa9, 0x4f, 0x70, 0xd0, 0x8b, 0x30, 0x16, 0x11, 0x6f, 0xfb, 0x96, 0xeb, + 0xef, 0x8a, 0x85, 0xad, 0xb8, 0x70, 0x5d, 0x94, 0x63, 0x85, 0x81, 0x96, 0xa1, 0xd8, 0x71, 0x9b, + 0x62, 0x29, 0xcb, 0x03, 0xbf, 0x78, 0xa7, 0x5a, 0x39, 0x3e, 0x2c, 0x3f, 0x9d, 0x97, 0x49, 0x84, + 0x5e, 0xed, 0xa3, 0x05, 0xba, 0xfd, 0x68, 0xe5, 0xac, 0xb7, 0x81, 0x91, 0x13, 0xbe, 0x0d, 0x5c, + 0x03, 0x10, 0x5f, 0x2d, 0xd7, 0x72, 0x31, 0x99, 0xb5, 0xeb, 0x0a, 0x82, 0x35, 0x2c, 0x14, 0xc1, + 0x6c, 0x23, 0x24, 0x8e, 0xbc, 0x43, 0x73, 0x9f, 0xa7, 0xb1, 0x87, 0x57, 0x10, 0xac, 0xa4, 0x89, + 0xe1, 0x6e, 0xfa, 0x28, 0x80, 0xd9, 0xa6, 0x08, 0xaa, 0x90, 0x34, 0x5a, 0x3a, 0xb9, 0xa3, 0x15, + 0x33, 0xc8, 0x49, 0x13, 0xc2, 0xdd, 0xb4, 0xd1, 0x57, 0x60, 0x5e, 0x16, 0x76, 0xc7, 0xb1, 0x60, + 0xdb, 0xa5, 0xc8, 0xe3, 0xaf, 0x57, 0x72, 0xb1, 0x70, 0x0f, 0x0a, 0x08, 0xc3, 0x08, 0x7b, 0x4b, + 0x8a, 0xe6, 0xc6, 0xd9, 0x39, 0xf7, 0x7c, 0xbe, 0x32, 0x80, 0xae, 0xf5, 0x05, 0xf6, 0x0e, 0x25, + 0x4c, 0xca, 0x93, 0x67, 0x39, 0x56, 0x88, 0x05, 0x25, 0xb4, 0x0d, 0xe3, 0x8e, 0xef, 0x07, 0xb1, + 0xc3, 0x45, 0xa8, 0x89, 0x7c, 0xd9, 0x4f, 0x23, 0xbc, 0x94, 0xd4, 0xe0, 0xd4, 0x95, 0x95, 0xaa, + 0x06, 0xc1, 0x3a, 0x61, 0x74, 0x1f, 0xa6, 0x83, 0xfb, 0x94, 0x39, 0x4a, 0x2d, 0x45, 0x34, 0x37, + 0xc9, 0xda, 0x7a, 0x75, 0x40, 0x3d, 0xad, 0x51, 0x59, 0xe3, 0x5a, 0x26, 0x51, 0x9c, 0x6e, 0x05, + 0x2d, 0x18, 0xda, 0xea, 0xa9, 0xc4, 0x9d, 0x25, 0xd1, 0x56, 0xeb, 0xca, 0x69, 0x16, 0x17, 0x85, + 0x9b, 0x48, 0xb3, 0xdd, 0x3f, 0x9d, 0x8a, 0x8b, 0x92, 0x80, 0xb0, 0x8e, 0x87, 0x76, 0x60, 0x22, + 0x79, 0xb2, 0x0a, 0x23, 0x16, 0x95, 0x6d, 0xfc, 0xda, 0xb5, 0xc1, 0x3e, 0xae, 0xaa, 0xd5, 0xe4, + 0x37, 0x07, 0xbd, 0x04, 0x1b, 0x94, 0xe7, 0xbf, 0x0d, 0xc6, 0xb5, 0x89, 0x3d, 0x51, 0x14, 0xdc, + 0xb7, 0x60, 0x26, 0x3d, 0x75, 0x27, 0xf2, 0x20, 0xf8, 0x1f, 0x05, 0x98, 0xce, 0x78, 0xb9, 0x62, + 0xd9, 0x48, 0x52, 0x0c, 0x35, 0x49, 0x3e, 0x62, 0xb2, 0xc5, 0xc2, 0x00, 0x6c, 0x51, 0xf2, 0xe8, + 0x62, 0x2e, 0x8f, 0x16, 0xac, 0x70, 0xe8, 0xa3, 0xb0, 0x42, 0xf3, 0xf4, 0x19, 0x1e, 0xe8, 0xf4, + 0x39, 0x05, 0xf6, 0x69, 0x1c, 0x60, 0xa3, 0x03, 0x1c, 0x60, 0x3f, 0x56, 0x80, 0x99, 0xb4, 0x85, + 0xef, 0x19, 0xbc, 0x77, 0xbc, 0x6d, 0xbc, 0x77, 0x64, 0xe7, 0xf6, 0x49, 0xdb, 0x1d, 0xe7, 0xbd, + 0x7d, 0xe0, 0xd4, 0xdb, 0xc7, 0xf3, 0x03, 0x51, 0xeb, 0xfd, 0x0e, 0xf2, 0xf7, 0x0b, 0x70, 0x21, + 0x5d, 0x65, 0xc5, 0x73, 0xdc, 0xbd, 0x33, 0x18, 0x9b, 0xdb, 0xc6, 0xd8, 0xbc, 0x34, 0xc8, 0xd7, + 0xb0, 0xae, 0xe5, 0x0e, 0xd0, 0xbd, 0xd4, 0x00, 0x2d, 0x0e, 0x4e, 0xb2, 0xf7, 0x28, 0x7d, 0xb3, + 0x08, 0x97, 0x32, 0xeb, 0x25, 0xcf, 0x05, 0x6b, 0xc6, 0x73, 0xc1, 0xb5, 0xd4, 0x73, 0x81, 0xdd, + 0xbb, 0xf6, 0xe9, 0xbc, 0x1f, 0x08, 0x77, 0x68, 0x16, 0x31, 0xf4, 0x21, 0xdf, 0x0e, 0x0c, 0x77, + 0x68, 0x45, 0x08, 0x9b, 0x74, 0xff, 0x26, 0xbd, 0x19, 0xfc, 0x8e, 0x05, 0x17, 0x33, 0xe7, 0xe6, + 0x0c, 0xf4, 0xea, 0x1b, 0xa6, 0x5e, 0xfd, 0xb9, 0x81, 0x57, 0x6b, 0x8e, 0xa2, 0xfd, 0x4f, 0x8b, + 0x39, 0xdf, 0xc2, 0x34, 0x93, 0xb7, 0x61, 0xdc, 0x69, 0x34, 0x48, 0x14, 0xad, 0x07, 0x4d, 0x15, + 0x41, 0xf3, 0x25, 0x26, 0x6d, 0x24, 0xc5, 0xc7, 0x87, 0xe5, 0xf9, 0x34, 0x89, 0x04, 0x8c, 0x75, + 0x0a, 0x66, 0xd0, 0xdf, 0xc2, 0xa9, 0x06, 0xfd, 0xbd, 0x06, 0xb0, 0xaf, 0xf4, 0x15, 0x69, 0x35, + 0xa7, 0xa6, 0xc9, 0xd0, 0xb0, 0xd0, 0x77, 0xb1, 0x5b, 0x00, 0x37, 0x06, 0xe2, 0x4b, 0xf1, 0x95, + 0x01, 0xe7, 0x4a, 0x37, 0x2c, 0xe2, 0x71, 0x37, 0x94, 0x4a, 0x58, 0x91, 0x44, 0xdf, 0x01, 0x33, + 0x11, 0x0f, 0xeb, 0xb4, 0xe2, 0x39, 0x11, 0x73, 0xe2, 0x12, 0xab, 0x90, 0x05, 0xd3, 0xa8, 0xa7, + 0x60, 0xb8, 0x0b, 0x1b, 0xad, 0xc9, 0x8f, 0x62, 0x31, 0xa8, 0xf8, 0xc2, 0xbc, 0x92, 0x7c, 0x90, + 0xc8, 0x85, 0x76, 0x3e, 0x3d, 0xfc, 0x6c, 0xe0, 0xb5, 0x9a, 0xf6, 0x8f, 0x0d, 0xc1, 0x13, 0x3d, + 0x98, 0x18, 0x5a, 0x32, 0x8d, 0x00, 0x5e, 0x48, 0xeb, 0xff, 0xe6, 0x33, 0x2b, 0x1b, 0x0a, 0xc1, + 0xd4, 0x5a, 0x29, 0x7c, 0xe4, 0xb5, 0xf2, 0xc3, 0x96, 0xa6, 0x99, 0xe5, 0xa6, 0xc2, 0x5f, 0x3c, + 0x21, 0x73, 0x3e, 0x45, 0x55, 0xed, 0x76, 0x86, 0xbe, 0xf3, 0xda, 0xc0, 0xdd, 0x19, 0x58, 0x01, + 0x7a, 0xb6, 0x4f, 0x46, 0x5f, 0xb3, 0xe0, 0xe9, 0xcc, 0xfe, 0x1a, 0x46, 0x4b, 0x8b, 0x50, 0x6a, + 0xd0, 0x42, 0xcd, 0x31, 0x34, 0xf1, 0x98, 0x97, 0x00, 0x9c, 0xe0, 0x18, 0xb6, 0x49, 0x85, 0xbe, + 0xb6, 0x49, 0xff, 0xca, 0x82, 0xae, 0x05, 0x7c, 0x06, 0x9c, 0xb4, 0x6a, 0x72, 0xd2, 0x4f, 0x0f, + 0x32, 0x97, 0x39, 0x4c, 0xf4, 0x0f, 0xa7, 0xe1, 0xb1, 0x1c, 0x4f, 0xb0, 0x7d, 0x98, 0x6d, 0x35, + 0x88, 0xe9, 0x72, 0x2b, 0x3e, 0x26, 0xd3, 0x3b, 0xb9, 0xa7, 0x7f, 0x2e, 0xbf, 0x10, 0x77, 0xa1, + 0xe0, 0xee, 0x26, 0xd0, 0xd7, 0x2c, 0x38, 0xef, 0xdc, 0x8f, 0xba, 0x52, 0x95, 0x8a, 0x35, 0xf3, + 0x6a, 0xa6, 0x9e, 0xb6, 0x4f, 0x6a, 0x53, 0x9e, 0xd5, 0x2b, 0x0b, 0x0b, 0x67, 0xb6, 0x85, 0xb0, + 0x08, 0x7a, 0x4c, 0xe5, 0xed, 0x1e, 0x4e, 0xe1, 0x59, 0x2e, 0x7b, 0x9c, 0xa7, 0x4a, 0x08, 0x56, + 0x74, 0xd0, 0x5d, 0x28, 0xb5, 0xa4, 0x1f, 0xad, 0xe0, 0xd9, 0x99, 0x87, 0x60, 0xa6, 0xb3, 0x2d, + 0xf7, 0x1d, 0x51, 0x20, 0x9c, 0x90, 0x42, 0x6f, 0x41, 0xd1, 0xdf, 0x8e, 0x7a, 0xa5, 0xc3, 0x4a, + 0xd9, 0xf2, 0xf1, 0x80, 0x0b, 0x1b, 0x6b, 0x75, 0x4c, 0x2b, 0xa2, 0x1b, 0x50, 0x0c, 0xb7, 0x9a, + 0xe2, 0x69, 0x21, 0x53, 0x2e, 0xc5, 0xcb, 0x95, 0xec, 0x45, 0xc2, 0x29, 0xe1, 0xe5, 0x0a, 0xa6, + 0x24, 0x50, 0x0d, 0x86, 0x99, 0xd3, 0x94, 0x78, 0x41, 0xc8, 0x14, 0x48, 0x7b, 0x38, 0x1f, 0xf2, + 0xa8, 0x0c, 0x0c, 0x01, 0x73, 0x42, 0xe8, 0x6d, 0x18, 0x69, 0xb0, 0x8c, 0x51, 0x42, 0xf1, 0x93, + 0x1d, 0xae, 0xab, 0x2b, 0xa7, 0x14, 0x7f, 0x41, 0xe5, 0xe5, 0x58, 0x50, 0x40, 0x9b, 0x30, 0xd2, + 0x20, 0xed, 0x9d, 0xed, 0x48, 0xe8, 0x73, 0x3e, 0x9b, 0x49, 0xab, 0x47, 0x82, 0x34, 0x41, 0x95, + 0x61, 0x60, 0x41, 0x0b, 0x7d, 0x1e, 0x0a, 0xdb, 0x0d, 0xe1, 0x49, 0x95, 0xf9, 0x86, 0x60, 0x46, + 0xca, 0x58, 0x1e, 0x39, 0x3a, 0x2c, 0x17, 0xd6, 0x56, 0x70, 0x61, 0xbb, 0x81, 0x36, 0x60, 0x74, + 0x9b, 0xfb, 0xd6, 0x8b, 0x00, 0x36, 0xcf, 0x66, 0xbb, 0xfd, 0x77, 0xb9, 0xdf, 0x73, 0x0f, 0x20, + 0x01, 0xc0, 0x92, 0x08, 0x8b, 0x17, 0xac, 0x62, 0x04, 0x88, 0xc0, 0xf9, 0x0b, 0x27, 0x8b, 0xeb, + 0x20, 0xd4, 0x1c, 0x8a, 0x0a, 0xd6, 0x28, 0xa2, 0xaf, 0x42, 0xc9, 0x91, 0xa9, 0x31, 0x45, 0x10, + 0x9c, 0x57, 0x32, 0xb7, 0x63, 0xef, 0xac, 0xa1, 0x7c, 0x2d, 0x2b, 0x24, 0x9c, 0x10, 0x45, 0xbb, + 0x30, 0xb9, 0x1f, 0xb5, 0x77, 0x88, 0xdc, 0xbe, 0x2c, 0x26, 0x4e, 0xce, 0x71, 0x75, 0x57, 0x20, + 0xba, 0x61, 0xdc, 0x71, 0xbc, 0x2e, 0x8e, 0xc3, 0x1c, 0xc7, 0xee, 0xea, 0xc4, 0xb0, 0x49, 0x9b, + 0x0e, 0xff, 0x07, 0x9d, 0x60, 0xeb, 0x20, 0x26, 0x22, 0xd2, 0x7e, 0xe6, 0xf0, 0xbf, 0xc3, 0x51, + 0xba, 0x87, 0x5f, 0x00, 0xb0, 0x24, 0x42, 0x37, 0xb8, 0x23, 0xd3, 0xce, 0x0a, 0x5d, 0xce, 0x73, + 0xb9, 0xc3, 0xd3, 0xd5, 0xdf, 0x64, 0x50, 0x18, 0x67, 0x4c, 0x48, 0x31, 0x8e, 0xd8, 0xde, 0x09, + 0xe2, 0xc0, 0x4f, 0x71, 0xe3, 0xd9, 0x7c, 0x8e, 0x58, 0xcb, 0xc0, 0xef, 0xe6, 0x88, 0x59, 0x58, + 0x38, 0xb3, 0x2d, 0xd4, 0x84, 0xa9, 0x76, 0x10, 0xc6, 0xf7, 0x83, 0x50, 0xae, 0x2f, 0xd4, 0xe3, + 0x92, 0x6f, 0x60, 0x8a, 0x16, 0x99, 0x1d, 0xb8, 0x09, 0xc1, 0x29, 0x9a, 0xe8, 0x4b, 0x30, 0x1a, + 0x35, 0x1c, 0x8f, 0x54, 0x6f, 0xcf, 0x9d, 0xcb, 0x3f, 0x6a, 0xea, 0x1c, 0x25, 0x67, 0x75, 0xb1, + 0xc9, 0x11, 0x28, 0x58, 0x92, 0x43, 0x6b, 0x30, 0xcc, 0xd2, 0xb7, 0xb0, 0x24, 0x01, 0x39, 0xc1, + 0xd6, 0xba, 0x6c, 0xa5, 0x39, 0x47, 0x62, 0xc5, 0x98, 0x57, 0xa7, 0x7b, 0x40, 0xc8, 0xba, 0x41, + 0x34, 0x77, 0x21, 0x7f, 0x0f, 0x08, 0x11, 0xf9, 0x76, 0xbd, 0xd7, 0x1e, 0x50, 0x48, 0x38, 0x21, + 0x4a, 0xf9, 0x31, 0xe5, 0xa1, 0x8f, 0xe5, 0xf3, 0xe3, 0x7c, 0x0e, 0xca, 0xf8, 0x31, 0xe5, 0x9f, + 0x94, 0x84, 0xfd, 0x47, 0xa3, 0xdd, 0xf2, 0x09, 0xbb, 0x1d, 0x7d, 0x9f, 0xd5, 0x65, 0x3a, 0xf0, + 0xb9, 0x41, 0x95, 0x35, 0xa7, 0x28, 0x99, 0x7e, 0xcd, 0x82, 0xc7, 0xda, 0x99, 0x1f, 0x22, 0x0e, + 0xfb, 0xc1, 0x74, 0x3e, 0xfc, 0xd3, 0x55, 0x22, 0x8f, 0x6c, 0x38, 0xce, 0x69, 0x29, 0x2d, 0xfd, + 0x17, 0x3f, 0xb2, 0xf4, 0xbf, 0x0e, 0x63, 0x4c, 0xa0, 0x4c, 0x22, 0xfb, 0x0d, 0x64, 0x80, 0xc7, + 0xc4, 0x86, 0x15, 0x51, 0x11, 0x2b, 0x12, 0xe8, 0x47, 0x2c, 0x78, 0x2a, 0xdd, 0x75, 0x4c, 0x18, + 0x58, 0x44, 0x89, 0xe6, 0x17, 0xb3, 0x35, 0xf1, 0xfd, 0x4f, 0xd5, 0x7a, 0x21, 0x1f, 0xf7, 0x43, + 0xc0, 0xbd, 0x1b, 0x43, 0x95, 0x8c, 0x9b, 0xe1, 0x88, 0xf9, 0xb2, 0x38, 0xc0, 0xed, 0xf0, 0x55, + 0x98, 0xd8, 0x0b, 0x3a, 0xbe, 0xf4, 0x8e, 0x11, 0xbe, 0xcf, 0x4c, 0x8b, 0xbd, 0xae, 0x95, 0x63, + 0x03, 0x2b, 0x75, 0xa7, 0x1c, 0x7b, 0xd8, 0x3b, 0x25, 0x7a, 0x2f, 0x95, 0x26, 0xbe, 0x94, 0x2f, + 0x5b, 0x88, 0xeb, 0xf7, 0x09, 0x92, 0xc5, 0x9f, 0xed, 0x3d, 0xe8, 0x1b, 0x56, 0x86, 0x00, 0xcf, + 0x6f, 0xc6, 0x5f, 0x30, 0x6f, 0xc6, 0x57, 0xd2, 0x37, 0xe3, 0x2e, 0x4d, 0xa8, 0x71, 0x29, 0x1e, + 0x3c, 0x46, 0xff, 0xa0, 0x01, 0x1a, 0x6d, 0x0f, 0x2e, 0xf7, 0x3b, 0x96, 0x98, 0xa9, 0x64, 0x53, + 0xd9, 0x10, 0x24, 0xa6, 0x92, 0xcd, 0x6a, 0x05, 0x33, 0xc8, 0xa0, 0x11, 0x7c, 0xec, 0xff, 0x6a, + 0x41, 0xb1, 0x16, 0x34, 0xcf, 0x40, 0xb3, 0xfb, 0x45, 0x43, 0xb3, 0xfb, 0x44, 0x4e, 0xfa, 0xfe, + 0x5c, 0x3d, 0xee, 0x6a, 0x4a, 0x8f, 0xfb, 0x54, 0x1e, 0x81, 0xde, 0x5a, 0xdb, 0x9f, 0x29, 0xc2, + 0x78, 0x2d, 0x68, 0x2a, 0x9b, 0xfb, 0x7f, 0xf3, 0x30, 0x36, 0xf7, 0xb9, 0xf1, 0x96, 0x35, 0xca, + 0xcc, 0xc2, 0x52, 0xba, 0xf3, 0xfe, 0x35, 0x33, 0xbd, 0xbf, 0x47, 0xdc, 0xd6, 0x4e, 0x4c, 0x9a, + 0xe9, 0xcf, 0x39, 0x3b, 0xd3, 0xfb, 0xff, 0x6c, 0xc1, 0x74, 0xaa, 0x75, 0xe4, 0x65, 0xf9, 0x06, + 0x3e, 0xa4, 0x46, 0x6f, 0xb6, 0xaf, 0x33, 0xe1, 0x02, 0x80, 0x7a, 0x36, 0x93, 0xda, 0x2e, 0x26, + 0xf5, 0xab, 0x77, 0xb5, 0x08, 0x6b, 0x18, 0xe8, 0x35, 0x18, 0x8f, 0x83, 0x76, 0xe0, 0x05, 0xad, + 0x83, 0x9b, 0x44, 0xc6, 0x8c, 0x52, 0x8f, 0x9b, 0x9b, 0x09, 0x08, 0xeb, 0x78, 0xf6, 0xcf, 0x15, + 0xf9, 0x87, 0xfa, 0xb1, 0xfb, 0xad, 0x35, 0xf9, 0xc9, 0x5e, 0x93, 0xdf, 0xb4, 0x60, 0x86, 0xb6, + 0xce, 0xac, 0xd7, 0xe4, 0x61, 0xab, 0x72, 0x85, 0x59, 0x3d, 0x72, 0x85, 0x5d, 0xa1, 0xbc, 0xab, + 0x19, 0x74, 0x62, 0xa1, 0x2d, 0xd3, 0x98, 0x13, 0x2d, 0xc5, 0x02, 0x2a, 0xf0, 0x48, 0x18, 0x0a, + 0x8f, 0x3f, 0x1d, 0x8f, 0x84, 0x21, 0x16, 0x50, 0x99, 0x4a, 0x6c, 0x28, 0x27, 0x95, 0x18, 0x8b, + 0x80, 0x29, 0x2c, 0xa6, 0x84, 0xd8, 0xa3, 0x45, 0xc0, 0x94, 0xa6, 0x54, 0x09, 0x8e, 0xfd, 0x8b, + 0x45, 0x98, 0xa8, 0x05, 0xcd, 0xe4, 0xe1, 0xea, 0x55, 0xe3, 0xe1, 0xea, 0x72, 0xea, 0xe1, 0x6a, + 0x46, 0xc7, 0xfd, 0xd6, 0x33, 0xd5, 0xc7, 0xf5, 0x4c, 0xf5, 0x2f, 0x2d, 0x36, 0x6b, 0x95, 0x8d, + 0xba, 0x48, 0xc6, 0xfd, 0x32, 0x8c, 0x33, 0x86, 0xc4, 0x5c, 0x4c, 0xe5, 0x6b, 0x0e, 0xcb, 0x68, + 0xb1, 0x91, 0x14, 0x63, 0x1d, 0x07, 0x5d, 0x85, 0xb1, 0x88, 0x38, 0x61, 0x63, 0x47, 0xf1, 0x38, + 0xf1, 0xd6, 0xc1, 0xcb, 0xb0, 0x82, 0xa2, 0x77, 0x92, 0xe0, 0x8b, 0xc5, 0xfc, 0xb4, 0xd2, 0x7a, + 0x7f, 0xf8, 0x16, 0xc9, 0x8f, 0xb8, 0x68, 0xdf, 0x03, 0xd4, 0x8d, 0x3f, 0x80, 0x19, 0x59, 0xd9, + 0x0c, 0xb3, 0x56, 0xea, 0x0a, 0xb1, 0xf6, 0x97, 0x16, 0x4c, 0xd5, 0x82, 0x26, 0xdd, 0xba, 0x7f, + 0x93, 0xf6, 0xa9, 0x1e, 0x79, 0x76, 0xa4, 0x47, 0xe4, 0xd9, 0x7f, 0x60, 0xc1, 0x68, 0x2d, 0x68, + 0x9e, 0x81, 0x8e, 0xfd, 0x0b, 0xa6, 0x8e, 0xfd, 0xf1, 0x9c, 0x25, 0x91, 0xa3, 0x56, 0xff, 0xe5, + 0x22, 0x4c, 0xd2, 0x7e, 0x06, 0x2d, 0x39, 0x4b, 0xc6, 0x88, 0x58, 0x03, 0x8c, 0x08, 0x15, 0x73, + 0x03, 0xcf, 0x0b, 0xee, 0xa7, 0x67, 0x6c, 0x8d, 0x95, 0x62, 0x01, 0x45, 0x2f, 0xc2, 0x58, 0x3b, + 0x24, 0xfb, 0x6e, 0xd0, 0x89, 0xd2, 0xde, 0xd4, 0x35, 0x51, 0x8e, 0x15, 0x06, 0xbd, 0x77, 0x45, + 0xae, 0xdf, 0x20, 0xd2, 0xbe, 0x6c, 0x88, 0xd9, 0x97, 0xf1, 0x90, 0xf2, 0x5a, 0x39, 0x36, 0xb0, + 0xd0, 0x3d, 0x28, 0xb1, 0xff, 0x8c, 0xa3, 0x9c, 0x3c, 0xc9, 0x99, 0xc8, 0xe3, 0x22, 0x08, 0xe0, + 0x84, 0x16, 0xba, 0x06, 0x10, 0x4b, 0x4b, 0xb8, 0x48, 0x38, 0xfb, 0x2b, 0x59, 0x5b, 0xd9, 0xc8, + 0x45, 0x58, 0xc3, 0x42, 0x2f, 0x40, 0x29, 0x76, 0x5c, 0xef, 0x96, 0xeb, 0x93, 0x48, 0x58, 0x12, + 0x8a, 0x34, 0x2d, 0xa2, 0x10, 0x27, 0x70, 0x2a, 0xeb, 0xb0, 0x50, 0x12, 0x3c, 0x45, 0xe2, 0x18, + 0xc3, 0x66, 0xb2, 0xce, 0x2d, 0x55, 0x8a, 0x35, 0x0c, 0xfb, 0x0d, 0xb8, 0x50, 0x0b, 0x9a, 0xb5, + 0x20, 0x8c, 0xd7, 0x82, 0xf0, 0xbe, 0x13, 0x36, 0xe5, 0xfc, 0x95, 0x65, 0xc6, 0x10, 0xca, 0x7b, + 0x86, 0xf9, 0xce, 0x34, 0x72, 0x81, 0xbc, 0xc2, 0xa4, 0x9d, 0x13, 0xba, 0x7d, 0xfd, 0xbb, 0x02, + 0x63, 0x14, 0xa9, 0xbc, 0x9d, 0xe8, 0x2b, 0x30, 0x15, 0x91, 0x5b, 0xae, 0xdf, 0x79, 0x20, 0xef, + 0xc7, 0x3d, 0x7c, 0xea, 0xea, 0xab, 0x3a, 0x26, 0xd7, 0xb2, 0x99, 0x65, 0x38, 0x45, 0x8d, 0x0e, + 0x61, 0xd8, 0xf1, 0x97, 0xa2, 0x3b, 0x11, 0x09, 0x45, 0xde, 0x48, 0x36, 0x84, 0x58, 0x16, 0xe2, + 0x04, 0x4e, 0x97, 0x0c, 0xfb, 0xb3, 0x11, 0xf8, 0x38, 0x08, 0x62, 0xb9, 0xc8, 0x58, 0xe6, 0x31, + 0xad, 0x1c, 0x1b, 0x58, 0x68, 0x0d, 0x50, 0xd4, 0x69, 0xb7, 0x3d, 0xf6, 0x00, 0xee, 0x78, 0xd7, + 0xc3, 0xa0, 0xd3, 0xe6, 0x8f, 0x8f, 0x22, 0x69, 0x57, 0xbd, 0x0b, 0x8a, 0x33, 0x6a, 0x50, 0xc6, + 0xb0, 0x1d, 0xb1, 0xdf, 0x22, 0x9a, 0x04, 0xd7, 0x7c, 0xd7, 0x59, 0x11, 0x96, 0x30, 0xfb, 0x7b, + 0xd8, 0x81, 0xc1, 0xd2, 0xfd, 0xc5, 0x9d, 0x90, 0xa0, 0x3d, 0x98, 0x6c, 0xb3, 0xa3, 0x5c, 0x04, + 0x4e, 0x17, 0x03, 0xf8, 0x70, 0x76, 0x83, 0x3c, 0xfd, 0x97, 0x4e, 0x0e, 0x9b, 0xd4, 0xed, 0x9f, + 0x99, 0x61, 0x7c, 0xa9, 0xce, 0xaf, 0x73, 0xa3, 0xc2, 0x1b, 0x40, 0xc8, 0xae, 0xf3, 0xf9, 0x7a, + 0x85, 0xe4, 0x08, 0x11, 0x1e, 0x05, 0x58, 0xd6, 0x45, 0xef, 0xb0, 0x57, 0x5b, 0xce, 0x0c, 0xfa, + 0xe5, 0x0d, 0xe7, 0x58, 0xc6, 0x03, 0xad, 0xa8, 0x88, 0x35, 0x22, 0xe8, 0x16, 0x4c, 0x8a, 0xec, + 0x70, 0x42, 0x71, 0x54, 0x34, 0x14, 0x03, 0x93, 0x58, 0x07, 0x1e, 0xa7, 0x0b, 0xb0, 0x59, 0x19, + 0xb5, 0xe0, 0x29, 0x2d, 0x55, 0x6a, 0x86, 0xed, 0x2a, 0xe7, 0x2d, 0x4f, 0x1f, 0x1d, 0x96, 0x9f, + 0xda, 0xec, 0x85, 0x88, 0x7b, 0xd3, 0x41, 0xb7, 0xe1, 0x82, 0xd3, 0x88, 0xdd, 0x7d, 0x52, 0x21, + 0x4e, 0xd3, 0x73, 0x7d, 0x62, 0x86, 0x17, 0xb9, 0x78, 0x74, 0x58, 0xbe, 0xb0, 0x94, 0x85, 0x80, + 0xb3, 0xeb, 0xa1, 0x2f, 0x40, 0xa9, 0xe9, 0x47, 0x62, 0x0c, 0x46, 0x8c, 0x2c, 0xc0, 0xa5, 0xca, + 0x46, 0x5d, 0x7d, 0x7f, 0xf2, 0x07, 0x27, 0x15, 0x50, 0x8b, 0x2b, 0x8f, 0xd4, 0x5d, 0x6d, 0xb4, + 0x2b, 0x66, 0x4c, 0xfa, 0xd6, 0x6f, 0xf8, 0xdd, 0x71, 0xad, 0xa9, 0xb2, 0x0c, 0x37, 0x5c, 0xf2, + 0x0c, 0xc2, 0xe8, 0x6d, 0x40, 0x54, 0x98, 0x71, 0x1b, 0x64, 0xa9, 0xc1, 0xe2, 0xd7, 0x33, 0x5d, + 0xdb, 0x98, 0xe1, 0xe6, 0x84, 0xea, 0x5d, 0x18, 0x38, 0xa3, 0x16, 0xba, 0x41, 0x39, 0x8a, 0x5e, + 0x2a, 0x0c, 0xf9, 0xa5, 0x00, 0x3c, 0x57, 0x21, 0xed, 0x90, 0x34, 0x9c, 0x98, 0x34, 0x4d, 0x8a, + 0x38, 0x55, 0x8f, 0x9e, 0x37, 0x2a, 0x95, 0x15, 0x98, 0xe6, 0xe7, 0xdd, 0xe9, 0xac, 0xe8, 0xdd, + 0x71, 0x27, 0x88, 0xe2, 0x0d, 0x12, 0xdf, 0x0f, 0xc2, 0x5d, 0x11, 0x13, 0x30, 0x09, 0x4f, 0x9b, + 0x80, 0xb0, 0x8e, 0x47, 0x65, 0x45, 0xf6, 0x6c, 0x5a, 0xad, 0xb0, 0x57, 0xac, 0xb1, 0x64, 0x9f, + 0xdc, 0xe0, 0xc5, 0x58, 0xc2, 0x25, 0x6a, 0xb5, 0xb6, 0xc2, 0x5e, 0xa4, 0x52, 0xa8, 0xd5, 0xda, + 0x0a, 0x96, 0x70, 0x44, 0xba, 0x33, 0x2c, 0x4f, 0xe5, 0x6b, 0xfe, 0xba, 0xf9, 0xf2, 0x80, 0x49, + 0x96, 0x7d, 0x98, 0x51, 0xb9, 0x9d, 0x79, 0xb0, 0xc4, 0x68, 0x6e, 0x9a, 0x2d, 0x92, 0xc1, 0x23, + 0x2d, 0x2a, 0x5d, 0x6a, 0x35, 0x45, 0x09, 0x77, 0xd1, 0x36, 0xc2, 0xd6, 0xcc, 0xf4, 0x4d, 0x45, + 0xb6, 0x08, 0xa5, 0xa8, 0xb3, 0xd5, 0x0c, 0xf6, 0x1c, 0xd7, 0x67, 0x0f, 0x48, 0x9a, 0x20, 0x52, + 0x97, 0x00, 0x9c, 0xe0, 0xa0, 0x35, 0x18, 0x73, 0xa4, 0xa2, 0x14, 0xe5, 0xc7, 0xb1, 0x50, 0xea, + 0x51, 0x26, 0x66, 0x2b, 0xd5, 0xa8, 0xaa, 0x8b, 0xde, 0x84, 0x49, 0xe1, 0x6a, 0x29, 0xac, 0xa4, + 0xcf, 0x99, 0x5e, 0x39, 0x75, 0x1d, 0x88, 0x4d, 0x5c, 0xf4, 0x5d, 0x30, 0x45, 0xa9, 0x24, 0x8c, + 0x6d, 0xee, 0xfc, 0x20, 0x1c, 0x51, 0x4b, 0x31, 0xa3, 0x57, 0xc6, 0x29, 0x62, 0xa8, 0x09, 0x4f, + 0x3a, 0x9d, 0x38, 0x60, 0xca, 0x66, 0x73, 0xfd, 0x6f, 0x06, 0xbb, 0xc4, 0x67, 0xef, 0x3c, 0x63, + 0xcb, 0x97, 0x8f, 0x0e, 0xcb, 0x4f, 0x2e, 0xf5, 0xc0, 0xc3, 0x3d, 0xa9, 0xa0, 0x3b, 0x30, 0x1e, + 0x07, 0x9e, 0x70, 0x6f, 0x88, 0xe6, 0x1e, 0xcb, 0x0f, 0xbb, 0xb5, 0xa9, 0xd0, 0x74, 0x45, 0x8b, + 0xaa, 0x8a, 0x75, 0x3a, 0x68, 0x93, 0xef, 0x31, 0x16, 0x90, 0x98, 0x44, 0x73, 0x8f, 0xe7, 0x0f, + 0x8c, 0x8a, 0x5b, 0x6c, 0x6e, 0x41, 0x51, 0x13, 0xeb, 0x64, 0xd0, 0x75, 0x98, 0x6d, 0x87, 0x6e, + 0xc0, 0x16, 0xb6, 0x52, 0xf4, 0xcf, 0x99, 0x59, 0x45, 0x6a, 0x69, 0x04, 0xdc, 0x5d, 0x87, 0x5e, + 0xc4, 0x64, 0xe1, 0xdc, 0x45, 0x9e, 0xa2, 0x8e, 0x0b, 0xa7, 0xbc, 0x0c, 0x2b, 0x28, 0x5a, 0x67, + 0x7c, 0x99, 0x5f, 0x99, 0xe6, 0xe6, 0xf3, 0xe3, 0x7f, 0xe8, 0x57, 0x2b, 0x2e, 0xb8, 0xa8, 0xbf, + 0x38, 0xa1, 0x40, 0xcf, 0x8d, 0x68, 0xc7, 0x09, 0x49, 0x2d, 0x0c, 0x1a, 0x84, 0x77, 0x86, 0x9b, + 0x93, 0x3f, 0xc1, 0xe3, 0xa6, 0xd2, 0x73, 0xa3, 0x9e, 0x85, 0x80, 0xb3, 0xeb, 0xcd, 0x7f, 0x3b, + 0xcc, 0x76, 0x71, 0xf2, 0x13, 0x99, 0xc2, 0xff, 0xc5, 0x30, 0x94, 0x94, 0x22, 0x17, 0x2d, 0x9a, + 0xfa, 0xf9, 0x8b, 0x69, 0xfd, 0xfc, 0x18, 0x95, 0x27, 0x75, 0x95, 0xfc, 0xa6, 0x61, 0xc8, 0x55, + 0xc8, 0x4f, 0x5d, 0xa7, 0x6b, 0x31, 0xfa, 0xfa, 0xad, 0x6a, 0xf7, 0xf2, 0xe2, 0xc0, 0x8a, 0xfe, + 0xa1, 0x9e, 0x57, 0xfd, 0x01, 0xb3, 0x71, 0xd3, 0xab, 0x6b, 0x3b, 0x68, 0x56, 0x6b, 0xe9, 0xf4, + 0xb4, 0x35, 0x5a, 0x88, 0x39, 0x8c, 0x5d, 0x3e, 0xa8, 0xd8, 0xc1, 0x2e, 0x1f, 0xa3, 0x0f, 0x79, + 0xf9, 0x90, 0x04, 0x70, 0x42, 0x0b, 0x79, 0x30, 0xdb, 0x30, 0x33, 0x0b, 0x2b, 0x5f, 0xd5, 0x67, + 0xfa, 0xe6, 0xf8, 0xed, 0x68, 0x29, 0x07, 0x57, 0xd2, 0x54, 0x70, 0x37, 0x61, 0xf4, 0x26, 0x8c, + 0x7d, 0x10, 0x44, 0x6c, 0x5b, 0x88, 0xb3, 0x57, 0x7a, 0x07, 0x8e, 0xbd, 0x73, 0xbb, 0xce, 0xca, + 0x8f, 0x0f, 0xcb, 0xe3, 0xb5, 0xa0, 0x29, 0xff, 0x62, 0x55, 0x01, 0x3d, 0x80, 0x0b, 0x06, 0xc7, + 0x52, 0xdd, 0x85, 0xc1, 0xbb, 0xfb, 0x94, 0x68, 0xee, 0x42, 0x35, 0x8b, 0x12, 0xce, 0x6e, 0x80, + 0xb2, 0x01, 0x3f, 0x10, 0x59, 0xb9, 0xe5, 0xf9, 0xce, 0x8e, 0xf1, 0x92, 0x1e, 0x64, 0x21, 0x85, + 0x80, 0xbb, 0xeb, 0xd8, 0xbf, 0xc6, 0xf5, 0xde, 0x42, 0x3b, 0x46, 0xa2, 0x8e, 0x77, 0x16, 0x09, + 0xca, 0x56, 0x0d, 0xc5, 0xdd, 0x43, 0xbf, 0xad, 0xfc, 0x96, 0xc5, 0xde, 0x56, 0x36, 0xc9, 0x5e, + 0xdb, 0x73, 0xe2, 0xb3, 0xf0, 0xa4, 0x78, 0x07, 0xc6, 0x62, 0xd1, 0x5a, 0xaf, 0x9c, 0x6a, 0x5a, + 0xa7, 0xd8, 0xfb, 0x92, 0x3a, 0xf9, 0x65, 0x29, 0x56, 0x64, 0xec, 0x7f, 0xc6, 0x67, 0x40, 0x42, + 0xce, 0x40, 0x89, 0x52, 0x31, 0x95, 0x28, 0xe5, 0x3e, 0x5f, 0x90, 0xa3, 0x4c, 0xf9, 0xa7, 0x66, + 0xbf, 0xd9, 0x25, 0xeb, 0x93, 0xfe, 0xa8, 0x67, 0xff, 0x84, 0x05, 0xe7, 0xb3, 0xac, 0x60, 0xa8, + 0xb4, 0xc6, 0xaf, 0x78, 0xea, 0x91, 0x53, 0x8d, 0xe0, 0x5d, 0x51, 0x8e, 0x15, 0xc6, 0xc0, 0xe9, + 0x4a, 0x4e, 0x16, 0x53, 0xef, 0x36, 0x98, 0xd9, 0xac, 0xd1, 0x5b, 0xdc, 0x35, 0xca, 0x52, 0xe9, + 0xa6, 0x4f, 0xe6, 0x16, 0x65, 0xff, 0x7c, 0x01, 0xce, 0xf3, 0x57, 0x8a, 0xa5, 0xfd, 0xc0, 0x6d, + 0xd6, 0x82, 0xa6, 0x70, 0x14, 0x7b, 0x17, 0x26, 0xda, 0xda, 0xbd, 0xbc, 0x57, 0x54, 0x2f, 0xfd, + 0xfe, 0x9e, 0xdc, 0x8f, 0xf4, 0x52, 0x6c, 0xd0, 0x42, 0x4d, 0x98, 0x20, 0xfb, 0x6e, 0x43, 0xa9, + 0xba, 0x0b, 0x27, 0x3e, 0x1b, 0x54, 0x2b, 0xab, 0x1a, 0x1d, 0x6c, 0x50, 0x7d, 0x04, 0xd9, 0x07, + 0xed, 0x9f, 0xb4, 0xe0, 0xf1, 0x9c, 0x18, 0x60, 0xb4, 0xb9, 0xfb, 0xec, 0x3d, 0x48, 0x24, 0x32, + 0x53, 0xcd, 0xf1, 0x57, 0x22, 0x2c, 0xa0, 0xe8, 0x4b, 0x00, 0xfc, 0x95, 0x87, 0x5e, 0x17, 0xc4, + 0xa7, 0x0f, 0x16, 0x1b, 0x47, 0x0b, 0xa0, 0x22, 0xeb, 0x63, 0x8d, 0x96, 0xfd, 0xb3, 0x45, 0x18, + 0x66, 0xaf, 0x0a, 0x68, 0x0d, 0x46, 0x77, 0x78, 0xc4, 0xf1, 0x41, 0x82, 0x9b, 0x27, 0xf7, 0x2e, + 0x5e, 0x80, 0x65, 0x65, 0xb4, 0x0e, 0xe7, 0x84, 0x33, 0x62, 0x85, 0x78, 0xce, 0x81, 0xbc, 0xbe, + 0xf3, 0xe4, 0x5f, 0x2a, 0xdd, 0x5d, 0xb5, 0x1b, 0x05, 0x67, 0xd5, 0x43, 0x6f, 0x75, 0xc5, 0x19, + 0xe5, 0xb1, 0xda, 0x95, 0xb0, 0xdf, 0x27, 0xd6, 0xe8, 0x9b, 0x30, 0xd9, 0xee, 0x52, 0x54, 0x0c, + 0x27, 0x17, 0x11, 0x53, 0x39, 0x61, 0xe2, 0x32, 0xf3, 0x97, 0x0e, 0x33, 0xf6, 0xd9, 0xdc, 0x09, + 0x49, 0xb4, 0x13, 0x78, 0x4d, 0x91, 0x8f, 0x3f, 0x31, 0x7f, 0x49, 0xc1, 0x71, 0x57, 0x0d, 0x4a, + 0x65, 0xdb, 0x71, 0xbd, 0x4e, 0x48, 0x12, 0x2a, 0x23, 0x26, 0x95, 0xb5, 0x14, 0x1c, 0x77, 0xd5, + 0xa0, 0xeb, 0xe8, 0x82, 0x48, 0xe6, 0x2e, 0x43, 0x54, 0x28, 0x9b, 0xa6, 0x51, 0xe9, 0xaa, 0xd2, + 0x23, 0x6c, 0x92, 0xb0, 0xfa, 0x50, 0xe9, 0xe0, 0xb5, 0x54, 0xc1, 0xc2, 0x49, 0x45, 0x52, 0x79, + 0x98, 0x94, 0xe2, 0x7f, 0x64, 0xc1, 0xb9, 0x0c, 0xdb, 0x49, 0xce, 0xaa, 0x5a, 0x6e, 0x14, 0xab, + 0x04, 0x47, 0x1a, 0xab, 0xe2, 0xe5, 0x58, 0x61, 0xd0, 0xfd, 0xc0, 0x99, 0x61, 0x9a, 0x01, 0x0a, + 0xdb, 0x24, 0x01, 0x3d, 0x19, 0x03, 0x44, 0x97, 0x61, 0xa8, 0x13, 0x91, 0x50, 0xe6, 0xe2, 0x96, + 0xfc, 0x9b, 0xa9, 0x3e, 0x19, 0x84, 0x8a, 0xa6, 0x2d, 0xa5, 0x75, 0xd4, 0x44, 0x53, 0xae, 0x77, + 0xe4, 0x30, 0xfb, 0xeb, 0x45, 0xb8, 0x98, 0x6b, 0x1b, 0x4d, 0xbb, 0xb4, 0x17, 0xf8, 0x6e, 0x1c, + 0xa8, 0x17, 0x2b, 0x1e, 0xdf, 0x87, 0xb4, 0x77, 0xd6, 0x45, 0x39, 0x56, 0x18, 0xe8, 0x0a, 0x0c, + 0xb3, 0x9b, 0x7d, 0x57, 0x0a, 0xa7, 0xe5, 0x0a, 0x0f, 0x3b, 0xc1, 0xc1, 0x03, 0xa7, 0xc7, 0x7b, + 0x06, 0x86, 0xda, 0x41, 0xe0, 0xa5, 0x99, 0x11, 0xed, 0x6e, 0x10, 0x78, 0x98, 0x01, 0xd1, 0x67, + 0xc4, 0x38, 0xa4, 0x9e, 0x68, 0xb0, 0xd3, 0x0c, 0x22, 0x6d, 0x30, 0x9e, 0x83, 0xd1, 0x5d, 0x72, + 0x10, 0xba, 0x7e, 0x2b, 0xfd, 0x74, 0x77, 0x93, 0x17, 0x63, 0x09, 0x37, 0x33, 0x98, 0x8c, 0x9e, + 0x76, 0x5e, 0xbb, 0xb1, 0xbe, 0x47, 0xdb, 0x0f, 0x17, 0x61, 0x1a, 0x2f, 0x57, 0xbe, 0x35, 0x11, + 0x77, 0xba, 0x27, 0xe2, 0xb4, 0xf3, 0xda, 0xf5, 0x9f, 0x8d, 0x5f, 0xb6, 0x60, 0x9a, 0x45, 0xf9, + 0x16, 0xf1, 0x69, 0xdc, 0xc0, 0x3f, 0x03, 0xd1, 0xed, 0x19, 0x18, 0x0e, 0x69, 0xa3, 0xe9, 0x64, + 0x55, 0xac, 0x27, 0x98, 0xc3, 0xd0, 0x93, 0x30, 0xc4, 0xba, 0x40, 0x27, 0x6f, 0x82, 0xe7, 0xf9, + 0xa8, 0x38, 0xb1, 0x83, 0x59, 0x29, 0x73, 0x14, 0xc6, 0xa4, 0xed, 0xb9, 0xbc, 0xd3, 0x89, 0xaa, + 0xff, 0x93, 0xe1, 0x28, 0x9c, 0xd9, 0xb5, 0x8f, 0xe6, 0x28, 0x9c, 0x4d, 0xb2, 0xf7, 0xb5, 0xe8, + 0xbf, 0x15, 0xe0, 0x52, 0x66, 0xbd, 0x81, 0x1d, 0x85, 0x7b, 0xd7, 0x3e, 0x1d, 0x0b, 0x8c, 0x6c, + 0xc3, 0x88, 0xe2, 0x19, 0x1a, 0x46, 0x0c, 0x0d, 0x2a, 0x39, 0x0e, 0x0f, 0xe0, 0xbf, 0x9b, 0x39, + 0x64, 0x9f, 0x10, 0xff, 0xdd, 0xcc, 0xbe, 0xe5, 0x5c, 0xeb, 0xfe, 0xaa, 0x90, 0xf3, 0x2d, 0xec, + 0x82, 0x77, 0x95, 0xf2, 0x19, 0x06, 0x8c, 0x84, 0x24, 0x3c, 0xc1, 0x79, 0x0c, 0x2f, 0xc3, 0x0a, + 0x8a, 0x5c, 0xcd, 0x13, 0xb6, 0x90, 0x9f, 0xca, 0x34, 0xb7, 0xa9, 0x05, 0xf3, 0x65, 0x46, 0x0f, + 0xa6, 0x93, 0xf6, 0x8a, 0x5d, 0xd7, 0x2e, 0xe5, 0xc5, 0xc1, 0x2f, 0xe5, 0x13, 0xd9, 0x17, 0x72, + 0xb4, 0x04, 0xd3, 0x7b, 0xae, 0x4f, 0xd9, 0xe6, 0x81, 0x29, 0x8a, 0xaa, 0xc0, 0x10, 0xeb, 0x26, + 0x18, 0xa7, 0xf1, 0xe7, 0xdf, 0x84, 0xc9, 0x87, 0x57, 0x47, 0x7e, 0xb3, 0x08, 0x4f, 0xf4, 0xd8, + 0xf6, 0x9c, 0xd7, 0x1b, 0x73, 0xa0, 0xf1, 0xfa, 0xae, 0x79, 0xa8, 0xc1, 0xf9, 0xed, 0x8e, 0xe7, + 0x1d, 0x30, 0xdb, 0x43, 0xd2, 0x94, 0x18, 0x42, 0x56, 0x54, 0x21, 0xfc, 0xd7, 0x32, 0x70, 0x70, + 0x66, 0x4d, 0xf4, 0x36, 0xa0, 0x40, 0xe4, 0x51, 0x4e, 0x42, 0x04, 0xb1, 0x81, 0x2f, 0x26, 0x9b, + 0xf1, 0x76, 0x17, 0x06, 0xce, 0xa8, 0x45, 0x85, 0x7e, 0x7a, 0x2a, 0x1d, 0xa8, 0x6e, 0xa5, 0x84, + 0x7e, 0xac, 0x03, 0xb1, 0x89, 0x8b, 0xae, 0xc3, 0xac, 0xb3, 0xef, 0xb8, 0x3c, 0x64, 0xa4, 0x24, + 0xc0, 0xa5, 0x7e, 0xa5, 0x04, 0x5b, 0x4a, 0x23, 0xe0, 0xee, 0x3a, 0x29, 0x57, 0xdc, 0x91, 0x7c, + 0x57, 0xdc, 0xde, 0x7c, 0xb1, 0x9f, 0x4e, 0xd7, 0xfe, 0x8f, 0x16, 0x3d, 0xbe, 0xb8, 0xf0, 0x6e, + 0x86, 0xcf, 0x7a, 0x13, 0x26, 0x95, 0x6e, 0x52, 0xf3, 0x8a, 0x55, 0xe3, 0xb0, 0xa2, 0x03, 0xb1, + 0x89, 0xcb, 0x17, 0x44, 0x94, 0x38, 0x68, 0x18, 0xa2, 0xbb, 0x70, 0x7b, 0x57, 0x18, 0xe8, 0xcb, + 0x30, 0xda, 0x74, 0xf7, 0xdd, 0x28, 0x08, 0xc5, 0x66, 0x39, 0xa1, 0x99, 0x7b, 0xc2, 0x07, 0x2b, + 0x9c, 0x0c, 0x96, 0xf4, 0xec, 0x1f, 0x2e, 0xc0, 0xa4, 0x6c, 0xf1, 0x9d, 0x4e, 0x10, 0x3b, 0x67, + 0x70, 0x2c, 0x5f, 0x37, 0x8e, 0xe5, 0xcf, 0xf4, 0xf2, 0xfd, 0x67, 0x5d, 0xca, 0x3d, 0x8e, 0x6f, + 0xa7, 0x8e, 0xe3, 0x67, 0xfb, 0x93, 0xea, 0x7d, 0x0c, 0xff, 0x73, 0x0b, 0x66, 0x0d, 0xfc, 0x33, + 0x38, 0x0d, 0xd6, 0xcc, 0xd3, 0xe0, 0xe9, 0xbe, 0xdf, 0x90, 0x73, 0x0a, 0x7c, 0xa3, 0x90, 0xea, + 0x3b, 0xe3, 0xfe, 0x1f, 0xc0, 0xd0, 0x8e, 0x13, 0x36, 0x7b, 0x05, 0x3e, 0xee, 0xaa, 0xb4, 0x70, + 0xc3, 0x09, 0x9b, 0x9c, 0x87, 0xbf, 0xa8, 0xb2, 0xaf, 0x3a, 0x61, 0xb3, 0xaf, 0x3f, 0x12, 0x6b, + 0x0a, 0xbd, 0x01, 0x23, 0x51, 0x23, 0x68, 0x2b, 0x6b, 0xc1, 0xcb, 0x3c, 0x33, 0x2b, 0x2d, 0x39, + 0x3e, 0x2c, 0x23, 0xb3, 0x39, 0x5a, 0x8c, 0x05, 0xfe, 0x7c, 0x0b, 0x4a, 0xaa, 0xe9, 0x47, 0xea, + 0xeb, 0xf1, 0xfb, 0x45, 0x38, 0x97, 0xb1, 0x2e, 0x50, 0x64, 0x8c, 0xd6, 0xcb, 0x03, 0x2e, 0xa7, + 0x8f, 0x38, 0x5e, 0x11, 0xbb, 0xb1, 0x34, 0xc5, 0xfc, 0x0f, 0xdc, 0xe8, 0x9d, 0x88, 0xa4, 0x1b, + 0xa5, 0x45, 0xfd, 0x1b, 0xa5, 0x8d, 0x9d, 0xd9, 0x50, 0xd3, 0x86, 0x54, 0x4f, 0x1f, 0xe9, 0x9c, + 0xfe, 0x79, 0x11, 0xce, 0x67, 0x85, 0x0c, 0x41, 0xdf, 0x9d, 0x4a, 0xa3, 0xf4, 0xea, 0xa0, 0xc1, + 0x46, 0x78, 0x6e, 0x25, 0x11, 0x63, 0x6d, 0xc1, 0x4c, 0xac, 0xd4, 0x77, 0x98, 0x45, 0x9b, 0xcc, + 0x41, 0x30, 0xe4, 0xe9, 0xaf, 0xe4, 0x16, 0xff, 0xdc, 0xc0, 0x1d, 0x10, 0x79, 0xb3, 0xa2, 0x94, + 0x83, 0xa0, 0x2c, 0xee, 0xef, 0x20, 0x28, 0x5b, 0x9e, 0x77, 0x61, 0x5c, 0xfb, 0x9a, 0x47, 0x3a, + 0xe3, 0xbb, 0xf4, 0x44, 0xd1, 0xfa, 0xfd, 0x48, 0x67, 0xfd, 0x27, 0x2d, 0x48, 0xd9, 0xe8, 0x29, + 0x95, 0x94, 0x95, 0xab, 0x92, 0xba, 0x0c, 0x43, 0x61, 0xe0, 0x91, 0x74, 0x66, 0x1d, 0x1c, 0x78, + 0x04, 0x33, 0x08, 0xc5, 0x88, 0x13, 0x85, 0xc4, 0x84, 0x7e, 0xd9, 0x12, 0xd7, 0xa8, 0x67, 0x60, + 0xd8, 0x23, 0xfb, 0x44, 0x6a, 0x23, 0x14, 0x4f, 0xbe, 0x45, 0x0b, 0x31, 0x87, 0xd9, 0xbf, 0x3c, + 0x04, 0x4f, 0xf5, 0x74, 0xb1, 0xa5, 0x57, 0x96, 0x96, 0x13, 0x93, 0xfb, 0xce, 0x41, 0x3a, 0xee, + 0xf7, 0x75, 0x5e, 0x8c, 0x25, 0x9c, 0x59, 0x14, 0xf3, 0xd0, 0xa1, 0x29, 0x05, 0x9e, 0x88, 0x18, + 0x2a, 0xa0, 0xa6, 0xe2, 0xa8, 0x78, 0x1a, 0x8a, 0xa3, 0x6b, 0x00, 0x51, 0xe4, 0xad, 0xfa, 0x54, + 0x02, 0x6b, 0x0a, 0x53, 0xe5, 0x24, 0xc4, 0x6c, 0xfd, 0x96, 0x80, 0x60, 0x0d, 0x0b, 0x55, 0x60, + 0xa6, 0x1d, 0x06, 0x31, 0xd7, 0x87, 0x56, 0xb8, 0x91, 0xcc, 0xb0, 0xe9, 0xdd, 0x58, 0x4b, 0xc1, + 0x71, 0x57, 0x0d, 0xf4, 0x1a, 0x8c, 0x0b, 0x8f, 0xc7, 0x5a, 0x10, 0x78, 0x42, 0x55, 0xa3, 0x4c, + 0x2e, 0xea, 0x09, 0x08, 0xeb, 0x78, 0x5a, 0x35, 0xa6, 0x64, 0x1d, 0xcd, 0xac, 0xc6, 0x15, 0xad, + 0x1a, 0x5e, 0x2a, 0x7c, 0xd0, 0xd8, 0x40, 0xe1, 0x83, 0x12, 0xe5, 0x55, 0x69, 0xe0, 0x77, 0x25, + 0xe8, 0xab, 0xee, 0xf9, 0x85, 0x21, 0x38, 0x27, 0x16, 0xce, 0xa3, 0x5e, 0x2e, 0x77, 0xba, 0x97, + 0xcb, 0x69, 0xa8, 0xb7, 0xbe, 0xb5, 0x66, 0xce, 0x7a, 0xcd, 0xfc, 0x5a, 0x11, 0x46, 0xf8, 0x54, + 0x9c, 0x81, 0x0c, 0xbf, 0x26, 0x94, 0x7e, 0x3d, 0x02, 0xe7, 0xf0, 0xbe, 0x2c, 0x54, 0x9c, 0xd8, + 0xe1, 0xe7, 0x97, 0x62, 0xa3, 0x89, 0x7a, 0x10, 0x2d, 0x18, 0x8c, 0x76, 0x3e, 0xa5, 0xd5, 0x02, + 0x4e, 0x43, 0x63, 0xbb, 0x5f, 0x01, 0x88, 0xe2, 0xd0, 0xf5, 0x5b, 0x94, 0x86, 0x08, 0xc1, 0xf4, + 0x7c, 0x8f, 0xd6, 0xeb, 0x0a, 0x99, 0xf7, 0x21, 0x59, 0x82, 0x0a, 0x80, 0x35, 0x8a, 0xf3, 0xaf, + 0x43, 0x49, 0x21, 0xf7, 0x53, 0x01, 0x4c, 0xe8, 0xa7, 0xde, 0x17, 0x61, 0x3a, 0xd5, 0xd6, 0x89, + 0x34, 0x08, 0xbf, 0x62, 0xc1, 0x34, 0xef, 0xf2, 0xaa, 0xbf, 0x2f, 0x36, 0xfb, 0x87, 0x70, 0xde, + 0xcb, 0xd8, 0x74, 0x62, 0x46, 0x07, 0xdf, 0xa4, 0x4a, 0x63, 0x90, 0x05, 0xc5, 0x99, 0x6d, 0xa0, + 0xab, 0x30, 0xc6, 0x5d, 0x70, 0x1c, 0x4f, 0xb8, 0x4d, 0x4c, 0xf0, 0x54, 0x1c, 0xbc, 0x0c, 0x2b, + 0xa8, 0xfd, 0x07, 0x16, 0xcc, 0xf2, 0x9e, 0xdf, 0x24, 0x07, 0xea, 0x76, 0xfc, 0x71, 0xf6, 0x5d, + 0x64, 0x1a, 0x29, 0xe4, 0x64, 0x1a, 0xd1, 0x3f, 0xad, 0xd8, 0xf3, 0xd3, 0x7e, 0xde, 0x02, 0xb1, + 0x02, 0xcf, 0xe0, 0x1e, 0xf8, 0xed, 0xe6, 0x3d, 0x70, 0x3e, 0x7f, 0x51, 0xe7, 0x5c, 0x00, 0xff, + 0xd2, 0x82, 0x19, 0x8e, 0x90, 0x3c, 0x44, 0x7e, 0xac, 0xf3, 0x30, 0x48, 0xfa, 0x3b, 0x95, 0x6f, + 0x3c, 0xfb, 0xa3, 0x8c, 0xc9, 0x1a, 0xea, 0x39, 0x59, 0x4d, 0xb9, 0x81, 0x4e, 0x90, 0xd6, 0xf1, + 0xc4, 0xc1, 0x71, 0xed, 0x3f, 0xb3, 0x00, 0xf1, 0x66, 0x8c, 0x73, 0x99, 0x9e, 0x76, 0xac, 0x54, + 0xd3, 0x04, 0x25, 0xac, 0x46, 0x41, 0xb0, 0x86, 0x75, 0x2a, 0xc3, 0x93, 0x7a, 0x4d, 0x2e, 0xf6, + 0x7f, 0x4d, 0x3e, 0xc1, 0x88, 0xfe, 0xd0, 0x10, 0xa4, 0x6d, 0xb4, 0xd1, 0x5d, 0x98, 0x68, 0x38, + 0x6d, 0x67, 0xcb, 0xf5, 0xdc, 0xd8, 0x25, 0x51, 0x2f, 0x33, 0x94, 0x15, 0x0d, 0x4f, 0xbc, 0x13, + 0x6a, 0x25, 0xd8, 0xa0, 0x83, 0x16, 0x00, 0xda, 0xa1, 0xbb, 0xef, 0x7a, 0xa4, 0xc5, 0xae, 0xc2, + 0xcc, 0x51, 0x8b, 0xdb, 0x56, 0xc8, 0x52, 0xac, 0x61, 0x64, 0x38, 0xf6, 0x14, 0x1f, 0x9d, 0x63, + 0xcf, 0xd0, 0x09, 0x1d, 0x7b, 0x86, 0x07, 0x72, 0xec, 0xc1, 0xf0, 0x98, 0x3c, 0xbb, 0xe9, 0xff, + 0x35, 0xd7, 0x23, 0x42, 0x60, 0xe3, 0xee, 0x5b, 0xf3, 0x47, 0x87, 0xe5, 0xc7, 0x70, 0x26, 0x06, + 0xce, 0xa9, 0x89, 0xbe, 0x04, 0x73, 0x8e, 0xe7, 0x05, 0xf7, 0xd5, 0xa8, 0xad, 0x46, 0x0d, 0xc7, + 0x4b, 0x62, 0xc5, 0x8f, 0x2d, 0x3f, 0x79, 0x74, 0x58, 0x9e, 0x5b, 0xca, 0xc1, 0xc1, 0xb9, 0xb5, + 0xed, 0x5d, 0x38, 0x57, 0x27, 0xa1, 0xcc, 0x14, 0xab, 0xb6, 0xd8, 0x26, 0x94, 0xc2, 0x14, 0x53, + 0x19, 0x28, 0x46, 0x8b, 0x16, 0xc7, 0x53, 0x32, 0x91, 0x84, 0x90, 0xfd, 0x17, 0x16, 0x8c, 0x0a, + 0xbb, 0xef, 0x33, 0x90, 0x65, 0x96, 0x0c, 0x7d, 0x64, 0x39, 0x9b, 0xf1, 0xb2, 0xce, 0xe4, 0x6a, + 0x22, 0xab, 0x29, 0x4d, 0xe4, 0xd3, 0xbd, 0x88, 0xf4, 0xd6, 0x41, 0xfe, 0x78, 0x11, 0xa6, 0x4c, + 0x9b, 0xf7, 0x33, 0x18, 0x82, 0x0d, 0x18, 0x8d, 0x84, 0x83, 0x45, 0x21, 0xdf, 0x10, 0x36, 0x3d, + 0x89, 0x89, 0x95, 0x8b, 0x70, 0xa9, 0x90, 0x44, 0x32, 0x3d, 0x37, 0x8a, 0x8f, 0xd0, 0x73, 0xa3, + 0x9f, 0xdb, 0xc1, 0xd0, 0x69, 0xb8, 0x1d, 0xd8, 0xbf, 0xce, 0x98, 0xbf, 0x5e, 0x7e, 0x06, 0x72, + 0xc1, 0x75, 0xf3, 0x98, 0xb0, 0x7b, 0xac, 0x2c, 0xd1, 0xa9, 0x1c, 0xf9, 0xe0, 0x1f, 0x5b, 0x30, + 0x2e, 0x10, 0xcf, 0xa0, 0xdb, 0xdf, 0x61, 0x76, 0xfb, 0x89, 0x1e, 0xdd, 0xce, 0xe9, 0xef, 0xdf, + 0x2d, 0xa8, 0xfe, 0xd6, 0x82, 0x30, 0x1e, 0x28, 0x77, 0xc8, 0x18, 0xbd, 0x0d, 0x06, 0x8d, 0xc0, + 0x13, 0x87, 0xf9, 0x93, 0x89, 0x07, 0x2f, 0x2f, 0x3f, 0xd6, 0x7e, 0x63, 0x85, 0xcd, 0x1c, 0x4c, + 0x83, 0x30, 0x16, 0x07, 0x68, 0xe2, 0x60, 0x1a, 0x84, 0x31, 0x66, 0x10, 0xd4, 0x04, 0x88, 0x9d, + 0xb0, 0x45, 0x62, 0x5a, 0x26, 0x82, 0x01, 0xe4, 0xef, 0xc2, 0x4e, 0xec, 0x7a, 0x0b, 0xae, 0x1f, + 0x47, 0x71, 0xb8, 0x50, 0xf5, 0xe3, 0xdb, 0x21, 0xbf, 0x1b, 0x68, 0x2e, 0xb9, 0x8a, 0x16, 0xd6, + 0xe8, 0x4a, 0x9f, 0x30, 0xd6, 0xc6, 0xb0, 0xf9, 0x50, 0xb8, 0x21, 0xca, 0xb1, 0xc2, 0xb0, 0x5f, + 0x67, 0x3c, 0x99, 0x0d, 0xd0, 0xc9, 0xbc, 0x65, 0x7f, 0x77, 0x4c, 0x0d, 0x2d, 0x7b, 0x25, 0xa8, + 0xe8, 0x3e, 0xb9, 0xbd, 0x59, 0x20, 0x6d, 0x58, 0xf7, 0x2f, 0x48, 0x1c, 0x77, 0xd1, 0x77, 0x76, + 0xbd, 0x1f, 0xbf, 0xd4, 0x87, 0x97, 0x9e, 0xe0, 0xc5, 0x98, 0x05, 0xa0, 0x65, 0x81, 0x3a, 0xab, + 0xb5, 0x74, 0x76, 0x97, 0x15, 0x09, 0xc0, 0x09, 0x0e, 0x5a, 0x14, 0x37, 0x4b, 0xae, 0x9f, 0x7b, + 0x22, 0x75, 0xb3, 0x94, 0x9f, 0xaf, 0x5d, 0x2d, 0x5f, 0x86, 0x71, 0x95, 0x31, 0xaf, 0xc6, 0x13, + 0x8f, 0x89, 0xd0, 0x08, 0xab, 0x49, 0x31, 0xd6, 0x71, 0xd0, 0x26, 0x4c, 0x47, 0x3c, 0x9d, 0x9f, + 0x8a, 0x80, 0xc5, 0xf5, 0x06, 0xcf, 0xcb, 0x77, 0xe7, 0xba, 0x09, 0x3e, 0x66, 0x45, 0x7c, 0xb3, + 0x4a, 0xc7, 0xae, 0x34, 0x09, 0xf4, 0x16, 0x4c, 0x79, 0x7a, 0x5a, 0xf3, 0x9a, 0x50, 0x2b, 0x28, + 0xb3, 0x4c, 0x23, 0xe9, 0x79, 0x0d, 0xa7, 0xb0, 0xa9, 0x10, 0xa0, 0x97, 0x88, 0xa8, 0x6d, 0x8e, + 0xdf, 0x22, 0x91, 0xc8, 0xf7, 0xc5, 0x84, 0x80, 0x5b, 0x39, 0x38, 0x38, 0xb7, 0x36, 0x7a, 0x03, + 0x26, 0xe4, 0xe7, 0x6b, 0x6e, 0x8b, 0x89, 0xf1, 0xaf, 0x06, 0xc3, 0x06, 0x26, 0xba, 0x0f, 0x17, + 0xe4, 0xff, 0xcd, 0xd0, 0xd9, 0xde, 0x76, 0x1b, 0xc2, 0x6b, 0x94, 0x7b, 0x40, 0x2c, 0x49, 0x97, + 0x8a, 0xd5, 0x2c, 0xa4, 0xe3, 0xc3, 0xf2, 0x65, 0x31, 0x6a, 0x99, 0x70, 0x36, 0x89, 0xd9, 0xf4, + 0xd1, 0x3a, 0x9c, 0xdb, 0x21, 0x8e, 0x17, 0xef, 0xac, 0xec, 0x90, 0xc6, 0xae, 0xdc, 0x44, 0xcc, + 0x19, 0x52, 0x33, 0x99, 0xbd, 0xd1, 0x8d, 0x82, 0xb3, 0xea, 0xa1, 0xf7, 0x60, 0xae, 0xdd, 0xd9, + 0xf2, 0xdc, 0x68, 0x67, 0x23, 0x88, 0xd9, 0x53, 0xb7, 0x4a, 0x38, 0x27, 0xbc, 0x26, 0x95, 0x23, + 0x68, 0x2d, 0x07, 0x0f, 0xe7, 0x52, 0x40, 0x1f, 0xc2, 0x85, 0xd4, 0x62, 0x10, 0x3e, 0x5c, 0x53, + 0xf9, 0x31, 0x30, 0xeb, 0x59, 0x15, 0x84, 0x4f, 0x56, 0x16, 0x08, 0x67, 0x37, 0xf1, 0xd1, 0x0c, + 0x20, 0x3e, 0xa0, 0x95, 0x35, 0xe9, 0x06, 0x7d, 0x15, 0x26, 0xf4, 0x55, 0x24, 0x0e, 0x98, 0x2b, + 0xfd, 0x52, 0xf8, 0x0b, 0xd9, 0x48, 0xad, 0x28, 0x1d, 0x86, 0x0d, 0x8a, 0x36, 0x81, 0xec, 0xef, + 0x43, 0xb7, 0x60, 0xac, 0xe1, 0xb9, 0xc4, 0x8f, 0xab, 0xb5, 0x5e, 0xde, 0xfe, 0x2b, 0x02, 0x47, + 0x0c, 0x98, 0x08, 0x1a, 0xc8, 0xcb, 0xb0, 0xa2, 0x60, 0xff, 0x66, 0x01, 0xca, 0x7d, 0x22, 0x50, + 0xa6, 0x74, 0x80, 0xd6, 0x40, 0x3a, 0xc0, 0x25, 0x99, 0x3e, 0x6f, 0x23, 0x75, 0xff, 0x4c, 0xa5, + 0xc6, 0x4b, 0x6e, 0xa1, 0x69, 0xfc, 0x81, 0xed, 0x26, 0x75, 0x35, 0xe2, 0x50, 0x5f, 0x8b, 0x5e, + 0xe3, 0xf9, 0x60, 0x78, 0x70, 0x89, 0x3e, 0x57, 0x15, 0x6c, 0xff, 0x7a, 0x01, 0x2e, 0xa8, 0x21, + 0xfc, 0x9b, 0x3b, 0x70, 0x77, 0xba, 0x07, 0xee, 0x14, 0x14, 0xe9, 0xf6, 0x6d, 0x18, 0xa9, 0x1f, + 0x44, 0x8d, 0xd8, 0x1b, 0x40, 0x00, 0x7a, 0xc6, 0x8c, 0x7a, 0xa3, 0x8e, 0x69, 0x23, 0xf2, 0xcd, + 0xff, 0x6b, 0xc1, 0xf4, 0xe6, 0x4a, 0xad, 0x1e, 0x34, 0x76, 0x49, 0xbc, 0xc4, 0xd5, 0x44, 0x58, + 0xc8, 0x3f, 0xd6, 0x43, 0xca, 0x35, 0x59, 0x12, 0xd3, 0x65, 0x18, 0xda, 0x09, 0xa2, 0x38, 0xfd, + 0xca, 0x76, 0x23, 0x88, 0x62, 0xcc, 0x20, 0xf6, 0x1f, 0x5a, 0x30, 0xcc, 0x92, 0xbe, 0xf6, 0x4b, + 0x0e, 0x3c, 0xc8, 0x77, 0xa1, 0xd7, 0x60, 0x84, 0x6c, 0x6f, 0x93, 0x46, 0x2c, 0x66, 0x55, 0xba, + 0xe9, 0x8d, 0xac, 0xb2, 0x52, 0x7a, 0xe8, 0xb3, 0xc6, 0xf8, 0x5f, 0x2c, 0x90, 0xd1, 0x3d, 0x28, + 0xc5, 0xee, 0x1e, 0x59, 0x6a, 0x36, 0xc5, 0x3b, 0xc5, 0x43, 0x78, 0x45, 0x6e, 0x4a, 0x02, 0x38, + 0xa1, 0x65, 0x7f, 0xbd, 0x00, 0x90, 0xb8, 0x1a, 0xf7, 0xfb, 0xc4, 0xe5, 0xae, 0xfc, 0xc7, 0x57, + 0x32, 0xf2, 0x1f, 0xa3, 0x84, 0x60, 0x46, 0xf6, 0x63, 0x35, 0x4c, 0xc5, 0x81, 0x86, 0x69, 0xe8, + 0x24, 0xc3, 0xb4, 0x02, 0xb3, 0x89, 0xab, 0xb4, 0x19, 0x37, 0x82, 0x45, 0xa4, 0xdf, 0x4c, 0x03, + 0x71, 0x37, 0xbe, 0xfd, 0x03, 0x16, 0x08, 0x77, 0x83, 0x01, 0x16, 0xf3, 0xbb, 0x32, 0x55, 0xa9, + 0x11, 0xc8, 0xf6, 0x72, 0xbe, 0xff, 0x85, 0x08, 0x5f, 0xab, 0x0e, 0x0f, 0x23, 0x68, 0xad, 0x41, + 0xcb, 0x6e, 0x82, 0x80, 0x56, 0x08, 0x53, 0x32, 0xf4, 0xef, 0xcd, 0x35, 0x80, 0x26, 0xc3, 0xd5, + 0x52, 0x1f, 0x2a, 0x56, 0x55, 0x51, 0x10, 0xac, 0x61, 0xd9, 0x3f, 0x5a, 0x80, 0x71, 0x19, 0x38, + 0x95, 0xde, 0xe3, 0xfb, 0xb7, 0x72, 0xa2, 0xac, 0x09, 0x2c, 0x57, 0x28, 0x25, 0xac, 0x82, 0xeb, + 0xeb, 0xb9, 0x42, 0x25, 0x00, 0x27, 0x38, 0xe8, 0x39, 0x18, 0x8d, 0x3a, 0x5b, 0x0c, 0x3d, 0x65, + 0x44, 0x5f, 0xe7, 0xc5, 0x58, 0xc2, 0xd1, 0x97, 0x60, 0x86, 0xd7, 0x0b, 0x83, 0xb6, 0xd3, 0xe2, + 0x1a, 0xa4, 0x61, 0xe5, 0xd5, 0x36, 0xb3, 0x9e, 0x82, 0x1d, 0x1f, 0x96, 0xcf, 0xa7, 0xcb, 0x98, + 0xee, 0xb1, 0x8b, 0x8a, 0xfd, 0x55, 0x40, 0xdd, 0xb1, 0x60, 0xd1, 0xdb, 0xdc, 0x4c, 0xc2, 0x0d, + 0x49, 0xb3, 0x97, 0x52, 0x51, 0x77, 0xc2, 0x92, 0x86, 0xac, 0xbc, 0x16, 0x56, 0xf5, 0xe9, 0xce, + 0x9b, 0x49, 0xbb, 0xe4, 0xa0, 0x1b, 0x30, 0xc2, 0x99, 0xaa, 0x20, 0xdf, 0xe3, 0xcd, 0x4a, 0x73, + 0xe4, 0x61, 0x81, 0xea, 0x05, 0x5f, 0x16, 0xf5, 0xd1, 0x7b, 0x30, 0xde, 0x0c, 0xee, 0xfb, 0xf7, + 0x9d, 0xb0, 0xb9, 0x54, 0xab, 0x8a, 0x75, 0x99, 0x29, 0x9b, 0x55, 0x12, 0x34, 0xdd, 0x39, 0x88, + 0xe9, 0x67, 0x13, 0x10, 0xd6, 0xc9, 0xa1, 0x4d, 0x16, 0xdf, 0x6a, 0xdb, 0x6d, 0xad, 0x3b, 0xed, + 0x5e, 0x76, 0x6d, 0x2b, 0x12, 0x49, 0xa3, 0x3c, 0x29, 0x82, 0x60, 0x71, 0x00, 0x4e, 0x08, 0xd9, + 0x5f, 0x3b, 0x07, 0xc6, 0x7e, 0x30, 0xf2, 0x32, 0x58, 0xa7, 0x94, 0x97, 0x01, 0xc3, 0x18, 0xd9, + 0x6b, 0xc7, 0x07, 0x15, 0x37, 0xec, 0x95, 0xd8, 0x67, 0x55, 0xe0, 0x74, 0xd3, 0x94, 0x10, 0xac, + 0xe8, 0x64, 0x27, 0xcf, 0x28, 0x7e, 0x8c, 0xc9, 0x33, 0x86, 0xce, 0x30, 0x79, 0xc6, 0x06, 0x8c, + 0xb6, 0xdc, 0x18, 0x93, 0x76, 0x20, 0x04, 0x8a, 0xcc, 0x95, 0x70, 0x9d, 0xa3, 0x74, 0x87, 0x6e, + 0x17, 0x00, 0x2c, 0x89, 0xa0, 0xb7, 0xd5, 0x1e, 0x18, 0xc9, 0x97, 0xc7, 0xbb, 0x9f, 0x37, 0x32, + 0x77, 0x81, 0x48, 0x96, 0x31, 0xfa, 0xb0, 0xc9, 0x32, 0xd6, 0x64, 0x8a, 0x8b, 0xb1, 0x7c, 0x33, + 0x50, 0x96, 0xc1, 0xa2, 0x4f, 0x62, 0x0b, 0x23, 0x19, 0x48, 0xe9, 0xf4, 0x92, 0x81, 0xfc, 0x80, + 0x05, 0x17, 0xda, 0x59, 0x79, 0x71, 0x44, 0x8a, 0x8a, 0xd7, 0x06, 0x4e, 0xfc, 0x63, 0x34, 0xc8, + 0x2e, 0x66, 0x99, 0x68, 0x38, 0xbb, 0x39, 0x3a, 0xd0, 0xe1, 0x56, 0x53, 0xe4, 0xb5, 0x78, 0x26, + 0x27, 0xab, 0x48, 0x8f, 0x5c, 0x22, 0x9b, 0x19, 0xb9, 0x2c, 0x3e, 0x9d, 0x97, 0xcb, 0x62, 0xe0, + 0x0c, 0x16, 0x49, 0x3e, 0x91, 0xc9, 0x8f, 0x9c, 0x4f, 0xe4, 0x6d, 0x95, 0x4f, 0xa4, 0x47, 0x14, + 0x21, 0x9e, 0x2d, 0xa4, 0x6f, 0x16, 0x11, 0x2d, 0x13, 0xc8, 0xf4, 0xe9, 0x64, 0x02, 0x31, 0x98, + 0x3d, 0x4f, 0x46, 0xf1, 0x42, 0x1f, 0x66, 0x6f, 0xd0, 0xed, 0xcd, 0xee, 0x79, 0xd6, 0x93, 0xd9, + 0x87, 0xca, 0x7a, 0x72, 0x57, 0xcf, 0x22, 0x82, 0xfa, 0xa4, 0xc9, 0xa0, 0x48, 0x03, 0xe6, 0x0e, + 0xb9, 0xab, 0x1f, 0x41, 0xe7, 0xf2, 0xe9, 0xaa, 0x93, 0xa6, 0x9b, 0x6e, 0xd6, 0x21, 0xd4, 0x9d, + 0x93, 0xe4, 0xfc, 0xd9, 0xe4, 0x24, 0xb9, 0x70, 0xea, 0x39, 0x49, 0x1e, 0x3b, 0x83, 0x9c, 0x24, + 0x8f, 0x7f, 0xac, 0x39, 0x49, 0xe6, 0x1e, 0x41, 0x4e, 0x92, 0x8d, 0x24, 0x27, 0xc9, 0xc5, 0xfc, + 0x29, 0xc9, 0xb0, 0x7b, 0xcb, 0xc9, 0x44, 0x72, 0x17, 0x4a, 0x6d, 0xe9, 0xb5, 0x2d, 0xc2, 0x1c, + 0x65, 0x27, 0x43, 0xcc, 0x72, 0xed, 0xe6, 0x53, 0xa2, 0x40, 0x38, 0x21, 0x45, 0xe9, 0x26, 0x99, + 0x49, 0x9e, 0xe8, 0xa1, 0x7a, 0xcb, 0x52, 0x6a, 0xe4, 0xe7, 0x23, 0xb1, 0xff, 0xbf, 0x02, 0x5c, + 0xea, 0xbd, 0xae, 0x13, 0x8d, 0x48, 0x2d, 0xd1, 0xe0, 0xa7, 0x34, 0x22, 0xfc, 0x9a, 0x91, 0x60, + 0x0d, 0x1c, 0xda, 0xe2, 0x3a, 0xcc, 0x2a, 0x83, 0x37, 0xcf, 0x6d, 0x1c, 0x68, 0x49, 0x12, 0x95, + 0xf3, 0x4d, 0x3d, 0x8d, 0x80, 0xbb, 0xeb, 0xa0, 0x25, 0x98, 0x36, 0x0a, 0xab, 0x15, 0x71, 0x9d, + 0x50, 0x2a, 0x98, 0xba, 0x09, 0xc6, 0x69, 0x7c, 0xfb, 0x1b, 0x16, 0x3c, 0x9e, 0x13, 0xae, 0x7b, + 0xe0, 0xc8, 0x0d, 0xdb, 0x30, 0xdd, 0x36, 0xab, 0xf6, 0x09, 0xf0, 0x62, 0x04, 0x05, 0x57, 0x7d, + 0x4d, 0x01, 0x70, 0x9a, 0xe8, 0xf2, 0xd5, 0xdf, 0xfe, 0xe3, 0x4b, 0x9f, 0xfa, 0xbd, 0x3f, 0xbe, + 0xf4, 0xa9, 0x3f, 0xf8, 0xe3, 0x4b, 0x9f, 0xfa, 0xbf, 0x8f, 0x2e, 0x59, 0xbf, 0x7d, 0x74, 0xc9, + 0xfa, 0xbd, 0xa3, 0x4b, 0xd6, 0x1f, 0x1c, 0x5d, 0xb2, 0xfe, 0xe8, 0xe8, 0x92, 0xf5, 0xf5, 0x3f, + 0xb9, 0xf4, 0xa9, 0x77, 0x0b, 0xfb, 0x2f, 0xff, 0x9f, 0x00, 0x00, 0x00, 0xff, 0xff, 0x64, 0x22, + 0x56, 0xbb, 0xf6, 0xe3, 0x00, 0x00, } diff --git a/vendor/k8s.io/api/core/v1/generated.proto b/vendor/k8s.io/api/core/v1/generated.proto index 47c6645c..077363cf 100644 --- a/vendor/k8s.io/api/core/v1/generated.proto +++ b/vendor/k8s.io/api/core/v1/generated.proto @@ -191,6 +191,34 @@ message CSIPersistentVolumeSource { // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. // +optional optional string fsType = 4; + + // Attributes of the volume to publish. + // +optional + map volumeAttributes = 5; + + // ControllerPublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // ControllerPublishVolume and ControllerUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference controllerPublishSecretRef = 6; + + // NodeStageSecretRef is a reference to the secret object containing sensitive + // information to pass to the CSI driver to complete the CSI NodeStageVolume + // and NodeStageVolume and NodeUnstageVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference nodeStageSecretRef = 7; + + // NodePublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // NodePublishVolume and NodeUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + optional SecretReference nodePublishSecretRef = 8; } // Adds and removes POSIX capabilities from running containers. @@ -976,6 +1004,7 @@ message Endpoints { // subsets for the different ports. No address will appear in both Addresses and // NotReadyAddresses in the same subset. // Sets of addresses and ports that comprise a service. + // +optional repeated EndpointSubset subsets = 2; } @@ -2556,8 +2585,9 @@ message PersistentVolumeSpec { optional ObjectReference claimRef = 4; // What happens to a persistent volume when released from its claim. - // Valid options are Retain (default) and Recycle. - // Recycling must be supported by the volume plugin underlying this persistent volume. + // Valid options are Retain (default for manually created PersistentVolumes), Delete (default + // for dynamically provisioned PersistentVolumes), and Recycle (deprecated). + // Recycle must be supported by the volume plugin underlying this PersistentVolume. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming // +optional optional string persistentVolumeReclaimPolicy = 5; @@ -3033,7 +3063,6 @@ message PodSpec { // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. - // Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it. // +optional optional string dnsPolicy = 6; @@ -3157,7 +3186,6 @@ message PodSpec { // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. - // This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it. // +optional optional PodDNSConfig dnsConfig = 26; } diff --git a/vendor/k8s.io/api/core/v1/types.go b/vendor/k8s.io/api/core/v1/types.go index 43cc222a..0951e6f6 100644 --- a/vendor/k8s.io/api/core/v1/types.go +++ b/vendor/k8s.io/api/core/v1/types.go @@ -511,8 +511,9 @@ type PersistentVolumeSpec struct { // +optional ClaimRef *ObjectReference `json:"claimRef,omitempty" protobuf:"bytes,4,opt,name=claimRef"` // What happens to a persistent volume when released from its claim. - // Valid options are Retain (default) and Recycle. - // Recycling must be supported by the volume plugin underlying this persistent volume. + // Valid options are Retain (default for manually created PersistentVolumes), Delete (default + // for dynamically provisioned PersistentVolumes), and Recycle (deprecated). + // Recycle must be supported by the volume plugin underlying this PersistentVolume. // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming // +optional PersistentVolumeReclaimPolicy PersistentVolumeReclaimPolicy `json:"persistentVolumeReclaimPolicy,omitempty" protobuf:"bytes,5,opt,name=persistentVolumeReclaimPolicy,casttype=PersistentVolumeReclaimPolicy"` @@ -1748,6 +1749,34 @@ type CSIPersistentVolumeSource struct { // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. // +optional FSType string `json:"fsType,omitempty" protobuf:"bytes,4,opt,name=fsType"` + + // Attributes of the volume to publish. + // +optional + VolumeAttributes map[string]string `json:"volumeAttributes,omitempty" protobuf:"bytes,5,rep,name=volumeAttributes"` + + // ControllerPublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // ControllerPublishVolume and ControllerUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + ControllerPublishSecretRef *SecretReference `json:"controllerPublishSecretRef,omitempty" protobuf:"bytes,6,opt,name=controllerPublishSecretRef"` + + // NodeStageSecretRef is a reference to the secret object containing sensitive + // information to pass to the CSI driver to complete the CSI NodeStageVolume + // and NodeStageVolume and NodeUnstageVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodeStageSecretRef *SecretReference `json:"nodeStageSecretRef,omitempty" protobuf:"bytes,7,opt,name=nodeStageSecretRef"` + + // NodePublishSecretRef is a reference to the secret object containing + // sensitive information to pass to the CSI driver to complete the CSI + // NodePublishVolume and NodeUnpublishVolume calls. + // This field is optional, and may be empty if no secret is required. If the + // secret object contains more than one secret, all secrets are passed. + // +optional + NodePublishSecretRef *SecretReference `json:"nodePublishSecretRef,omitempty" protobuf:"bytes,8,opt,name=nodePublishSecretRef"` } // ContainerPort represents a network port in a single container. @@ -2818,7 +2847,6 @@ type PodSpec struct { // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. // To have DNS options set along with hostNetwork, you have to specify DNS policy // explicitly to 'ClusterFirstWithHostNet'. - // Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it. // +optional DNSPolicy DNSPolicy `json:"dnsPolicy,omitempty" protobuf:"bytes,6,opt,name=dnsPolicy,casttype=DNSPolicy"` // NodeSelector is a selector which must be true for the pod to fit on a node. @@ -2924,7 +2952,6 @@ type PodSpec struct { // Specifies the DNS parameters of a pod. // Parameters specified here will be merged to the generated DNS // configuration based on DNSPolicy. - // This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it. // +optional DNSConfig *PodDNSConfig `json:"dnsConfig,omitempty" protobuf:"bytes,26,opt,name=dnsConfig"` } @@ -3694,7 +3721,8 @@ type Endpoints struct { // subsets for the different ports. No address will appear in both Addresses and // NotReadyAddresses in the same subset. // Sets of addresses and ports that comprise a service. - Subsets []EndpointSubset `json:"subsets" protobuf:"bytes,2,rep,name=subsets"` + // +optional + Subsets []EndpointSubset `json:"subsets,omitempty" protobuf:"bytes,2,rep,name=subsets"` } // EndpointSubset is a group of addresses with a common set of ports. The diff --git a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go index 42b14f91..19d5de8c 100644 --- a/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go +++ b/vendor/k8s.io/api/core/v1/types_swagger_doc_generated.go @@ -117,11 +117,15 @@ func (Binding) SwaggerDoc() map[string]string { } var map_CSIPersistentVolumeSource = map[string]string{ - "": "Represents storage that is managed by an external CSI volume driver (Beta feature)", - "driver": "Driver is the name of the driver to use for this volume. Required.", - "volumeHandle": "VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.", - "readOnly": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).", - "fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", + "": "Represents storage that is managed by an external CSI volume driver (Beta feature)", + "driver": "Driver is the name of the driver to use for this volume. Required.", + "volumeHandle": "VolumeHandle is the unique volume name returned by the CSI volume plugin’s CreateVolume to refer to the volume on all subsequent calls. Required.", + "readOnly": "Optional: The value to pass to ControllerPublishVolumeRequest. Defaults to false (read/write).", + "fsType": "Filesystem type to mount. Must be a filesystem type supported by the host operating system. Ex. \"ext4\", \"xfs\", \"ntfs\". Implicitly inferred to be \"ext4\" if unspecified.", + "volumeAttributes": "Attributes of the volume to publish.", + "controllerPublishSecretRef": "ControllerPublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI ControllerPublishVolume and ControllerUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "nodeStageSecretRef": "NodeStageSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodeStageVolume and NodeStageVolume and NodeUnstageVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", + "nodePublishSecretRef": "NodePublishSecretRef is a reference to the secret object containing sensitive information to pass to the CSI driver to complete the CSI NodePublishVolume and NodeUnpublishVolume calls. This field is optional, and may be empty if no secret is required. If the secret object contains more than one secret, all secrets are passed.", } func (CSIPersistentVolumeSource) SwaggerDoc() map[string]string { @@ -1288,7 +1292,7 @@ var map_PersistentVolumeSpec = map[string]string{ "capacity": "A description of the persistent volume's resources and capacity. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#capacity", "accessModes": "AccessModes contains all ways the volume can be mounted. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes", "claimRef": "ClaimRef is part of a bi-directional binding between PersistentVolume and PersistentVolumeClaim. Expected to be non-nil when bound. claim.VolumeName is the authoritative bind between PV and PVC. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#binding", - "persistentVolumeReclaimPolicy": "What happens to a persistent volume when released from its claim. Valid options are Retain (default) and Recycle. Recycling must be supported by the volume plugin underlying this persistent volume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming", + "persistentVolumeReclaimPolicy": "What happens to a persistent volume when released from its claim. Valid options are Retain (default for manually created PersistentVolumes), Delete (default for dynamically provisioned PersistentVolumes), and Recycle (deprecated). Recycle must be supported by the volume plugin underlying this PersistentVolume. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#reclaiming", "storageClassName": "Name of StorageClass to which this persistent volume belongs. Empty value means that this volume does not belong to any StorageClass.", "mountOptions": "A list of mount options, e.g. [\"ro\", \"soft\"]. Not validated - mount will simply fail if one is invalid. More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes/#mount-options", "volumeMode": "volumeMode defines if a volume is intended to be used with a formatted filesystem or to remain in raw block state. Value of Filesystem is implied when not included in spec. This is an alpha feature and may change in the future.", @@ -1497,7 +1501,7 @@ var map_PodSpec = map[string]string{ "restartPolicy": "Restart policy for all containers within the pod. One of Always, OnFailure, Never. Default to Always. More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy", "terminationGracePeriodSeconds": "Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. Value must be non-negative integer. The value zero indicates delete immediately. If this value is nil, the default grace period will be used instead. The grace period is the duration in seconds after the processes running in the pod are sent a termination signal and the time when the processes are forcibly halted with a kill signal. Set this value longer than the expected cleanup time for your process. Defaults to 30 seconds.", "activeDeadlineSeconds": "Optional duration in seconds the pod may be active on the node relative to StartTime before the system will actively try to mark it failed and kill associated containers. Value must be a positive integer.", - "dnsPolicy": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'. Note that 'None' policy is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.", + "dnsPolicy": "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.", "nodeSelector": "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/", "serviceAccountName": "ServiceAccountName is the name of the ServiceAccount to use to run this pod. More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/", "serviceAccount": "DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. Deprecated: Use serviceAccountName instead.", @@ -1517,7 +1521,7 @@ var map_PodSpec = map[string]string{ "hostAliases": "HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts file if specified. This is only valid for non-hostNetwork pods.", "priorityClassName": "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.", "priority": "The priority value. Various system components use this field to find the priority of the pod. When Priority Admission Controller is enabled, it prevents users from setting this field. The admission controller populates this field from PriorityClassName. The higher the value, the higher the priority.", - "dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy. This is an alpha feature introduced in v1.9 and CustomPodDNS feature gate must be enabled to use it.", + "dnsConfig": "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.", } func (PodSpec) SwaggerDoc() map[string]string { diff --git a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go index cfbce70d..4e0e7a39 100644 --- a/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go +++ b/vendor/k8s.io/api/core/v1/zz_generated.deepcopy.go @@ -249,6 +249,40 @@ func (in *Binding) DeepCopyObject() runtime.Object { // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *CSIPersistentVolumeSource) DeepCopyInto(out *CSIPersistentVolumeSource) { *out = *in + if in.VolumeAttributes != nil { + in, out := &in.VolumeAttributes, &out.VolumeAttributes + *out = make(map[string]string, len(*in)) + for key, val := range *in { + (*out)[key] = val + } + } + if in.ControllerPublishSecretRef != nil { + in, out := &in.ControllerPublishSecretRef, &out.ControllerPublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodeStageSecretRef != nil { + in, out := &in.NodeStageSecretRef, &out.NodeStageSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } + if in.NodePublishSecretRef != nil { + in, out := &in.NodePublishSecretRef, &out.NodePublishSecretRef + if *in == nil { + *out = nil + } else { + *out = new(SecretReference) + **out = **in + } + } return } @@ -3300,7 +3334,7 @@ func (in *PersistentVolumeSource) DeepCopyInto(out *PersistentVolumeSource) { *out = nil } else { *out = new(CSIPersistentVolumeSource) - **out = **in + (*in).DeepCopyInto(*out) } } return diff --git a/vendor/k8s.io/apimachinery/pkg/api/meta/BUILD b/vendor/k8s.io/apimachinery/pkg/api/meta/BUILD index 24d9aaab..a02a1fb5 100644 --- a/vendor/k8s.io/apimachinery/pkg/api/meta/BUILD +++ b/vendor/k8s.io/apimachinery/pkg/api/meta/BUILD @@ -64,6 +64,9 @@ filegroup( filegroup( name = "all-srcs", - srcs = [":package-srcs"], + srcs = [ + ":package-srcs", + "//staging/src/k8s.io/apimachinery/pkg/api/meta/table:all-srcs", + ], tags = ["automanaged"], ) diff --git a/vendor/k8s.io/client-go/discovery/discovery_client.go b/vendor/k8s.io/client-go/discovery/discovery_client.go index 24c11f33..3c685a95 100644 --- a/vendor/k8s.io/client-go/discovery/discovery_client.go +++ b/vendor/k8s.io/client-go/discovery/discovery_client.go @@ -36,8 +36,12 @@ import ( restclient "k8s.io/client-go/rest" ) -// defaultRetries is the number of times a resource discovery is repeated if an api group disappears on the fly (e.g. ThirdPartyResources). -const defaultRetries = 2 +const ( + // defaultRetries is the number of times a resource discovery is repeated if an api group disappears on the fly (e.g. ThirdPartyResources). + defaultRetries = 2 + // protobuf mime type + mimePb = "application/com.github.proto-openapi.spec.v2@v1.0+protobuf" +) // DiscoveryInterface holds the methods that discover server-supported API groups, // versions and resources. @@ -329,9 +333,18 @@ func (d *DiscoveryClient) ServerVersion() (*version.Info, error) { // OpenAPISchema fetches the open api schema using a rest client and parses the proto. func (d *DiscoveryClient) OpenAPISchema() (*openapi_v2.Document, error) { - data, err := d.restClient.Get().AbsPath("/swagger-2.0.0.pb-v1").Do().Raw() + data, err := d.restClient.Get().AbsPath("/openapi/v2").SetHeader("Accept", mimePb).Do().Raw() if err != nil { - return nil, err + if errors.IsForbidden(err) || errors.IsNotFound(err) { + // single endpoint not found/registered in old server, try to fetch old endpoint + // TODO(roycaihw): remove this in 1.11 + data, err = d.restClient.Get().AbsPath("/swagger-2.0.0.pb-v1").Do().Raw() + if err != nil { + return nil, err + } + } else { + return nil, err + } } document := &openapi_v2.Document{} err = proto.Unmarshal(data, document) diff --git a/vendor/k8s.io/client-go/pkg/version/def.bzl b/vendor/k8s.io/client-go/pkg/version/def.bzl index bca85ab4..9c018a4e 100644 --- a/vendor/k8s.io/client-go/pkg/version/def.bzl +++ b/vendor/k8s.io/client-go/pkg/version/def.bzl @@ -1,3 +1,17 @@ +# 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. + # Implements hack/lib/version.sh's kube::version::ldflags() for Bazel. def version_x_defs(): # This should match the list of packages in kube::version::ldflag diff --git a/vendor/k8s.io/client-go/tools/cache/delta_fifo.go b/vendor/k8s.io/client-go/tools/cache/delta_fifo.go index d883c2f9..45c3b500 100644 --- a/vendor/k8s.io/client-go/tools/cache/delta_fifo.go +++ b/vendor/k8s.io/client-go/tools/cache/delta_fifo.go @@ -38,9 +38,22 @@ import ( // TODO: consider merging keyLister with this object, tracking a list of // "known" keys when Pop() is called. Have to think about how that // affects error retrying. -// TODO(lavalamp): I believe there is a possible race only when using an -// external known object source that the above TODO would -// fix. +// NOTE: It is possible to misuse this and cause a race when using an +// external known object source. +// Whether there is a potential race depends on how the comsumer +// modifies knownObjects. In Pop(), process function is called under +// lock, so it is safe to update data structures in it that need to be +// in sync with the queue (e.g. knownObjects). +// +// Example: +// In case of sharedIndexInformer being a consumer +// (https://github.com/kubernetes/kubernetes/blob/0cdd940f/staging/ +// src/k8s.io/client-go/tools/cache/shared_informer.go#L192), +// there is no race as knownObjects (s.indexer) is modified safely +// under DeltaFIFO's lock. The only exceptions are GetStore() and +// GetIndexer() methods, which expose ways to modify the underlying +// storage. Currently these two methods are used for creating Lister +// and internal tests. // // Also see the comment on DeltaFIFO. func NewDeltaFIFO(keyFunc KeyFunc, knownObjects KeyListerGetter) *DeltaFIFO { @@ -199,8 +212,6 @@ func (f *DeltaFIFO) Delete(obj interface{}) error { if err == nil && !exists && !itemsExist { // Presumably, this was deleted when a relist happened. // Don't provide a second report of the same deletion. - // TODO(lavalamp): This may be racy-- we aren't properly locked - // with knownObjects. return nil } } @@ -485,8 +496,6 @@ func (f *DeltaFIFO) Replace(list []interface{}, resourceVersion string) error { } // Detect deletions not already in the queue. - // TODO(lavalamp): This may be racy-- we aren't properly locked - // with knownObjects. Unproven. knownKeys := f.knownObjects.ListKeys() queuedDeletions := 0 for _, k := range knownKeys { diff --git a/vendor/k8s.io/client-go/util/cert/cert.go b/vendor/k8s.io/client-go/util/cert/cert.go index 2c95754c..fb7f5fac 100644 --- a/vendor/k8s.io/client-go/util/cert/cert.go +++ b/vendor/k8s.io/client-go/util/cert/cert.go @@ -138,23 +138,50 @@ func MakeEllipticPrivateKeyPEM() ([]byte, error) { // Host may be an IP or a DNS name // You may also specify additional subject alt names (either ip or dns names) for the certificate func GenerateSelfSignedCertKey(host string, alternateIPs []net.IP, alternateDNS []string) ([]byte, []byte, error) { + caKey, err := rsa.GenerateKey(cryptorand.Reader, 2048) + if err != nil { + return nil, nil, err + } + + caTemplate := x509.Certificate{ + SerialNumber: big.NewInt(1), + Subject: pkix.Name{ + CommonName: fmt.Sprintf("%s-ca@%d", host, time.Now().Unix()), + }, + NotBefore: time.Now(), + NotAfter: time.Now().Add(time.Hour * 24 * 365), + + KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, + BasicConstraintsValid: true, + IsCA: true, + } + + caDERBytes, err := x509.CreateCertificate(cryptorand.Reader, &caTemplate, &caTemplate, &caKey.PublicKey, caKey) + if err != nil { + return nil, nil, err + } + + caCertificate, err := x509.ParseCertificate(caDERBytes) + if err != nil { + return nil, nil, err + } + priv, err := rsa.GenerateKey(cryptorand.Reader, 2048) if err != nil { return nil, nil, err } template := x509.Certificate{ - SerialNumber: big.NewInt(1), + SerialNumber: big.NewInt(2), Subject: pkix.Name{ CommonName: fmt.Sprintf("%s@%d", host, time.Now().Unix()), }, NotBefore: time.Now(), NotAfter: time.Now().Add(time.Hour * 24 * 365), - KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature | x509.KeyUsageCertSign, + KeyUsage: x509.KeyUsageKeyEncipherment | x509.KeyUsageDigitalSignature, ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageServerAuth}, BasicConstraintsValid: true, - IsCA: true, } if ip := net.ParseIP(host); ip != nil { @@ -166,16 +193,19 @@ func GenerateSelfSignedCertKey(host string, alternateIPs []net.IP, alternateDNS template.IPAddresses = append(template.IPAddresses, alternateIPs...) template.DNSNames = append(template.DNSNames, alternateDNS...) - derBytes, err := x509.CreateCertificate(cryptorand.Reader, &template, &template, &priv.PublicKey, priv) + derBytes, err := x509.CreateCertificate(cryptorand.Reader, &template, caCertificate, &priv.PublicKey, caKey) if err != nil { return nil, nil, err } - // Generate cert + // Generate cert, followed by ca certBuffer := bytes.Buffer{} if err := pem.Encode(&certBuffer, &pem.Block{Type: CertificateBlockType, Bytes: derBytes}); err != nil { return nil, nil, err } + if err := pem.Encode(&certBuffer, &pem.Block{Type: CertificateBlockType, Bytes: caDERBytes}); err != nil { + return nil, nil, err + } // Generate key keyBuffer := bytes.Buffer{} diff --git a/vendor/k8s.io/code-generator/Godeps/Godeps.json b/vendor/k8s.io/code-generator/Godeps/Godeps.json index b2163d2d..477d1e47 100644 --- a/vendor/k8s.io/code-generator/Godeps/Godeps.json +++ b/vendor/k8s.io/code-generator/Godeps/Godeps.json @@ -1,270 +1,270 @@ { - "ImportPath": "k8s.io/code-generator", - "GoVersion": "go1.9", - "GodepVersion": "v79", - "Packages": [ - "./..." - ], - "Deps": [ - { - "ImportPath": "github.com/PuerkitoBio/purell", - "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" - }, - { - "ImportPath": "github.com/PuerkitoBio/urlesc", - "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" - }, - { - "ImportPath": "github.com/emicklei/go-restful", - "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" - }, - { - "ImportPath": "github.com/emicklei/go-restful/log", - "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" - }, - { - "ImportPath": "github.com/go-openapi/jsonpointer", - "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" - }, - { - "ImportPath": "github.com/go-openapi/jsonreference", - "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" - }, - { - "ImportPath": "github.com/go-openapi/spec", - "Rev": "7abd5745472fff5eb3685386d5fb8bf38683154d" - }, - { - "ImportPath": "github.com/go-openapi/swag", - "Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590" - }, - { - "ImportPath": "github.com/gogo/protobuf/gogoproto", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/compare", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/description", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/embedcheck", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/enumstringer", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/equal", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/face", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/gostring", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/marshalto", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/populate", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/size", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/stringer", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/testgen", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/union", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/plugin/unmarshal", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/proto", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/sortkeys", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/vanity", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/gogo/protobuf/vanity/command", - "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" - }, - { - "ImportPath": "github.com/golang/glog", - "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" - }, - { - "ImportPath": "github.com/mailru/easyjson/buffer", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/mailru/easyjson/jlexer", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/mailru/easyjson/jwriter", - "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" - }, - { - "ImportPath": "github.com/spf13/pflag", - "Rev": "4c012f6dcd9546820e378d0bdda4d8fc772cdfea" - }, - { - "ImportPath": "golang.org/x/net/idna", - "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" - }, - { - "ImportPath": "golang.org/x/text/cases", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/internal", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/internal/tag", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/language", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/runes", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/secure/bidirule", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/secure/precis", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/transform", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/unicode/bidi", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/unicode/norm", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/text/width", - "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" - }, - { - "ImportPath": "golang.org/x/tools/go/ast/astutil", - "Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32" - }, - { - "ImportPath": "golang.org/x/tools/imports", - "Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32" - }, - { - "ImportPath": "gopkg.in/yaml.v2", - "Rev": "670d4cfef0544295bc27a114dbac37980d83185a" - }, - { - "ImportPath": "k8s.io/gengo/args", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/examples/deepcopy-gen/generators", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/examples/defaulter-gen/generators", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/examples/import-boss/generators", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/examples/set-gen/generators", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/examples/set-gen/sets", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/generator", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/namer", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/parser", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/gengo/types", - "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/common", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - }, - { - "ImportPath": "k8s.io/kube-openapi/pkg/generators", - "Rev": "a07b7bbb58e7fdc5144f8d7046331d29fc9ad3b3" - } - ] + "ImportPath": "k8s.io/code-generator", + "GoVersion": "go1.9", + "GodepVersion": "v79", + "Packages": [ + "./..." + ], + "Deps": [ + { + "ImportPath": "github.com/PuerkitoBio/purell", + "Rev": "8a290539e2e8629dbc4e6bad948158f790ec31f4" + }, + { + "ImportPath": "github.com/PuerkitoBio/urlesc", + "Rev": "5bd2802263f21d8788851d5305584c82a5c75d7e" + }, + { + "ImportPath": "github.com/emicklei/go-restful", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/emicklei/go-restful/log", + "Rev": "ff4f55a206334ef123e4f79bbf348980da81ca46" + }, + { + "ImportPath": "github.com/go-openapi/jsonpointer", + "Rev": "46af16f9f7b149af66e5d1bd010e3574dc06de98" + }, + { + "ImportPath": "github.com/go-openapi/jsonreference", + "Rev": "13c6e3589ad90f49bd3e3bbe2c2cb3d7a4142272" + }, + { + "ImportPath": "github.com/go-openapi/spec", + "Rev": "1de3e0542de65ad8d75452a595886fdd0befb363" + }, + { + "ImportPath": "github.com/go-openapi/swag", + "Rev": "f3f9494671f93fcff853e3c6e9e948b3eb71e590" + }, + { + "ImportPath": "github.com/gogo/protobuf/gogoproto", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/compare", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/defaultcheck", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/description", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/embedcheck", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/enumstringer", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/equal", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/face", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/gostring", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/marshalto", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/oneofcheck", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/populate", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/size", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/stringer", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/testgen", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/union", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/plugin/unmarshal", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/proto", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/descriptor", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/generator", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/grpc", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/protoc-gen-gogo/plugin", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/sortkeys", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/vanity", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/gogo/protobuf/vanity/command", + "Rev": "c0656edd0d9eab7c66d1eb0c568f9039345796f7" + }, + { + "ImportPath": "github.com/golang/glog", + "Rev": "44145f04b68cf362d9c4df2182967c2275eaefed" + }, + { + "ImportPath": "github.com/mailru/easyjson/buffer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jlexer", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/mailru/easyjson/jwriter", + "Rev": "2f5df55504ebc322e4d52d34df6a1f5b503bf26d" + }, + { + "ImportPath": "github.com/spf13/pflag", + "Rev": "4c012f6dcd9546820e378d0bdda4d8fc772cdfea" + }, + { + "ImportPath": "golang.org/x/net/idna", + "Rev": "1c05540f6879653db88113bc4a2b70aec4bd491f" + }, + { + "ImportPath": "golang.org/x/text/cases", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/internal/tag", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/language", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/runes", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/bidirule", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/secure/precis", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/transform", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/bidi", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/unicode/norm", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/text/width", + "Rev": "b19bf474d317b857955b12035d2c5acb57ce8b01" + }, + { + "ImportPath": "golang.org/x/tools/go/ast/astutil", + "Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32" + }, + { + "ImportPath": "golang.org/x/tools/imports", + "Rev": "2382e3994d48b1d22acc2c86bcad0a2aff028e32" + }, + { + "ImportPath": "gopkg.in/yaml.v2", + "Rev": "670d4cfef0544295bc27a114dbac37980d83185a" + }, + { + "ImportPath": "k8s.io/gengo/args", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/examples/deepcopy-gen/generators", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/examples/defaulter-gen/generators", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/examples/import-boss/generators", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/examples/set-gen/generators", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/examples/set-gen/sets", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/generator", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/namer", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/parser", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/gengo/types", + "Rev": "b6c426f7730e6d66e6e476a85d1c3eb7633880e0" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/common", + "Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf" + }, + { + "ImportPath": "k8s.io/kube-openapi/pkg/generators", + "Rev": "50ae88d24ede7b8bad68e23c805b5d3da5c8abaf" + } + ] } diff --git a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/expander.go b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/expander.go index b4429a21..5054a7be 100644 --- a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/expander.go +++ b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/expander.go @@ -20,6 +20,7 @@ import ( "log" "net/url" "os" + "path" "path/filepath" "reflect" "strings" @@ -83,21 +84,43 @@ func (s *simpleCache) Set(uri string, data interface{}) { // ResolveRefWithBase resolves a reference against a context root with preservation of base path func ResolveRefWithBase(root interface{}, ref *Ref, opts *ExpandOptions) (*Schema, error) { - resolver, err := defaultSchemaLoader(root, nil, opts, nil) + resolver, err := defaultSchemaLoader(root, opts, nil) if err != nil { return nil, err } + specBasePath := "" + if opts != nil && opts.RelativeBase != "" { + specBasePath, _ = absPath(opts.RelativeBase) + } result := new(Schema) - if err := resolver.Resolve(ref, result); err != nil { + if err := resolver.Resolve(ref, result, specBasePath); err != nil { return nil, err } return result, nil } // ResolveRef resolves a reference against a context root +// ref is guaranteed to be in root (no need to go to external files) +// ResolveRef is ONLY called from the code generation module func ResolveRef(root interface{}, ref *Ref) (*Schema, error) { - return ResolveRefWithBase(root, ref, nil) + res, _, err := ref.GetPointer().Get(root) + if err != nil { + panic(err) + } + switch sch := res.(type) { + case Schema: + return &sch, nil + case *Schema: + return sch, nil + case map[string]interface{}: + b, _ := json.Marshal(sch) + newSch := new(Schema) + json.Unmarshal(b, newSch) + return newSch, nil + default: + return nil, fmt.Errorf("unknown type for the resolved reference") + } } // ResolveParameter resolves a paramter reference against a context root @@ -107,13 +130,13 @@ func ResolveParameter(root interface{}, ref Ref) (*Parameter, error) { // ResolveParameterWithBase resolves a paramter reference against a context root and base path func ResolveParameterWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Parameter, error) { - resolver, err := defaultSchemaLoader(root, nil, opts, nil) + resolver, err := defaultSchemaLoader(root, opts, nil) if err != nil { return nil, err } result := new(Parameter) - if err := resolver.Resolve(&ref, result); err != nil { + if err := resolver.Resolve(&ref, result, ""); err != nil { return nil, err } return result, nil @@ -126,13 +149,13 @@ func ResolveResponse(root interface{}, ref Ref) (*Response, error) { // ResolveResponseWithBase resolves response a reference against a context root and base path func ResolveResponseWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*Response, error) { - resolver, err := defaultSchemaLoader(root, nil, opts, nil) + resolver, err := defaultSchemaLoader(root, opts, nil) if err != nil { return nil, err } result := new(Response) - if err := resolver.Resolve(&ref, result); err != nil { + if err := resolver.Resolve(&ref, result, ""); err != nil { return nil, err } return result, nil @@ -140,13 +163,16 @@ func ResolveResponseWithBase(root interface{}, ref Ref, opts *ExpandOptions) (*R // ResolveItems resolves header and parameter items reference against a context root and base path func ResolveItems(root interface{}, ref Ref, opts *ExpandOptions) (*Items, error) { - resolver, err := defaultSchemaLoader(root, nil, opts, nil) + resolver, err := defaultSchemaLoader(root, opts, nil) if err != nil { return nil, err } - + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } result := new(Items) - if err := resolver.Resolve(&ref, result); err != nil { + if err := resolver.Resolve(&ref, result, basePath); err != nil { return nil, err } return result, nil @@ -154,26 +180,26 @@ func ResolveItems(root interface{}, ref Ref, opts *ExpandOptions) (*Items, error // ResolvePathItem resolves response a path item against a context root and base path func ResolvePathItem(root interface{}, ref Ref, opts *ExpandOptions) (*PathItem, error) { - resolver, err := defaultSchemaLoader(root, nil, opts, nil) + resolver, err := defaultSchemaLoader(root, opts, nil) if err != nil { return nil, err } - + basePath := "" + if opts.RelativeBase != "" { + basePath = opts.RelativeBase + } result := new(PathItem) - if err := resolver.Resolve(&ref, result); err != nil { + if err := resolver.Resolve(&ref, result, basePath); err != nil { return nil, err } return result, nil } type schemaLoader struct { - loadingRef *Ref - startingRef *Ref - currentRef *Ref - root interface{} - options *ExpandOptions - cache ResolutionCache - loadDoc func(string) (json.RawMessage, error) + root interface{} + options *ExpandOptions + cache ResolutionCache + loadDoc func(string) (json.RawMessage, error) } var idPtr, _ = jsonpointer.New("/id") @@ -194,7 +220,6 @@ func init() { func defaultSchemaLoader( root interface{}, - ref *Ref, expandOptions *ExpandOptions, cache ResolutionCache) (*schemaLoader, error) { @@ -205,20 +230,10 @@ func defaultSchemaLoader( expandOptions = &ExpandOptions{} } - var ptr *jsonpointer.Pointer - if ref != nil { - ptr = ref.GetPointer() - } - - currentRef := nextRef(root, ref, ptr) - return &schemaLoader{ - loadingRef: ref, - startingRef: ref, - currentRef: currentRef, - root: root, - options: expandOptions, - cache: cache, + root: root, + options: expandOptions, + cache: cache, loadDoc: func(path string) (json.RawMessage, error) { debugLog("fetching document at %q", path) return PathLoader(path) @@ -303,172 +318,110 @@ func debugLog(msg string, args ...interface{}) { } } -func normalizeFileRef(ref *Ref, relativeBase string) *Ref { - refURL := ref.GetURL() - debugLog("normalizing %s against %s (%s)", ref.String(), relativeBase, refURL.String()) - if strings.HasPrefix(refURL.String(), "#") { - return ref +// normalize absolute path for cache. +// on Windows, drive letters should be converted to lower as scheme in net/url.URL +func normalizeAbsPath(path string) string { + u, err := url.Parse(path) + if err != nil { + debugLog("normalize absolute path failed: %s", err) + return path } - - if refURL.Scheme == "file" || (refURL.Scheme == "" && refURL.Host == "") { - filePath := refURL.Path - debugLog("normalizing file path: %s", filePath) - - if !filepath.IsAbs(filepath.FromSlash(filePath)) && len(relativeBase) != 0 { - debugLog("joining %s with %s", relativeBase, filePath) - if fi, err := os.Stat(filepath.FromSlash(relativeBase)); err == nil { - if !fi.IsDir() { - relativeBase = filepath.Dir(filepath.FromSlash(relativeBase)) - } - } - filePath = filepath.Join(filepath.FromSlash(relativeBase), filepath.FromSlash(filePath)) - } - if !filepath.IsAbs(filepath.FromSlash(filePath)) { - pwd, err := os.Getwd() - if err == nil { - debugLog("joining cwd %s with %s", pwd, filePath) - filePath = filepath.Join(pwd, filepath.FromSlash(filePath)) - } - } - - debugLog("cleaning %s", filePath) - filePath = filepath.Clean(filepath.FromSlash(filePath)) - _, err := os.Stat(filepath.FromSlash(filePath)) - if err == nil { - debugLog("rewriting url %s to scheme \"\" path %s", refURL.String(), filePath) - slp := filepath.FromSlash(filePath) - if filepath.IsAbs(slp) && filepath.Separator == '\\' && len(slp) > 1 && slp[1] == ':' && ('a' <= slp[0] && slp[0] <= 'z' || 'A' <= slp[0] && slp[0] <= 'Z') { - slp = slp[2:] - } - refURL.Scheme = "" - refURL.Path = filepath.ToSlash(slp) - debugLog("new url with joined filepath: %s", refURL.String()) - *ref = MustCreateRef(refURL.String()) - } - } - - debugLog("refurl: %s", ref.GetURL().String()) - return ref + return u.String() } -func (r *schemaLoader) resolveRef(currentRef, ref *Ref, node, target interface{}) error { +// base or refPath could be a file path or a URL +// given a base absolute path and a ref path, return the absolute path of refPath +// 1) if refPath is absolute, return it +// 2) if refPath is relative, join it with basePath keeping the scheme, hosts, and ports if exists +// base could be a directory or a full file path +func normalizePaths(refPath, base string) string { + refURL, _ := url.Parse(refPath) + if path.IsAbs(refURL.Path) { + // refPath is actually absolute + if refURL.Host != "" { + return refPath + } + return filepath.FromSlash(refPath) + } + // relative refPath + baseURL, _ := url.Parse(base) + if !strings.HasPrefix(refPath, "#") { + // combining paths + if baseURL.Host != "" { + baseURL.Path = path.Join(path.Dir(baseURL.Path), refURL.Path) + } else { // base is a file + newBase := fmt.Sprintf("%s#%s", filepath.Join(filepath.Dir(base), filepath.FromSlash(refURL.Path)), refURL.Fragment) + return newBase + } + + } + // copying fragment from ref to base + baseURL.Fragment = refURL.Fragment + return baseURL.String() +} + +// relativeBase could be an ABSOLUTE file path or an ABSOLUTE URL +func normalizeFileRef(ref *Ref, relativeBase string) *Ref { + // This is important for when the reference is pointing to the root schema + if ref.String() == "" { + r, _ := NewRef(relativeBase) + return &r + } + + refURL := ref.GetURL() + debugLog("normalizing %s against %s (%s)", ref.String(), relativeBase, refURL.String()) + + s := normalizePaths(ref.String(), relativeBase) + r, _ := NewRef(s) + return &r +} + +func (r *schemaLoader) resolveRef(ref *Ref, target interface{}, basePath string) error { tgt := reflect.ValueOf(target) if tgt.Kind() != reflect.Ptr { return fmt.Errorf("resolve ref: target needs to be a pointer") } - oldRef := currentRef + refURL := ref.GetURL() + if refURL == nil { + return nil + } - if currentRef != nil { - debugLog("resolve ref current %s new %s", currentRef.String(), ref.String()) - nextRef := nextRef(node, ref, currentRef.GetPointer()) - if nextRef == nil || nextRef.GetURL() == nil { - return nil + var res interface{} + var data interface{} + var err error + // Resolve against the root if it isn't nil, and if ref is pointing at the root, or has a fragment only which means + // it is pointing somewhere in the root. + root := r.root + if (ref.IsRoot() || ref.HasFragmentOnly) && root == nil && basePath != "" { + if baseRef, err := NewRef(basePath); err == nil { + root, _, _, _ = r.load(baseRef.GetURL()) } - var err error - currentRef, err = currentRef.Inherits(*nextRef) - debugLog("resolved ref current %s", currentRef.String()) + } + if (ref.IsRoot() || ref.HasFragmentOnly) && root != nil { + data = root + } else { + baseRef := normalizeFileRef(ref, basePath) + debugLog("current ref is: %s", ref.String()) + debugLog("current ref normalized file: %s", baseRef.String()) + data, _, _, err = r.load(baseRef.GetURL()) if err != nil { return err } } - if currentRef == nil { - currentRef = ref - } - - refURL := currentRef.GetURL() - if refURL == nil { - return nil - } - if currentRef.IsRoot() { - nv := reflect.ValueOf(node) - reflect.Indirect(tgt).Set(reflect.Indirect(nv)) - return nil - } - - if strings.HasPrefix(refURL.String(), "#") { - res, _, err := ref.GetPointer().Get(node) + res = data + if ref.String() != "" { + res, _, err = ref.GetPointer().Get(data) if err != nil { - res, _, err = ref.GetPointer().Get(r.root) - if err != nil { - return err - } + return err } - rv := reflect.Indirect(reflect.ValueOf(res)) - tgtType := reflect.Indirect(tgt).Type() - if rv.Type().AssignableTo(tgtType) { - reflect.Indirect(tgt).Set(reflect.Indirect(reflect.ValueOf(res))) - } else { - if err := swag.DynamicJSONToStruct(rv.Interface(), target); err != nil { - return err - } - } - - return nil } - - relativeBase := "" - if r.options != nil && r.options.RelativeBase != "" { - relativeBase = r.options.RelativeBase - } - normalizeFileRef(currentRef, relativeBase) - debugLog("current ref normalized file: %s", currentRef.String()) - normalizeFileRef(ref, relativeBase) - debugLog("ref normalized file: %s", currentRef.String()) - - data, _, _, err := r.load(currentRef.GetURL()) - if err != nil { - return err - } - - if ((oldRef == nil && currentRef != nil) || - (oldRef != nil && currentRef == nil) || - oldRef.String() != currentRef.String()) && - ((oldRef == nil && ref != nil) || - (oldRef != nil && ref == nil) || - (oldRef.String() != ref.String())) { - - return r.resolveRef(currentRef, ref, data, target) - } - - var res interface{} - if currentRef.String() != "" { - res, _, err = currentRef.GetPointer().Get(data) - if err != nil { - if strings.HasPrefix(ref.String(), "#") { - if r.loadingRef != nil { - rr, er := r.loadingRef.Inherits(*ref) - if er != nil { - return er - } - refURL = rr.GetURL() - - data, _, _, err = r.load(refURL) - if err != nil { - return err - } - } else { - data = r.root - } - } - - res, _, err = ref.GetPointer().Get(data) - if err != nil { - return err - } - } - } else { - res = data - } - if err := swag.DynamicJSONToStruct(res, target); err != nil { return err } - r.currentRef = currentRef - return nil } @@ -493,50 +446,62 @@ func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error) return data, toFetch, fromCache, nil } -func (r *schemaLoader) Resolve(ref *Ref, target interface{}) error { - return r.resolveRef(r.currentRef, ref, r.root, target) +// Resolve resolves a reference against basePath and stores the result in target +// Resolve is not in charge of following references, it only resolves ref by following its URL +// if the schema that ref is referring to has more refs in it. Resolve doesn't resolve them +// if basePath is an empty string, ref is resolved against the root schema stored in the schemaLoader struct +func (r *schemaLoader) Resolve(ref *Ref, target interface{}, basePath string) error { + return r.resolveRef(ref, target, basePath) } -func (r *schemaLoader) reset() { - ref := r.startingRef - - var ptr *jsonpointer.Pointer - if ref != nil { - ptr = ref.GetPointer() +// absPath returns the absolute path of a file +func absPath(fname string) (string, error) { + if strings.HasPrefix(fname, "http") { + return fname, nil } - - r.currentRef = nextRef(r.root, ref, ptr) + if filepath.IsAbs(fname) { + return fname, nil + } + wd, err := os.Getwd() + return filepath.Join(wd, fname), err } // ExpandSpec expands the references in a swagger spec func ExpandSpec(spec *Swagger, options *ExpandOptions) error { - resolver, err := defaultSchemaLoader(spec, nil, options, nil) + resolver, err := defaultSchemaLoader(spec, options, nil) // Just in case this ever returns an error. if shouldStopOnError(err, resolver.options) { return err } + // getting the base path of the spec to adjust all subsequent reference resolutions + specBasePath := "" + if options != nil && options.RelativeBase != "" { + specBasePath, _ = absPath(options.RelativeBase) + } + if options == nil || !options.SkipSchemas { for key, definition := range spec.Definitions { var def *Schema var err error - if def, err = expandSchema(definition, []string{"#/definitions/" + key}, resolver); shouldStopOnError(err, resolver.options) { + if def, err = expandSchema(definition, []string{fmt.Sprintf("#/defintions/%s", key)}, resolver, specBasePath); shouldStopOnError(err, resolver.options) { return err } - resolver.reset() - spec.Definitions[key] = *def + if def != nil { + spec.Definitions[key] = *def + } } } for key, parameter := range spec.Parameters { - if err := expandParameter(¶meter, resolver); shouldStopOnError(err, resolver.options) { + if err := expandParameter(¶meter, resolver, specBasePath); shouldStopOnError(err, resolver.options) { return err } spec.Parameters[key] = parameter } for key, response := range spec.Responses { - if err := expandResponse(&response, resolver); shouldStopOnError(err, resolver.options) { + if err := expandResponse(&response, resolver, specBasePath); shouldStopOnError(err, resolver.options) { return err } spec.Responses[key] = response @@ -544,7 +509,7 @@ func ExpandSpec(spec *Swagger, options *ExpandOptions) error { if spec.Paths != nil { for key, path := range spec.Paths.Paths { - if err := expandPathItem(&path, resolver); shouldStopOnError(err, resolver.options) { + if err := expandPathItem(&path, resolver, specBasePath); shouldStopOnError(err, resolver.options) { return err } spec.Paths.Paths[key] = path @@ -566,69 +531,65 @@ func shouldStopOnError(err error, opts *ExpandOptions) bool { return false } -// ExpandSchema expands the refs in the schema object +// ExpandSchema expands the refs in the schema object with reference to the root object +// go-openapi/validate uses this function +// notice that it is impossible to reference a json scema in a different file other than root func ExpandSchema(schema *Schema, root interface{}, cache ResolutionCache) error { - return ExpandSchemaWithBasePath(schema, root, cache, nil) + // Only save the root to a tmp file if it isn't nil. + var base string + if root != nil { + base, _ = absPath("root") + if cache == nil { + cache = resCache + } + cache.Set(normalizeAbsPath(base), root) + base = "root" + } + + opts := &ExpandOptions{ + RelativeBase: base, + SkipSchemas: false, + ContinueOnError: false, + } + return ExpandSchemaWithBasePath(schema, cache, opts) } // ExpandSchemaWithBasePath expands the refs in the schema object, base path configured through expand options -func ExpandSchemaWithBasePath(schema *Schema, root interface{}, cache ResolutionCache, opts *ExpandOptions) error { +func ExpandSchemaWithBasePath(schema *Schema, cache ResolutionCache, opts *ExpandOptions) error { if schema == nil { return nil } - if root == nil { - root = schema + + var basePath string + if opts.RelativeBase != "" { + basePath, _ = absPath(opts.RelativeBase) } - nrr, _ := NewRef(schema.ID) - var rrr *Ref - if nrr.String() != "" { - switch rt := root.(type) { - case *Schema: - rid, _ := NewRef(rt.ID) - rrr, _ = rid.Inherits(nrr) - case *Swagger: - rid, _ := NewRef(rt.ID) - rrr, _ = rid.Inherits(nrr) - } - } - - resolver, err := defaultSchemaLoader(root, rrr, opts, cache) + resolver, err := defaultSchemaLoader(nil, opts, cache) if err != nil { return err } refs := []string{""} - if rrr != nil { - refs[0] = rrr.String() - } var s *Schema - if s, err = expandSchema(*schema, refs, resolver); err != nil { + if s, err = expandSchema(*schema, refs, resolver, basePath); err != nil { return err } *schema = *s return nil } -func expandItems(target Schema, parentRefs []string, resolver *schemaLoader) (*Schema, error) { +func expandItems(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { if target.Items != nil { if target.Items.Schema != nil { - t, err := expandSchema(*target.Items.Schema, parentRefs, resolver) + t, err := expandSchema(*target.Items.Schema, parentRefs, resolver, basePath) if err != nil { - if target.Items.Schema.ID == "" { - target.Items.Schema.ID = target.ID - if err != nil { - t, err = expandSchema(*target.Items.Schema, parentRefs, resolver) - if err != nil { - return nil, err - } - } - } + return nil, err } *target.Items.Schema = *t } for i := range target.Items.Schemas { - t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver) + t, err := expandSchema(target.Items.Schemas[i], parentRefs, resolver, basePath) if err != nil { return nil, err } @@ -638,36 +599,84 @@ func expandItems(target Schema, parentRefs []string, resolver *schemaLoader) (*S return &target, nil } -func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (*Schema, error) { +// basePathFromSchemaID returns a new basePath based on an existing basePath and a schema ID +func basePathFromSchemaID(oldBasePath, id string) string { + u, err := url.Parse(oldBasePath) + if err != nil { + panic(err) + } + uid, err := url.Parse(id) + if err != nil { + panic(err) + } + + if path.IsAbs(uid.Path) { + return id + } + u.Path = path.Join(path.Dir(u.Path), uid.Path) + return u.String() +} + +func isCircular(ref *Ref, basePath string, parentRefs ...string) bool { + return basePath != "" && swag.ContainsStringsCI(parentRefs, ref.String()) +} + +func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader, basePath string) (*Schema, error) { if target.Ref.String() == "" && target.Ref.IsRoot() { - debugLog("skipping expand schema for no ref and root: %v", resolver.root) + // normalizing is important + newRef := normalizeFileRef(&target.Ref, basePath) + target.Ref = *newRef + return &target, nil - return resolver.root.(*Schema), nil } - // t is the new expanded schema + /* change the base path of resolution when an ID is encountered + otherwise the basePath should inherit the parent's */ + // important: ID can be relative path + if target.ID != "" { + // handling the case when id is a folder + // remember that basePath has to be a file + refPath := target.ID + if strings.HasSuffix(target.ID, "/") { + // path.Clean here would not work correctly if basepath is http + refPath = fmt.Sprintf("%s%s", refPath, "placeholder.json") + } + basePath = normalizePaths(refPath, basePath) + } + + /* Explain here what this function does */ + var t *Schema + /* if Ref is found, everything else doesn't matter */ + /* Ref also changes the resolution scope of children expandSchema */ + if target.Ref.String() != "" { + /* Here the resolution scope is changed because a $ref was encountered */ + normalizedRef := normalizeFileRef(&target.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() - for target.Ref.String() != "" { - if swag.ContainsStringsCI(parentRefs, target.Ref.String()) { + /* this means there is a circle in the recursion tree */ + /* return the Ref */ + if isCircular(normalizedRef, basePath, parentRefs...) { + target.Ref = *normalizedRef return &target, nil } - if err := resolver.Resolve(&target.Ref, &t); shouldStopOnError(err, resolver.options) { - return &target, err + debugLog("\nbasePath: %s", basePath) + if Debug { + b, _ := json.Marshal(target) + debugLog("calling Resolve with target: %s", string(b)) + } + if err := resolver.Resolve(&target.Ref, &t, basePath); shouldStopOnError(err, resolver.options) { + return nil, err } - if swag.ContainsStringsCI(parentRefs, target.Ref.String()) { - debugLog("ref already exists in parent") - return &target, nil - } - parentRefs = append(parentRefs, target.Ref.String()) if t != nil { - target = *t + parentRefs = append(parentRefs, normalizedRef.String()) + return expandSchema(*t, parentRefs, resolver, normalizedBasePath) } } - t, err := expandItems(target, parentRefs, resolver) + t, err := expandItems(target, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -676,23 +685,21 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } for i := range target.AllOf { - t, err := expandSchema(target.AllOf[i], parentRefs, resolver) + t, err := expandSchema(target.AllOf[i], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } - if t != nil { - target.AllOf[i] = *t - } + target.AllOf[i] = *t } for i := range target.AnyOf { - t, err := expandSchema(target.AnyOf[i], parentRefs, resolver) + t, err := expandSchema(target.AnyOf[i], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } target.AnyOf[i] = *t } for i := range target.OneOf { - t, err := expandSchema(target.OneOf[i], parentRefs, resolver) + t, err := expandSchema(target.OneOf[i], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -701,7 +708,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } if target.Not != nil { - t, err := expandSchema(*target.Not, parentRefs, resolver) + t, err := expandSchema(*target.Not, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -710,7 +717,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } for k := range target.Properties { - t, err := expandSchema(target.Properties[k], parentRefs, resolver) + t, err := expandSchema(target.Properties[k], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -719,7 +726,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } if target.AdditionalProperties != nil && target.AdditionalProperties.Schema != nil { - t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver) + t, err := expandSchema(*target.AdditionalProperties.Schema, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -728,7 +735,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } for k := range target.PatternProperties { - t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver) + t, err := expandSchema(target.PatternProperties[k], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -738,7 +745,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } for k := range target.Dependencies { if target.Dependencies[k].Schema != nil { - t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver) + t, err := expandSchema(*target.Dependencies[k].Schema, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -748,7 +755,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } if target.AdditionalItems != nil && target.AdditionalItems.Schema != nil { - t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver) + t, err := expandSchema(*target.AdditionalItems.Schema, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -757,7 +764,7 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* } } for k := range target.Definitions { - t, err := expandSchema(target.Definitions[k], parentRefs, resolver) + t, err := expandSchema(target.Definitions[k], parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return &target, err } @@ -768,55 +775,78 @@ func expandSchema(target Schema, parentRefs []string, resolver *schemaLoader) (* return &target, nil } -func expandPathItem(pathItem *PathItem, resolver *schemaLoader) error { +func derefPathItem(pathItem *PathItem, parentRefs []string, resolver *schemaLoader, basePath string) error { + curRef := pathItem.Ref.String() + if curRef != "" { + normalizedRef := normalizeFileRef(&pathItem.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := resolver.Resolve(&pathItem.Ref, pathItem, basePath); shouldStopOnError(err, resolver.options) { + return err + } + + if pathItem.Ref.String() != "" && pathItem.Ref.String() != curRef && basePath != normalizedBasePath { + parentRefs = append(parentRefs, normalizedRef.String()) + return derefPathItem(pathItem, parentRefs, resolver, normalizedBasePath) + } + } + + return nil +} + +func expandPathItem(pathItem *PathItem, resolver *schemaLoader, basePath string) error { if pathItem == nil { return nil } - if pathItem.Ref.String() != "" { - if err := resolver.Resolve(&pathItem.Ref, &pathItem); err != nil { - return err - } - resolver.reset() - pathItem.Ref = Ref{} + parentRefs := []string{} + if err := derefPathItem(pathItem, parentRefs, resolver, basePath); shouldStopOnError(err, resolver.options) { + return err } + pathItem.Ref = Ref{} + + parentRefs = parentRefs[0:] for idx := range pathItem.Parameters { - if err := expandParameter(&(pathItem.Parameters[idx]), resolver); shouldStopOnError(err, resolver.options) { + if err := expandParameter(&(pathItem.Parameters[idx]), resolver, basePath); shouldStopOnError(err, resolver.options) { return err } } - if err := expandOperation(pathItem.Get, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Get, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Head, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Head, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Options, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Options, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Put, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Put, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Post, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Post, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Patch, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Patch, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } - if err := expandOperation(pathItem.Delete, resolver); shouldStopOnError(err, resolver.options) { + if err := expandOperation(pathItem.Delete, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } return nil } -func expandOperation(op *Operation, resolver *schemaLoader) error { +func expandOperation(op *Operation, resolver *schemaLoader, basePath string) error { if op == nil { return nil } for i, param := range op.Parameters { - if err := expandParameter(¶m, resolver); shouldStopOnError(err, resolver.options) { + if err := expandParameter(¶m, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } op.Parameters[i] = param @@ -824,11 +854,11 @@ func expandOperation(op *Operation, resolver *schemaLoader) error { if op.Responses != nil { responses := op.Responses - if err := expandResponse(responses.Default, resolver); shouldStopOnError(err, resolver.options) { + if err := expandResponse(responses.Default, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } for code, response := range responses.StatusCodeResponses { - if err := expandResponse(&response, resolver); shouldStopOnError(err, resolver.options) { + if err := expandResponse(&response, resolver, basePath); shouldStopOnError(err, resolver.options) { return err } responses.StatusCodeResponses[code] = response @@ -837,63 +867,125 @@ func expandOperation(op *Operation, resolver *schemaLoader) error { return nil } -func expandResponse(response *Response, resolver *schemaLoader) error { +// ExpandResponse expands a response based on a basepath +// This is the exported version of expandResponse +// all refs inside response will be resolved relative to basePath +func ExpandResponse(response *Response, basePath string) error { + opts := &ExpandOptions{ + RelativeBase: basePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil) + if err != nil { + return err + } + + return expandResponse(response, resolver, basePath) +} + +func derefResponse(response *Response, parentRefs []string, resolver *schemaLoader, basePath string) error { + curRef := response.Ref.String() + if curRef != "" { + /* Here the resolution scope is changed because a $ref was encountered */ + normalizedRef := normalizeFileRef(&response.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := resolver.Resolve(&response.Ref, response, basePath); shouldStopOnError(err, resolver.options) { + return err + } + + if response.Ref.String() != "" && response.Ref.String() != curRef && basePath != normalizedBasePath { + parentRefs = append(parentRefs, normalizedRef.String()) + return derefResponse(response, parentRefs, resolver, normalizedBasePath) + } + } + + return nil +} + +func expandResponse(response *Response, resolver *schemaLoader, basePath string) error { if response == nil { return nil } - var parentRefs []string - - if response.Ref.String() != "" { - parentRefs = append(parentRefs, response.Ref.String()) - if err := resolver.Resolve(&response.Ref, response); shouldStopOnError(err, resolver.options) { - return err - } - resolver.reset() - response.Ref = Ref{} + parentRefs := []string{} + if err := derefResponse(response, parentRefs, resolver, basePath); shouldStopOnError(err, resolver.options) { + return err } + response.Ref = Ref{} + parentRefs = parentRefs[0:] if !resolver.options.SkipSchemas && response.Schema != nil { parentRefs = append(parentRefs, response.Schema.Ref.String()) - debugLog("response ref: %s", response.Schema.Ref) - if err := resolver.Resolve(&response.Schema.Ref, &response.Schema); shouldStopOnError(err, resolver.options) { - return err - } - s, err := expandSchema(*response.Schema, parentRefs, resolver) + s, err := expandSchema(*response.Schema, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return err } - resolver.reset() *response.Schema = *s } + return nil } -func expandParameter(parameter *Parameter, resolver *schemaLoader) error { +// ExpandParameter expands a parameter based on a basepath +// This is the exported version of expandParameter +// all refs inside parameter will be resolved relative to basePath +func ExpandParameter(parameter *Parameter, basePath string) error { + opts := &ExpandOptions{ + RelativeBase: basePath, + } + resolver, err := defaultSchemaLoader(nil, opts, nil) + if err != nil { + return err + } + + return expandParameter(parameter, resolver, basePath) +} + +func derefParameter(parameter *Parameter, parentRefs []string, resolver *schemaLoader, basePath string) error { + curRef := parameter.Ref.String() + if curRef != "" { + normalizedRef := normalizeFileRef(¶meter.Ref, basePath) + normalizedBasePath := normalizedRef.RemoteURI() + + if isCircular(normalizedRef, basePath, parentRefs...) { + return nil + } + + if err := resolver.Resolve(¶meter.Ref, parameter, basePath); shouldStopOnError(err, resolver.options) { + return err + } + + if parameter.Ref.String() != "" && parameter.Ref.String() != curRef && basePath != normalizedBasePath { + parentRefs = append(parentRefs, normalizedRef.String()) + return derefParameter(parameter, parentRefs, resolver, normalizedBasePath) + } + } + + return nil +} + +func expandParameter(parameter *Parameter, resolver *schemaLoader, basePath string) error { if parameter == nil { return nil } - var parentRefs []string - - if parameter.Ref.String() != "" { - parentRefs = append(parentRefs, parameter.Ref.String()) - if err := resolver.Resolve(¶meter.Ref, parameter); shouldStopOnError(err, resolver.options) { - return err - } - resolver.reset() - parameter.Ref = Ref{} + parentRefs := []string{} + if err := derefParameter(parameter, parentRefs, resolver, basePath); shouldStopOnError(err, resolver.options) { + return err } + parameter.Ref = Ref{} + + parentRefs = parentRefs[0:] if !resolver.options.SkipSchemas && parameter.Schema != nil { parentRefs = append(parentRefs, parameter.Schema.Ref.String()) - if err := resolver.Resolve(¶meter.Schema.Ref, ¶meter.Schema); shouldStopOnError(err, resolver.options) { - return err - } - s, err := expandSchema(*parameter.Schema, parentRefs, resolver) + s, err := expandSchema(*parameter.Schema, parentRefs, resolver, basePath) if shouldStopOnError(err, resolver.options) { return err } - resolver.reset() *parameter.Schema = *s } return nil diff --git a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/items.go b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/items.go index 46944fb6..492423ef 100644 --- a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/items.go +++ b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/items.go @@ -28,6 +28,7 @@ type SimpleSchema struct { Items *Items `json:"items,omitempty"` CollectionFormat string `json:"collectionFormat,omitempty"` Default interface{} `json:"default,omitempty"` + Example interface{} `json:"example,omitempty"` } func (s *SimpleSchema) TypeName() string { @@ -178,9 +179,14 @@ func (i *Items) UnmarshalJSON(data []byte) error { if err := json.Unmarshal(data, &simpleSchema); err != nil { return err } + var vendorExtensible VendorExtensible + if err := json.Unmarshal(data, &vendorExtensible); err != nil { + return err + } i.Refable = ref i.CommonValidations = validations i.SimpleSchema = simpleSchema + i.VendorExtensible = vendorExtensible return nil } @@ -198,7 +204,11 @@ func (i Items) MarshalJSON() ([]byte, error) { if err != nil { return nil, err } - return swag.ConcatJSON(b3, b1, b2), nil + b4, err := json.Marshal(i.VendorExtensible) + if err != nil { + return nil, err + } + return swag.ConcatJSON(b4, b3, b1, b2), nil } // JSONLookup look up a value by the json property name diff --git a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/operation.go b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/operation.go index de1db6f0..e698f9e8 100644 --- a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/operation.go +++ b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/operation.go @@ -31,11 +31,36 @@ type OperationProps struct { ExternalDocs *ExternalDocumentation `json:"externalDocs,omitempty"` ID string `json:"operationId,omitempty"` Deprecated bool `json:"deprecated,omitempty"` - Security []map[string][]string `json:"security,omitempty"` + Security []map[string][]string `json:"security,omitempty"` //Special case, see MarshalJSON function Parameters []Parameter `json:"parameters,omitempty"` Responses *Responses `json:"responses,omitempty"` } +// MarshalJSON takes care of serializing operation properties to JSON +// +// We use a custom marhaller here to handle a special cases related +// the Security field. We need to preserve zero length slice +// while omiting the field when the value is nil/unset. +func (op OperationProps) MarshalJSON() ([]byte, error) { + type Alias OperationProps + if op.Security == nil { + return json.Marshal(&struct { + Security []map[string][]string `json:"security,omitempty"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) + } + return json.Marshal(&struct { + Security []map[string][]string `json:"security"` + *Alias + }{ + Security: op.Security, + Alias: (*Alias)(&op), + }) +} + // Operation describes a single API operation on a path. // // For more information: http://goo.gl/8us55a#operationObject diff --git a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/ref.go b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/ref.go index 4833b87e..1405bfd8 100644 --- a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/ref.go +++ b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/ref.go @@ -145,7 +145,10 @@ func (r *Ref) UnmarshalJSON(d []byte) error { if err := json.Unmarshal(d, &v); err != nil { return err } + return r.fromMap(v) +} +func (r *Ref) fromMap(v map[string]interface{}) error { if v == nil { return nil } diff --git a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/schema.go b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/schema.go index 1cdcc163..05c1a4aa 100644 --- a/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/schema.go +++ b/vendor/k8s.io/code-generator/vendor/github.com/go-openapi/spec/schema.go @@ -135,6 +135,10 @@ func (r *SchemaURL) UnmarshalJSON(data []byte) error { if err := json.Unmarshal(data, &v); err != nil { return err } + return r.fromMap(v) +} + +func (r *SchemaURL) fromMap(v map[string]interface{}) error { if v == nil { return nil } @@ -582,18 +586,17 @@ func (s Schema) MarshalJSON() ([]byte, error) { // UnmarshalJSON marshal this from JSON func (s *Schema) UnmarshalJSON(data []byte) error { - var sch Schema - if err := json.Unmarshal(data, &sch.SchemaProps); err != nil { + props := struct { + SchemaProps + SwaggerSchemaProps + }{} + if err := json.Unmarshal(data, &props); err != nil { return err } - if err := json.Unmarshal(data, &sch.Ref); err != nil { - return err - } - if err := json.Unmarshal(data, &sch.Schema); err != nil { - return err - } - if err := json.Unmarshal(data, &sch.SwaggerSchemaProps); err != nil { - return err + + sch := Schema{ + SchemaProps: props.SchemaProps, + SwaggerSchemaProps: props.SwaggerSchemaProps, } var d map[string]interface{} @@ -601,6 +604,9 @@ func (s *Schema) UnmarshalJSON(data []byte) error { return err } + sch.Ref.fromMap(d) + sch.Schema.fromMap(d) + delete(d, "$ref") delete(d, "$schema") for _, pn := range swag.DefaultJSONNameProvider.GetJSONNames(s) { diff --git a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go index d9b0980a..73e367b3 100644 --- a/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go +++ b/vendor/k8s.io/code-generator/vendor/k8s.io/kube-openapi/pkg/generators/openapi.go @@ -634,6 +634,8 @@ func (g openAPITypeWriter) generateSliceProperty(t *types.Type) error { return fmt.Errorf("please add type %v to getOpenAPITypeFormat function", elemType) case types.Struct: g.generateReferenceProperty(elemType) + case types.Slice, types.Array: + g.generateSliceProperty(elemType) default: return fmt.Errorf("slice Element kind %v is not supported in %v", elemType.Kind, t) }