diff --git a/flyteidl/clients/go/admin/mocks/AdminServiceClient.go b/flyteidl/clients/go/admin/mocks/AdminServiceClient.go index c5e6dc7aa94..fc9ce4b70b0 100644 --- a/flyteidl/clients/go/admin/mocks/AdminServiceClient.go +++ b/flyteidl/clients/go/admin/mocks/AdminServiceClient.go @@ -1265,6 +1265,54 @@ func (_m *AdminServiceClient) ListLaunchPlans(ctx context.Context, in *admin.Res return r0, r1 } +type AdminServiceClient_ListMatchableAttributes struct { + *mock.Call +} + +func (_m AdminServiceClient_ListMatchableAttributes) Return(_a0 *admin.ListMatchableAttributesResponse, _a1 error) *AdminServiceClient_ListMatchableAttributes { + return &AdminServiceClient_ListMatchableAttributes{Call: _m.Call.Return(_a0, _a1)} +} + +func (_m *AdminServiceClient) OnListMatchableAttributes(ctx context.Context, in *admin.ListMatchableAttributesRequest, opts ...grpc.CallOption) *AdminServiceClient_ListMatchableAttributes { + c := _m.On("ListMatchableAttributes", ctx, in, opts) + return &AdminServiceClient_ListMatchableAttributes{Call: c} +} + +func (_m *AdminServiceClient) OnListMatchableAttributesMatch(matchers ...interface{}) *AdminServiceClient_ListMatchableAttributes { + c := _m.On("ListMatchableAttributes", matchers...) + return &AdminServiceClient_ListMatchableAttributes{Call: c} +} + +// ListMatchableAttributes provides a mock function with given fields: ctx, in, opts +func (_m *AdminServiceClient) ListMatchableAttributes(ctx context.Context, in *admin.ListMatchableAttributesRequest, opts ...grpc.CallOption) (*admin.ListMatchableAttributesResponse, error) { + _va := make([]interface{}, len(opts)) + for _i := range opts { + _va[_i] = opts[_i] + } + var _ca []interface{} + _ca = append(_ca, ctx, in) + _ca = append(_ca, _va...) + ret := _m.Called(_ca...) + + var r0 *admin.ListMatchableAttributesResponse + if rf, ok := ret.Get(0).(func(context.Context, *admin.ListMatchableAttributesRequest, ...grpc.CallOption) *admin.ListMatchableAttributesResponse); ok { + r0 = rf(ctx, in, opts...) + } else { + if ret.Get(0) != nil { + r0 = ret.Get(0).(*admin.ListMatchableAttributesResponse) + } + } + + var r1 error + if rf, ok := ret.Get(1).(func(context.Context, *admin.ListMatchableAttributesRequest, ...grpc.CallOption) error); ok { + r1 = rf(ctx, in, opts...) + } else { + r1 = ret.Error(1) + } + + return r0, r1 +} + type AdminServiceClient_ListNamedEntities struct { *mock.Call } diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc index 107ce79188f..cd5d7c32676 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc @@ -21,7 +21,9 @@ extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionQueueAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_TaskResourceSpec_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_ClusterResourceAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_TaskResourceAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; +extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fmatchable_5fresource_2eproto ::google::protobuf::internal::SCCInfo<4> scc_info_MatchingAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; namespace flyteidl { namespace admin { class TaskResourceSpecDefaultTypeInternal { @@ -56,6 +58,18 @@ class MatchingAttributesDefaultTypeInternal { const ::flyteidl::admin::ExecutionQueueAttributes* execution_queue_attributes_; const ::flyteidl::admin::ExecutionClusterLabel* execution_cluster_label_; } _MatchingAttributes_default_instance_; +class MatchableAttributesConfigurationDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _MatchableAttributesConfiguration_default_instance_; +class ListMatchableAttributesRequestDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _ListMatchableAttributesRequest_default_instance_; +class ListMatchableAttributesResponseDefaultTypeInternal { + public: + ::google::protobuf::internal::ExplicitlyConstructed _instance; +} _ListMatchableAttributesResponse_default_instance_; } // namespace admin } // namespace flyteidl static void InitDefaultsTaskResourceSpec_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { @@ -161,6 +175,50 @@ ::google::protobuf::internal::SCCInfo<4> scc_info_MatchingAttributes_flyteidl_2f &scc_info_ExecutionQueueAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base, &scc_info_ExecutionClusterLabel_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base,}}; +static void InitDefaultsMatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_MatchableAttributesConfiguration_default_instance_; + new (ptr) ::flyteidl::admin::MatchableAttributesConfiguration(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::MatchableAttributesConfiguration::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsMatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto}, { + &scc_info_MatchingAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base,}}; + +static void InitDefaultsListMatchableAttributesRequest_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_ListMatchableAttributesRequest_default_instance_; + new (ptr) ::flyteidl::admin::ListMatchableAttributesRequest(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::ListMatchableAttributesRequest::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<0> scc_info_ListMatchableAttributesRequest_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsListMatchableAttributesRequest_flyteidl_2fadmin_2fmatchable_5fresource_2eproto}, {}}; + +static void InitDefaultsListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { + GOOGLE_PROTOBUF_VERIFY_VERSION; + + { + void* ptr = &::flyteidl::admin::_ListMatchableAttributesResponse_default_instance_; + new (ptr) ::flyteidl::admin::ListMatchableAttributesResponse(); + ::google::protobuf::internal::OnShutdownDestroyMessage(ptr); + } + ::flyteidl::admin::ListMatchableAttributesResponse::InitAsDefaultInstance(); +} + +::google::protobuf::internal::SCCInfo<1> scc_info_ListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = + {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto}, { + &scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base,}}; + void InitDefaults_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_TaskResourceSpec_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_TaskResourceAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); @@ -169,9 +227,12 @@ void InitDefaults_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { ::google::protobuf::internal::InitSCC(&scc_info_ExecutionQueueAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_ExecutionClusterLabel_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); ::google::protobuf::internal::InitSCC(&scc_info_MatchingAttributes_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_ListMatchableAttributesRequest_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + ::google::protobuf::internal::InitSCC(&scc_info_ListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); } -::google::protobuf::Metadata file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[7]; +::google::protobuf::Metadata file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[10]; const ::google::protobuf::EnumDescriptor* file_level_enum_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[1]; constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = nullptr; @@ -229,6 +290,28 @@ const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fmatchable_5freso offsetof(::flyteidl::admin::MatchingAttributesDefaultTypeInternal, execution_queue_attributes_), offsetof(::flyteidl::admin::MatchingAttributesDefaultTypeInternal, execution_cluster_label_), PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchingAttributes, target_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, attributes_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, domain_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, project_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, workflow_), + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::MatchableAttributesConfiguration, launch_plan_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ListMatchableAttributesRequest, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ListMatchableAttributesRequest, resource_type_), + ~0u, // no _has_bits_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ListMatchableAttributesResponse, _internal_metadata_), + ~0u, // no _extensions_ + ~0u, // no _oneof_case_ + ~0u, // no _weak_field_map_ + PROTOBUF_FIELD_OFFSET(::flyteidl::admin::ListMatchableAttributesResponse, configurations_), }; static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = { { 0, -1, sizeof(::flyteidl::admin::TaskResourceSpec)}, @@ -238,6 +321,9 @@ static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SE { 31, -1, sizeof(::flyteidl::admin::ExecutionQueueAttributes)}, { 37, -1, sizeof(::flyteidl::admin::ExecutionClusterLabel)}, { 43, -1, sizeof(::flyteidl::admin::MatchingAttributes)}, + { 53, -1, sizeof(::flyteidl::admin::MatchableAttributesConfiguration)}, + { 63, -1, sizeof(::flyteidl::admin::ListMatchableAttributesRequest)}, + { 69, -1, sizeof(::flyteidl::admin::ListMatchableAttributesResponse)}, }; static ::google::protobuf::Message const * const file_default_instances[] = { @@ -248,12 +334,15 @@ static ::google::protobuf::Message const * const file_default_instances[] = { reinterpret_cast(&::flyteidl::admin::_ExecutionQueueAttributes_default_instance_), reinterpret_cast(&::flyteidl::admin::_ExecutionClusterLabel_default_instance_), reinterpret_cast(&::flyteidl::admin::_MatchingAttributes_default_instance_), + reinterpret_cast(&::flyteidl::admin::_MatchableAttributesConfiguration_default_instance_), + reinterpret_cast(&::flyteidl::admin::_ListMatchableAttributesRequest_default_instance_), + reinterpret_cast(&::flyteidl::admin::_ListMatchableAttributesResponse_default_instance_), }; ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = { {}, AddDescriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, "flyteidl/admin/matchable_resource.proto", schemas, file_default_instances, TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto::offsets, - file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 7, file_level_enum_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, file_level_service_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, + file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 10, file_level_enum_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, file_level_service_descriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, }; const char descriptor_table_protodef_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[] = @@ -278,16 +367,25 @@ const char descriptor_table_protodef_flyteidl_2fadmin_2fmatchable_5fresource_2ep "\001(\0132(.flyteidl.admin.ExecutionQueueAttri" "butesH\000\022H\n\027execution_cluster_label\030\004 \001(\013" "2%.flyteidl.admin.ExecutionClusterLabelH" - "\000B\010\n\006target*n\n\021MatchableResource\022\021\n\rTASK" - "_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023\n\017EXE" - "CUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTER_LABE" - "L\020\003B3Z1github.com/lyft/flyteidl/gen/pb-g" - "o/flyteidl/adminb\006proto3" + "\000B\010\n\006target\"\242\001\n MatchableAttributesConfi" + "guration\0226\n\nattributes\030\001 \001(\0132\".flyteidl." + "admin.MatchingAttributes\022\016\n\006domain\030\002 \001(\t" + "\022\017\n\007project\030\003 \001(\t\022\020\n\010workflow\030\004 \001(\t\022\023\n\013l" + "aunch_plan\030\005 \001(\t\"Z\n\036ListMatchableAttribu" + "tesRequest\0228\n\rresource_type\030\001 \001(\0162!.flyt" + "eidl.admin.MatchableResource\"k\n\037ListMatc" + "hableAttributesResponse\022H\n\016configuration" + "s\030\001 \003(\01320.flyteidl.admin.MatchableAttrib" + "utesConfiguration*n\n\021MatchableResource\022\021" + "\n\rTASK_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022" + "\023\n\017EXECUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTE" + "R_LABEL\020\003B3Z1github.com/lyft/flyteidl/ge" + "n/pb-go/flyteidl/adminb\006proto3" ; ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto = { false, InitDefaults_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, descriptor_table_protodef_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, - "flyteidl/admin/matchable_resource.proto", &assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 1024, + "flyteidl/admin/matchable_resource.proto", &assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto, 1390, }; void AddDescriptors_flyteidl_2fadmin_2fmatchable_5fresource_2eproto() { @@ -2767,31 +2865,1166 @@ ::google::protobuf::Metadata MatchingAttributes::GetMetadata() const { } -// @@protoc_insertion_point(namespace_scope) -} // namespace admin -} // namespace flyteidl -namespace google { -namespace protobuf { -template<> PROTOBUF_NOINLINE ::flyteidl::admin::TaskResourceSpec* Arena::CreateMaybeMessage< ::flyteidl::admin::TaskResourceSpec >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::TaskResourceSpec >(arena); +// =================================================================== + +void MatchableAttributesConfiguration::InitAsDefaultInstance() { + ::flyteidl::admin::_MatchableAttributesConfiguration_default_instance_._instance.get_mutable()->attributes_ = const_cast< ::flyteidl::admin::MatchingAttributes*>( + ::flyteidl::admin::MatchingAttributes::internal_default_instance()); } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::TaskResourceAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::TaskResourceAttributes >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::TaskResourceAttributes >(arena); +class MatchableAttributesConfiguration::HasBitSetters { + public: + static const ::flyteidl::admin::MatchingAttributes& attributes(const MatchableAttributesConfiguration* msg); +}; + +const ::flyteidl::admin::MatchingAttributes& +MatchableAttributesConfiguration::HasBitSetters::attributes(const MatchableAttributesConfiguration* msg) { + return *msg->attributes_; } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse* Arena::CreateMaybeMessage< ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse >(arena); +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int MatchableAttributesConfiguration::kAttributesFieldNumber; +const int MatchableAttributesConfiguration::kDomainFieldNumber; +const int MatchableAttributesConfiguration::kProjectFieldNumber; +const int MatchableAttributesConfiguration::kWorkflowFieldNumber; +const int MatchableAttributesConfiguration::kLaunchPlanFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +MatchableAttributesConfiguration::MatchableAttributesConfiguration() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.MatchableAttributesConfiguration) } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::ClusterResourceAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::ClusterResourceAttributes >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::ClusterResourceAttributes >(arena); +MatchableAttributesConfiguration::MatchableAttributesConfiguration(const MatchableAttributesConfiguration& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.domain().size() > 0) { + domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); + } + project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.project().size() > 0) { + project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); + } + workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.workflow().size() > 0) { + workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); + } + launch_plan_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (from.launch_plan().size() > 0) { + launch_plan_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launch_plan_); + } + if (from.has_attributes()) { + attributes_ = new ::flyteidl::admin::MatchingAttributes(*from.attributes_); + } else { + attributes_ = nullptr; + } + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.MatchableAttributesConfiguration) } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::ExecutionQueueAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::ExecutionQueueAttributes >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::ExecutionQueueAttributes >(arena); + +void MatchableAttributesConfiguration::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + domain_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + project_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + workflow_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + launch_plan_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + attributes_ = nullptr; } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::ExecutionClusterLabel* Arena::CreateMaybeMessage< ::flyteidl::admin::ExecutionClusterLabel >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::ExecutionClusterLabel >(arena); + +MatchableAttributesConfiguration::~MatchableAttributesConfiguration() { + // @@protoc_insertion_point(destructor:flyteidl.admin.MatchableAttributesConfiguration) + SharedDtor(); } -template<> PROTOBUF_NOINLINE ::flyteidl::admin::MatchingAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::MatchingAttributes >(Arena* arena) { - return Arena::CreateInternal< ::flyteidl::admin::MatchingAttributes >(arena); + +void MatchableAttributesConfiguration::SharedDtor() { + domain_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + project_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + workflow_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + launch_plan_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (this != internal_default_instance()) delete attributes_; +} + +void MatchableAttributesConfiguration::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const MatchableAttributesConfiguration& MatchableAttributesConfiguration::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_MatchableAttributesConfiguration_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + return *internal_default_instance(); +} + + +void MatchableAttributesConfiguration::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.MatchableAttributesConfiguration) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + launch_plan_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); + if (GetArenaNoVirtual() == nullptr && attributes_ != nullptr) { + delete attributes_; + } + attributes_ = nullptr; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* MatchableAttributesConfiguration::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.admin.MatchingAttributes attributes = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::admin::MatchingAttributes::_InternalParse; + object = msg->mutable_attributes(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + break; + } + // string domain = 2; + case 2: { + if (static_cast<::google::protobuf::uint8>(tag) != 18) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.MatchableAttributesConfiguration.domain"); + object = msg->mutable_domain(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // string project = 3; + case 3: { + if (static_cast<::google::protobuf::uint8>(tag) != 26) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.MatchableAttributesConfiguration.project"); + object = msg->mutable_project(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // string workflow = 4; + case 4: { + if (static_cast<::google::protobuf::uint8>(tag) != 34) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.MatchableAttributesConfiguration.workflow"); + object = msg->mutable_workflow(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + // string launch_plan = 5; + case 5: { + if (static_cast<::google::protobuf::uint8>(tag) != 42) goto handle_unusual; + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + ctx->extra_parse_data().SetFieldName("flyteidl.admin.MatchableAttributesConfiguration.launch_plan"); + object = msg->mutable_launch_plan(); + if (size > end - ptr + ::google::protobuf::internal::ParseContext::kSlopBytes) { + parser_till_end = ::google::protobuf::internal::GreedyStringParserUTF8; + goto string_till_end; + } + GOOGLE_PROTOBUF_PARSER_ASSERT(::google::protobuf::internal::StringCheckUTF8(ptr, size, ctx)); + ::google::protobuf::internal::InlineGreedyStringParser(object, ptr, size, ctx); + ptr += size; + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +string_till_end: + static_cast<::std::string*>(object)->clear(); + static_cast<::std::string*>(object)->reserve(size); + goto len_delim_till_end; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool MatchableAttributesConfiguration::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.MatchableAttributesConfiguration) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.admin.MatchingAttributes attributes = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, mutable_attributes())); + } else { + goto handle_unusual; + } + break; + } + + // string domain = 2; + case 2: { + if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_domain())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->domain().data(), static_cast(this->domain().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.MatchableAttributesConfiguration.domain")); + } else { + goto handle_unusual; + } + break; + } + + // string project = 3; + case 3: { + if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_project())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->project().data(), static_cast(this->project().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.MatchableAttributesConfiguration.project")); + } else { + goto handle_unusual; + } + break; + } + + // string workflow = 4; + case 4: { + if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_workflow())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->workflow().data(), static_cast(this->workflow().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.MatchableAttributesConfiguration.workflow")); + } else { + goto handle_unusual; + } + break; + } + + // string launch_plan = 5; + case 5: { + if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadString( + input, this->mutable_launch_plan())); + DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->launch_plan().data(), static_cast(this->launch_plan().length()), + ::google::protobuf::internal::WireFormatLite::PARSE, + "flyteidl.admin.MatchableAttributesConfiguration.launch_plan")); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.MatchableAttributesConfiguration) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.MatchableAttributesConfiguration) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void MatchableAttributesConfiguration::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.MatchableAttributesConfiguration) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.admin.MatchingAttributes attributes = 1; + if (this->has_attributes()) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, HasBitSetters::attributes(this), output); + } + + // string domain = 2; + if (this->domain().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->domain().data(), static_cast(this->domain().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.domain"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 2, this->domain(), output); + } + + // string project = 3; + if (this->project().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->project().data(), static_cast(this->project().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.project"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 3, this->project(), output); + } + + // string workflow = 4; + if (this->workflow().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->workflow().data(), static_cast(this->workflow().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.workflow"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 4, this->workflow(), output); + } + + // string launch_plan = 5; + if (this->launch_plan().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->launch_plan().data(), static_cast(this->launch_plan().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.launch_plan"); + ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased( + 5, this->launch_plan(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.MatchableAttributesConfiguration) +} + +::google::protobuf::uint8* MatchableAttributesConfiguration::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.MatchableAttributesConfiguration) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.admin.MatchingAttributes attributes = 1; + if (this->has_attributes()) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, HasBitSetters::attributes(this), target); + } + + // string domain = 2; + if (this->domain().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->domain().data(), static_cast(this->domain().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.domain"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 2, this->domain(), target); + } + + // string project = 3; + if (this->project().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->project().data(), static_cast(this->project().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.project"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 3, this->project(), target); + } + + // string workflow = 4; + if (this->workflow().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->workflow().data(), static_cast(this->workflow().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.workflow"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 4, this->workflow(), target); + } + + // string launch_plan = 5; + if (this->launch_plan().size() > 0) { + ::google::protobuf::internal::WireFormatLite::VerifyUtf8String( + this->launch_plan().data(), static_cast(this->launch_plan().length()), + ::google::protobuf::internal::WireFormatLite::SERIALIZE, + "flyteidl.admin.MatchableAttributesConfiguration.launch_plan"); + target = + ::google::protobuf::internal::WireFormatLite::WriteStringToArray( + 5, this->launch_plan(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.MatchableAttributesConfiguration) + return target; +} + +size_t MatchableAttributesConfiguration::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.MatchableAttributesConfiguration) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // string domain = 2; + if (this->domain().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->domain()); + } + + // string project = 3; + if (this->project().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->project()); + } + + // string workflow = 4; + if (this->workflow().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->workflow()); + } + + // string launch_plan = 5; + if (this->launch_plan().size() > 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::StringSize( + this->launch_plan()); + } + + // .flyteidl.admin.MatchingAttributes attributes = 1; + if (this->has_attributes()) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::MessageSize( + *attributes_); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void MatchableAttributesConfiguration::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.MatchableAttributesConfiguration) + GOOGLE_DCHECK_NE(&from, this); + const MatchableAttributesConfiguration* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.MatchableAttributesConfiguration) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.MatchableAttributesConfiguration) + MergeFrom(*source); + } +} + +void MatchableAttributesConfiguration::MergeFrom(const MatchableAttributesConfiguration& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.MatchableAttributesConfiguration) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.domain().size() > 0) { + + domain_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.domain_); + } + if (from.project().size() > 0) { + + project_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.project_); + } + if (from.workflow().size() > 0) { + + workflow_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.workflow_); + } + if (from.launch_plan().size() > 0) { + + launch_plan_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.launch_plan_); + } + if (from.has_attributes()) { + mutable_attributes()->::flyteidl::admin::MatchingAttributes::MergeFrom(from.attributes()); + } +} + +void MatchableAttributesConfiguration::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.MatchableAttributesConfiguration) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void MatchableAttributesConfiguration::CopyFrom(const MatchableAttributesConfiguration& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.MatchableAttributesConfiguration) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool MatchableAttributesConfiguration::IsInitialized() const { + return true; +} + +void MatchableAttributesConfiguration::Swap(MatchableAttributesConfiguration* other) { + if (other == this) return; + InternalSwap(other); +} +void MatchableAttributesConfiguration::InternalSwap(MatchableAttributesConfiguration* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + domain_.Swap(&other->domain_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + project_.Swap(&other->project_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + workflow_.Swap(&other->workflow_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + launch_plan_.Swap(&other->launch_plan_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(), + GetArenaNoVirtual()); + swap(attributes_, other->attributes_); +} + +::google::protobuf::Metadata MatchableAttributesConfiguration::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void ListMatchableAttributesRequest::InitAsDefaultInstance() { +} +class ListMatchableAttributesRequest::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ListMatchableAttributesRequest::kResourceTypeFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ListMatchableAttributesRequest::ListMatchableAttributesRequest() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.ListMatchableAttributesRequest) +} +ListMatchableAttributesRequest::ListMatchableAttributesRequest(const ListMatchableAttributesRequest& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + resource_type_ = from.resource_type_; + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ListMatchableAttributesRequest) +} + +void ListMatchableAttributesRequest::SharedCtor() { + resource_type_ = 0; +} + +ListMatchableAttributesRequest::~ListMatchableAttributesRequest() { + // @@protoc_insertion_point(destructor:flyteidl.admin.ListMatchableAttributesRequest) + SharedDtor(); +} + +void ListMatchableAttributesRequest::SharedDtor() { +} + +void ListMatchableAttributesRequest::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ListMatchableAttributesRequest& ListMatchableAttributesRequest::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_ListMatchableAttributesRequest_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + return *internal_default_instance(); +} + + +void ListMatchableAttributesRequest::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.ListMatchableAttributesRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + resource_type_ = 0; + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* ListMatchableAttributesRequest::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // .flyteidl.admin.MatchableResource resource_type = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 8) goto handle_unusual; + ::google::protobuf::uint64 val = ::google::protobuf::internal::ReadVarint(&ptr); + msg->set_resource_type(static_cast<::flyteidl::admin::MatchableResource>(val)); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool ListMatchableAttributesRequest::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.ListMatchableAttributesRequest) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // .flyteidl.admin.MatchableResource resource_type = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (8 & 0xFF)) { + int value = 0; + DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive< + int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>( + input, &value))); + set_resource_type(static_cast< ::flyteidl::admin::MatchableResource >(value)); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.ListMatchableAttributesRequest) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.ListMatchableAttributesRequest) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void ListMatchableAttributesRequest::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.ListMatchableAttributesRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.admin.MatchableResource resource_type = 1; + if (this->resource_type() != 0) { + ::google::protobuf::internal::WireFormatLite::WriteEnum( + 1, this->resource_type(), output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.ListMatchableAttributesRequest) +} + +::google::protobuf::uint8* ListMatchableAttributesRequest::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.ListMatchableAttributesRequest) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // .flyteidl.admin.MatchableResource resource_type = 1; + if (this->resource_type() != 0) { + target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray( + 1, this->resource_type(), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.ListMatchableAttributesRequest) + return target; +} + +size_t ListMatchableAttributesRequest::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.ListMatchableAttributesRequest) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // .flyteidl.admin.MatchableResource resource_type = 1; + if (this->resource_type() != 0) { + total_size += 1 + + ::google::protobuf::internal::WireFormatLite::EnumSize(this->resource_type()); + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ListMatchableAttributesRequest::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.ListMatchableAttributesRequest) + GOOGLE_DCHECK_NE(&from, this); + const ListMatchableAttributesRequest* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.ListMatchableAttributesRequest) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.ListMatchableAttributesRequest) + MergeFrom(*source); + } +} + +void ListMatchableAttributesRequest::MergeFrom(const ListMatchableAttributesRequest& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.ListMatchableAttributesRequest) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + if (from.resource_type() != 0) { + set_resource_type(from.resource_type()); + } +} + +void ListMatchableAttributesRequest::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.ListMatchableAttributesRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ListMatchableAttributesRequest::CopyFrom(const ListMatchableAttributesRequest& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.ListMatchableAttributesRequest) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ListMatchableAttributesRequest::IsInitialized() const { + return true; +} + +void ListMatchableAttributesRequest::Swap(ListMatchableAttributesRequest* other) { + if (other == this) return; + InternalSwap(other); +} +void ListMatchableAttributesRequest::InternalSwap(ListMatchableAttributesRequest* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + swap(resource_type_, other->resource_type_); +} + +::google::protobuf::Metadata ListMatchableAttributesRequest::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[kIndexInFileMessages]; +} + + +// =================================================================== + +void ListMatchableAttributesResponse::InitAsDefaultInstance() { +} +class ListMatchableAttributesResponse::HasBitSetters { + public: +}; + +#if !defined(_MSC_VER) || _MSC_VER >= 1900 +const int ListMatchableAttributesResponse::kConfigurationsFieldNumber; +#endif // !defined(_MSC_VER) || _MSC_VER >= 1900 + +ListMatchableAttributesResponse::ListMatchableAttributesResponse() + : ::google::protobuf::Message(), _internal_metadata_(nullptr) { + SharedCtor(); + // @@protoc_insertion_point(constructor:flyteidl.admin.ListMatchableAttributesResponse) +} +ListMatchableAttributesResponse::ListMatchableAttributesResponse(const ListMatchableAttributesResponse& from) + : ::google::protobuf::Message(), + _internal_metadata_(nullptr), + configurations_(from.configurations_) { + _internal_metadata_.MergeFrom(from._internal_metadata_); + // @@protoc_insertion_point(copy_constructor:flyteidl.admin.ListMatchableAttributesResponse) +} + +void ListMatchableAttributesResponse::SharedCtor() { + ::google::protobuf::internal::InitSCC( + &scc_info_ListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); +} + +ListMatchableAttributesResponse::~ListMatchableAttributesResponse() { + // @@protoc_insertion_point(destructor:flyteidl.admin.ListMatchableAttributesResponse) + SharedDtor(); +} + +void ListMatchableAttributesResponse::SharedDtor() { +} + +void ListMatchableAttributesResponse::SetCachedSize(int size) const { + _cached_size_.Set(size); +} +const ListMatchableAttributesResponse& ListMatchableAttributesResponse::default_instance() { + ::google::protobuf::internal::InitSCC(&::scc_info_ListMatchableAttributesResponse_flyteidl_2fadmin_2fmatchable_5fresource_2eproto.base); + return *internal_default_instance(); +} + + +void ListMatchableAttributesResponse::Clear() { +// @@protoc_insertion_point(message_clear_start:flyteidl.admin.ListMatchableAttributesResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + configurations_.Clear(); + _internal_metadata_.Clear(); +} + +#if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +const char* ListMatchableAttributesResponse::_InternalParse(const char* begin, const char* end, void* object, + ::google::protobuf::internal::ParseContext* ctx) { + auto msg = static_cast(object); + ::google::protobuf::int32 size; (void)size; + int depth; (void)depth; + ::google::protobuf::uint32 tag; + ::google::protobuf::internal::ParseFunc parser_till_end; (void)parser_till_end; + auto ptr = begin; + while (ptr < end) { + ptr = ::google::protobuf::io::Parse32(ptr, &tag); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + switch (tag >> 3) { + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + case 1: { + if (static_cast<::google::protobuf::uint8>(tag) != 10) goto handle_unusual; + do { + ptr = ::google::protobuf::io::ReadSize(ptr, &size); + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr); + parser_till_end = ::flyteidl::admin::MatchableAttributesConfiguration::_InternalParse; + object = msg->add_configurations(); + if (size > end - ptr) goto len_delim_till_end; + ptr += size; + GOOGLE_PROTOBUF_PARSER_ASSERT(ctx->ParseExactRange( + {parser_till_end, object}, ptr - size, ptr)); + if (ptr >= end) break; + } while ((::google::protobuf::io::UnalignedLoad<::google::protobuf::uint64>(ptr) & 255) == 10 && (ptr += 1)); + break; + } + default: { + handle_unusual: + if ((tag & 7) == 4 || tag == 0) { + ctx->EndGroup(tag); + return ptr; + } + auto res = UnknownFieldParse(tag, {_InternalParse, msg}, + ptr, end, msg->_internal_metadata_.mutable_unknown_fields(), ctx); + ptr = res.first; + GOOGLE_PROTOBUF_PARSER_ASSERT(ptr != nullptr); + if (res.second) return ptr; + } + } // switch + } // while + return ptr; +len_delim_till_end: + return ctx->StoreAndTailCall(ptr, end, {_InternalParse, msg}, + {parser_till_end, object}, size); +} +#else // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER +bool ListMatchableAttributesResponse::MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) { +#define DO_(EXPRESSION) if (!PROTOBUF_PREDICT_TRUE(EXPRESSION)) goto failure + ::google::protobuf::uint32 tag; + // @@protoc_insertion_point(parse_start:flyteidl.admin.ListMatchableAttributesResponse) + for (;;) { + ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(127u); + tag = p.first; + if (!p.second) goto handle_unusual; + switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) { + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + case 1: { + if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) { + DO_(::google::protobuf::internal::WireFormatLite::ReadMessage( + input, add_configurations())); + } else { + goto handle_unusual; + } + break; + } + + default: { + handle_unusual: + if (tag == 0) { + goto success; + } + DO_(::google::protobuf::internal::WireFormat::SkipField( + input, tag, _internal_metadata_.mutable_unknown_fields())); + break; + } + } + } +success: + // @@protoc_insertion_point(parse_success:flyteidl.admin.ListMatchableAttributesResponse) + return true; +failure: + // @@protoc_insertion_point(parse_failure:flyteidl.admin.ListMatchableAttributesResponse) + return false; +#undef DO_ +} +#endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + +void ListMatchableAttributesResponse::SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const { + // @@protoc_insertion_point(serialize_start:flyteidl.admin.ListMatchableAttributesResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + for (unsigned int i = 0, + n = static_cast(this->configurations_size()); i < n; i++) { + ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray( + 1, + this->configurations(static_cast(i)), + output); + } + + if (_internal_metadata_.have_unknown_fields()) { + ::google::protobuf::internal::WireFormat::SerializeUnknownFields( + _internal_metadata_.unknown_fields(), output); + } + // @@protoc_insertion_point(serialize_end:flyteidl.admin.ListMatchableAttributesResponse) +} + +::google::protobuf::uint8* ListMatchableAttributesResponse::InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const { + // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.ListMatchableAttributesResponse) + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + for (unsigned int i = 0, + n = static_cast(this->configurations_size()); i < n; i++) { + target = ::google::protobuf::internal::WireFormatLite:: + InternalWriteMessageToArray( + 1, this->configurations(static_cast(i)), target); + } + + if (_internal_metadata_.have_unknown_fields()) { + target = ::google::protobuf::internal::WireFormat::SerializeUnknownFieldsToArray( + _internal_metadata_.unknown_fields(), target); + } + // @@protoc_insertion_point(serialize_to_array_end:flyteidl.admin.ListMatchableAttributesResponse) + return target; +} + +size_t ListMatchableAttributesResponse::ByteSizeLong() const { +// @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.ListMatchableAttributesResponse) + size_t total_size = 0; + + if (_internal_metadata_.have_unknown_fields()) { + total_size += + ::google::protobuf::internal::WireFormat::ComputeUnknownFieldsSize( + _internal_metadata_.unknown_fields()); + } + ::google::protobuf::uint32 cached_has_bits = 0; + // Prevent compiler warnings about cached_has_bits being unused + (void) cached_has_bits; + + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + { + unsigned int count = static_cast(this->configurations_size()); + total_size += 1UL * count; + for (unsigned int i = 0; i < count; i++) { + total_size += + ::google::protobuf::internal::WireFormatLite::MessageSize( + this->configurations(static_cast(i))); + } + } + + int cached_size = ::google::protobuf::internal::ToCachedSize(total_size); + SetCachedSize(cached_size); + return total_size; +} + +void ListMatchableAttributesResponse::MergeFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.ListMatchableAttributesResponse) + GOOGLE_DCHECK_NE(&from, this); + const ListMatchableAttributesResponse* source = + ::google::protobuf::DynamicCastToGenerated( + &from); + if (source == nullptr) { + // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.ListMatchableAttributesResponse) + ::google::protobuf::internal::ReflectionOps::Merge(from, this); + } else { + // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.ListMatchableAttributesResponse) + MergeFrom(*source); + } +} + +void ListMatchableAttributesResponse::MergeFrom(const ListMatchableAttributesResponse& from) { +// @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.ListMatchableAttributesResponse) + GOOGLE_DCHECK_NE(&from, this); + _internal_metadata_.MergeFrom(from._internal_metadata_); + ::google::protobuf::uint32 cached_has_bits = 0; + (void) cached_has_bits; + + configurations_.MergeFrom(from.configurations_); +} + +void ListMatchableAttributesResponse::CopyFrom(const ::google::protobuf::Message& from) { +// @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.ListMatchableAttributesResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +void ListMatchableAttributesResponse::CopyFrom(const ListMatchableAttributesResponse& from) { +// @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.ListMatchableAttributesResponse) + if (&from == this) return; + Clear(); + MergeFrom(from); +} + +bool ListMatchableAttributesResponse::IsInitialized() const { + return true; +} + +void ListMatchableAttributesResponse::Swap(ListMatchableAttributesResponse* other) { + if (other == this) return; + InternalSwap(other); +} +void ListMatchableAttributesResponse::InternalSwap(ListMatchableAttributesResponse* other) { + using std::swap; + _internal_metadata_.Swap(&other->_internal_metadata_); + CastToBase(&configurations_)->InternalSwap(CastToBase(&other->configurations_)); +} + +::google::protobuf::Metadata ListMatchableAttributesResponse::GetMetadata() const { + ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fmatchable_5fresource_2eproto); + return ::file_level_metadata_flyteidl_2fadmin_2fmatchable_5fresource_2eproto[kIndexInFileMessages]; +} + + +// @@protoc_insertion_point(namespace_scope) +} // namespace admin +} // namespace flyteidl +namespace google { +namespace protobuf { +template<> PROTOBUF_NOINLINE ::flyteidl::admin::TaskResourceSpec* Arena::CreateMaybeMessage< ::flyteidl::admin::TaskResourceSpec >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::TaskResourceSpec >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::TaskResourceAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::TaskResourceAttributes >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::TaskResourceAttributes >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse* Arena::CreateMaybeMessage< ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ClusterResourceAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::ClusterResourceAttributes >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ClusterResourceAttributes >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ExecutionQueueAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::ExecutionQueueAttributes >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ExecutionQueueAttributes >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ExecutionClusterLabel* Arena::CreateMaybeMessage< ::flyteidl::admin::ExecutionClusterLabel >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ExecutionClusterLabel >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::MatchingAttributes* Arena::CreateMaybeMessage< ::flyteidl::admin::MatchingAttributes >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::MatchingAttributes >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::MatchableAttributesConfiguration* Arena::CreateMaybeMessage< ::flyteidl::admin::MatchableAttributesConfiguration >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::MatchableAttributesConfiguration >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ListMatchableAttributesRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::ListMatchableAttributesRequest >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ListMatchableAttributesRequest >(arena); +} +template<> PROTOBUF_NOINLINE ::flyteidl::admin::ListMatchableAttributesResponse* Arena::CreateMaybeMessage< ::flyteidl::admin::ListMatchableAttributesResponse >(Arena* arena) { + return Arena::CreateInternal< ::flyteidl::admin::ListMatchableAttributesResponse >(arena); } } // namespace protobuf } // namespace google diff --git a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h index 25a7cf77e5b..0dfdec8be13 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h @@ -45,7 +45,7 @@ struct TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto { PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::AuxillaryParseTableField aux[] PROTOBUF_SECTION_VARIABLE(protodesc_cold); - static const ::google::protobuf::internal::ParseTable schema[7] + static const ::google::protobuf::internal::ParseTable schema[10] PROTOBUF_SECTION_VARIABLE(protodesc_cold); static const ::google::protobuf::internal::FieldMetadata field_metadata[]; static const ::google::protobuf::internal::SerializationTable serialization_table[]; @@ -66,6 +66,15 @@ extern ExecutionClusterLabelDefaultTypeInternal _ExecutionClusterLabel_default_i class ExecutionQueueAttributes; class ExecutionQueueAttributesDefaultTypeInternal; extern ExecutionQueueAttributesDefaultTypeInternal _ExecutionQueueAttributes_default_instance_; +class ListMatchableAttributesRequest; +class ListMatchableAttributesRequestDefaultTypeInternal; +extern ListMatchableAttributesRequestDefaultTypeInternal _ListMatchableAttributesRequest_default_instance_; +class ListMatchableAttributesResponse; +class ListMatchableAttributesResponseDefaultTypeInternal; +extern ListMatchableAttributesResponseDefaultTypeInternal _ListMatchableAttributesResponse_default_instance_; +class MatchableAttributesConfiguration; +class MatchableAttributesConfigurationDefaultTypeInternal; +extern MatchableAttributesConfigurationDefaultTypeInternal _MatchableAttributesConfiguration_default_instance_; class MatchingAttributes; class MatchingAttributesDefaultTypeInternal; extern MatchingAttributesDefaultTypeInternal _MatchingAttributes_default_instance_; @@ -83,6 +92,9 @@ template<> ::flyteidl::admin::ClusterResourceAttributes* Arena::CreateMaybeMessa template<> ::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse* Arena::CreateMaybeMessage<::flyteidl::admin::ClusterResourceAttributes_AttributesEntry_DoNotUse>(Arena*); template<> ::flyteidl::admin::ExecutionClusterLabel* Arena::CreateMaybeMessage<::flyteidl::admin::ExecutionClusterLabel>(Arena*); template<> ::flyteidl::admin::ExecutionQueueAttributes* Arena::CreateMaybeMessage<::flyteidl::admin::ExecutionQueueAttributes>(Arena*); +template<> ::flyteidl::admin::ListMatchableAttributesRequest* Arena::CreateMaybeMessage<::flyteidl::admin::ListMatchableAttributesRequest>(Arena*); +template<> ::flyteidl::admin::ListMatchableAttributesResponse* Arena::CreateMaybeMessage<::flyteidl::admin::ListMatchableAttributesResponse>(Arena*); +template<> ::flyteidl::admin::MatchableAttributesConfiguration* Arena::CreateMaybeMessage<::flyteidl::admin::MatchableAttributesConfiguration>(Arena*); template<> ::flyteidl::admin::MatchingAttributes* Arena::CreateMaybeMessage<::flyteidl::admin::MatchingAttributes>(Arena*); template<> ::flyteidl::admin::TaskResourceAttributes* Arena::CreateMaybeMessage<::flyteidl::admin::TaskResourceAttributes>(Arena*); template<> ::flyteidl::admin::TaskResourceSpec* Arena::CreateMaybeMessage<::flyteidl::admin::TaskResourceSpec>(Arena*); @@ -964,6 +976,411 @@ class MatchingAttributes final : friend struct ::TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; }; +// ------------------------------------------------------------------- + +class MatchableAttributesConfiguration final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.MatchableAttributesConfiguration) */ { + public: + MatchableAttributesConfiguration(); + virtual ~MatchableAttributesConfiguration(); + + MatchableAttributesConfiguration(const MatchableAttributesConfiguration& from); + + inline MatchableAttributesConfiguration& operator=(const MatchableAttributesConfiguration& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + MatchableAttributesConfiguration(MatchableAttributesConfiguration&& from) noexcept + : MatchableAttributesConfiguration() { + *this = ::std::move(from); + } + + inline MatchableAttributesConfiguration& operator=(MatchableAttributesConfiguration&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const MatchableAttributesConfiguration& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const MatchableAttributesConfiguration* internal_default_instance() { + return reinterpret_cast( + &_MatchableAttributesConfiguration_default_instance_); + } + static constexpr int kIndexInFileMessages = + 7; + + void Swap(MatchableAttributesConfiguration* other); + friend void swap(MatchableAttributesConfiguration& a, MatchableAttributesConfiguration& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline MatchableAttributesConfiguration* New() const final { + return CreateMaybeMessage(nullptr); + } + + MatchableAttributesConfiguration* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const MatchableAttributesConfiguration& from); + void MergeFrom(const MatchableAttributesConfiguration& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(MatchableAttributesConfiguration* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // string domain = 2; + void clear_domain(); + static const int kDomainFieldNumber = 2; + const ::std::string& domain() const; + void set_domain(const ::std::string& value); + #if LANG_CXX11 + void set_domain(::std::string&& value); + #endif + void set_domain(const char* value); + void set_domain(const char* value, size_t size); + ::std::string* mutable_domain(); + ::std::string* release_domain(); + void set_allocated_domain(::std::string* domain); + + // string project = 3; + void clear_project(); + static const int kProjectFieldNumber = 3; + const ::std::string& project() const; + void set_project(const ::std::string& value); + #if LANG_CXX11 + void set_project(::std::string&& value); + #endif + void set_project(const char* value); + void set_project(const char* value, size_t size); + ::std::string* mutable_project(); + ::std::string* release_project(); + void set_allocated_project(::std::string* project); + + // string workflow = 4; + void clear_workflow(); + static const int kWorkflowFieldNumber = 4; + const ::std::string& workflow() const; + void set_workflow(const ::std::string& value); + #if LANG_CXX11 + void set_workflow(::std::string&& value); + #endif + void set_workflow(const char* value); + void set_workflow(const char* value, size_t size); + ::std::string* mutable_workflow(); + ::std::string* release_workflow(); + void set_allocated_workflow(::std::string* workflow); + + // string launch_plan = 5; + void clear_launch_plan(); + static const int kLaunchPlanFieldNumber = 5; + const ::std::string& launch_plan() const; + void set_launch_plan(const ::std::string& value); + #if LANG_CXX11 + void set_launch_plan(::std::string&& value); + #endif + void set_launch_plan(const char* value); + void set_launch_plan(const char* value, size_t size); + ::std::string* mutable_launch_plan(); + ::std::string* release_launch_plan(); + void set_allocated_launch_plan(::std::string* launch_plan); + + // .flyteidl.admin.MatchingAttributes attributes = 1; + bool has_attributes() const; + void clear_attributes(); + static const int kAttributesFieldNumber = 1; + const ::flyteidl::admin::MatchingAttributes& attributes() const; + ::flyteidl::admin::MatchingAttributes* release_attributes(); + ::flyteidl::admin::MatchingAttributes* mutable_attributes(); + void set_allocated_attributes(::flyteidl::admin::MatchingAttributes* attributes); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.MatchableAttributesConfiguration) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::internal::ArenaStringPtr domain_; + ::google::protobuf::internal::ArenaStringPtr project_; + ::google::protobuf::internal::ArenaStringPtr workflow_; + ::google::protobuf::internal::ArenaStringPtr launch_plan_; + ::flyteidl::admin::MatchingAttributes* attributes_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; +}; +// ------------------------------------------------------------------- + +class ListMatchableAttributesRequest final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.ListMatchableAttributesRequest) */ { + public: + ListMatchableAttributesRequest(); + virtual ~ListMatchableAttributesRequest(); + + ListMatchableAttributesRequest(const ListMatchableAttributesRequest& from); + + inline ListMatchableAttributesRequest& operator=(const ListMatchableAttributesRequest& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + ListMatchableAttributesRequest(ListMatchableAttributesRequest&& from) noexcept + : ListMatchableAttributesRequest() { + *this = ::std::move(from); + } + + inline ListMatchableAttributesRequest& operator=(ListMatchableAttributesRequest&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const ListMatchableAttributesRequest& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const ListMatchableAttributesRequest* internal_default_instance() { + return reinterpret_cast( + &_ListMatchableAttributesRequest_default_instance_); + } + static constexpr int kIndexInFileMessages = + 8; + + void Swap(ListMatchableAttributesRequest* other); + friend void swap(ListMatchableAttributesRequest& a, ListMatchableAttributesRequest& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline ListMatchableAttributesRequest* New() const final { + return CreateMaybeMessage(nullptr); + } + + ListMatchableAttributesRequest* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const ListMatchableAttributesRequest& from); + void MergeFrom(const ListMatchableAttributesRequest& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ListMatchableAttributesRequest* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // .flyteidl.admin.MatchableResource resource_type = 1; + void clear_resource_type(); + static const int kResourceTypeFieldNumber = 1; + ::flyteidl::admin::MatchableResource resource_type() const; + void set_resource_type(::flyteidl::admin::MatchableResource value); + + // @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesRequest) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + int resource_type_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; +}; +// ------------------------------------------------------------------- + +class ListMatchableAttributesResponse final : + public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:flyteidl.admin.ListMatchableAttributesResponse) */ { + public: + ListMatchableAttributesResponse(); + virtual ~ListMatchableAttributesResponse(); + + ListMatchableAttributesResponse(const ListMatchableAttributesResponse& from); + + inline ListMatchableAttributesResponse& operator=(const ListMatchableAttributesResponse& from) { + CopyFrom(from); + return *this; + } + #if LANG_CXX11 + ListMatchableAttributesResponse(ListMatchableAttributesResponse&& from) noexcept + : ListMatchableAttributesResponse() { + *this = ::std::move(from); + } + + inline ListMatchableAttributesResponse& operator=(ListMatchableAttributesResponse&& from) noexcept { + if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) { + if (this != &from) InternalSwap(&from); + } else { + CopyFrom(from); + } + return *this; + } + #endif + static const ::google::protobuf::Descriptor* descriptor() { + return default_instance().GetDescriptor(); + } + static const ListMatchableAttributesResponse& default_instance(); + + static void InitAsDefaultInstance(); // FOR INTERNAL USE ONLY + static inline const ListMatchableAttributesResponse* internal_default_instance() { + return reinterpret_cast( + &_ListMatchableAttributesResponse_default_instance_); + } + static constexpr int kIndexInFileMessages = + 9; + + void Swap(ListMatchableAttributesResponse* other); + friend void swap(ListMatchableAttributesResponse& a, ListMatchableAttributesResponse& b) { + a.Swap(&b); + } + + // implements Message ---------------------------------------------- + + inline ListMatchableAttributesResponse* New() const final { + return CreateMaybeMessage(nullptr); + } + + ListMatchableAttributesResponse* New(::google::protobuf::Arena* arena) const final { + return CreateMaybeMessage(arena); + } + void CopyFrom(const ::google::protobuf::Message& from) final; + void MergeFrom(const ::google::protobuf::Message& from) final; + void CopyFrom(const ListMatchableAttributesResponse& from); + void MergeFrom(const ListMatchableAttributesResponse& from); + PROTOBUF_ATTRIBUTE_REINITIALIZES void Clear() final; + bool IsInitialized() const final; + + size_t ByteSizeLong() const final; + #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + static const char* _InternalParse(const char* begin, const char* end, void* object, ::google::protobuf::internal::ParseContext* ctx); + ::google::protobuf::internal::ParseFunc _ParseFunc() const final { return _InternalParse; } + #else + bool MergePartialFromCodedStream( + ::google::protobuf::io::CodedInputStream* input) final; + #endif // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER + void SerializeWithCachedSizes( + ::google::protobuf::io::CodedOutputStream* output) const final; + ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray( + ::google::protobuf::uint8* target) const final; + int GetCachedSize() const final { return _cached_size_.Get(); } + + private: + void SharedCtor(); + void SharedDtor(); + void SetCachedSize(int size) const final; + void InternalSwap(ListMatchableAttributesResponse* other); + private: + inline ::google::protobuf::Arena* GetArenaNoVirtual() const { + return nullptr; + } + inline void* MaybeArenaPtr() const { + return nullptr; + } + public: + + ::google::protobuf::Metadata GetMetadata() const final; + + // nested types ---------------------------------------------------- + + // accessors ------------------------------------------------------- + + // repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + int configurations_size() const; + void clear_configurations(); + static const int kConfigurationsFieldNumber = 1; + ::flyteidl::admin::MatchableAttributesConfiguration* mutable_configurations(int index); + ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::MatchableAttributesConfiguration >* + mutable_configurations(); + const ::flyteidl::admin::MatchableAttributesConfiguration& configurations(int index) const; + ::flyteidl::admin::MatchableAttributesConfiguration* add_configurations(); + const ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::MatchableAttributesConfiguration >& + configurations() const; + + // @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesResponse) + private: + class HasBitSetters; + + ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_; + ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::MatchableAttributesConfiguration > configurations_; + mutable ::google::protobuf::internal::CachedSize _cached_size_; + friend struct ::TableStruct_flyteidl_2fadmin_2fmatchable_5fresource_2eproto; +}; // =================================================================== @@ -1624,6 +2041,325 @@ inline void MatchingAttributes::clear_has_target() { inline MatchingAttributes::TargetCase MatchingAttributes::target_case() const { return MatchingAttributes::TargetCase(_oneof_case_[0]); } +// ------------------------------------------------------------------- + +// MatchableAttributesConfiguration + +// .flyteidl.admin.MatchingAttributes attributes = 1; +inline bool MatchableAttributesConfiguration::has_attributes() const { + return this != internal_default_instance() && attributes_ != nullptr; +} +inline void MatchableAttributesConfiguration::clear_attributes() { + if (GetArenaNoVirtual() == nullptr && attributes_ != nullptr) { + delete attributes_; + } + attributes_ = nullptr; +} +inline const ::flyteidl::admin::MatchingAttributes& MatchableAttributesConfiguration::attributes() const { + const ::flyteidl::admin::MatchingAttributes* p = attributes_; + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.attributes) + return p != nullptr ? *p : *reinterpret_cast( + &::flyteidl::admin::_MatchingAttributes_default_instance_); +} +inline ::flyteidl::admin::MatchingAttributes* MatchableAttributesConfiguration::release_attributes() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.attributes) + + ::flyteidl::admin::MatchingAttributes* temp = attributes_; + attributes_ = nullptr; + return temp; +} +inline ::flyteidl::admin::MatchingAttributes* MatchableAttributesConfiguration::mutable_attributes() { + + if (attributes_ == nullptr) { + auto* p = CreateMaybeMessage<::flyteidl::admin::MatchingAttributes>(GetArenaNoVirtual()); + attributes_ = p; + } + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.attributes) + return attributes_; +} +inline void MatchableAttributesConfiguration::set_allocated_attributes(::flyteidl::admin::MatchingAttributes* attributes) { + ::google::protobuf::Arena* message_arena = GetArenaNoVirtual(); + if (message_arena == nullptr) { + delete attributes_; + } + if (attributes) { + ::google::protobuf::Arena* submessage_arena = nullptr; + if (message_arena != submessage_arena) { + attributes = ::google::protobuf::internal::GetOwnedMessage( + message_arena, attributes, submessage_arena); + } + + } else { + + } + attributes_ = attributes; + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.attributes) +} + +// string domain = 2; +inline void MatchableAttributesConfiguration::clear_domain() { + domain_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& MatchableAttributesConfiguration::domain() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.domain) + return domain_.GetNoArena(); +} +inline void MatchableAttributesConfiguration::set_domain(const ::std::string& value) { + + domain_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.MatchableAttributesConfiguration.domain) +} +#if LANG_CXX11 +inline void MatchableAttributesConfiguration::set_domain(::std::string&& value) { + + domain_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.MatchableAttributesConfiguration.domain) +} +#endif +inline void MatchableAttributesConfiguration::set_domain(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + domain_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.MatchableAttributesConfiguration.domain) +} +inline void MatchableAttributesConfiguration::set_domain(const char* value, size_t size) { + + domain_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.MatchableAttributesConfiguration.domain) +} +inline ::std::string* MatchableAttributesConfiguration::mutable_domain() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.domain) + return domain_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MatchableAttributesConfiguration::release_domain() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.domain) + + return domain_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MatchableAttributesConfiguration::set_allocated_domain(::std::string* domain) { + if (domain != nullptr) { + + } else { + + } + domain_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), domain); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.domain) +} + +// string project = 3; +inline void MatchableAttributesConfiguration::clear_project() { + project_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& MatchableAttributesConfiguration::project() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.project) + return project_.GetNoArena(); +} +inline void MatchableAttributesConfiguration::set_project(const ::std::string& value) { + + project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.MatchableAttributesConfiguration.project) +} +#if LANG_CXX11 +inline void MatchableAttributesConfiguration::set_project(::std::string&& value) { + + project_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.MatchableAttributesConfiguration.project) +} +#endif +inline void MatchableAttributesConfiguration::set_project(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.MatchableAttributesConfiguration.project) +} +inline void MatchableAttributesConfiguration::set_project(const char* value, size_t size) { + + project_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.MatchableAttributesConfiguration.project) +} +inline ::std::string* MatchableAttributesConfiguration::mutable_project() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.project) + return project_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MatchableAttributesConfiguration::release_project() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.project) + + return project_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MatchableAttributesConfiguration::set_allocated_project(::std::string* project) { + if (project != nullptr) { + + } else { + + } + project_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), project); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.project) +} + +// string workflow = 4; +inline void MatchableAttributesConfiguration::clear_workflow() { + workflow_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& MatchableAttributesConfiguration::workflow() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.workflow) + return workflow_.GetNoArena(); +} +inline void MatchableAttributesConfiguration::set_workflow(const ::std::string& value) { + + workflow_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.MatchableAttributesConfiguration.workflow) +} +#if LANG_CXX11 +inline void MatchableAttributesConfiguration::set_workflow(::std::string&& value) { + + workflow_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.MatchableAttributesConfiguration.workflow) +} +#endif +inline void MatchableAttributesConfiguration::set_workflow(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + workflow_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.MatchableAttributesConfiguration.workflow) +} +inline void MatchableAttributesConfiguration::set_workflow(const char* value, size_t size) { + + workflow_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.MatchableAttributesConfiguration.workflow) +} +inline ::std::string* MatchableAttributesConfiguration::mutable_workflow() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.workflow) + return workflow_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MatchableAttributesConfiguration::release_workflow() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.workflow) + + return workflow_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MatchableAttributesConfiguration::set_allocated_workflow(::std::string* workflow) { + if (workflow != nullptr) { + + } else { + + } + workflow_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), workflow); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.workflow) +} + +// string launch_plan = 5; +inline void MatchableAttributesConfiguration::clear_launch_plan() { + launch_plan_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline const ::std::string& MatchableAttributesConfiguration::launch_plan() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) + return launch_plan_.GetNoArena(); +} +inline void MatchableAttributesConfiguration::set_launch_plan(const ::std::string& value) { + + launch_plan_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value); + // @@protoc_insertion_point(field_set:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) +} +#if LANG_CXX11 +inline void MatchableAttributesConfiguration::set_launch_plan(::std::string&& value) { + + launch_plan_.SetNoArena( + &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value)); + // @@protoc_insertion_point(field_set_rvalue:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) +} +#endif +inline void MatchableAttributesConfiguration::set_launch_plan(const char* value) { + GOOGLE_DCHECK(value != nullptr); + + launch_plan_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value)); + // @@protoc_insertion_point(field_set_char:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) +} +inline void MatchableAttributesConfiguration::set_launch_plan(const char* value, size_t size) { + + launch_plan_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), + ::std::string(reinterpret_cast(value), size)); + // @@protoc_insertion_point(field_set_pointer:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) +} +inline ::std::string* MatchableAttributesConfiguration::mutable_launch_plan() { + + // @@protoc_insertion_point(field_mutable:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) + return launch_plan_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline ::std::string* MatchableAttributesConfiguration::release_launch_plan() { + // @@protoc_insertion_point(field_release:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) + + return launch_plan_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited()); +} +inline void MatchableAttributesConfiguration::set_allocated_launch_plan(::std::string* launch_plan) { + if (launch_plan != nullptr) { + + } else { + + } + launch_plan_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), launch_plan); + // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.MatchableAttributesConfiguration.launch_plan) +} + +// ------------------------------------------------------------------- + +// ListMatchableAttributesRequest + +// .flyteidl.admin.MatchableResource resource_type = 1; +inline void ListMatchableAttributesRequest::clear_resource_type() { + resource_type_ = 0; +} +inline ::flyteidl::admin::MatchableResource ListMatchableAttributesRequest::resource_type() const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ListMatchableAttributesRequest.resource_type) + return static_cast< ::flyteidl::admin::MatchableResource >(resource_type_); +} +inline void ListMatchableAttributesRequest::set_resource_type(::flyteidl::admin::MatchableResource value) { + + resource_type_ = value; + // @@protoc_insertion_point(field_set:flyteidl.admin.ListMatchableAttributesRequest.resource_type) +} + +// ------------------------------------------------------------------- + +// ListMatchableAttributesResponse + +// repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; +inline int ListMatchableAttributesResponse::configurations_size() const { + return configurations_.size(); +} +inline void ListMatchableAttributesResponse::clear_configurations() { + configurations_.Clear(); +} +inline ::flyteidl::admin::MatchableAttributesConfiguration* ListMatchableAttributesResponse::mutable_configurations(int index) { + // @@protoc_insertion_point(field_mutable:flyteidl.admin.ListMatchableAttributesResponse.configurations) + return configurations_.Mutable(index); +} +inline ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::MatchableAttributesConfiguration >* +ListMatchableAttributesResponse::mutable_configurations() { + // @@protoc_insertion_point(field_mutable_list:flyteidl.admin.ListMatchableAttributesResponse.configurations) + return &configurations_; +} +inline const ::flyteidl::admin::MatchableAttributesConfiguration& ListMatchableAttributesResponse::configurations(int index) const { + // @@protoc_insertion_point(field_get:flyteidl.admin.ListMatchableAttributesResponse.configurations) + return configurations_.Get(index); +} +inline ::flyteidl::admin::MatchableAttributesConfiguration* ListMatchableAttributesResponse::add_configurations() { + // @@protoc_insertion_point(field_add:flyteidl.admin.ListMatchableAttributesResponse.configurations) + return configurations_.Add(); +} +inline const ::google::protobuf::RepeatedPtrField< ::flyteidl::admin::MatchableAttributesConfiguration >& +ListMatchableAttributesResponse::configurations() const { + // @@protoc_insertion_point(field_list:flyteidl.admin.ListMatchableAttributesResponse.configurations) + return configurations_; +} + #ifdef __GNUC__ #pragma GCC diagnostic pop #endif // __GNUC__ @@ -1639,6 +2375,12 @@ inline MatchingAttributes::TargetCase MatchingAttributes::target_case() const { // ------------------------------------------------------------------- +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + +// ------------------------------------------------------------------- + // @@protoc_insertion_point(namespace_scope) diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.cc index 26ea791fb3e..6528ed9f5b0 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.cc @@ -59,6 +59,7 @@ static const char* AdminService_method_names[] = { "/flyteidl.service.AdminService/UpdateWorkflowAttributes", "/flyteidl.service.AdminService/GetWorkflowAttributes", "/flyteidl.service.AdminService/DeleteWorkflowAttributes", + "/flyteidl.service.AdminService/ListMatchableAttributes", "/flyteidl.service.AdminService/ListNamedEntities", "/flyteidl.service.AdminService/GetNamedEntity", "/flyteidl.service.AdminService/UpdateNamedEntity", @@ -110,9 +111,10 @@ AdminService::Stub::Stub(const std::shared_ptr< ::grpc::ChannelInterface>& chann , rpcmethod_UpdateWorkflowAttributes_(AdminService_method_names[36], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_GetWorkflowAttributes_(AdminService_method_names[37], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) , rpcmethod_DeleteWorkflowAttributes_(AdminService_method_names[38], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_ListNamedEntities_(AdminService_method_names[39], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_GetNamedEntity_(AdminService_method_names[40], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) - , rpcmethod_UpdateNamedEntity_(AdminService_method_names[41], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ListMatchableAttributes_(AdminService_method_names[39], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_ListNamedEntities_(AdminService_method_names[40], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_GetNamedEntity_(AdminService_method_names[41], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) + , rpcmethod_UpdateNamedEntity_(AdminService_method_names[42], ::grpc::internal::RpcMethod::NORMAL_RPC, channel) {} ::grpc::Status AdminService::Stub::CreateTask(::grpc::ClientContext* context, const ::flyteidl::admin::TaskCreateRequest& request, ::flyteidl::admin::TaskCreateResponse* response) { @@ -1207,6 +1209,34 @@ ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesDeleteRe return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::WorkflowAttributesDeleteResponse>::Create(channel_.get(), cq, rpcmethod_DeleteWorkflowAttributes_, context, request, false); } +::grpc::Status AdminService::Stub::ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::flyteidl::admin::ListMatchableAttributesResponse* response) { + return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_ListMatchableAttributes_, context, request, response); +} + +void AdminService::Stub::experimental_async::ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_ListMatchableAttributes_, context, request, response, std::move(f)); +} + +void AdminService::Stub::experimental_async::ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function f) { + ::grpc::internal::CallbackUnaryCall(stub_->channel_.get(), stub_->rpcmethod_ListMatchableAttributes_, context, request, response, std::move(f)); +} + +void AdminService::Stub::experimental_async::ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_ListMatchableAttributes_, context, request, response, reactor); +} + +void AdminService::Stub::experimental_async::ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) { + ::grpc::internal::ClientCallbackUnaryFactory::Create(stub_->channel_.get(), stub_->rpcmethod_ListMatchableAttributes_, context, request, response, reactor); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>* AdminService::Stub::AsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::ListMatchableAttributesResponse>::Create(channel_.get(), cq, rpcmethod_ListMatchableAttributes_, context, request, true); +} + +::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>* AdminService::Stub::PrepareAsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return ::grpc::internal::ClientAsyncResponseReaderFactory< ::flyteidl::admin::ListMatchableAttributesResponse>::Create(channel_.get(), cq, rpcmethod_ListMatchableAttributes_, context, request, false); +} + ::grpc::Status AdminService::Stub::ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::flyteidl::admin::NamedEntityList* response) { return ::grpc::internal::BlockingUnaryCall(channel_.get(), rpcmethod_ListNamedEntities_, context, request, response); } @@ -1490,15 +1520,20 @@ AdminService::Service::Service() { AddMethod(new ::grpc::internal::RpcServiceMethod( AdminService_method_names[39], ::grpc::internal::RpcMethod::NORMAL_RPC, + new ::grpc::internal::RpcMethodHandler< AdminService::Service, ::flyteidl::admin::ListMatchableAttributesRequest, ::flyteidl::admin::ListMatchableAttributesResponse>( + std::mem_fn(&AdminService::Service::ListMatchableAttributes), this))); + AddMethod(new ::grpc::internal::RpcServiceMethod( + AdminService_method_names[40], + ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< AdminService::Service, ::flyteidl::admin::NamedEntityListRequest, ::flyteidl::admin::NamedEntityList>( std::mem_fn(&AdminService::Service::ListNamedEntities), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - AdminService_method_names[40], + AdminService_method_names[41], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< AdminService::Service, ::flyteidl::admin::NamedEntityGetRequest, ::flyteidl::admin::NamedEntity>( std::mem_fn(&AdminService::Service::GetNamedEntity), this))); AddMethod(new ::grpc::internal::RpcServiceMethod( - AdminService_method_names[41], + AdminService_method_names[42], ::grpc::internal::RpcMethod::NORMAL_RPC, new ::grpc::internal::RpcMethodHandler< AdminService::Service, ::flyteidl::admin::NamedEntityUpdateRequest, ::flyteidl::admin::NamedEntityUpdateResponse>( std::mem_fn(&AdminService::Service::UpdateNamedEntity), this))); @@ -1780,6 +1815,13 @@ ::grpc::Status AdminService::Service::DeleteWorkflowAttributes(::grpc::ServerCon return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } +::grpc::Status AdminService::Service::ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) { + (void) context; + (void) request; + (void) response; + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); +} + ::grpc::Status AdminService::Service::ListNamedEntities(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response) { (void) context; (void) request; diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h index 6a5084635ea..bb29b91a096 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h +++ b/flyteidl/gen/pb-cpp/flyteidl/service/admin.grpc.pb.h @@ -323,6 +323,13 @@ class AdminService final { std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::WorkflowAttributesDeleteResponse>> PrepareAsyncDeleteWorkflowAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::WorkflowAttributesDeleteResponse>>(PrepareAsyncDeleteWorkflowAttributesRaw(context, request, cq)); } + virtual ::grpc::Status ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::flyteidl::admin::ListMatchableAttributesResponse* response) = 0; + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>> AsyncListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>>(AsyncListMatchableAttributesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>> PrepareAsyncListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>>(PrepareAsyncListMatchableAttributesRaw(context, request, cq)); + } virtual ::grpc::Status ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::flyteidl::admin::NamedEntityList* response) = 0; std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityList>> AsyncListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityList>>(AsyncListNamedEntitiesRaw(context, request, cq)); @@ -503,6 +510,10 @@ class AdminService final { virtual void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, std::function) = 0; virtual void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function) = 0; + virtual void ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function) = 0; + virtual void ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; + virtual void ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; virtual void ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response, std::function) = 0; virtual void ListNamedEntities(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::NamedEntityList* response, std::function) = 0; virtual void ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response, ::grpc::experimental::ClientUnaryReactor* reactor) = 0; @@ -596,6 +607,8 @@ class AdminService final { virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::WorkflowAttributesGetResponse>* PrepareAsyncGetWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesGetRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::WorkflowAttributesDeleteResponse>* AsyncDeleteWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::WorkflowAttributesDeleteResponse>* PrepareAsyncDeleteWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>* AsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) = 0; + virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::ListMatchableAttributesResponse>* PrepareAsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityList>* AsyncListNamedEntitiesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntityList>* PrepareAsyncListNamedEntitiesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) = 0; virtual ::grpc::ClientAsyncResponseReaderInterface< ::flyteidl::admin::NamedEntity>* AsyncGetNamedEntityRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityGetRequest& request, ::grpc::CompletionQueue* cq) = 0; @@ -879,6 +892,13 @@ class AdminService final { std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesDeleteResponse>> PrepareAsyncDeleteWorkflowAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesDeleteResponse>>(PrepareAsyncDeleteWorkflowAttributesRaw(context, request, cq)); } + ::grpc::Status ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override; + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>> AsyncListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>>(AsyncListMatchableAttributesRaw(context, request, cq)); + } + std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>> PrepareAsyncListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) { + return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>>(PrepareAsyncListMatchableAttributesRaw(context, request, cq)); + } ::grpc::Status ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::flyteidl::admin::NamedEntityList* response) override; std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::NamedEntityList>> AsyncListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) { return std::unique_ptr< ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::NamedEntityList>>(AsyncListNamedEntitiesRaw(context, request, cq)); @@ -1059,6 +1079,10 @@ class AdminService final { void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, std::function) override; void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void DeleteWorkflowAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function) override; + void ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, std::function) override; + void ListMatchableAttributes(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; + void ListMatchableAttributes(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; void ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response, std::function) override; void ListNamedEntities(::grpc::ClientContext* context, const ::grpc::ByteBuffer* request, ::flyteidl::admin::NamedEntityList* response, std::function) override; void ListNamedEntities(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response, ::grpc::experimental::ClientUnaryReactor* reactor) override; @@ -1160,6 +1184,8 @@ class AdminService final { ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesGetResponse>* PrepareAsyncGetWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesGetRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesDeleteResponse>* AsyncDeleteWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::WorkflowAttributesDeleteResponse>* PrepareAsyncDeleteWorkflowAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>* AsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) override; + ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::ListMatchableAttributesResponse>* PrepareAsyncListMatchableAttributesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::NamedEntityList>* AsyncListNamedEntitiesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::NamedEntityList>* PrepareAsyncListNamedEntitiesRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityListRequest& request, ::grpc::CompletionQueue* cq) override; ::grpc::ClientAsyncResponseReader< ::flyteidl::admin::NamedEntity>* AsyncGetNamedEntityRaw(::grpc::ClientContext* context, const ::flyteidl::admin::NamedEntityGetRequest& request, ::grpc::CompletionQueue* cq) override; @@ -1205,6 +1231,7 @@ class AdminService final { const ::grpc::internal::RpcMethod rpcmethod_UpdateWorkflowAttributes_; const ::grpc::internal::RpcMethod rpcmethod_GetWorkflowAttributes_; const ::grpc::internal::RpcMethod rpcmethod_DeleteWorkflowAttributes_; + const ::grpc::internal::RpcMethod rpcmethod_ListMatchableAttributes_; const ::grpc::internal::RpcMethod rpcmethod_ListNamedEntities_; const ::grpc::internal::RpcMethod rpcmethod_GetNamedEntity_; const ::grpc::internal::RpcMethod rpcmethod_UpdateNamedEntity_; @@ -1254,6 +1281,7 @@ class AdminService final { virtual ::grpc::Status UpdateWorkflowAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::WorkflowAttributesUpdateRequest* request, ::flyteidl::admin::WorkflowAttributesUpdateResponse* response); virtual ::grpc::Status GetWorkflowAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::WorkflowAttributesGetRequest* request, ::flyteidl::admin::WorkflowAttributesGetResponse* response); virtual ::grpc::Status DeleteWorkflowAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response); + virtual ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response); virtual ::grpc::Status ListNamedEntities(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, ::flyteidl::admin::NamedEntityList* response); virtual ::grpc::Status GetNamedEntity(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityGetRequest* request, ::flyteidl::admin::NamedEntity* response); virtual ::grpc::Status UpdateNamedEntity(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityUpdateRequest* request, ::flyteidl::admin::NamedEntityUpdateResponse* response); @@ -2039,12 +2067,32 @@ class AdminService final { } }; template + class WithAsyncMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithAsyncMethod_ListMatchableAttributes() { + ::grpc::Service::MarkMethodAsync(39); + } + ~WithAsyncMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestListMatchableAttributes(::grpc::ServerContext* context, ::flyteidl::admin::ListMatchableAttributesRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::ListMatchableAttributesResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithAsyncMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithAsyncMethod_ListNamedEntities() { - ::grpc::Service::MarkMethodAsync(39); + ::grpc::Service::MarkMethodAsync(40); } ~WithAsyncMethod_ListNamedEntities() override { BaseClassMustBeDerivedFromService(this); @@ -2055,7 +2103,7 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestListNamedEntities(::grpc::ServerContext* context, ::flyteidl::admin::NamedEntityListRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::NamedEntityList>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2064,7 +2112,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithAsyncMethod_GetNamedEntity() { - ::grpc::Service::MarkMethodAsync(40); + ::grpc::Service::MarkMethodAsync(41); } ~WithAsyncMethod_GetNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -2075,7 +2123,7 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetNamedEntity(::grpc::ServerContext* context, ::flyteidl::admin::NamedEntityGetRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::NamedEntity>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -2084,7 +2132,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithAsyncMethod_UpdateNamedEntity() { - ::grpc::Service::MarkMethodAsync(41); + ::grpc::Service::MarkMethodAsync(42); } ~WithAsyncMethod_UpdateNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -2095,10 +2143,10 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestUpdateNamedEntity(::grpc::ServerContext* context, ::flyteidl::admin::NamedEntityUpdateRequest* request, ::grpc::ServerAsyncResponseWriter< ::flyteidl::admin::NamedEntityUpdateResponse>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag); } }; - typedef WithAsyncMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; + typedef WithAsyncMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > AsyncService; template class ExperimentalWithCallbackMethod_CreateTask : public BaseClass { private: @@ -3309,12 +3357,43 @@ class AdminService final { virtual void DeleteWorkflowAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::WorkflowAttributesDeleteRequest* request, ::flyteidl::admin::WorkflowAttributesDeleteResponse* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithCallbackMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithCallbackMethod_ListMatchableAttributes() { + ::grpc::Service::experimental().MarkMethodCallback(39, + new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::ListMatchableAttributesRequest, ::flyteidl::admin::ListMatchableAttributesResponse>( + [this](::grpc::ServerContext* context, + const ::flyteidl::admin::ListMatchableAttributesRequest* request, + ::flyteidl::admin::ListMatchableAttributesResponse* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + return this->ListMatchableAttributes(context, request, response, controller); + })); + } + void SetMessageAllocatorFor_ListMatchableAttributes( + ::grpc::experimental::MessageAllocator< ::flyteidl::admin::ListMatchableAttributesRequest, ::flyteidl::admin::ListMatchableAttributesResponse>* allocator) { + static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::ListMatchableAttributesRequest, ::flyteidl::admin::ListMatchableAttributesResponse>*>( + ::grpc::Service::experimental().GetHandler(39)) + ->SetMessageAllocator(allocator); + } + ~ExperimentalWithCallbackMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithCallbackMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithCallbackMethod_ListNamedEntities() { - ::grpc::Service::experimental().MarkMethodCallback(39, + ::grpc::Service::experimental().MarkMethodCallback(40, new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityListRequest, ::flyteidl::admin::NamedEntityList>( [this](::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityListRequest* request, @@ -3326,7 +3405,7 @@ class AdminService final { void SetMessageAllocatorFor_ListNamedEntities( ::grpc::experimental::MessageAllocator< ::flyteidl::admin::NamedEntityListRequest, ::flyteidl::admin::NamedEntityList>* allocator) { static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityListRequest, ::flyteidl::admin::NamedEntityList>*>( - ::grpc::Service::experimental().GetHandler(39)) + ::grpc::Service::experimental().GetHandler(40)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_ListNamedEntities() override { @@ -3345,7 +3424,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithCallbackMethod_GetNamedEntity() { - ::grpc::Service::experimental().MarkMethodCallback(40, + ::grpc::Service::experimental().MarkMethodCallback(41, new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityGetRequest, ::flyteidl::admin::NamedEntity>( [this](::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityGetRequest* request, @@ -3357,7 +3436,7 @@ class AdminService final { void SetMessageAllocatorFor_GetNamedEntity( ::grpc::experimental::MessageAllocator< ::flyteidl::admin::NamedEntityGetRequest, ::flyteidl::admin::NamedEntity>* allocator) { static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityGetRequest, ::flyteidl::admin::NamedEntity>*>( - ::grpc::Service::experimental().GetHandler(40)) + ::grpc::Service::experimental().GetHandler(41)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_GetNamedEntity() override { @@ -3376,7 +3455,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithCallbackMethod_UpdateNamedEntity() { - ::grpc::Service::experimental().MarkMethodCallback(41, + ::grpc::Service::experimental().MarkMethodCallback(42, new ::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityUpdateRequest, ::flyteidl::admin::NamedEntityUpdateResponse>( [this](::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityUpdateRequest* request, @@ -3388,7 +3467,7 @@ class AdminService final { void SetMessageAllocatorFor_UpdateNamedEntity( ::grpc::experimental::MessageAllocator< ::flyteidl::admin::NamedEntityUpdateRequest, ::flyteidl::admin::NamedEntityUpdateResponse>* allocator) { static_cast<::grpc::internal::CallbackUnaryHandler< ::flyteidl::admin::NamedEntityUpdateRequest, ::flyteidl::admin::NamedEntityUpdateResponse>*>( - ::grpc::Service::experimental().GetHandler(41)) + ::grpc::Service::experimental().GetHandler(42)) ->SetMessageAllocator(allocator); } ~ExperimentalWithCallbackMethod_UpdateNamedEntity() override { @@ -3401,7 +3480,7 @@ class AdminService final { } virtual void UpdateNamedEntity(::grpc::ServerContext* context, const ::flyteidl::admin::NamedEntityUpdateRequest* request, ::flyteidl::admin::NamedEntityUpdateResponse* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; - typedef ExperimentalWithCallbackMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; + typedef ExperimentalWithCallbackMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > ExperimentalCallbackService; template class WithGenericMethod_CreateTask : public BaseClass { private: @@ -4066,12 +4145,29 @@ class AdminService final { } }; template + class WithGenericMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithGenericMethod_ListMatchableAttributes() { + ::grpc::Service::MarkMethodGeneric(39); + } + ~WithGenericMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + }; + template class WithGenericMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithGenericMethod_ListNamedEntities() { - ::grpc::Service::MarkMethodGeneric(39); + ::grpc::Service::MarkMethodGeneric(40); } ~WithGenericMethod_ListNamedEntities() override { BaseClassMustBeDerivedFromService(this); @@ -4088,7 +4184,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithGenericMethod_GetNamedEntity() { - ::grpc::Service::MarkMethodGeneric(40); + ::grpc::Service::MarkMethodGeneric(41); } ~WithGenericMethod_GetNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4105,7 +4201,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithGenericMethod_UpdateNamedEntity() { - ::grpc::Service::MarkMethodGeneric(41); + ::grpc::Service::MarkMethodGeneric(42); } ~WithGenericMethod_UpdateNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4897,12 +4993,32 @@ class AdminService final { } }; template + class WithRawMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithRawMethod_ListMatchableAttributes() { + ::grpc::Service::MarkMethodRaw(39); + } + ~WithRawMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + void RequestListMatchableAttributes(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { + ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + } + }; + template class WithRawMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithRawMethod_ListNamedEntities() { - ::grpc::Service::MarkMethodRaw(39); + ::grpc::Service::MarkMethodRaw(40); } ~WithRawMethod_ListNamedEntities() override { BaseClassMustBeDerivedFromService(this); @@ -4913,7 +5029,7 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestListNamedEntities(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(39, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4922,7 +5038,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithRawMethod_GetNamedEntity() { - ::grpc::Service::MarkMethodRaw(40); + ::grpc::Service::MarkMethodRaw(41); } ~WithRawMethod_GetNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4933,7 +5049,7 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestGetNamedEntity(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(40, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -4942,7 +5058,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithRawMethod_UpdateNamedEntity() { - ::grpc::Service::MarkMethodRaw(41); + ::grpc::Service::MarkMethodRaw(42); } ~WithRawMethod_UpdateNamedEntity() override { BaseClassMustBeDerivedFromService(this); @@ -4953,7 +5069,7 @@ class AdminService final { return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); } void RequestUpdateNamedEntity(::grpc::ServerContext* context, ::grpc::ByteBuffer* request, ::grpc::ServerAsyncResponseWriter< ::grpc::ByteBuffer>* response, ::grpc::CompletionQueue* new_call_cq, ::grpc::ServerCompletionQueue* notification_cq, void *tag) { - ::grpc::Service::RequestAsyncUnary(41, context, request, response, new_call_cq, notification_cq, tag); + ::grpc::Service::RequestAsyncUnary(42, context, request, response, new_call_cq, notification_cq, tag); } }; template @@ -5932,12 +6048,37 @@ class AdminService final { virtual void DeleteWorkflowAttributes(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } }; template + class ExperimentalWithRawCallbackMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + ExperimentalWithRawCallbackMethod_ListMatchableAttributes() { + ::grpc::Service::experimental().MarkMethodRawCallback(39, + new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( + [this](::grpc::ServerContext* context, + const ::grpc::ByteBuffer* request, + ::grpc::ByteBuffer* response, + ::grpc::experimental::ServerCallbackRpcController* controller) { + this->ListMatchableAttributes(context, request, response, controller); + })); + } + ~ExperimentalWithRawCallbackMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable synchronous version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + virtual void ListMatchableAttributes(::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, ::grpc::ByteBuffer* response, ::grpc::experimental::ServerCallbackRpcController* controller) { controller->Finish(::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, "")); } + }; + template class ExperimentalWithRawCallbackMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithRawCallbackMethod_ListNamedEntities() { - ::grpc::Service::experimental().MarkMethodRawCallback(39, + ::grpc::Service::experimental().MarkMethodRawCallback(40, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5962,7 +6103,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithRawCallbackMethod_GetNamedEntity() { - ::grpc::Service::experimental().MarkMethodRawCallback(40, + ::grpc::Service::experimental().MarkMethodRawCallback(41, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -5987,7 +6128,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: ExperimentalWithRawCallbackMethod_UpdateNamedEntity() { - ::grpc::Service::experimental().MarkMethodRawCallback(41, + ::grpc::Service::experimental().MarkMethodRawCallback(42, new ::grpc::internal::CallbackUnaryHandler< ::grpc::ByteBuffer, ::grpc::ByteBuffer>( [this](::grpc::ServerContext* context, const ::grpc::ByteBuffer* request, @@ -6787,12 +6928,32 @@ class AdminService final { virtual ::grpc::Status StreamedDeleteWorkflowAttributes(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::WorkflowAttributesDeleteRequest,::flyteidl::admin::WorkflowAttributesDeleteResponse>* server_unary_streamer) = 0; }; template + class WithStreamedUnaryMethod_ListMatchableAttributes : public BaseClass { + private: + void BaseClassMustBeDerivedFromService(const Service *service) {} + public: + WithStreamedUnaryMethod_ListMatchableAttributes() { + ::grpc::Service::MarkMethodStreamed(39, + new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::ListMatchableAttributesRequest, ::flyteidl::admin::ListMatchableAttributesResponse>(std::bind(&WithStreamedUnaryMethod_ListMatchableAttributes::StreamedListMatchableAttributes, this, std::placeholders::_1, std::placeholders::_2))); + } + ~WithStreamedUnaryMethod_ListMatchableAttributes() override { + BaseClassMustBeDerivedFromService(this); + } + // disable regular version of this method + ::grpc::Status ListMatchableAttributes(::grpc::ServerContext* context, const ::flyteidl::admin::ListMatchableAttributesRequest* request, ::flyteidl::admin::ListMatchableAttributesResponse* response) override { + abort(); + return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED, ""); + } + // replace default version of method with streamed unary + virtual ::grpc::Status StreamedListMatchableAttributes(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::ListMatchableAttributesRequest,::flyteidl::admin::ListMatchableAttributesResponse>* server_unary_streamer) = 0; + }; + template class WithStreamedUnaryMethod_ListNamedEntities : public BaseClass { private: void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithStreamedUnaryMethod_ListNamedEntities() { - ::grpc::Service::MarkMethodStreamed(39, + ::grpc::Service::MarkMethodStreamed(40, new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::NamedEntityListRequest, ::flyteidl::admin::NamedEntityList>(std::bind(&WithStreamedUnaryMethod_ListNamedEntities::StreamedListNamedEntities, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_ListNamedEntities() override { @@ -6812,7 +6973,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithStreamedUnaryMethod_GetNamedEntity() { - ::grpc::Service::MarkMethodStreamed(40, + ::grpc::Service::MarkMethodStreamed(41, new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::NamedEntityGetRequest, ::flyteidl::admin::NamedEntity>(std::bind(&WithStreamedUnaryMethod_GetNamedEntity::StreamedGetNamedEntity, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_GetNamedEntity() override { @@ -6832,7 +6993,7 @@ class AdminService final { void BaseClassMustBeDerivedFromService(const Service *service) {} public: WithStreamedUnaryMethod_UpdateNamedEntity() { - ::grpc::Service::MarkMethodStreamed(41, + ::grpc::Service::MarkMethodStreamed(42, new ::grpc::internal::StreamedUnaryHandler< ::flyteidl::admin::NamedEntityUpdateRequest, ::flyteidl::admin::NamedEntityUpdateResponse>(std::bind(&WithStreamedUnaryMethod_UpdateNamedEntity::StreamedUpdateNamedEntity, this, std::placeholders::_1, std::placeholders::_2))); } ~WithStreamedUnaryMethod_UpdateNamedEntity() override { @@ -6846,9 +7007,9 @@ class AdminService final { // replace default version of method with streamed unary virtual ::grpc::Status StreamedUpdateNamedEntity(::grpc::ServerContext* context, ::grpc::ServerUnaryStreamer< ::flyteidl::admin::NamedEntityUpdateRequest,::flyteidl::admin::NamedEntityUpdateResponse>* server_unary_streamer) = 0; }; - typedef WithStreamedUnaryMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; + typedef WithStreamedUnaryMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedUnaryService; typedef Service SplitStreamedService; - typedef WithStreamedUnaryMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; + typedef WithStreamedUnaryMethod_CreateTask > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > StreamedService; }; } // namespace service diff --git a/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc b/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc index 9ad0003b9de..bb5ba5b2987 100644 --- a/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc +++ b/flyteidl/gen/pb-cpp/flyteidl/service/admin.pb.cc @@ -45,319 +45,326 @@ const char descriptor_table_protodef_flyteidl_2fservice_2fadmin_2eproto[] = "workflow.proto\032(flyteidl/admin/workflow_" "attributes.proto\032 flyteidl/admin/launch_" "plan.proto\032\032flyteidl/admin/event.proto\032\036" - "flyteidl/admin/execution.proto\032#flyteidl" - "/admin/node_execution.proto\032#flyteidl/ad" - "min/task_execution.proto\032\033flyteidl/admin" - "/common.proto\032,protoc-gen-swagger/option" - "s/annotations.proto2\365\\\n\014AdminService\022\305\002\n" - "\nCreateTask\022!.flyteidl.admin.TaskCreateR" - "equest\032\".flyteidl.admin.TaskCreateRespon" - "se\"\357\001\202\323\344\223\002\022\"\r/api/v1/tasks:\001*\222A\323\001\032&Creat" - "e and register a task definition.JB\n\003400" - "\022;\n9Returned for bad request that may ha" - "ve failed validation.Je\n\003409\022^\n\\Returned" - " for a request that references an identi" - "cal entity that has already been registe" - "red.\022\262\001\n\007GetTask\022 .flyteidl.admin.Object" - "GetRequest\032\024.flyteidl.admin.Task\"o\202\323\344\223\002\?" - "\022=/api/v1/tasks/{id.project}/{id.domain}" - "/{id.name}/{id.version}\222A\'\032%Retrieve an " - "existing task definition.\022\336\001\n\013ListTaskId" - "s\0220.flyteidl.admin.NamedEntityIdentifier" - "ListRequest\032).flyteidl.admin.NamedEntity" - "IdentifierList\"r\202\323\344\223\002%\022#/api/v1/task_ids" - "/{project}/{domain}\222AD\032BFetch existing t" - "ask definition identifiers matching inpu" - "t filters.\022\353\001\n\tListTasks\022#.flyteidl.admi" - "n.ResourceListRequest\032\030.flyteidl.admin.T" - "askList\"\236\001\202\323\344\223\002\\\0220/api/v1/tasks/{id.proj" - "ect}/{id.domain}/{id.name}Z(\022&/api/v1/ta" - "sks/{id.project}/{id.domain}\222A9\0327Fetch e" - "xisting task definitions matching input " - "filters.\022\331\002\n\016CreateWorkflow\022%.flyteidl.a" - "dmin.WorkflowCreateRequest\032&.flyteidl.ad" - "min.WorkflowCreateResponse\"\367\001\202\323\344\223\002\026\"\021/ap" - "i/v1/workflows:\001*\222A\327\001\032*Create and regist" - "er a workflow definition.JB\n\003400\022;\n9Retu" - "rned for bad request that may have faile" - "d validation.Je\n\003409\022^\n\\Returned for a r" - "equest that references an identical enti" - "ty that has already been registered.\022\302\001\n" - "\013GetWorkflow\022 .flyteidl.admin.ObjectGetR" - "equest\032\030.flyteidl.admin.Workflow\"w\202\323\344\223\002C" - "\022A/api/v1/workflows/{id.project}/{id.dom" - "ain}/{id.name}/{id.version}\222A+\032)Retrieve" - " an existing workflow definition.\022\355\001\n\017Li" - "stWorkflowIds\0220.flyteidl.admin.NamedEnti" - "tyIdentifierListRequest\032).flyteidl.admin" - ".NamedEntityIdentifierList\"}\202\323\344\223\002)\022\'/api" - "/v1/workflow_ids/{project}/{domain}\222AK\032I" - "Fetch an existing workflow definition id" - "entifiers matching input filters.\022\377\001\n\rLi" - "stWorkflows\022#.flyteidl.admin.ResourceLis" - "tRequest\032\034.flyteidl.admin.WorkflowList\"\252" - "\001\202\323\344\223\002d\0224/api/v1/workflows/{id.project}/" - "{id.domain}/{id.name}Z,\022*/api/v1/workflo" - "ws/{id.project}/{id.domain}\222A=\032;Fetch ex" - "isting workflow definitions matching inp" - "ut filters.\022\345\002\n\020CreateLaunchPlan\022\'.flyte" - "idl.admin.LaunchPlanCreateRequest\032(.flyt" - "eidl.admin.LaunchPlanCreateResponse\"\375\001\202\323" - "\344\223\002\031\"\024/api/v1/launch_plans:\001*\222A\332\001\032-Creat" - "e and register a launch plan definition." - "JB\n\003400\022;\n9Returned for bad request that" - " may have failed validation.Je\n\003409\022^\n\\R" - "eturned for a request that references an" - " identical entity that has already been " - "registered.\022\314\001\n\rGetLaunchPlan\022 .flyteidl" - ".admin.ObjectGetRequest\032\032.flyteidl.admin" - ".LaunchPlan\"}\202\323\344\223\002F\022D/api/v1/launch_plan" - "s/{id.project}/{id.domain}/{id.name}/{id" - ".version}\222A.\032,Retrieve an existing launc" - "h plan definition.\022\363\001\n\023GetActiveLaunchPl" - "an\022\'.flyteidl.admin.ActiveLaunchPlanRequ" - "est\032\032.flyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002@" - "\022>/api/v1/active_launch_plans/{id.projec" - "t}/{id.domain}/{id.name}\222AM\032KRetrieve th" - "e active launch plan version specified b" - "y input request filters.\022\353\001\n\025ListActiveL" - "aunchPlans\022+.flyteidl.admin.ActiveLaunch" - "PlanListRequest\032\036.flyteidl.admin.LaunchP" - "lanList\"\204\001\202\323\344\223\0020\022./api/v1/active_launch_" - "plans/{project}/{domain}\222AK\032IFetch the a" - "ctive launch plan versions specified by " - "input request filters.\022\363\001\n\021ListLaunchPla" - "nIds\0220.flyteidl.admin.NamedEntityIdentif" - "ierListRequest\032).flyteidl.admin.NamedEnt" - "ityIdentifierList\"\200\001\202\323\344\223\002,\022*/api/v1/laun" - "ch_plan_ids/{project}/{domain}\222AK\032IFetch" - " existing launch plan definition identif" - "iers matching input filters.\022\214\002\n\017ListLau" - "nchPlans\022#.flyteidl.admin.ResourceListRe" - "quest\032\036.flyteidl.admin.LaunchPlanList\"\263\001" - "\202\323\344\223\002j\0227/api/v1/launch_plans/{id.project" - "}/{id.domain}/{id.name}Z/\022-/api/v1/launc" - "h_plans/{id.project}/{id.domain}\222A@\032>Fet" - "ch existing launch plan definitions matc" - "hing input filters.\022\300\006\n\020UpdateLaunchPlan" - "\022\'.flyteidl.admin.LaunchPlanUpdateReques" - "t\032(.flyteidl.admin.LaunchPlanUpdateRespo" - "nse\"\330\005\202\323\344\223\002I\032D/api/v1/launch_plans/{id.p" - "roject}/{id.domain}/{id.name}/{id.versio" - "n}:\001*\222A\205\005\032\202\005Update the status of an exis" - "ting launch plan definition. At most one" - " launch plan version for a given {projec" - "t, domain, name} can be active at a time" - ". If this call sets a launch plan to act" - "ive and existing version is already acti" - "ve, the result of this call will be that" - " the formerly active launch plan will be" - " made inactive and specified launch plan" - " in this request will be made active. In" - " the event that the formerly active laun" - "ch plan had a schedule associated it wit" - "h it, this schedule will be disabled. If" - " the reference launch plan in this reque" - "st is being set to active and has a sche" - "dule associated with it, the schedule wi" - "ll be enabled.\022\242\001\n\017CreateExecution\022&.fly" - "teidl.admin.ExecutionCreateRequest\032\'.fly" - "teidl.admin.ExecutionCreateResponse\">\202\323\344" - "\223\002\027\"\022/api/v1/executions:\001*\222A\036\032\034Create a " - "workflow execution.\022\261\001\n\021RelaunchExecutio" - "n\022(.flyteidl.admin.ExecutionRelaunchRequ" - "est\032\'.flyteidl.admin.ExecutionCreateResp" - "onse\"I\202\323\344\223\002 \"\033/api/v1/executions/relaunc" - "h:\001*\222A \032\036Relaunch a workflow execution.\022" - "\302\001\n\014GetExecution\022+.flyteidl.admin.Workfl" - "owExecutionGetRequest\032\031.flyteidl.admin.E" - "xecution\"j\202\323\344\223\0027\0225/api/v1/executions/{id" - ".project}/{id.domain}/{id.name}\222A*\032(Retr" - "ieve an existing workflow execution.\022\202\002\n" - "\020GetExecutionData\022/.flyteidl.admin.Workf" - "lowExecutionGetDataRequest\0320.flyteidl.ad" - "min.WorkflowExecutionGetDataResponse\"\212\001\202" - "\323\344\223\002<\022:/api/v1/data/executions/{id.proje" - "ct}/{id.domain}/{id.name}\222AE\032CRetrieve i" - "nput and output data from an existing wo" - "rkflow execution.\022\310\001\n\016ListExecutions\022#.f" - "lyteidl.admin.ResourceListRequest\032\035.flyt" - "eidl.admin.ExecutionList\"r\202\323\344\223\002-\022+/api/v" - "1/executions/{id.project}/{id.domain}\222A<" - "\032:Fetch existing workflow executions mat" - "ching input filters.\022\364\001\n\022TerminateExecut" - "ion\022).flyteidl.admin.ExecutionTerminateR" - "equest\032*.flyteidl.admin.ExecutionTermina" - "teResponse\"\206\001\202\323\344\223\002:*5/api/v1/executions/" - "{id.project}/{id.domain}/{id.name}:\001*\222AC" - "\032ATerminate the active workflow executio" - "n specified in the request.\022\374\001\n\020GetNodeE" - "xecution\022\'.flyteidl.admin.NodeExecutionG" - "etRequest\032\035.flyteidl.admin.NodeExecution" - "\"\237\001\202\323\344\223\002p\022n/api/v1/node_executions/{id.e" - "xecution_id.project}/{id.execution_id.do" - "main}/{id.execution_id.name}/{id.node_id" - "}\222A&\032$Retrieve an existing node executio" - "n.\022\232\002\n\022ListNodeExecutions\022(.flyteidl.adm" - "in.NodeExecutionListRequest\032!.flyteidl.a" - "dmin.NodeExecutionList\"\266\001\202\323\344\223\002u\022s/api/v1" - "/node_executions/{workflow_execution_id." - "project}/{workflow_execution_id.domain}/" - "{workflow_execution_id.name}\222A8\0326Fetch e" - "xisting node executions matching input f" - "ilters.\022\357\004\n\031ListNodeExecutionsForTask\022/." - "flyteidl.admin.NodeExecutionForTaskListR" - "equest\032!.flyteidl.admin.NodeExecutionLis" - "t\"\375\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_exec" - "utions/{task_execution_id.node_execution" - "_id.execution_id.project}/{task_executio" - "n_id.node_execution_id.execution_id.doma" - "in}/{task_execution_id.node_execution_id" - ".execution_id.name}/{task_execution_id.n" - "ode_execution_id.node_id}/{task_executio" - "n_id.task_id.project}/{task_execution_id" - ".task_id.domain}/{task_execution_id.task" - "_id.name}/{task_execution_id.task_id.ver" - "sion}/{task_execution_id.retry_attempt}\222" - "AG\032EFetch child node executions launched" - " by the specified task execution.\022\263\002\n\024Ge" - "tNodeExecutionData\022+.flyteidl.admin.Node" - "ExecutionGetDataRequest\032,.flyteidl.admin" - ".NodeExecutionGetDataResponse\"\277\001\202\323\344\223\002u\022s" - "/api/v1/data/node_executions/{id.executi" - "on_id.project}/{id.execution_id.domain}/" - "{id.execution_id.name}/{id.node_id}\222AA\032\?" - "Retrieve input and output data from an e" - "xisting node execution.\022\227\001\n\017RegisterProj" - "ect\022&.flyteidl.admin.ProjectRegisterRequ" - "est\032\'.flyteidl.admin.ProjectRegisterResp" - "onse\"3\202\323\344\223\002\025\"\020/api/v1/projects:\001*\222A\025\032\023Re" - "gister a project.\022\205\001\n\014ListProjects\022\".fly" - "teidl.admin.ProjectListRequest\032\030.flyteid" - "l.admin.Projects\"7\202\323\344\223\002\022\022\020/api/v1/projec" - "ts\222A\034\032\032Fetch registered projects.\022\335\001\n\023Cr" - "eateWorkflowEvent\022-.flyteidl.admin.Workf" - "lowExecutionEventRequest\032..flyteidl.admi" - "n.WorkflowExecutionEventResponse\"g\202\323\344\223\002\035" - "\"\030/api/v1/events/workflows:\001*\222AA\032\?Create" - " a workflow execution event recording a " - "phase transition.\022\311\001\n\017CreateNodeEvent\022)." - "flyteidl.admin.NodeExecutionEventRequest" - "\032*.flyteidl.admin.NodeExecutionEventResp" - "onse\"_\202\323\344\223\002\031\"\024/api/v1/events/nodes:\001*\222A=" - "\032;Create a node execution event recordin" - "g a phase transition.\022\311\001\n\017CreateTaskEven" - "t\022).flyteidl.admin.TaskExecutionEventReq" - "uest\032*.flyteidl.admin.TaskExecutionEvent" - "Response\"_\202\323\344\223\002\031\"\024/api/v1/events/tasks:\001" - "*\222A=\032;Create a task execution event reco" - "rding a phase transition.\022\251\003\n\020GetTaskExe" - "cution\022\'.flyteidl.admin.TaskExecutionGet" - "Request\032\035.flyteidl.admin.TaskExecution\"\314" - "\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{id.n" - "ode_execution_id.execution_id.project}/{" - "id.node_execution_id.execution_id.domain" - "}/{id.node_execution_id.execution_id.nam" - "e}/{id.node_execution_id.node_id}/{id.ta" - "sk_id.project}/{id.task_id.domain}/{id.t" - "ask_id.name}/{id.task_id.version}/{id.re" - "try_attempt}\222A&\032$Retrieve an existing ta" - "sk execution.\022\323\002\n\022ListTaskExecutions\022(.f" - "lyteidl.admin.TaskExecutionListRequest\032!" - ".flyteidl.admin.TaskExecutionList\"\357\001\202\323\344\223" - "\002\255\001\022\252\001/api/v1/task_executions/{node_exec" - "ution_id.execution_id.project}/{node_exe" - "cution_id.execution_id.domain}/{node_exe" - "cution_id.execution_id.name}/{node_execu" - "tion_id.node_id}\222A8\0326Fetch existing task" - " executions matching input filters.\022\340\003\n\024" - "GetTaskExecutionData\022+.flyteidl.admin.Ta" - "skExecutionGetDataRequest\032,.flyteidl.adm" - "in.TaskExecutionGetDataResponse\"\354\002\202\323\344\223\002\241" - "\002\022\236\002/api/v1/data/task_executions/{id.nod" - "e_execution_id.execution_id.project}/{id" - ".node_execution_id.execution_id.domain}/" - "{id.node_execution_id.execution_id.name}" - "/{id.node_execution_id.node_id}/{id.task" - "_id.project}/{id.task_id.domain}/{id.tas" - "k_id.name}/{id.task_id.version}/{id.retr" - "y_attempt}\222AA\032\?Retrieve input and output" - " data from an existing task execution.\022\277" - "\002\n\035UpdateProjectDomainAttributes\0224.flyte" - "idl.admin.ProjectDomainAttributesUpdateR" - "equest\0325.flyteidl.admin.ProjectDomainAtt" - "ributesUpdateResponse\"\260\001\202\323\344\223\002O\032J/api/v1/" - "project_domain_attributes/{attributes.pr" - "oject}/{attributes.domain}:\001*\222AX\032VUpdate" - " the customized resource attributes asso" - "ciated with a project-domain combination" - "\022\237\002\n\032GetProjectDomainAttributes\0221.flytei" - "dl.admin.ProjectDomainAttributesGetReque" - "st\0322.flyteidl.admin.ProjectDomainAttribu" - "tesGetResponse\"\231\001\202\323\344\223\0026\0224/api/v1/project" - "_domain_attributes/{project}/{domain}\222AZ" - "\032XRetrieve the customized resource attri" - "butes associated with a project-domain c" - "ombination\022\251\002\n\035DeleteProjectDomainAttrib" - "utes\0224.flyteidl.admin.ProjectDomainAttri" - "butesDeleteRequest\0325.flyteidl.admin.Proj" - "ectDomainAttributesDeleteResponse\"\232\001\202\323\344\223" - "\0029*4/api/v1/project_domain_attributes/{p" - "roject}/{domain}:\001*\222AX\032VDelete the custo" - "mized resource attributes associated wit" - "h a project-domain combination\022\316\002\n\030Updat" - "eWorkflowAttributes\022/.flyteidl.admin.Wor" - "kflowAttributesUpdateRequest\0320.flyteidl." - "admin.WorkflowAttributesUpdateResponse\"\316" - "\001\202\323\344\223\002_\032Z/api/v1/workflow_attributes/{at" - "tributes.project}/{attributes.domain}/{a" - "ttributes.workflow}:\001*\222Af\032dUpdate the cu" - "stomized resource attributes associated " - "with a project, domain and workflow comb" - "ination\022\243\002\n\025GetWorkflowAttributes\022,.flyt" - "eidl.admin.WorkflowAttributesGetRequest\032" - "-.flyteidl.admin.WorkflowAttributesGetRe" - "sponse\"\254\001\202\323\344\223\002;\0229/api/v1/workflow_attrib" - "utes/{project}/{domain}/{workflow}\222Ah\032fR" - "etrieve the customized resource attribut" - "es associated with a project, domain and" - " workflow combination\022\255\002\n\030DeleteWorkflow" - "Attributes\022/.flyteidl.admin.WorkflowAttr" - "ibutesDeleteRequest\0320.flyteidl.admin.Wor" - "kflowAttributesDeleteResponse\"\255\001\202\323\344\223\002>*9" - "/api/v1/workflow_attributes/{project}/{d" - "omain}/{workflow}:\001*\222Af\032dDelete the cust" + "flyteidl/admin/execution.proto\032\'flyteidl" + "/admin/matchable_resource.proto\032#flyteid" + "l/admin/node_execution.proto\032#flyteidl/a" + "dmin/task_execution.proto\032\033flyteidl/admi" + "n/common.proto\032,protoc-gen-swagger/optio" + "ns/annotations.proto2\331^\n\014AdminService\022\305\002" + "\n\nCreateTask\022!.flyteidl.admin.TaskCreate" + "Request\032\".flyteidl.admin.TaskCreateRespo" + "nse\"\357\001\202\323\344\223\002\022\"\r/api/v1/tasks:\001*\222A\323\001\032&Crea" + "te and register a task definition.JB\n\00340" + "0\022;\n9Returned for bad request that may h" + "ave failed validation.Je\n\003409\022^\n\\Returne" + "d for a request that references an ident" + "ical entity that has already been regist" + "ered.\022\262\001\n\007GetTask\022 .flyteidl.admin.Objec" + "tGetRequest\032\024.flyteidl.admin.Task\"o\202\323\344\223\002" + "\?\022=/api/v1/tasks/{id.project}/{id.domain" + "}/{id.name}/{id.version}\222A\'\032%Retrieve an" + " existing task definition.\022\336\001\n\013ListTaskI" + "ds\0220.flyteidl.admin.NamedEntityIdentifie" + "rListRequest\032).flyteidl.admin.NamedEntit" + "yIdentifierList\"r\202\323\344\223\002%\022#/api/v1/task_id" + "s/{project}/{domain}\222AD\032BFetch existing " + "task definition identifiers matching inp" + "ut filters.\022\353\001\n\tListTasks\022#.flyteidl.adm" + "in.ResourceListRequest\032\030.flyteidl.admin." + "TaskList\"\236\001\202\323\344\223\002\\\0220/api/v1/tasks/{id.pro" + "ject}/{id.domain}/{id.name}Z(\022&/api/v1/t" + "asks/{id.project}/{id.domain}\222A9\0327Fetch " + "existing task definitions matching input" + " filters.\022\331\002\n\016CreateWorkflow\022%.flyteidl." + "admin.WorkflowCreateRequest\032&.flyteidl.a" + "dmin.WorkflowCreateResponse\"\367\001\202\323\344\223\002\026\"\021/a" + "pi/v1/workflows:\001*\222A\327\001\032*Create and regis" + "ter a workflow definition.JB\n\003400\022;\n9Ret" + "urned for bad request that may have fail" + "ed validation.Je\n\003409\022^\n\\Returned for a " + "request that references an identical ent" + "ity that has already been registered.\022\302\001" + "\n\013GetWorkflow\022 .flyteidl.admin.ObjectGet" + "Request\032\030.flyteidl.admin.Workflow\"w\202\323\344\223\002" + "C\022A/api/v1/workflows/{id.project}/{id.do" + "main}/{id.name}/{id.version}\222A+\032)Retriev" + "e an existing workflow definition.\022\355\001\n\017L" + "istWorkflowIds\0220.flyteidl.admin.NamedEnt" + "ityIdentifierListRequest\032).flyteidl.admi" + "n.NamedEntityIdentifierList\"}\202\323\344\223\002)\022\'/ap" + "i/v1/workflow_ids/{project}/{domain}\222AK\032" + "IFetch an existing workflow definition i" + "dentifiers matching input filters.\022\377\001\n\rL" + "istWorkflows\022#.flyteidl.admin.ResourceLi" + "stRequest\032\034.flyteidl.admin.WorkflowList\"" + "\252\001\202\323\344\223\002d\0224/api/v1/workflows/{id.project}" + "/{id.domain}/{id.name}Z,\022*/api/v1/workfl" + "ows/{id.project}/{id.domain}\222A=\032;Fetch e" + "xisting workflow definitions matching in" + "put filters.\022\345\002\n\020CreateLaunchPlan\022\'.flyt" + "eidl.admin.LaunchPlanCreateRequest\032(.fly" + "teidl.admin.LaunchPlanCreateResponse\"\375\001\202" + "\323\344\223\002\031\"\024/api/v1/launch_plans:\001*\222A\332\001\032-Crea" + "te and register a launch plan definition" + ".JB\n\003400\022;\n9Returned for bad request tha" + "t may have failed validation.Je\n\003409\022^\n\\" + "Returned for a request that references a" + "n identical entity that has already been" + " registered.\022\314\001\n\rGetLaunchPlan\022 .flyteid" + "l.admin.ObjectGetRequest\032\032.flyteidl.admi" + "n.LaunchPlan\"}\202\323\344\223\002F\022D/api/v1/launch_pla" + "ns/{id.project}/{id.domain}/{id.name}/{i" + "d.version}\222A.\032,Retrieve an existing laun" + "ch plan definition.\022\363\001\n\023GetActiveLaunchP" + "lan\022\'.flyteidl.admin.ActiveLaunchPlanReq" + "uest\032\032.flyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002" + "@\022>/api/v1/active_launch_plans/{id.proje" + "ct}/{id.domain}/{id.name}\222AM\032KRetrieve t" + "he active launch plan version specified " + "by input request filters.\022\353\001\n\025ListActive" + "LaunchPlans\022+.flyteidl.admin.ActiveLaunc" + "hPlanListRequest\032\036.flyteidl.admin.Launch" + "PlanList\"\204\001\202\323\344\223\0020\022./api/v1/active_launch" + "_plans/{project}/{domain}\222AK\032IFetch the " + "active launch plan versions specified by" + " input request filters.\022\363\001\n\021ListLaunchPl" + "anIds\0220.flyteidl.admin.NamedEntityIdenti" + "fierListRequest\032).flyteidl.admin.NamedEn" + "tityIdentifierList\"\200\001\202\323\344\223\002,\022*/api/v1/lau" + "nch_plan_ids/{project}/{domain}\222AK\032IFetc" + "h existing launch plan definition identi" + "fiers matching input filters.\022\214\002\n\017ListLa" + "unchPlans\022#.flyteidl.admin.ResourceListR" + "equest\032\036.flyteidl.admin.LaunchPlanList\"\263" + "\001\202\323\344\223\002j\0227/api/v1/launch_plans/{id.projec" + "t}/{id.domain}/{id.name}Z/\022-/api/v1/laun" + "ch_plans/{id.project}/{id.domain}\222A@\032>Fe" + "tch existing launch plan definitions mat" + "ching input filters.\022\300\006\n\020UpdateLaunchPla" + "n\022\'.flyteidl.admin.LaunchPlanUpdateReque" + "st\032(.flyteidl.admin.LaunchPlanUpdateResp" + "onse\"\330\005\202\323\344\223\002I\032D/api/v1/launch_plans/{id." + "project}/{id.domain}/{id.name}/{id.versi" + "on}:\001*\222A\205\005\032\202\005Update the status of an exi" + "sting launch plan definition. At most on" + "e launch plan version for a given {proje" + "ct, domain, name} can be active at a tim" + "e. If this call sets a launch plan to ac" + "tive and existing version is already act" + "ive, the result of this call will be tha" + "t the formerly active launch plan will b" + "e made inactive and specified launch pla" + "n in this request will be made active. I" + "n the event that the formerly active lau" + "nch plan had a schedule associated it wi" + "th it, this schedule will be disabled. I" + "f the reference launch plan in this requ" + "est is being set to active and has a sch" + "edule associated with it, the schedule w" + "ill be enabled.\022\242\001\n\017CreateExecution\022&.fl" + "yteidl.admin.ExecutionCreateRequest\032\'.fl" + "yteidl.admin.ExecutionCreateResponse\">\202\323" + "\344\223\002\027\"\022/api/v1/executions:\001*\222A\036\032\034Create a" + " workflow execution.\022\261\001\n\021RelaunchExecuti" + "on\022(.flyteidl.admin.ExecutionRelaunchReq" + "uest\032\'.flyteidl.admin.ExecutionCreateRes" + "ponse\"I\202\323\344\223\002 \"\033/api/v1/executions/relaun" + "ch:\001*\222A \032\036Relaunch a workflow execution." + "\022\302\001\n\014GetExecution\022+.flyteidl.admin.Workf" + "lowExecutionGetRequest\032\031.flyteidl.admin." + "Execution\"j\202\323\344\223\0027\0225/api/v1/executions/{i" + "d.project}/{id.domain}/{id.name}\222A*\032(Ret" + "rieve an existing workflow execution.\022\202\002" + "\n\020GetExecutionData\022/.flyteidl.admin.Work" + "flowExecutionGetDataRequest\0320.flyteidl.a" + "dmin.WorkflowExecutionGetDataResponse\"\212\001" + "\202\323\344\223\002<\022:/api/v1/data/executions/{id.proj" + "ect}/{id.domain}/{id.name}\222AE\032CRetrieve " + "input and output data from an existing w" + "orkflow execution.\022\310\001\n\016ListExecutions\022#." + "flyteidl.admin.ResourceListRequest\032\035.fly" + "teidl.admin.ExecutionList\"r\202\323\344\223\002-\022+/api/" + "v1/executions/{id.project}/{id.domain}\222A" + "<\032:Fetch existing workflow executions ma" + "tching input filters.\022\364\001\n\022TerminateExecu" + "tion\022).flyteidl.admin.ExecutionTerminate" + "Request\032*.flyteidl.admin.ExecutionTermin" + "ateResponse\"\206\001\202\323\344\223\002:*5/api/v1/executions" + "/{id.project}/{id.domain}/{id.name}:\001*\222A" + "C\032ATerminate the active workflow executi" + "on specified in the request.\022\374\001\n\020GetNode" + "Execution\022\'.flyteidl.admin.NodeExecution" + "GetRequest\032\035.flyteidl.admin.NodeExecutio" + "n\"\237\001\202\323\344\223\002p\022n/api/v1/node_executions/{id." + "execution_id.project}/{id.execution_id.d" + "omain}/{id.execution_id.name}/{id.node_i" + "d}\222A&\032$Retrieve an existing node executi" + "on.\022\232\002\n\022ListNodeExecutions\022(.flyteidl.ad" + "min.NodeExecutionListRequest\032!.flyteidl." + "admin.NodeExecutionList\"\266\001\202\323\344\223\002u\022s/api/v" + "1/node_executions/{workflow_execution_id" + ".project}/{workflow_execution_id.domain}" + "/{workflow_execution_id.name}\222A8\0326Fetch " + "existing node executions matching input " + "filters.\022\357\004\n\031ListNodeExecutionsForTask\022/" + ".flyteidl.admin.NodeExecutionForTaskList" + "Request\032!.flyteidl.admin.NodeExecutionLi" + "st\"\375\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_exe" + "cutions/{task_execution_id.node_executio" + "n_id.execution_id.project}/{task_executi" + "on_id.node_execution_id.execution_id.dom" + "ain}/{task_execution_id.node_execution_i" + "d.execution_id.name}/{task_execution_id." + "node_execution_id.node_id}/{task_executi" + "on_id.task_id.project}/{task_execution_i" + "d.task_id.domain}/{task_execution_id.tas" + "k_id.name}/{task_execution_id.task_id.ve" + "rsion}/{task_execution_id.retry_attempt}" + "\222AG\032EFetch child node executions launche" + "d by the specified task execution.\022\263\002\n\024G" + "etNodeExecutionData\022+.flyteidl.admin.Nod" + "eExecutionGetDataRequest\032,.flyteidl.admi" + "n.NodeExecutionGetDataResponse\"\277\001\202\323\344\223\002u\022" + "s/api/v1/data/node_executions/{id.execut" + "ion_id.project}/{id.execution_id.domain}" + "/{id.execution_id.name}/{id.node_id}\222AA\032" + "\?Retrieve input and output data from an " + "existing node execution.\022\227\001\n\017RegisterPro" + "ject\022&.flyteidl.admin.ProjectRegisterReq" + "uest\032\'.flyteidl.admin.ProjectRegisterRes" + "ponse\"3\202\323\344\223\002\025\"\020/api/v1/projects:\001*\222A\025\032\023R" + "egister a project.\022\205\001\n\014ListProjects\022\".fl" + "yteidl.admin.ProjectListRequest\032\030.flytei" + "dl.admin.Projects\"7\202\323\344\223\002\022\022\020/api/v1/proje" + "cts\222A\034\032\032Fetch registered projects.\022\335\001\n\023C" + "reateWorkflowEvent\022-.flyteidl.admin.Work" + "flowExecutionEventRequest\032..flyteidl.adm" + "in.WorkflowExecutionEventResponse\"g\202\323\344\223\002" + "\035\"\030/api/v1/events/workflows:\001*\222AA\032\?Creat" + "e a workflow execution event recording a" + " phase transition.\022\311\001\n\017CreateNodeEvent\022)" + ".flyteidl.admin.NodeExecutionEventReques" + "t\032*.flyteidl.admin.NodeExecutionEventRes" + "ponse\"_\202\323\344\223\002\031\"\024/api/v1/events/nodes:\001*\222A" + "=\032;Create a node execution event recordi" + "ng a phase transition.\022\311\001\n\017CreateTaskEve" + "nt\022).flyteidl.admin.TaskExecutionEventRe" + "quest\032*.flyteidl.admin.TaskExecutionEven" + "tResponse\"_\202\323\344\223\002\031\"\024/api/v1/events/tasks:" + "\001*\222A=\032;Create a task execution event rec" + "ording a phase transition.\022\251\003\n\020GetTaskEx" + "ecution\022\'.flyteidl.admin.TaskExecutionGe" + "tRequest\032\035.flyteidl.admin.TaskExecution\"" + "\314\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{id." + "node_execution_id.execution_id.project}/" + "{id.node_execution_id.execution_id.domai" + "n}/{id.node_execution_id.execution_id.na" + "me}/{id.node_execution_id.node_id}/{id.t" + "ask_id.project}/{id.task_id.domain}/{id." + "task_id.name}/{id.task_id.version}/{id.r" + "etry_attempt}\222A&\032$Retrieve an existing t" + "ask execution.\022\323\002\n\022ListTaskExecutions\022(." + "flyteidl.admin.TaskExecutionListRequest\032" + "!.flyteidl.admin.TaskExecutionList\"\357\001\202\323\344" + "\223\002\255\001\022\252\001/api/v1/task_executions/{node_exe" + "cution_id.execution_id.project}/{node_ex" + "ecution_id.execution_id.domain}/{node_ex" + "ecution_id.execution_id.name}/{node_exec" + "ution_id.node_id}\222A8\0326Fetch existing tas" + "k executions matching input filters.\022\340\003\n" + "\024GetTaskExecutionData\022+.flyteidl.admin.T" + "askExecutionGetDataRequest\032,.flyteidl.ad" + "min.TaskExecutionGetDataResponse\"\354\002\202\323\344\223\002" + "\241\002\022\236\002/api/v1/data/task_executions/{id.no" + "de_execution_id.execution_id.project}/{i" + "d.node_execution_id.execution_id.domain}" + "/{id.node_execution_id.execution_id.name" + "}/{id.node_execution_id.node_id}/{id.tas" + "k_id.project}/{id.task_id.domain}/{id.ta" + "sk_id.name}/{id.task_id.version}/{id.ret" + "ry_attempt}\222AA\032\?Retrieve input and outpu" + "t data from an existing task execution.\022" + "\277\002\n\035UpdateProjectDomainAttributes\0224.flyt" + "eidl.admin.ProjectDomainAttributesUpdate" + "Request\0325.flyteidl.admin.ProjectDomainAt" + "tributesUpdateResponse\"\260\001\202\323\344\223\002O\032J/api/v1" + "/project_domain_attributes/{attributes.p" + "roject}/{attributes.domain}:\001*\222AX\032VUpdat" + "e the customized resource attributes ass" + "ociated with a project-domain combinatio" + "n\022\237\002\n\032GetProjectDomainAttributes\0221.flyte" + "idl.admin.ProjectDomainAttributesGetRequ" + "est\0322.flyteidl.admin.ProjectDomainAttrib" + "utesGetResponse\"\231\001\202\323\344\223\0026\0224/api/v1/projec" + "t_domain_attributes/{project}/{domain}\222A" + "Z\032XRetrieve the customized resource attr" + "ibutes associated with a project-domain " + "combination\022\251\002\n\035DeleteProjectDomainAttri" + "butes\0224.flyteidl.admin.ProjectDomainAttr" + "ibutesDeleteRequest\0325.flyteidl.admin.Pro" + "jectDomainAttributesDeleteResponse\"\232\001\202\323\344" + "\223\0029*4/api/v1/project_domain_attributes/{" + "project}/{domain}:\001*\222AX\032VDelete the cust" "omized resource attributes associated wi" - "th a project, domain and workflow combin" - "ation\022\200\002\n\021ListNamedEntities\022&.flyteidl.a" - "dmin.NamedEntityListRequest\032\037.flyteidl.a" - "dmin.NamedEntityList\"\241\001\202\323\344\223\002;\0229/api/v1/n" - "amed_entities/{resource_type}/{project}/" - "{domain}\222A]\032[Retrieve a list of NamedEnt" - "ity objects sharing a common resource ty" - "pe, project, and domain.\022\312\001\n\016GetNamedEnt" - "ity\022%.flyteidl.admin.NamedEntityGetReque" - "st\032\033.flyteidl.admin.NamedEntity\"t\202\323\344\223\002K\022" - "I/api/v1/named_entities/{resource_type}/" - "{id.project}/{id.domain}/{id.name}\222A \032\036R" - "etrieve a NamedEntity object.\022\363\001\n\021Update" - "NamedEntity\022(.flyteidl.admin.NamedEntity" - "UpdateRequest\032).flyteidl.admin.NamedEnti" - "tyUpdateResponse\"\210\001\202\323\344\223\002N\032I/api/v1/named" - "_entities/{resource_type}/{id.project}/{" - "id.domain}/{id.name}:\001*\222A1\032/Update the f" - "ields associated with a NamedEntityB5Z3g" - "ithub.com/lyft/flyteidl/gen/pb-go/flytei" - "dl/serviceb\006proto3" + "th a project-domain combination\022\316\002\n\030Upda" + "teWorkflowAttributes\022/.flyteidl.admin.Wo" + "rkflowAttributesUpdateRequest\0320.flyteidl" + ".admin.WorkflowAttributesUpdateResponse\"" + "\316\001\202\323\344\223\002_\032Z/api/v1/workflow_attributes/{a" + "ttributes.project}/{attributes.domain}/{" + "attributes.workflow}:\001*\222Af\032dUpdate the c" + "ustomized resource attributes associated" + " with a project, domain and workflow com" + "bination\022\243\002\n\025GetWorkflowAttributes\022,.fly" + "teidl.admin.WorkflowAttributesGetRequest" + "\032-.flyteidl.admin.WorkflowAttributesGetR" + "esponse\"\254\001\202\323\344\223\002;\0229/api/v1/workflow_attri" + "butes/{project}/{domain}/{workflow}\222Ah\032f" + "Retrieve the customized resource attribu" + "tes associated with a project, domain an" + "d workflow combination\022\255\002\n\030DeleteWorkflo" + "wAttributes\022/.flyteidl.admin.WorkflowAtt" + "ributesDeleteRequest\0320.flyteidl.admin.Wo" + "rkflowAttributesDeleteResponse\"\255\001\202\323\344\223\002>*" + "9/api/v1/workflow_attributes/{project}/{" + "domain}/{workflow}:\001*\222Af\032dDelete the cus" + "tomized resource attributes associated w" + "ith a project, domain and workflow combi" + "nation\022\341\001\n\027ListMatchableAttributes\022..fly" + "teidl.admin.ListMatchableAttributesReque" + "st\032/.flyteidl.admin.ListMatchableAttribu" + "tesResponse\"e\202\323\344\223\002\036\022\034/api/v1/matchable_a" + "ttributes\222A>\032= 300 { + newErr := GenericSwaggerError{ + body: localVarBody, + error: localVarHttpResponse.Status, + } + + if localVarHttpResponse.StatusCode == 200 { + var v AdminListMatchableAttributesResponse + err = a.client.decode(&v, localVarBody, localVarHttpResponse.Header.Get("Content-Type")); + if err != nil { + newErr.error = err.Error() + return localVarReturnValue, localVarHttpResponse, newErr + } + newErr.model = v + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, newErr + } + + return localVarReturnValue, localVarHttpResponse, nil +} + /* AdminServiceApiService Retrieve a list of NamedEntity objects sharing a common resource type, project, and domain. diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_list_matchable_attributes_response.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_list_matchable_attributes_response.go new file mode 100644 index 00000000000..de293830c30 --- /dev/null +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_list_matchable_attributes_response.go @@ -0,0 +1,15 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// Response for a request for all matching resource attributes. +type AdminListMatchableAttributesResponse struct { + Configurations []AdminMatchableAttributesConfiguration `json:"configurations,omitempty"` +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go new file mode 100644 index 00000000000..8dbbb654a86 --- /dev/null +++ b/flyteidl/gen/pb-go/flyteidl/service/flyteadmin/model_admin_matchable_attributes_configuration.go @@ -0,0 +1,19 @@ +/* + * flyteidl/service/admin.proto + * + * No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) + * + * API version: version not set + * Generated by: Swagger Codegen (https://github.com/swagger-api/swagger-codegen.git) + */ + +package flyteadmin + +// Represents a custom set of attributes applied for either a domain; a domain and project; or domain, project and workflow name. +type AdminMatchableAttributesConfiguration struct { + Attributes *AdminMatchingAttributes `json:"attributes,omitempty"` + Domain string `json:"domain,omitempty"` + Project string `json:"project,omitempty"` + Workflow string `json:"workflow,omitempty"` + LaunchPlan string `json:"launch_plan,omitempty"` +} diff --git a/flyteidl/gen/pb-go/flyteidl/service/openapi.go b/flyteidl/gen/pb-go/flyteidl/service/openapi.go index 4f3bd2d51d5..35424a3adb9 100644 --- a/flyteidl/gen/pb-go/flyteidl/service/openapi.go +++ b/flyteidl/gen/pb-go/flyteidl/service/openapi.go @@ -77,7 +77,7 @@ func (fi bindataFileInfo) Sys() interface{} { return nil } -var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7d\x73\x23\xb9\x91\x27\xfc\xff\x7c\x0a\x3c\xba\x8b\x98\x69\x2f\xa5\x1e\x7b\x6f\x37\x7c\xfd\xc4\xc6\x13\x1c\x49\xdd\xa3\x1d\xb5\x24\xeb\x65\xfa\x1c\x47\x87\x0c\x56\x81\x24\xac\x22\x40\x03\x28\xa9\x69\x87\xbf\xfb\x13\x48\xbc\x14\x50\xac\x2a\x56\x91\x94\x44\xf5\x94\x2f\x6e\x47\x4d\xb2\x50\x09\x20\x91\xc8\x97\x5f\x66\xfe\xf3\x3b\x84\x0e\xe4\x13\x9e\x4e\x89\x38\xf8\x80\x0e\xfe\x70\xf4\xe3\xc1\x40\x7f\x46\xd9\x84\x1f\x7c\x40\xfa\x7b\x84\x0e\x14\x55\x19\xd1\xdf\x4f\xb2\xa5\x22\x34\xcd\xde\x4b\x22\x1e\x69\x42\xde\xe3\x74\x4e\xd9\xd1\x42\x70\xc5\xe1\x41\x84\x0e\x1e\x89\x90\x94\x33\xfd\x73\xfb\x27\x62\x5c\x21\x49\xd4\xc1\x77\x08\xfd\x0b\x86\x97\xc9\x8c\xcc\x89\x3c\xf8\x80\xfe\xaf\x79\x68\xa6\xd4\xc2\x0d\xa0\xff\x96\xfa\xb7\x7f\x81\xdf\x26\x9c\xc9\x3c\xfa\x31\x5e\x2c\x32\x9a\x60\x45\x39\x7b\xff\x37\xc9\x59\xf1\xdb\x85\xe0\x69\x9e\xb4\xfc\x2d\x56\x33\x59\xcc\xf1\x3d\x5e\xd0\xf7\x8f\xbf\x7f\x8f\x13\x45\x1f\xc9\x7d\x86\x73\x96\xcc\xee\x17\x19\x66\xf2\xfd\x3f\x69\xaa\xe7\xf8\x37\x92\xa8\x7f\xc1\x3f\x52\x3e\xc7\x94\x99\xbf\x19\x9e\x93\x7f\xf9\x71\x10\x3a\x98\x12\x15\xfc\x13\xa1\x83\x94\xc8\x44\xd0\x85\xb2\xab\x72\x4d\x94\xa0\xe4\x91\x20\x35\x23\xc8\xbc\x0e\x99\xd7\x21\xfd\x3a\xe4\x56\x4d\x2e\x48\x42\x27\x94\xa4\x68\xbc\x44\x94\x2d\x72\x85\x04\xf9\x7b\x4e\xa4\x42\x13\x9a\x29\x22\xe4\x91\x5d\x32\x78\x0b\x5f\x10\x01\xf3\x3c\x4b\xf5\x5b\x3e\x11\x35\x84\xb1\xcf\x61\xe8\xab\x0c\xb3\xf0\xd7\x82\xc8\x05\x67\x92\xc8\x88\x54\x84\x0e\xfe\xf0\xe3\x8f\xa5\x8f\x56\x67\x30\x44\x32\x4f\x12\x22\xe5\x24\xcf\x90\x1b\x29\x24\x06\x1e\x82\x4d\xc6\x2b\x83\x21\x74\xf0\x3f\x05\x99\xe8\x71\xfe\xc7\xfb\x94\x4c\x28\xa3\x7a\x5c\x69\x78\x29\xa0\x36\x7a\xea\x5f\xdf\x55\xfd\xfd\xaf\x60\x46\x0b\x2c\xf0\x9c\xe8\x65\xf1\xbb\x6f\xfe\x57\x9a\x8b\xde\x2f\xfd\xf2\x62\x4f\xcb\x84\x97\x66\x7b\x81\xe7\x04\xf1\x09\x6c\x97\x7d\x02\xfe\x16\x44\xf2\x5c\x24\x04\x8d\x49\xc6\xd9\x54\x22\xc5\x57\xd6\x80\xc2\x08\x9a\xd5\xca\xdf\xe8\xad\xa4\x82\xe8\xbd\x52\x22\x27\xa5\x6f\xd5\x72\x01\x44\x4a\x25\x28\x9b\x86\x4b\xf1\xaf\x41\xab\xa9\x19\x0e\xed\x30\x33\xf3\x40\xed\xc4\x46\x6c\xe8\x7e\x92\x60\x86\xc6\x04\xe9\x73\x49\x53\x22\x48\x8a\xb0\x44\x18\xc9\x7c\x2c\x89\x42\x4f\x54\xcd\x28\xd3\xff\x36\xec\x9b\xb8\x35\xdb\x9f\xb5\x81\x3f\x9b\x57\xe6\x4e\x12\xa1\x09\x7f\xa4\x29\x49\xd1\x23\xce\x72\x82\x26\x5c\x44\xcb\x73\x34\x62\xb7\x33\xbd\x0e\xf3\x31\x65\x70\xf2\xf4\x5a\x3a\x0e\xf9\x37\xb7\x5c\xff\x86\xf4\xfb\x50\xce\xe8\xdf\x73\x92\x2d\x11\x4d\x09\x53\xfa\x5c\xcb\xf2\x68\xff\xc6\xe1\xfd\x38\x43\x87\x48\xaf\x33\x11\x0a\xd6\x9b\x33\x45\xbe\x2a\x89\x0e\x51\x46\x1f\x08\xfa\xfe\x9c\x4a\x85\x86\x57\x67\xdf\x0f\xd0\xf7\xe7\x85\xe0\x90\xdf\xbf\xc0\x0a\xfb\xbf\xff\x12\x1c\x3d\x85\xa7\xe5\x43\x77\x30\xd4\xa7\xf9\xc6\x5c\x13\xc5\x08\x7f\xf9\x2e\x1c\xc7\xee\x57\xb3\xec\x2d\x04\xaf\x95\xba\x5d\x64\xed\x47\xa2\x92\xd9\x1a\x41\x2b\xb7\x94\xb4\x7a\x3b\xca\xa2\x56\xbe\x2d\x59\xab\xa7\xf0\xdc\xf2\x76\x1b\x61\x8b\x15\x9c\x02\x4c\x99\x39\x34\xfe\x0c\xc5\x3b\x83\x5e\x4f\xac\x6c\x23\x6f\x83\xd9\x04\x22\xd7\x49\xd2\x60\x25\xf6\x64\xae\x19\x9d\xd3\x75\xfb\x78\xc6\x52\xad\x76\x59\x21\xc7\xf2\xf9\x98\x08\x3d\x75\x27\xee\x60\x86\x63\x2d\xfe\x54\x2e\x18\x49\x6b\xa6\xf6\xf7\x9c\x88\x65\xc3\xdc\x26\x38\x93\x75\x93\xa3\x4c\x11\xad\xd7\x96\xbe\x9e\x70\x31\xc7\xca\xfe\xe0\x3f\xff\x57\xd7\xc9\x2b\xfe\x40\xd6\xed\xf3\x99\xd9\xb5\x04\x4b\xd8\xee\x79\x9e\x29\xba\xc8\x08\x5a\xe0\x29\x91\x76\x15\xf2\x4c\xc9\x01\xfc\x4c\xeb\xd2\x44\x1c\xfa\xdb\x06\xde\xe0\x6e\xd9\x5c\xc2\x27\x68\xe2\x05\x19\x23\x5f\x15\x8c\x34\x62\x70\xcf\xc2\x12\x85\xb7\xc7\x33\x2c\xe5\x66\x7c\x22\xb9\x50\xf7\xe3\xe5\xd1\x03\x59\x79\x6f\x2d\xb7\x60\x86\xb0\x52\x82\x8e\x73\x45\xf4\xbc\xf5\x18\xee\x9e\x04\xd1\x67\x2e\x63\xa9\x2f\xdf\xcb\x93\xcb\x1f\x1e\xb0\x12\x7c\x8a\xd9\xbb\x0f\x68\x98\xa6\xc8\x10\xaa\x7f\x43\x53\x73\x25\xcf\x88\x20\x47\xe8\x76\x46\x25\x92\x33\x9e\x67\x29\x62\xe4\x91\x08\xbd\xb6\x64\xbe\x50\xcb\xbd\x5b\xad\x94\x0a\x92\xc0\xc2\x74\x39\x61\xfe\x29\xbd\x68\xda\xe8\x59\x9a\xa5\x7b\x20\x4b\x50\x5c\x56\x97\xef\x05\xf8\xa5\xf4\x2d\x61\xf9\xbc\x74\x57\xc0\xe7\x27\xa7\x37\xc7\xa7\x17\x27\x67\x17\x9f\x4a\x4f\x68\x35\xc2\x7f\x15\x7d\xf3\x97\x95\xb5\x99\xe0\x3c\x83\x53\x1d\x8c\xf6\x62\x8a\x4b\x32\xa3\x59\x2a\x08\x7b\xaf\xb0\x7c\xb8\x27\x5f\x49\x92\x9b\x7b\xf6\x9f\xf1\x07\xf7\x5a\xfb\xe4\x29\x89\x3f\x89\xfe\x51\xa8\x3b\x9d\x1f\xf5\x56\x69\xe7\x27\xc1\x86\x6d\xf7\x1c\x7c\x42\xd3\xca\x5f\xc3\x27\x6b\xe6\xe0\x7e\xd3\x40\xac\xfb\x49\x2d\x55\xee\x07\x56\x81\xab\xfc\x8d\x20\x4a\x2c\xef\xb1\x52\xfa\x94\x6f\xa0\x33\xc2\x96\x22\x3d\x5b\x54\xec\xa7\x55\x1f\x8d\xa2\x08\xb2\xdb\x6b\x8e\x9a\x82\xe2\x97\xeb\xf4\xc5\x0b\x9e\x92\x53\x3f\xec\x47\x2e\x6e\xb1\x7c\x78\x0b\x3a\x63\x44\xf8\x4b\xa8\x8d\x9b\x1e\xa0\x6f\xce\xa8\xdf\x50\x1c\xf4\x2e\x80\xed\x57\xb2\xad\xc3\x80\x0b\x24\x97\x52\x91\xf9\x5a\xd7\xc1\xdb\x59\x08\x2b\xef\xf7\x95\xe0\xd2\x95\xf3\x1b\x38\xf5\xf1\x05\xda\x1f\xef\x0e\x4b\xb6\x2b\xc7\xdf\xbe\xcf\xd3\x85\x60\x9a\xa7\x7a\xe3\xb6\xcf\x05\x1c\x2c\x9f\xec\xfd\x34\x23\xd5\x6e\xd7\x44\x3e\x93\xd7\xa0\x76\xaf\xdc\x6a\xdf\x03\x01\x6b\x4c\xbe\xd8\x75\xec\xcf\x9f\x7e\x34\x74\xae\x18\x8f\x99\xd2\x36\xaf\xf5\x2d\x11\x81\x12\x2e\x8c\x2a\x98\x36\x88\xb7\x97\x33\xfa\xee\x2e\x6e\xae\x4e\x8f\xcf\x3e\x9e\x9d\x9e\xac\x5a\x7d\xb7\xc3\x9b\x5f\x56\x3f\xfd\x72\x79\xfd\xcb\xc7\xf3\xcb\x2f\xab\xdf\x9c\x0f\xef\x2e\x8e\x7f\xbe\xbf\x3a\x1f\x5e\xb4\xb6\x13\x43\x02\x3a\xee\x66\xef\x00\xdb\xa5\x03\x6c\xf0\xed\x7a\xc0\x6c\xf4\xa0\xbd\xf7\x0b\x65\x54\x2a\xbd\x40\xf6\x49\xb4\xc0\x52\x9a\xfb\xd7\x50\x70\x34\x62\x9f\xb9\x20\x88\xb2\x09\x47\x1c\x82\x43\x52\x89\x3c\x51\x94\x4d\xfd\x43\x1f\xd0\x28\xff\xf1\xc7\x7f\x4f\xce\x29\x7b\x80\xbf\xc8\x3e\x2e\x4e\xef\x1e\xdc\x64\xb5\x7a\xf7\x60\xf8\xdd\xdb\x70\x0f\xa6\x58\xe1\xf7\xa1\x57\xf0\x79\xf0\x24\x26\x72\x89\x59\x8a\x78\xae\xf4\x9f\xfa\xbd\x68\x22\xf8\x5c\x9f\x1b\xf2\x95\x4a\x90\x12\x4f\x5c\x3c\x4c\x32\xfe\xd4\xce\x5b\xf5\x89\x28\xef\xef\x39\xc1\x0a\xbf\x05\x27\xd5\x17\x3b\x43\x4f\xf8\x27\xa2\x34\xed\xd7\xf6\x2d\x3d\xb4\xa4\x87\x96\xbc\x2e\xb4\x64\xaf\x3c\x45\xcf\x2f\xfb\x62\xb7\x92\x11\x80\x35\x51\x8f\xda\xa0\x46\x4d\xcc\x22\x08\x49\x3c\xa7\xd0\x8c\x03\x01\x6b\x04\x66\xe4\x24\x7f\x2b\x42\x33\x22\xfa\xe5\x05\xe6\x6f\xc2\x87\xdf\xbb\xe8\x37\x5c\xa8\x37\x29\x57\x5b\x5e\x19\x2f\xe6\x60\x7f\x7e\x39\xbf\x12\xfe\xee\x12\xef\xee\x10\xe0\x6e\x1d\xd1\x5e\x13\xc2\xae\x8c\x59\x57\x05\xa9\x57\xa3\xd2\x95\x61\xe8\xad\xe2\xce\x5d\xaf\xa4\xf6\x11\xe7\x4f\x44\xdd\x62\xf9\xf0\xe6\xae\xa4\x88\xe8\x97\xbf\x92\x7e\xa3\x81\xe6\x3e\xb2\xfc\x8c\x4b\xf7\xad\x5f\x64\xfb\x1b\x3b\xfe\x0d\x04\x8b\xfb\xe8\x70\xa7\x35\xfa\xb6\xc2\xc1\xdf\x6a\xfc\xf7\x6d\x06\x7c\xfb\x08\xef\xfe\x46\x78\x9f\xd5\x0e\x22\x8f\x84\x29\x09\x1e\xaf\x50\x9d\x3e\x58\x70\xd9\xac\xfe\x1f\x0b\x82\x15\x41\xb8\xe4\x6a\x42\x30\x20\x12\x24\xe1\x22\xd5\x6a\x3f\x46\x8b\x19\x96\x04\x29\x81\x99\xa4\xeb\x54\x7f\x33\x2a\xf8\x76\xf4\x38\x6f\x41\xeb\x8f\x1c\x51\x40\xf5\x4b\xe9\xfc\x63\x9e\xae\x1c\x0d\x73\x6a\xaa\xbe\x69\x16\x2f\x3b\x9b\x3a\xe4\xa1\xb5\x99\xf9\x33\x72\xb3\x16\x65\x1b\x72\x73\x6c\xa5\xee\x84\x9b\xc1\x2c\x7c\x2b\xdc\x1c\xd9\xb0\xbf\x2d\x6e\xae\x9a\xfa\x3e\x70\xb3\x0b\x80\x6e\xc8\xd1\xab\xf1\xd3\x9d\x70\xb5\x0f\x5a\xbe\x15\xce\x5e\x89\xb2\xfe\xb6\xb8\xbb\x6e\xfa\xaf\xcb\xe1\xde\xf7\xba\x2b\xde\x5e\xcf\xb8\x7e\x01\xde\x02\xd3\x7a\x62\x0d\xed\xbf\x19\x6e\x5d\x99\xf7\x9e\xb0\xe9\x7b\x41\x4c\x4e\x55\x27\x7e\xbd\xb6\x0f\x75\xe6\x58\xf7\x60\xcf\xb3\x6f\x89\x67\xdd\xae\xed\x0f\xd7\xd6\x21\xb8\xba\xe7\x19\x36\xc0\xb2\x24\x9a\x63\x95\xcc\xf4\x97\x26\x24\xd4\xb2\x18\x45\x91\x58\xf8\xa6\xb8\xfb\x25\xb2\x09\xbf\x6d\xe7\x6f\xef\xf4\xfd\x0d\x16\xfd\xd9\x1b\x84\x72\x9f\x15\xb1\xc3\xac\x08\x2a\xfb\xac\x88\x3e\x2b\xa2\xed\x02\xf5\x59\x11\x7d\x56\x44\xf0\xdd\xdb\xc8\x8a\x78\xfe\x84\x88\xdd\x64\x3d\xbc\x29\x25\xba\x57\xa0\x7b\x05\xba\x4f\x6d\xf0\x53\xdb\x95\x00\x73\x4f\x1f\xa4\x24\x23\x8a\x34\x8a\x9f\x5b\x22\xe6\xda\x36\x88\x0a\xfc\x56\x04\x0d\x8a\xda\x41\x9e\x83\xc0\xbd\xd1\x24\x97\xfc\xd8\x6f\x53\x3a\x79\xf2\xfb\x4c\xac\x5e\x5c\xf5\xe2\x6a\x93\xa9\xed\x8f\x57\x36\x38\xcc\xaf\xea\x96\x0d\xca\x05\xdf\xd3\x74\x37\x15\x83\xbd\xda\x18\xd6\x0b\x2e\x96\x22\x2a\xd9\xba\x99\x93\xb6\x28\xbe\x7b\x96\xbe\x09\x3f\xad\x96\x23\xe9\x29\x53\x54\x2d\x3d\x4a\x4d\xf4\x85\x83\xfb\xc2\xc1\xed\xe7\xda\x7b\x08\x77\xe8\x21\xec\x0b\x07\xf7\x3e\xb0\xde\x07\xf6\xc6\x7d\x60\x61\xab\x83\x8d\x10\x3b\x2c\x45\x82\x4c\xa9\x54\x44\x20\x5c\xa3\xad\xac\x87\xf0\xbc\xd5\x1e\x31\xad\x01\x11\xe1\x6b\x0f\xfe\x57\x0b\xf2\xaf\xed\xf5\x02\x67\x60\x8c\x53\xdf\x10\x02\x74\x8a\x39\x5e\xa2\x19\x7e\x24\x68\x82\x69\x66\x2c\x06\x2b\x36\x1a\x66\xd8\x44\xd0\xff\xee\x46\x10\x8e\xc9\x11\x64\x42\x04\x61\x89\x11\x83\x46\x2b\x48\x70\x86\x08\x68\x6b\xe6\x37\x33\x6d\xbf\x65\x82\xe0\x74\x89\xc6\x84\x30\xcf\x36\x15\x57\x68\x0d\xcd\x3b\xd1\xe6\x5e\xdd\x7e\x59\xe5\x9e\x7d\xb1\x5e\x9e\x05\x56\x52\x2d\x12\xb6\xb7\x5a\xe4\x1f\xde\x96\xa8\xe8\xd1\x25\xbd\xb7\xe9\xf5\xbd\x4d\x3d\xba\xa4\xb7\x1d\xf7\xc0\x76\xec\xd1\x25\x3d\xba\xa4\xb7\xac\x5b\xaf\x56\x6f\x59\x87\xdf\xbd\x3d\xcb\x7a\xc7\xf8\x92\x97\xd2\xb0\x7b\x05\xdb\xfd\xae\x57\xb0\x7b\x05\xfb\x1b\x55\xb0\xf7\x63\x85\x7b\xed\xba\xd7\xae\x7b\xed\xba\xd7\xae\x7b\xed\xba\xd7\xae\xed\x53\xbb\xd4\xae\xe1\x2f\x57\x26\x73\x6b\x28\x77\xf7\x28\xd7\x27\xa2\xde\x6a\x88\xab\x57\xa9\x7b\x95\x7a\xbf\x55\xea\xbd\x99\xd0\xb7\x57\xf6\xae\x2f\x1c\xb7\x72\x3f\x7e\x0b\x85\xe3\xdc\xd3\x07\x8b\xbc\xf9\xfa\xbb\x5b\xa4\x2e\x8f\x40\x2a\xac\x72\xb0\x34\x5a\x5c\x85\x68\xa8\xd0\x9c\x6b\xbd\x9b\x91\xe8\x37\x8e\xe7\x0d\x88\x60\x4a\x1f\x09\x43\x0e\x2f\x3b\xb0\x92\x6d\x00\xc6\xef\xbf\x9c\x80\xb3\x09\x0c\x58\x21\x8c\x14\x9d\x93\x23\x74\x36\x31\x0c\x94\xe0\x2c\x43\x92\x28\x59\x42\x9e\x68\x85\xcc\x3e\xc4\xd2\x82\x56\xf7\x6e\x5a\x00\x11\xcc\xcf\x06\xee\xfc\xe5\x99\x32\xa7\xd1\x0d\xfe\x44\xb3\x4c\xd3\x60\x99\x16\x84\xcf\x9c\x88\xcc\x3d\x19\xbd\xd6\xfd\x78\x8e\x53\x6d\x4d\x04\x24\x14\x99\x16\xe1\xef\x41\xcc\x53\xe9\xa1\x14\xd1\xf3\xe6\xe9\x23\x64\xed\x3e\x53\xe0\xa9\x15\x19\x33\x9c\x6a\xb1\x9f\xcc\x48\x9a\x67\x04\x61\x29\x79\x42\xb1\x22\x29\xa2\xe6\x5a\x40\x54\x39\x2b\xd1\xfd\xc8\xbd\x3a\xa5\x12\x8f\x33\x92\xda\x35\x26\x05\xb2\xa3\x91\x72\x2a\xd1\x98\xe8\x25\xd6\x37\x4f\xbc\xfa\x33\x73\x29\x55\x50\x13\x90\x42\x56\x29\x21\xcc\x10\xd2\xa0\x54\x19\xe6\x7c\xab\x7a\x95\xa1\xbe\xcf\x43\xe9\xb5\xac\x5e\xcb\xea\x34\xa1\x6f\x4a\xcb\xda\x23\x34\x9a\x13\x48\xaf\x8a\x46\xd3\xeb\x92\xde\x03\x6e\x90\x12\xf9\xfe\x9f\x91\x0a\xfa\xaf\x67\xcb\xd3\x46\x41\x72\x09\xe2\xe3\xf2\x09\xae\x6a\xb1\x54\x3c\xf0\x16\xee\x9d\x90\xdc\x67\xbe\x6a\x1a\xad\x86\x1d\x9d\xb2\xfd\x52\xe4\xbb\xcb\xb0\xfe\x2e\xee\xef\xe2\xea\x95\xe9\x83\x88\x35\x2b\xfc\x9a\xb6\xef\x84\x92\x2c\x95\x2b\xc6\x4b\x74\x6d\xac\x35\x54\xde\xee\x8d\xf1\xb2\xa6\x4a\x17\xaf\xd3\xb5\xf7\x2a\x59\x37\x93\xde\xad\x39\x51\x18\x3a\x56\x29\x8e\x72\x20\xbd\xbf\x85\x56\x97\xb9\xbf\x85\xfa\x5b\xa8\x76\x65\xfa\x5b\xe8\x0d\x9b\x74\x15\x92\x7b\xaf\x6d\xba\xad\xca\x25\x04\x36\x9c\x03\x7a\xac\xda\x72\x12\xc9\x19\x16\xa6\x30\x7e\xc2\xe7\x73\xce\x82\x78\xc4\x72\x41\x06\xc8\xbb\xa0\x31\x4b\x2d\xe7\xae\x03\x4a\x16\xaf\xa1\xe4\x4d\x40\x25\x83\x75\x79\x09\xac\x64\x6f\x07\xae\x59\xa0\xbe\xae\x44\x5f\x57\xa2\x47\x2f\xf6\x75\x25\x9a\xb9\xa5\xc7\xe7\xf5\xf8\xbc\xf0\xbb\xb7\x81\xcf\x8b\x7b\xb1\x1a\x88\x5e\x7d\xdb\xed\xda\x26\xdb\x4d\x2d\xb5\x69\xba\x3d\x92\x2f\x6e\x75\xb7\xce\xe5\x1f\x36\x47\xdb\x73\x85\x6f\x92\x2d\x15\xa1\x69\xb6\xda\xd5\xed\x05\x22\xcd\xbf\x95\x2e\xd5\x7d\x4f\xea\x4d\x16\xea\x5b\x2d\x8c\xf8\xa2\xfd\xa6\x5f\x56\x78\xbb\xe2\xb1\xf7\x35\x22\xbc\xfa\x7b\x2f\xc8\xab\xbf\xde\x36\xed\x31\x96\xdd\x9b\xa6\x3b\x46\xb2\xf1\x6d\x98\xf1\x21\xc5\x2f\x61\xc8\x37\xee\xfe\x37\x27\xd7\x9b\x78\xb9\x97\xee\x2d\x97\xeb\x5b\x95\xf1\xbd\xa1\xbf\x4b\x43\x7f\xf0\xed\x5a\xfa\x7d\x9a\x62\xc3\xe2\xf4\x6e\x90\x4d\x56\xab\x77\x83\x84\xdf\xbd\x0d\x37\x88\xbd\xab\xef\xcd\x55\x7f\xef\x39\x58\xbe\xff\x67\xf1\x77\xa0\x48\x07\x1f\x56\xc4\xc2\x3a\x20\x56\x92\x5c\x2a\x3e\xa7\xff\x20\x69\xa1\x7e\x14\x83\x57\x20\x59\x2c\x0d\x87\x4e\x29\x29\xa2\xba\x6b\x81\x2d\x57\xe6\xd1\x13\x78\x72\xe8\x5f\xf2\x16\x74\xe9\x1a\xd2\x5f\x16\xf0\xb2\xca\x09\xeb\x54\x27\x88\xa5\x7b\x7d\x9a\x9a\x9a\x9c\x4f\x33\x0a\xd7\x24\x64\xff\xc3\x55\x12\x6c\xb8\x4b\xab\xd0\x12\x80\xd6\xea\x1c\x2f\xad\x4e\xad\xb0\x7b\xbb\x89\x5b\x1e\x7d\xbb\xf3\x7e\x75\x88\xc0\x1a\xbe\x7f\x55\xb8\x40\x83\xcc\xdc\x0d\x52\xe0\xe5\xe4\xe3\x27\xa2\xbe\x3d\xe1\xf8\x89\xbc\x58\x8f\xfd\x4d\xc5\x61\xa3\x48\x28\x8a\x15\xef\x89\x34\xd8\x4c\xf4\xbd\xad\x39\x76\x01\x75\xa2\x43\x74\x3b\xbc\xf9\xe5\xfe\xfa\xf4\xe6\xf2\xee\xfa\xf8\xf4\x03\x1a\x82\xf4\x06\xc3\xd9\x1d\x5c\x3c\xce\x08\x52\x58\x3e\x14\xe7\xd7\x66\x23\x4a\xc0\xf0\x80\xa5\xae\xd5\x59\x74\x88\x8e\xcf\xef\x6e\x6e\x4f\xaf\x6b\x06\xe4\x6c\x42\xa7\x39\x98\x07\x8a\xcc\x17\x19\x9c\xfa\x87\x7c\x4c\x04\x23\x7a\x2d\x93\x2c\x87\xea\xe6\xde\x7e\x37\x83\x9e\xfe\x9f\xd3\xe3\xbb\xdb\xb3\xcb\x8b\xfb\x3f\xdd\x9d\xde\x9d\x7e\x40\xc7\x76\x20\x3d\xac\xa6\x0b\x90\x44\x4b\x86\xe7\x34\x31\x1f\x14\x9d\xb7\xfe\x9e\x93\x1c\x72\x21\xe9\x94\xcd\x09\x53\xe5\x11\x1d\xc1\xe7\xc3\x9f\x4e\xcf\xe3\x91\x67\x04\xfd\xf2\xc7\x82\xa8\x0c\x8f\x49\x66\x1d\x0a\x60\x2f\xeb\x1b\xb1\x78\x91\xf5\x34\xe4\x2b\xdc\xf5\xd2\xaa\x7c\xb4\xa1\xab\xda\x7c\x79\x87\x56\x7f\x51\x5a\xee\xa6\x1f\x44\xab\xd7\xda\x3c\x88\x29\x7c\x8e\xdb\xce\x3d\xdd\xa6\x87\xdb\x09\xfc\xe4\x05\xaf\x2a\xf3\xc2\x6f\xef\xb6\x32\xf3\xea\x2f\xac\xfe\xc2\xea\x36\xc7\x7d\x55\xd1\x1d\x3f\xef\x83\x8a\x2e\xbb\x47\xef\x8a\xa6\x0f\x8e\xfd\xd7\x46\xe8\xae\xdc\xcb\xde\x8e\x10\x92\x5d\xe5\xcc\x56\x79\x4c\xeb\x5a\xb5\x5c\x17\xfd\x59\x2a\x62\x47\xe5\x25\x77\xbf\xbe\x5a\x11\x65\xfb\xbe\xea\x8e\xf2\x97\x12\xf6\xfb\x22\x22\x8a\x79\xbf\xaa\x50\xd0\x3a\x6e\x19\xf2\x15\x23\x09\xee\x1b\x41\x60\x6b\x7e\x1b\x65\x7a\x37\xff\xb4\x04\x14\x8b\xbf\xb3\xd0\x31\xf8\x1a\x48\x2e\xd3\xe1\x3e\x0c\x5f\xe8\x3e\x2b\x46\x76\x9f\xb8\xa2\x72\xf0\xa1\x20\x4a\x2c\xef\xb1\xd2\x76\x84\xda\x1e\x9d\x16\x5b\x0d\x6b\xd0\x69\xb7\x58\x3e\xbc\x49\x74\x5a\x4c\xf8\x33\x9f\xd9\xd6\x3c\xf9\xcd\xe1\x1a\xda\x9e\xb0\x1e\xe3\xb0\xc1\xd2\x7d\xab\x78\x87\x26\x11\xba\x37\x14\x96\xa4\xf8\xb7\x78\x72\xe3\x3b\xa9\x3f\xa2\x4d\x6b\xf4\xcd\x15\x3c\x2a\xa9\x1a\x6b\xe6\xf6\x46\x0a\x1f\x95\xb5\xa5\x5d\x53\xf5\x3c\x10\xa8\x60\x37\xfa\xe2\x98\xdf\x68\x71\xcc\x76\xc6\x4d\x6b\xcb\xa6\xad\x59\xd3\xce\xa6\xa9\x37\x68\xb6\x40\x52\xc7\x76\xc6\xa6\x48\xea\x48\x8f\x7f\x13\xde\x9a\x88\xe2\x97\x40\x52\xff\x46\x4d\x8f\xde\xee\x78\x96\x75\xfb\x56\x8d\x8e\x3d\xb7\x38\x7a\x0c\xf8\x2e\x31\xe0\x3d\x04\xbc\x87\x80\xb7\x5d\xa0\x1e\x02\xde\x43\xc0\x83\xef\xde\x06\x04\xdc\xda\x8b\xdb\xa2\x17\xab\x54\xf6\x42\xa1\x8d\x2a\xa6\x6c\xae\xbe\x9f\xa5\x6f\x42\x6f\x0f\x0a\x19\x79\xcb\x5a\xbc\x84\xfe\xde\x57\xec\xe9\x2b\xf6\xf4\x4a\xdc\x6f\x49\x89\xeb\xf5\x94\x4d\x56\xab\xd7\x53\xc2\xef\xde\x8e\x9e\x12\x01\xba\xd6\xe2\x8a\x8e\x05\xc1\xca\x74\x79\x11\x05\xc4\xa8\xa4\x99\x34\xa9\x1d\x66\x00\xad\x78\xbc\x05\xad\x43\xd3\x69\x28\x6e\x01\x30\x0a\x5f\x78\xf0\xbf\x5a\x10\x7e\x6d\x2f\x11\xe0\xf4\x31\x4e\x7d\x6f\x1d\xd0\x1c\xe6\x78\x89\x66\xf8\x91\xa0\x09\xa6\x99\xf1\xdf\x58\xe1\xd0\x30\xb7\x26\x82\xfe\x77\x37\x82\x70\x4c\x4e\x81\xd6\xd4\xc2\xce\xdc\xfd\x09\xce\x10\x31\x45\x37\xe1\x37\xd0\xf8\xc7\xb6\x59\x1a\x13\xc2\x02\xe8\x5f\x5b\x9a\x77\xa2\xb3\xbd\x3a\x4a\x2b\xe4\x9b\x57\x07\x68\xd5\x37\xcb\xdc\x9d\x31\xb2\x8d\x05\x22\xff\xf0\x56\x44\x41\xdf\x6e\xbe\xaf\xd1\xdd\xd7\xe8\xee\x5c\xa3\x7b\x6f\x74\xd5\xde\x02\xdc\xa1\x05\xd8\x77\x9c\xef\xfd\xf8\xbd\x7d\xdc\x7a\xb5\x7a\xfb\x38\xfc\xee\x0d\xd9\xc7\x3b\x6e\x40\xf7\x8c\x7a\x74\xaf\x46\xf7\x6a\x74\xaf\x46\x7f\xb3\x6a\xf4\x7e\xac\x70\xaf\x43\xf7\x3a\x74\xaf\x43\xf7\x3a\x74\xaf\x43\xf7\x3a\xb4\x7d\x6a\x27\x3a\x34\xfc\xe5\x32\x6b\x77\x93\x46\xdb\x2e\x22\x65\xf3\x68\xdf\x8a\xf2\xdc\x2b\xce\xbd\xe2\xbc\xdf\x8a\xf3\xde\x4c\xe8\xdb\x4b\x9e\xeb\xd3\xcf\x56\x6e\xc1\x6f\x36\xfd\xcc\x57\xd9\xdf\xa0\x82\x70\xf4\x99\x1b\xe8\xa5\xeb\x0a\x0f\x9c\x64\xc4\x2c\x45\x8e\x88\x4e\x55\x86\xbf\xd8\x87\xde\x56\x55\xb2\x55\xaa\xfb\xda\xc2\x28\xd8\xb5\xbe\xb6\xf0\x33\xce\xdb\x9d\xb3\x35\x33\x77\x3c\x6a\xbc\x57\x6f\x74\xda\xaf\x0e\xf3\xa9\x3f\xe9\xaf\x0a\xfa\xa9\xbc\x39\x56\x32\x11\x8a\x1e\x4d\x2f\x5f\x52\x79\x9b\xab\xe1\x13\x51\xdf\xca\xbd\xd0\x97\x55\xee\xab\x54\x6e\xdc\x7d\xa9\x93\x84\x7f\x5b\x53\xec\x2b\x47\xf7\x95\xa3\xfb\xca\xd1\xfe\xad\x2f\x51\x39\x7a\x9b\x1b\xd9\xbc\xfe\x5b\xb9\x94\xfb\xea\xd1\xfd\xbd\xdc\xdf\xcb\x95\x53\xdc\x43\x83\x6b\x2f\x6a\x63\x7b\x83\x6b\x57\x39\xdf\x61\x28\xcb\x0b\xe3\x9d\xa6\x7e\xbb\x95\xec\xd3\xbf\xed\xff\xfa\xf4\xef\x36\x93\xeb\xd3\xbf\x7b\xe0\x52\x9f\xfe\xdd\x43\x73\x7a\x68\xce\x37\x00\xcd\x71\x9a\xc5\x2e\x52\xc0\x2b\xb4\x94\xf5\x69\xe0\x5f\x56\x55\xe6\xbd\xd5\x40\x1c\xad\x7d\x3a\x78\x9f\x0e\xbe\x2d\xef\xec\x85\xb1\xf2\x2c\x69\xe1\x15\x62\x60\x5b\x0b\xe5\x6d\xa4\x87\x3b\x6a\xfb\xdc\x96\x1e\xa2\xb7\xff\x10\xbd\xbd\xcb\x6d\xd9\x1b\x7d\xb6\xb7\x12\x77\x68\x25\xf6\xe9\x2d\x7d\x7a\x4b\x6f\x43\xb7\x5e\xad\xde\x86\x0e\xbf\x7b\x63\x36\xf4\xf3\xa6\x89\x3f\x87\x5e\xdd\xab\xd5\xe6\x77\xbd\x5a\xdd\xab\xd5\xdf\xa8\x5a\xbd\x1f\x2b\xdc\xeb\xd4\xbd\x4e\xdd\xeb\xd4\xbd\x4e\xdd\xeb\xd4\xbd\x4e\x6d\x9f\xda\x99\x4e\xbd\xdb\xb4\xf1\x8e\x51\xac\x20\x15\xe1\x2d\x29\xd3\xbd\x22\xdd\x2b\xd2\xfb\xad\x48\xef\xcd\x84\xfa\x14\xf2\x3e\x85\x7c\xe5\x9b\xfd\x4d\x21\xff\xce\x32\xc2\x41\x20\xfb\xfd\x25\x71\xf0\x53\xc6\xc7\xb7\xcb\x05\xd1\xff\x3d\xa1\x73\xc2\x24\x68\x2c\x54\x2d\xc3\x8b\xb3\x66\x81\x57\x97\xf6\xe0\xe6\xec\xe2\xd3\x79\x98\x5c\x71\xf0\xf9\xee\xfc\xf6\xec\x6a\x78\x7d\xeb\x28\xf4\xb3\x0a\xd7\xc2\x3e\x17\xdd\xfd\xc7\x7c\xbe\xc0\x82\x4a\xce\x4e\xbf\x2e\x04\x91\x9a\xb4\x4b\xb8\x6d\xb9\xd8\x8c\xba\xd3\x3f\x85\x94\x5d\xc4\xff\xfc\x74\x1b\xff\x2b\x9a\xc5\xf9\x6d\xfc\xaf\xd3\xc6\xd9\x04\x03\x97\x4f\xd0\x21\xfa\x74\xfb\x01\x7d\x82\xa8\xbf\x40\xb7\x33\xcc\x20\x75\xe7\xfc\xf6\x03\x3a\x27\x52\xc2\x27\xc5\xc3\x8a\xaa\x0c\xe6\xf6\x13\x65\x58\x2c\x91\x9b\xbe\xc9\xd2\xc1\xe0\x0e\x74\x4b\x53\x5e\x3c\xf6\xb7\x9c\x81\xc2\x5a\xac\xde\x39\x9f\xd2\x04\x67\xdb\x2d\xe2\xf0\x22\x3c\x2f\x07\x97\xd7\x8d\x4b\x11\xfe\x7a\x75\x2d\x86\x17\x27\x90\x9d\xe4\x48\xad\x98\xf9\x05\x91\x8a\xa4\xfa\x02\x4c\x0d\xf3\x6a\x5b\x83\x2c\x83\x8b\xf1\x6f\x9c\x32\x92\xa2\x5c\x6a\x75\x6d\x78\x71\x82\xde\xa3\xcb\xeb\x11\xbb\x14\xa9\xf1\x17\x10\x7d\xa3\x18\x5b\x85\x4a\xc4\xb8\x42\x74\xbe\xe0\x42\x61\xa6\xf4\x65\xaa\x05\x19\xb7\x2b\x22\x11\x16\x04\x1d\xf3\xf9\x3c\x57\x58\xd1\x47\xb2\xb2\xa8\xcc\x18\x01\x37\x44\x9d\xa5\xe0\x81\xac\x58\x43\x3e\x8e\x14\x9d\x83\x85\xd0\xe3\x2b\x5a\xd2\xfe\x0e\x68\xba\xa2\x0e\xba\x21\xb0\x10\x38\x16\x83\x07\x54\x91\x79\xf9\xf7\xcd\xf2\xff\xbb\xf2\x5f\xb1\x6e\xed\x7b\xde\x7e\x26\x0a\xa7\x58\xe1\xe2\x03\x9e\x92\xcd\x98\xe3\xf3\xf0\xe2\x6e\x78\x1e\xf2\xc7\xcd\xf1\xcf\xa7\x27\x77\xe7\x91\x90\x3d\xb8\xf9\xf3\xcd\xed\xe9\xe7\xf0\x93\xeb\x53\x23\x42\xc3\xcf\x8e\x7f\x3e\x3b\x3f\xb9\xf7\x42\xb7\x89\xcd\x4a\xef\x2d\x73\xda\xed\x8c\xa0\x39\x51\x33\x9e\xa2\xf1\x32\xcc\xb0\x28\x32\xdd\x9e\xb0\x44\x19\x38\xca\x48\x7a\x34\x32\xa7\xd2\x8c\xfa\x41\x33\x1c\xb2\x2f\x0b\x9e\x98\xf3\x94\x0c\xec\x6f\x34\x4b\x99\x84\x40\x7d\xf1\x81\xfd\x50\x35\xb0\x7e\x3b\x66\x88\xb2\x94\x3e\xd2\x34\xc7\x99\x49\xdc\xf3\x6b\xf4\x01\x0d\x91\xd6\xe3\xd3\x3c\x23\x48\x09\x3a\x9d\x82\xca\x57\x22\xd5\x8c\x66\x1f\x85\x95\x84\xe7\x7c\x73\x57\x6d\x2a\xc0\x6b\xad\xad\x40\xc7\x99\x51\xa8\xcc\x83\x90\xa8\x18\x8f\x28\xb0\x9a\x11\x51\x45\x9a\xdb\x97\x0f\xc6\xc2\xaf\x99\x16\x24\x8e\x15\x88\x2f\x08\x3e\x48\xa3\xa9\x2e\x04\x79\xa4\x3c\x0f\x1e\xb5\x39\x95\xd1\xe6\x56\x0e\x5f\x2c\x00\x2c\x1b\x07\x1a\x8b\x61\xe2\xb3\x79\xed\xbc\x82\xee\x8f\x53\xa6\x44\xe5\x2d\xd6\xf6\x78\x5a\x1d\x29\x3a\x9f\xd5\xa6\xd4\xca\xbb\x2f\xca\x4a\xef\xaa\xa9\x69\x15\x25\xfd\x92\xa3\x83\x4a\x1b\x0b\x14\xe1\x3a\x01\x51\xa1\xeb\x14\x32\xf3\x57\x50\xa1\xe7\xb9\x54\x50\xa1\xc1\x78\x6b\xd0\xc3\x1f\x25\xfa\x7b\x8e\x01\x8d\x77\x84\x6e\x08\x19\xb1\x99\x52\x0b\xf9\xe1\xfd\xfb\x29\x55\xb3\x7c\x7c\x94\xf0\xf9\xfb\x22\x71\x55\xdb\xde\x73\xac\xf9\x85\x88\xe5\xfb\x71\xc6\xc7\xef\xe7\x58\x2a\x22\xde\x2f\x1e\xa6\x60\x98\x3b\x75\xef\xbd\x1f\x76\xca\xff\xc7\xf9\xbf\xff\x78\x78\xfe\xc7\x1f\x0f\x56\xa5\x4f\xdd\xe9\x3c\x65\x09\x5e\xc8\x3c\xb3\x0e\x3c\x11\xae\x0d\x80\x4a\x61\x25\xd6\xed\xf7\x45\xbc\x5d\x1d\x84\xd6\xdd\xc5\x2f\x17\x97\x5f\x2e\x22\xd1\x73\x75\x17\x69\x03\xf1\x3f\x3f\x9f\x7e\xbe\xbc\xfe\x73\x24\xd0\x6e\x2f\xaf\x87\x9f\x9a\xb5\x82\xf2\x6b\xca\xcb\xf0\x0b\xe3\x4f\x2c\x9e\xbd\x2c\x4f\x3a\x67\x8a\xce\x89\x13\xd8\xf6\x9f\xb7\x66\xa6\x1b\xcc\xfc\xf2\xf6\xe7\xd3\xeb\x70\x1e\x1f\xcf\xff\x7c\x7b\x7a\x7f\x73\xf2\x4b\xe3\x4c\xcc\x63\x11\x65\x37\xe0\x7d\x38\xe6\x59\x3e\x67\xe1\xdf\x9b\xd3\x76\x76\x71\x7b\xfa\xa9\x4c\xdd\xe5\xf0\x36\x5e\xf6\xeb\xd8\xa9\x75\xf0\xd3\xe5\xe5\xf9\xe9\x30\xda\xcb\x93\xe1\xed\xe9\xed\xd9\xe7\x48\x9f\x3b\xb9\xbb\x1e\xde\x9e\x5d\x5e\x34\x4e\xd3\x51\x50\x31\x51\x3d\xad\x70\x9a\xbb\x96\x33\xad\x8e\xf9\xd0\x06\x8c\xcc\x41\x39\x0c\xd2\x6c\x8c\x2f\x08\xcc\xb2\x43\x6f\x4a\x27\x86\xd2\x4a\x59\xa3\xe2\x6d\x42\xf5\xb2\xae\x71\xa3\x9b\x44\xde\xad\x27\x01\xe8\xb2\x2e\x63\x9c\x65\xfc\xc9\xb8\xed\xe7\x54\x2b\x7a\x36\xe7\x51\xff\x44\xa2\x24\x17\x82\x30\x95\x2d\x8f\x2a\xc4\x49\xbc\x2d\x5c\xa8\x13\xef\xd8\xdd\x88\xe1\x2a\xbd\xa4\xab\xfe\xd1\x4a\x56\x29\xfb\x44\x1d\x59\x50\xdb\x9c\x4f\x3f\x13\x29\xf1\x94\x7c\x74\x71\xa3\x1d\x09\xa9\x9b\x5f\xc3\x7f\xfe\xf7\xcd\x1a\x7e\x76\x43\x44\x14\x82\x1b\x70\x38\xe6\x42\x39\xa9\xb2\x0d\x2f\x27\x38\x97\x9d\x98\xb9\x39\xec\x85\x51\x2e\x89\x38\xb4\x7e\x06\x92\x22\xac\x09\xb5\x31\x2f\xa8\x40\xb4\xc0\x52\x33\x11\x07\x9d\x86\xd8\x9f\xe7\xa6\x26\x11\x02\x6a\x6a\x6e\xd7\x85\xa0\x2c\xa1\x0b\x9c\x6d\x74\xf4\x4a\x8e\x10\x0b\x71\xff\x81\x4e\x10\x66\xcb\x77\x2b\x8a\x97\x22\x62\x0e\xf1\x5f\x4b\xa6\x57\x62\xd6\xb1\xb5\xd9\x1d\xc6\xb8\xc2\xb1\xe5\xbe\xc1\xde\x98\xc0\x44\xdd\x74\x4b\xa3\xd8\xb7\x1b\x9b\x0b\x67\x57\xd5\x63\x56\x2d\x58\x68\x81\x34\x6d\xf5\x67\xbc\xd0\x5b\x6c\xaa\x13\x20\x5c\xcc\xd1\x86\x75\x6d\x61\x29\xfd\xaf\x68\xc9\x02\x17\x5a\x7b\x15\xa3\x58\x42\x1b\x9f\x59\x7d\x49\xa4\xb4\x07\x11\x77\xcb\x92\x93\x5c\xe5\x42\x2b\x53\x5a\xed\x47\x3f\x90\xa3\xe9\x11\xba\xfc\xf5\xf4\xfa\xfa\xec\xe4\x74\x80\x86\x57\x57\xa7\x17\x27\x03\x44\x54\xf2\xce\x99\xa6\x20\x35\x49\x3a\x62\x8a\x5b\x4f\xd9\x12\xcd\xf8\x93\x7e\xd7\x9c\x88\x29\x89\xe6\x6c\x7f\x8c\x20\x8f\x62\x4a\xa5\x32\x41\x05\x50\x7f\x82\x72\x1c\x74\x5e\xd6\x83\x0c\x87\xe4\x6a\xb6\x0d\x6b\x60\x29\xf3\x39\x1e\x67\xe4\x9e\xe2\xf9\xbd\xe0\xd9\xba\x33\x5c\x79\xa4\x0a\xd5\xf1\x5e\x1a\xaf\xd4\x3d\x4e\x12\x9e\x33\xd5\x7a\xb4\x75\xfb\x78\x02\xcb\x24\xd1\x42\x1f\x28\xf0\x69\xac\x16\xb0\xf0\xcb\x25\x51\x02\x7e\x16\xb0\x1f\x40\x64\x64\x05\x12\x02\xb6\xa4\x6a\x2d\x8f\x4d\x65\x14\xa7\x56\x06\xb5\x2b\xb6\x59\xe0\xaa\x51\x5e\xf7\xfc\x1d\x9b\x83\x57\x55\x12\xc4\x18\xc8\xa5\x0a\x6f\x00\x37\x29\x95\xb2\x31\x0b\xac\x39\xd3\x1c\x88\xbf\xe7\x5c\x61\xf9\xee\x68\xc4\xf4\xe9\x7e\x20\x4b\xe3\x50\xd1\xe7\xe7\x77\x5a\xa6\x1f\x4a\xc2\x24\x55\xf4\x91\xfc\xce\xe8\xb7\x5a\x02\x3c\x62\x41\x35\xef\x49\xfd\x06\x5b\x41\x27\xae\x56\x32\xa1\x19\x44\x54\xf5\xa0\xf6\xf8\xda\x50\xf3\x38\x2c\x71\xe2\xbe\x33\xe4\x4f\x89\x82\x30\x89\xa2\x2a\xd7\x3c\x90\x9a\x12\x3d\x2b\xa4\xaf\x55\x2d\x80\x2b\x4e\x4c\x88\x67\x2b\x6f\xcf\x26\x67\xaa\xab\x72\x58\x3e\x2f\x54\x2e\x32\xbc\x5c\x31\x33\xd7\x9d\x33\x6d\x4c\xc9\x05\x4e\x48\x11\x62\x72\xd1\xb8\x84\xcf\xe7\x9c\x65\x4b\x0f\x2b\x49\xe9\x04\x12\xbf\x94\x3e\x83\x68\x4c\xd4\x13\x21\xac\xf8\x14\x59\x59\x80\x28\x93\x0a\x33\x53\xff\x08\xb8\x65\xa4\xd7\x2a\xcd\x41\x65\x1b\x1d\x0c\xd0\xe8\x20\x25\x8f\x24\xe3\x8b\x39\x61\x4a\x7f\x40\x54\xe5\x09\x3d\x9d\x63\x9a\x5d\x70\x7d\xff\x26\xb8\x4e\xdf\x6b\xbb\x2d\x82\x24\x74\x41\x09\x53\xf2\x9e\xe8\x71\x9f\xd5\x23\xb7\x4e\x3f\x76\xd8\x15\xa0\x04\xe1\x34\x15\x44\x4a\x28\xfb\xe1\x88\xb4\xda\xbc\x71\x64\xfa\x05\x68\xc7\xc3\xde\xbf\xb7\x5b\x36\xae\xb6\x13\x12\x2e\x7c\x32\xa7\x7f\x71\x51\xa8\xa1\x91\x6b\x6d\xd9\x97\xa2\x9c\x80\x8b\x9e\xf9\x60\x7c\xd9\x0b\x54\x3e\x36\x5a\xb8\xb7\xa3\x33\x5e\x99\x1b\xfd\x5c\x23\x69\x32\x84\x59\xb9\xda\x5f\xc5\x5d\x6d\x5d\x5f\x65\x6f\x1b\x59\x4b\x71\x92\x71\x99\x8b\x96\x46\x58\x4c\xf4\xb1\x7d\xb4\x89\xee\xd3\x50\xb5\xc9\x33\x25\x3b\x69\x4f\x15\x0b\x8f\x04\x59\x08\x22\x81\x27\xc1\x6f\xa8\x0f\xb7\xb2\xd7\xb0\xfd\xf5\x00\x51\x96\x64\x79\xaa\xd7\x00\x67\x85\x5f\x90\xa5\xa8\xb8\xda\x46\x6c\x6e\x0d\x0f\x84\x25\x7a\x22\x59\xa6\xff\x9b\xf0\xf9\x02\xc4\xb6\x25\xd7\x8e\xa4\x0d\x44\x85\x15\x19\x20\x9e\x2b\x3d\xd8\xc0\x94\x49\xb3\x5b\x70\x38\xc6\x80\xf5\x2a\x8a\x9f\x8e\xd8\x9d\x74\x41\x73\x0f\xd1\x31\xbc\x6e\x04\x18\x65\xe8\x13\x51\x30\x0a\x60\x26\xc3\x09\x9a\x72\x70\x95\x22\xa8\xbc\xf6\x5b\x9c\x28\x3b\x93\x0e\x3b\x7f\x4e\x15\x11\x38\xfb\x8c\x17\x3f\x65\x7c\xdc\xb8\xef\x43\x34\x37\x7a\xb6\x7d\x0b\xa2\x65\x0b\x2b\xc0\x96\xac\xe3\x51\x22\x44\x14\x35\x5a\x73\xfc\xfd\x22\x9d\xc2\x73\x8d\xec\xa9\x7f\x01\x90\x3c\x6d\x21\x43\xa8\xa6\x4c\xa7\x4d\x72\x5e\x47\x23\x58\x88\xf7\x6f\xc7\x0e\x35\xf4\xce\x57\x6d\xef\x75\x4c\x10\xdb\xec\xcf\x3d\x19\x38\x20\x6a\x46\xa8\x40\xad\xa6\xe5\xce\xef\xbd\x39\xf3\xed\x99\xa6\xe0\xed\x3a\xd3\xdb\x08\x11\x2f\x20\x34\x61\x16\xe3\x19\xd5\x2e\x3c\x1a\xb1\x12\x11\x28\x25\x0b\xc2\x52\x89\x80\xbd\xdc\x69\x88\x64\xff\x00\x4d\xe8\x57\x3b\xa8\x8b\xf8\x14\x3f\x0d\xcc\x87\x1a\xa7\xc2\x0c\xaf\xb2\x5d\x87\xfb\xf1\x0a\x9e\x6f\xb4\x9a\xb9\xd4\x16\x62\xa2\x15\x2b\x41\x12\x2e\xb4\x48\x84\xd7\x7a\x3f\xdf\xda\xbb\x51\x61\xa1\x17\x05\xaf\x33\xcb\x22\x3a\x0a\xcc\x73\x8a\x15\x39\xd4\x96\xe8\x9a\x08\xc7\x82\xeb\xd7\x20\x3a\xd7\xb6\x85\x0f\xba\x85\x96\xfc\x98\x4c\x31\x43\x22\x67\x8c\xb2\x69\x0d\xb5\x4e\xb4\x6f\x71\x98\xb5\x66\x85\xe7\xda\x0e\x05\x3d\x42\x13\x14\xd3\x21\x17\xb0\x9c\x8d\x74\x58\x53\xf2\xa5\x56\x4d\x35\x2c\xdb\x13\xf6\x96\x6d\x0d\xb1\x39\xd4\x9c\xde\x1b\x62\x33\x2c\x15\xb2\x34\xd5\x50\x1c\x6a\xb3\x3b\x88\x8a\x37\xd5\x0d\x0b\x0d\x87\x2e\xca\x79\x48\x22\x92\x44\x29\x6a\xeb\x5b\xe5\x92\x20\x3c\xd1\x76\xf1\x9c\x88\xa9\x53\xf8\x4c\x65\x07\x7f\xb4\x6d\x89\x07\x27\x47\x43\x59\x32\x62\x95\x43\x1f\xa1\x21\x5b\x89\xfa\x3a\x27\x47\xb4\x5e\x46\x6a\xe3\xec\x09\x2f\x25\x5a\x40\x1d\x0e\x13\x88\x2e\x26\x0f\x5e\xa8\xf8\x21\xe7\x72\xd2\x0a\x15\x4d\x70\x96\x2d\x11\x18\x7a\x01\x65\x35\x9b\x15\x14\xb7\x6b\x2f\xec\x5a\xea\xfe\x25\xcf\x6a\x55\xa9\x3b\x6f\x02\x55\x4a\xba\x15\x65\xd6\xdf\x1c\x51\x9c\xd1\x82\xf1\x40\xb7\xb4\xd6\xc5\x69\xec\x95\xad\x53\xf8\xc0\x05\x72\x8e\xc7\x24\xdb\xda\x1b\xbb\x91\xef\x19\x5e\x6d\x61\x92\xda\xfc\x26\xc6\xbb\x4c\xd0\xd3\x8c\x88\xb2\x68\x73\x4e\x1c\x91\xb7\xf3\x35\x17\xf3\x8c\x0a\x93\x6c\x31\x51\x87\xfb\xdd\x5c\x7e\xd7\x61\x82\xc3\x8b\xa4\x00\x05\x57\xdf\x22\x65\xf7\xcd\x36\x34\x04\xe8\xdd\x4a\x12\xd0\x2e\xf0\xbb\x3b\xf1\x06\x79\x9e\x69\x99\xab\x76\x36\x41\x8c\x33\x82\xa8\x2c\x7e\x0c\xf1\x44\x83\x2d\x01\x66\x9a\x12\x46\x04\x94\x7b\x72\xe1\x47\x9f\x57\xe3\x33\x1e\x5e\xd8\x28\x1f\x7a\x63\x12\x4d\x28\xc9\x52\x89\x18\xd1\x36\x0d\x16\x4b\x7d\x42\xac\x40\x6b\xa3\x1b\xed\x4a\x5b\xad\xb8\x3e\xac\x1a\xe9\xb0\xac\x90\x7b\xa3\x35\xb1\x12\x5d\x68\x98\x65\xc5\x8f\xec\x43\x16\xca\x31\x62\xde\x0a\x06\xfe\xa3\x52\x5b\x77\x47\x08\xb6\x4d\x15\x4f\xe9\x3b\x46\x7f\xe0\xf6\x70\xe0\x74\x59\x69\x32\x57\xba\xd8\xfe\xee\xde\x2a\xd6\x31\x46\x37\xe9\xcb\x48\xcf\x60\x4a\x1f\x09\xab\x2c\x1d\xed\x98\x22\x8b\xdc\x90\xcd\x52\xc7\x96\xd2\xda\x03\x3f\x55\xfb\x95\xd2\x9b\x9c\xaf\x78\xae\x4c\xa1\xac\xc2\xc8\xce\x96\x3e\x2a\x11\x9a\x2a\x67\x46\xb4\x98\x0a\xc0\x58\xa2\xdf\x31\xae\x7e\x87\x0a\x1b\xcd\x99\xc3\xa6\xd2\x9a\x75\x4d\x0c\x22\x88\xb5\x7e\x1b\x9c\x50\xcb\x24\x08\xfb\xb3\x9a\xae\x5f\xf9\x6d\xc1\x8c\x45\xd4\xe5\x59\xb5\xb7\xd3\xd5\xc8\x69\x5d\x8e\x8a\x49\xb3\xdc\x99\x0f\xe0\x25\x8a\x5f\x22\xc3\x06\x82\x40\xd8\x84\x71\x34\xe7\x82\x94\x52\x3d\x8d\xf0\x76\xf7\xba\x4d\xb1\x6b\xcf\xa5\x15\xee\x30\x93\xbe\x56\x1c\xf3\xc8\x0d\xd6\xec\xfe\xda\x05\x66\x60\x1e\xa3\x4d\x1b\x38\x60\x0d\x62\xb5\xda\x24\xdf\x24\xce\x5f\xa7\x93\x7a\x47\x74\x58\xd3\xae\x0e\xa7\x79\x34\x62\x1f\xb9\xb0\x77\xa7\xb4\xf8\xe4\x31\x4e\x1e\x0e\x09\x4b\x11\xce\xd5\xcc\xe0\x25\xad\xef\x78\x69\x77\x56\xeb\x05\xc0\x02\x6e\x8b\x53\x2a\x13\x2c\xac\xd0\x9f\xe0\x47\xee\xa8\x18\xb1\x60\x10\x40\x40\x43\x96\x05\x64\x82\xd7\x29\x10\x04\xb2\xda\xea\xd6\xa2\x2a\xdf\x79\x25\xdb\xb9\xf9\xcc\x84\x39\x93\x23\x78\x1f\x49\x19\x91\x72\x74\x60\xa8\x2e\xad\xd0\x99\xf3\x47\x39\xfb\x46\x86\x95\x23\xfd\x2f\xcd\x19\x73\x1e\x19\x3b\x0b\xad\xa6\xfc\xe8\x64\x67\x84\x1e\x9d\xe4\x02\xc0\xa2\x55\x63\xfe\x90\xcc\x68\x56\xf8\xa8\xdf\x0d\xec\x79\x34\x43\x66\xe4\x91\x64\x7a\x60\xca\x12\x41\xe6\x84\xd9\xf0\xf1\x8f\xe8\xbf\x4c\x1e\x30\xfa\xfd\x88\x7d\x02\xb1\x9a\x65\xcb\x01\xa2\x93\x62\x64\xac\x4a\xc3\x3c\x54\x12\xa0\xb7\xcc\x48\x96\x88\x10\xb3\xdf\x33\xfc\x48\x46\xcc\x0d\xf3\x5f\xe8\x01\xfd\x1b\xfa\x7d\x9d\x23\xc7\x22\x85\x9f\xdb\xce\x07\x2e\x76\xef\x0a\x24\xc3\xc0\xaa\x8f\x20\x39\x9c\x1b\x20\xee\x1f\xe2\x4d\x35\xaf\xe0\x7a\x78\x33\x65\x8f\x7c\x35\x7a\x15\x9e\x5c\x2c\x08\x53\xf7\x8c\xa7\xe4\x9e\x54\x84\xae\x1a\x04\x85\xbe\xd4\x2f\x78\x4a\xd6\x06\x9e\xbc\x82\xfc\x05\x5c\x17\x32\x1f\xfb\xed\xd0\xef\x2d\x8c\xee\x98\xc1\xaa\x09\xf6\x05\x30\x37\x21\x77\xd3\x58\xd9\xa5\xd5\xae\x06\x20\xd1\x2d\x01\xd5\xf1\x1a\xd3\x99\x06\xf0\x34\xe5\x53\x58\xf6\x10\xeb\x1f\xeb\x99\xdb\x3b\x27\x28\xed\x09\xe9\x12\x82\x4e\xa9\xd6\xb6\x9b\xe3\x71\xeb\x55\xcb\x22\x82\x14\xf4\x23\x19\xf3\xbc\x0c\xa1\x87\xcd\x31\x57\xa2\x8a\x34\xe8\x2a\xd5\x1e\x8d\xf5\xf3\x02\x6e\xdd\x49\x0e\xcd\x6d\x8c\xa7\xd4\x14\xe3\x90\x71\xf7\x13\xe1\xfa\xe8\x18\xf0\x8d\x1b\x90\x5a\xe8\x71\x0a\x5e\x13\x94\xcc\x30\x9b\x36\x2b\x50\x7f\xca\x49\xbe\x23\xb4\x88\x4d\xf6\x7a\xa5\x38\x34\x9e\xca\xa2\x15\x90\x59\x1b\x2d\x8b\x4a\xdd\x87\x6c\x24\x1a\xcb\x87\xc2\x93\xe4\x11\xa8\xc6\x7e\x2c\x1b\xb2\x2d\xbc\x0e\xd7\x96\xef\x76\xe0\x77\x78\x89\x40\xf5\xaa\x62\x50\x71\xf0\x80\xff\x6c\xce\xc6\x8b\x9a\xf5\x5e\x78\x95\x2e\xdc\x5d\x9b\xf8\x1d\x4c\x48\x47\x94\xa5\xd0\x4a\x95\xd5\xa8\x5e\x35\x77\xdc\xc4\x0e\x84\xce\x2c\x61\xde\x7d\x0f\xf1\x9b\xad\xfd\x96\x81\x3f\xae\x00\x95\x19\x54\xa1\x99\x0d\x49\x9f\xd7\xc7\x10\x47\xc4\x62\x5c\x63\x10\x10\xab\xc3\x9b\x06\x14\x6d\x10\x7d\x5c\xb5\x00\xaa\x69\x73\x5f\xb7\x25\xa5\x31\x0e\xd0\xd2\xab\x0f\xa6\x6c\xd3\xb1\x3d\xb7\x30\x9b\xd8\x1f\x6e\xb0\x03\x3c\x88\x08\x82\x6b\x3c\x97\x48\x09\x0c\xb0\x35\xce\xe4\x88\x7d\x31\xea\x1b\x95\xc6\x50\xb2\x29\x85\x60\x87\x21\x0a\xff\x06\xe1\x69\x53\xaa\xd4\x0c\x1b\xe5\xbe\xda\xf7\xee\x8b\x00\xf8\x93\x10\x7a\xdf\xab\x5e\x06\x2f\xb2\x3a\x6b\xe5\x90\x6e\xa1\x43\xac\xe3\x4a\xb3\xd6\x6a\x27\x29\x95\x80\x01\xc5\x59\xad\xb1\x34\xe6\x3c\x23\x98\xd5\xe9\x93\x95\x5f\xaf\xb8\x49\x68\x08\xdf\xd3\xe6\x8e\x56\x49\x44\x4e\xb4\x32\x8d\xb3\xac\x34\x2f\x0c\xb5\x7a\x14\x61\xc6\xaa\xb6\x16\x91\x26\x34\x5d\x13\x09\x18\x84\x27\x7f\x4c\xb2\x4e\x10\x0b\xf3\x40\x23\x17\xc1\x4f\x8a\x72\x30\xad\x80\xca\x61\xe4\xbf\x12\xd6\xbd\x8e\xb0\x10\x0c\xde\xe8\x13\x8d\x01\xd5\x1d\x48\x5c\x27\xce\x87\xa5\x98\x39\x22\x10\x68\xc7\x80\x54\xd3\xfb\x07\xe7\xdd\xb9\x3c\xbc\xbc\x8f\x76\x09\x52\x2a\xe1\xe1\x94\x13\x19\xa8\x58\x88\x3f\x12\xcb\xbf\x74\x42\xb4\x1a\x36\x62\x5a\x23\x0d\xd5\x41\x2c\xf5\x41\x5b\x08\x3e\xb5\xf0\x38\x9c\x08\x2e\xa5\x0d\x83\x9b\x71\xe4\x51\xe3\x4d\x72\x6b\x01\xf9\xbb\x08\x70\xbc\x1c\x22\x6e\xb5\x32\x5c\x91\xae\x59\xa3\x79\x8c\x89\x4f\x3e\xa8\x3d\xf7\xdb\x82\x65\x9c\x09\x82\x04\xc1\xd2\x1a\x7d\x80\x29\x29\x45\xd3\x3b\xe8\x09\x9e\x66\x83\x2d\x3b\x74\x9b\x1d\xb2\x90\x4d\x20\x32\x45\x99\xb4\xc5\x2e\x04\x81\x6a\x1b\xe3\xcc\xc6\x32\x22\xae\xa1\x45\xe7\x81\x62\x45\xbc\x7d\x63\xde\x0c\x72\x52\xd2\xb9\x3e\x2b\x90\x39\xc9\xf8\x21\x5f\x80\xdd\x50\xfe\xd5\x04\xd3\x4c\x0b\x2c\x1a\x37\x3e\xd0\xca\xd5\x21\x14\x0f\x22\x4c\x55\x79\x78\xdd\x20\xe0\x11\x26\xa9\xd9\x46\xc3\xb9\xa3\x83\xe1\x4f\x97\xd7\xb7\xa7\x27\xa3\x83\x22\x6e\xe7\x30\x1e\x4e\xac\xfb\x54\x12\xce\x46\xcc\x7b\xdf\x7d\x55\x40\xd8\x4b\x84\xd3\xb4\xc8\x9c\x30\xc8\xaf\x7b\xe3\x45\x6c\x7b\x2a\xd6\x3a\xe0\x57\x87\xf9\x48\xbf\x92\xf4\x1a\xab\xad\xdc\xf6\x8d\x61\xd1\x56\xee\xa9\x4a\x16\xcf\x19\x5d\x71\x91\x34\x08\x59\x3f\x95\x3b\xfd\x5c\x7b\x0e\x36\x27\x01\xf6\xca\xf9\x39\x24\x12\x39\xd3\x96\x25\xf6\xc5\x1a\x27\xc0\x03\x2c\x59\x0e\x10\xe0\xa0\x35\xd7\x2e\xd1\x1f\xd0\x9c\x32\xc0\x2c\x36\xad\xed\x5d\x3c\x91\x2e\xa9\xf9\x67\x17\x77\x71\x51\x8b\x9f\x2f\xef\xae\xe3\x44\xc9\x3f\x37\x27\xd9\xc7\x23\x34\x99\xf3\xc5\x1c\x03\x5c\x08\x37\x4b\xe1\x97\xa6\x6a\xa2\xe7\xe5\x8b\xfa\xdb\x4a\x73\xca\xbc\xce\xb0\xeb\x0c\xa7\x00\x15\xb0\x17\xc9\x4d\x76\xa6\xdb\xe5\x35\x19\xd3\xea\x2a\xb6\xd7\x9e\xf5\x82\xae\x8c\xfc\x6d\x1e\xc3\x2e\x26\x00\xb6\x6b\xf5\xf5\xdb\x19\xf9\x5d\x8c\xea\xe0\xc7\x1d\xb4\x37\x54\x3c\xed\x3c\x00\xd2\x7a\xff\x16\x78\x4c\x33\x88\x6b\xf0\x20\x11\xa7\x42\xb3\x90\x47\x23\x16\x56\x95\x35\x77\xa6\xe6\x01\x97\x8c\x45\xd9\x14\x71\x46\x10\x17\x26\x86\xe5\xc5\xe1\x20\x44\x81\x97\x51\x4c\x6a\x86\x96\x3c\x17\xfe\x8d\x2b\xef\xb1\xdc\x27\x67\xd8\xc5\xb9\x9d\x9e\x69\xa3\x30\x61\xf6\x17\x8c\xb7\x10\xa4\x30\xb6\xe0\xc5\xe4\x91\x30\xf4\xa4\x0d\xab\xc2\x29\x3f\x62\x01\xbe\x48\xab\xa4\xec\x7b\xe5\x41\x04\x34\xb3\x7d\x96\xb0\x8f\x40\x14\xae\x16\x89\xa9\x1d\xb9\x99\x81\x77\x00\x14\x07\xe4\xfb\x66\xcc\x07\x4f\xd6\x79\x0f\x4c\xc8\x06\x78\x20\xf4\x65\x18\x30\x6b\x25\xcb\x92\xaf\x0b\x92\x6c\x82\xee\xbd\x72\x75\x03\x9b\xbc\x19\x61\x08\xc9\xa6\x83\xdb\xad\x53\xdc\xf9\x56\xca\xd4\xae\xa1\xb3\x13\xc6\x5e\x13\xfa\xab\x4d\x4a\xeb\x48\xa7\x43\xd9\x4f\x04\x9f\xb7\x23\xf1\x65\x70\xa5\xb7\x2b\x08\xcd\xc8\x3d\xb0\x27\x80\xd2\xf5\x54\xd6\x21\x49\xd7\x49\xbd\x5f\xcd\xbd\xe8\x41\xe3\x90\x10\x4a\xd0\x24\x5b\x2a\xa2\x47\x57\x9a\x54\x0b\xe2\x0c\xdf\x19\xde\x59\x3e\x7c\xe0\xf0\x15\xa5\x53\x10\x05\x26\xc6\x04\x59\x6d\xc8\x80\x2a\xab\xd1\xa0\x70\x7d\x56\x79\x44\x83\xa0\xa2\xcd\x89\xd1\x8b\x27\x15\x9e\xfb\x0c\xc8\x72\xda\x6b\x69\xb9\xd6\x48\xa3\x5d\xa1\xfb\x9e\x01\x01\x5a\x65\xeb\x46\xa8\x54\x1b\x7d\xdf\x4d\xea\x57\xe9\x86\x6e\x24\x2c\xca\xfd\x0a\x09\x4a\x89\xc2\x34\x93\x61\xbe\xd3\xea\x56\x46\x37\x9f\x29\x66\xe4\x1c\xaf\x1b\x5a\xc9\x41\xb3\xc5\x70\xe7\x51\x78\xc7\x83\x93\x65\x8e\x97\x01\x2a\x48\x9f\x82\x8c\x28\xb8\x9c\x29\xf3\xff\x8a\x45\xad\x63\xe6\x90\x45\xab\x22\xf3\x47\xe8\xa7\xa5\xbf\x16\x71\x96\x85\x94\x18\xe7\x5d\xd1\xe2\x4f\x1f\x05\xb8\xc4\xd0\xd9\xc5\xf0\xf8\xf6\xec\xd7\x53\x40\xbc\x2c\x79\x8e\x9e\xa8\xd4\x16\xc2\x88\x81\x3f\x50\x0b\x54\xf8\x9d\xe2\xc8\xfc\x70\x00\xbf\x02\x1c\x9c\xcc\xc7\x73\xaa\xed\xa9\x62\x92\x77\x20\x11\xae\x1d\x2a\xca\x9c\x63\xfd\x00\x5c\xdb\x0e\x6f\x55\x05\x6d\x5e\x73\x3e\x36\x30\x83\x8b\x41\xb6\x85\x54\x05\xe1\x8a\xe7\x05\x55\x05\x6a\x76\x68\xd6\x54\x1e\xaf\x1e\x55\x55\x7d\x28\xe3\xd4\x42\xc8\xff\xa4\x52\x95\x2e\x93\xfa\x84\xc2\x62\x0b\x76\x01\xa9\x72\xda\x76\x07\x39\x78\xe3\x1e\xa9\xd6\x76\x6e\x7c\x55\xba\x4a\x15\xec\xaa\x56\xbf\xd9\xb7\xc4\x8e\x22\x6c\xb7\x79\x10\xa8\x8b\xb9\x55\x40\x93\x43\x56\x08\x10\x08\x31\xa4\x97\x94\x45\x37\xe3\x0a\xa2\xaf\x89\xca\x96\x15\xd0\x87\x11\xab\xd6\x1b\x9a\x79\x6c\xdb\x40\xea\x4e\x13\x40\xfc\x8e\x5c\xfb\x59\x58\x8f\xc8\x17\x0f\x99\x32\xc6\xa8\xaf\x2b\x4c\x4a\xe7\xca\xf9\x5f\x6b\xac\x00\x50\x17\x36\xc9\xb1\xac\x38\x95\x2d\xc3\x9c\x6b\xcf\x85\xbd\x32\x9f\xc7\x82\xda\x32\x1e\x0c\x39\x90\xbb\xcf\xdc\x04\x27\xe6\x00\x3c\xe4\xfc\x91\x08\x41\x53\x6d\x61\x85\x29\xf3\xad\x56\xae\x45\x79\x9a\x1a\x19\x66\x7a\x57\x28\x0e\x61\x13\x6f\xf3\xea\xf1\x5c\x1a\x57\x49\xba\x79\x75\x27\x67\x29\x11\x8c\x60\x35\x7b\xb9\xf8\xe2\xf1\xb6\x2e\xc3\x17\x8b\x35\x1e\xef\xa4\x86\x53\x48\x6e\x5c\xcf\x68\x2d\x9d\x79\xa9\x6a\x7a\x33\x2c\xb5\x28\x1e\xb4\x62\x44\x55\xb8\xba\x02\x7c\xaf\xb5\xb3\xe2\x42\x42\x1d\xc1\xd7\xb5\x16\x84\x77\x3f\x69\xf3\x20\x2e\x2c\x61\x5b\x8a\x34\x8b\x74\x55\x13\x79\x69\x53\x69\xd1\xe8\xd8\x51\xd9\x3b\xf3\x89\xfd\xa0\xa6\x3c\x62\xe9\xb1\xf2\x6c\x43\xc3\x80\x2d\xcb\x76\x35\x16\x69\x46\x24\xa8\x7c\x46\xd7\x2f\x69\x75\x4d\x36\xc7\x88\xfd\xcc\x9f\xc8\x23\x11\x03\x84\x15\x9a\x73\x7d\x93\x33\x12\xd6\xda\xc7\x71\x82\xa5\x71\x69\x63\x74\x81\xe7\x24\x3d\x85\xfb\x20\xc0\x6e\x59\xcb\xc7\x7a\x15\xab\x72\x58\x20\x2f\xc3\x6c\x83\x73\x81\x8f\x18\x4e\x14\x7d\x24\x26\xb6\x03\x80\x41\xea\x26\x06\xfc\xff\x3b\xef\xf3\xfc\xdd\x11\xba\xd5\x17\x17\x95\x31\xbd\x01\x16\xb6\x8e\xb6\x11\x9b\x0a\x9e\x2f\xbc\x66\xca\xc7\xa0\x12\x1b\xdf\x67\x85\xcf\x13\x88\x71\x0e\xcf\x04\xa7\xfa\x5a\x6c\x66\x9c\xc8\x76\xda\x33\x57\x40\x8c\xaf\x0b\x19\x48\xdf\x16\x3e\xac\x64\xa1\x03\xc0\x46\xf5\x49\xef\xbb\xf3\x9d\xae\x14\x25\x93\xa0\x94\x79\x93\x35\x02\x5b\x6c\x28\x2a\x02\x33\xdf\x99\xc4\xd5\x28\xa1\xe2\xb5\xa6\xc8\xa7\x11\x1c\xa4\xba\x6a\x6e\xcd\xde\xb7\x4f\xb7\x2a\x51\x79\x95\x8b\x05\x07\x98\x6d\xb6\x74\xd0\xa4\x39\x86\xe0\xf9\x82\x2f\x72\x83\x38\xa6\x61\x90\xa9\x92\xa0\xb8\x9e\xc9\xce\x83\x7f\x5b\xe8\x2c\x27\x5a\xa9\xa3\x0c\x15\x3f\x44\xd6\xab\x59\xc9\x66\xb9\xa0\x1b\xa9\x26\xd6\x2a\x26\x8f\x84\xa9\x42\xc9\x9d\xe3\x05\xa2\x5a\x96\x68\x69\x28\xa6\x64\x80\x9e\x5c\xbb\x3b\x84\x51\x2e\xa8\xdb\x75\xd0\x4c\x1b\x78\x2b\x56\x0d\xdf\x1b\x2f\xb5\xc1\xe9\x24\x38\x28\xe5\x63\x4b\x6d\x27\x2a\xc7\x3e\x96\x08\xf9\x6b\x19\x65\x0f\xfa\x65\x26\xc5\xd8\x79\x20\x85\x3e\x73\x5c\x38\xa0\x63\xb4\xa7\x9f\xb1\x4a\x66\x5a\xbf\x73\x85\xf4\x36\xbb\x9b\x6e\x87\x37\xbf\xdc\x5f\x9f\xde\x5c\xde\x5d\x1f\x47\x17\xd4\xf1\xf9\xdd\xcd\xed\xe9\x75\xe5\x77\xa7\xff\xe7\xf4\xf8\xee\xf6\xec\xf2\xe2\xfe\x4f\x77\xa7\x77\x35\x5f\xb9\x01\xce\x87\x3f\x9d\x9e\x37\x5e\x74\xd5\x34\xd4\x95\x26\xc4\xa5\x2e\x28\x45\x06\xb0\x3b\x98\xe3\xa5\x0d\x07\xd3\x7f\x80\x02\x7c\x65\x2e\x9c\xc3\x81\xfb\xcb\x14\x9b\x3b\xd4\x4b\xef\x4c\xa0\x02\x58\x3e\x62\xde\x46\xf5\xdd\x5e\x15\x9e\x4a\x57\xb4\x3e\xa2\xf6\x03\x1a\x2e\x6c\x61\x7a\x1e\xbf\x54\x61\xf9\x50\x50\xea\x5c\x13\x70\xad\x40\x29\x5e\x69\xcb\xb4\x97\x96\x39\x1e\xd0\xce\x09\x48\xb0\x26\x5a\x8a\x8a\x32\x90\x2b\xf5\x02\xed\xa0\xa5\xfd\x81\x16\x10\x66\x71\xa4\xa1\x0b\x90\xf7\x4b\x86\xe7\x34\x31\x1f\x94\xc0\xe7\x16\x96\x3e\x27\x4c\x95\x47\x8c\xb6\x35\x1e\x79\x46\xd0\x2f\x7f\x2c\x88\x02\xc5\xda\x2a\xaa\xf9\x4a\xf9\x18\xd7\x5c\x32\xaf\xaa\x06\xf0\xd9\x2e\xfc\xae\xe0\xfe\xf2\xe1\xde\xb7\xe1\xa9\x2f\x15\xd9\x70\x5d\xdd\x62\xf9\x50\x51\xb1\xb2\x52\x46\xd9\xf9\x6f\xf9\xc6\xfa\x32\x99\xd5\x36\xb8\x5b\xd7\x7b\xd8\xc0\xcd\xde\x59\x9b\x6b\xb1\xe6\x95\x6e\xc6\x59\xa9\x68\x43\xeb\xf7\x45\x45\x1f\xda\xdf\xe1\x90\x27\x46\x13\xc8\xc9\xc3\x94\xd9\x6c\x60\xe2\xcb\x50\xb8\xba\x68\xa6\xd8\xb5\xcd\x20\xc0\x63\xfe\x18\xa5\xa8\xcc\x4d\xf1\xe8\x4a\xfd\x3f\xd0\x19\xb7\xe1\xc0\xb8\x07\x54\xeb\xdb\xd3\x6d\x3e\xd4\xfe\xae\xdc\x83\xb6\x3a\x61\x79\x32\xeb\x60\x18\x1b\xf8\x72\x82\xd1\xbd\x33\xa7\xcd\x95\x79\x02\x7b\x3a\x06\x4f\x5d\x51\x9e\xcc\x54\xc1\x04\x65\x2f\x54\xdc\x07\x45\xd0\xca\x5c\xa5\xbe\x60\xc5\xfb\x11\xb3\xf6\xc4\x7b\x63\x4d\xbc\x0f\xee\x89\xe5\x22\xea\x11\xdc\xbc\xd1\xc1\xda\xec\x65\x59\x8e\xca\x56\x7d\xd5\x3e\xb0\x67\xaa\xca\xf1\x5c\x3d\xf5\x2a\x27\xf1\xdc\x35\x39\xf6\xad\x7f\x74\x7b\xf1\x57\xd4\xdb\xb1\x74\xdb\xe2\x1c\xa0\x16\x45\xc1\xdd\x8f\x10\x87\x0f\xc8\x1c\x06\x75\x7a\x01\x01\xac\x88\x30\x25\x24\x20\xa2\xe7\xa3\x46\xd6\xe2\x5f\x27\x1b\x8b\x23\xb3\x75\x99\x03\x3d\xde\x2a\x3e\x70\xc7\x91\x8c\x66\x41\xb8\x06\x71\x38\xf4\x65\x64\x8b\xc2\x10\xb2\x86\x79\xfb\x68\x5e\xd5\xac\x22\x24\xab\x5b\xcc\xca\x4d\x59\xc7\x78\x6f\x8d\xdd\x5a\xc4\xcd\x86\x55\x2b\x62\xe3\x9e\x35\x9a\x58\xcf\x65\xcf\xcb\x65\xbb\x08\x19\xc7\xc4\x75\xbf\xcd\x8e\x8d\x42\x14\x0c\xe3\xd2\x72\xb4\x86\xeb\xe4\x74\x5c\x3f\xa3\x39\x9d\xb4\x71\xca\x3b\xf3\x5a\xee\x42\xf5\xad\x0b\x67\x86\xea\x9d\x9d\xb8\xaf\x75\xac\xb8\xc5\xb1\x3d\x9b\xe2\x5c\xe3\x69\x5a\x49\x59\x6e\x4b\xd2\x8e\x74\xee\x35\x01\x54\x0b\xa0\xb0\x6e\x4f\xdb\x9f\x91\x91\x27\x73\xda\xf6\xc3\x81\x5a\xc1\x87\xaf\xec\x41\x8d\x8a\x5d\xec\xac\x26\xf5\xfd\x7a\x77\x66\xb5\xe5\xbd\xbb\x3a\xd1\x45\xf1\xc6\x95\x0a\xd1\x4e\x57\xbe\xa8\xaf\xfd\xd3\xad\x1c\x6f\xb4\x88\xeb\x4b\xf1\x42\xc1\x7e\x2c\x6b\xea\xf0\x42\x5e\x70\xba\x2f\xd5\x78\x57\x91\xb5\x31\x71\xaf\x5c\x8a\xb7\x44\xcc\xfe\xd4\xe3\x5d\xbb\x6e\xfb\x0b\x9d\xae\x20\xb4\x45\x1d\x5e\x8f\xec\x81\xb2\x3b\xdd\x44\x3e\xa0\xa9\x69\x9a\x81\x44\x72\x8e\x6b\x7d\xa8\xda\xf8\x5b\xca\x90\x82\xc8\x65\x56\x9a\x8b\x85\xdb\x82\x9b\x38\x6e\x67\x50\x2f\x14\x4f\x1f\x09\x53\x3b\xd1\x17\x60\x88\x0a\xe4\x53\x3b\xa3\xdf\xd4\xd3\x38\x3b\x29\xc4\x84\x2f\xbd\x16\x44\x0b\x94\xc0\xfa\x96\x72\xcd\x54\x6c\x0b\x95\x3a\x47\xa7\x9e\x5a\xbb\x2d\x82\x9f\xae\xae\xcb\x9a\xf0\xa6\x5d\x6d\x28\xcc\x53\x0a\x53\xf1\x04\x7a\xf4\x75\x02\xe3\x47\x37\x33\x4b\x21\x69\x36\xa8\x7f\x6c\x5a\xe8\x96\xf7\xdc\xbc\x73\x86\x65\xf9\x95\x6b\xb7\x7c\x03\x0c\x6f\x34\xcc\x27\xa2\x4e\xb0\xc2\x3b\x29\x4a\xd9\x01\x52\x05\x84\xdc\x89\x6c\x6d\x8b\x87\x1b\x53\xbc\x28\x17\x59\x61\xd8\x60\xa4\x2f\xb4\xa3\x20\x6a\x09\x48\xc7\x68\x45\x0d\x31\x35\x72\xa0\x7b\x53\x8a\xe7\x24\xd5\x52\xb3\x11\x22\x57\x2a\x91\x27\x90\xde\xa8\x4f\x5c\xf5\xce\xda\xbc\x6e\x90\x9d\xd6\x59\x2f\x23\xb4\xbe\x4b\xeb\x81\x60\x68\xe5\xbd\x5e\xcf\x3f\xdb\xfa\x00\xe2\x02\x68\xcf\xe6\x0a\x88\xa4\x77\x34\x81\x1e\x14\xbe\xa9\x81\x6f\x53\xfd\x3d\x07\x42\xce\x86\x12\x94\x40\x32\x61\xe6\x11\xc8\xb1\xa4\xb3\x3e\x9f\x6a\xc6\xda\x4d\xd7\x2b\xd0\x54\x9f\x8d\x95\x1a\x7a\x5b\x84\xac\xd4\xce\x89\x69\x48\x35\xe0\x03\x7d\x3e\x73\x49\x84\x49\x04\xf5\xe0\xbd\x8a\x6a\x38\xb5\x31\x87\xca\x26\x5f\x4d\x31\xc0\x95\x66\x63\xd5\x17\xbb\x71\x64\xa0\x1f\xa0\xd7\x36\x56\xe4\xc8\x61\xb5\xdf\xa1\xff\x82\xea\x36\xff\x6f\x5d\x95\xc3\x29\x11\xf7\x69\x1e\x05\xf0\xd6\x11\x75\xa5\x1f\x3a\xc9\xd5\xb2\x1a\xf3\x1e\xd9\x17\x19\x4e\x1e\xba\xe4\x01\xe8\xdf\xd7\x0c\xbb\x9e\xe1\x03\x8f\x56\x2c\x77\x6b\x50\xf6\xa4\x84\xb2\xb7\xf1\x8e\xf0\xfd\x26\x36\xc1\xa0\xf8\x51\x60\x9c\xdb\x30\xcd\x50\xd3\x7c\x84\x3e\x9a\x04\x76\xb8\x43\xcc\x2b\x12\x9e\x67\xe9\x88\x91\xaf\xda\xba\x8e\x90\x0a\x15\x49\xc7\x36\x3b\xdf\xbe\x69\xdd\xc1\xdb\x5e\xa0\xbf\x7a\x4a\xc4\xea\x9e\xae\x4e\xb9\x9a\xc9\xb6\x52\x9d\xf7\xa4\xd5\xde\xb1\x6b\x2b\x3d\x40\x7e\x92\x25\xb6\xc8\xc8\x23\x11\x78\x4a\x6c\x2b\xbe\x20\xc1\x1c\x6f\xd0\x79\xef\x6a\x25\xd8\xfa\xb6\xdb\x47\xae\xc4\x70\x9f\x97\x8d\x6d\xf3\xcd\xb5\x6a\x48\x7b\x1f\x76\x7b\x99\x76\xcb\x17\x87\xa6\x9a\x2f\xf3\x3d\x31\x9d\x8e\x91\x64\x58\x4a\x3a\x59\x06\xcd\x2e\xdd\xe5\x6d\xc2\xa8\xbe\x8e\x41\x5c\xef\xa2\xf2\x6a\x8f\xb0\x5f\xbb\x01\x16\x6d\x1f\xe3\xb7\xe6\xaa\x0b\x38\xd3\x34\x04\xde\x42\x21\x37\x03\x9d\x0e\x9b\xc7\xb6\xab\x35\xb7\x6d\xe8\xdf\x52\x66\x03\xe0\xbb\x23\xcc\x61\xea\x36\x43\x28\x55\x00\xc3\x3a\xc8\x87\xf2\xde\x9f\x90\x8c\xec\x49\x0f\x96\x55\x46\x68\x5c\xeb\x22\x25\xeb\xc5\xf6\x7f\x3b\x7a\x36\x08\x03\xd5\xc0\x5c\x77\xb0\xdf\xaf\x1c\x4c\xa8\xa1\xee\x13\x69\xe3\x4c\x59\xcb\x8b\x1b\x9d\xab\x3a\xe1\xb8\xc5\x62\xef\x2c\x82\xf8\xcc\x13\xaa\xdb\xeb\x1b\xa2\xa4\xef\x9e\x5f\x70\xba\x71\x51\xd8\x73\x7a\xe8\x10\x4f\x05\x7e\xa8\xc3\x86\xef\x49\x6c\xcb\x52\x77\x6d\xcb\x08\x3c\x9f\x38\x5c\xbf\x5d\x5d\xf8\xad\xa0\x77\x03\x07\xa4\x1d\x63\x17\xb7\xff\xf3\xaa\x66\x2b\x0b\xd3\xd2\xb8\xb8\x59\xcd\x50\xef\x3c\xc1\x44\x70\x76\x4f\xbe\x6a\x9b\x53\x6e\x0a\x5b\xb8\x93\x44\xa2\xe1\x97\x1b\x24\x97\x4c\xe1\xaf\x1f\xd0\xe8\xe0\xb3\x29\xc3\x87\x7e\xe6\xb9\x90\xe8\x04\x2f\x0f\xf9\xe4\x70\xce\x99\x9a\xa1\xcf\xf0\x7f\xed\x47\x4f\x84\x3c\xa0\x3f\x13\x2c\x46\x07\xb6\xa1\xb9\xed\xf5\xe3\x53\xe5\x67\x18\xa2\x58\xd2\x56\xf8\xfb\xfd\x7f\xb8\x12\x7f\xfa\x35\x3f\xbe\xff\xfd\x7f\xa0\xdf\xc1\xff\xfb\xff\xd0\xef\x46\x07\x35\xf7\x52\xb7\xb4\xa5\xa2\x06\x63\xe5\x68\x0f\x34\x79\xe0\x93\xc9\xbd\xa2\x73\x62\xf2\x7b\xef\xb1\xa8\xed\x06\xd2\x11\x80\x49\x6d\xda\xb1\x29\x9c\x54\x64\xb1\xd8\x97\x9a\x68\x9f\x53\xc2\x7c\x13\x59\x93\x54\xc2\xe2\x74\x5b\x2a\xe1\x29\x92\x22\x3e\x99\x74\x71\xb9\xb9\x24\x8c\xd5\xa2\x26\x45\xdc\x38\x4c\xa2\xf7\x46\x5d\xe8\x8a\xe0\xeb\x8a\x14\xae\xfa\x48\xbe\x31\xab\x18\x26\xf8\xac\x16\xf1\x0d\x17\x5b\x89\xf0\x07\xb2\xe2\x2f\xeb\xe4\x6f\x76\xf9\xc0\x61\x2d\x06\x08\x48\x71\xe1\x51\xcc\x26\x7e\x60\x93\x6f\x47\xec\xf6\xf2\xe4\xf2\x87\x07\xac\x04\x9f\x62\xf6\xee\x03\x1a\xa6\xa9\xad\x8b\x8f\xac\xd3\x4f\x33\xcf\x8c\x08\x72\x84\xc2\x22\xd7\x4c\x2f\x5c\xa5\x03\x39\xd4\x87\xa9\x20\x49\x95\xe1\x5a\x7d\xd8\xf5\xf2\x9d\xf8\x47\x6a\x90\x3e\x51\xd2\xb3\x7f\x41\x91\xa0\x08\x73\x7d\x20\x4b\xdb\x00\xaa\x3c\xdf\x4d\x4a\xfd\xdf\x2c\x48\xa2\xad\x5f\x18\x9a\x8b\x94\xc0\xf2\x98\xb6\xa2\x54\x2a\x17\xeb\xac\x3a\x54\xb7\x58\x3e\xec\xd6\x41\xb2\x75\xfa\x29\x4d\xc3\x2e\xf7\xaa\xb2\xbf\x9b\x15\x7e\x0a\xcb\x87\x9d\x75\xf6\xd7\x4b\xd1\xa6\xa9\xbf\x1d\x39\xc8\x28\xb1\x15\xb8\x41\xa1\x0a\xc0\xd6\x73\xbc\x30\x55\xc0\x41\x30\x42\x1f\xf5\x20\x57\xba\x8a\xfe\x75\x1b\x6d\x10\xdb\x81\x7f\x43\x00\x4a\x5d\xab\x7b\x29\x84\x70\x30\x5b\x1a\x06\xd0\x82\x16\xcb\x07\xe9\x73\xa0\x91\x9c\xe3\x2c\x1b\x20\x41\x72\x28\xe3\x3e\x40\x92\x64\x93\x43\x97\x24\x93\xa2\x8c\x4f\x69\x82\x33\x34\xce\x78\xf2\x20\x47\x4c\x4b\x3e\x36\x35\x02\x7b\x21\x78\x42\xa4\x0c\xae\x8a\x22\x4a\xb7\x10\x3c\xcd\x13\x53\xa6\xd1\x94\x49\xa6\x52\xd1\xa4\x54\x9b\x4f\x9f\x64\xe8\x5a\x92\x60\x50\x8c\x21\xfb\x7a\x6e\xfa\x6f\x09\x4a\xc0\x79\xa3\x72\x57\x49\x1f\x92\x00\x70\x46\xff\x01\xd1\xf8\x19\x7e\xa4\x5c\xd4\x71\xef\x0e\x70\x57\x6e\x7b\xee\x55\x7c\x1a\xd6\xf0\xf3\xb1\x7d\x0c\xce\x50\x13\xc7\x5c\xc7\xec\xec\xb9\xc1\xb3\xb9\xc7\xea\x3b\xa6\x28\x4a\x19\xba\x7c\x08\xf3\x13\x17\x7d\xdb\x33\x78\x0e\x90\x5c\x03\xca\x59\xc7\xd3\xc7\xa6\x3a\xa0\x4d\x41\x0c\x1c\x47\x30\xba\xab\x9f\x66\x93\x5f\xb5\x68\x7b\xd4\x4c\xe2\x96\x47\xaf\xbd\x69\x21\xef\x4a\xf6\x61\x89\x16\x59\x3e\xa5\xec\xd0\xa7\x92\xa4\x58\xe1\x11\x83\xdc\x7d\xfd\x92\x52\xfd\xb7\x55\x8e\xda\xe3\x32\x7d\xbb\x11\x8e\x1d\xab\xf5\xb9\x45\xee\xc2\xe4\x31\xdf\xba\xae\x45\x1b\x23\xb5\x45\x55\x54\xd7\xf6\xe5\xd4\xdf\x3e\xd2\xa2\x06\x45\xf0\xa2\xda\xbd\xdd\xd8\xba\x2e\x51\xb5\x02\x77\xa0\x13\xc3\x64\x40\x1b\x84\xd8\x6c\xc9\xf9\x3a\x8a\x5e\x05\x40\xda\xb4\x91\x57\x58\x99\xb2\xe1\x64\xce\x95\xc9\x72\x37\x09\xe7\x36\x0f\xdd\xe6\xb1\x8f\x33\x3e\x86\x7b\x05\x72\xd1\x61\xde\x71\x7b\x7f\x33\x6f\x92\xa2\x1f\x82\x6b\xc2\xa3\x3a\xde\xd5\x45\x8a\x77\x87\x62\x2d\x27\x46\xd5\x62\x59\xe3\x64\xe7\x23\x74\x55\xb8\x49\xca\xb3\x9a\x60\x2d\xb9\xeb\x7a\xe7\x75\x43\xbe\x46\xbb\xbf\x03\xe4\x6b\x69\x1a\x35\x35\x93\xf8\x2e\xba\x9c\x35\x4f\xea\x9c\xb7\xb7\x7f\x0c\xce\xcd\xe8\x1f\xd1\xe6\x38\x36\x5b\x56\x6d\xd1\x7e\xa1\x7a\x4b\xc9\xf2\xaf\x8b\xea\x2d\x11\xb3\xcf\xa8\xde\x12\xa9\xfb\x8b\xea\xad\x20\xb4\x05\xaa\xd7\xb8\x89\xef\x35\x53\xb7\x13\x0a\x0b\xc1\x15\x1f\xe7\x93\x1b\xb8\x4d\xda\x14\xff\x32\xc2\xd9\xe9\x39\x36\x99\x02\xa8\x35\x3a\x50\x37\x45\x2c\x04\xff\x96\xa6\xdc\x12\xfc\x1b\x89\xb4\x1e\xfc\xeb\xc1\xbf\xab\xeb\xb2\x8f\xe0\xdf\xd2\x9e\xb7\x03\xff\x56\x6d\xf9\x06\xbe\xf7\x68\x98\x6f\x06\xfc\x5b\x5a\xd1\x7d\x06\xff\x96\x48\xdd\x1d\xf8\xb7\x7a\x67\xbb\x81\x7f\x2b\xaf\xff\x7a\xfe\xd9\x16\x2b\x06\xb5\x61\x5e\x18\xfc\x1b\x4d\xa0\x07\xff\x6e\x59\x11\x3a\x66\x41\x4b\x81\xef\xb3\xbf\xca\xee\x4d\xf0\x5f\x50\x69\x77\xc0\x51\xcf\x1b\x13\x04\x2f\x54\x5b\xad\x7b\x18\xad\x83\xb4\xe5\xcd\xf4\xf5\xe7\x30\xa2\x41\xd7\xb4\xbe\x8a\xc1\xb6\xf9\xe5\xa5\x45\xf6\xde\x2b\xd8\xb8\x3a\x96\xab\x28\xf2\xb4\x05\x03\xda\xca\x6a\x9b\x96\xb7\xaa\x6f\xa4\x64\xea\x96\xed\x66\xd8\xef\xc2\xff\xd6\x2e\xc8\xb6\x75\xb4\x93\x45\xbe\x09\xaa\x73\xba\xd9\x63\x73\x32\xe7\x62\x5d\xd8\xac\xc6\x9c\xe5\x02\x4f\xd7\x21\x49\xdb\xae\xde\xb6\xab\xe6\x4a\xcd\x75\xf3\x6f\xdc\xba\xa7\x1a\x0d\x2e\x57\x68\x3c\xf4\x80\x83\x4e\x5a\x19\x63\xf1\xa9\xf3\x1b\x46\x51\x6a\x00\xf3\xab\x2f\x04\xf7\xaa\x24\xe2\x30\x40\xc0\xc7\x7e\xcd\x55\x0a\xa2\x75\x77\x0a\xda\x16\xcb\x9e\x8b\xda\xd8\x74\x0b\x19\x3b\x34\x45\x25\xb5\xf6\x17\xe6\xd5\x97\x39\x6d\xbc\xac\xc0\x51\xb5\x33\xa9\x4d\xfb\xc7\x2e\x8e\x61\xfa\x0f\xbf\xd1\x13\x9a\x11\x84\x93\x84\x48\xe8\x1f\x8a\x2c\x76\xc1\x14\x63\xcb\x45\xb6\xcd\xae\x52\x36\x85\x79\x6b\x65\x32\x28\x38\xed\x99\xc7\xdc\x19\x33\xc1\xf3\xe9\xcc\x59\x59\xae\x27\x51\xd5\x5e\xba\xd4\x9a\xb7\x1b\x10\x28\x75\x29\x28\x33\x41\xf7\x88\xa9\x5b\x92\x17\x8e\x9a\x56\xcd\xa3\x03\x77\x44\x98\x97\xe2\xf8\x3b\x3f\xb6\xd1\x4a\x20\xc3\x65\xc4\x86\x11\x3a\xc6\xb5\xb4\x19\x2f\x8b\x28\xbb\xb9\xda\x43\x26\x83\x26\x7c\xd6\x7a\x81\xaa\xf7\xfa\x2f\x50\x43\xe0\x21\x1b\x4f\x75\x31\x53\x00\x08\x90\xf4\x10\x27\xcb\x24\xa3\x49\xa0\x92\x4e\x05\x5e\xcc\x9a\x38\xb1\x87\xab\xbf\x16\x5c\xfd\x69\x55\x16\x74\x25\xcd\x77\xd9\x80\x1a\x72\x6f\x19\x46\xbf\xca\x8e\x3d\x82\xbe\x03\x4b\x6e\x47\xcf\xce\x39\xf1\x2d\x01\xfa\xeb\x39\xef\x95\xc1\xd3\xab\x84\xbd\x26\x8c\xbf\xe2\xbe\xd8\x6c\x75\x5f\x17\xbc\xdf\x6a\x1a\xb5\x10\xb9\x16\xb8\xfd\xa8\xf7\x84\xbf\xf7\xd7\xa0\xf8\xeb\x57\x69\x4f\x78\x70\x97\xf8\xa8\x3a\x69\xb3\x1e\x23\xd5\x45\x55\xec\x06\x97\xf2\x1b\xf5\xb6\x20\x53\x9e\xec\x0d\x61\x53\xc3\xa0\xbe\xf5\x8c\x67\xd0\xfd\x32\x5a\x2d\xff\x02\x8f\xbc\xf0\x0b\xe4\x36\x03\x5a\x9d\x81\xea\x5a\xf4\x4b\x6b\x02\x47\xf9\x4d\xfc\x36\x00\x52\x6b\xec\xa1\x8e\x20\xa9\x70\x51\xb7\x03\x4a\x6d\x69\xdf\x74\x03\x4b\x35\xb5\xae\x2b\xef\xf7\x06\x61\xbd\x95\x82\x14\x7d\x50\xd8\x07\x85\xab\xd7\x66\x1f\x03\xc3\xab\xcd\xa0\x5a\x06\x87\xeb\xb6\x7f\x17\x9c\xb4\xc3\x20\xf1\x2b\x87\x5e\x1b\xa3\xae\x01\x83\xbd\x6e\x2c\xbb\x29\x8c\xbd\x9e\xcd\x2a\xe3\x72\xf5\x7b\xda\x29\x3c\xcc\x9a\x43\xc3\xee\x2d\xdb\xc6\xf0\x3c\xee\xfe\x59\xe3\x78\xde\xcf\x18\x3c\xd1\x32\x96\x57\x24\x06\xf4\xf1\xbc\x67\x8d\xe7\x55\x2c\xf4\xfa\x98\x5e\xa4\x20\xbc\x68\x20\xc6\xbd\xf9\x25\x82\x31\xeb\x94\xaa\x7c\x7c\xff\xec\xe7\xa8\x72\xce\x6d\x8f\xd3\x17\xbf\xb7\xe6\xf2\x13\x9a\x69\xc6\x24\x35\xcd\x82\x15\xb7\x4d\xe4\x0b\x16\x60\xc4\x30\x6b\xd1\xf0\x15\x43\xff\x0b\x9a\x1a\x40\xe6\x02\x43\x8d\x12\x7f\x87\x1a\x94\xde\x88\xc1\xfe\x66\x19\x11\x4e\x67\x17\xe8\x07\x49\xa1\x11\x6f\xa1\xc7\x0b\x94\x72\x22\xd9\xf7\xca\xb4\x60\xc0\x6c\x89\x1e\x18\x7f\xca\x48\x3a\x85\x1d\x2a\x13\x73\x88\x28\x19\x20\xaa\xfc\x63\x82\xe0\x64\xa6\xc5\x25\xb4\x94\x07\xb7\xb6\xb9\xec\x89\x7d\x36\x68\x14\xef\x87\x79\x77\x84\xd0\x19\x43\x13\xac\x8d\x62\x99\x8f\x8b\xf1\x53\x0e\xbd\x91\xf5\xed\x1f\x4e\xbc\x18\xe4\xd9\x02\x71\x95\x81\xb7\x1a\xed\x55\x33\xc0\x30\xa3\x78\x2b\xc7\xf8\x23\x5e\xc1\xa1\x77\x90\x86\x9f\x73\xa9\x4c\xab\x30\x68\x3a\x69\xe9\xb5\xa0\x66\x9f\xae\x0b\xd5\x6d\x4c\xea\x2b\xe3\x69\x6d\x63\xd6\xd2\x54\xba\xd2\x52\x44\x31\x6c\x51\x1d\x6b\x12\xc1\xb8\x66\xb9\x53\xfe\xc4\xa4\x12\x04\xcf\x81\x10\x69\x3b\xd4\x4d\x4c\xbc\xc2\x38\x1b\xa8\x30\x37\x70\x97\x2d\x3e\xa7\xec\x41\xef\x6e\x91\xa0\xcc\x21\xfb\x53\xbf\xb9\x62\xd3\x7e\xa2\x0c\x8b\xad\x9a\x2a\x99\x82\xe5\x1b\x99\xf2\xe3\x65\x5d\x06\xb7\xc2\xeb\xd2\xb5\xbb\x18\xee\x92\xce\xf5\xbd\xa8\x5f\x87\x40\xd4\x99\x72\x68\x18\x29\x0c\x7d\x92\x67\x24\x5b\x04\xc5\x8d\x16\x58\x28\x5f\xc2\x5f\x2e\xa5\x22\x73\x68\x84\x94\x33\xd3\x4d\xd9\xd8\x02\x4f\x36\xcd\xcf\xfa\x85\x8a\xc1\x8f\x46\xec\x4c\x7d\x2f\xf5\xf9\xe2\x6c\x9a\x2d\x11\x4e\x1f\xa9\x2c\x92\xc5\x13\xce\x64\x3e\x27\xc2\xbe\x82\x4a\x53\x39\xdf\x74\x33\x45\xd8\xf1\x8a\xa6\x4d\x2b\x5e\xae\xd2\x9e\xbd\x1b\xa6\x68\x4c\x26\xfa\xd2\x5d\x60\x21\x9d\x0f\xa2\xc2\x7f\x60\x37\x37\xd5\x6b\xf5\x6a\x67\xf2\xd7\xf0\xd8\xa1\x79\x71\x42\xb1\xd5\x69\xdf\x97\xcf\xa7\x5d\xf5\x86\xb3\x39\x5e\x99\x14\x6a\xbe\x98\xec\x2a\x9c\xac\x54\xe5\x2f\x9b\x7a\xae\x39\x80\x69\x90\xad\xdf\xe3\x14\x1a\x43\x5c\x27\x6f\x51\x69\x82\x96\x6a\xe3\x02\x08\xcf\x26\xa1\x70\x29\x48\x85\x15\x4d\xac\xee\x54\x94\x5f\x35\x4f\xd7\x6f\xed\xc9\x96\xed\x30\x64\x82\xb3\xd5\x1d\xae\x5f\xcb\x1b\xf3\xfb\x66\xd9\x67\x8f\x9b\x19\xbb\x11\x06\x91\xf0\x2c\xeb\x92\x0f\x5e\x9a\xf9\x71\xf1\x78\x33\x45\xc5\x7b\xf4\x06\xb8\xbd\x80\x53\x63\x72\xd8\x71\x66\x35\x0b\xa9\xec\x2e\x85\x3f\x32\x32\x74\x89\x58\x3e\x1f\x13\x31\x62\x7c\x02\x65\x02\xb2\x3a\xb3\x71\x21\xf8\x9c\x76\x49\x4c\xba\x84\x6d\xbe\x76\xc1\x9e\x35\xde\x2c\x17\x12\xd2\xa7\xc8\xb2\x97\x7d\xa3\x69\xc6\xc6\x8c\x9e\xd1\x70\x86\xe6\x78\xb1\xd1\x82\xaf\x34\x90\x5d\x59\xe9\xb9\x31\x5d\xed\xea\x41\x36\x34\x81\xe4\x7b\x58\xe4\x27\xbc\x2c\xc0\x22\x5d\x8e\xd3\x8d\xd1\x45\x88\x74\xe7\x05\x3b\x2e\x0b\x4e\x8c\x0f\x96\x99\xfd\x32\xab\xd0\xe6\x04\x1d\x57\xb1\x61\xe7\xb3\xe4\xe6\xfc\x9c\x4a\x76\x78\xec\x43\xfd\xba\xcb\x6d\x18\x1f\x86\x60\x44\x04\xe4\x34\x2f\xd5\xe7\x88\x73\x76\xbe\x46\xa5\x71\x90\xb1\xe5\x9c\xaf\xfc\xaa\x7a\xd4\x17\x58\x33\xcb\xd6\xad\x16\x6b\x4b\xfc\x59\xb7\x66\x04\xee\x8d\x15\xbd\x07\x82\xf3\xde\xa5\xc1\xc9\x7a\x1b\x62\xa2\x75\x17\xa3\x56\xf2\xc9\x24\xe3\x58\x5b\x6a\x36\x76\x3d\xa1\x19\x91\x47\xe8\xac\xc2\x9e\x08\xfb\x03\x99\xf4\x56\x88\x84\x38\x7d\x27\x17\xd4\xa2\x32\x88\x20\x5e\xab\x41\xd4\x16\xcb\x2d\x5c\x0e\x82\x68\x9a\x81\x81\x41\x93\x9f\x69\x13\x6f\x66\x06\xa0\xd2\xf6\xad\x56\x9a\x24\xb0\xed\xa8\x32\xbe\x88\x94\x2c\x08\x4b\xfd\x03\xdc\x74\xdb\xc3\x89\x69\x85\x58\x50\x55\xb3\xa5\xbb\x68\x3e\xd5\xad\xf7\x92\x7e\x6b\xa9\xe5\xe8\x77\xe1\x7f\xcb\x14\xde\xc6\xa3\x77\xa6\xce\xeb\xe5\xdd\x9d\xfb\x1f\xe1\x51\xe7\x4c\xc2\x68\x22\x08\xf8\x1b\xe7\x1e\x17\xc8\x52\x22\xa4\xe2\x1c\x6e\xa8\x9b\x93\x5f\xde\xdf\x9d\x21\xa2\x12\xa8\x1f\x3a\x62\x89\x7c\x1c\x68\x85\xf6\xef\x39\x51\xfa\xe3\xba\xe2\x31\x73\xc2\x24\x48\x02\xda\xb6\x8e\xb4\x5b\x18\xfd\xdf\x93\xf8\xf9\x06\x96\x0f\xba\xa2\x9a\x42\x4b\xc0\xbb\xae\x30\x06\xb0\x29\x64\x63\x47\xed\xe0\xa2\xfd\xe0\x3c\x23\x98\x9d\x56\x55\xed\xda\x20\x1a\xcc\xfe\x96\xb3\x8e\x6a\xd2\x71\xf1\x50\x40\x45\x8d\x16\x36\x5f\x60\x41\x65\xb7\xe1\xdd\x33\x95\xa3\xaf\x13\x22\x45\x17\xf1\xb1\x59\x29\x54\x14\x38\x43\x4a\x10\x02\x22\xc4\xf3\x93\xbd\xeb\xe1\x96\x0f\x56\x23\x78\xe8\x68\xc4\x3e\x3b\xff\x67\xf1\xa9\x2c\x9a\xa0\xce\xc7\x50\x74\x25\x07\x9b\x29\x1e\x05\x86\x4d\xa9\xf4\x1f\x40\x2e\xbe\xcc\x33\x65\x4a\xfa\x4c\x28\xc3\x99\x27\xd4\x7c\x53\x25\x25\x04\x66\xc9\x0c\xda\x34\x6d\x13\xa1\x9d\xdc\x93\xac\x8b\xee\x78\x36\x39\xcd\xa4\xe6\xef\xe4\xa1\xe6\x74\xfe\x9b\x2b\x05\xd6\x61\x83\x8a\xc9\x80\xe6\xe6\x0a\xc4\x18\xab\xc4\xf8\xe9\x32\x45\x4c\x36\x3f\x38\xd9\xca\xe0\x00\x03\xa6\xd4\xbb\x68\x75\x6b\xdb\x75\x4c\x09\x9e\x21\xe7\x96\x1b\xc3\x5b\x10\x56\x23\x26\x72\x06\x19\xd5\xde\x7f\x8e\x91\x24\x82\x1a\x47\x76\xc2\x99\xd1\x01\xac\xf3\x64\xaa\xc5\x84\xd6\xfc\x00\x99\xc1\x19\x58\x54\x3c\x97\x5a\x86\xe0\x39\x51\xfa\x82\xfa\x01\x6a\xd5\x99\x08\xc6\x00\x2d\x04\x9d\x2b\xfa\x48\x7c\x19\x84\x70\xe7\x2a\x99\x79\x9b\xe8\xd6\x82\x08\xac\xda\x56\x55\xa8\x7a\xfb\xa5\x1b\xa1\xf2\xc0\x66\x64\xa2\xee\x2b\xfd\x2e\x0d\x26\x86\x1e\x91\xa5\x35\x28\x32\x3a\x9d\xed\x60\xc4\xf6\xa7\xfe\x0f\xd6\x2f\xa6\x8f\x7a\x70\xe3\x0b\xce\x95\xe1\xb7\x42\x26\x21\xb7\x9a\xa0\x2e\xd8\x97\x9a\x4a\x4c\x7a\x53\x29\xec\xaa\x3e\xc3\x0f\x8c\x3f\x31\x6f\x5b\x6b\xb5\xe1\x14\x27\xb3\x50\xb0\xd8\x38\x85\x39\xd5\x6b\xcf\x73\x54\x6d\x68\x4f\xf2\x38\xc2\x3e\x94\x50\xf9\x2f\x5b\xa2\xa2\xa2\x54\xf4\x5c\x9b\xeb\xcd\xd8\x9d\xee\xec\x9a\x09\xdb\x22\x2a\x8a\x2c\xac\x6d\x6c\x5b\x15\x7a\x90\x07\xb8\x57\xf5\xab\x8e\xd0\x17\xa7\xc9\x41\x18\xc8\x47\x26\x20\xab\x80\x4a\x94\xe1\xa5\x6b\xe8\x5b\xb5\xb0\xbb\x00\xf8\xef\x3a\x36\xd3\xbc\xc0\x1e\xb9\x59\xb1\xca\xd1\x85\xca\x98\xb1\xb0\x5a\xc6\x8e\xed\x85\x6d\x1f\xba\x21\xcd\x98\x84\x8f\x50\x55\xc5\xb4\x8a\x06\x6f\x15\x67\xd9\xf2\xff\x31\x9b\x05\xc0\x7e\x7d\x84\x72\xeb\x0d\x08\x7c\x98\xfa\xfc\x80\x0f\x8e\x71\xa5\x2f\xc5\x09\xcd\x32\x88\xb1\x1c\xa1\x21\xd4\x05\x83\x8a\x4f\xa6\x39\xb8\x09\xde\xd1\x29\xe3\xeb\x42\x0c\x35\xcc\x94\x04\xcc\x74\x53\xcf\x4c\x12\xb8\xc9\x47\x15\x76\xc4\x51\x3b\x80\xe0\x69\xd9\x82\x57\xd3\xc8\xda\x03\xef\x3a\x5c\xc6\xaf\x11\xae\x5b\x21\x37\x34\x8d\xab\x49\xff\x94\x63\x81\x99\x82\x20\x94\xad\x7a\x2a\x6c\xa0\x57\x73\x20\x22\x5f\x21\x5a\xcb\x8c\x61\x07\x1f\x85\x9b\xeb\x9c\xee\x53\xfa\x48\x18\xa2\xe9\x00\xd1\x23\x72\x34\xb0\x55\x63\x65\x3e\x2e\x7e\x39\xc3\x12\xe1\x11\x5b\x01\x92\x1d\xa1\x61\x26\xb9\x7d\x82\xb0\x24\x83\x3a\x7c\x41\xbc\xcc\x73\xbe\x75\x13\x8d\x97\x80\x36\x85\xad\x2c\x86\xe7\xf6\x8b\xe0\xc1\x11\xc3\xd2\x78\xa5\x33\x38\xe9\xc5\xe7\x55\xf5\x21\xa3\x48\xc5\x33\xe6\x19\xaf\x5c\x43\xcf\xb6\x49\xa6\xa0\x5c\xd3\x06\xc1\x2f\x60\x63\x0a\x80\xdf\x88\x79\x76\x46\x3f\x60\x95\x11\x2c\x15\xfa\xfd\xbb\x4e\xc1\x19\x37\xbf\x42\xb8\xda\xd3\x5b\xc0\x50\x5c\xe8\xbb\xae\xbc\x2d\x94\x21\x42\x18\xfa\xe7\x7a\x60\xca\x40\x6f\xb3\xe2\xe8\x91\xca\x1c\x2a\x1b\x06\xb0\x2a\x53\x9b\x8e\x2a\xe9\xca\xac\x18\x3f\x65\x8d\x18\x71\x15\x4e\xad\xff\xd2\x92\x55\xc1\x58\x03\xdb\xf3\xdf\x28\xbb\x80\x6c\x2e\x82\xd0\x33\xad\xe5\x5a\xc1\xea\xe2\x36\x41\x09\xac\x61\x96\xc5\x81\x5f\xad\xe0\xa4\x84\xe9\x09\x43\x5d\xc6\x23\x14\xf6\x9a\x94\x45\xac\x30\x2e\x29\x5c\x74\xd3\x46\x7c\x32\x62\x1e\x9d\x1a\x8e\x5d\xa9\xec\x54\x99\x8b\x2f\xa8\x03\x57\xbc\xfe\xdc\x14\xc8\x6c\xa1\x0b\xd7\x57\xc7\x6e\x70\xaf\xac\x98\xe8\x0d\xaa\xf1\xae\x5f\xd0\x5e\x53\xae\x36\x77\xe1\x96\x7d\xe2\x15\xd6\x73\xcd\xe6\x06\xaa\xc5\x16\x9b\x5a\x04\xad\x5f\xca\x81\x1b\x91\x7e\x96\x02\xa2\x6c\xbd\x10\x2c\x10\x5a\x4e\x74\x80\xdd\x4a\xd3\x00\x63\x12\x04\xe0\x01\x4a\xe4\xe4\x9e\xfd\x65\x5d\x3d\xac\xb7\x3d\xfd\x41\x31\x7f\x37\x15\x1f\x85\x5e\x9d\x78\xbd\xae\x37\x4c\xff\x86\x13\xc2\x92\xa5\x79\x93\xab\xeb\x57\xe8\x71\xa0\xec\x05\x19\x9c\x18\x6c\xf3\x4a\xed\xd0\xd6\xba\x3d\x42\xa7\x70\xcf\xb8\xd2\xb7\x78\xe2\xfc\x0b\xc1\x8f\x47\x4c\x1b\x26\xfa\x8a\x97\x86\x68\x37\x7e\xcc\xe2\x55\x27\xc0\x40\xf7\xb7\x72\xcd\xcc\xd7\x17\x07\xa8\x33\x26\x5c\xe6\x00\x8c\x01\x99\xd6\xe8\x74\xfa\x01\xa5\x3c\x79\x20\xe2\xbd\x20\x29\x95\x1f\xc0\x55\xae\x6a\x7d\x74\x73\x6d\x6c\x6f\xad\x68\x6c\x5a\x35\xdd\xbc\xdf\xa2\x8f\xcc\xbd\x45\xb4\x86\x30\x01\x6b\xc2\xa1\x0a\x0d\xd4\xd0\x96\xbe\x40\x84\x29\xb1\x5c\x70\xca\x94\x43\x49\x24\xa5\x85\x70\x86\x86\xd6\xd9\xea\xb0\x38\x62\x17\x21\xb5\x0d\xa7\x7d\x3b\x23\x92\xb8\xf8\x81\x99\x94\xe2\xc8\x54\x85\x36\xe2\x62\x81\xd5\x4c\x02\x2e\x32\x5e\x03\x6b\x73\xc1\xa3\x7a\x85\xf0\x02\xc2\x0f\xc6\x49\x51\x3c\xe4\x01\x7f\x52\xd1\x2c\x1b\x31\x46\x48\x2a\x11\xd4\x29\xfa\xbe\x12\x7f\xab\x1f\x1d\x20\x9c\xa6\xe8\x7f\xfe\xf0\xf1\xfc\xcf\xb7\xa7\xf7\x67\x17\x57\x77\xb7\xf7\x1f\xcf\xce\x4f\xdf\x0d\xfc\x87\x97\x77\xb7\xfe\x53\xe3\x60\x79\x24\x02\xcd\xf1\x03\x58\x78\x4c\x1a\xf5\x0f\x60\x71\x21\xa5\x2e\xdd\x49\x7f\x23\x89\x83\x9a\x58\x35\xc5\x27\xbc\xd8\x3d\x5c\x93\x92\xd8\xc1\xf6\xbd\xf6\x8f\x34\xf3\xa0\x63\x1e\xff\x0a\xa7\x06\xce\x09\x53\x5a\xc6\x58\xcc\x5a\x61\xfa\x16\x0c\x47\xd8\x94\xb2\xba\x80\x38\x61\x8f\xcf\xa9\xc3\xff\x42\x96\xbf\x6a\xeb\xfa\x0a\x53\xd1\x9a\xf7\x4e\xd9\x23\x15\x9c\xc1\xd4\xbc\x57\xab\xe8\x2c\x41\x60\xc2\xa5\x43\x25\x8d\x2e\x0c\x21\x97\x45\x2d\xe8\x82\x4d\x68\x2d\xbc\xea\xd5\xa6\x3b\x34\x6e\x62\xf2\x55\x09\x6c\x1b\x59\x4a\x2b\x6e\xf0\x23\xa6\x19\x00\x66\xdc\x45\x53\xf0\xa0\x69\x58\xf0\x01\x91\x0c\x8f\xb9\x00\x18\xad\x89\xf0\xb9\x21\xec\x82\x41\x09\x74\x3f\x50\x1d\x70\x83\x8b\xe7\x6b\x24\x13\xdd\x43\x57\x5c\xb4\xb9\xc9\xf5\xcf\x60\x15\xf8\x42\x9b\x64\x25\x21\x6a\xaf\xd9\x09\xc1\xa6\x12\xb2\x04\x49\x23\xf3\x85\x9e\x87\x05\x83\x64\x59\x54\x74\x4b\x9f\x01\x79\x64\x9d\xe3\xc5\x2f\x39\x43\xbf\xfc\x51\xa2\x71\xae\x46\x2c\x1e\x83\x33\xe8\x1b\xf3\x13\x56\xc9\xac\xca\xb0\xab\xbf\x6a\xaf\xb6\xec\x7d\xe1\xa7\x79\xbf\x88\x47\x8a\x46\xa3\x4c\x91\x69\x39\x45\xad\x4b\xb5\x94\x0b\x00\xf5\x40\x0b\x5e\x68\x8a\xc1\x91\x6d\xa6\x6a\x31\xfc\x0b\x9e\x7e\x2f\xd1\xd9\x95\x96\xb9\x5a\xc7\x86\x70\x34\x95\xc6\x93\x06\xd1\x29\x40\xe8\x99\xa7\x0d\x42\x68\x80\x7e\x44\xa3\xfc\xc7\x1f\xff\x3d\x41\x5f\xdd\x1f\xff\xf9\x1f\xff\xf1\xef\xff\xb9\x49\x8f\x17\x18\xb7\x58\x23\x9b\x41\x5b\x16\xc2\xe1\x0e\x9c\x96\x2a\x3a\x77\x8f\x04\x43\x81\xe0\x7b\xe8\xc8\xdd\x2d\xdd\xab\xa2\x62\xae\x55\x2b\x9d\x37\x42\x10\x13\xad\x87\xb2\xd3\x75\xf0\x24\x22\x65\x47\x55\xab\xb2\xf4\xb4\x1d\x07\x8a\xce\x3c\x75\x2a\xcd\x1a\x02\xa5\x99\xa1\xd5\x8e\xe2\x8c\x85\x00\x5d\x15\xad\x7d\x5c\x1e\x7b\x2b\xf6\x4f\x37\x53\x36\xcd\xdc\x13\x58\xf6\xa2\x01\x0c\x9a\x0a\x9e\x2f\x3c\x04\xd1\x81\x31\xcc\x36\x8c\xd8\x67\x7d\xcf\x9f\xb1\x09\xff\x60\x19\xf6\x9c\xb2\x07\xf8\xab\xc6\xc7\xbd\xfd\x1e\xf9\x42\xd4\xc1\xe7\xce\x3e\x30\x2b\x7e\x68\xbb\x11\x68\xaa\xa5\xc2\xc9\x83\x49\x0f\x6c\x2a\x64\xde\xb5\x14\x7b\x01\x61\xc8\xb5\xa4\xb4\x4b\x07\xfd\x91\x65\x58\x28\xe9\x91\x62\x84\xd1\xdd\xf5\xd9\xe6\x25\x70\x48\xc4\x93\x3e\x7d\xa5\x2e\x93\xaa\x94\x82\xbb\x55\xe6\x66\xe7\x1a\x11\xa1\x52\x06\xb8\x92\xa6\x8d\xf4\x54\xc6\x79\x03\x9e\xc7\xdc\xfb\x9d\x08\xd0\x96\xa1\x79\x04\x52\x31\x84\x29\xea\x9f\x36\x74\x33\xdf\xbe\x2c\x49\xd8\xc1\xcb\xd5\x26\xb1\xfd\x8f\x0c\x6d\x63\x02\x39\x24\xf5\x34\x6c\x5d\x88\x24\x24\xc1\xd6\x3d\xa8\xa3\x60\xc4\x86\xee\x27\x1e\xc0\xc0\x24\x35\x6d\x66\xc0\x05\x2b\xf3\xb1\x09\xd4\x40\x7b\xf0\xa0\x24\xb5\x9d\x5c\xcd\x24\xb6\x6c\x94\x7c\x27\x89\xf0\x76\x8e\x85\x5e\x3a\x95\xcc\xcd\xa3\xe6\xcd\xb6\xa4\xd4\x16\x2f\xbf\x71\x53\x2c\x55\xa7\xaa\x7a\xf1\xba\xa3\x79\xea\xc1\x69\x76\xa0\xb0\x20\x96\x71\x6f\x67\xcb\xc2\x99\xaa\x57\xdc\x18\x7d\xa5\x97\x45\x87\x75\x62\x40\x18\xdb\xa9\x3c\xc6\x57\xb4\x73\x37\xa6\x9a\x11\x06\x17\x7a\xfb\x91\x01\xc9\xd2\x5d\x5f\xc1\x05\x5a\xc3\xd9\x98\x81\x06\x9a\x33\x6a\x93\xa7\xad\x53\x3d\xf0\x26\xb8\xe6\x0f\xc5\xf3\xda\x9e\xc1\x8a\xca\x09\x5d\xc9\x76\x2e\x43\x5f\xb6\x59\xf5\x4e\x4d\x24\xdc\x36\x37\xb1\xaa\x8f\x8a\x1c\xa1\x8f\x54\x48\x15\x4c\x49\xeb\x97\x16\xb9\x52\x57\x96\x5a\xcd\x48\x6d\xd2\xc5\x2e\x8c\x10\x37\x83\xb6\x96\x99\x8f\x80\x1d\xa1\x61\x51\xb7\xc2\x60\x77\x88\x6c\x31\x23\x92\x49\xb2\x09\xf3\xb5\x52\x2d\x41\x61\x07\x06\x42\x20\x2e\xa5\xfe\xbc\x48\x00\xf3\x64\x3e\x01\xc8\x04\x3f\x90\xba\x66\x16\x5d\x1b\xa1\xac\xed\x7f\x32\xf4\x9a\x23\x37\xca\xe3\x26\x04\xb6\x3f\x76\x05\x5c\x8a\x4e\xde\xeb\x25\xb7\x9d\xc5\x4c\x6c\x6b\x02\x7c\x68\x01\x57\x4f\x33\x6d\xe0\x14\x4c\xe9\xf6\x4f\x9a\x7e\x87\x39\x71\x31\x2c\x08\x0d\xfa\x05\x3e\x1a\xb1\xb3\x09\x62\x3c\xc4\x63\x01\xd5\xfe\x90\x1a\xdf\x97\xdf\x6f\x64\xef\x06\xb3\x0c\x60\x89\xbb\xa1\x56\x4f\x73\xe4\x35\xd8\xe2\x38\x6f\xd7\x33\xd1\x9f\xdc\x9a\x6b\xac\x6b\xb6\x5b\xed\x59\xea\x14\x24\x9d\x12\x46\x04\x4d\x20\x93\xc2\x5c\xbb\x0b\x4c\xab\x6c\x3f\x5b\x41\x60\x5f\x73\x82\x76\x9d\x0c\x64\xa7\xbb\x61\x22\x50\x66\x9e\x36\x60\xf6\x0c\x2a\xb2\x99\x04\xa0\x5d\xa4\xcd\x14\xb5\x1c\xda\xa5\xcc\x18\xe6\x91\xa6\x64\xba\xa1\xab\x1b\x8f\x44\x4b\x6c\x5b\x73\x1a\x37\x8e\x84\xec\x25\x83\xb8\xe3\x13\x9f\xe5\x64\x9c\x40\x26\x21\x52\x1b\x85\x2b\x7f\xfc\x94\xf1\xb1\x7c\x17\x36\x7a\xb3\xef\x28\x80\x77\xf5\x2c\xb8\x9b\xa4\x1a\xb7\x14\xcf\x79\x1f\xba\x33\x13\xde\x87\x5d\x16\xbe\x9a\xa9\x8a\x18\x98\xc1\x1d\x60\xc1\x73\xe6\x92\x12\x38\x23\x7c\x02\x40\x44\x68\x41\xe3\xac\x42\xc0\x2b\x33\xae\x02\x8c\x81\x20\x0b\x13\xe1\x02\x0d\xb5\x7e\xb9\xb7\x4c\xcc\x59\xb7\xce\xcf\x91\x98\xb3\xed\xba\xdb\x83\xf3\x4a\x0b\xbe\x6d\xba\x85\x39\x4a\x1d\xc4\x2c\xfc\x7e\xad\x31\xee\xe5\x00\x58\xdf\x61\x69\x25\x03\xa9\x05\x97\x2e\x39\x54\xfc\x10\xb0\x59\x80\xf8\x31\xa9\x72\x75\x05\x24\x92\x19\x99\x77\xc8\x46\xba\x81\xdf\xb7\xa0\xd3\x34\xaf\xfe\x1a\x10\x6a\xef\x5e\x89\x5c\x59\x55\xd3\xd3\x1a\x3a\x24\x81\x7d\xb6\xf6\xe6\xe8\xe8\xe2\x08\xb7\xb2\xd9\x55\x65\xd3\x40\x4a\x69\x4c\x36\xf9\x70\x02\x46\x8f\xa3\xe1\x08\x5d\xb2\x6c\x89\x66\x7c\xce\xf5\xb5\xcd\x73\x19\x7c\x69\x70\x3d\x70\xd9\x34\x14\x95\x5d\x18\x2c\xf6\xeb\xcd\x46\x1f\x2d\xfd\x95\xd1\x1d\xc3\x1f\xad\xcf\xe5\x0c\x66\x32\x8e\x73\xe1\xd6\xd0\xef\x93\x98\x9a\xf9\x06\x32\x6f\xe6\x74\x3a\xb3\x25\x3a\xc2\xde\xb5\xc0\xfa\x73\x5f\xb1\xd0\x35\xd1\x32\xb9\x5f\xc0\x50\xac\xaa\x36\x79\xad\x1f\xba\x4b\x2a\x5e\x87\x66\x62\x01\x54\xd7\x83\xdc\x60\x91\x3d\xe0\xd5\x01\xc9\xfc\x83\x8f\x45\x7d\x98\xe5\x82\x0c\xd0\x38\x87\xef\x2f\x2e\x6f\x43\xdf\x10\x65\xf0\xf5\x61\x32\x23\xc9\x83\xde\x17\x64\x84\xa2\x59\x2e\x57\xe8\x67\xbc\x1c\xb1\xa2\x0a\x81\xe2\xce\xd1\xb1\xf4\x69\x1e\x3e\xd5\x89\x0b\x94\x52\xb9\xc8\xf0\x12\x91\xaf\x8a\x30\x53\x94\xa5\xa2\xa3\xa3\x66\x96\xcd\xcc\x16\x28\x93\x60\xa5\x80\xd3\xc3\xe0\x5f\x6e\x12\xbe\x1a\x1c\x80\x9e\x27\x38\xa9\x54\x3b\xb6\x4e\xbc\xd9\x26\xd0\x51\x57\xf0\x23\xa8\x81\x68\x76\x34\x74\x95\x7a\xcc\x0d\x2b\x81\x67\x46\xb6\xf0\xd8\xe8\x00\x3c\x28\x23\x57\x2e\x4d\xff\xdb\x94\x5b\x22\xe2\x91\xa4\x23\x16\xa3\x9a\xec\x55\x56\xec\x32\x2a\x12\xc1\xeb\x44\x67\xf7\x6c\x53\xbd\xce\x3e\x19\xb2\x31\x06\x03\x91\xdc\x02\xc2\xed\x2b\xe8\x35\x24\xa6\x57\x17\x5c\x7b\x86\x0c\xea\xd6\xce\x8f\x22\xf3\xdc\xa6\x8d\xda\xba\x10\xc4\xe4\x34\x66\x4b\xd3\xf9\xdd\x32\xa6\xc7\x6c\x18\x40\xa7\x07\xa9\x5a\x20\x47\x01\x4f\xb0\x7b\x5e\x35\xc6\x88\xb9\xd0\xe2\x24\xcf\x32\x03\xd2\xaf\x6d\xcf\x68\x30\x5c\x2e\x54\xf7\x7a\x40\x19\x6f\xd7\xa2\x20\x55\x3f\x68\x66\xb8\x48\xb5\xec\x60\xc9\xb2\x28\xff\x08\xcc\x4b\x98\xcc\x4d\xf3\x7c\x15\x80\x94\xa7\x44\x21\xad\x77\xa4\x79\x66\x10\xbe\x22\x67\x16\x10\x86\xb3\x0c\x51\x25\x47\xcc\xe3\xd7\x4c\xf9\x1c\xb8\x0a\x12\x9b\xb4\x91\x5a\x5d\x10\x5e\x01\xc3\xda\x62\x4e\x70\x41\xd0\x84\xaa\x88\x24\xf0\x54\x2e\xc3\xdc\xb6\xc5\x82\x60\x01\xea\xa2\xeb\x26\x10\x6a\x83\xe5\x6d\xb0\x5d\x80\xa1\xc6\x4e\x7d\x5b\x8f\x5d\x70\xaf\xa9\xb1\xd4\x79\x53\x8e\xd0\xd0\xcc\x4e\xab\x82\xae\xd0\x8c\xa1\xd6\xc6\x93\x6d\x3c\x41\xeb\x5b\x4a\xfa\xaa\x88\x5e\xa3\x5e\x60\xa1\x68\x92\x67\x58\x64\x4b\x2d\x5d\x26\x79\x86\xe8\x24\xa8\x99\x03\x9b\x60\xe0\x4b\x50\xfb\x94\xc3\x1d\xe1\xe0\xc9\x12\x43\xff\x79\xcb\xe0\xce\xf0\xcc\x02\x27\xa2\x49\xc9\x32\xde\x29\x3d\xd6\xbb\x23\x74\x52\xae\x90\x04\xc7\x22\x80\x3d\x53\x69\x24\xa0\xa7\xd7\x66\x77\x42\x51\x38\xa8\xb4\x44\x27\x5a\xd9\xfd\x3e\x38\x78\x75\xa5\xf8\xb0\x7c\xe8\xe8\xa1\xbc\xc5\xf2\x61\xad\x97\xf2\x2c\xb8\x2a\x0b\x01\x78\x0b\x15\xde\x22\xbf\xa5\x3f\x11\x6b\xca\xce\x77\x24\x32\x84\x8c\x6f\x40\xe8\x97\xa0\x84\x5a\x99\xd8\x79\x43\x89\x1e\xd8\xc7\x8e\xa4\x06\xe9\xb3\xdd\x09\x0d\x38\x27\xf4\x47\xd7\xae\xec\x7a\xe3\xf2\x4b\x94\xc8\x8a\x34\x5d\x5a\xb1\x27\x26\x82\x51\xaa\xce\x09\x34\xd8\x8c\x57\x48\x3a\xf4\x87\x6d\x4c\x50\x46\xd9\x83\x39\x15\x18\x76\x7e\x80\x70\x31\x3a\x1c\x3e\x43\xbd\x61\xe6\x1a\xcd\xc6\xe3\x0a\x76\x13\x12\x6e\x07\xed\xa8\xdc\x5c\x3f\xef\x8a\xe7\xd7\x33\x62\xd5\x3c\xda\x6f\x4b\x63\xd8\xce\x2b\xb1\x2e\x56\x67\x2e\x98\xb8\xe3\xe0\x72\xdd\xfa\x5e\x95\x5a\x8a\xd7\x69\x81\x07\x84\xe5\xf3\x83\x0f\xe8\xff\x16\x2b\x73\x77\x71\x72\xfa\xf1\xec\xe2\xf4\x24\x60\xe0\x83\x3f\xdd\x9d\xde\xc5\x9f\x5c\xdf\x5d\x5c\x9c\x5d\x7c\x0a\x3f\xba\xb9\x3b\x3e\x3e\x3d\x3d\x89\x7f\xf7\x71\x78\x76\x5e\xfa\x9d\xfe\x28\xfe\xd1\xf0\xa7\xcb\xeb\xdb\xf8\xa3\x9b\x5f\xce\xae\xae\xe2\x8f\x6e\xcf\x3e\x9f\x9e\xdc\x5f\xde\xdd\xba\xb5\xfe\x4b\xb0\xc2\x00\x6b\x85\xe8\xae\xa7\xbf\x72\x89\x76\x51\x01\xa3\x6b\xfc\x39\x80\xb4\x4f\x04\x25\x2c\xcd\x96\x45\xff\x16\x7d\xe8\x4a\x41\xca\x50\xa4\xd3\x39\xe1\xf9\x36\x98\x01\x6d\xfa\xf2\x47\x6d\x52\x67\xc8\x8e\x66\xc1\x33\xa5\xfe\x67\xc1\x5b\x05\x51\x62\xd5\x0d\xd6\x88\xb2\x50\x62\x79\xa3\x04\x56\x64\xba\x6c\x09\x54\xb3\x2f\x41\x0b\x22\x3a\xf7\x62\x73\x86\x97\xc1\x59\xd2\x4a\x69\x7a\x51\x2d\x87\x5c\xc2\xf7\x96\x59\x95\xe0\x38\x6e\xbf\x40\x57\xfe\x91\x6a\xce\x38\x76\x45\x22\xb4\x45\xab\x30\xab\x01\xd0\x77\x2c\x64\x57\x64\xb5\x8a\xa2\x9c\xa4\xbd\x48\x9c\x92\x5f\xa0\x72\x37\x31\x7c\x6d\x62\x3b\x4b\x8b\xde\x5b\x36\xe1\x3d\xa8\x6a\x51\xb1\x09\xa5\x52\x61\xcf\x7e\x09\x34\xb2\xa4\xc5\xf6\x81\x66\x66\x32\x0b\x6d\x47\x39\x73\x6b\x42\xba\x6e\x6d\x24\x6d\xc7\x95\x05\xbd\x66\x58\x94\x45\xf3\x85\xf6\x9c\xb8\xe8\xae\x07\x94\x8a\x8a\x05\x05\xd7\x4c\x8f\x07\x48\x24\x85\x61\x0b\x57\x99\xbd\xf8\xcd\x31\x7d\x24\x29\x3a\x0c\x0b\x39\xa6\x87\x00\xfe\x1a\xb1\x3a\x03\xb0\xa2\x08\x62\xc8\x01\x57\xae\xc6\xc5\x36\x7b\x5f\xb1\xfa\xf5\x47\xd0\x2d\x76\x3b\xcc\x03\x72\x3f\x3f\x42\xf5\x9e\x46\xbb\x2f\x63\x6c\x3c\x3c\x70\xb6\x7c\xf1\x8e\x3a\x04\x96\xbf\xaa\xba\x39\x44\x5b\x39\x43\xb1\x4f\xf0\x30\x6e\x50\x50\x29\x66\x18\xdc\x63\xa6\x66\x65\x44\x78\x50\xb2\xb3\xce\xa6\xf0\x89\xde\x35\x5c\x6e\x73\xf7\x6a\x8b\xa3\x56\x7d\x5d\x67\xe0\x0d\x4c\xc0\xde\x57\xdf\x0e\xb3\x63\x7d\xa6\x7f\x37\xc6\xf7\xbb\xe1\x73\xaa\xb1\x93\x7b\x20\xb0\x32\x9c\x6b\x95\x7b\x91\x61\x83\xf3\x99\x61\x69\x58\xda\xf9\x10\xf1\x98\x66\x54\x41\x0f\x68\x63\x7d\x97\x56\x98\x0b\x34\xc7\xe2\x41\x1b\x9c\x24\x9b\xe8\xd1\x4b\xb1\xf7\x4a\xa6\xdf\x32\xce\x55\x14\x88\x79\xc9\x48\x57\x71\x64\xdb\x9a\xee\x05\x5b\xda\x28\x57\xb1\x1d\xa6\x84\xb1\xe2\x41\xb1\x9b\x6e\x3b\x6b\x47\xbc\x2a\x3f\x1e\xad\x77\xc5\x45\xdd\xdd\xa5\x6a\xb1\xf9\x1d\xc4\x7c\x19\xb9\x5f\x79\xb2\x26\x19\xc7\x35\xe5\x6a\xdc\xd8\x06\x88\x5f\x37\x76\xca\x73\x2d\xce\x2a\x07\x37\x54\x35\x8f\xde\x64\x1f\xb9\x73\xbb\xdd\xa9\xaf\x16\x80\x58\x11\xe8\x7c\xb4\xd1\x82\x16\x8d\x93\xaa\x07\xcf\x05\xae\x02\x5f\xb4\x2f\x14\x58\x64\xad\x38\xe6\x41\xb7\xcb\x05\xa9\x28\x8f\x16\x41\x8b\x37\xb4\xb5\x6e\xae\x4e\x8f\xcf\x3e\x9e\x95\x0c\x9d\xe1\xcd\x2f\xe1\xbf\xbf\x5c\x5e\xff\xf2\xf1\xfc\xf2\x4b\xf8\xd9\xf9\xf0\xee\xe2\xf8\xe7\xfb\xab\xf3\xe1\xc5\x1a\x73\x68\xf5\x15\xab\xde\x88\x02\x60\x5f\xc0\x9c\xf5\xdd\x60\x91\xb9\x60\x89\x56\x9c\xaf\xeb\x8a\x24\xb9\x4d\x5b\xf2\x3c\x9b\xc7\xd1\x13\xe9\xfe\x38\x65\x4a\x2c\xbb\x24\x4f\xa2\x94\x48\xb8\x87\xac\x73\x31\x4e\xdc\x23\x12\x5c\xb5\x6e\xf4\x0b\x10\x6c\xce\xf9\x6d\x23\x28\x76\x1d\xf5\xc5\x92\xd1\xda\x56\x1a\xd5\x3d\xd1\xf7\x64\x1d\x42\x88\x1e\xac\xc2\x98\xe7\x2c\x75\x15\xca\xe6\x94\xbd\x9f\xe3\xaf\xef\xdc\x4c\x8b\x8e\x65\x90\x17\x6a\xca\xc2\x67\x5a\xeb\x58\x22\x91\xb3\xe6\xe5\x1a\xb1\x86\xf5\x5a\x7f\x33\x98\x7e\x7d\xf4\x1f\xa0\xe2\x14\xfa\xa8\x71\xe8\x3e\x92\x65\xd5\xfe\xad\x24\x24\x19\xa7\xb1\xd5\x81\x61\x90\x85\x20\x50\x90\xd3\xbb\x8b\x33\x13\x06\xf0\xff\x86\x70\x64\x94\xa7\x59\x75\x27\xc5\xa6\xf2\x56\xe7\xa6\xd2\x48\x7f\x86\x94\x32\xfb\x26\xbd\x69\xc6\x64\x77\xe9\x9b\x36\xfc\x9a\xa2\xa7\x19\x31\xbb\xf5\x37\x3e\x46\x13\x88\x56\xdb\x32\x2c\x82\x24\xe0\x7d\xd0\x7b\xe1\xd2\x74\x00\xf5\xba\xe2\x07\x70\x3c\x90\x11\x09\xbe\x30\x28\x69\x48\xfe\x9e\x5b\x68\xdb\xef\x7f\xec\x96\xfa\xa4\xc4\x12\x49\xbb\xcc\x61\xb4\xdc\x82\x45\xac\x4b\x0d\xe8\xca\x19\xad\x2a\x9d\x76\x6d\x8a\xf9\xbd\x6c\xcd\xd4\xd2\x4b\xed\x3f\xd7\x02\x0a\x6e\x5d\x96\x8a\xf9\xfd\xb3\xa5\x2f\xfc\x5a\xca\x5a\xb0\xaf\x83\x38\xa1\x1d\x5d\x06\xa0\x78\x6d\x19\x3d\x61\x91\x1a\xc7\x80\xa2\x60\x4f\xfd\xcc\x9f\xc8\x23\x11\x03\x94\x10\xa1\xb0\x45\x13\xeb\xb3\x96\x65\x70\xa0\xec\x38\x23\x06\xa1\x73\x03\xcd\x66\x50\xc2\x46\xd1\xe9\x4c\x2b\x8f\xd6\x08\xb5\x65\x2f\x25\x51\x80\x04\x24\x5f\x17\x24\x31\x98\x89\xba\x40\xf1\x24\xc3\x8f\xab\xf0\xe8\x4d\x90\xaf\x41\x65\x4f\xd7\x76\xc8\xa6\x94\x34\x3a\xa5\x5c\x81\x48\x23\x35\x17\x4b\x35\xe3\x6c\x80\xa6\x3c\xc3\x6c\x7a\x74\x74\x84\x88\x4a\x8e\xde\x75\x62\x74\x3b\x60\xf0\xba\x22\xe0\x95\x71\x49\xb2\xa5\xb3\xf0\x0a\x60\x82\x5e\x65\x00\x42\x48\x6a\xcc\x9b\x0a\xee\xbf\x29\x03\x68\x5f\xd6\x4d\x56\xad\x95\x76\x46\xe2\xd4\x8c\x53\xee\x17\xb2\x6e\x24\xf3\xfb\x6a\x4d\xbb\x03\xb2\x0c\x2a\x22\xd0\x34\x2b\x10\x66\x35\x09\x4e\x9c\x75\x85\x4d\xfd\xca\xeb\xaa\xbd\x6c\x94\x11\x50\x39\x92\xc5\x6f\x6f\x04\x24\x5a\xe5\xe8\x0a\x8e\xf3\x98\xbb\xad\xb2\x8f\xb2\x7c\xbe\x5a\xb2\x70\x57\x5a\x54\x41\xa4\xf9\xeb\x18\x5e\xd7\xbe\x3e\x80\x2f\x6a\x03\x5d\xfd\x89\x96\x8c\x40\xaf\xed\x9d\x0d\x63\x82\xb4\x14\x54\x42\x1e\xc4\x26\x6e\x71\x3f\x8c\x19\x1a\xdc\xb3\xda\x86\x31\x65\xc6\x6c\x43\x17\x80\x58\xf9\xbe\x2c\xe6\x11\x69\x54\x1d\xf0\xe9\xd6\x4b\x86\x02\xc3\xb9\x91\xd5\x73\x71\x79\x71\x1a\x9a\x32\x67\x17\xb7\xa7\x9f\x4e\xaf\xa3\x10\xd1\xf9\xe5\xf0\x36\x0a\x07\xdd\x5e\x97\xa2\x48\x3f\x5d\x5e\x9e\x9f\x0e\x2f\xc2\x8f\x4e\x86\xb7\xa7\xb7\x67\x9f\xa3\xc1\x4f\xee\xae\x87\xb7\x67\x97\xd1\xef\x7e\x3a\xbb\x18\x5e\xff\x39\xfc\xe4\xf4\xfa\xfa\xf2\xba\xf4\xbe\xbb\xe3\xe6\x40\x53\x34\x8d\xea\x9d\x28\x94\xe5\x00\xce\x5a\xa5\x14\xde\x62\xf9\xb0\xe3\xe0\x28\x80\x01\x36\xec\x94\x5b\x23\x94\x52\x72\xbf\x59\xdc\xb4\x2e\xf6\x5b\xf9\x1e\xad\x0f\x2e\xef\xb1\x52\x64\xbe\xd8\xae\x60\x42\xfb\x83\xd3\x2d\x24\x0b\x26\x4d\x8b\x90\x6c\xb4\xab\xfb\x13\x92\xad\x88\xb6\xda\x90\x6c\x13\xbb\x37\xc4\x55\xf5\x3c\xcf\xf9\x56\x1d\x9a\xba\xf4\x76\x08\x79\x72\x7d\x24\xb6\xf2\x39\x0b\x9c\xbf\xaf\xee\x16\x50\xcd\xc8\x76\x96\x9f\xcd\xa3\xa6\x59\x40\x4d\xd0\x56\x65\x3b\xf0\x3f\x9d\xf3\x69\x35\x48\xd5\x77\x56\xa4\x32\x48\x53\x07\x6f\x36\x9f\x22\x49\xd9\xc3\x88\x7d\xd1\x06\x19\xcf\x85\xf9\x48\x71\x01\x78\xe7\x49\x96\xcb\x19\x81\x32\x4c\x03\xf4\x44\xa0\x3d\x3c\x78\xb5\xe3\x3a\xb5\x50\x6c\x33\xa3\x0f\x04\x9e\xce\x28\xd3\xdc\xbe\xa0\x4e\x03\x2a\x6f\xfd\x2e\x0c\xa4\x94\x4a\x6f\x27\x3e\x63\xa8\xa1\xf0\x74\x3d\xcd\x08\xc0\x4a\x83\x2a\x57\xae\x40\xa6\x91\x3c\x90\xc2\xc4\xf9\x43\xbe\xb0\xed\xcd\xb0\x7c\xf8\xde\x81\xb4\x60\xb9\x1f\x39\x4d\x51\x9a\x2f\xb2\xa0\xbb\xe0\x13\x17\xb5\x41\x75\xa3\xa9\x77\x08\xaa\x97\xec\xcf\xa6\x89\x55\x98\x01\x81\xd5\xd1\x10\xea\x7f\x66\x80\x41\x50\xfb\x22\x97\x44\x1c\x2a\x41\xa7\x53\xd0\x7b\x9c\x53\x61\x4f\x11\x08\x83\x55\xde\x5c\xde\x6f\x6f\x3f\x87\xae\xd6\xcc\x54\x06\xf5\x95\x00\x34\x4f\x2d\x16\xd9\xd2\xe1\x02\xcd\x02\xba\x63\xbf\xc8\x85\x29\xe8\x33\x41\x9e\xa0\xda\x10\xe3\x42\x10\xfd\x96\xf4\xde\x94\x13\xd9\xbe\xcc\xc9\xd9\x44\x6b\x32\xb6\x37\x6e\x51\x90\xa5\xa8\x85\x61\x36\x1b\x92\x14\xec\xbb\x1d\x6a\xdf\x24\xcc\x32\xd3\x18\xef\x89\xb9\x96\x81\x58\x1a\xd3\x1e\x1a\x87\x2f\x8b\x7e\x82\xd0\x98\x0c\xd2\x6d\x7d\xaf\x39\x9b\x00\x68\x7d\x74\xa6\x62\xdd\x5a\xc4\x88\x97\xa3\x80\x53\x8c\x3b\x0b\x95\x25\xd8\xb6\xa8\x7b\x1f\x5e\xdf\x54\xe1\x6a\x36\x19\xa6\x19\x1f\xe3\x2c\x5b\x56\xe0\xf1\xc3\x4b\xa1\x9b\x7f\xcc\xf5\x3f\x8a\xaf\x14\x07\x9c\x81\x48\x2c\x6f\xc8\x73\x8e\xaa\xf4\xef\x34\x61\x61\xfb\x05\xcb\x15\x37\xb9\xc6\xe0\xf0\xd3\x93\x3b\x2b\x55\x91\x3f\x32\xe8\xd5\xb3\xb4\xb2\x4c\x46\xc1\xd0\x6e\xe5\xeb\x84\x67\x85\x89\xde\x29\xdf\x62\x21\x88\x73\xce\x2c\x89\xf2\x3e\x99\xcc\xa1\x6b\x97\x8b\xb8\x70\x78\xe8\x94\x76\x6e\x27\xe7\xee\x36\x6d\x7e\x83\xd2\xa4\x9c\x11\xa6\x4c\x81\x46\xc6\x47\xcc\x0e\xee\xb2\xb7\x7c\x01\x14\xeb\x67\x37\x0b\x33\xb0\x2a\x2e\x1c\x5a\x41\x24\xcf\x1e\x6d\xcf\x4e\xbf\x26\x8a\x03\xba\x5a\x13\x78\xac\xa5\xad\xd6\x2d\xb4\x85\xe9\x4b\x4b\xce\xc8\x88\x95\x52\x98\x82\x6e\xc1\x8e\x63\xc3\xe7\x77\x96\xd6\x11\xa9\x23\x4d\x4b\x5f\x9b\xd6\xd1\x70\x0f\xf8\x50\x42\x07\x7a\x96\x0b\x92\x9e\xf9\xe7\x9a\x99\x21\xb2\xcc\xd3\x20\x72\x11\x1d\x72\xc3\x03\x46\x9e\x4a\x93\x1b\x23\x7d\xc3\x4f\xbf\x49\xbe\xa4\x8e\xaf\xa9\xad\xb7\x68\x8a\x5d\x5d\x75\xe9\x8b\x6a\x43\x30\x35\xf2\xa8\x96\x7a\xe0\x78\x55\x27\xe1\x52\x99\xf0\x0d\x3c\x32\xc1\x34\xcb\x45\xed\x0d\x6e\xd8\x72\xe7\x49\x67\xc7\x30\x2c\xaa\xda\x35\xef\xf6\x0c\x8e\x91\x77\x79\xfa\xde\x3a\x59\x3e\xa5\x4c\xc6\x5c\x5f\x5f\x63\x72\xa5\xde\xee\x9a\x0d\x2f\x4a\xf4\xb6\x97\xc5\x43\x73\xd8\x4b\x9d\xac\xab\xeb\xf7\x58\x9d\x2a\xa0\x7d\xc4\x6e\xe1\x2a\x35\x39\x55\xfe\x98\x41\x7d\x25\x53\x2e\x03\x8a\x0d\x57\xcd\x37\x92\xe7\x31\xa7\x6e\x85\x97\xa8\xca\x7e\x5a\x8f\xcb\xfa\x8c\x17\x4d\x89\x29\x5b\x8f\xb8\x6e\x1b\xbc\xf3\xac\x7c\x0c\xcb\xd5\x6b\x2b\x56\xcf\x63\xcb\x5e\x24\x46\xd4\x25\x4d\xd6\x43\x0c\x6d\x82\xf9\x4a\x8e\x63\xa4\x37\x86\x8f\x76\x47\x99\x16\xc1\x11\xdb\x30\xcf\x0c\x38\x36\xb8\xc0\x10\xca\xb8\x45\x8e\xa5\xdf\x98\x52\x43\xe3\xaa\xed\xd8\x12\x66\x55\x20\x63\x5f\x10\x65\xf5\xeb\xca\x12\x75\x05\x59\x95\xda\xc4\x2b\x1e\xb4\x93\x6a\xa5\x31\x7b\x70\xd5\xaf\x31\x34\x38\x5a\x62\x4e\x5b\x61\xa8\x57\x6b\xaf\x81\xd2\x92\x12\xc6\x15\x41\x18\x31\x9a\xbd\x67\x79\x96\xbd\xbf\x80\x6e\x1e\x52\xd2\xa9\x29\x16\x0c\x0e\x8d\xa8\xfb\x32\x40\x53\x03\xa8\x69\x70\x04\xe0\x8a\xd4\x24\x99\x5e\xe6\x4a\x4b\x4c\xbd\x05\xd9\x72\xc4\xf4\x13\x46\xc5\xf2\xad\x34\x5d\x4b\x3e\x78\x9b\xcb\x6a\xb1\xef\xd2\xa6\x2b\x5b\x86\x83\x57\x30\x58\x53\x22\xc8\x56\x11\xb3\xbe\x42\xe0\xde\x54\x08\xe4\xc2\x39\x86\x3a\xd4\x0a\xac\x3f\x54\x1b\x17\xeb\xf3\x8a\x98\xf7\x38\xb7\xe0\xc7\xd7\xf4\x36\x3f\x67\x5a\xd0\xd6\x39\x40\x6e\xa5\xba\x38\x2d\x4b\xdc\xe1\x1e\xf5\x8c\xa0\xb7\x4c\x04\xa9\xef\x23\x76\xcb\xbd\x85\x66\xd9\x7f\x92\x6b\xd5\xae\x41\x94\x6c\xeb\x83\x30\x48\xe6\x45\x86\xd9\xbd\xb9\x5b\x5e\xc1\x0b\x11\xa0\xa9\xeb\xea\xb0\x04\x9d\xc1\x76\x43\xa7\x3f\x60\xd7\x51\x8e\x43\xd8\x2a\x68\x50\xae\xd5\xe8\x2e\x04\xdf\x33\xd9\xda\x42\xb6\x6a\xee\xd7\xaa\x70\xf5\x7a\x4f\x0a\x2e\xd9\x4d\xbe\x6c\xf4\x1a\x57\xca\x4a\x2f\xbf\x3d\x73\xa7\xb4\xd9\x79\xcf\xfb\xbb\xb2\xe4\x57\xce\xe9\x46\xd6\xfc\x1a\xb2\x9e\xd7\xa2\xaf\xd5\x5c\x57\x2d\xfb\x2f\x71\xcb\x99\x04\x7a\xb8\x25\x59\x9e\x12\x24\xb9\xbe\x4e\x9d\x62\x5d\x8d\x96\x2f\x45\x69\x9f\x35\x79\x3f\xce\x55\x6c\x0d\x77\x30\xe5\x3b\xd0\x19\x43\x4e\x41\x1e\xa0\xd1\x81\xe1\x2c\x39\x3a\x88\xfb\xf3\xba\xda\x20\x71\xd9\xf5\xb2\xdf\xcb\x78\x8c\x83\xae\x61\x2c\xb0\xce\xca\xeb\x52\x63\x44\xbe\x66\x51\x8e\x00\x0b\x62\x82\x4a\x63\x33\x80\xd5\x09\x8c\xaa\xb3\x74\x15\x3b\x20\x31\x50\xe4\x89\x0a\x3a\x00\xba\x02\x07\x3f\xb9\x07\xf5\x12\x2d\xf2\xcc\x76\x38\x76\x05\x05\xb8\x18\x31\x37\x5a\x51\x67\x6c\x98\x65\x2b\x43\xad\xd6\xf6\x08\x78\x15\x2a\xfd\x38\x94\x26\xa0\x7f\xf5\x8f\x00\xc7\xb2\x22\x07\x46\xcc\xe4\xec\xf8\x74\xb1\x23\x34\x2c\x75\x46\x8c\xcb\x58\x84\x55\x2c\xb2\xcc\x95\x70\x30\x85\x11\x82\xbc\x7d\x99\x43\x35\xf3\x49\xae\xc5\x91\x7f\xbb\xe2\x23\x06\x15\x4d\x4c\x93\x6b\xb7\x2e\x23\xf6\x99\x4b\xd7\xad\x49\x16\xeb\xe1\xe0\xab\x76\xd9\xbe\xf7\x60\x55\xfb\xc1\x89\x16\x22\xfa\x29\x6d\x59\x94\x52\x15\x21\xaa\x01\xb1\xd7\x01\x5a\xf2\x5c\x14\x93\x4a\x30\x1b\xb1\xbf\xe9\xe5\x71\x65\x3a\xb8\xef\x25\x0a\x87\xd8\xa5\x76\xa2\x1f\xfe\x6a\x06\xfd\xe1\x3f\xde\xfd\xf5\x9d\x29\x82\x94\xcb\x5c\x4b\xd8\x41\x7c\x85\x38\x42\xf5\x96\x52\x36\x1d\x31\x37\x03\x5f\x77\xbd\x78\x45\x63\x42\xaf\xf5\xd5\xed\xba\x7c\x6d\x61\xf0\x0f\x51\x82\x55\x32\x3b\xc4\x96\xf7\xc2\xd2\x25\x54\x16\xc5\x91\x9f\x66\x84\x41\x13\x9f\xb8\xa0\xb2\x81\x4b\xa3\x54\x4b\xb6\xb9\x4f\xb6\x8b\xf8\xc5\xb4\x73\xb0\xe8\xe1\x52\x96\xa1\x7b\x13\x30\x67\x91\xe7\xf6\xa5\x90\x0c\xee\xe7\x0e\xfd\x5b\x58\xe9\xd6\x33\xa1\x2d\x86\x14\x8d\x0c\x5a\x6e\x74\xe0\xb6\x7f\xc4\x16\xe3\xa3\x6c\x39\x51\x47\x80\xdd\x3b\xd2\xcb\x72\x74\x5a\xee\xfa\xb0\x4e\x47\x30\x8a\xbc\x27\xe7\x26\xf6\xf4\x11\x6f\x19\x10\xe3\xbd\x1d\xf8\x96\xe2\x2c\xee\x0b\xea\x8f\x03\x94\x25\xd1\xf7\x0a\x56\x34\x81\xab\x19\x33\x9c\x2d\x01\xf2\x3e\x18\xb1\x94\x0a\x92\x40\xc3\xb2\x64\x99\x64\x34\xb1\x55\x1d\x62\xd5\x83\x3c\x12\xa6\x22\x64\xce\xa9\xfe\xe4\xa5\xb4\x8f\x3a\x4c\x50\xb5\x72\x77\x57\xa3\x79\xf8\x0a\x3c\xb1\x6d\x54\xe6\x7f\x9b\xe8\x2a\x3a\x26\x0a\xfb\xd7\x83\x24\x4c\x9d\x55\xcb\x05\x9d\x52\x06\xdd\xbc\x7f\x00\x27\x4f\x96\x11\xf1\xce\x77\x7d\x80\x55\xac\x26\x63\xd6\xa9\x48\x77\x45\x49\x87\xea\xbb\x2d\x49\x72\x21\x48\x7a\xbf\x0a\x65\xe9\x9a\x54\xd5\x1c\xe8\xd7\x9a\x2c\x9d\x13\xa9\xf0\x7c\x11\x76\x3f\xf6\xf0\x7f\xbb\x32\x99\x59\x04\xe4\x08\x1b\x20\x0a\x68\x15\x1f\x94\x1b\x31\x1b\x8e\x33\xfb\xc6\x45\x45\xb6\x70\x79\x96\x70\x4e\x5b\x74\xc6\x68\xb8\xfe\xbb\xf6\xd5\x28\xbb\x05\xae\xcf\x5d\xc4\x94\x47\x6d\xa2\x83\x76\xad\x14\xce\x33\x9c\xd3\x8a\x86\xaf\x23\x56\xe0\x21\x8e\x33\x9e\xa7\xc8\x3a\x45\xac\x8b\x41\x1c\x21\x4a\x8e\x06\x48\xfe\xfb\x87\xf7\xef\x8f\x8e\x76\x54\xe3\x3b\xee\xe6\x52\xcd\xe1\xa6\xdf\x4a\x15\xde\x68\xcd\xd1\x8a\x6a\xfa\xdc\x77\x53\xf4\x1d\x1e\x1a\xb8\x25\x34\x84\xe3\x70\x7d\xf9\x95\x0b\x2c\x08\x53\xf7\x80\x70\xec\xf6\x42\x78\xd1\x15\x3c\x1e\x81\xf3\x5a\x59\x19\x45\x4d\x30\x9b\xdd\x84\xe5\x03\xfa\x81\x82\xbf\xf0\x9d\xb5\x7d\xa1\x61\x71\x43\xa9\x9e\x55\x09\xdc\x44\xcd\x0b\x89\xe2\x3a\xf4\x69\x1b\xf2\xa3\x67\xb7\xbe\x40\xb6\x01\xad\x36\xc2\x57\x4e\x7c\xdd\x49\x88\x14\x9e\x31\x6d\xf2\x8f\xb5\x10\xd7\xac\xee\xfd\x00\x80\x3d\x1d\x3a\x00\x98\x47\xaf\x38\xc0\x8b\x49\x0d\x2f\xc1\x3f\xbd\xef\x2e\x84\xa7\x18\x16\x2d\xdd\x4d\x75\x7d\x61\x0c\x3b\x3f\x03\xbe\xb6\xfa\xa8\x0f\xcb\x33\x28\x2a\xa1\x3e\xd0\xe4\x81\xe8\x7b\x6e\x52\x94\x84\x08\xa5\x9b\xbf\xdf\x3c\x5e\xc7\x76\x83\x36\xd1\x67\x62\xe7\x7d\x4f\x4d\xbd\x3b\xe2\xba\x30\x06\xc8\x81\xef\x65\xf5\xe2\x3c\x37\x18\xb8\x7a\x2d\x60\x7c\x0f\xf9\xb3\x49\x69\x5e\xb5\x30\xca\x18\x48\xe4\x3f\x78\x79\x28\x49\xc2\x99\x87\x09\xee\xe4\xa2\xaf\x00\x0a\x57\x93\x0b\xdf\xad\x64\xb3\xad\xd3\x3a\xb6\x54\x7e\x0a\xc5\xc7\x75\xb5\x35\xf6\x29\x44\x69\x00\x8c\xa0\xdf\x3d\x80\x56\xe1\xf6\x18\x40\x87\x2b\x94\x92\x71\x3e\x9d\xd6\xde\xc9\x19\xdf\x45\x4f\xd4\xe6\x55\x3d\xe7\x0d\xf6\xb8\x9f\x61\xd6\x04\xb5\x5d\xc3\xa1\xdf\x90\xf2\xd5\x88\x7d\xd9\x85\xfa\x74\xe6\xde\x64\x6c\xae\x09\xcd\xc8\xcb\x68\x4c\x3b\x52\xff\xce\xda\xa8\x7f\xce\x68\x87\x78\x95\x99\x87\xb7\xf3\x7e\x43\x7a\xa1\xc1\xff\xdc\xeb\x27\x9f\x15\x04\xe4\x61\x8b\x70\x58\x0d\xbc\x47\xcb\xa6\x54\x42\xf6\xe9\xee\x51\x41\x20\xdb\xd7\x41\x81\xb7\xce\xbe\xbe\xe1\x73\x82\xe0\x55\x72\x60\xb0\xf8\x36\xe0\x36\x00\x27\x9f\x9e\x20\x9a\xe7\x99\xa2\x8b\xcc\x0a\x7f\xeb\xc5\x4a\x66\x98\x4d\x83\xaa\xe0\xe8\x07\x46\x9e\x90\x96\xb5\x83\xd0\xeb\x11\x6c\xcf\x00\x11\x95\xbc\xd3\xba\x4d\x14\x24\x11\x24\xe1\x22\x05\xa4\xf6\x14\x8b\x14\xd2\xb2\x2d\xc3\x67\x38\x79\x80\x72\x2e\x70\x1d\x99\x37\x5a\xcf\x8c\x03\x33\x1b\x6f\x61\x31\x1a\x65\x89\x69\x70\xec\xb2\xc5\x3d\x7d\xe6\x71\x89\x70\x22\xb8\x34\x8e\x1f\x57\xc5\xc3\x04\xe3\x41\xfd\x7a\xa4\x69\x8e\x33\xf3\xc6\x2e\xae\x97\x2b\xcb\x10\x2e\x6e\x1c\xf8\x9c\x40\x4a\x46\x79\xb3\x1f\xb9\xb0\xc0\x64\x58\xf1\x2b\x9b\x9e\xfb\x33\x7d\x24\x03\x74\xb3\xc0\xe2\x61\x80\x4e\x96\x0c\xcf\x69\xf2\xdf\x7c\x5c\xe5\x4f\x59\x09\xc4\x6e\xad\x12\xef\xbe\x52\x65\xf5\x41\xff\xb2\x12\x66\x46\x75\x19\xa5\x6f\xd3\x9b\x52\x13\x23\xff\xd6\x2f\xf5\x35\x21\xb0\xde\x31\xb2\xd3\x0b\xb0\xd2\x50\x76\x6e\x0e\x9c\xce\x29\x8b\x6c\xb5\xbd\x72\xb6\x96\x37\xb5\x0a\x93\x12\x09\xe3\x56\xd6\xed\x2e\x34\xc7\x2b\xac\xad\x1c\x6d\x50\xce\xb9\x22\xe6\xde\x97\x8a\x0b\xa2\xcf\x89\x70\xea\x24\xb4\xd4\x80\xe6\xf1\xbc\xbe\xf5\x59\x92\x71\x99\x8b\x96\x62\x63\x75\xc3\x8e\xed\xe3\x8d\xda\x09\x9f\x2f\x20\xd8\x21\x88\xcc\x33\x25\x2b\xec\xb5\x15\xb7\xf5\x66\x6d\x3f\xed\x59\x72\x0d\x42\x6c\x11\x74\xca\xa6\x59\x5d\xdd\xe0\x11\xb3\x35\xd4\x03\x59\x83\x8b\x6c\x01\xa7\x00\xb9\x7c\xae\xa7\xa8\x7e\xb4\x2f\xc0\x6e\x71\x1e\xd8\x1a\xc8\x5e\x0f\x81\xbb\x73\x00\xd5\x55\x0c\x24\x86\x41\x71\x9d\x11\x93\xf9\xf8\xb0\x40\x63\x70\x01\xd2\x0c\xb2\xa3\x17\x18\xda\xdd\x27\x33\x9a\xa5\x87\xab\x50\x27\xab\x55\x40\xe9\x75\x5f\x49\x68\x4c\xa0\x58\x08\xac\xb0\x69\x73\x64\x82\x81\x7e\xee\x7e\x9c\x71\xae\x10\xf1\xa5\xac\xa9\xb4\xce\x9a\xd2\xcd\x1d\x9d\xcf\xc8\x16\x7f\x6d\x0f\xdc\xfa\xf3\x59\x97\x0c\xf4\xed\x9f\xcb\x68\xcd\xda\x9c\xcb\xdb\xd8\xeb\xe5\x4e\x0d\x66\xfe\xa4\xd6\x2d\x95\xbc\x37\x2e\xab\x67\xcc\x4c\xfd\xe2\xf3\x51\x5d\x0a\x87\x5c\xe0\x27\x66\x31\x10\x9d\x6a\x23\xb6\x93\x0f\xd5\x49\xec\x5a\x3e\x94\xbe\x11\x51\x17\x79\x6a\x62\xd8\xd4\xa7\x56\x0d\x82\x14\x4f\x68\x6b\x51\xe0\xe5\x0b\x73\x63\xc4\x0a\x70\x4e\xd1\x87\x2f\x29\x0b\x4a\x8b\x79\x49\x21\xb0\x49\x06\x2e\x60\x3f\x30\xf9\x45\xd6\x28\x38\x1c\x63\xa8\xe3\xa9\x94\xa0\xe3\x5c\xad\xd4\x53\x88\x4e\x73\x65\x50\x61\x17\xda\xf8\xd9\xf3\x97\x8d\xf7\x2a\x48\x04\x38\x2c\xca\xee\x17\x48\x9c\xf2\xd4\x83\xfa\x32\x2f\x9f\x93\xdf\x2d\x8f\x21\x28\xfa\xd2\x9e\xc3\x57\x72\xa5\x6c\xc1\x13\xb0\x60\xd3\xa0\x5c\x6f\x84\x13\x80\x25\x2c\xca\x19\x7b\x0c\x45\x00\x29\xd7\x22\x0a\x4f\x09\x9a\x93\x94\xe6\xe5\x34\x99\xf5\xd1\xaa\xbd\x32\xf3\xda\x70\x96\x36\x78\xbd\xe1\x77\x01\xca\xf9\x93\xbe\xb5\x0d\xc2\x0a\x9c\x0c\xd5\x19\xe5\x01\xca\x11\xab\xef\xa5\x8f\x7e\xc5\x2b\xe6\x5c\x3a\xe7\x54\xaa\x5f\x4b\xa5\x48\x37\xc8\xc6\xc8\xf2\xe7\x83\xb6\x39\x52\x0d\x99\xc1\x13\x8d\x10\xae\xeb\xa8\xcd\x22\x30\x99\x71\x0f\x00\x26\xc3\xe5\xa9\x68\xba\xbb\x08\xf0\xbf\xfa\xf5\xfa\xab\x6d\x04\x29\xf0\x62\x41\x04\xb2\xcd\x20\xcb\xed\x1d\x4d\xd2\x07\xbc\x65\xc4\x8c\xc2\xf4\xdf\x37\x97\x17\x85\xe4\x2e\xec\x96\xd2\xd0\xf0\x33\x58\xba\xa3\xea\x9d\xbb\xc8\xb3\xac\x76\xe7\x5a\x94\xfa\xb9\x3b\x3f\xbf\xff\x75\x78\x7e\x77\xda\x5c\x4a\xa7\xf8\x59\xed\x9a\x78\x4a\xec\x9a\x98\x6b\x4c\xc1\xd5\x95\xcf\x89\x75\x18\x81\x32\x62\x67\x6d\x00\x05\x79\x96\xc5\xb8\xfd\x11\xfb\xab\x1d\x07\xf0\x5d\x39\x33\x6a\xe6\x88\xa1\xc6\x85\x8b\xdf\x0f\x3f\xfb\xab\x1e\xfc\xaf\xe6\xd9\x43\x54\x4c\xe2\x03\xba\xf0\x6f\xad\x59\x57\xeb\xe4\xdc\xe2\x38\x98\xf4\x81\x97\xca\x4c\xda\xec\x78\xdc\x31\x57\xe5\xca\x26\x14\xed\xe4\x74\x98\xb5\xfb\x6b\x6c\xc2\xf8\xec\xc9\xd4\xc8\x79\x18\x77\x60\xf2\x49\x4c\xa3\x60\x9f\x72\x31\x62\x26\x7e\x0f\xed\x21\x79\x3d\x4d\xe8\x8c\x19\xe0\x5e\x86\xd9\x34\xc7\x53\x22\x07\xc8\xbd\x7c\xc4\x7c\x33\x42\x5b\x9d\xc0\x57\xd1\xc7\x50\x33\x38\x66\x21\xe3\x5a\x24\x5f\xf1\x7c\x01\x21\x0f\x36\x62\x76\x4e\x6c\x5a\x0c\x6f\xbc\x8e\xff\x7d\xe3\xa7\xa3\x39\xcd\x0f\x64\x53\x62\xd8\x88\x99\xcd\x35\xf9\x50\x4e\xb7\x03\x87\x0b\x74\x1f\x8d\x58\x17\x0b\xe2\xb2\xf0\x40\xa6\x4f\x41\xcb\x34\x05\x56\x5d\x48\x4f\x4b\xfa\xa0\xc2\x82\x71\xf0\x1a\x92\xd6\xcb\x13\xb7\x19\xee\x4c\x58\xda\xaa\xb9\x7e\xeb\x3b\x40\x1f\xb8\xea\xa2\xd6\xcd\x6c\x5b\x88\xb1\x35\xd2\xbc\x60\x28\x56\x3e\xc2\xa8\x8c\xb4\x86\x60\xf1\x0e\x0a\x78\xb7\x26\xc9\xfc\xbe\x91\xa8\x0e\x75\xbf\x5b\xbf\xd6\x26\x73\x36\xbd\x56\x5b\x38\xcd\x2f\xdd\x81\x89\x14\x11\x65\x1f\x58\xb7\x18\x79\x52\x53\x62\x7d\xeb\x18\x54\x79\x89\x9c\xf4\x69\x22\x28\xa3\x72\x23\x72\x0a\xfd\xa9\x35\x45\x5e\x43\xb0\x97\x5d\x27\x09\x6b\xef\xb9\x48\xc0\xd6\x88\x49\x8b\x85\xb2\x6e\x19\x42\x8d\x78\xd1\x87\x67\x00\x87\x48\xf3\xff\xc0\x33\xd1\xa0\xd8\xb9\x81\x29\x0e\x9c\x0b\xa9\xc5\xa5\x95\x77\x56\x6a\x6b\x33\x67\xc4\x1c\x3a\xde\x89\xe3\xa1\xeb\x57\x22\xfc\xa7\x26\xae\xb7\x30\x60\x57\xd0\x58\x55\xd1\xe8\x06\xab\x11\x83\xcc\x57\x06\x26\xe4\x58\x42\x72\x90\xcd\xef\xb4\x5f\x04\xb5\x6c\x30\xf3\x05\x8a\xd7\xc8\xbc\x92\x1a\x10\xdd\xf3\xdf\xe9\xff\xff\xaf\xef\xfe\xff\x00\x00\x00\xff\xff\x2f\xfe\x24\xe1\x26\xdb\x02\x00") +var _adminSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\xfb\x73\x23\xb9\x91\x27\xfe\xfb\xfc\x15\xf8\xea\x2e\x62\xa6\x6d\x4a\x3d\xb6\xd7\x1b\xbe\xde\xd8\xf8\x06\x47\x62\xf7\xc8\xa3\x96\x64\x3d\xa6\xcf\xb1\x74\xc8\x60\x15\x48\xc2\x2a\xa2\x68\x00\x25\x35\xed\x98\xff\xfd\x02\x89\x47\x01\xf5\x62\x15\x49\x49\x94\xa6\x7c\x71\x3b\x6a\x92\x85\x4a\x00\x89\x44\x3e\x3e\x99\xf9\xef\x6f\x10\x3a\x10\x8f\x78\x36\x23\xfc\xe0\x03\x3a\xf8\xfd\xd1\xf7\x07\x03\xf5\x19\x65\xd3\xf4\xe0\x03\x52\xdf\x23\x74\x20\xa9\x4c\x88\xfa\x7e\x9a\xac\x24\xa1\x71\xf2\x5e\x10\xfe\x40\x23\xf2\x1e\xc7\x0b\xca\x8e\x96\x3c\x95\x29\x3c\x88\xd0\xc1\x03\xe1\x82\xa6\x4c\xfd\xdc\xfc\x89\x58\x2a\x91\x20\xf2\xe0\x1b\x84\x7e\x81\xe1\x45\x34\x27\x0b\x22\x0e\x3e\xa0\xff\xd1\x0f\xcd\xa5\x5c\xda\x01\xd4\xdf\x42\xfd\xf6\x6f\xf0\xdb\x28\x65\x22\x0b\x7e\x8c\x97\xcb\x84\x46\x58\xd2\x94\xbd\xff\x87\x48\x59\xfe\xdb\x25\x4f\xe3\x2c\x6a\xf9\x5b\x2c\xe7\x22\x9f\xe3\x7b\xbc\xa4\xef\x1f\x7e\xf7\x1e\x47\x92\x3e\x90\xbb\x04\x67\x2c\x9a\xdf\x2d\x13\xcc\xc4\xfb\x7f\xd3\x58\xcd\xf1\x1f\x24\x92\xbf\xc0\x3f\xe2\x74\x81\x29\xd3\x7f\x33\xbc\x20\xbf\xb8\x71\x10\x3a\x98\x11\xe9\xfd\x13\xa1\x83\x98\x88\x88\xd3\xa5\x34\xab\x72\x45\x24\xa7\xe4\x81\x20\x39\x27\x48\xbf\x0e\xe9\xd7\x21\xf5\x3a\x64\x57\x4d\x2c\x49\x44\xa7\x94\xc4\x68\xb2\x42\x94\x2d\x33\x89\x38\xf9\x67\x46\x84\x44\x53\x9a\x48\xc2\xc5\x91\x59\x32\x78\x4b\xba\x24\x1c\xe6\x79\x1a\xab\xb7\x7c\x22\x72\x08\x63\x9f\xc1\xd0\x97\x09\x66\xfe\xaf\x39\x11\xcb\x94\x09\x22\x02\x52\x11\x3a\xf8\xfd\xf7\xdf\x17\x3e\x2a\xcf\x60\x88\x44\x16\x45\x44\x88\x69\x96\x20\x3b\x92\x4f\x0c\x3c\x04\x9b\x8c\x4b\x83\x21\x74\xf0\xbf\x39\x99\xaa\x71\xfe\xd7\xfb\x98\x4c\x29\xa3\x6a\x5c\xa1\x79\xc9\xa3\x36\x78\xea\x97\x6f\xaa\xfe\xfe\xc5\x9b\xd1\x12\x73\xbc\x20\x6a\x59\xdc\xee\xeb\xff\x15\xe6\xa2\xf6\x4b\xbd\x3c\xdf\xd3\x22\xe1\x85\xd9\x9e\xe3\x05\x41\xe9\x14\xb6\xcb\x3c\x01\x7f\x73\x22\xd2\x8c\x47\x04\x4d\x48\x92\xb2\x99\x40\x32\x2d\xad\x01\x85\x11\x14\xab\x15\xbf\x51\x5b\x49\x39\x51\x7b\x25\x79\x46\x0a\xdf\xca\xd5\x12\x88\x14\x92\x53\x36\xf3\x97\xe2\x97\x41\xab\xa9\x69\x0e\xed\x30\x33\xfd\x40\xed\xc4\xc6\x6c\x68\x7f\x12\x61\x86\x26\x04\xa9\x73\x49\x63\xc2\x49\x8c\xb0\x40\x18\x89\x6c\x22\x88\x44\x8f\x54\xce\x29\x53\xff\xd6\xec\x1b\xd9\x35\xdb\x9f\xb5\x81\x3f\x9b\x57\xe6\x56\x10\xae\x08\x7f\xa0\x31\x89\xd1\x03\x4e\x32\x82\xa6\x29\x0f\x96\xe7\x68\xcc\x6e\xe6\x6a\x1d\x16\x13\xca\xe0\xe4\xa9\xb5\xb4\x1c\xf2\x5b\xbb\x5c\xbf\x45\xea\x7d\x28\x63\xf4\x9f\x19\x49\x56\x88\xc6\x84\x49\x75\xae\x45\x71\xb4\xdf\xa6\xf0\x7e\x9c\xa0\x43\xa4\xd6\x99\x70\x09\xeb\x9d\x32\x49\xbe\x4a\x81\x0e\x51\x42\xef\x09\xfa\xf6\x8c\x0a\x89\x86\x97\xa7\xdf\x0e\xd0\xb7\x67\xb9\xe0\x10\xdf\x3e\xc3\x0a\xbb\xbf\xff\xe6\x1d\x3d\x89\x67\xc5\x43\x77\x30\x54\xa7\xf9\x5a\x5f\x13\xf9\x08\x7f\xfb\xc6\x1f\xc7\xec\x57\xb3\xec\xcd\x05\xaf\x91\xba\x5d\x64\xed\x47\x22\xa3\xf9\x1a\x41\x2b\xb6\x94\xb4\x6a\x3b\x8a\xa2\x56\xbc\x2e\x59\xab\xa6\xf0\xd4\xf2\x76\x1b\x61\x8b\x25\x9c\x02\x4c\x99\x3e\x34\xee\x0c\x85\x3b\x83\x5e\x4e\xac\x6c\x23\x6f\xbd\xd9\x78\x22\xd7\x4a\x52\x6f\x25\xf6\x64\xae\x09\x5d\xd0\x75\xfb\x78\xca\x62\xa5\x76\x19\x21\xc7\xb2\xc5\x84\x70\x35\x75\x2b\xee\x60\x86\x13\x25\xfe\x64\xc6\x19\x89\x6b\xa6\xf6\xcf\x8c\xf0\x55\xc3\xdc\xa6\x38\x11\x75\x93\xa3\x4c\x12\xa5\xd7\x16\xbe\x9e\xa6\x7c\x81\xa5\xf9\xc1\x7f\xfe\x47\xd7\xc9\xcb\xf4\x9e\xac\xdb\xe7\x53\xbd\x6b\x11\x16\xb0\xdd\x8b\x2c\x91\x74\x99\x10\xb4\xc4\x33\x22\xcc\x2a\x64\x89\x14\x03\xf8\x99\xd2\xa5\x09\x3f\x74\xb7\x0d\xbc\xc1\xde\xb2\x99\x80\x4f\xd0\xd4\x09\x32\x46\xbe\x4a\x18\x69\xcc\xe0\x9e\x85\x25\xf2\x6f\x8f\x27\x58\xca\xcd\xf8\x44\xa4\x5c\xde\x4d\x56\x47\xf7\xa4\xf4\xde\x5a\x6e\xc1\x0c\x61\x29\x39\x9d\x64\x92\xa8\x79\xab\x31\xec\x3d\x09\xa2\x4f\x5f\xc6\x42\x5d\xbe\x17\x27\x17\xdf\xdd\x63\xc9\xd3\x19\x66\xef\x3e\xa0\x61\x1c\x23\x4d\xa8\xfa\x0d\x8d\xf5\x95\x3c\x27\x9c\x1c\xa1\x9b\x39\x15\x48\xcc\xd3\x2c\x89\x11\x23\x0f\x84\xab\xb5\x25\x8b\xa5\x5c\xed\xdd\x6a\xc5\x94\x93\x08\x16\xa6\xcb\x09\x73\x4f\xa9\x45\x53\x46\xcf\x4a\x2f\xdd\x3d\x59\x81\xe2\x52\x5e\xbe\x67\xe0\x97\xc2\xb7\x84\x65\x8b\xc2\x5d\x01\x9f\x9f\x8c\xae\x8f\x47\xe7\x27\xa7\xe7\x9f\x0a\x4f\x28\x35\xc2\x7d\x15\x7c\xf3\xb7\xd2\xda\x4c\x71\x96\xc0\xa9\xf6\x46\x7b\x36\xc5\x25\x9a\xd3\x24\xe6\x84\xbd\x97\x58\xdc\xdf\x91\xaf\x24\xca\xf4\x3d\xfb\xef\xf0\x83\x3b\xa5\x7d\xa6\x31\x09\x3f\x09\xfe\x91\xab\x3b\x9d\x1f\x75\x56\x69\xe7\x27\xc1\x86\x6d\xf7\x1c\x7c\x42\xe3\xca\x5f\xc3\x27\x6b\xe6\x60\x7f\xd3\x40\xac\xfd\x49\x2d\x55\xf6\x07\x46\x81\xab\xfc\x0d\x27\x92\xaf\xee\xb0\x94\xea\x94\x6f\xa0\x33\xc2\x96\x22\x35\x5b\x94\xef\xa7\x51\x1f\xb5\xa2\x08\xb2\xdb\x69\x8e\x8a\x82\xfc\x97\xeb\xf4\xc5\xf3\x34\x26\x23\x37\xec\xc7\x94\xdf\x60\x71\xff\x1a\x74\xc6\x80\xf0\xe7\x50\x1b\x37\x3d\x40\x6f\xce\xa8\xdf\x50\x1c\xf4\x2e\x80\xed\x57\xb2\xad\xc3\x20\xe5\x48\xac\x84\x24\x8b\xb5\xae\x83\xd7\xb3\x10\x46\xde\xef\x2b\xc1\x85\x2b\xe7\x57\x70\xea\xc3\x0b\xb4\x3f\xde\x1d\x96\x6c\x57\x8e\xbf\x7d\x9f\xa7\x0d\xc1\x34\x4f\xf5\xda\x6e\x9f\x0d\x38\x18\x3e\xd9\xfb\x69\x06\xaa\xdd\xae\x89\x7c\x22\xaf\x41\xed\x5e\xd9\xd5\xbe\x03\x02\xd6\x98\x7c\xa1\xeb\xd8\x9d\x3f\xf5\xa8\xef\x5c\xd1\x1e\x33\xa9\x6c\x5e\xe3\x5b\x22\x1c\x45\x29\xd7\xaa\x60\xdc\x20\xde\x9e\xcf\xe8\xbb\x3d\xbf\xbe\x1c\x1d\x9f\x7e\x3c\x1d\x9d\x94\xad\xbe\x9b\xe1\xf5\x4f\xe5\x4f\xbf\x5c\x5c\xfd\xf4\xf1\xec\xe2\x4b\xf9\x9b\xb3\xe1\xed\xf9\xf1\x8f\x77\x97\x67\xc3\xf3\xd6\x76\xa2\x4f\x40\xc7\xdd\xec\x1d\x60\xbb\x74\x80\x0d\xde\xae\x07\xcc\x44\x0f\xda\x7b\xbf\x50\x42\x85\x54\x0b\x64\x9e\x44\x4b\x2c\x84\xbe\x7f\x35\x05\x47\x63\xf6\x39\xe5\x04\x51\x36\x4d\x51\x0a\xc1\x21\x21\x79\x16\x49\xca\x66\xee\xa1\x0f\x68\x9c\x7d\xff\xfd\x1f\xa2\x33\xca\xee\xe1\x2f\xb2\x8f\x8b\xd3\xbb\x07\x37\x59\xad\xde\x3d\xe8\x7f\xf7\x3a\xdc\x83\x31\x96\xf8\xbd\xef\x15\x7c\x1a\x3c\x89\x8e\x5c\x62\x16\xa3\x34\x93\xea\x4f\xf5\x5e\x34\xe5\xe9\x42\x9d\x1b\xf2\x95\x0a\x90\x12\x8f\x29\xbf\x9f\x26\xe9\x63\x3b\x6f\xd5\x27\x22\x9d\xbf\xe7\x04\x4b\xfc\x1a\x9c\x54\x5f\xcc\x0c\x1d\xe1\x9f\x88\x54\xb4\x5f\x99\xb7\xf4\xd0\x92\x1e\x5a\xf2\xb2\xd0\x92\xbd\xf2\x14\x3d\xbd\xec\x0b\xdd\x4a\x5a\x00\xd6\x44\x3d\x6a\x83\x1a\x35\x31\x0b\x2f\x24\xf1\x94\x42\x33\x0c\x04\xac\x11\x98\x81\x93\xfc\xb5\x08\xcd\x80\xe8\xe7\x17\x98\xbf\x0a\x1f\x7e\xef\xa2\xdf\x70\xa1\x5e\xa5\x5c\x6d\x79\x65\x3c\x9b\x83\xfd\xe9\xe5\x7c\x29\xfc\xdd\x25\xde\xdd\x21\xc0\xdd\x3a\xa2\xbd\x26\x84\x5d\x19\xb3\xae\x0a\x52\x97\xa3\xd2\x95\x61\xe8\xad\xe2\xce\x5d\xaf\xa4\xf6\x11\xe7\x4f\x44\xde\x60\x71\xff\xea\xae\xa4\x80\xe8\xe7\xbf\x92\x7e\xa5\x81\xe6\x3e\xb2\xfc\x84\x4b\xf7\xd6\x2f\xb2\xfd\x8d\x1d\xff\x0a\x82\xc5\x7d\x74\xb8\xd3\x1a\xbd\xad\x70\xf0\x5b\x8d\xff\xbe\xce\x80\x6f\x1f\xe1\xdd\xdf\x08\xef\x93\xda\x41\xe4\x81\x30\x29\xc0\xe3\xe5\xab\xd3\x07\xcb\x54\x34\xab\xff\xc7\x9c\x60\x49\x10\x2e\xb8\x9a\x10\x0c\x88\x38\x89\x52\x1e\x2b\xb5\x1f\xa3\xe5\x1c\x0b\x82\x24\xc7\x4c\xd0\x75\xaa\xbf\x1e\x15\x7c\x3b\x6a\x9c\xd7\xa0\xf5\x07\x8e\x28\xa0\xfa\xb9\x74\xfe\x49\x1a\x97\x8e\x86\x3e\x35\x55\xdf\x34\x8b\x97\x9d\x4d\x1d\xf2\xd0\xda\xcc\xfc\x09\xb9\x59\x89\xb2\x0d\xb9\x39\xb4\x52\x77\xc2\xcd\x60\x16\xbe\x16\x6e\x0e\x6c\xd8\x5f\x17\x37\x57\x4d\x7d\x1f\xb8\xd9\x06\x40\x37\xe4\xe8\x72\xfc\x74\x27\x5c\xed\x82\x96\xaf\x85\xb3\x4b\x51\xd6\x5f\x17\x77\xd7\x4d\xff\x65\x39\xdc\xf9\x5e\x77\xc5\xdb\xeb\x19\xd7\x2d\xc0\x6b\x60\x5a\x47\xac\xa6\xfd\x57\xc3\xad\xa5\x79\xef\x09\x9b\xbe\xe7\x44\xe7\x54\x75\xe2\xd7\x2b\xf3\x50\x67\x8e\xb5\x0f\xf6\x3c\xfb\x9a\x78\xd6\xee\xda\xfe\x70\x6d\x1d\x82\xab\x7b\x9e\x61\x03\x2c\x4b\xa0\x05\x96\xd1\x5c\x7d\xa9\x43\x42\x2d\x8b\x51\xe4\x89\x85\xaf\x8a\xbb\x9f\x23\x9b\xf0\x6d\x3b\x7f\x7b\xa7\xef\xaf\xb0\xe8\xcf\xde\x20\x94\xfb\xac\x88\x1d\x66\x45\x50\xd1\x67\x45\xf4\x59\x11\x6d\x17\xa8\xcf\x8a\xe8\xb3\x22\xbc\xef\x5e\x47\x56\xc4\xd3\x27\x44\xec\x26\xeb\xe1\x55\x29\xd1\xbd\x02\xdd\x2b\xd0\x7d\x6a\x83\x9b\xda\xae\x04\x98\x7d\xfa\x20\x26\x09\x91\xa4\x51\xfc\xdc\x10\xbe\x50\xb6\x41\x50\xe0\xb7\x22\x68\x90\xd7\x0e\x72\x1c\x04\xee\x8d\x26\xb9\xe4\xc6\x7e\x9d\xd2\xc9\x91\xdf\x67\x62\xf5\xe2\xaa\x17\x57\x9b\x4c\x6d\x7f\xbc\xb2\xde\x61\x7e\x51\xb7\xac\x57\x2e\xf8\x8e\xc6\xbb\xa9\x18\xec\xd4\x46\xbf\x5e\x70\xbe\x14\x41\xc9\xd6\xcd\x9c\xb4\x79\xf1\xdd\xd3\xf8\x55\xf8\x69\x95\x1c\x89\x47\x4c\x52\xb9\x72\x28\x35\xde\x17\x0e\xee\x0b\x07\xb7\x9f\x6b\xef\x21\xdc\xa1\x87\xb0\x2f\x1c\xdc\xfb\xc0\x7a\x1f\xd8\x2b\xf7\x81\xf9\xad\x0e\x36\x42\xec\xb0\x18\x71\x32\xa3\x42\x12\x8e\x70\x8d\xb6\xb2\x1e\xc2\xf3\x5a\x7b\xc4\xb4\x06\x44\xf8\xaf\x3d\xf8\x8f\x16\xe4\x5f\x99\xeb\x05\xce\xc0\x04\xc7\xae\x21\x04\xe8\x14\x0b\xbc\x42\x73\xfc\x40\xd0\x14\xd3\x44\x5b\x0c\x46\x6c\x34\xcc\xb0\x89\xa0\xff\xd3\x8d\x20\x1c\x92\xc3\xc9\x94\x70\xc2\x22\x2d\x06\xb5\x56\x10\xe1\x04\x11\xd0\xd6\xf4\x6f\xe6\xca\x7e\x4b\x38\xc1\xf1\x0a\x4d\x08\x61\x8e\x6d\x2a\xae\xd0\x1a\x9a\x77\xa2\xcd\xbd\xb8\xfd\x52\xe6\x9e\x7d\xb1\x5e\x9e\x04\x56\x52\x2d\x12\xb6\xb7\x5a\xc4\xef\x5f\x97\xa8\xe8\xd1\x25\xbd\xb7\xe9\xe5\xbd\x4d\x3d\xba\xa4\xb7\x1d\xf7\xc0\x76\xec\xd1\x25\x3d\xba\xa4\xb7\xac\x5b\xaf\x56\x6f\x59\xfb\xdf\xbd\x3e\xcb\x7a\xc7\xf8\x92\xe7\xd2\xb0\x7b\x05\xdb\xfe\xae\x57\xb0\x7b\x05\xfb\x8d\x2a\xd8\xfb\xb1\xc2\xbd\x76\xdd\x6b\xd7\xbd\x76\xdd\x6b\xd7\xbd\x76\xdd\x6b\xd7\xe6\xa9\x5d\x6a\xd7\xf0\x97\x2d\x93\xb9\x35\x94\xbb\x7b\x94\xeb\x13\x91\xaf\x35\xc4\xd5\xab\xd4\xbd\x4a\xbd\xdf\x2a\xf5\xde\x4c\xe8\xed\x95\xbd\xeb\x0b\xc7\x95\xee\xc7\xb7\x50\x38\xce\x3e\x7d\xb0\xcc\x9a\xaf\xbf\xdb\x65\x6c\xf3\x08\x84\xc4\x32\x03\x4b\xa3\xc5\x55\x88\x86\x12\x2d\x52\xa5\x77\x33\x12\xfc\xc6\xf2\xbc\x06\x11\xcc\xe8\x03\x61\xc8\xe2\x65\x07\x46\xb2\x0d\xc0\xf8\xfd\xc5\x0a\x38\x93\xc0\x80\x25\xc2\x48\xd2\x05\x39\x42\xa7\x53\xcd\x40\x11\x4e\x12\x24\x88\x14\x05\xe4\x89\x52\xc8\xcc\x43\x2c\xce\x69\xb5\xef\xa6\x39\x10\x41\xff\x6c\x60\xcf\x5f\x96\x48\x7d\x1a\xed\xe0\x8f\x34\x49\x14\x0d\x86\x69\x41\xf8\x2c\x08\x4f\xec\x93\xc1\x6b\xed\x8f\x17\x38\x56\xd6\x84\x47\x42\x9e\x69\xe1\xff\x1e\xc4\x3c\x15\x0e\x4a\x11\x3c\xaf\x9f\x3e\x42\xc6\xee\xd3\x05\x9e\x5a\x91\x31\xc7\xb1\x12\xfb\xd1\x9c\xc4\x59\x42\x10\x16\x22\x8d\x28\x96\x24\x46\x54\x5f\x0b\x88\x4a\x6b\x25\xda\x1f\xd9\x57\xc7\x54\xe0\x49\x42\x62\xb3\xc6\x24\x47\x76\x34\x52\x4e\x05\x9a\x10\xb5\xc4\xea\xe6\x09\x57\x7f\xae\x2f\xa5\x0a\x6a\x3c\x52\x48\x99\x12\xc2\x34\x21\x0d\x4a\x95\x66\xce\xd7\xaa\x57\x69\xea\xfb\x3c\x94\x5e\xcb\xea\xb5\xac\x4e\x13\x7a\x53\x5a\xd6\x1e\xa1\xd1\xac\x40\x7a\x51\x34\x1a\xc4\xac\x94\xe4\xbf\x73\x4e\x29\xb1\x99\xbd\xee\xfc\x7e\x9f\xed\x90\x43\x37\xe2\x71\xca\xa6\x74\x96\x71\xe3\x80\x9f\xa8\x13\xbb\x36\x30\x56\x31\xce\xab\xb8\x71\xaa\x49\x7f\xae\x8b\xa7\x8b\x0d\x81\x0e\x91\xd2\xae\xef\xae\x46\xd7\x17\xb7\x57\xc7\xa3\x0f\x68\xb8\x5c\x26\x54\x3b\xf6\xa3\x4c\xc8\x74\x41\xff\xa5\xa6\xa1\x8b\xba\x3a\xc9\x6d\xd4\x10\x01\x0a\x07\x44\x12\xc4\xd1\x98\xa1\x43\x74\x7c\x76\x7b\x7d\x33\xba\xaa\x19\xd0\x30\x01\xb4\x32\x21\x8b\x65\x02\x5a\xc9\x7d\x36\x21\x9c\x11\x49\x04\x8a\x92\x0c\x60\xcd\x2e\xbe\xa0\x07\x1d\xfd\xdf\xd1\xf1\xed\xcd\xe9\xc5\xf9\xdd\x5f\x6e\x47\xb7\xa3\x0f\xc8\x72\x93\x1a\x56\xd1\xa5\xa8\x88\x57\x0c\x2f\x94\xf9\x13\x56\x9f\xfd\x67\x46\x32\x50\x82\xe8\x8c\x2d\x08\x93\xc5\x11\x2d\xc1\x67\xc3\x1f\x46\x67\xe1\xc8\x73\x82\x7e\xfa\x53\x4e\x54\x82\x27\x24\x31\x01\x0f\xf0\xe7\x2b\x81\x9d\xbf\xc8\x44\x42\xb2\x92\x98\x7c\x6e\x5b\x2a\xd8\xd0\xb2\x75\x54\xdc\xa1\xf2\x2f\x0a\xcb\xdd\xf4\x83\x60\xf5\x5a\x1b\x5b\x21\x85\xcf\x26\xe9\xd4\x01\x89\xef\x00\x21\x4d\x89\x78\xff\xef\xe0\xa0\xfc\xf2\x64\x15\x29\x90\x97\x46\x67\x24\xdf\xba\x66\x72\xf9\x03\xaf\x41\xde\xf9\xe4\xbe\xa4\x6c\xdb\x91\x3e\xb1\x5f\x2e\x8b\xee\xda\x5a\x6f\x75\xf4\x56\x47\xf5\xca\xf4\x70\x89\x9a\x15\xde\xd5\xb5\xb3\x89\x97\x6f\x4a\x49\x12\x8b\x92\x9b\x26\xb8\x36\xd6\xba\x64\x5e\xef\x8d\xf1\xbc\x4e\x99\x2e\xba\xf1\x95\xf3\x9f\x1b\x87\xba\xda\xad\x05\x91\x18\x7a\xf3\xc9\x14\x65\x40\x7a\x7f\x0b\x95\x97\xb9\xbf\x85\xfa\x5b\xa8\x76\x65\xfa\x5b\xe8\x15\x3b\xaf\x2a\x24\xf7\x8b\x7a\xaf\xd6\xd9\x74\x5b\x15\x86\xa9\x70\x6d\x95\x6d\x39\x81\xc4\x1c\x73\xdd\x02\x24\x4a\x17\x8b\x94\x79\x91\xd7\xd5\x92\x0c\x90\x0b\xb6\x81\x9b\x02\xc8\x58\xe7\xf9\xca\x5f\x43\x5f\x87\xcf\xcb\x5b\x97\xe7\x40\x85\xf7\x76\xe0\x9a\x05\xea\x2b\xe8\xf4\x15\x74\x7a\x9c\x76\x5f\x41\xa7\x99\x5b\x7a\x24\x72\x8f\x44\xf6\xbf\x7b\x1d\x48\xe4\xb0\xeb\xb4\x06\x23\x57\xb5\x69\xff\xa5\xfc\x8d\xef\xd2\x2f\x35\xe9\x36\x9e\x7e\xdd\xc1\x7a\x7b\xcc\x72\xd8\xd4\x73\x9d\xcb\xdf\x6f\x03\xb9\xe7\x0a\xdf\x34\x59\x49\x42\xe3\xa4\xdc\xbf\xf2\x19\x30\x35\xbf\x96\x7e\xfc\x7d\xf7\xfd\x4d\x16\xea\xad\x96\x80\x7d\xd6\xce\xfa\xcf\x2b\xbc\x6d\x99\xec\xbb\x1a\x11\x5e\xfd\xbd\x13\xe4\xd5\x5f\x6f\x9b\xe0\x1d\xca\xee\x4d\x13\xbb\x03\xd9\xf8\x3a\xcc\x78\x9f\xe2\xe7\x30\xe4\x1b\x77\xff\xcd\xc9\xf5\x26\x5e\xee\xa5\x7b\xcb\xe5\x7a\xab\x32\xbe\x37\xf4\x77\x69\xe8\x0f\xde\xae\xa5\xdf\x27\x64\x37\x2c\x4e\xef\x06\xd9\x64\xb5\x7a\x37\x88\xff\xdd\xeb\x70\x83\x98\xbb\xfa\x4e\x5f\xf5\x1e\x7a\xfb\xfd\xbf\xf3\xbf\x3d\x45\xda\xfb\xb0\x22\x16\xd6\x01\xb1\x62\x71\xc1\x24\xce\xd5\x8f\x7c\xf0\x0a\x24\x8b\xa1\xe1\xd0\x2a\x25\x79\x54\x77\x2d\xb0\xe5\x52\x3f\x7a\x02\x4f\xbe\x2e\x18\x78\x0d\xe9\xcf\x0b\x78\x29\x73\xc2\x3a\xd5\x09\x62\xe9\x4e\x9f\xa6\x1a\xe6\xfc\x38\xa7\x70\x4d\x42\x9d\x13\xb8\x4a\xbc\x0d\xb7\x09\x64\x18\x90\xde\x75\x3a\xc7\x73\xab\x53\x25\x76\x6f\x37\x71\xc3\xa3\xaf\x77\xde\x2f\x0e\x11\x58\xc3\xf7\x2f\x0a\x17\x68\x90\x99\xbb\x41\x0a\x3c\x9f\x7c\xfc\x44\xe4\xdb\x13\x8e\x9f\x88\x7c\x2e\xc9\xb8\xa9\x38\x6c\x14\x09\x79\x59\xf6\x3d\x91\x06\x9b\x89\xbe\xd7\x35\xc7\x3e\xe1\xa9\x4f\x78\xfa\xb5\x27\x3c\xd9\xa7\xdb\x74\xab\x3c\x81\x9f\x3c\xe3\x55\xa5\x5f\xf8\xf6\x6e\x2b\x3d\xaf\xfe\xc2\xea\x2f\xac\x6e\x73\xdc\x57\x15\xdd\xf2\xf3\x3e\xa8\xe8\x9d\x72\xd0\x75\xf4\x2e\x6f\x6f\x63\xd9\x7f\x6d\x84\xee\xd2\xbe\xec\xf5\x08\x21\xd1\x55\xce\x6c\x95\xc7\xb4\xae\x29\xd5\x55\xde\x89\xaa\x22\x76\x54\x5c\x72\xfb\xeb\xcb\x92\x28\xdb\xf7\x55\xb7\x94\x3f\x97\xb0\xdf\x17\x11\x91\xcf\xfb\x45\x85\x82\xd2\x71\x8b\x90\xaf\x10\x49\x70\xd7\x08\x02\x5b\xf3\xdb\x20\xd3\xbb\xf9\xa7\x05\xa0\x58\xf8\x9d\x81\x8e\xc1\xd7\x40\x72\x91\x0e\xfb\xa1\xff\x42\xfb\x59\x3e\xb2\xfd\xc4\x96\xcf\x84\x0f\x39\x91\x7c\x75\x87\xa5\xb2\x23\xe4\xf6\xe8\xb4\xd0\x6a\x58\x83\x4e\xbb\xc1\xe2\xfe\x55\xa2\xd3\x42\xc2\x9f\xf8\xcc\xb6\xe6\xc9\x37\x87\x6b\x68\x7b\xc2\x7a\x8c\xc3\x06\x4b\xf7\x56\xf1\x0e\x4d\x22\x74\x6f\x28\x2c\x48\xf1\xb7\x78\x72\xc3\x3b\xa9\x3f\xa2\x4d\x6b\xf4\xe6\x4a\xbb\x15\x54\x8d\x35\x73\x7b\x25\x25\xde\x8a\xda\xd2\xae\xa9\x7a\x1a\x08\x94\xb7\x1b\x7d\x19\xe0\x37\x5a\x06\xb8\x9d\x71\xd3\xda\xb2\x69\x6b\xd6\xb4\xb3\x69\xea\x0d\x9a\x2d\x90\xd4\xa1\x9d\xb1\x29\x92\x3a\xd0\xe3\x5f\x85\xb7\x26\xa0\xf8\x39\x90\xd4\xbf\x52\xd3\xa3\xb7\x3b\x9e\x64\xdd\xde\xaa\xd1\xb1\xe7\x16\x47\x8f\x01\xdf\x25\x06\xbc\x87\x80\xf7\x10\xf0\xb6\x0b\xd4\x43\xc0\x7b\x08\xb8\xf7\xdd\xeb\x80\x80\x1b\x7b\x71\x5b\xf4\x62\x95\xca\x9e\x2b\xb4\x41\xc5\x94\xcd\xd5\xf7\xd3\xf8\x55\xe8\xed\x5e\x21\x23\x67\x59\xf3\xe7\xd0\xdf\xfb\x8a\x3d\x7d\xc5\x9e\x5e\x89\xfb\x35\x29\x71\xbd\x9e\xb2\xc9\x6a\xf5\x7a\x8a\xff\xdd\xeb\xd1\x53\x02\x40\xd7\x5a\x5c\xd1\x31\x27\x58\xea\x7e\x56\x3c\x87\x18\x15\x34\x93\x26\xb5\x43\x0f\xa0\x14\x8f\xd7\xa0\x75\x28\x3a\x35\xc5\x2d\x00\x46\xfe\x0b\x0f\xfe\xa3\x05\xe1\x57\xe6\x12\x01\x4e\x9f\xe0\xd8\x75\x11\x03\xcd\x61\x81\x57\x68\x8e\x1f\x08\x9a\x62\x9a\x68\xff\x8d\x11\x0e\x0d\x73\x6b\x22\xe8\xff\x74\x23\x08\x87\xe4\xe4\x68\x4d\x25\xec\xf4\xdd\x1f\xe1\x04\x11\x5d\x74\x13\x7e\x03\x2d\xce\x4c\x43\xb9\x09\x21\xcc\x83\xfe\xb5\xa5\x79\x27\x3a\xdb\x8b\xa3\xb4\x7c\xbe\x79\x71\x80\x56\x7d\x5b\xe0\xdd\x19\x23\xdb\x58\x20\xe2\xf7\xaf\x45\x14\x3c\x87\xbd\xf1\x86\x63\x02\xbd\xdf\xff\xd7\x59\xa3\x7b\x6f\x74\xd5\xde\x02\xdc\xa1\x05\x08\x39\x1d\x6f\xd4\x04\xec\xfd\xf8\x0d\x8b\xd3\xdb\xc7\x9b\xac\x56\x6f\x1f\xfb\xdf\xbd\x22\xfb\x78\xc7\x0d\xe8\x9e\x50\x8f\xee\xd5\xe8\x5e\x8d\xee\xd5\xe8\x37\xab\x46\xef\xc7\x0a\xf7\x3a\x74\xaf\x43\xf7\x3a\x74\xaf\x43\xf7\x3a\x74\xaf\x43\x9b\xa7\x76\xa2\x43\xc3\x5f\x36\xb3\x76\x37\x69\xb4\xed\x22\x52\x26\x8f\xf6\xb5\x28\xcf\xbd\xe2\xdc\x2b\xce\xfb\xad\x38\xef\xcd\x84\xde\x5e\xf2\x5c\x9f\x7e\x56\xba\x05\xdf\x6c\xfa\x99\xab\xb2\xbf\x41\x05\xe1\xe0\x33\x3b\xd0\x73\xd7\x15\x1e\x58\xc9\x88\x59\x8c\x2c\x11\x9d\xaa\x0c\x7f\x31\x0f\xbd\xae\xaa\x64\x65\xaa\xfb\xda\xc2\xc8\xdb\xb5\xbe\xb6\xf0\x13\xce\xdb\x9e\xb3\x35\x33\xb7\x3c\xaa\xbd\x57\xaf\x74\xda\x2f\x0e\xf3\xa9\x3f\xe9\x2f\x0a\xfa\xa9\xbc\x39\x4a\x99\x08\x79\x8f\xa6\xe7\x2f\xa9\xbc\xcd\xd5\xf0\x89\xc8\xb7\x72\x2f\xf4\x65\x95\xfb\x2a\x95\x1b\x77\x5f\xea\x24\xe1\x5f\xd7\x14\xfb\xca\xd1\x7d\xe5\xe8\xbe\x72\xb4\x7b\xeb\x73\x54\x8e\xde\xe6\x46\xd6\xaf\x7f\x2b\x97\x72\x5f\x3d\xba\xbf\x97\xfb\x7b\xb9\x72\x8a\x7b\x68\x70\xed\x45\x6d\x6c\x67\x70\xed\x2a\xe7\xdb\x0f\x65\x39\x61\xbc\xd3\xd4\x6f\xbb\x92\x7d\xfa\xb7\xf9\x5f\x9f\xfe\xdd\x66\x72\x7d\xfa\x77\x0f\x5c\xea\xd3\xbf\x7b\x68\x4e\x0f\xcd\x79\x03\xd0\x1c\xab\x59\xec\x22\x05\xbc\x42\x4b\x59\x9f\x06\xfe\xa5\xac\x32\xef\xad\x06\x62\x69\xed\xd3\xc1\xfb\x74\xf0\x6d\x79\x67\x2f\x8c\x95\x27\x49\x0b\xaf\x10\x03\xdb\x5a\x28\xaf\x23\x3d\xdc\x52\xdb\xe7\xb6\xf4\x10\xbd\xfd\x87\xe8\xed\x5d\x6e\xcb\xde\xe8\xb3\xbd\x95\xb8\x43\x2b\xb1\x4f\x6f\xe9\xd3\x5b\x7a\x1b\xba\xf5\x6a\xf5\x36\xb4\xff\xdd\x2b\xb3\xa1\x9f\x36\x4d\xfc\x29\xf4\xea\x5e\xad\xd6\xbf\xeb\xd5\xea\x5e\xad\x7e\xa3\x6a\xf5\x7e\xac\x70\xaf\x53\xf7\x3a\x75\xaf\x53\xf7\x3a\x75\xaf\x53\xf7\x3a\xb5\x79\x6a\x67\x3a\xf5\x6e\xd3\xc6\x3b\x46\xb1\xbc\x54\x84\xd7\xa4\x4c\xf7\x8a\x74\xaf\x48\xef\xb7\x22\xbd\x37\x13\xea\x53\xc8\xfb\x14\xf2\xd2\x37\xfb\x9b\x42\xfe\x8d\x61\x84\x03\x4f\xf6\xbb\x4b\xe2\xe0\x87\x24\x9d\xdc\xac\x96\x44\xfd\xf7\x84\x2e\x08\x13\xa0\xb1\x50\xb9\xf2\x2f\xce\x9a\x05\x2e\x2f\xed\xc1\xf5\xe9\xf9\xa7\x33\x3f\xb9\xe2\xe0\xf3\xed\xd9\xcd\xe9\xe5\xf0\xea\xc6\x52\xe8\x66\xe5\xaf\x85\x79\x2e\xb8\xfb\x8f\xd3\xc5\x12\x73\x2a\x52\x36\xfa\xba\xe4\x44\x28\xd2\x2e\xe0\xb6\x4d\xf9\x66\xd4\x8d\xfe\xe2\x53\x76\x1e\xfe\xf3\xd3\x4d\xf8\xaf\x60\x16\x67\x37\xe1\xbf\x46\x8d\xb3\xf1\x06\x2e\x9e\xa0\x43\xf4\xe9\xe6\x03\xfa\x04\x51\x7f\x8e\x6e\xe6\x98\x41\xea\xce\xd9\xcd\x07\x74\x46\x84\x80\x4f\xf2\x87\x25\x95\x09\xcc\xed\x07\xca\x30\x5f\x21\x3b\x7d\x9d\xa5\x83\xc1\x1d\x68\x97\xa6\xb8\x78\xec\x1f\x19\x03\x85\x35\x5f\xbd\xb3\x74\x46\x23\x9c\x6c\xb7\x88\xc3\x73\xff\xbc\x1c\x5c\x5c\x35\x2e\x85\xff\xeb\xf2\x5a\x0c\xcf\x4f\x20\x3b\xc9\x92\x5a\x31\xf3\x73\x22\x24\x89\xd5\x05\x18\x6b\xe6\x55\xb6\x06\x59\x79\x17\xe3\x3f\x52\xca\x48\x8c\x32\xa1\xd4\xb5\xe1\xf9\x09\x7a\x8f\x2e\xae\xc6\xec\x82\xc7\xda\x5f\x40\xd4\x8d\xa2\x6d\x15\x2a\x10\x4b\x25\xa2\x8b\x65\xca\x25\x66\x52\x5d\xa6\x4a\x90\xa5\x66\x45\x04\xc2\x9c\xa0\xe3\x74\xb1\xc8\x24\x96\xf4\x81\x94\x16\x95\x69\x23\xe0\x9a\xc8\xd3\x18\x3c\x90\x15\x6b\x98\x4e\x02\x45\xe7\x60\xc9\xd5\xf8\x92\x16\xb4\xbf\x03\x1a\x97\xd4\x41\x3b\x04\xe6\x1c\x87\x62\xf0\x80\x4a\xb2\x28\xfe\xbe\x59\xfe\x7f\x53\xfc\x2b\xd4\xad\x5d\xcf\xdb\xcf\x44\xe2\x18\x4b\x9c\x7f\x90\xc6\x64\x33\xe6\xf8\x3c\x3c\xbf\x1d\x9e\xf9\xfc\x71\x7d\xfc\xe3\xe8\xe4\xf6\x2c\x10\xb2\x07\xd7\x7f\xbd\xbe\x19\x7d\xf6\x3f\xb9\x1a\x69\x11\xea\x7f\x76\xfc\xe3\xe9\xd9\xc9\x9d\x13\xba\x4d\x6c\x56\x78\x6f\x91\xd3\x6e\xe6\x04\x2d\x88\x9c\xa7\x31\x9a\xac\xfc\x0c\x8b\x3c\xd3\xed\x11\x0b\x94\x80\xa3\x8c\xc4\x47\x63\x7d\x2a\xf5\xa8\x1f\x14\xc3\x21\xf3\x32\xef\x89\x45\x1a\x93\x81\xf9\x8d\x62\x29\x9d\x10\xa8\x2e\x3e\xb0\x1f\xaa\x06\x56\x6f\xc7\x0c\x51\x16\xd3\x07\x1a\x67\x38\xd1\x89\x7b\x6e\x8d\x3e\xa0\x21\x52\x7a\x7c\x9c\x25\x04\x49\x4e\x67\x33\x50\xf9\x0a\xa4\xea\xd1\xcc\xa3\xb0\x92\xf0\x9c\x6b\xee\xaa\x4c\x05\x78\xad\xb1\x15\xe8\x24\xd1\x0a\x95\x7e\x10\x12\x15\xc3\x11\x39\x96\x73\xc2\xab\x48\xb3\xfb\xf2\x41\x5b\xf8\x35\xd3\x82\xc4\xb1\x1c\xf1\x05\xc1\x07\xa1\x35\xd5\x25\x27\x0f\x34\xcd\xbc\x47\x4d\x4e\x65\xb0\xb9\x95\xc3\xe7\x0b\x00\xcb\x96\x02\x8d\xf9\x30\xe1\xd9\xbc\xb2\x5e\x41\xfb\xc7\x88\x49\x5e\x79\x8b\xb5\x3d\x9e\x46\x47\x0a\xce\x67\xb5\x29\x55\x7a\xf7\x79\x51\xe9\x2d\x9b\x9a\x46\x51\x52\x2f\x39\x3a\xa8\xb4\xb1\x40\x11\xae\x13\x10\x15\xba\x4e\x2e\x33\x7f\x06\x15\x7a\x91\x09\x09\x15\x1a\xb4\xb7\x06\xdd\xff\x49\xa0\x7f\x66\x18\xd0\x78\x47\xe8\x9a\x90\x31\x9b\x4b\xb9\x14\x1f\xde\xbf\x9f\x51\x39\xcf\x26\x47\x51\xba\x78\x9f\x27\xae\x2a\xdb\x7b\x81\x15\xbf\x10\xbe\x7a\x3f\x49\xd2\xc9\xfb\x05\x16\x92\xf0\xf7\xcb\xfb\x19\x18\xe6\x56\xdd\x7b\xef\x86\x9d\xa5\xff\xeb\xec\x0f\xdf\x1f\x9e\xfd\xe9\xfb\x83\xb2\xf4\xa9\x3b\x9d\x23\x16\xe1\xa5\xc8\x12\xe3\xc0\xe3\xfe\xda\x00\xa8\x14\x56\x62\xdd\x7e\x9f\x87\xdb\xd5\x41\x68\xdd\x9e\xff\x74\x7e\xf1\xe5\x3c\x10\x3d\x97\xb7\x81\x36\x10\xfe\xf3\xf3\xe8\xf3\xc5\xd5\x5f\x03\x81\x76\x73\x71\x35\xfc\xd4\xac\x15\x14\x5f\x53\x5c\x86\x9f\x58\xfa\xc8\xc2\xd9\x8b\xe2\xa4\x33\x26\xe9\x82\x58\x81\x6d\xfe\x79\xa3\x67\xba\xc1\xcc\x2f\x6e\x7e\x1c\x5d\xf9\xf3\xf8\x78\xf6\xd7\x9b\xd1\xdd\xf5\xc9\x4f\x8d\x33\xd1\x8f\x05\x94\x5d\x83\xf7\xe1\x38\x4d\xb2\x05\xf3\xff\xde\x9c\xb6\xd3\xf3\x9b\xd1\xa7\x22\x75\x17\xc3\x9b\x70\xd9\xaf\x42\xa7\xd6\xc1\x0f\x17\x17\x67\xa3\x61\xb0\x97\x27\xc3\x9b\xd1\xcd\xe9\xe7\x40\x9f\x3b\xb9\xbd\x1a\xde\x9c\x5e\x9c\x37\x4e\xd3\x52\x50\x31\x51\x35\x2d\x7f\x9a\xbb\x96\x33\xad\x8e\xf9\xd0\x04\x8c\xf4\x41\x39\xf4\xd2\x6c\xb4\x2f\x08\xcc\xb2\x43\x67\x4a\x47\x9a\xd2\x4a\x59\x23\xc3\x6d\x42\xf5\xb2\xae\x71\xa3\x9b\x44\xde\x8d\x23\x01\xe8\x32\x2e\x63\x9c\x24\xe9\xa3\x76\xdb\x2f\xa8\x52\xf4\x4c\xce\xa3\xfa\x89\x40\x51\xc6\x39\x61\x32\x59\x1d\x55\x88\x93\x70\x5b\x52\x2e\x4f\x9c\x63\x77\x23\x86\xab\xf4\x92\x96\xfd\xa3\x95\xac\x52\xf4\x89\x5a\xb2\xa0\xb6\x79\x3a\xfb\x4c\x84\xc0\x33\xf2\xd1\xc6\x8d\x76\x24\xa4\xae\x7f\xf6\xff\xf9\xe7\xeb\x35\xfc\x6c\x87\x08\x28\x04\x37\xe0\x70\x92\x72\x69\xa5\xca\x36\xbc\x1c\xe1\x4c\x74\x62\xe6\xe6\xb0\x17\x46\x99\x20\xfc\xd0\xf8\x19\x48\x8c\xb0\x22\xd4\xc4\xbc\xa0\x02\xd1\x12\x0b\xc5\x44\x29\xe8\x34\xc4\xfc\x3c\xd3\x35\x89\x10\x50\x53\x73\xbb\x2e\x39\x65\x11\x5d\xe2\x64\xa3\xa3\x57\x70\x84\x18\x88\xfb\x77\x74\x8a\x30\x5b\xbd\x2b\x29\x5e\x92\xf0\x05\xc4\x7f\x0d\x99\x4e\x89\x59\xc7\xd6\x7a\x77\x18\x4b\x25\x0e\x2d\xf7\x0d\xf6\x46\x07\x26\xea\xa6\x5b\x18\xc5\xbc\x5d\xdb\x5c\x38\xb9\xac\x1e\xb3\x6a\xc1\x7c\x0b\xa4\x69\xab\x3f\xe3\xa5\xda\x62\x5d\x9d\x00\xe1\x7c\x8e\x26\xac\x6b\x0a\x4b\xa9\x7f\x05\x4b\xe6\xb9\xd0\xda\xab\x18\xf9\x12\x9a\xf8\x4c\xf9\x25\x81\xd2\xee\x45\xdc\x0d\x4b\x4e\x33\x99\x71\xa5\x4c\x29\xb5\x1f\x7d\x47\x8e\x66\x47\xe8\xe2\xe7\xd1\xd5\xd5\xe9\xc9\x68\x80\x86\x97\x97\xa3\xf3\x93\x01\x22\x32\x7a\x67\x4d\x53\x90\x9a\x24\x1e\x33\x99\x1a\x4f\xd9\x0a\xcd\xd3\x47\xf5\xae\x05\xe1\x33\x12\xcc\xd9\xfc\x18\x41\x1e\xc5\x8c\x0a\xa9\x83\x0a\xa0\xfe\x78\xe5\x38\xe8\xa2\xa8\x07\x69\x0e\xc9\xe4\x7c\x1b\xd6\xc0\x42\x64\x0b\x3c\x49\xc8\x1d\xc5\x8b\x3b\x9e\x26\xeb\xce\x70\xe5\x91\xca\x55\xc7\x3b\xa1\xbd\x52\x77\x38\x8a\xd2\x8c\xc9\xd6\xa3\xad\xdb\xc7\x13\x58\x26\x81\x96\xea\x40\x81\x4f\xa3\x5c\xc0\xc2\x2d\x97\x40\x11\xf8\x59\xc0\x7e\x00\x91\x91\xe4\x48\x08\xd8\x92\xaa\xb5\x3c\xd6\x95\x51\xac\x5a\xe9\xd5\xae\xd8\x66\x81\xab\x46\x79\xd9\xf3\x77\xac\x0f\x5e\x55\x49\x10\x6d\x20\x17\x2a\xbc\x01\xdc\xa4\x50\xca\x46\x2f\xb0\xe2\x4c\x7d\x20\xfe\x99\xa5\x12\x8b\x77\x47\x63\xa6\x4e\xf7\x3d\x59\x69\x87\x8a\x3a\x3f\xbf\x51\x32\xfd\x50\x10\x26\xa8\xa4\x0f\xe4\x37\x5a\xbf\x55\x12\xe0\x01\x73\xaa\x78\x4f\xa8\x37\x98\x0a\x3a\x61\xb5\x92\x29\x4d\x20\xa2\xaa\x06\x35\xc7\xd7\x84\x9a\x27\x7e\x89\x13\xfb\x9d\x26\x7f\x46\x24\x84\x49\x24\x95\x99\xe2\x81\x58\x97\xe8\x29\x91\xbe\x56\xb5\x00\xae\x38\xd1\x21\x9e\xad\xbc\x3d\x9b\x9c\xa9\xae\xca\x61\xf1\xbc\x50\xb1\x4c\xf0\xaa\x64\x66\xae\x3b\x67\xca\x98\x12\x4b\x1c\x91\x3c\xc4\x64\xa3\x71\x51\xba\x58\xa4\x2c\x59\x39\x58\x49\x4c\xa7\x90\xf8\x25\xd5\x19\x44\x13\x22\x1f\x09\x61\xf9\xa7\xc8\xc8\x02\x44\x99\x90\x98\xe9\xfa\x47\xc0\x2d\x63\xb5\x56\x71\x06\x2a\xdb\xf8\x60\x80\xc6\x07\x31\x79\x20\x49\xba\x5c\x10\x26\xd5\x07\x44\x56\x9e\xd0\xd1\x02\xd3\xe4\x3c\x55\xf7\x6f\x84\xeb\xf4\xbd\xb6\xdb\xc2\x49\x44\x97\x94\x30\x29\xee\x88\x1a\xf7\x49\x3d\x72\xeb\xf4\x63\x8b\x5d\x01\x4a\x10\x8e\x63\x4e\x84\x80\xb2\x1f\x96\x48\xa3\xcd\x6b\x47\xa6\x5b\x80\x76\x3c\xec\xfc\x7b\xbb\x65\xe3\x6a\x3b\x21\x4a\xb9\x4b\xe6\x74\x2f\xce\x0b\x35\x34\x72\xad\x29\xfb\x92\x97\x13\xb0\xd1\x33\x17\x8c\x2f\x7a\x81\x8a\xc7\x46\x09\xf7\x76\x74\x86\x2b\x73\xad\x9e\x6b\x24\x4d\xf8\x30\x2b\x5b\xfb\x2b\xbf\xab\x8d\xeb\xab\xe8\x6d\x23\x6b\x29\x8e\x92\x54\x64\xbc\xa5\x11\x16\x12\x7d\x6c\x1e\x6d\xa2\x7b\xe4\xab\x36\x59\x22\x45\x27\xed\xa9\x62\xe1\x11\x27\x4b\x4e\x04\xf0\x24\xf8\x0d\xd5\xe1\x96\xe6\x1a\x36\xbf\x1e\x20\xca\xa2\x24\x8b\xd5\x1a\xe0\x24\xf7\x0b\xb2\x18\xe5\x57\xdb\x98\x2d\x8c\xe1\x81\xb0\x40\x8f\x24\x49\xd4\x7f\xa3\x74\xb1\x04\xb1\x6d\xc8\x35\x23\x29\x03\x51\x62\x49\x06\x28\xcd\xa4\x1a\x6c\xa0\xcb\xa4\x99\x2d\x38\x9c\x60\xc0\x7a\xe5\xc5\x4f\xc7\xec\x56\xd8\xa0\xb9\x83\xe8\x68\x5e\xd7\x02\x8c\x32\xf4\x89\x48\x18\x05\x30\x93\xfe\x04\x75\x39\xb8\x4a\x11\x54\x5c\xfb\x2d\x4e\x94\x99\x49\x87\x9d\x3f\xa3\x92\x70\x9c\x7c\xc6\xcb\x1f\x92\x74\xd2\xb8\xef\x43\xb4\xd0\x7a\xb6\x79\x0b\xa2\x45\x0b\xcb\xc3\x96\xac\xe3\x51\xc2\x79\x10\x35\x5a\x73\xfc\xdd\x22\x8d\xe0\xb9\x46\xf6\x54\xbf\x00\x48\x9e\xb2\x90\x21\x54\x53\xa4\xd3\x24\x39\xaf\xa3\x11\x2c\xc4\xbb\xd7\x63\x87\x6a\x7a\x17\x65\xdb\x7b\x1d\x13\x84\x36\xfb\x53\x4f\x06\x0e\x88\x9c\x13\xca\x51\xab\x69\xd9\xf3\x7b\xa7\xcf\x7c\x7b\xa6\xc9\x79\xbb\xce\xf4\xd6\x42\xc4\x09\x08\x45\x98\xc1\x78\x06\xb5\x0b\x8f\xc6\xac\x40\x04\x8a\xc9\x92\xb0\x58\x20\x60\x2f\x7b\x1a\x02\xd9\x3f\x40\x53\xfa\xd5\x0c\x6a\x23\x3e\xf9\x4f\x3d\xf3\xa1\xc6\xa9\x30\xc7\x65\xb6\xeb\x70\x3f\x5e\xc2\xf3\x8d\x56\x73\x2a\x94\x85\x18\x29\xc5\x8a\x93\x28\xe5\x4a\x24\xc2\x6b\x9d\x9f\x6f\xed\xdd\x28\x31\x57\x8b\x82\xd7\x99\x65\x01\x1d\x39\xe6\x39\xc6\x92\x1c\x2a\x4b\x74\x4d\x84\x63\x99\xaa\xd7\x20\xba\x50\xb6\x85\x0b\xba\xf9\x96\xfc\x84\xcc\x30\x43\x3c\x63\x8c\xb2\x59\x0d\xb5\x56\xb4\x6f\x71\x98\x95\x66\x85\x17\xca\x0e\x05\x3d\x42\x11\x14\xd2\x21\x96\xb0\x9c\x8d\x74\x18\x53\xf2\xb9\x56\x4d\x36\x2c\xdb\x23\x76\x96\x6d\x0d\xb1\x19\xd4\x9c\xde\x1b\x62\x13\x2c\x24\x32\x34\xd5\x50\xec\x6b\xb3\x3b\x88\x8a\x37\xd5\x0d\xf3\x0d\x87\x2e\xca\xb9\x4f\x22\x12\x44\x4a\x6a\xea\x5b\x65\x82\x20\x3c\x55\x76\xf1\x82\xf0\x99\x55\xf8\x74\x65\x07\x77\xb4\x4d\x89\x07\x2b\x47\x7d\x59\x32\x66\x95\x43\x1f\xa1\x21\x2b\x45\x7d\xad\x93\x23\x58\x2f\x2d\xb5\x71\xf2\x88\x57\x02\x2d\xa1\x0e\x87\x0e\x44\xe7\x93\x07\x2f\x54\xf8\x90\x75\x39\x29\x85\x8a\x46\x38\x49\x56\x08\x0c\x3d\x8f\xb2\x9a\xcd\xf2\x8a\xdb\xb5\x17\x76\x2d\x75\xff\x82\x67\xb5\xaa\xd4\x9d\x33\x81\x2a\x25\x5d\x49\x99\x75\x37\x47\x10\x67\x34\x60\x3c\xd0\x2d\x8d\x75\x31\x0a\xbd\xb2\x75\x0a\x1f\xb8\x40\xce\xf0\x84\x24\x5b\x7b\x63\x37\xf2\x3d\xc3\xab\x0d\x4c\x52\x99\xdf\x44\x7b\x97\x09\x7a\x9c\x13\x5e\x14\x6d\xd6\x89\xc3\xb3\x76\xbe\xe6\x7c\x9e\x41\x61\x92\x2d\x26\x6a\x71\xbf\x9b\xcb\xef\x3a\x4c\xb0\x7f\x91\xe4\xa0\xe0\xea\x5b\xa4\xe8\xbe\xd9\x86\x06\x0f\xbd\x5b\x49\x02\xda\x05\x7e\x77\x27\xde\x20\xc7\x33\x2d\x73\xd5\x4e\xa7\x88\xa5\x8c\x20\x2a\xf2\x1f\x43\x3c\x51\x63\x4b\x80\x99\x66\x84\x11\x0e\xe5\x9e\x6c\xf8\xd1\xe5\xd5\xb8\x8c\x87\x67\x36\xca\x87\xce\x98\x44\x53\x4a\x92\x58\x20\x46\x94\x4d\x83\xf9\x4a\x9d\x10\x23\xd0\xda\xe8\x46\xbb\xd2\x56\x2b\xae\x0f\xa3\x46\x5a\x2c\x2b\xe4\xde\x28\x4d\xac\x40\x17\x1a\x26\x49\xfe\x23\xf3\x90\x81\x72\x8c\x99\xb3\x82\x81\xff\xa8\x50\xd6\xdd\x11\x82\x6d\x93\xf9\x53\xea\x8e\x51\x1f\xd8\x3d\x1c\x58\x5d\x56\xe8\xcc\x95\x2e\xb6\xbf\xbd\xb7\xf2\x75\x0c\xd1\x4d\xea\x32\x52\x33\x98\xd1\x07\xc2\x2a\x4b\x47\x5b\xa6\x48\x02\x37\x64\xb3\xd4\x31\xa5\xb4\xf6\xc0\x4f\xd5\x7e\xa5\xd4\x26\x67\x25\xcf\x95\x2e\x94\x95\x1b\xd9\xc9\xca\x45\x25\x7c\x53\xe5\x54\x8b\x16\x5d\x01\x18\x0b\xf4\x1b\x96\xca\xdf\xa0\xdc\x46\xb3\xe6\xb0\xae\xb4\x66\x5c\x13\x83\x00\x62\xad\xde\x06\x27\xd4\x30\x09\xc2\xee\xac\xc6\xeb\x57\x7e\x5b\x30\x63\x1e\x75\x79\x52\xed\x6d\x54\x8e\x9c\xd6\xe5\xa8\xe8\x34\xcb\x9d\xf9\x00\x9e\xa3\xf8\x25\xd2\x6c\xc0\x09\x84\x4d\x58\x8a\x16\x29\x27\x85\x54\x4f\x2d\xbc\xed\xbd\x6e\x52\xec\xda\x73\x69\x85\x3b\x4c\xa7\xaf\xe5\xc7\x3c\x70\x83\x35\xbb\xbf\x76\x81\x19\x58\x84\x68\xd3\x06\x0e\x58\x83\x58\xad\x36\xc9\x37\x89\xf3\xd7\xe9\xa4\xce\x11\xed\xd7\xb4\xab\xc3\x69\x1e\x8d\xd9\xc7\x94\x9b\xbb\x53\x18\x7c\xf2\x04\x47\xf7\x87\x84\xc5\x08\x67\x72\xae\xf1\x92\xc6\x77\xbc\x32\x3b\xab\xf4\x02\x60\x01\xbb\xc5\x31\x15\x11\xe6\x46\xe8\x4f\xf1\x43\x6a\xa9\x18\x33\x6f\x10\x40\x40\x43\x96\x05\x64\x82\xd7\x29\x10\x04\xb2\xda\xea\xd6\xa2\x2a\xdf\xb9\x94\xed\xdc\x7c\x66\xfc\x9c\xc9\x31\xbc\x8f\xc4\x8c\x08\x31\x3e\xd0\x54\x17\x56\xe8\xd4\xfa\xa3\xac\x7d\x23\xfc\xca\x91\xee\x97\xfa\x8c\x59\x8f\x8c\x99\x85\x52\x53\xbe\xb7\xb2\x33\x40\x8f\x4e\x33\x0e\x60\xd1\xaa\x31\xbf\x8b\xe6\x34\xc9\x7d\xd4\xef\x06\xe6\x3c\xea\x21\x13\xf2\x40\x12\x35\x30\x65\x11\x27\x0b\xc2\x4c\xf8\xf8\x7b\xf4\xdf\x3a\x0f\x18\xfd\x6e\xcc\x3e\x81\x58\x4d\x92\xd5\x00\xd1\x69\x3e\x32\x96\x85\x61\xee\x2b\x09\x50\x5b\xa6\x25\x4b\x40\x88\xde\xef\x39\x7e\x20\x63\x66\x87\xf9\x6f\x74\x8f\x7e\x8b\x7e\x57\xe7\xc8\x31\x48\xe1\xa7\xb6\xf3\x81\x8b\xed\xbb\x3c\xc9\x30\x30\xea\x23\x48\x0e\xeb\x06\x08\xfb\x87\x38\x53\xcd\x29\xb8\x0e\xde\x4c\xd9\x43\x5a\x8e\x5e\xf9\x27\x17\x73\xc2\xe4\x1d\x4b\x63\x72\x47\x2a\x42\x57\x0d\x82\x42\x5d\xea\xe7\x69\x4c\xd6\x06\x9e\x9c\x82\xfc\x05\x5c\x17\x22\x9b\xb8\xed\x50\xef\xcd\x8d\xee\x90\xc1\xaa\x09\x76\x05\x30\x37\x21\x77\xd3\x58\xd9\x85\xd1\xae\x06\x20\xd1\x0d\x01\xd5\xf1\x1a\xdd\x99\x06\xf0\x34\xc5\x53\x58\xf4\x10\xab\x1f\xab\x99\x9b\x3b\xc7\x2b\xed\x09\xe9\x12\x9c\xce\xa8\xd2\xb6\x9b\xe3\x71\xeb\x55\xcb\x3c\x82\xe4\xf5\x23\x99\xa4\x59\x11\x42\x0f\x9b\xa3\xaf\x44\x19\x68\xd0\x55\xaa\x3d\x9a\xa8\xe7\x39\xdc\xba\xd3\x0c\x9a\xdb\x68\x4f\xa9\x2e\xc6\x21\xc2\xee\x27\xdc\xf6\xd1\xd1\xe0\x1b\x3b\x20\x35\xd0\xe3\x18\xbc\x26\x28\x9a\x63\x36\x6b\x56\xa0\xfe\x92\x91\x6c\x47\x68\x11\x93\xec\xf5\x42\x71\x68\x3c\x13\x79\x2b\x20\xbd\x36\x4a\x16\x15\xba\x0f\x99\x48\x34\x16\xf7\xb9\x27\xc9\x21\x50\xb5\xfd\x58\x34\x64\x5b\x78\x1d\xae\x0c\xdf\xed\xc0\xef\xf0\x1c\x81\xea\xb2\x62\x50\x71\xf0\x80\xff\x4c\xce\xc6\xb3\x9a\xf5\x4e\x78\x15\x2e\xdc\x5d\x9b\xf8\x1d\x4c\x48\x4b\x94\xa1\xd0\x48\x95\x72\x54\xaf\x9a\x3b\xae\x43\x07\x42\x67\x96\xd0\xef\xbe\x83\xf8\xcd\xd6\x7e\x4b\xcf\x1f\x97\x83\xca\x34\xaa\x50\xcf\x86\xc4\x4f\xeb\x63\x08\x23\x62\x21\xae\xd1\x0b\x88\xd5\xe1\x4d\x3d\x8a\x36\x88\x3e\x96\x2d\x80\x6a\xda\xec\xd7\x6d\x49\x69\x8c\x03\xb4\xf4\xea\x83\x29\xdb\x74\x6c\xcf\x0c\xcc\x26\xf4\x87\x6b\xec\x40\xea\x45\x04\xc1\x35\x9e\x09\x24\x39\x06\xd8\x5a\xca\xc4\x98\x7d\xd1\xea\x1b\x15\xda\x50\x32\x29\x85\x60\x87\x21\x0a\xff\x06\xe1\x69\x52\xaa\xe4\x1c\x6b\xe5\xbe\xda\xf7\xee\x8a\x00\xb8\x93\xe0\x7b\xdf\xab\x5e\x06\x2f\x32\x3a\x6b\xe5\x90\x76\xa1\x7d\xac\x63\xa9\x59\x6b\xb5\x93\x94\x0a\xc0\x80\xe2\xa4\xd6\x58\x9a\xa4\x69\x42\x30\xab\xd3\x27\x2b\xbf\x2e\xb9\x49\xa8\x0f\xdf\x53\xe6\x8e\x52\x49\x78\x46\x94\x32\x8d\x93\xa4\x30\x2f\x0c\xb5\x7a\x24\x61\xda\xaa\x36\x16\x91\x22\x34\x5e\x13\x09\x18\xf8\x27\x7f\x42\x92\x4e\x10\x0b\xfd\x40\x23\x17\xc1\x4f\xf2\x72\x30\xad\x80\xca\x7e\xe4\xbf\x12\xd6\xbd\x8e\x30\x1f\x0c\xde\xe8\x13\x0d\x01\xd5\x1d\x48\x5c\x27\xce\x87\x85\x98\x39\x22\x10\x68\xc7\x80\x54\x53\xfb\x07\xe7\xdd\xba\x3c\x9c\xbc\x0f\x76\x09\x52\x2a\xe1\xe1\x38\x25\xc2\x53\xb1\x50\xfa\x40\x0c\xff\xd2\x29\x51\x6a\xd8\x98\x29\x8d\xd4\x57\x07\xb1\x50\x07\x6d\xc9\xd3\x99\x81\xc7\xe1\x88\xa7\x42\x98\x30\xb8\x1e\x47\x1c\x35\xde\x24\x37\x06\x90\xbf\x8b\x00\xc7\xf3\x21\xe2\xca\x95\xe1\xf2\x74\xcd\x1a\xcd\x63\x42\x5c\xf2\x41\xed\xb9\xdf\x16\x2c\x63\x4d\x10\xc4\x09\x16\xc6\xe8\x03\x4c\x49\x21\x9a\xde\x41\x4f\x70\x34\x6b\x6c\xd9\xa1\xdd\x6c\x9f\x85\x4c\x02\x91\x2e\xca\xa4\x2c\x76\xce\x09\x54\xdb\x98\x24\x26\x96\x11\x70\x0d\xcd\x3b\x0f\xe4\x2b\xe2\xec\x1b\xfd\x66\x90\x93\x82\x2e\xd4\x59\x81\xcc\x49\x96\x1e\xa6\x4b\xb0\x1b\x8a\xbf\x9a\x62\x9a\x28\x81\x45\xc3\xc6\x07\x4a\xb9\x3a\x84\xe2\x41\x84\xc9\x2a\x0f\xaf\x1d\x04\x3c\xc2\x24\xd6\xdb\xa8\x39\x77\x7c\x30\xfc\xe1\xe2\xea\x66\x74\x32\x3e\xc8\xe3\x76\x16\xe3\x61\xc5\xba\x4b\x25\x49\xd9\x98\x39\xef\xbb\xab\x0a\x08\x7b\x89\x70\x1c\xe7\x99\x13\x1a\xf9\x75\xa7\xbd\x88\x6d\x4f\xc5\x5a\x07\x7c\x79\x98\x8f\xf4\x2b\x89\xaf\xb0\xdc\xca\x6d\xdf\x18\x16\x6d\xe5\x9e\xaa\x64\xf1\x8c\xd1\x92\x8b\xa4\x41\xc8\xba\xa9\xdc\xaa\xe7\xda\x73\xb0\x3e\x09\xb0\x57\xd6\xcf\x21\x10\xcf\x98\xb2\x2c\xb1\x2b\xd6\x38\x05\x1e\x60\xd1\x6a\x80\x00\x07\xad\xb8\x76\x85\x7e\x8f\x16\x94\x01\x66\xb1\x69\x6d\x6f\xc3\x89\x74\x49\xcd\x3f\x3d\xbf\x0d\x8b\x5a\xfc\x78\x71\x7b\x15\x26\x4a\xfe\xb5\x39\xc9\x3e\x1c\xa1\xc9\x9c\xcf\xe7\xe8\xe1\x42\x52\xbd\x14\x6e\x69\xaa\x26\x7a\x56\xbc\xa8\xdf\x56\x9a\x53\xe2\x74\x86\x5d\x67\x38\x79\xa8\x80\xbd\x48\x6e\x32\x33\xdd\x2e\xaf\x49\x9b\x56\x97\xa1\xbd\xf6\xa4\x17\x74\x65\xe4\x6f\xf3\x18\x76\x3e\x01\xb0\x5d\xab\xaf\xdf\xce\xc8\xef\x7c\x54\x0b\x3f\xee\xa0\xbd\xa1\xfc\x69\xeb\x01\x10\xc6\xfb\xb7\xc4\x13\x9a\x40\x5c\x23\xf5\x12\x71\x2a\x34\x0b\x71\x34\x66\x7e\x55\x59\x7d\x67\x2a\x1e\xb0\xc9\x58\x94\xcd\x50\xca\x08\x4a\xb9\x8e\x61\x39\x71\x38\xf0\x51\xe0\x45\x14\x93\x9c\xa3\x55\x9a\x71\xf7\xc6\xd2\x7b\x0c\xf7\x89\x39\xb6\x71\x6e\xab\x67\x9a\x28\x8c\x9f\xfd\x05\xe3\x2d\x39\xc9\x8d\x2d\x78\x31\x79\x20\x0c\x3d\x2a\xc3\x2a\x77\xca\x8f\x99\x87\x2f\x52\x2a\x29\xfb\x56\x3a\x10\x01\x4d\x4c\x9f\x25\xec\x22\x10\xb9\xab\x45\x60\x6a\x46\x6e\x66\xe0\x1d\x00\xc5\x01\xf9\xbe\x19\xf3\xc1\x93\x75\xde\x03\x1d\xb2\x01\x1e\xf0\x7d\x19\x1a\xcc\x5a\xc9\xb2\xe4\xeb\x92\x44\x9b\xa0\x7b\x2f\x6d\xdd\xc0\x26\x6f\x86\x1f\x42\x32\xe9\xe0\x66\xeb\x64\x6a\x7d\x2b\x45\x6a\xd7\xd0\xd9\x09\x63\xaf\x08\xfd\xd9\x24\xa5\x75\xa4\xd3\xa2\xec\xa7\x3c\x5d\xb4\x23\xf1\x79\x70\xa5\x37\x25\x84\x66\xe0\x1e\xd8\x13\x40\xe9\x7a\x2a\xeb\x90\xa4\xeb\xa4\xde\xcf\xfa\x5e\x74\xa0\x71\x48\x08\x25\x68\x9a\xac\x24\x51\xa3\x4b\x45\xaa\x01\x71\xfa\xef\xf4\xef\x2c\x17\x3e\xb0\xf8\x8a\xc2\x29\x08\x02\x13\x13\x82\x8c\x36\xa4\x41\x95\xd5\x68\x50\xb8\x3e\xab\x3c\xa2\x5e\x50\xd1\xe4\xc4\xa8\xc5\x13\x12\x2f\x5c\x06\x64\x31\xed\xb5\xb0\x5c\x6b\xa4\xd1\xae\xd0\x7d\x4f\x80\x00\xad\xb2\x75\x03\x54\xaa\x89\xbe\xef\x26\xf5\xab\x70\x43\x37\x12\x16\xe4\x7e\xf9\x04\xc5\x44\x62\x9a\x08\x3f\xdf\xa9\xbc\x95\xc1\xcd\xa7\x8b\x19\x59\xc7\xeb\x86\x56\xb2\xd7\x6c\xd1\xdf\x79\xe4\xdf\xf1\xe0\x64\x59\xe0\x95\x87\x0a\x52\xa7\x20\x21\x12\x2e\x67\xca\xdc\xbf\x42\x51\x6b\x99\xd9\x67\xd1\xaa\xc8\xfc\x11\xfa\x61\xe5\xae\x45\x9c\x24\x3e\x25\xda\x79\x97\xb7\xf8\x53\x47\x01\x2e\x31\x74\x7a\x3e\x3c\xbe\x39\xfd\x79\x04\x88\x97\x55\x9a\xa1\x47\x2a\x94\x85\x30\x66\xe0\x0f\x54\x02\x15\x7e\x27\x53\xa4\x7f\x38\x80\x5f\x01\x0e\x4e\x64\x93\x05\x55\xf6\x54\x3e\xc9\x5b\x90\x08\x57\x16\x15\xa5\xcf\xb1\x7a\x00\xae\x6d\x8b\xb7\xaa\x82\x36\xaf\x39\x1f\x1b\x98\xc1\xf9\x20\xdb\x42\xaa\xbc\x70\xc5\xd3\x82\xaa\x3c\x35\xdb\x37\x6b\x2a\x8f\x57\x8f\xaa\xaa\x3e\x94\x61\x6a\x21\xe4\x7f\x52\x21\x0b\x97\x49\x7d\x42\x61\xbe\x05\xbb\x80\x54\x59\x6d\xbb\x83\x1c\xbc\xb6\x8f\x54\x6b\x3b\xd7\xae\x2a\x5d\xa5\x0a\x76\x59\xab\xdf\xec\x5b\x62\x47\x1e\xb6\xdb\x3c\x08\xd4\xc5\xdc\xca\xa1\xc9\x3e\x2b\x78\x08\x84\x10\xd2\x4b\x8a\xa2\x9b\xa5\x12\xa2\xaf\x91\x4c\x56\x15\xd0\x87\x31\xab\xd6\x1b\x9a\x79\x6c\xdb\x40\xea\x4e\x13\x40\xdc\x8e\x5c\xb9\x59\x18\x8f\xc8\x17\x07\x99\xd2\xc6\xa8\xab\x2b\x4c\x0a\xe7\xca\xfa\x5f\x6b\xac\x00\x50\x17\x36\xc9\xb1\xac\x38\x95\x2d\xc3\x9c\x6b\xcf\x85\xb9\x32\x9f\xc6\x82\xda\x32\x1e\x0c\x39\x90\xbb\xcf\xdc\x04\x27\xe6\x00\x3c\xe4\xe9\x03\xe1\x9c\xc6\xca\xc2\xf2\x53\xe6\x5b\xad\x5c\x8b\xf2\x34\x35\x32\x4c\xf7\xae\x90\x29\x84\x4d\x9c\xcd\xab\xc6\xb3\x69\x5c\x05\xe9\xe6\xd4\x9d\x8c\xc5\x84\x33\x82\xe5\xfc\xf9\xe2\x8b\xc7\xdb\xba\x0c\x9f\x2d\xd6\x78\xbc\x93\x1a\x4e\x3e\xb9\x61\x3d\xa3\xb5\x74\x66\x85\xaa\xe9\xcd\xb0\xd4\xbc\x78\x50\xc9\x88\xaa\x70\x75\x79\xf8\x5e\x63\x67\x85\x85\x84\x3a\x82\xaf\x6b\x2d\x08\xe7\x7e\x52\xe6\x41\x58\x58\xc2\xb4\x14\x69\x16\xe9\xb2\x26\xf2\xd2\xa6\xd2\xa2\xd6\xb1\x83\xb2\x77\xfa\x13\xf3\x41\x4d\x79\xc4\xc2\x63\xc5\xd9\xfa\x86\x01\x5b\x15\xed\x6a\xcc\xe3\x84\x08\x50\xf9\xb4\xae\x5f\xd0\xea\x9a\x6c\x8e\x31\xfb\x31\x7d\x24\x0f\x84\x0f\x10\x96\x68\x91\xaa\x9b\x9c\x11\xbf\xd6\x3e\x0e\x13\x2c\xb5\x4b\x1b\xa3\x73\xbc\x20\xf1\x08\xee\x03\x0f\xbb\x65\x2c\x1f\xe3\x55\xac\xca\x61\x81\xbc\x0c\xbd\x0d\xd6\x05\x3e\x66\x38\x92\xf4\x81\xe8\xd8\x0e\x00\x06\xa9\x9d\x18\xf0\xff\x6f\x9c\xcf\xf3\x37\x47\xe8\x46\x5d\x5c\x54\x84\xf4\x7a\x58\xd8\x3a\xda\xc6\x6c\xc6\xd3\x6c\xe9\x34\xd3\x74\x02\x2a\xb1\xf6\x7d\x56\xf8\x3c\x81\x18\xeb\xf0\x8c\x70\xac\xae\xc5\x66\xc6\x09\x6c\xa7\x3d\x73\x05\x84\xf8\x3a\x9f\x81\xd4\x6d\xe1\xc2\x4a\x06\x3a\x00\x6c\x54\x9f\xf4\xbe\x3b\xdf\x69\xa9\x28\x99\x00\xa5\xcc\x99\xac\x01\xd8\x62\x43\x51\xe1\x99\xf9\xd6\x24\xae\x46\x09\xe5\xaf\xd5\x45\x3e\xb5\xe0\x20\xd5\x55\x73\x6b\xf6\xbe\x7d\xba\x55\x81\xca\xcb\x8c\x2f\x53\x80\xd9\x26\x2b\x0b\x4d\x5a\x60\x08\x9e\x2f\xd3\x65\xa6\x11\xc7\xd4\x0f\x32\x55\x12\x44\x85\xfc\x8c\x65\x34\x57\xfa\x40\x0e\xa1\xdd\x45\x1a\x58\x20\x48\x9f\xd6\xfe\xa8\x98\xc1\xb1\xff\xf6\x1a\xdb\xba\xb5\x69\xa9\x33\xc9\x2c\x7e\x00\xfe\x95\x24\x79\xc7\xcf\x8a\x42\x6e\xd5\x6b\x1d\xd4\x8e\xd9\x79\xa0\x75\x0b\xfd\xf0\x44\x29\xd0\x94\xa1\xfc\x87\xc8\x78\x90\x2b\x8f\x74\xc6\xe9\x46\x6a\xa0\xf1\x40\x90\x07\xc2\x64\x6e\x50\x2c\xf0\x12\x51\x25\xb7\xd5\xcd\xc3\x67\x64\x80\x1e\x6d\x6b\x41\x84\x51\xc6\xa9\x3d\x61\x60\x05\x34\x6c\x5f\xa8\x86\xbf\xd7\x11\x01\x8d\x89\x8a\xb0\x57\x36\xc9\x94\x35\x8f\x64\x86\x5d\xdc\x16\x76\x38\xa1\xec\x5e\xbd\x4c\xa7\x73\x5b\x6f\x2f\x57\xf2\x2d\xe5\x16\x54\x1a\xec\xe9\x5a\xce\xdb\x62\x97\xeb\x2b\x17\xae\x3b\x0a\x94\xcd\x3c\x38\x7c\xb5\x11\xd4\x26\x2d\xbb\xf2\xc9\x76\x59\xe5\x95\x8f\x5a\x7d\x62\x93\x67\x1b\x10\xc4\x1b\xd7\xb4\x0c\x70\x13\x06\x27\x60\x34\x12\x3f\x51\xc1\xa8\xd2\x90\x5f\x43\x75\xb9\x7e\xa3\xa1\xfc\x97\xfb\x4b\x17\xc3\xd1\x4b\xf3\x5f\x28\xe5\x63\xa6\x3f\x1f\xb8\xbc\x79\xf5\x83\x3c\xc5\xa5\x26\x29\xd4\xf1\x93\x2d\x82\xb9\x99\x5e\x79\x33\xbc\xfe\xe9\xee\x6a\x74\x7d\x71\x7b\x75\x1c\x28\x97\xc7\x67\xb7\xd7\x37\xa3\xab\xca\xef\x46\xff\x77\x74\x7c\x7b\x73\x7a\x71\x7e\xf7\x97\xdb\xd1\x6d\xcd\x57\x76\x80\xb3\xe1\x0f\xa3\xb3\x46\x25\xb5\x9a\x86\xba\xb2\xa2\xb8\xd0\xc1\x28\xcf\xde\xb7\x97\xea\x64\x65\xb6\x88\xfe\x0b\x8c\xd7\x4b\xbd\xae\x87\x03\xfb\x97\x2e\x14\x79\xa8\x8e\xb2\x75\x5f\xe4\xa7\x60\xcc\x9c\x7f\xc9\xc9\x6d\x89\x67\xc2\x36\x9c\x08\xa8\xfd\x80\x86\x4b\xd3\x54\x22\x0d\x5f\x2a\xb1\xb8\xcf\x29\xb5\x6e\x45\xd8\x5b\x28\xa3\x2d\x4c\x8b\x85\xc2\x32\x87\x03\x9a\x39\x01\x09\xc6\xbd\x12\xa3\xbc\x84\x6b\xa9\xd6\xa7\x19\xb4\xb0\x3f\xd0\xbe\x45\x2f\x8e\xd0\x74\x41\xd6\xcc\x8a\xe1\x05\x8d\xf4\x07\x85\xc4\x11\x93\x52\xb2\x20\x4c\x16\x47\x0c\xb6\x35\x1c\x79\x4e\xd0\x4f\x7f\xca\x89\x02\xa3\xd8\x18\x99\x59\xa9\xf4\x93\x6d\x0c\x9b\x55\x55\xf2\xa8\x90\x4d\x5b\xa5\xea\x88\xfb\x3b\xd7\x42\x6b\x23\x61\x79\x83\xc5\x7d\x45\xb5\xd9\x4a\xf9\x63\xe6\xbf\xe5\x1b\xeb\x4b\xdc\x56\xfb\xcf\xec\xba\xde\xc1\x06\x6e\xf6\xce\xda\x3c\xa9\x35\xaf\xb4\x33\x4e\x0a\x05\x57\x5a\xbf\x2f\x28\xd8\xd2\x5e\x2a\x43\x8e\x27\x8d\x20\x9f\x16\x53\x66\x32\xf9\x89\x2b\x21\x63\x6b\x1a\xea\x42\xf5\x26\xfb\x07\x4f\xd2\x87\x20\xbd\x6c\xa1\x0b\xbf\x57\x6a\x62\x9e\xbd\xb7\x0d\x07\x86\xfd\xdb\x5a\x6b\x63\x76\xf3\xa1\x6e\x7f\xe5\x1e\xb4\xb5\xe7\x8a\x93\x59\x07\xa1\xda\xc0\x0f\xeb\x8d\xee\x1c\xb1\x6d\x54\xb0\x13\xd8\xd3\x09\x78\xd9\xf3\xd2\x82\xba\x82\x2d\x18\x6a\xbe\xd1\x3d\xc8\x03\xce\x5a\x35\x73\x97\xe6\x7b\x7b\x8f\xa2\xf7\xda\x13\xf0\xde\xbb\x27\x56\xcb\xa0\xbf\x77\xf3\x46\x7b\x6b\xb3\x97\x25\x75\x2a\xdb\x6c\x6e\xae\xba\xb5\x25\xe1\x19\xfa\x61\x56\x4e\xe2\xa9\xeb\xe9\xec\x5b\xef\xf7\xf6\xe2\x2f\xaf\x95\x65\xe8\x36\x85\x75\x40\x2d\x0a\x80\x19\x1f\x01\x43\xe3\x91\x39\xf4\x6a\x6c\x03\x7a\x5f\x12\xae\xcb\xbf\x40\x34\xde\x45\x7c\x8d\xb7\x6e\x9d\x6c\xcc\x8f\xcc\xd6\x25\x4a\xd4\x78\x65\x6c\xef\x8e\xa3\x90\xcd\x82\x70\x0d\x5a\x78\xe8\x4a\x40\xe7\x45\x5d\x44\x0d\xf3\xf6\x91\xf8\xaa\x59\x05\xd6\x94\x5d\xcc\xca\x4d\x59\xc7\x78\xaf\x8d\xdd\x5a\xc4\xbc\x87\x55\x2b\x62\x30\x0b\x35\x9a\x58\xcf\x65\x4f\xcb\x65\xbb\x80\x7b\x84\xc4\x75\xbf\xcd\x8e\xb5\x42\xe4\x0d\x63\x53\xea\x94\x86\x6b\xe5\x74\x58\xfb\xa6\x39\x15\xbc\x71\xca\x3b\x8b\x38\xec\x42\xf5\xad\x83\x22\xf8\xea\x9d\x99\xb8\xab\x53\x2e\x53\x83\x41\x7d\x32\xc5\xb9\xc6\x73\x59\x2a\x37\xd0\x96\xa4\x1d\xe9\xdc\x6b\xc0\x0f\x06\xfc\x64\x42\x16\xa6\xb7\x2a\x23\x8f\xfa\xb4\xed\x47\xf0\xa3\x82\x0f\x5f\x38\xfa\x11\x14\xaa\xd9\x59\x3d\xf9\xbb\xf5\xee\xf1\x6a\xcb\x7b\x77\x35\xde\xf3\xc2\xab\xa5\xea\xee\x56\x57\x3e\xaf\xaf\xdb\xd5\xad\x94\x76\xb0\x88\xeb\xcb\x68\x43\xb3\x0d\x2c\x6a\x6a\x68\x43\x4e\x7f\xbc\x2f\x95\xb4\xcb\xa8\xf8\x90\xb8\x17\x2e\xa3\x5d\x20\x66\x7f\x6a\x69\xaf\x5d\xb7\xfd\x4d\x7b\xa8\x20\xb4\x45\x0d\x6d\x87\xca\x83\x92\x59\xdd\x44\x3e\x64\x42\xd0\x38\x01\x89\x64\x1d\xd7\xea\x50\xb5\xf1\xb7\x14\xe1\x40\x81\xcb\xac\x30\x17\x03\x95\x07\x37\x71\xd8\x8a\xa4\x5e\x28\x8e\x1e\x08\x93\x3b\xd1\x17\x60\x88\x0a\xd4\x62\x3b\xa3\x5f\xd7\xc2\x39\x3d\xc9\xc5\x84\x2b\x9b\xe8\x45\x0b\x24\xc7\xea\x96\xb2\x8d\x90\x4c\xfb\xa3\x3a\x47\xa7\x9a\x5a\xbb\x2d\x82\x9f\x96\xd7\x65\x0d\x34\xc1\xac\x36\x14\xd5\x2a\x84\x3d\xd3\x08\xfa\x6b\x76\x4a\xa4\x09\x6e\x66\x16\x43\xc2\xbb\x57\xbb\x5c\xb7\xbf\x2e\xee\xb9\x7e\xe7\x1c\x8b\xe2\x2b\xd7\x6e\xf9\x06\xf8\xfb\x60\x98\x4f\x44\x9e\x60\x89\x77\x52\x50\xb6\x03\x1c\x12\x08\xb9\xe5\xc9\xda\xf6\x2c\xd7\xba\xf0\x58\xc6\x93\xdc\xb0\xc1\x48\x5d\x68\x47\x5e\x14\x1c\x50\xca\xc1\x8a\x6a\x62\x6a\xe4\x40\xf7\x86\x32\x4f\x49\xaa\xa1\x66\x23\x34\xbd\x90\x3c\x8b\x20\x35\x59\x9d\xb8\xea\x9d\x35\x35\x19\x40\x76\x1a\x67\xbd\x08\x32\x6d\x6c\x4a\x1e\x04\xd7\x2b\xef\xf5\x7a\xfe\xd9\xd6\x07\x10\x16\x2f\x7c\x32\x57\x40\x20\xbd\x83\x09\xf4\x09\x1d\x9b\x1a\xf8\xa6\x4c\x87\xe3\x40\xc8\xb7\x92\x9c\x12\x48\x04\x4e\x5c\xf6\x40\x28\xe9\x8c\xcf\xa7\x9a\xb1\x76\xd3\xb1\x0e\x34\xd5\x27\x63\xa5\x86\xbe\x34\x3e\x2b\xb5\x73\x62\x6a\x52\x35\x98\x45\x9d\xcf\x4c\x10\xae\x93\xb8\x1d\xf0\xb6\xa2\x92\x55\x6d\xcc\xa1\xb2\x41\x5f\x53\x0c\xb0\xd4\x28\xb0\xfa\x62\xd7\x8e\x0c\xf4\x1d\xf4\xc9\xc7\x92\x1c\xd9\x3c\x8b\x77\xe8\xbf\xa1\x32\xd5\x7f\xd5\x55\x28\x9d\x11\x7e\x17\x67\x41\x00\x6f\x1d\x51\x97\xea\xa1\x93\x4c\xae\xaa\xf3\x55\x02\xfb\x22\xc1\xd1\x7d\x97\x1c\x1e\xf5\xfb\x9a\x61\xd7\x33\xbc\xe7\xd1\x0a\xe5\x6e\x4d\x86\x0c\x29\x64\xc8\x98\x78\x87\xff\x7e\x1d\x9b\x60\x50\xb8\xcc\x33\xce\x4d\x98\x66\xa8\x68\x3e\x42\x1f\x75\xf1\x09\xb8\x43\xf4\x2b\xa2\x34\x4b\xe2\x31\x23\x5f\x95\x75\x1d\x20\x15\x2a\x0a\x06\x18\xc4\x8c\x79\xd3\xba\x83\xb7\xbd\x40\x7f\xf1\x74\xa6\xf2\x9e\x96\xa7\x5c\xcd\x64\x5b\xa9\xce\x7b\xd2\x26\xf3\xd8\xb6\x84\x1f\x20\x37\xc9\x02\x5b\x24\xe4\x81\x70\x3c\x23\xa6\x8d\xa6\x57\x1c\x02\x6f\xd0\x35\xf3\xb2\x14\x6c\x7d\xdd\xad\x5f\x4b\x31\xdc\xa7\x65\x63\xd3\x38\x77\xad\x1a\xd2\xde\x87\xdd\x5e\xa6\xdd\xa4\xcb\x43\x5d\x89\x9b\xb9\x7e\xb6\x56\xc7\x88\x12\x2c\x04\x9d\xae\xbc\x46\xb5\xf6\xf2\xd6\x61\x54\x57\x83\x24\xac\x55\x53\x79\xb5\x07\xd8\xaf\xdd\x00\x8b\xb6\x8f\xf1\x1b\x73\xd5\x06\x9c\x69\xec\x83\xe6\xa1\x08\x63\x09\x64\xd8\xb2\x4e\xe4\xb6\xa1\x7f\x43\x99\x09\x80\xef\x8e\x30\x8b\xa9\xdb\x0c\xa1\xd4\x08\x5a\x5d\x2b\x1f\x8a\x7b\x7f\x42\x12\xb2\x27\xfd\x93\xca\x8c\xd0\xb8\xd6\x79\x3a\xe5\xb3\xed\xff\x76\xf4\x6c\x10\x06\xaa\x81\xb9\xee\x60\xbf\x5f\x38\x98\x50\x43\xdd\x27\xd2\xc6\x99\xb2\x96\x17\x37\x3a\x57\x75\xc2\x71\x8b\xc5\xde\x59\x04\xf1\x89\x27\x54\xb7\xd7\xd7\x44\x0a\xab\xb8\x7a\x9c\xae\x5d\x14\xe6\x9c\x1e\x5a\xc4\x53\x8e\x1f\xea\xb0\xe1\x7b\x12\xdb\x32\xd4\x5d\x99\x12\x20\x4f\x27\x0e\xd7\x6f\x57\x17\x7e\xcb\xe9\xdd\xc0\x01\x69\xc6\xd8\xc5\xed\xff\xb4\xaa\x59\x69\x61\x5a\x1a\x17\xd7\xe5\xea\x12\xdd\xf3\xb2\x78\xca\xee\xc8\x57\x65\x73\x8a\x4d\x61\x0b\xb7\x82\x08\x34\xfc\x72\x8d\xc4\x8a\x49\xfc\xf5\x03\x1a\x1f\x7c\xd6\x25\x34\xd1\x8f\x69\xc6\x05\x3a\xc1\xab\xc3\x74\x7a\xb8\x48\x99\x9c\xa3\xcf\xf0\x7f\xcd\x47\x8f\x84\xdc\xa3\xbf\x12\xcc\xc7\x07\x63\x06\xb9\xa1\xa6\x4f\x97\x2b\x73\x31\xc7\x10\xc5\x12\xa6\x3a\xe7\xef\xfe\x68\xcb\x73\xaa\xd7\x7c\xff\xfe\x77\x7f\x44\xbf\x81\xff\xf7\xff\xa3\xdf\x8c\x0f\x6a\xee\xa5\x6e\x29\x87\x79\xfd\xd4\xca\xd1\xee\x69\x74\x9f\x4e\xa7\x77\x92\x2e\x88\xce\xcd\xbf\xc3\xbc\xb6\x93\x4f\x47\x00\x26\x35\x25\x03\x74\xd1\xb3\x3c\x2b\xca\xbc\x54\x47\xfb\xac\x12\xe6\x1a\x40\xeb\x24\x25\x16\xa6\xca\x53\x01\x4f\x91\x18\xa5\xd3\x69\x17\x97\x9b\x4d\xc2\x28\x17\x24\xca\xe3\xc6\x7e\x01\x0c\x67\xd4\xf9\xae\x88\x74\x5d\x81\xd1\xb2\x8f\xe4\x8d\x59\xc5\x30\xc1\x27\xb5\x88\xaf\x53\xbe\x95\x08\xbf\x27\x25\x7f\x59\x27\x7f\xb3\xcd\xe5\xf7\xeb\xa8\x40\x40\x2a\xe5\x0e\xc5\xac\xe3\x07\x26\x71\x7e\xcc\x6e\x2e\x4e\x2e\xbe\xbb\xc7\x92\xa7\x33\xcc\xde\x7d\x40\xc3\x38\x36\x3d\x2d\x90\x71\xfa\x29\xe6\x99\x13\x4e\x8e\x90\x5f\xa0\x9e\xa9\x85\xab\x74\x20\xfb\xfa\x30\xe5\x24\xaa\x32\x5c\xab\x0f\xbb\x5a\xbe\x13\xf7\x48\x0d\xd2\x27\x28\x58\xe0\x5e\x90\x27\x17\xc3\x5c\xef\xc9\xca\x34\x6f\x2b\xce\x77\x93\x36\x1d\xd7\x4b\x12\x29\xeb\x17\x86\x4e\x79\x4c\x60\x79\x74\x4b\x60\x2a\xa4\x8d\x75\x56\x1d\xaa\x1b\x2c\xee\x77\xeb\x20\xd9\x3a\x75\x9c\xc6\x79\xaa\xa5\x5e\xc5\x72\x6f\x46\x23\xfc\x24\x16\xf7\x75\x48\x85\xce\xb5\x59\xd5\x52\x58\x10\x4f\x13\x7d\x66\x64\x2f\xa3\xc4\x54\xcf\x07\x85\xca\x03\x5b\x2f\xf0\x52\x57\xf0\x07\xc1\x48\x13\x12\xfb\x75\x0e\xaa\xe8\x5f\xb7\xd1\x1a\xb1\xed\xf9\x37\x38\xa0\xd4\x95\xba\x17\x43\x08\x07\xb3\x95\x66\x00\x25\x68\xb1\xb8\x17\xae\x7e\x01\x12\x0b\x9c\x24\x03\xc4\x49\x06\x2d\x18\x06\x48\x90\x64\x7a\x68\x93\x64\x62\x94\xa4\x33\x1a\xe1\x04\x4d\x92\x34\xba\x17\x63\xa6\x24\x1f\x9b\x69\x81\xbd\xe4\x69\x44\x84\xf0\xae\x8a\x3c\x4a\xb7\xe4\x69\x9c\x45\xba\xc4\xaa\x2e\x71\x4e\x85\xa4\x51\xa1\xae\xa6\x3a\xc9\xd0\x71\x28\xc2\xa0\x18\x43\xe5\x84\x85\xee\x9d\xc7\x29\x01\xe7\x8d\xcc\x6c\x17\x0c\x48\x02\xc0\x09\xfd\x17\x44\xe3\xe7\xf8\x81\xa6\xbc\x8e\x7b\x77\x80\xbb\xb2\xdb\x73\x27\xc3\xd3\xb0\x86\x9f\x8f\xcd\x63\x70\x86\x9a\x38\xe6\x2a\x64\x67\xc7\x0d\x8e\xcd\x1d\x56\xdf\x32\x45\x5e\x86\xd4\xe6\x43\xe8\x9f\xd8\xe8\xdb\x9e\xc1\x73\x80\xe4\x1a\x50\xce\x3a\x9e\x3e\xd6\x95\x3d\x4d\x0a\xa2\xe7\x38\x82\xd1\x6d\xed\x43\x93\x4c\xad\x44\xdb\x83\x62\x12\xbb\x3c\x6a\xed\x95\xf8\x1b\xb8\x72\x9b\x58\xa0\x65\x92\xcd\x28\x3b\x74\xa9\x24\x31\x96\x78\xcc\xa0\xee\x86\x7a\x49\xa1\x76\x63\x99\xa3\xf6\xb8\xc4\xe6\x6e\x84\x63\xc7\x4a\x9b\x76\x91\xbb\x30\x79\xc8\xb7\xb6\xe3\xd8\xc6\x48\x6d\x5e\x15\xd5\x35\x3d\x75\xd5\xb7\x0f\x34\xaf\x1f\xe3\xbd\xa8\x76\x6f\x37\xb6\xae\x0b\x54\x95\xe0\x0e\x74\xaa\x99\x0c\x68\x83\x10\x9b\x69\x17\x51\x47\xd1\x8b\x00\x48\x9b\x36\xf2\x12\x4b\x5d\xf2\x9f\x2c\x52\xa9\xab\x26\xe8\x02\x06\xa6\xae\x81\xa9\x8b\x30\x49\xd2\x09\xdc\x2b\x50\xdb\x00\xe6\x1d\x14\x8a\x32\xf3\x26\x31\xfa\xce\xbb\x26\x1c\xaa\xe3\x5d\x5d\xa4\x78\x77\x28\xd6\x62\x62\x54\x2d\x96\x35\x4c\x76\x3e\x42\x97\xb9\x9b\xa4\x38\xab\x29\x56\x92\xbb\xae\xef\x65\x37\xe4\x6b\xb0\xfb\x3b\x40\xbe\x16\xa6\x51\x53\x07\x21\xdd\x45\x87\xc2\xe6\x49\x9d\xa5\xed\xed\x1f\x8d\x73\xd3\xfa\x47\xb0\x39\x96\xcd\x56\x55\x5b\xb4\x5f\xa8\xde\x42\xb2\xfc\xcb\xa2\x7a\x0b\xc4\xec\x33\xaa\xb7\x40\xea\xfe\xa2\x7a\x2b\x08\x6d\x81\xea\xd5\x6e\xe2\x3b\xc5\xd4\xed\x84\xc2\x92\xa7\x32\x9d\x64\xd3\x6b\xb8\x4d\xda\x14\xee\xd3\xc2\xd9\xea\x39\x26\x99\x02\xa8\xd5\x3a\x50\x37\x45\xcc\x07\xff\x16\xa6\xdc\x12\xfc\x1b\x88\xb4\x1e\xfc\xeb\xc0\xbf\xe5\x75\xd9\x47\xf0\x6f\x61\xcf\xdb\x81\x7f\xab\xb6\x7c\x03\xdf\x7b\x30\xcc\x9b\x01\xff\x16\x56\x74\x9f\xc1\xbf\x05\x52\x77\x07\xfe\xad\xde\xd9\x6e\xe0\xdf\xca\xeb\xbf\x9e\x7f\xb6\xc5\x8a\x41\x6d\x98\x67\x06\xff\x06\x13\xe8\xc1\xbf\x5b\x56\x73\x0f\x59\xd0\x50\x00\xc5\x49\x0d\xc0\xb5\x28\xeb\x1a\xe0\xbf\xa0\xd2\xee\x80\xa3\x9e\x36\x26\x08\x5e\xa8\xb6\x5a\xf7\x30\x58\x07\x61\xca\xe5\xa9\xeb\xcf\x62\x44\xbd\x8e\x87\x7d\x15\x83\x6d\xf3\xcb\x0b\x8b\xec\xbc\x57\xb0\x71\x75\x2c\x57\x51\xe4\x69\x0b\x06\x34\x95\xd5\x36\x2d\x6f\x55\xdf\x04\x4d\xd7\x2d\xdb\xcd\xb0\xdf\xf8\xff\xad\x5d\x90\x6d\x6b\xe0\x47\xcb\x6c\x13\x54\xe7\x6c\xb3\xc7\x16\x64\x91\xf2\x75\x61\xb3\x1a\x73\x36\xe5\x78\xb6\x0e\x49\xda\x76\xf5\xb6\x5d\x35\x5b\x6a\xae\x9b\x7f\xe3\xc6\x3e\xd5\x68\x70\xd9\x26\x01\xbe\x07\x1c\x74\xd2\xca\x18\x8b\x4b\x9d\xdf\x30\x8a\x52\x03\x98\x2f\xbf\x10\xdc\xab\x82\xf0\x43\x0f\x01\x1f\xfa\x35\xcb\x14\x04\xeb\x6e\x15\xb4\x2d\x96\x3d\xe3\xb5\xb1\xe9\x16\x32\x76\xa8\x8b\x94\x2a\xed\xcf\xcf\xab\x2f\x72\xda\x64\x55\x81\xa3\x6a\x67\x52\xeb\xd6\xad\x5d\x1c\xc3\xf4\x5f\x6e\xa3\xa7\x34\x21\x08\x47\x11\x11\xd0\xfb\x17\x19\xec\x82\x2e\xc6\x96\xf1\x64\x9b\x5d\xa5\x6c\x06\xf3\x56\xca\xa4\x57\x2c\xde\x31\x8f\xbe\x33\xe6\x3c\xcd\x66\x73\x6b\x65\xd9\x7e\x62\x55\x7b\xf9\xa5\x5c\x7c\xf4\x95\x05\x04\x0a\x1d\x46\x8a\x4c\xd0\x3d\x62\x6a\x97\xe4\x99\xa3\xa6\x55\xf3\xe8\xc0\x1d\x01\xe6\x25\x3f\xfe\xd6\x8f\xad\xb5\x12\xc8\x70\x19\xb3\x61\x80\x8e\xb1\xed\xa8\x26\xab\x3c\xca\xae\xaf\x76\x9f\xc9\xa0\x81\xa6\xb1\x5e\xa0\x63\x85\xfa\x0b\xd4\x10\x78\xc8\xc4\x53\x6d\xcc\x14\x00\x02\x24\x3e\xc4\xd1\x2a\x4a\x68\xe4\xa9\xa4\x33\x8e\x97\xf3\x26\x4e\xec\xe1\xea\x2f\x05\x57\x6f\x59\x88\xb8\x89\xb4\x2f\x7e\x29\xdf\x57\x0d\xa3\x2f\xb3\x63\x8f\xa0\xef\xc0\x92\xdb\xd1\xb3\x73\x4e\x7c\x4d\x80\xfe\x7a\xce\x7b\x61\xf0\x74\x99\xb0\x97\x84\xf1\x57\xdc\x17\x9b\xad\xee\xcb\x82\xf7\x5b\x4d\xa3\x16\x22\xd7\x02\xb7\x1f\xf4\x8d\x71\xf7\xfe\x1a\x14\x7f\xfd\x2a\xed\x09\x0f\xee\x12\x1f\x55\x27\x6d\xd6\x63\xa4\xba\xa8\x8a\xdd\xe0\x52\x6e\xa3\x5e\x17\x64\xca\x91\xbd\x21\x6c\x6a\xe8\xd5\xb7\x9e\xa7\x09\x74\xae\x0d\x56\xcb\xbd\xc0\x21\x2f\xdc\x02\xd9\xcd\x80\x36\x85\xa0\xba\xe6\xbd\x0e\x9b\xc0\x51\x6e\x13\xdf\x06\x40\x6a\x8d\x3d\xd4\x11\x24\xe5\x2f\xea\x76\x40\xa9\x2d\xed\x9b\x6e\x60\xa9\xa6\xb6\x93\xc5\xfd\xde\x20\xac\x57\x2a\x48\xd1\x07\x85\x5d\x50\xb8\x7a\x6d\xf6\x31\x30\x5c\x6e\xe4\xd6\x32\x38\x5c\xb7\xfd\xbb\xe0\xa4\x1d\x06\x89\x5f\x38\xf4\xda\x18\x75\xf5\x18\xec\x65\x63\xd9\x4d\x61\xec\xf5\x6c\x56\x19\x97\xab\xdf\xd3\x4e\xe1\x61\xd6\x1c\x1a\xb6\x6f\xd9\x36\x86\xe7\x70\xf7\x4f\x1a\xc7\x73\x7e\x46\xef\x89\x96\xb1\xbc\x3c\x31\xa0\x8f\xe7\x3d\x69\x3c\xaf\x62\xa1\xd7\xc7\xf4\x02\x05\xe1\x59\x03\x31\xf6\xcd\xcf\x11\x8c\x59\xa7\x54\x65\x93\xbb\x27\x3f\x47\x95\x73\x6e\x7b\x9c\xbe\xb8\xbd\xd5\x97\x1f\x57\x4c\x33\x21\xb1\x6e\xf4\x2d\x53\x94\x42\x0b\xaf\x9c\x05\x18\xd1\xcc\x9a\x37\x6b\xc6\xd0\xff\x82\xc6\x1a\x90\xb9\xc4\x50\xa3\xc4\xdd\xa1\x1a\xa5\x37\x66\xb0\xbf\x49\x42\xb8\xd5\xd9\x39\xfa\x4e\x50\x68\xa2\x9d\xeb\xf1\x1c\xc5\x29\x11\xec\x5b\xa9\x5b\x30\x60\xb6\x42\xf7\x2c\x7d\x4c\x48\x3c\x83\x1d\x2a\x12\x73\x88\x28\x19\x20\x2a\xdd\x63\x9c\xe0\x68\xae\xc4\xe5\x58\xd1\x0e\x6e\x6d\x7d\xd9\x13\xf3\x2c\x37\x19\xd3\x9e\xc9\x20\xde\x1d\x21\x74\xca\xd0\x14\x2b\xa3\x58\x64\x93\x7c\xfc\x38\x85\xbe\xe6\xea\xf6\xf7\x27\x9e\x0f\xf2\x64\x81\xb8\xca\xc0\x5b\x8d\xf6\xaa\x18\x60\x98\x50\xbc\x95\x63\xfc\x01\x97\x70\xe8\x1d\xa4\xe1\xe7\x4c\x48\xdd\x2a\x0c\x1a\xc6\x1a\x7a\x0d\xa8\xd9\xa5\xeb\x42\x75\x1b\x9d\xfa\xca\xd2\xb8\xb6\xa9\x72\x61\x2a\x5d\x69\xc9\xa3\x18\xa6\xa8\x8e\x31\x89\x60\x5c\xbd\xdc\x71\xfa\xc8\x84\xe4\x04\x2f\x80\x10\x61\x3a\x1e\x4e\x75\xbc\x42\x3b\x1b\x28\xd7\x37\x70\x97\x2d\x3e\xa3\xec\x5e\xed\x6e\x9e\xa0\x9c\x42\xf6\xa7\x7a\x73\xc5\xa6\xfd\x40\x19\xe6\x5b\x35\x55\xd2\x05\xcb\x37\x32\xe5\x27\xab\xba\x0c\x6e\x89\xd7\xa5\x6b\x77\x31\xdc\x05\x5d\xa8\x7b\x51\xbd\x0e\x81\xa8\xd3\xe5\xd0\x30\x92\x18\x7a\x9c\xcf\x49\xb2\xf4\x8a\x1b\x2d\x31\x97\xae\x84\xbf\x58\x09\x49\x16\xd0\x08\x29\x63\xba\x13\xba\xb6\x05\x1e\x4d\x9a\x9f\xf1\x0b\xe5\x83\x1f\x8d\xd9\xa9\xfc\x56\xa8\xf3\x95\xb2\x59\xb2\x42\x38\x7e\xa0\x22\x4f\x16\x8f\x52\x26\xb2\x05\xe1\xe6\x15\x54\xe8\xca\xf9\xba\x13\x31\xc2\x96\x57\x14\x6d\x4a\xf1\xb2\x95\xf6\xcc\xdd\x30\x43\x13\x32\x55\x97\xee\x12\x73\x61\x7d\x10\x15\xfe\x03\xb3\xb9\xb1\x5a\xab\x17\x3b\x93\x3f\xfb\xc7\x0e\x2d\xf2\x13\x8a\x8d\x4e\xfb\xbe\x78\x3e\xcd\xaa\x37\x9c\xcd\x49\x69\x52\xa8\xf9\x62\x32\xab\x70\x52\xaa\xca\x5f\x34\xf5\x6c\x73\x00\xdd\xdc\x5e\xbd\xc7\x2a\x34\x9a\xb8\x4e\xde\xa2\xc2\x04\x0d\xd5\xda\x05\xe0\x9f\x4d\xd3\xa0\x52\x48\x2c\x69\x64\x74\xa7\xbc\xfc\xaa\x7e\xba\x7e\x6b\x4f\xb6\x6c\x87\x21\x22\x9c\x94\x77\xb8\x7e\x2d\xaf\xf5\xef\x9b\x65\x9f\x39\x6e\x7a\xec\x46\x18\x44\x94\x26\x49\x97\x7c\xf0\xc2\xcc\x8f\xf3\xc7\x9b\x29\xca\xdf\xa3\x36\xc0\xee\x05\x9c\x1a\x9d\xc3\x8e\x13\xa3\x59\x08\x69\x76\xc9\xff\x91\x96\xa1\x2b\xc4\xb2\xc5\x84\xf0\x31\x4b\xa7\x50\x26\x20\xa9\x33\x1b\x97\x3c\x5d\xd0\x2e\x89\x49\x17\xb0\xcd\x57\x36\xd8\xb3\xc6\x9b\x65\x43\x42\xea\x14\x19\xf6\x32\x6f\xd4\xcd\xd8\x98\xd6\x33\x1a\xce\xd0\x02\x2f\x37\x5a\xf0\x52\x43\xe2\xd2\x4a\x2f\xb4\xe9\x6a\x56\x0f\xb2\xa1\x09\x24\xdf\xc3\x22\x3f\xe2\x55\x0e\x16\xe9\x72\x9c\xae\xb5\x2e\x42\x44\xde\xd0\xd5\x70\x99\x77\x62\x5c\xb0\x4c\xef\x97\x5e\x85\x36\x27\xe8\xb8\x8a\x0d\x3b\x9f\x25\x3b\xe7\xa7\x54\xb2\xfd\x63\xef\xeb\xd7\x5d\x6e\xc3\xf0\x30\x78\x23\x22\x20\xa7\x79\xa9\x3e\x07\x9c\xb3\xf3\x35\x2a\x8c\x83\xb4\x2d\x67\x7d\xe5\x97\xd5\xa3\x3e\xc3\x9a\x19\xb6\x6e\xb5\x58\x5b\xe2\xcf\xba\x35\x23\xb0\x6f\xac\xe8\x3d\xe0\x9d\xf7\x2e\x0d\x4e\xd6\xdb\x10\x53\xa5\xbb\x68\xb5\x32\x9d\x4e\x93\x14\x2b\x4b\xcd\xc4\xae\xa7\x34\x21\xe2\x08\x9d\x56\xd8\x13\x7e\x7f\x20\x9d\xde\x0a\x91\x10\xab\xef\x64\x9c\x1a\x54\x06\xe1\xc4\x69\x35\x88\x9a\x62\xb9\xb9\xcb\x81\x13\x45\x33\x30\x30\x68\xf2\x73\x65\xe2\xcd\xf5\x00\x54\x98\x3e\xe8\x52\x91\x04\xb6\x1d\x95\xda\x17\x11\x93\x25\x61\xb1\x7b\x20\xd5\xdd\xf6\x70\xa4\x5b\x21\xe6\x54\xd5\x6c\xe9\x2e\x9a\x4f\x75\xeb\xbd\xa4\xde\x5a\x68\x39\xfa\x8d\xff\xdf\x22\x85\x37\xe1\xe8\x9d\xa9\x73\x7a\x79\x77\xe7\xfe\x47\x78\xd4\x3a\x93\x30\x9a\x72\x02\xfe\xc6\x85\xc3\x05\xb2\x98\x70\x21\xd3\x14\x6e\xa8\xeb\x93\x9f\xde\xdf\x9e\x22\x22\x23\xa8\x1f\x3a\x66\x91\x78\x18\x28\x85\xf6\x9f\x19\x91\xea\xe3\xba\xe2\x31\x0b\xc2\x04\x48\x02\xda\xb6\x8e\xb4\x5d\x18\xf5\xdf\x93\xf0\xf9\x06\x96\xf7\xba\xa2\xea\x42\x4b\xc0\xbb\xb6\x30\x06\xb0\x29\x64\x63\x07\xed\xe0\x82\xfd\x48\xd3\x84\x60\x36\xaa\xaa\xda\xb5\x41\x34\x98\xfd\x23\x63\x1d\xd5\xa4\xe3\xfc\x21\x8f\x8a\x1a\x2d\x6c\xb1\xc4\x9c\x8a\x6e\xc3\xdb\x67\x2a\x47\x5f\x27\x44\xf2\x2e\xe2\x13\xbd\x52\x28\x2f\x70\x86\x24\x27\x04\x44\x88\xe3\x27\x73\xd7\xc3\x2d\xef\xad\x86\xf7\xd0\xd1\x98\x7d\xb6\xfe\xcf\xfc\x53\x91\x37\x41\x5d\x4c\xa0\xe8\x4a\x06\x36\x53\x38\x0a\x0c\x1b\x53\xe1\x3e\x80\x5c\x7c\x91\x25\x52\x97\xf4\x99\x52\x86\x13\x47\xa8\xfe\xa6\x4a\x4a\x70\xcc\xa2\x39\xb4\x69\xda\x26\x42\x3b\xbd\x23\x49\x17\xdd\xf1\x74\x3a\x4a\x84\xe2\xef\xe8\xbe\xe6\x74\xfe\xd6\x96\x02\xeb\xb0\x41\xf9\x64\x40\x73\xb3\x05\x62\xb4\x55\xa2\xfd\x74\x89\x24\x3a\x9b\x1f\x9c\x6c\x45\x70\x80\x06\x53\xaa\x5d\x34\xba\xb5\xe9\x3a\x26\x79\x9a\x20\xeb\x96\x9b\xc0\x5b\x10\x96\x63\xc6\x33\x06\x19\xd5\xce\x7f\x8e\x91\x20\x9c\x6a\x47\x76\x94\x32\xad\x03\x18\xe7\xc9\x4c\x89\x09\xa5\xf9\x01\x32\x23\x65\x60\x51\xa5\x99\x50\x32\x04\x2f\x88\x54\x17\xd4\x77\x50\xab\x4e\x47\x30\x06\x68\xc9\xe9\x42\xd2\x07\xe2\xca\x20\xf8\x3b\x57\xc9\xcc\xdb\x44\xb7\x96\x84\x63\xd9\xb6\xaa\x42\xd5\xdb\x2f\xec\x08\x95\x07\x36\x21\x53\x79\x57\xe9\x77\x69\x30\x31\xd4\x88\x2c\xae\x41\x91\xd1\xd9\x7c\x07\x23\xb6\x3f\xf5\xbf\x37\x7e\x31\x75\xd4\xbd\x1b\x9f\xa7\xa9\xd4\xfc\x96\xcb\x24\x64\x57\x13\xd4\x05\xf3\x52\x5d\x89\x49\x6d\x2a\x85\x5d\x55\x67\xf8\x9e\xa5\x8f\xcc\xd9\xd6\x4a\x6d\x18\xe1\x68\xee\x0b\x16\x13\xa7\xd0\xa7\x7a\xed\x79\x0e\xaa\x0d\xed\x49\x1e\x87\xdf\x87\x12\x2a\xff\x25\x2b\x94\x57\x94\x0a\x9e\x6b\x73\xbd\x69\xbb\xd3\x9e\x5d\x3d\x61\x53\x44\x45\x92\xa5\xb1\x8d\x4d\xab\x42\x07\xf2\x00\xf7\xaa\x7a\xd5\x11\xfa\x62\x35\x39\x08\x03\xb9\xc8\x04\x64\x15\x50\x81\x12\xbc\xb2\x0d\x7d\xab\x16\x76\x17\x00\xff\x5d\xc7\x66\x9a\x17\xd8\x21\x37\x2b\x56\x39\xb8\x50\x19\xd3\x16\x56\xcb\xd8\xb1\xb9\xb0\xcd\x43\xd7\xa4\x19\x93\xf0\x11\xaa\xaa\xe8\x56\xd1\xe0\xad\x4a\x59\xb2\xfa\xff\xf4\x66\x01\xb0\x5f\x1d\xa1\xcc\x78\x03\x3c\x1f\xa6\x3a\x3f\xe0\x83\x63\xa9\x54\x97\xe2\x94\x26\x09\xc4\x58\x8e\xd0\x10\xea\x82\x41\xc5\x27\xdd\x1c\x5c\x07\xef\xe8\x8c\xa5\xeb\x42\x0c\x35\xcc\x14\x79\xcc\x74\x5d\xcf\x4c\x02\xb8\xc9\x45\x15\x76\xc4\x51\x3b\x80\xe0\x29\xd9\x82\xcb\x69\x64\xed\x81\x77\x1d\x2e\xe3\x97\x08\xd7\x95\xc8\xf5\x4d\xe3\x6a\xd2\x3f\x65\x98\x63\x26\x21\x08\x65\xaa\x9e\x72\x13\xe8\x55\x1c\x88\xc8\x57\x88\xd6\x32\x6d\xd8\xc1\x47\xfe\xe6\x5a\xa7\xfb\x8c\x3e\x10\x86\x68\x3c\x40\xf4\x88\x1c\x0d\x4c\xd5\x58\x91\x4d\xf2\x5f\xce\xb1\x40\x78\xcc\x4a\x40\xb2\x23\x34\x4c\x44\x6a\x9e\x20\x2c\x4a\xa0\x0e\x9f\x17\x2f\x73\x9c\x6f\xdc\x44\x93\x15\xa0\x4d\x61\x2b\xf3\xe1\x53\xf3\x85\xf7\xe0\x98\x61\xa1\xbd\xd2\x09\x9c\xf4\xfc\xf3\xaa\xfa\x90\x41\xa4\xe2\x09\xf3\x8c\x4b\xd7\xd0\x93\x6d\x92\x2e\x28\xd7\xb4\x41\xf0\x0b\xd8\x98\x1c\xe0\x37\x66\x8e\x9d\xd1\x77\x58\x26\x04\x0b\x89\x7e\xf7\xae\x53\x70\xc6\xce\x2f\x17\xae\xe6\xf4\xe6\x30\x14\x1b\xfa\xae\x2b\x6f\x0b\x65\x88\x10\x86\xfe\xb9\x0e\x98\x32\x50\xdb\x2c\x53\xf4\x40\x45\x06\x95\x0d\x3d\x58\x95\xae\x4d\x47\xa5\xb0\x65\x56\xb4\x9f\xb2\x46\x8c\xd8\x0a\xa7\xc6\x7f\x69\xc8\xaa\x60\xac\x81\xe9\xf9\xaf\x95\x5d\x40\x36\xe7\x41\xe8\xb9\xd2\x72\x8d\x60\xb5\x71\x1b\xaf\x04\xd6\x30\x49\xc2\xc0\xaf\x52\x70\x62\xc2\xd4\x84\xa1\x2e\xe3\x11\xf2\x7b\x4d\x8a\x3c\x56\x18\x96\x14\xce\xbb\x69\xa3\x74\x3a\x66\x0e\x9d\xea\x8f\x5d\xa9\xec\x54\x99\x8b\xcf\xa8\x03\x57\xbc\xfe\x4c\x17\xc8\x6c\xa1\x0b\xd7\x57\xc7\x6e\x70\xaf\x94\x4c\xf4\x06\xd5\x78\xd7\x2f\x68\xaf\x29\x57\x9b\xbb\x70\xcb\x3e\xa6\x15\xd6\x73\xcd\xe6\x7a\xaa\xc5\x16\x9b\x9a\x07\xad\x9f\xcb\x81\x1b\x90\x7e\x1a\x03\xa2\x6c\xbd\x10\xcc\x11\x5a\x56\x74\x80\xdd\x4a\x63\x0f\x63\xe2\x05\xe0\x01\x4a\x64\xe5\x9e\xf9\x65\x5d\x3d\xac\xd7\x3d\xfd\x41\x3e\x7f\x3b\x15\x17\x85\x2e\x4f\xbc\x5e\xd7\x1b\xc6\xff\xc0\x11\x61\xd1\x4a\xbf\xc9\xd6\xf5\xcb\xf5\x38\x50\xf6\xbc\x0c\x4e\x0c\xb6\x79\xa5\x76\x68\x6a\xdd\x1e\xa1\x11\xdc\x33\xb6\xf4\x2d\x9e\x5a\xff\x82\xf7\xe3\x31\x53\x86\x89\xba\xe2\x85\x26\xda\x8e\x1f\xb2\x78\xd5\x09\xd0\xd0\xfd\xad\x5c\x33\x8b\xf5\xc5\x01\xea\x8c\x09\x9b\x39\x00\x63\x40\xa6\x35\x1a\xcd\x3e\xa0\x38\x8d\xee\x09\x7f\xcf\x49\x4c\xc5\x07\x70\x95\xcb\x5a\x1f\xdd\x42\x19\xdb\x5b\x2b\x1a\x9b\x56\x4d\xd7\xef\x37\xe8\x23\x7d\x6f\x11\xa5\x21\x4c\xc1\x9a\xb0\xa8\x42\x0d\x35\x34\xa5\x2f\x10\x61\x92\xaf\x96\x29\x65\xd2\xa2\x24\xa2\xc2\x42\x58\x43\x43\xe9\x6c\x75\x58\x1c\xbe\x8b\x90\xda\x86\xd3\xbe\x99\x13\x41\x6c\xfc\x40\x4f\x4a\xa6\x48\x57\x85\xd6\xe2\x62\x89\xe5\x5c\x00\x2e\x32\x5c\x03\x63\x73\xc1\xa3\x6a\x85\xf0\x12\xc2\x0f\xda\x49\x91\x3f\xe4\x00\x7f\x42\xd2\x24\x19\x33\x46\x48\x2c\x10\xd4\x29\xfa\xb6\x12\x7f\xab\x1e\x1d\x20\x1c\xc7\xe8\x7f\x7f\xf7\xf1\xec\xaf\x37\xa3\xbb\xd3\xf3\xcb\xdb\x9b\xbb\x8f\xa7\x67\xa3\x77\x03\xf7\xe1\xc5\xed\x8d\xfb\x54\x3b\x58\x1e\x08\x47\x0b\x7c\x0f\x16\x1e\x13\x5a\xfd\x03\x58\x9c\x4f\xa9\x4d\x77\x52\xdf\x08\x62\xa1\x26\x46\x4d\x71\x09\x2f\x66\x0f\xd7\xa4\x24\x76\xb0\x7d\xaf\xdc\x23\xcd\x3c\x68\x99\xc7\xbd\xc2\xaa\x81\x0b\xc2\xa4\x92\x31\x06\xb3\x96\x9b\xbe\x39\xc3\x11\x36\xa3\xac\x2e\x20\x4e\xd8\xc3\x53\xea\xf0\x3f\x91\xd5\xcf\xca\xba\xbe\xc4\x94\xb7\xe6\xbd\x11\x7b\xa0\x3c\x65\x30\x35\xe7\xd5\xca\x3b\x4b\x10\x98\x70\xe1\x50\x09\xad\x0b\x43\xc8\x65\x59\x0b\xba\x60\x53\x5a\x0b\xaf\x7a\xb1\xe9\x0e\xb5\x9b\x98\x7c\x95\x1c\x9b\x46\x96\xc2\x88\x1b\xfc\x80\x69\x02\x80\x19\x7b\xd1\xe4\x3c\xa8\x1b\x16\x7c\x40\x24\xc1\x93\x94\x03\x8c\x56\x47\xf8\xec\x10\x66\xc1\xa0\x04\xba\x1b\xa8\x0e\xb8\x91\xf2\xa7\x6b\x24\x13\xdc\x43\x97\x29\x6f\x73\x93\xab\x9f\xc1\x2a\xa4\x4b\x65\x92\x15\x84\xa8\xb9\x66\xa7\x04\xeb\x4a\xc8\x02\x24\x8d\xc8\x96\x6a\x1e\x06\x0c\x92\x24\x41\xd1\x2d\x75\x06\xc4\x91\x71\x8e\xe7\xbf\x4c\x19\xfa\xe9\x4f\x02\x4d\x32\x39\x66\xe1\x18\x29\x83\xbe\x31\x3f\x60\x19\xcd\xab\x0c\xbb\xfa\xab\xf6\x72\xcb\xde\x17\x6e\x9a\x77\xcb\x70\xa4\x60\x34\xca\x24\x99\x15\x53\xd4\xba\x54\x4b\x39\x07\x50\x0f\xb4\xe0\x85\xa6\x18\x29\x32\xcd\x54\x0d\x86\x7f\x99\xc6\xdf\x0a\x74\x7a\xa9\x64\xae\xd2\xb1\x21\x1c\x4d\x85\xf6\xa4\x41\x74\x0a\x10\x7a\xfa\x69\x8d\x10\x1a\xa0\xef\xd1\x38\xfb\xfe\xfb\x3f\x44\xe8\xab\xfd\xe3\x3f\xff\xf8\xc7\x3f\xfc\xe7\x26\x3d\x5e\x60\xdc\x7c\x8d\x4c\x06\x6d\x51\x08\xfb\x3b\x30\x2a\x54\x74\xee\x1e\x09\x86\x02\xc1\x77\xd0\x91\xbb\x5b\xba\x57\x45\xc5\x5c\xa3\x56\x5a\x6f\x04\x27\x3a\x5a\x0f\x65\xa7\xeb\xe0\x49\x44\x88\x8e\xaa\x56\x65\xe9\x69\x33\x0e\x14\x9d\x79\xec\x54\x9a\xd5\x07\x4a\x33\x4d\xab\x19\xc5\x1a\x0b\x1e\xba\x2a\x58\xfb\xb0\x3c\xf6\x56\xec\x1f\x6f\xa6\x6c\xea\xb9\x47\xb0\xec\x79\x03\x18\x34\xe3\x69\xb6\x74\x10\x44\x0b\xc6\xd0\xdb\x30\x66\x9f\xd5\x3d\x7f\xca\xa6\xe9\x07\xc3\xb0\x67\x94\xdd\xc3\x5f\x35\x3e\xee\xed\xf7\xc8\x15\xa2\xf6\x3e\xb7\xf6\x81\x5e\xf1\x43\xd3\x8d\x40\x51\x2d\x24\x8e\xee\x75\x7a\x60\x53\x21\xf3\xae\xa5\xd8\x73\x08\x43\xa6\x24\xa5\x59\x3a\xe8\x8f\x2c\xfc\x42\x49\x0f\x14\x23\x8c\x6e\xaf\x4e\x37\x2f\x81\x43\x02\x9e\x74\xe9\x2b\x75\x99\x54\x85\x14\xdc\xad\x32\x37\x3b\xd7\x88\xf0\x95\x32\xc0\x95\x34\x6d\xa4\xa3\x32\xcc\x1b\x70\x3c\x66\xdf\x6f\x45\x80\xb2\x0c\xf5\x23\x90\x8a\xc1\x75\x51\xff\xb8\xa1\x9b\xf9\xf6\x65\x49\xfc\x0e\x5e\xb6\x36\x89\xe9\x7f\xa4\x69\x9b\x10\xc8\x21\xa9\xa7\x61\xeb\x42\x24\x3e\x09\xa6\xee\x41\x1d\x05\x63\x36\xb4\x3f\x71\x00\x06\x26\xa8\x6e\x33\x03\x2e\x58\x91\x4d\x74\xa0\x06\xda\x83\x7b\x25\xa9\xcd\xe4\x6a\x26\xb1\x65\xa3\xe4\x5b\x41\xb8\xb3\x73\x0c\xf4\xd2\xaa\x64\x76\x1e\x35\x6f\x36\x25\xa5\xb6\x78\xf9\xb5\x9d\x62\xa1\x3a\x55\xd5\x8b\xd7\x1d\xcd\x91\x03\xa7\x99\x81\xfc\x82\x58\xda\xbd\x9d\xac\x72\x67\xaa\x5a\x71\x6d\xf4\x15\x5e\x16\x1c\xd6\xa9\x06\x61\x6c\xa7\xf2\x68\x5f\xd1\xce\xdd\x98\x72\x4e\x18\x5c\xe8\xed\x47\x06\x24\x4b\x77\x7d\x05\xe7\x68\x0d\x6b\x63\x7a\x1a\x68\xc6\xa8\x49\x9e\x36\x4e\x75\xcf\x9b\x60\x9b\x3f\xe4\xcf\x2b\x7b\x06\x4b\x2a\xa6\xb4\x94\xed\x5c\x84\xbe\x6c\xb3\xea\x9d\x9a\x48\xd8\x6d\x6e\x62\x55\x17\x15\x39\x42\x1f\x29\x17\xd2\x9b\x92\xd2\x2f\x0d\x72\xa5\xae\x2c\xb5\x9c\x93\xda\xa4\x8b\x5d\x18\x21\x76\x06\x6d\x2d\x33\x17\x01\x3b\x42\xc3\xbc\x6e\x85\xc6\xee\x10\xd1\x62\x46\x24\x11\x64\x13\xe6\x6b\xa5\x5a\x82\xc2\x0e\x0c\x84\x40\x5c\x0a\xf5\x79\x9e\x00\xe6\xc8\x7c\x04\x90\x09\xbe\x27\x75\xcd\x2c\xba\x36\x42\x59\xdb\xff\x64\xe8\x34\xc7\x54\x2b\x8f\x9b\x10\xd8\xfe\xd8\xe5\x70\x29\x3a\x7d\xaf\x96\xdc\x74\x16\xd3\xb1\xad\x29\xf0\xa1\x01\x5c\x3d\xce\x95\x81\x93\x33\xa5\xdd\x3f\xa1\xfb\x1d\x66\xc4\xc6\xb0\x20\x34\xe8\x16\xf8\x68\xcc\x4e\xa7\x88\xa5\x3e\x1e\x0b\xa8\x76\x87\x54\xfb\xbe\xdc\x7e\x23\x73\x37\xe8\x65\x00\x4b\xdc\x0e\x55\x3e\xcd\x81\xd7\x60\x8b\xe3\xbc\x5d\xcf\x44\x77\x72\x6b\xae\xb1\xae\xd9\x6e\xb5\x67\xa9\x53\x90\x74\x46\x18\xe1\x34\x82\x4c\x0a\x7d\xed\x2e\x31\xad\xb2\xfd\x4c\x05\x81\x7d\xcd\x09\xda\x75\x32\x90\x99\xee\x86\x89\x40\x89\x7e\x5a\x83\xd9\x13\xa8\xc8\xa6\x13\x80\x76\x91\x36\x93\xd7\x72\x68\x97\x32\xa3\x99\x47\xe8\x92\xe9\x9a\xae\x6e\x3c\x12\x2c\xb1\x69\xcd\xa9\xdd\x38\x02\xb2\x97\x34\xe2\x2e\x9d\xba\x2c\x27\xed\x04\xd2\x09\x91\xca\x28\x2c\xfd\xf1\x43\x92\x4e\xc4\x3b\xbf\xd1\x9b\x79\x47\x0e\xbc\xab\x67\xc1\xdd\x24\xd5\xd8\xa5\x78\xca\xfb\xd0\x9e\x19\xff\x3e\xec\xb2\xf0\xd5\x4c\x95\xc7\xc0\x34\xee\x00\xf3\x34\x63\x36\x29\x21\x65\x24\x9d\x02\x10\x11\x5a\xd0\x58\xab\x10\xf0\xca\x2c\x95\x1e\xc6\x80\x93\xa5\x8e\x70\x81\x86\x5a\xbf\xdc\x5b\x26\xe6\xac\x5b\xe7\xa7\x48\xcc\xd9\x76\xdd\xcd\xc1\x79\xa1\x05\xdf\x36\xdd\x42\x1f\xa5\x0e\x62\x16\x7e\xbf\xd6\x18\x77\x72\x00\xac\x6f\xbf\xb4\x92\x86\xd4\x82\x4b\x97\x1c\xca\xf4\x10\xb0\x59\x80\xf8\xd1\xa9\x72\x75\x05\x24\xa2\x39\x59\x74\xc8\x46\xba\x86\xdf\xb7\xa0\x53\x37\xaf\xfe\xea\x11\x6a\xee\x5e\x81\x6c\x59\x55\xdd\xd3\x1a\x3a\x24\x81\x7d\xb6\xf6\xe6\xe8\xe8\xe2\xf0\xb7\xb2\xd9\x55\x65\xd2\x40\x0a\x69\x4c\x26\xf9\x70\x0a\x46\x8f\xa5\xe1\x08\x5d\xb0\x64\x85\xe6\xe9\x22\x55\xd7\x76\x9a\x09\xef\x4b\x8d\xeb\x81\xcb\xa6\xa1\xa8\xec\x52\x63\xb1\x5f\x6e\x36\xea\x68\xa9\xaf\xb4\xee\xe8\xff\x68\x7d\x2e\xa7\x37\x93\x49\x98\x0b\xb7\x86\x7e\x97\xc4\xd4\xcc\x37\x90\x79\xb3\xa0\xb3\xb9\x29\xd1\xe1\xf7\xae\x05\xd6\x5f\xb8\x8a\x85\xb6\x89\x96\xce\xfd\x02\x86\x62\x55\xb5\xc9\x6b\xfd\xd0\x5d\x52\xf1\x3a\x34\x13\xf3\xa0\xba\x0e\xe4\x06\x8b\xec\x00\xaf\x16\x48\xe6\x1e\x7c\xc8\xeb\xc3\xac\x96\x64\x80\x26\x19\x7c\x7f\x7e\x71\xe3\xfb\x86\x28\x83\xaf\x0f\xa3\x39\x89\xee\xd5\xbe\x20\x2d\x14\xf5\x72\xd9\x42\x3f\x93\xd5\x98\xe5\x55\x08\x64\x6a\x1d\x1d\x2b\x97\xe6\xe1\x52\x9d\x52\x8e\x62\x2a\x96\x09\x5e\x21\xf2\x55\x12\xa6\x8b\xb2\x54\x74\x74\x54\xcc\xb2\x99\xd9\x02\x65\x12\x8c\x14\xb0\x7a\x18\xfc\xcb\x4e\xc2\x55\x83\x03\xd0\xf3\x14\x47\x95\x6a\xc7\xd6\x89\x37\xdb\x04\x3a\xea\x0a\x7e\x78\x35\x10\xf5\x8e\xfa\xae\x52\x87\xb9\x61\x05\xf0\xcc\xd8\x14\x1e\x1b\x1f\x80\x07\x65\x6c\xcb\xa5\xa9\x7f\xeb\x72\x4b\x84\x3f\x90\x78\xcc\x42\x54\x93\xb9\xca\xf2\x5d\x46\x79\x22\x78\x9d\xe8\xec\x9e\x6d\xaa\xd6\xd9\x25\x43\x36\xc6\x60\x20\x92\x9b\x43\xb8\x5d\x05\xbd\x86\xc4\xf4\xea\x82\x6b\x4f\x90\x41\xdd\xda\xf9\x91\x67\x9e\x9b\xb4\x51\x53\x17\x82\xe8\x9c\xc6\x64\xa5\x3b\xbf\x1b\xc6\x74\x98\x0d\x0d\xe8\x74\x20\x55\x03\xe4\xc8\xe1\x09\x66\xcf\xab\xc6\x18\x33\x1b\x5a\x9c\x66\x49\xa2\x41\xfa\xb5\xed\x19\x35\x86\xcb\x86\xea\x5e\x0e\x28\xe3\xec\x5a\xe4\xa5\xea\x7b\xcd\x0c\x97\xb1\x92\x1d\x2c\x5a\xe5\xe5\x1f\x81\x79\x09\x13\x99\x6e\x9e\x2f\x3d\x90\xf2\x8c\x48\xa4\xf4\x8e\x38\x4b\x34\xc2\x97\x67\xcc\x00\xc2\x70\x92\x20\x2a\xc5\x98\x39\xfc\x9a\x2e\x9f\x03\x57\x41\x64\x92\x36\x62\xa3\x0b\xc2\x2b\x60\x58\x53\xcc\x09\x2e\x08\x1a\x51\x19\x90\x04\x9e\xca\x95\x9f\xdb\xb6\x5c\x12\xcc\x41\x5d\xb4\xdd\x04\x7c\x6d\xb0\xb8\x0d\xa6\x0b\x30\xd4\xd8\xa9\x6f\xeb\xb1\x0b\xee\xd5\x35\x96\x3a\x6f\xca\x11\x1a\xea\xd9\x29\x55\xd0\x16\x9a\xd1\xd4\x9a\x78\xb2\x89\x27\x28\x7d\x4b\x0a\x57\x15\xd1\x69\xd4\x4b\xcc\x25\x8d\xb2\x04\xf3\x64\xa5\xa4\xcb\x34\x4b\x10\x9d\x7a\x35\x73\x60\x13\x34\x7c\x09\x6a\x9f\xa6\x70\x47\x58\x78\xb2\xc0\xd0\x7f\xde\x30\xb8\x35\x3c\x13\xcf\x89\xa8\x53\xb2\xb4\x77\x4a\x8d\xf5\xee\x08\x9d\x14\x2b\x24\xc1\xb1\xf0\x60\xcf\x54\x68\x09\xe8\xe8\x35\xd9\x9d\x50\x14\x0e\x2a\x2d\xd1\xa9\x52\x76\xbf\xf5\x0e\x5e\x5d\x29\x3e\x2c\xee\x3b\x7a\x28\x6f\xb0\xb8\x5f\xeb\xa5\x3c\xf5\xae\xca\x5c\x00\xde\x40\x85\xb7\xc0\x6f\xe9\x4e\xc4\x9a\xb2\xf3\x1d\x89\xf4\x21\xe3\x1b\x10\xfa\xc5\x2b\xa1\x56\x24\x76\xd1\x50\xa2\x07\xf6\xb1\x23\xa9\x5e\xfa\x6c\x77\x42\x3d\xce\xf1\xfd\xd1\xb5\x2b\xbb\xde\xb8\xfc\x12\x24\xb2\x22\x45\x97\x52\xec\x89\x8e\x60\x14\xaa\x73\x02\x0d\x26\xe3\x15\x92\x0e\xdd\x61\x9b\x10\x94\x50\x76\xaf\x4f\x05\x86\x9d\x1f\x20\x9c\x8f\x0e\x87\x4f\x53\xaf\x99\xb9\x46\xb3\x71\xb8\x82\xdd\x84\x84\xdb\x41\x3b\x2a\x37\xd7\xcd\xbb\xe2\xf9\xf5\x8c\x58\x35\x8f\xf6\xdb\xd2\x18\xb6\x73\x4a\xac\x8d\xd5\xe9\x0b\x26\xec\x38\xb8\x5a\xb7\xbe\x97\x85\x96\xe2\x75\x5a\xe0\x01\x61\xd9\xe2\xe0\x03\xfa\x9f\x7c\x65\x6e\xcf\x4f\x46\x1f\x4f\xcf\x47\x27\x1e\x03\x1f\xfc\xe5\x76\x74\x1b\x7e\x72\x75\x7b\x7e\x7e\x7a\xfe\xc9\xff\xe8\xfa\xf6\xf8\x78\x34\x3a\x09\x7f\xf7\x71\x78\x7a\x56\xf8\x9d\xfa\x28\xfc\xd1\xf0\x87\x8b\xab\x9b\xf0\xa3\xeb\x9f\x4e\x2f\x2f\xc3\x8f\x6e\x4e\x3f\x8f\x4e\xee\x2e\x6e\x6f\xec\x5a\xff\xcd\x5b\x61\x80\xb5\x42\x74\xd7\xd1\x5f\xb9\x44\xbb\xa8\x80\xd1\x35\xfe\xec\x41\xda\xa7\x9c\x12\x16\x27\xab\xbc\x7f\x8b\x3a\x74\x85\x20\xa5\x2f\xd2\xe9\x82\xa4\xd9\x36\x98\x01\x65\xfa\xa6\x0f\xca\xa4\x4e\x90\x19\xcd\x80\x67\x0a\xfd\xcf\xbc\xb7\x72\x22\x79\xd9\x0d\xd6\x88\xb2\x90\x7c\x75\x2d\x39\x96\x64\xb6\x6a\x09\x54\x33\x2f\x41\x4b\xc2\x3b\xf7\x62\xb3\x86\x97\xc6\x59\xd2\x4a\x69\x7a\x5e\x2d\x87\x6c\xc2\xf7\x96\x59\x95\xe0\x38\x6e\xbf\x40\x97\xee\x91\x6a\xce\x38\xb6\x45\x22\x94\x45\x2b\x31\xab\x01\xd0\x77\x2c\x64\x97\x67\xb5\xf2\xbc\x9c\xa4\xb9\x48\xac\x92\x9f\xa3\x72\x37\x31\x7c\x4d\x62\x3b\x8b\xf3\xde\x5b\x26\xe1\xdd\xab\x6a\x51\xb1\x09\x85\x52\x61\x4f\x7e\x09\x34\xb2\xa4\xc1\xf6\x81\x66\xa6\x33\x0b\x4d\x47\x39\x7d\x6b\x42\xba\x6e\x6d\x24\x6d\xc7\x95\x05\x9d\x66\x98\x97\x45\x73\x85\xf6\xac\xb8\xe8\xae\x07\x14\x8a\x8a\x79\x05\xd7\x74\x8f\x07\x48\x24\x85\x61\x73\x57\x99\xb9\xf8\xf5\x31\x7d\x20\x31\x3a\xf4\x0b\x39\xc6\x87\x00\xfe\x1a\xb3\x3a\x03\xb0\xa2\x08\xa2\xcf\x01\x97\xb6\xc6\xc5\x36\x7b\x5f\xb1\xfa\xf5\x47\xd0\x2e\x76\x3b\xcc\x03\xb2\x3f\x3f\x42\xf5\x9e\x46\xb3\x2f\x13\xac\x3d\x3c\x70\xb6\x5c\xf1\x8e\x3a\x04\x96\xbb\xaa\xba\x39\x44\x5b\x39\x43\xb1\x4b\xf0\xd0\x6e\x50\x50\x29\xe6\x18\xdc\x63\xba\x66\x65\x40\xb8\x57\xb2\xb3\xce\xa6\x70\x89\xde\x35\x5c\x6e\x72\xf7\x6a\x8b\xa3\x56\x7d\x5d\x67\xe0\x0d\x74\xc0\xde\x55\xdf\xf6\xb3\x63\x5d\xa6\x7f\x37\xc6\x77\xbb\xe1\x72\xaa\xb1\x95\x7b\x20\xb0\x12\x9c\x29\x95\x7b\x99\x60\x8d\xf3\x99\x63\xa1\x59\xda\xfa\x10\xf1\x84\x26\x54\x42\x0f\x68\x6d\x7d\x17\x56\x38\xe5\x68\x81\xf9\xbd\x32\x38\x49\x32\x55\xa3\x17\x62\xef\x95\x4c\xbf\x65\x9c\x2b\x2f\x10\xf3\x9c\x91\xae\xfc\xc8\xb6\x35\xdd\x73\xb6\x34\x51\xae\x7c\x3b\x74\x09\x63\x99\x7a\xc5\x6e\xba\xed\xac\x19\xf1\xb2\xf8\x78\xb0\xde\x15\x17\x75\x77\x97\xaa\xc1\xe6\x77\x10\xf3\x45\xe4\x7e\xe5\xc9\x9a\x26\x29\xae\x29\x57\x63\xc7\xd6\x40\xfc\xba\xb1\xe3\x34\x53\xe2\xac\x72\x70\x4d\x55\xf3\xe8\x4d\xf6\x91\x3d\xb7\xdb\x9d\xfa\x6a\x01\x88\x25\x81\xce\x47\x1b\x2d\x68\xde\x38\xa9\x7a\xf0\x8c\xe3\x2a\xf0\x45\xfb\x42\x81\x79\xd6\x8a\x65\x1e\x74\xb3\x5a\x92\x8a\xf2\x68\x01\xb4\x78\x43\x5b\xeb\xfa\x72\x74\x7c\xfa\xf1\xb4\x60\xe8\x0c\xaf\x7f\xf2\xff\xfd\xe5\xe2\xea\xa7\x8f\x67\x17\x5f\xfc\xcf\xce\x86\xb7\xe7\xc7\x3f\xde\x5d\x9e\x0d\xcf\xd7\x98\x43\xe5\x57\x94\xbd\x11\x39\xc0\x3e\x87\x39\xab\xbb\xc1\x20\x73\xc1\x12\xad\x38\x5f\x57\x15\x49\x72\x9b\xb6\xe4\x79\x32\x8f\xa3\x23\xd2\xfe\x31\x62\x92\xaf\xba\x24\x4f\xa2\x98\x08\xb8\x87\x8c\x73\x31\x4c\xdc\x23\x02\x5c\xb5\x76\xf4\x73\x10\x6c\xd6\xf9\x6d\x22\x28\x66\x1d\xd5\xc5\x92\xd0\xda\x56\x1a\xd5\x3d\xd1\xf7\x64\x1d\x7c\x88\x1e\xac\xc2\x24\xcd\x58\x6c\x2b\x94\x2d\x28\x7b\xbf\xc0\x5f\xdf\xd9\x99\xe6\x1d\xcb\x20\x2f\x54\x97\x85\x4f\x94\xd6\xb1\x42\x3c\x63\xcd\xcb\x35\x66\x0d\xeb\xb5\xfe\x66\xd0\xfd\xfa\xe8\xbf\x40\xc5\xc9\xf5\x51\xed\xd0\x7d\x20\xab\xaa\xfd\x2b\x25\x24\x69\xa7\xb1\xd1\x81\x61\x90\x25\x27\x50\x90\xd3\xb9\x8b\x13\x1d\x06\x70\xff\x86\x70\x64\x90\xa7\x59\x75\x27\x85\xa6\xf2\x56\xe7\xa6\xd2\x48\x7f\x82\x94\x32\xf3\x26\xb5\x69\xda\x64\xb7\xe9\x9b\x26\xfc\x1a\xa3\xc7\x39\xd1\xbb\xf5\x8f\x74\x82\xa6\x10\xad\x36\x65\x58\x38\x89\xc0\xfb\xa0\xf6\xc2\xa6\xe9\x00\xea\xb5\xe4\x07\xb0\x3c\x90\x10\x01\xbe\x30\x28\x69\x48\xfe\x99\x19\x68\xdb\xef\xbe\xef\x96\xfa\x24\xf9\x0a\x09\xb3\xcc\x7e\xb4\xdc\x80\x45\x8c\x4b\x0d\xe8\xca\x18\xad\x2a\x9d\x76\xa5\x8b\xf9\x3d\x6f\xcd\xd4\xc2\x4b\xcd\x3f\xd7\x02\x0a\x6e\x6c\x96\x8a\xfe\xfd\x93\xa5\x2f\xfc\x5c\xc8\x5a\x30\xaf\x83\x38\xa1\x19\x5d\x78\xa0\x78\x65\x19\x3d\x62\x1e\x6b\xc7\x80\xa4\x60\x4f\xfd\x98\x3e\x92\x07\xc2\x07\x28\x22\x5c\x62\x83\x26\x56\x67\x2d\x49\xe0\x40\x99\x71\xc6\x0c\x42\xe7\x1a\x9a\xcd\xa0\x84\x8d\xa4\xb3\xb9\x52\x1e\x8d\x11\x6a\xca\x5e\x0a\x22\x01\x09\x48\xbe\x2e\x49\xa4\x31\x13\x75\x81\xe2\x69\x82\x1f\xca\xf0\xe8\x4d\x90\xaf\x5e\x65\x4f\xdb\x76\xc8\xa4\x94\x34\x3a\xa5\x6c\x81\x48\x2d\x35\x97\x2b\x39\x4f\xd9\x00\xcd\xd2\x04\xb3\xd9\xd1\xd1\x11\x22\x32\x3a\x7a\xd7\x89\xd1\xcd\x80\xde\xeb\xf2\x80\x57\x92\x0a\x92\xac\xac\x85\x97\x03\x13\xd4\x2a\x03\x10\x42\x50\x6d\xde\x54\x70\xff\x75\x11\x40\xfb\xbc\x6e\xb2\x6a\xad\xb4\x33\x12\xa7\x66\x9c\x62\xbf\x90\x75\x23\xe9\xdf\x57\x6b\xda\x1d\x90\x65\x50\x11\x81\xc6\x49\x8e\x30\xab\x49\x70\x4a\x59\x57\xd8\xd4\xcf\x69\x5d\xb5\x97\x8d\x32\x02\x2a\x47\x32\xf8\xed\x8d\x80\x44\x65\x8e\xae\xe0\x38\x87\xb9\xdb\x2a\xfb\x28\xc9\x16\xe5\x92\x85\xbb\xd2\xa2\x72\x22\xf5\x5f\xc7\xf0\xba\xf6\xf5\x01\x5c\x51\x1b\xe8\xea\x4f\x94\x64\x04\x7a\x4d\xef\x6c\x18\x13\xa4\x25\xa7\x02\xf2\x20\x36\x71\x8b\xbb\x61\xf4\xd0\xe0\x9e\x55\x36\x8c\x2e\x33\x66\x1a\xba\x00\xc4\xca\xf5\x65\xd1\x8f\x08\xad\xea\x80\x4f\xb7\x5e\x32\xe4\x18\xce\x8d\xac\x9e\xf3\x8b\xf3\x91\x6f\xca\x9c\x9e\xdf\x8c\x3e\x8d\xae\x82\x10\xd1\xd9\xc5\xf0\x26\x08\x07\xdd\x5c\x15\xa2\x48\x3f\x5c\x5c\x9c\x8d\x86\xe7\xfe\x47\x27\xc3\x9b\xd1\xcd\xe9\xe7\x60\xf0\x93\xdb\xab\xe1\xcd\xe9\x45\xf0\xbb\x1f\x4e\xcf\x87\x57\x7f\xf5\x3f\x19\x5d\x5d\x5d\x5c\x15\xde\x77\x7b\xdc\x1c\x68\x0a\xa6\x51\xbd\x13\xb9\xb2\xec\xc1\x59\xab\x94\xc2\x1b\x2c\xee\x77\x1c\x1c\x05\x30\xc0\x86\x9d\x72\x6b\x84\x52\x4c\xee\x36\x8b\x9b\xd6\xc5\x7e\x2b\xdf\xa3\xf4\xc1\xd5\x1d\x96\x92\x2c\x96\xdb\x15\x4c\x68\x7f\x70\xba\x85\x64\xc1\xa4\x69\x11\x92\x0d\x76\x75\x7f\x42\xb2\x15\xd1\x56\x13\x92\x6d\x62\xf7\x86\xb8\xaa\x9a\xe7\x59\xba\x55\x87\xa6\x2e\xbd\x1d\x7c\x9e\x5c\x1f\x89\xad\x7c\xce\x00\xe7\xef\xaa\xbb\x05\x54\x33\xb2\x99\xe5\x67\xfd\xa8\x6e\x16\x50\x13\xb4\x95\xc9\x0e\xfc\x4f\x67\xe9\xac\x1a\xa4\xea\x3a\x2b\x52\xe1\xa5\xa9\x83\x37\x3b\x9d\x21\x41\xd9\xfd\x98\x7d\x51\x06\x59\x9a\x71\xfd\x91\x4c\x39\xe0\x9d\xa7\x49\x26\xe6\x04\xca\x30\x0d\xd0\x23\x81\xf6\xf0\xe0\xd5\x0e\xeb\xd4\x42\xb1\xcd\x84\xde\x13\x78\x3a\xa1\x4c\x71\xfb\x92\x5a\x0d\xa8\xb8\xf5\xbb\x30\x90\x62\x2a\x9c\x9d\xf8\x84\xa1\x86\xdc\xd3\xf5\x38\x27\x00\x2b\xf5\xaa\x5c\xd9\x02\x99\x5a\xf2\x40\x0a\x53\x9a\xde\x67\x4b\xd3\xde\x0c\x8b\xfb\x6f\x2d\x48\x0b\x96\xfb\x21\xa5\x31\x8a\xb3\x65\xe2\x75\x17\x7c\x4c\x79\x6d\x50\x5d\x6b\xea\x1d\x82\xea\x05\xfb\xb3\x69\x62\x15\x66\x80\x67\x75\x34\x84\xfa\x9f\x18\x60\xe0\xd5\xbe\xc8\x04\xe1\x87\x92\xd3\xd9\x0c\xf4\x1e\xeb\x54\xd8\x53\x04\xc2\xa0\xcc\x9b\xab\xbb\xed\xed\x67\xdf\xd5\x9a\xe8\xca\xa0\xae\x12\x80\xe2\xa9\xe5\x32\x59\x59\x5c\xa0\x5e\x40\x7b\xec\x97\x19\xd7\x05\x7d\xa6\xc8\x11\x54\x1b\x62\x5c\x72\xa2\xde\x12\xdf\xe9\x72\x22\xdb\x97\x39\x39\x9d\x2a\x4d\xc6\xf4\xc6\xcd\x0b\xb2\xe4\xb5\x30\xf4\x66\x43\x92\x82\x79\xb7\x45\xed\xeb\x84\x59\xa6\x1b\xe3\x3d\x32\xdb\x32\x10\x0b\x6d\xda\x43\xe3\xf0\x55\xde\x4f\x10\x1a\x93\x41\xba\xad\xeb\x35\x67\x12\x00\x8d\x8f\x4e\x57\xac\x5b\x8b\x18\x71\x72\x14\x70\x8a\x61\x67\xa1\xa2\x04\xdb\x16\x75\xef\xc2\xeb\x9b\x2a\x5c\xcd\x26\xc3\x2c\x49\x27\x38\x49\x56\x15\x78\x7c\xff\x52\xe8\xe6\x1f\xb3\xfd\x8f\xc2\x2b\xc5\x02\x67\x20\x12\x9b\x36\xe4\x39\x07\x55\xfa\x77\x9a\xb0\xb0\xfd\x82\x65\x32\xd5\xb9\xc6\xe0\xf0\x53\x93\x3b\x2d\x54\x91\x3f\xd2\xe8\xd5\xd3\xb8\xb2\x4c\x46\xce\xd0\x76\xe5\xeb\x84\x67\x85\x89\xde\x29\xdf\x62\xc9\x89\x75\xce\xac\x88\x74\x3e\x99\xc4\xa2\x6b\x57\xcb\xb0\x70\xb8\xef\x94\xb6\x6e\x27\xeb\xee\xd6\x6d\x7e\xbd\xd2\xa4\x29\x23\x4c\xea\x02\x8d\x2c\x1d\x33\x33\xb8\xcd\xde\x72\x05\x50\x8c\x9f\x5d\x2f\xcc\xc0\xa8\xb8\x70\x68\x39\x11\x69\xf2\x60\x7a\x76\xba\x35\x91\x29\xa0\xab\x15\x81\xc7\x4a\xda\x2a\xdd\x42\x59\x98\xae\xb4\xe4\x9c\x8c\x59\x21\x85\xc9\xeb\x16\x6c\x39\xd6\x7f\x7e\x67\x69\x1d\x81\x3a\xd2\xb4\xf4\xb5\x69\x1d\x0d\xf7\x80\x0b\x25\x74\xa0\x67\xb5\x24\xf1\xa9\x7b\xae\x99\x19\x02\xcb\x3c\xf6\x22\x17\xc1\x21\xd7\x3c\xa0\xe5\xa9\xd0\xb9\x31\xc2\x35\xfc\x74\x9b\xe4\x4a\xea\xb8\x9a\xda\x6a\x8b\x66\xd8\xd6\x55\x17\xae\xa8\x36\x04\x53\x03\x8f\x6a\xa1\x07\x8e\x53\x75\xa2\x54\x48\x1d\xbe\x81\x47\xa6\x98\x26\x19\xaf\xbd\xc1\x35\x5b\xee\x3c\xe9\xec\x18\x86\x45\x55\xbb\xe6\xdc\x9e\xde\x31\x72\x2e\x4f\xd7\x5b\x27\xc9\x66\x94\x89\x90\xeb\xeb\x6b\x4c\x96\xea\xed\xae\xd9\xf0\xbc\x44\x6f\x7b\x59\x3c\xd4\x87\xbd\xd0\xc9\xba\xba\x7e\x8f\xd1\xa9\x3c\xda\xc7\xec\x06\xae\x52\x9d\x53\xe5\x8e\x19\xd4\x57\xd2\xe5\x32\xa0\xd8\x70\xd5\x7c\x03\x79\x1e\x72\xea\x56\x78\x89\xaa\xec\xa7\xf5\xb8\xac\xcf\x78\xd9\x94\x98\xb2\xf5\x88\xeb\xb6\xc1\x39\xcf\x8a\xc7\xb0\x58\xbd\xb6\x62\xf5\x1c\xb6\xec\x59\x62\x44\x5d\xd2\x64\x1d\xc4\xd0\x24\x98\x97\x72\x1c\x03\xbd\xd1\x7f\xb4\x3b\xca\x34\x0f\x8e\x98\x86\x79\x7a\xc0\x89\xc6\x05\xfa\x50\xc6\x2d\x72\x2c\xdd\xc6\x14\x1a\x1a\x57\x6d\xc7\x96\x30\xab\x1c\x19\xfb\x8c\x28\xab\x9f\x4b\x4b\xd4\x15\x64\x55\x68\x13\x2f\x53\xaf\x9d\x54\x2b\x8d\xd9\x81\xab\x7e\x0e\xa1\xc1\xc1\x12\xa7\xb4\x15\x86\xba\x5c\x7b\x0d\x94\x96\x98\xb0\x54\x12\x84\x11\xa3\xc9\x7b\x96\x25\xc9\xfb\x73\xe8\xe6\x21\x04\x9d\xe9\x62\xc1\xe0\xd0\x08\xba\x2f\x03\x34\xd5\x83\x9a\x7a\x47\x00\xae\x48\x45\x92\xee\x65\x2e\x95\xc4\x54\x5b\x90\xac\xc6\x4c\x3d\xa1\x55\x2c\xd7\x4a\xd3\xb6\xe4\x83\xb7\xd9\xac\x16\xf3\x2e\x65\xba\xb2\x95\x3f\x78\x05\x83\x35\x25\x82\x6c\x15\x31\xeb\x2b\x04\xee\x4d\x85\xc0\x94\x5b\xc7\x50\x87\x5a\x81\xf5\x87\x6a\xe3\x62\x7d\x4e\x11\x73\x1e\xe7\x16\xfc\xf8\x92\xde\xe6\xa7\x4c\x0b\xda\x3a\x07\xc8\xae\x54\x17\xa7\x65\x81\x3b\xec\xa3\x8e\x11\xd4\x96\x71\x2f\xf5\x7d\xcc\x6e\x52\x67\xa1\x19\xf6\x9f\x66\x4a\xb5\x6b\x10\x25\xdb\xfa\x20\x34\x92\x79\x99\x60\x76\xa7\xef\x96\x17\xf0\x42\x78\x68\xea\xba\x3a\x2c\x5e\x67\xb0\xdd\xd0\xe9\x0e\xd8\x55\x90\xe3\xe0\xb7\x0a\x1a\x14\x6b\x35\xda\x0b\xc1\xf5\x4c\x36\xb6\x90\xa9\x9a\xfb\xb5\x2a\x5c\xbd\xde\x93\x82\x0b\x76\x93\x2b\x1b\xbd\xc6\x95\x52\xea\xe5\xb7\x67\xee\x94\x36\x3b\xef\x78\x7f\x57\x96\x7c\xe9\x9c\x6e\x64\xcd\xaf\x21\xeb\x69\x2d\xfa\x5a\xcd\xb5\x6c\xd9\x7f\x09\x5b\xce\x44\xd0\xc3\x2d\x4a\xb2\x98\x20\x91\xaa\xeb\xd4\x2a\xd6\xd5\x68\xf9\x42\x94\xf6\x49\x93\xf7\xc3\x5c\xc5\xd6\x70\x07\x5d\xbe\x03\x9d\x32\x64\x15\xe4\x01\x1a\x1f\x68\xce\x12\xe3\x83\xb0\x3f\xaf\xad\x0d\x12\x96\x5d\x2f\xfa\xbd\xb4\xc7\xd8\xeb\x1a\xc6\x3c\xeb\xac\xb8\x2e\x35\x46\xe4\x4b\x16\xe5\xf0\xb0\x20\x3a\xa8\x34\xd1\x03\x18\x9d\x40\xab\x3a\x2b\x5b\xb1\x03\x12\x03\x79\x16\x49\xaf\x03\xa0\x2d\x70\xf0\x83\x7d\x50\x2d\xd1\x32\x4b\x4c\x87\x63\x5b\x50\x20\xe5\x63\x66\x47\xcb\xeb\x8c\x0d\x93\xa4\x34\x54\xb9\xb6\x87\xc7\xab\x50\xe9\xc7\xa2\x34\x01\xfd\xab\x7e\x04\x38\x96\x92\x1c\x18\x33\x9d\xb3\xe3\xd2\xc5\x8e\xd0\xb0\xd0\x19\x31\x2c\x63\xe1\x57\xb1\x48\x12\x5b\xc2\x41\x17\x46\xf0\xf2\xf6\x45\x06\xd5\xcc\xa7\x99\x12\x47\xee\xed\x32\x1d\x33\xa8\x68\xa2\x9b\x5c\xdb\x75\x19\xb3\xcf\xa9\xb0\xdd\x9a\x44\xbe\x1e\x16\xbe\x6a\x96\xed\x5b\x07\x56\x35\x1f\x9c\x28\x21\xa2\x9e\x52\x96\x45\x21\x55\x11\xa2\x1a\x10\x7b\x1d\xa0\x55\x9a\xf1\x7c\x52\x11\x66\x63\xf6\x0f\xb5\x3c\xb6\x4c\x47\xea\x7a\x89\xc2\x21\xb6\xa9\x9d\xe8\xbb\xbf\xeb\x41\xbf\xfb\xe3\xbb\xbf\xbf\xd3\x45\x90\x32\x91\x29\x09\x3b\x08\xaf\x10\x4b\xa8\xda\x52\xca\x66\x63\x66\x67\xe0\xea\xae\xe7\xaf\x68\x4c\xe8\x35\xbe\xba\x5d\x97\xaf\xcd\x0d\xfe\x21\x8a\xb0\x8c\xe6\x87\xd8\xf0\x9e\x5f\xba\x84\x8a\xbc\x38\xf2\xe3\x9c\x30\x68\xe2\x13\x16\x54\xd6\x70\x69\x14\x2b\xc9\xb6\x70\xc9\x76\x01\xbf\xe8\x76\x0e\x06\x3d\x5c\xc8\x32\xb4\x6f\x02\xe6\xcc\xf3\xdc\xbe\xe4\x92\xc1\xfe\xdc\xa2\x7f\x73\x2b\xdd\x78\x26\x94\xc5\x10\xa3\xb1\x46\xcb\x8d\x0f\xec\xf6\x8f\xd9\x72\x72\x94\xac\xa6\xf2\x08\xb0\x7b\x47\x6a\x59\x8e\x46\xc5\xae\x0f\xeb\x74\x04\xad\xc8\x3b\x72\xae\x43\x4f\x1f\x71\x96\x01\xd1\xde\xdb\x81\x6b\x29\xce\xc2\xbe\xa0\xee\x38\x40\x59\x12\x75\xaf\x60\x49\x23\xb8\x9a\x31\xc3\xc9\x0a\x20\xef\x83\x31\x8b\x29\x27\x11\x34\x2c\x8b\x56\x51\x42\x23\x53\xd5\x21\x54\x3d\xc8\x03\x61\x32\x40\xe6\x8c\xd4\x27\xcf\xa5\x7d\xd4\x61\x82\xaa\x95\xbb\xdb\x1a\xcd\xc3\x55\xe0\x09\x6d\xa3\x22\xff\x9b\x44\x57\xde\x31\x51\xd8\xbd\x1e\x24\x61\x6c\xad\xda\x94\xd3\x19\x65\xd0\xcd\xfb\x3b\x70\xf2\x24\x09\xe1\xef\x5c\xd7\x07\x58\xc5\x6a\x32\xe6\x9d\x8a\x74\x57\x94\x74\xa8\xbe\xdb\xa2\x28\xe3\x9c\xc4\x77\x65\x28\x4b\xd7\xa4\xaa\xe6\x40\xbf\xd2\x64\xe9\x82\x08\x89\x17\x4b\xbf\xfb\xb1\x83\xff\x9b\x95\x49\xf4\x22\x20\x4b\xd8\x00\x51\x40\xab\xb8\xa0\xdc\x98\x99\x70\x9c\xde\xb7\x94\x57\x64\x0b\x17\x67\x09\xe7\xb4\x45\x67\x8c\x86\xeb\xbf\x6b\x5f\x8d\xa2\x5b\xe0\xea\xcc\x46\x4c\xd3\xa0\x4d\xb4\xd7\xae\x95\xc2\x79\x86\x73\x5a\xd1\xf0\x75\xcc\x72\x3c\xc4\x71\x92\x66\x31\x32\x4e\x11\xe3\x62\xe0\x47\x88\x92\xa3\x01\x12\x7f\xf8\xf0\xfe\xfd\xd1\xd1\x8e\x6a\x7c\x87\xdd\x5c\xaa\x39\x5c\xf7\x5b\xa9\xc2\x1b\xad\x39\x5a\x41\x4d\x9f\xbb\x6e\x8a\xbe\xc5\x43\x03\xb7\xf8\x86\x70\x18\xae\x2f\xbe\x72\x89\x39\x61\xf2\x0e\x10\x8e\xdd\x5e\x08\x2f\xba\x84\xc7\x03\x70\x5e\x2b\x2b\x23\xaf\x09\x66\xb2\x9b\xb0\xb8\x47\xdf\x51\xf0\x17\xbe\x33\xb6\x2f\x34\x2c\x6e\x28\xd5\x53\x96\xc0\x4d\xd4\x3c\x93\x28\xae\x43\x9f\xb6\x21\x3f\x78\x76\xeb\x0b\x64\x1b\xd0\x6a\x23\x7c\xe5\xc4\xd5\x9d\x84\x48\xe1\x29\x53\x26\xff\x44\x09\x71\xc5\xea\xce\x0f\x00\xd8\xd3\xa1\x05\x80\x39\xf4\x8a\x05\xbc\xe8\xd4\xf0\x02\xfc\xd3\xf9\xee\x7c\x78\x8a\x66\xd1\xc2\xdd\x54\xd7\x17\x46\xb3\xf3\x13\xe0\x6b\xab\x8f\xfa\xb0\x38\x83\xbc\x12\xea\x3d\x8d\xee\x89\xba\xe7\xa6\x79\x49\x08\x5f\xba\xb9\xfb\xcd\xe1\x75\x4c\x37\x68\x1d\x7d\x26\x66\xde\x77\x54\xd7\xbb\x23\xb6\x0b\xa3\x87\x1c\xf8\x56\x54\x2f\xce\x53\x83\x81\xab\xd7\x02\xc6\x77\x90\x3f\x93\x94\xe6\x54\x0b\xad\x8c\x81\x44\xfe\xbd\x93\x87\x82\x44\x29\x73\x30\xc1\x9d\x5c\xf4\x15\x40\xe1\x6a\x72\xe1\xbb\x52\x36\xdb\x3a\xad\x63\x4b\xe5\x27\x57\x7c\x6c\x57\x5b\x6d\x9f\x42\x94\x06\xc0\x08\xea\xdd\x03\x68\x15\x6e\x8e\x01\x74\xb8\x42\x31\x99\x64\xb3\x59\xed\x9d\x9c\xa4\xbb\xe8\x89\xda\xbc\xaa\x67\x69\x83\x3d\xee\x66\x98\x34\x41\x6d\xd7\x70\xe8\x1b\x52\xbe\x1a\xb1\x2f\xbb\x50\x9f\x4e\xed\x9b\xb4\xcd\x35\xa5\x09\x79\x1e\x8d\x69\x47\xea\xdf\x69\x1b\xf5\xcf\x1a\xed\x10\xaf\xd2\xf3\x70\x76\xde\xaf\x48\x2f\xd4\xf8\x9f\x3b\xf5\xe4\x93\x82\x80\x1c\x6c\x11\x0e\xab\x86\xf7\x28\xd9\x14\x0b\xc8\x3e\xdd\x3d\x2a\x08\x64\xfb\x3a\x28\xf0\xd6\xd9\xd7\xd7\xe9\x82\x20\x78\x95\x18\x68\x2c\xbe\x09\xb8\x0d\xc0\xc9\xa7\x26\x88\x16\x59\x22\xe9\x32\x31\xc2\xdf\x78\xb1\xa2\x39\x66\x33\xaf\x2a\x38\xfa\x8e\x91\x47\xa4\x64\xed\xc0\xf7\x7a\x78\xdb\x33\x40\x44\x46\xef\x94\x6e\x13\x04\x49\x38\x89\x52\x1e\x03\x52\x7b\x86\x79\x0c\x69\xd9\x86\xe1\x13\x1c\xdd\x43\x39\x17\xb8\x8e\xf4\x1b\x8d\x67\xc6\x82\x99\xb5\xb7\x30\x1f\x8d\xb2\x48\x37\x38\xb6\xd9\xe2\x8e\x3e\xfd\xb8\x40\x38\xe2\xa9\xd0\x8e\x1f\x5b\xc5\x43\x07\xe3\x41\xfd\x7a\xa0\x71\x86\x13\xfd\xc6\x2e\xae\x97\x4b\xc3\x10\x36\x6e\xec\xf9\x9c\x40\x4a\x06\x79\xb3\x1f\x53\x6e\x80\xc9\xb0\xe2\x97\x26\x3d\xf7\x47\xfa\x40\x06\xe8\x7a\x89\xf9\xfd\x00\x9d\xac\x18\x5e\xd0\xe8\xcf\xe9\xa4\xca\x9f\x52\x0a\xc4\x6e\xad\x12\xef\xbe\x52\x65\xf5\x41\xff\x52\x0a\x33\xa3\xba\x8c\xd2\xd7\xe9\x4d\xa9\x89\x91\xbf\xf5\x4b\x7d\x4d\x08\xac\x77\x8c\xec\xf4\x02\xac\x34\x94\xad\x9b\x03\xc7\x0b\xca\x02\x5b\x6d\xaf\x9c\xad\xc5\x4d\xad\xc2\xa4\x04\xc2\xb8\x95\x75\xbb\x0b\xcd\xf1\x12\x2b\x2b\x47\x19\x94\x8b\x54\x12\x7d\xef\x0b\x99\x72\xa2\xce\x09\xb7\xea\x24\xb4\xd4\x80\xe6\xf1\x69\x7d\xeb\xb3\x28\x49\x45\xc6\x5b\x8a\x8d\xf2\x86\x1d\x9b\xc7\x1b\xb5\x93\x74\xb1\x84\x60\x07\x27\x22\x4b\xa4\xa8\xb0\xd7\x4a\x6e\xeb\xcd\xda\x7e\x9a\xb3\x64\x1b\x84\x98\x22\xe8\x94\xcd\x92\xba\xba\xc1\x63\x66\x6a\xa8\x7b\xb2\x06\xe7\xd9\x02\x56\x01\xb2\xf9\x5c\x8f\x41\xfd\x68\x57\x80\xdd\xe0\x3c\xb0\x31\x90\x9d\x1e\x02\x77\xe7\x00\xaa\xab\x68\x48\x0c\x83\xe2\x3a\x63\x26\xb2\xc9\x61\x8e\xc6\x48\x39\x48\x33\xc8\x8e\x5e\x62\x68\x77\x1f\xcd\x69\x12\x1f\x96\xa1\x4e\x46\xab\x80\xd2\xeb\xae\x92\xd0\x84\x40\xb1\x10\x58\x61\xdd\xe6\x48\x07\x03\xdd\xdc\xdd\x38\x93\x4c\x22\xe2\x4a\x59\x53\x61\x9c\x35\x85\x9b\x3b\x38\x9f\x81\x2d\xfe\xd2\x1e\xb8\xf5\xe7\xb3\x2e\x19\xe8\xed\x9f\xcb\x60\xcd\xda\x9c\xcb\x9b\xd0\xeb\x65\x4f\x0d\x66\xee\xa4\xd6\x2d\x95\xb8\xd3\x2e\xab\x27\xcc\x4c\xfd\xe2\xf2\x51\x6d\x0a\x87\x58\xe2\x47\x66\x30\x10\x9d\x6a\x23\xb6\x93\x0f\xd5\x49\xec\x4a\x3e\x14\xbe\xe1\x41\x17\x79\xaa\x63\xd8\xd4\xa5\x56\x0d\xbc\x14\x4f\x68\x6b\x91\xe3\xe5\x73\x73\x63\xcc\x72\x70\x4e\xde\x87\x2f\x2a\x0a\x4a\x83\x79\x89\x21\xb0\x49\x06\x36\x60\x3f\xd0\xf9\x45\xc6\x28\x38\x9c\x60\xa8\xe3\x29\x25\xa7\x93\x4c\x96\xea\x29\x04\xa7\xb9\x32\xa8\xb0\x0b\x6d\xfc\xf4\xe9\xcb\xc6\x3b\x15\x24\x00\x1c\xe6\x65\xf7\x73\x24\x4e\x71\xea\x5e\x7d\x99\xe7\xcf\xc9\xef\x96\xc7\xe0\x15\x7d\x69\xcf\xe1\xa5\x5c\x29\x53\xf0\x04\x2c\xd8\xd8\x2b\xd7\x1b\xe0\x04\x60\x09\xf3\x72\xc6\x0e\x43\xe1\x41\xca\x95\x88\xc2\x33\x82\x16\x24\xa6\x59\x31\x4d\x66\x7d\xb4\x6a\xaf\xcc\xbc\x36\x9c\xa5\x0c\x5e\x67\xf8\x9d\x83\x72\xfe\xa8\x6e\x6d\x8d\xb0\x02\x27\x43\x75\x46\xb9\x87\x72\xc4\xf2\x5b\xe1\xa2\x5f\xe1\x8a\x59\x97\xce\x19\x15\xf2\xe7\x42\x29\xd2\x0d\xb2\x31\x92\xec\xe9\xa0\x6d\x96\x54\x4d\xa6\xf7\x44\x23\x84\xeb\x2a\x68\xb3\x08\x4c\xa6\xdd\x03\x80\xc9\xb0\x79\x2a\x8a\xee\x2e\x02\xfc\xef\x6e\xbd\xfe\x6e\x1a\x41\x72\xbc\x5c\x12\x8e\x4c\x33\xc8\x62\x7b\x47\x9d\xf4\x01\x6f\x19\x33\xad\x30\xfd\xf9\xfa\xe2\x3c\x97\xdc\xb9\xdd\x52\x18\x1a\x7e\x06\x4b\x77\x54\xbd\x73\xe7\x59\x92\xd4\xee\x5c\x8b\x52\x3f\xb7\x67\x67\x77\x3f\x0f\xcf\x6e\x47\xcd\xa5\x74\xf2\x9f\xd5\xae\x89\xa3\xc4\xac\x89\xbe\xc6\x24\x5c\x5d\xd9\x82\x18\x87\x11\x28\x23\x66\xd6\x1a\x50\x90\x25\x49\x88\xdb\x1f\xb3\xbf\x9b\x71\x00\xdf\x95\x31\xad\x66\x8e\x19\x6a\x5c\xb8\xf0\xfd\xf0\xb3\xbf\xab\xc1\xff\xae\x9f\x3d\x44\xf9\x24\x3e\xa0\x73\xf7\xd6\x9a\x75\x35\x4e\xce\x2d\x8e\x83\x4e\x1f\x78\xae\xcc\xa4\xcd\x8e\xc7\x2d\xb3\x55\xae\x4c\x42\xd1\x4e\x4e\x87\x5e\xbb\xbf\x87\x26\x8c\xcb\x9e\x8c\xb5\x9c\x87\x71\x07\x3a\x9f\x44\x37\x0a\x76\x29\x17\x63\xa6\xe3\xf7\xd0\x1e\x32\xad\xa7\x09\x9d\x32\x0d\xdc\x4b\x30\x9b\x65\x78\x46\xc4\x00\xd9\x97\x8f\x99\x6b\x46\x68\xaa\x13\xb8\x2a\xfa\x18\x6a\x06\x87\x2c\xa4\x5d\x8b\xe4\x2b\x5e\x2c\x21\xe4\xc1\xc6\xcc\xcc\x89\xcd\xf2\xe1\xb5\xd7\xf1\xcf\xd7\x6e\x3a\x8a\xd3\xdc\x40\x26\x25\x86\x8d\x99\xde\x5c\x9d\x0f\x65\x75\x3b\x70\xb8\x40\xf7\xd1\x80\x75\x31\x27\x36\x0b\x0f\x64\xfa\x0c\xb4\x4c\x5d\x60\xd5\x86\xf4\x94\xa4\xf7\x2a\x2c\x68\x07\xaf\x26\x69\xbd\x3c\xb1\x9b\x61\xcf\x84\xa1\xad\x9a\xeb\xb7\xbe\x03\xd4\x81\xab\x2e\x6a\xdd\xcc\xb6\xb9\x18\x5b\x23\xcd\x73\x86\x62\xc5\x23\x8c\x8a\x48\x6b\x08\x16\xef\xa0\x80\x77\x6b\x92\xf4\xef\x1b\x89\xea\x50\xf7\xbb\xf5\x6b\x4d\x32\x67\xd3\x6b\x95\x85\xd3\xfc\xd2\x1d\x98\x48\x01\x51\xe6\x81\x75\x8b\x91\x45\x35\x25\xd6\xb7\x8e\x41\x15\x97\xc8\x4a\x9f\x26\x82\x12\x2a\x36\x22\x27\xd7\x9f\x5a\x53\xe4\x34\x04\x73\xd9\x75\x92\xb0\xe6\x9e\x0b\x04\x6c\x8d\x98\x34\x58\x28\xe3\x96\x21\x54\x8b\x17\x75\x78\x06\x70\x88\x14\xff\x0f\x1c\x13\x0d\xf2\x9d\x1b\xe8\xe2\xc0\x19\x17\x4a\x5c\x1a\x79\x67\xa4\xb6\x32\x73\xc6\xcc\xa2\xe3\xad\x38\x1e\xda\x7e\x25\xdc\x7d\xaa\xe3\x7a\x4b\x0d\x76\x05\x8d\x55\xe6\x8d\x6e\xb0\x1c\x33\xc8\x7c\x65\x60\x42\x4e\x04\x24\x07\x99\xfc\x4e\xf3\x85\x57\xcb\x06\x33\x57\xa0\x78\x8d\xcc\x2b\xa8\x01\xc1\x3d\xff\x8d\xfa\xff\xbf\x7c\xf3\xff\x02\x00\x00\xff\xff\xe6\xcf\xa1\x43\xcc\xe3\x02\x00") func adminSwaggerJsonBytes() ([]byte, error) { return bindataRead( @@ -92,7 +92,7 @@ func adminSwaggerJson() (*asset, error) { return nil, err } - info := bindataFileInfo{name: "admin.swagger.json", size: 187174, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} + info := bindataFileInfo{name: "admin.swagger.json", size: 189388, mode: os.FileMode(420), modTime: time.Unix(1562572800, 0)} a := &asset{bytes: bytes, info: info} return a, nil } diff --git a/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java b/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java index f0a6cf996d3..c35162de892 100644 --- a/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java +++ b/flyteidl/gen/pb-java/flyteidl/admin/MatchableResourceOuterClass.java @@ -5356,6 +5356,2473 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getDefaultI } + public interface MatchableAttributesConfigurationOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.MatchableAttributesConfiguration) + com.google.protobuf.MessageOrBuilder { + + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + boolean hasAttributes(); + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getAttributes(); + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getAttributesOrBuilder(); + + /** + * string domain = 2; + */ + java.lang.String getDomain(); + /** + * string domain = 2; + */ + com.google.protobuf.ByteString + getDomainBytes(); + + /** + * string project = 3; + */ + java.lang.String getProject(); + /** + * string project = 3; + */ + com.google.protobuf.ByteString + getProjectBytes(); + + /** + * string workflow = 4; + */ + java.lang.String getWorkflow(); + /** + * string workflow = 4; + */ + com.google.protobuf.ByteString + getWorkflowBytes(); + + /** + * string launch_plan = 5; + */ + java.lang.String getLaunchPlan(); + /** + * string launch_plan = 5; + */ + com.google.protobuf.ByteString + getLaunchPlanBytes(); + } + /** + *
+   * Represents a custom set of attributes applied for either a domain; a domain and project; or
+   * domain, project and workflow name.
+   * 
+ * + * Protobuf type {@code flyteidl.admin.MatchableAttributesConfiguration} + */ + public static final class MatchableAttributesConfiguration extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.MatchableAttributesConfiguration) + MatchableAttributesConfigurationOrBuilder { + private static final long serialVersionUID = 0L; + // Use MatchableAttributesConfiguration.newBuilder() to construct. + private MatchableAttributesConfiguration(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private MatchableAttributesConfiguration() { + domain_ = ""; + project_ = ""; + workflow_ = ""; + launchPlan_ = ""; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private MatchableAttributesConfiguration( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder subBuilder = null; + if (attributes_ != null) { + subBuilder = attributes_.toBuilder(); + } + attributes_ = input.readMessage(flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(attributes_); + attributes_ = subBuilder.buildPartial(); + } + + break; + } + case 18: { + java.lang.String s = input.readStringRequireUtf8(); + + domain_ = s; + break; + } + case 26: { + java.lang.String s = input.readStringRequireUtf8(); + + project_ = s; + break; + } + case 34: { + java.lang.String s = input.readStringRequireUtf8(); + + workflow_ = s; + break; + } + case 42: { + java.lang.String s = input.readStringRequireUtf8(); + + launchPlan_ = s; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_MatchableAttributesConfiguration_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.class, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder.class); + } + + public static final int ATTRIBUTES_FIELD_NUMBER = 1; + private flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes attributes_; + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public boolean hasAttributes() { + return attributes_ != null; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getAttributes() { + return attributes_ == null ? flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.getDefaultInstance() : attributes_; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getAttributesOrBuilder() { + return getAttributes(); + } + + public static final int DOMAIN_FIELD_NUMBER = 2; + private volatile java.lang.Object domain_; + /** + * string domain = 2; + */ + public java.lang.String getDomain() { + java.lang.Object ref = domain_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + domain_ = s; + return s; + } + } + /** + * string domain = 2; + */ + public com.google.protobuf.ByteString + getDomainBytes() { + java.lang.Object ref = domain_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + domain_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PROJECT_FIELD_NUMBER = 3; + private volatile java.lang.Object project_; + /** + * string project = 3; + */ + public java.lang.String getProject() { + java.lang.Object ref = project_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + project_ = s; + return s; + } + } + /** + * string project = 3; + */ + public com.google.protobuf.ByteString + getProjectBytes() { + java.lang.Object ref = project_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + project_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int WORKFLOW_FIELD_NUMBER = 4; + private volatile java.lang.Object workflow_; + /** + * string workflow = 4; + */ + public java.lang.String getWorkflow() { + java.lang.Object ref = workflow_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + workflow_ = s; + return s; + } + } + /** + * string workflow = 4; + */ + public com.google.protobuf.ByteString + getWorkflowBytes() { + java.lang.Object ref = workflow_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + workflow_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LAUNCH_PLAN_FIELD_NUMBER = 5; + private volatile java.lang.Object launchPlan_; + /** + * string launch_plan = 5; + */ + public java.lang.String getLaunchPlan() { + java.lang.Object ref = launchPlan_; + if (ref instanceof java.lang.String) { + return (java.lang.String) ref; + } else { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + launchPlan_ = s; + return s; + } + } + /** + * string launch_plan = 5; + */ + public com.google.protobuf.ByteString + getLaunchPlanBytes() { + java.lang.Object ref = launchPlan_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + launchPlan_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (attributes_ != null) { + output.writeMessage(1, getAttributes()); + } + if (!getDomainBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, domain_); + } + if (!getProjectBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, project_); + } + if (!getWorkflowBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, workflow_); + } + if (!getLaunchPlanBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 5, launchPlan_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (attributes_ != null) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, getAttributes()); + } + if (!getDomainBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, domain_); + } + if (!getProjectBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, project_); + } + if (!getWorkflowBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, workflow_); + } + if (!getLaunchPlanBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, launchPlan_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration)) { + return super.equals(obj); + } + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration other = (flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration) obj; + + if (hasAttributes() != other.hasAttributes()) return false; + if (hasAttributes()) { + if (!getAttributes() + .equals(other.getAttributes())) return false; + } + if (!getDomain() + .equals(other.getDomain())) return false; + if (!getProject() + .equals(other.getProject())) return false; + if (!getWorkflow() + .equals(other.getWorkflow())) return false; + if (!getLaunchPlan() + .equals(other.getLaunchPlan())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasAttributes()) { + hash = (37 * hash) + ATTRIBUTES_FIELD_NUMBER; + hash = (53 * hash) + getAttributes().hashCode(); + } + hash = (37 * hash) + DOMAIN_FIELD_NUMBER; + hash = (53 * hash) + getDomain().hashCode(); + hash = (37 * hash) + PROJECT_FIELD_NUMBER; + hash = (53 * hash) + getProject().hashCode(); + hash = (37 * hash) + WORKFLOW_FIELD_NUMBER; + hash = (53 * hash) + getWorkflow().hashCode(); + hash = (37 * hash) + LAUNCH_PLAN_FIELD_NUMBER; + hash = (53 * hash) + getLaunchPlan().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Represents a custom set of attributes applied for either a domain; a domain and project; or
+     * domain, project and workflow name.
+     * 
+ * + * Protobuf type {@code flyteidl.admin.MatchableAttributesConfiguration} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.MatchableAttributesConfiguration) + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_MatchableAttributesConfiguration_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.class, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder.class); + } + + // Construct using flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (attributesBuilder_ == null) { + attributes_ = null; + } else { + attributes_ = null; + attributesBuilder_ = null; + } + domain_ = ""; + + project_ = ""; + + workflow_ = ""; + + launchPlan_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getDefaultInstanceForType() { + return flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration build() { + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration buildPartial() { + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration result = new flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration(this); + if (attributesBuilder_ == null) { + result.attributes_ = attributes_; + } else { + result.attributes_ = attributesBuilder_.build(); + } + result.domain_ = domain_; + result.project_ = project_; + result.workflow_ = workflow_; + result.launchPlan_ = launchPlan_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration) { + return mergeFrom((flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration other) { + if (other == flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.getDefaultInstance()) return this; + if (other.hasAttributes()) { + mergeAttributes(other.getAttributes()); + } + if (!other.getDomain().isEmpty()) { + domain_ = other.domain_; + onChanged(); + } + if (!other.getProject().isEmpty()) { + project_ = other.project_; + onChanged(); + } + if (!other.getWorkflow().isEmpty()) { + workflow_ = other.workflow_; + onChanged(); + } + if (!other.getLaunchPlan().isEmpty()) { + launchPlan_ = other.launchPlan_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes attributes_; + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder> attributesBuilder_; + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public boolean hasAttributes() { + return attributesBuilder_ != null || attributes_ != null; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getAttributes() { + if (attributesBuilder_ == null) { + return attributes_ == null ? flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.getDefaultInstance() : attributes_; + } else { + return attributesBuilder_.getMessage(); + } + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public Builder setAttributes(flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes value) { + if (attributesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + attributes_ = value; + onChanged(); + } else { + attributesBuilder_.setMessage(value); + } + + return this; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public Builder setAttributes( + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder builderForValue) { + if (attributesBuilder_ == null) { + attributes_ = builderForValue.build(); + onChanged(); + } else { + attributesBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public Builder mergeAttributes(flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes value) { + if (attributesBuilder_ == null) { + if (attributes_ != null) { + attributes_ = + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.newBuilder(attributes_).mergeFrom(value).buildPartial(); + } else { + attributes_ = value; + } + onChanged(); + } else { + attributesBuilder_.mergeFrom(value); + } + + return this; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public Builder clearAttributes() { + if (attributesBuilder_ == null) { + attributes_ = null; + onChanged(); + } else { + attributes_ = null; + attributesBuilder_ = null; + } + + return this; + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder getAttributesBuilder() { + + onChanged(); + return getAttributesFieldBuilder().getBuilder(); + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder getAttributesOrBuilder() { + if (attributesBuilder_ != null) { + return attributesBuilder_.getMessageOrBuilder(); + } else { + return attributes_ == null ? + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.getDefaultInstance() : attributes_; + } + } + /** + * .flyteidl.admin.MatchingAttributes attributes = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder> + getAttributesFieldBuilder() { + if (attributesBuilder_ == null) { + attributesBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchingAttributesOrBuilder>( + getAttributes(), + getParentForChildren(), + isClean()); + attributes_ = null; + } + return attributesBuilder_; + } + + private java.lang.Object domain_ = ""; + /** + * string domain = 2; + */ + public java.lang.String getDomain() { + java.lang.Object ref = domain_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + domain_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string domain = 2; + */ + public com.google.protobuf.ByteString + getDomainBytes() { + java.lang.Object ref = domain_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + domain_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string domain = 2; + */ + public Builder setDomain( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + domain_ = value; + onChanged(); + return this; + } + /** + * string domain = 2; + */ + public Builder clearDomain() { + + domain_ = getDefaultInstance().getDomain(); + onChanged(); + return this; + } + /** + * string domain = 2; + */ + public Builder setDomainBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + domain_ = value; + onChanged(); + return this; + } + + private java.lang.Object project_ = ""; + /** + * string project = 3; + */ + public java.lang.String getProject() { + java.lang.Object ref = project_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + project_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string project = 3; + */ + public com.google.protobuf.ByteString + getProjectBytes() { + java.lang.Object ref = project_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + project_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string project = 3; + */ + public Builder setProject( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + project_ = value; + onChanged(); + return this; + } + /** + * string project = 3; + */ + public Builder clearProject() { + + project_ = getDefaultInstance().getProject(); + onChanged(); + return this; + } + /** + * string project = 3; + */ + public Builder setProjectBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + project_ = value; + onChanged(); + return this; + } + + private java.lang.Object workflow_ = ""; + /** + * string workflow = 4; + */ + public java.lang.String getWorkflow() { + java.lang.Object ref = workflow_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + workflow_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string workflow = 4; + */ + public com.google.protobuf.ByteString + getWorkflowBytes() { + java.lang.Object ref = workflow_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + workflow_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string workflow = 4; + */ + public Builder setWorkflow( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + workflow_ = value; + onChanged(); + return this; + } + /** + * string workflow = 4; + */ + public Builder clearWorkflow() { + + workflow_ = getDefaultInstance().getWorkflow(); + onChanged(); + return this; + } + /** + * string workflow = 4; + */ + public Builder setWorkflowBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + workflow_ = value; + onChanged(); + return this; + } + + private java.lang.Object launchPlan_ = ""; + /** + * string launch_plan = 5; + */ + public java.lang.String getLaunchPlan() { + java.lang.Object ref = launchPlan_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = + (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + launchPlan_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * string launch_plan = 5; + */ + public com.google.protobuf.ByteString + getLaunchPlanBytes() { + java.lang.Object ref = launchPlan_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8( + (java.lang.String) ref); + launchPlan_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * string launch_plan = 5; + */ + public Builder setLaunchPlan( + java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + launchPlan_ = value; + onChanged(); + return this; + } + /** + * string launch_plan = 5; + */ + public Builder clearLaunchPlan() { + + launchPlan_ = getDefaultInstance().getLaunchPlan(); + onChanged(); + return this; + } + /** + * string launch_plan = 5; + */ + public Builder setLaunchPlanBytes( + com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + launchPlan_ = value; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.MatchableAttributesConfiguration) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.MatchableAttributesConfiguration) + private static final flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration(); + } + + public static flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public MatchableAttributesConfiguration parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new MatchableAttributesConfiguration(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ListMatchableAttributesRequestOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.ListMatchableAttributesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + int getResourceTypeValue(); + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType(); + } + /** + *
+   * Request all matching resource attributes.
+   * 
+ * + * Protobuf type {@code flyteidl.admin.ListMatchableAttributesRequest} + */ + public static final class ListMatchableAttributesRequest extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.ListMatchableAttributesRequest) + ListMatchableAttributesRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListMatchableAttributesRequest.newBuilder() to construct. + private ListMatchableAttributesRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ListMatchableAttributesRequest() { + resourceType_ = 0; + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ListMatchableAttributesRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 8: { + int rawValue = input.readEnum(); + + resourceType_ = rawValue; + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.class, flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.Builder.class); + } + + public static final int RESOURCE_TYPE_FIELD_NUMBER = 1; + private int resourceType_; + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public int getResourceTypeValue() { + return resourceType_; + } + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType() { + @SuppressWarnings("deprecation") + flyteidl.admin.MatchableResourceOuterClass.MatchableResource result = flyteidl.admin.MatchableResourceOuterClass.MatchableResource.valueOf(resourceType_); + return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result; + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { + output.writeEnum(1, resourceType_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (resourceType_ != flyteidl.admin.MatchableResourceOuterClass.MatchableResource.TASK_RESOURCE.getNumber()) { + size += com.google.protobuf.CodedOutputStream + .computeEnumSize(1, resourceType_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest)) { + return super.equals(obj); + } + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest other = (flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest) obj; + + if (resourceType_ != other.resourceType_) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + RESOURCE_TYPE_FIELD_NUMBER; + hash = (53 * hash) + resourceType_; + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Request all matching resource attributes.
+     * 
+ * + * Protobuf type {@code flyteidl.admin.ListMatchableAttributesRequest} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.ListMatchableAttributesRequest) + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.class, flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.Builder.class); + } + + // Construct using flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + resourceType_ = 0; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest getDefaultInstanceForType() { + return flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest build() { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest buildPartial() { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest result = new flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest(this); + result.resourceType_ = resourceType_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest) { + return mergeFrom((flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest other) { + if (other == flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest.getDefaultInstance()) return this; + if (other.resourceType_ != 0) { + setResourceTypeValue(other.getResourceTypeValue()); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int resourceType_ = 0; + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public int getResourceTypeValue() { + return resourceType_; + } + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public Builder setResourceTypeValue(int value) { + resourceType_ = value; + onChanged(); + return this; + } + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableResource getResourceType() { + @SuppressWarnings("deprecation") + flyteidl.admin.MatchableResourceOuterClass.MatchableResource result = flyteidl.admin.MatchableResourceOuterClass.MatchableResource.valueOf(resourceType_); + return result == null ? flyteidl.admin.MatchableResourceOuterClass.MatchableResource.UNRECOGNIZED : result; + } + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public Builder setResourceType(flyteidl.admin.MatchableResourceOuterClass.MatchableResource value) { + if (value == null) { + throw new NullPointerException(); + } + + resourceType_ = value.getNumber(); + onChanged(); + return this; + } + /** + * .flyteidl.admin.MatchableResource resource_type = 1; + */ + public Builder clearResourceType() { + + resourceType_ = 0; + onChanged(); + return this; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.ListMatchableAttributesRequest) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesRequest) + private static final flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest(); + } + + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListMatchableAttributesRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListMatchableAttributesRequest(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + + public interface ListMatchableAttributesResponseOrBuilder extends + // @@protoc_insertion_point(interface_extends:flyteidl.admin.ListMatchableAttributesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + java.util.List + getConfigurationsList(); + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getConfigurations(int index); + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + int getConfigurationsCount(); + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + java.util.List + getConfigurationsOrBuilderList(); + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder getConfigurationsOrBuilder( + int index); + } + /** + *
+   * Response for a request for all matching resource attributes.
+   * 
+ * + * Protobuf type {@code flyteidl.admin.ListMatchableAttributesResponse} + */ + public static final class ListMatchableAttributesResponse extends + com.google.protobuf.GeneratedMessageV3 implements + // @@protoc_insertion_point(message_implements:flyteidl.admin.ListMatchableAttributesResponse) + ListMatchableAttributesResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListMatchableAttributesResponse.newBuilder() to construct. + private ListMatchableAttributesResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + private ListMatchableAttributesResponse() { + configurations_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet + getUnknownFields() { + return this.unknownFields; + } + private ListMatchableAttributesResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + configurations_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + configurations_.add( + input.readMessage(flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.parser(), extensionRegistry)); + break; + } + default: { + if (!parseUnknownField( + input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException( + e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + configurations_ = java.util.Collections.unmodifiableList(configurations_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.class, flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.Builder.class); + } + + public static final int CONFIGURATIONS_FIELD_NUMBER = 1; + private java.util.List configurations_; + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public java.util.List getConfigurationsList() { + return configurations_; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public java.util.List + getConfigurationsOrBuilderList() { + return configurations_; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public int getConfigurationsCount() { + return configurations_.size(); + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getConfigurations(int index) { + return configurations_.get(index); + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder getConfigurationsOrBuilder( + int index) { + return configurations_.get(index); + } + + private byte memoizedIsInitialized = -1; + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) + throws java.io.IOException { + for (int i = 0; i < configurations_.size(); i++) { + output.writeMessage(1, configurations_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < configurations_.size(); i++) { + size += com.google.protobuf.CodedOutputStream + .computeMessageSize(1, configurations_.get(i)); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse)) { + return super.equals(obj); + } + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse other = (flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse) obj; + + if (!getConfigurationsList() + .equals(other.getConfigurationsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getConfigurationsCount() > 0) { + hash = (37 * hash) + CONFIGURATIONS_FIELD_NUMBER; + hash = (53 * hash) + getConfigurationsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + java.nio.ByteBuffer data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + com.google.protobuf.ByteString data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + byte[] data, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseDelimitedWithIOException(PARSER, input, extensionRegistry); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + com.google.protobuf.CodedInputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input); + } + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3 + .parseWithIOException(PARSER, input, extensionRegistry); + } + + @java.lang.Override + public Builder newBuilderForType() { return newBuilder(); } + public static Builder newBuilder() { + return DEFAULT_INSTANCE.toBuilder(); + } + public static Builder newBuilder(flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse prototype) { + return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); + } + @java.lang.Override + public Builder toBuilder() { + return this == DEFAULT_INSTANCE + ? new Builder() : new Builder().mergeFrom(this); + } + + @java.lang.Override + protected Builder newBuilderForType( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + *
+     * Response for a request for all matching resource attributes.
+     * 
+ * + * Protobuf type {@code flyteidl.admin.ListMatchableAttributesResponse} + */ + public static final class Builder extends + com.google.protobuf.GeneratedMessageV3.Builder implements + // @@protoc_insertion_point(builder_implements:flyteidl.admin.ListMatchableAttributesResponse) + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor + getDescriptor() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.class, flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.Builder.class); + } + + // Construct using flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder( + com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3 + .alwaysUseFieldBuilders) { + getConfigurationsFieldBuilder(); + } + } + @java.lang.Override + public Builder clear() { + super.clear(); + if (configurationsBuilder_ == null) { + configurations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + configurationsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor + getDescriptorForType() { + return flyteidl.admin.MatchableResourceOuterClass.internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse getDefaultInstanceForType() { + return flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.getDefaultInstance(); + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse build() { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse buildPartial() { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse result = new flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse(this); + int from_bitField0_ = bitField0_; + if (configurationsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + configurations_ = java.util.Collections.unmodifiableList(configurations_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.configurations_ = configurations_; + } else { + result.configurations_ = configurationsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.setField(field, value); + } + @java.lang.Override + public Builder clearField( + com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + @java.lang.Override + public Builder clearOneof( + com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + java.lang.Object value) { + return super.addRepeatedField(field, value); + } + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse) { + return mergeFrom((flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse)other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse other) { + if (other == flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse.getDefaultInstance()) return this; + if (configurationsBuilder_ == null) { + if (!other.configurations_.isEmpty()) { + if (configurations_.isEmpty()) { + configurations_ = other.configurations_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureConfigurationsIsMutable(); + configurations_.addAll(other.configurations_); + } + onChanged(); + } + } else { + if (!other.configurations_.isEmpty()) { + if (configurationsBuilder_.isEmpty()) { + configurationsBuilder_.dispose(); + configurationsBuilder_ = null; + configurations_ = other.configurations_; + bitField0_ = (bitField0_ & ~0x00000001); + configurationsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders ? + getConfigurationsFieldBuilder() : null; + } else { + configurationsBuilder_.addAllMessages(other.configurations_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + private int bitField0_; + + private java.util.List configurations_ = + java.util.Collections.emptyList(); + private void ensureConfigurationsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + configurations_ = new java.util.ArrayList(configurations_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder> configurationsBuilder_; + + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public java.util.List getConfigurationsList() { + if (configurationsBuilder_ == null) { + return java.util.Collections.unmodifiableList(configurations_); + } else { + return configurationsBuilder_.getMessageList(); + } + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public int getConfigurationsCount() { + if (configurationsBuilder_ == null) { + return configurations_.size(); + } else { + return configurationsBuilder_.getCount(); + } + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration getConfigurations(int index) { + if (configurationsBuilder_ == null) { + return configurations_.get(index); + } else { + return configurationsBuilder_.getMessage(index); + } + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder setConfigurations( + int index, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration value) { + if (configurationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigurationsIsMutable(); + configurations_.set(index, value); + onChanged(); + } else { + configurationsBuilder_.setMessage(index, value); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder setConfigurations( + int index, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder builderForValue) { + if (configurationsBuilder_ == null) { + ensureConfigurationsIsMutable(); + configurations_.set(index, builderForValue.build()); + onChanged(); + } else { + configurationsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder addConfigurations(flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration value) { + if (configurationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigurationsIsMutable(); + configurations_.add(value); + onChanged(); + } else { + configurationsBuilder_.addMessage(value); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder addConfigurations( + int index, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration value) { + if (configurationsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureConfigurationsIsMutable(); + configurations_.add(index, value); + onChanged(); + } else { + configurationsBuilder_.addMessage(index, value); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder addConfigurations( + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder builderForValue) { + if (configurationsBuilder_ == null) { + ensureConfigurationsIsMutable(); + configurations_.add(builderForValue.build()); + onChanged(); + } else { + configurationsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder addConfigurations( + int index, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder builderForValue) { + if (configurationsBuilder_ == null) { + ensureConfigurationsIsMutable(); + configurations_.add(index, builderForValue.build()); + onChanged(); + } else { + configurationsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder addAllConfigurations( + java.lang.Iterable values) { + if (configurationsBuilder_ == null) { + ensureConfigurationsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll( + values, configurations_); + onChanged(); + } else { + configurationsBuilder_.addAllMessages(values); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder clearConfigurations() { + if (configurationsBuilder_ == null) { + configurations_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + configurationsBuilder_.clear(); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public Builder removeConfigurations(int index) { + if (configurationsBuilder_ == null) { + ensureConfigurationsIsMutable(); + configurations_.remove(index); + onChanged(); + } else { + configurationsBuilder_.remove(index); + } + return this; + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder getConfigurationsBuilder( + int index) { + return getConfigurationsFieldBuilder().getBuilder(index); + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder getConfigurationsOrBuilder( + int index) { + if (configurationsBuilder_ == null) { + return configurations_.get(index); } else { + return configurationsBuilder_.getMessageOrBuilder(index); + } + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public java.util.List + getConfigurationsOrBuilderList() { + if (configurationsBuilder_ != null) { + return configurationsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(configurations_); + } + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder addConfigurationsBuilder() { + return getConfigurationsFieldBuilder().addBuilder( + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.getDefaultInstance()); + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder addConfigurationsBuilder( + int index) { + return getConfigurationsFieldBuilder().addBuilder( + index, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.getDefaultInstance()); + } + /** + * repeated .flyteidl.admin.MatchableAttributesConfiguration configurations = 1; + */ + public java.util.List + getConfigurationsBuilderList() { + return getConfigurationsFieldBuilder().getBuilderList(); + } + private com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder> + getConfigurationsFieldBuilder() { + if (configurationsBuilder_ == null) { + configurationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilderV3< + flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfiguration.Builder, flyteidl.admin.MatchableResourceOuterClass.MatchableAttributesConfigurationOrBuilder>( + configurations_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + configurations_ = null; + } + return configurationsBuilder_; + } + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + + // @@protoc_insertion_point(builder_scope:flyteidl.admin.ListMatchableAttributesResponse) + } + + // @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesResponse) + private static final flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse DEFAULT_INSTANCE; + static { + DEFAULT_INSTANCE = new flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse(); + } + + public static flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser + PARSER = new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListMatchableAttributesResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListMatchableAttributesResponse(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public flyteidl.admin.MatchableResourceOuterClass.ListMatchableAttributesResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + + } + private static final com.google.protobuf.Descriptors.Descriptor internal_static_flyteidl_admin_TaskResourceSpec_descriptor; private static final @@ -5391,6 +7858,21 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getDefaultI private static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_flyteidl_admin_MatchingAttributes_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_MatchableAttributesConfiguration_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_ListMatchableAttributesRequest_fieldAccessorTable; + private static final com.google.protobuf.Descriptors.Descriptor + internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor; + private static final + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_flyteidl_admin_ListMatchableAttributesResponse_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { @@ -5421,11 +7903,20 @@ public flyteidl.admin.MatchableResourceOuterClass.MatchingAttributes getDefaultI "\001(\0132(.flyteidl.admin.ExecutionQueueAttri" + "butesH\000\022H\n\027execution_cluster_label\030\004 \001(\013" + "2%.flyteidl.admin.ExecutionClusterLabelH" + - "\000B\010\n\006target*n\n\021MatchableResource\022\021\n\rTASK" + - "_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022\023\n\017EXE" + - "CUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTER_LABE" + - "L\020\003B3Z1github.com/lyft/flyteidl/gen/pb-g" + - "o/flyteidl/adminb\006proto3" + "\000B\010\n\006target\"\242\001\n MatchableAttributesConfi" + + "guration\0226\n\nattributes\030\001 \001(\0132\".flyteidl." + + "admin.MatchingAttributes\022\016\n\006domain\030\002 \001(\t" + + "\022\017\n\007project\030\003 \001(\t\022\020\n\010workflow\030\004 \001(\t\022\023\n\013l" + + "aunch_plan\030\005 \001(\t\"Z\n\036ListMatchableAttribu" + + "tesRequest\0228\n\rresource_type\030\001 \001(\0162!.flyt" + + "eidl.admin.MatchableResource\"k\n\037ListMatc" + + "hableAttributesResponse\022H\n\016configuration" + + "s\030\001 \003(\01320.flyteidl.admin.MatchableAttrib" + + "utesConfiguration*n\n\021MatchableResource\022\021" + + "\n\rTASK_RESOURCE\020\000\022\024\n\020CLUSTER_RESOURCE\020\001\022" + + "\023\n\017EXECUTION_QUEUE\020\002\022\033\n\027EXECUTION_CLUSTE" + + "R_LABEL\020\003B3Z1github.com/lyft/flyteidl/ge" + + "n/pb-go/flyteidl/adminb\006proto3" }; com.google.protobuf.Descriptors.FileDescriptor.InternalDescriptorAssigner assigner = new com.google.protobuf.Descriptors.FileDescriptor. InternalDescriptorAssigner() { @@ -5481,6 +7972,24 @@ public com.google.protobuf.ExtensionRegistry assignDescriptors( com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_flyteidl_admin_MatchingAttributes_descriptor, new java.lang.String[] { "TaskResourceAttributes", "ClusterResourceAttributes", "ExecutionQueueAttributes", "ExecutionClusterLabel", "Target", }); + internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor = + getDescriptor().getMessageTypes().get(6); + internal_static_flyteidl_admin_MatchableAttributesConfiguration_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_MatchableAttributesConfiguration_descriptor, + new java.lang.String[] { "Attributes", "Domain", "Project", "Workflow", "LaunchPlan", }); + internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor = + getDescriptor().getMessageTypes().get(7); + internal_static_flyteidl_admin_ListMatchableAttributesRequest_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_ListMatchableAttributesRequest_descriptor, + new java.lang.String[] { "ResourceType", }); + internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor = + getDescriptor().getMessageTypes().get(8); + internal_static_flyteidl_admin_ListMatchableAttributesResponse_fieldAccessorTable = new + com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_flyteidl_admin_ListMatchableAttributesResponse_descriptor, + new java.lang.String[] { "Configurations", }); } // @@protoc_insertion_point(outer_class_scope) diff --git a/flyteidl/gen/pb-java/flyteidl/service/Admin.java b/flyteidl/gen/pb-java/flyteidl/service/Admin.java index de1cad7a33e..bb5982e2500 100644 --- a/flyteidl/gen/pb-java/flyteidl/service/Admin.java +++ b/flyteidl/gen/pb-java/flyteidl/service/Admin.java @@ -31,310 +31,317 @@ public static void registerAllExtensions( "workflow.proto\032(flyteidl/admin/workflow_" + "attributes.proto\032 flyteidl/admin/launch_" + "plan.proto\032\032flyteidl/admin/event.proto\032\036" + - "flyteidl/admin/execution.proto\032#flyteidl" + - "/admin/node_execution.proto\032#flyteidl/ad" + - "min/task_execution.proto\032\033flyteidl/admin" + - "/common.proto\032,protoc-gen-swagger/option" + - "s/annotations.proto2\365\\\n\014AdminService\022\305\002\n" + - "\nCreateTask\022!.flyteidl.admin.TaskCreateR" + - "equest\032\".flyteidl.admin.TaskCreateRespon" + - "se\"\357\001\202\323\344\223\002\022\"\r/api/v1/tasks:\001*\222A\323\001\032&Creat" + - "e and register a task definition.JB\n\003400" + - "\022;\n9Returned for bad request that may ha" + - "ve failed validation.Je\n\003409\022^\n\\Returned" + - " for a request that references an identi" + - "cal entity that has already been registe" + - "red.\022\262\001\n\007GetTask\022 .flyteidl.admin.Object" + - "GetRequest\032\024.flyteidl.admin.Task\"o\202\323\344\223\002?" + - "\022=/api/v1/tasks/{id.project}/{id.domain}" + - "/{id.name}/{id.version}\222A\'\032%Retrieve an " + - "existing task definition.\022\336\001\n\013ListTaskId" + - "s\0220.flyteidl.admin.NamedEntityIdentifier" + - "ListRequest\032).flyteidl.admin.NamedEntity" + - "IdentifierList\"r\202\323\344\223\002%\022#/api/v1/task_ids" + - "/{project}/{domain}\222AD\032BFetch existing t" + - "ask definition identifiers matching inpu" + - "t filters.\022\353\001\n\tListTasks\022#.flyteidl.admi" + - "n.ResourceListRequest\032\030.flyteidl.admin.T" + - "askList\"\236\001\202\323\344\223\002\\\0220/api/v1/tasks/{id.proj" + - "ect}/{id.domain}/{id.name}Z(\022&/api/v1/ta" + - "sks/{id.project}/{id.domain}\222A9\0327Fetch e" + - "xisting task definitions matching input " + - "filters.\022\331\002\n\016CreateWorkflow\022%.flyteidl.a" + - "dmin.WorkflowCreateRequest\032&.flyteidl.ad" + - "min.WorkflowCreateResponse\"\367\001\202\323\344\223\002\026\"\021/ap" + - "i/v1/workflows:\001*\222A\327\001\032*Create and regist" + - "er a workflow definition.JB\n\003400\022;\n9Retu" + - "rned for bad request that may have faile" + - "d validation.Je\n\003409\022^\n\\Returned for a r" + - "equest that references an identical enti" + - "ty that has already been registered.\022\302\001\n" + - "\013GetWorkflow\022 .flyteidl.admin.ObjectGetR" + - "equest\032\030.flyteidl.admin.Workflow\"w\202\323\344\223\002C" + - "\022A/api/v1/workflows/{id.project}/{id.dom" + - "ain}/{id.name}/{id.version}\222A+\032)Retrieve" + - " an existing workflow definition.\022\355\001\n\017Li" + - "stWorkflowIds\0220.flyteidl.admin.NamedEnti" + - "tyIdentifierListRequest\032).flyteidl.admin" + - ".NamedEntityIdentifierList\"}\202\323\344\223\002)\022\'/api" + - "/v1/workflow_ids/{project}/{domain}\222AK\032I" + - "Fetch an existing workflow definition id" + - "entifiers matching input filters.\022\377\001\n\rLi" + - "stWorkflows\022#.flyteidl.admin.ResourceLis" + - "tRequest\032\034.flyteidl.admin.WorkflowList\"\252" + - "\001\202\323\344\223\002d\0224/api/v1/workflows/{id.project}/" + - "{id.domain}/{id.name}Z,\022*/api/v1/workflo" + - "ws/{id.project}/{id.domain}\222A=\032;Fetch ex" + - "isting workflow definitions matching inp" + - "ut filters.\022\345\002\n\020CreateLaunchPlan\022\'.flyte" + - "idl.admin.LaunchPlanCreateRequest\032(.flyt" + - "eidl.admin.LaunchPlanCreateResponse\"\375\001\202\323" + - "\344\223\002\031\"\024/api/v1/launch_plans:\001*\222A\332\001\032-Creat" + - "e and register a launch plan definition." + - "JB\n\003400\022;\n9Returned for bad request that" + - " may have failed validation.Je\n\003409\022^\n\\R" + - "eturned for a request that references an" + - " identical entity that has already been " + - "registered.\022\314\001\n\rGetLaunchPlan\022 .flyteidl" + - ".admin.ObjectGetRequest\032\032.flyteidl.admin" + - ".LaunchPlan\"}\202\323\344\223\002F\022D/api/v1/launch_plan" + - "s/{id.project}/{id.domain}/{id.name}/{id" + - ".version}\222A.\032,Retrieve an existing launc" + - "h plan definition.\022\363\001\n\023GetActiveLaunchPl" + - "an\022\'.flyteidl.admin.ActiveLaunchPlanRequ" + - "est\032\032.flyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002@" + - "\022>/api/v1/active_launch_plans/{id.projec" + - "t}/{id.domain}/{id.name}\222AM\032KRetrieve th" + - "e active launch plan version specified b" + - "y input request filters.\022\353\001\n\025ListActiveL" + - "aunchPlans\022+.flyteidl.admin.ActiveLaunch" + - "PlanListRequest\032\036.flyteidl.admin.LaunchP" + - "lanList\"\204\001\202\323\344\223\0020\022./api/v1/active_launch_" + - "plans/{project}/{domain}\222AK\032IFetch the a" + - "ctive launch plan versions specified by " + - "input request filters.\022\363\001\n\021ListLaunchPla" + - "nIds\0220.flyteidl.admin.NamedEntityIdentif" + - "ierListRequest\032).flyteidl.admin.NamedEnt" + - "ityIdentifierList\"\200\001\202\323\344\223\002,\022*/api/v1/laun" + - "ch_plan_ids/{project}/{domain}\222AK\032IFetch" + - " existing launch plan definition identif" + - "iers matching input filters.\022\214\002\n\017ListLau" + - "nchPlans\022#.flyteidl.admin.ResourceListRe" + - "quest\032\036.flyteidl.admin.LaunchPlanList\"\263\001" + - "\202\323\344\223\002j\0227/api/v1/launch_plans/{id.project" + - "}/{id.domain}/{id.name}Z/\022-/api/v1/launc" + - "h_plans/{id.project}/{id.domain}\222A@\032>Fet" + - "ch existing launch plan definitions matc" + - "hing input filters.\022\300\006\n\020UpdateLaunchPlan" + - "\022\'.flyteidl.admin.LaunchPlanUpdateReques" + - "t\032(.flyteidl.admin.LaunchPlanUpdateRespo" + - "nse\"\330\005\202\323\344\223\002I\032D/api/v1/launch_plans/{id.p" + - "roject}/{id.domain}/{id.name}/{id.versio" + - "n}:\001*\222A\205\005\032\202\005Update the status of an exis" + - "ting launch plan definition. At most one" + - " launch plan version for a given {projec" + - "t, domain, name} can be active at a time" + - ". If this call sets a launch plan to act" + - "ive and existing version is already acti" + - "ve, the result of this call will be that" + - " the formerly active launch plan will be" + - " made inactive and specified launch plan" + - " in this request will be made active. In" + - " the event that the formerly active laun" + - "ch plan had a schedule associated it wit" + - "h it, this schedule will be disabled. If" + - " the reference launch plan in this reque" + - "st is being set to active and has a sche" + - "dule associated with it, the schedule wi" + - "ll be enabled.\022\242\001\n\017CreateExecution\022&.fly" + - "teidl.admin.ExecutionCreateRequest\032\'.fly" + - "teidl.admin.ExecutionCreateResponse\">\202\323\344" + - "\223\002\027\"\022/api/v1/executions:\001*\222A\036\032\034Create a " + - "workflow execution.\022\261\001\n\021RelaunchExecutio" + - "n\022(.flyteidl.admin.ExecutionRelaunchRequ" + - "est\032\'.flyteidl.admin.ExecutionCreateResp" + - "onse\"I\202\323\344\223\002 \"\033/api/v1/executions/relaunc" + - "h:\001*\222A \032\036Relaunch a workflow execution.\022" + - "\302\001\n\014GetExecution\022+.flyteidl.admin.Workfl" + - "owExecutionGetRequest\032\031.flyteidl.admin.E" + - "xecution\"j\202\323\344\223\0027\0225/api/v1/executions/{id" + - ".project}/{id.domain}/{id.name}\222A*\032(Retr" + - "ieve an existing workflow execution.\022\202\002\n" + - "\020GetExecutionData\022/.flyteidl.admin.Workf" + - "lowExecutionGetDataRequest\0320.flyteidl.ad" + - "min.WorkflowExecutionGetDataResponse\"\212\001\202" + - "\323\344\223\002<\022:/api/v1/data/executions/{id.proje" + - "ct}/{id.domain}/{id.name}\222AE\032CRetrieve i" + - "nput and output data from an existing wo" + - "rkflow execution.\022\310\001\n\016ListExecutions\022#.f" + - "lyteidl.admin.ResourceListRequest\032\035.flyt" + - "eidl.admin.ExecutionList\"r\202\323\344\223\002-\022+/api/v" + - "1/executions/{id.project}/{id.domain}\222A<" + - "\032:Fetch existing workflow executions mat" + - "ching input filters.\022\364\001\n\022TerminateExecut" + - "ion\022).flyteidl.admin.ExecutionTerminateR" + - "equest\032*.flyteidl.admin.ExecutionTermina" + - "teResponse\"\206\001\202\323\344\223\002:*5/api/v1/executions/" + - "{id.project}/{id.domain}/{id.name}:\001*\222AC" + - "\032ATerminate the active workflow executio" + - "n specified in the request.\022\374\001\n\020GetNodeE" + - "xecution\022\'.flyteidl.admin.NodeExecutionG" + - "etRequest\032\035.flyteidl.admin.NodeExecution" + - "\"\237\001\202\323\344\223\002p\022n/api/v1/node_executions/{id.e" + - "xecution_id.project}/{id.execution_id.do" + - "main}/{id.execution_id.name}/{id.node_id" + - "}\222A&\032$Retrieve an existing node executio" + - "n.\022\232\002\n\022ListNodeExecutions\022(.flyteidl.adm" + - "in.NodeExecutionListRequest\032!.flyteidl.a" + - "dmin.NodeExecutionList\"\266\001\202\323\344\223\002u\022s/api/v1" + - "/node_executions/{workflow_execution_id." + - "project}/{workflow_execution_id.domain}/" + - "{workflow_execution_id.name}\222A8\0326Fetch e" + - "xisting node executions matching input f" + - "ilters.\022\357\004\n\031ListNodeExecutionsForTask\022/." + - "flyteidl.admin.NodeExecutionForTaskListR" + - "equest\032!.flyteidl.admin.NodeExecutionLis" + - "t\"\375\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_exec" + - "utions/{task_execution_id.node_execution" + - "_id.execution_id.project}/{task_executio" + - "n_id.node_execution_id.execution_id.doma" + - "in}/{task_execution_id.node_execution_id" + - ".execution_id.name}/{task_execution_id.n" + - "ode_execution_id.node_id}/{task_executio" + - "n_id.task_id.project}/{task_execution_id" + - ".task_id.domain}/{task_execution_id.task" + - "_id.name}/{task_execution_id.task_id.ver" + - "sion}/{task_execution_id.retry_attempt}\222" + - "AG\032EFetch child node executions launched" + - " by the specified task execution.\022\263\002\n\024Ge" + - "tNodeExecutionData\022+.flyteidl.admin.Node" + - "ExecutionGetDataRequest\032,.flyteidl.admin" + - ".NodeExecutionGetDataResponse\"\277\001\202\323\344\223\002u\022s" + - "/api/v1/data/node_executions/{id.executi" + - "on_id.project}/{id.execution_id.domain}/" + - "{id.execution_id.name}/{id.node_id}\222AA\032?" + - "Retrieve input and output data from an e" + - "xisting node execution.\022\227\001\n\017RegisterProj" + - "ect\022&.flyteidl.admin.ProjectRegisterRequ" + - "est\032\'.flyteidl.admin.ProjectRegisterResp" + - "onse\"3\202\323\344\223\002\025\"\020/api/v1/projects:\001*\222A\025\032\023Re" + - "gister a project.\022\205\001\n\014ListProjects\022\".fly" + - "teidl.admin.ProjectListRequest\032\030.flyteid" + - "l.admin.Projects\"7\202\323\344\223\002\022\022\020/api/v1/projec" + - "ts\222A\034\032\032Fetch registered projects.\022\335\001\n\023Cr" + - "eateWorkflowEvent\022-.flyteidl.admin.Workf" + - "lowExecutionEventRequest\032..flyteidl.admi" + - "n.WorkflowExecutionEventResponse\"g\202\323\344\223\002\035" + - "\"\030/api/v1/events/workflows:\001*\222AA\032?Create" + - " a workflow execution event recording a " + - "phase transition.\022\311\001\n\017CreateNodeEvent\022)." + - "flyteidl.admin.NodeExecutionEventRequest" + - "\032*.flyteidl.admin.NodeExecutionEventResp" + - "onse\"_\202\323\344\223\002\031\"\024/api/v1/events/nodes:\001*\222A=" + - "\032;Create a node execution event recordin" + - "g a phase transition.\022\311\001\n\017CreateTaskEven" + - "t\022).flyteidl.admin.TaskExecutionEventReq" + - "uest\032*.flyteidl.admin.TaskExecutionEvent" + - "Response\"_\202\323\344\223\002\031\"\024/api/v1/events/tasks:\001" + - "*\222A=\032;Create a task execution event reco" + - "rding a phase transition.\022\251\003\n\020GetTaskExe" + - "cution\022\'.flyteidl.admin.TaskExecutionGet" + - "Request\032\035.flyteidl.admin.TaskExecution\"\314" + - "\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{id.n" + - "ode_execution_id.execution_id.project}/{" + - "id.node_execution_id.execution_id.domain" + - "}/{id.node_execution_id.execution_id.nam" + - "e}/{id.node_execution_id.node_id}/{id.ta" + - "sk_id.project}/{id.task_id.domain}/{id.t" + - "ask_id.name}/{id.task_id.version}/{id.re" + - "try_attempt}\222A&\032$Retrieve an existing ta" + - "sk execution.\022\323\002\n\022ListTaskExecutions\022(.f" + - "lyteidl.admin.TaskExecutionListRequest\032!" + - ".flyteidl.admin.TaskExecutionList\"\357\001\202\323\344\223" + - "\002\255\001\022\252\001/api/v1/task_executions/{node_exec" + - "ution_id.execution_id.project}/{node_exe" + - "cution_id.execution_id.domain}/{node_exe" + - "cution_id.execution_id.name}/{node_execu" + - "tion_id.node_id}\222A8\0326Fetch existing task" + - " executions matching input filters.\022\340\003\n\024" + - "GetTaskExecutionData\022+.flyteidl.admin.Ta" + - "skExecutionGetDataRequest\032,.flyteidl.adm" + - "in.TaskExecutionGetDataResponse\"\354\002\202\323\344\223\002\241" + - "\002\022\236\002/api/v1/data/task_executions/{id.nod" + - "e_execution_id.execution_id.project}/{id" + - ".node_execution_id.execution_id.domain}/" + - "{id.node_execution_id.execution_id.name}" + - "/{id.node_execution_id.node_id}/{id.task" + - "_id.project}/{id.task_id.domain}/{id.tas" + - "k_id.name}/{id.task_id.version}/{id.retr" + - "y_attempt}\222AA\032?Retrieve input and output" + - " data from an existing task execution.\022\277" + - "\002\n\035UpdateProjectDomainAttributes\0224.flyte" + - "idl.admin.ProjectDomainAttributesUpdateR" + - "equest\0325.flyteidl.admin.ProjectDomainAtt" + - "ributesUpdateResponse\"\260\001\202\323\344\223\002O\032J/api/v1/" + - "project_domain_attributes/{attributes.pr" + - "oject}/{attributes.domain}:\001*\222AX\032VUpdate" + - " the customized resource attributes asso" + - "ciated with a project-domain combination" + - "\022\237\002\n\032GetProjectDomainAttributes\0221.flytei" + - "dl.admin.ProjectDomainAttributesGetReque" + - "st\0322.flyteidl.admin.ProjectDomainAttribu" + - "tesGetResponse\"\231\001\202\323\344\223\0026\0224/api/v1/project" + - "_domain_attributes/{project}/{domain}\222AZ" + - "\032XRetrieve the customized resource attri" + - "butes associated with a project-domain c" + - "ombination\022\251\002\n\035DeleteProjectDomainAttrib" + - "utes\0224.flyteidl.admin.ProjectDomainAttri" + - "butesDeleteRequest\0325.flyteidl.admin.Proj" + - "ectDomainAttributesDeleteResponse\"\232\001\202\323\344\223" + - "\0029*4/api/v1/project_domain_attributes/{p" + - "roject}/{domain}:\001*\222AX\032VDelete the custo" + - "mized resource attributes associated wit" + - "h a project-domain combination\022\316\002\n\030Updat" + - "eWorkflowAttributes\022/.flyteidl.admin.Wor" + - "kflowAttributesUpdateRequest\0320.flyteidl." + - "admin.WorkflowAttributesUpdateResponse\"\316" + - "\001\202\323\344\223\002_\032Z/api/v1/workflow_attributes/{at" + - "tributes.project}/{attributes.domain}/{a" + - "ttributes.workflow}:\001*\222Af\032dUpdate the cu" + - "stomized resource attributes associated " + - "with a project, domain and workflow comb" + - "ination\022\243\002\n\025GetWorkflowAttributes\022,.flyt" + - "eidl.admin.WorkflowAttributesGetRequest\032" + - "-.flyteidl.admin.WorkflowAttributesGetRe" + - "sponse\"\254\001\202\323\344\223\002;\0229/api/v1/workflow_attrib" + - "utes/{project}/{domain}/{workflow}\222Ah\032fR" + - "etrieve the customized resource attribut" + - "es associated with a project, domain and" + - " workflow combination\022\255\002\n\030DeleteWorkflow" + - "Attributes\022/.flyteidl.admin.WorkflowAttr" + - "ibutesDeleteRequest\0320.flyteidl.admin.Wor" + - "kflowAttributesDeleteResponse\"\255\001\202\323\344\223\002>*9" + - "/api/v1/workflow_attributes/{project}/{d" + - "omain}/{workflow}:\001*\222Af\032dDelete the cust" + + "flyteidl/admin/execution.proto\032\'flyteidl" + + "/admin/matchable_resource.proto\032#flyteid" + + "l/admin/node_execution.proto\032#flyteidl/a" + + "dmin/task_execution.proto\032\033flyteidl/admi" + + "n/common.proto\032,protoc-gen-swagger/optio" + + "ns/annotations.proto2\331^\n\014AdminService\022\305\002" + + "\n\nCreateTask\022!.flyteidl.admin.TaskCreate" + + "Request\032\".flyteidl.admin.TaskCreateRespo" + + "nse\"\357\001\202\323\344\223\002\022\"\r/api/v1/tasks:\001*\222A\323\001\032&Crea" + + "te and register a task definition.JB\n\00340" + + "0\022;\n9Returned for bad request that may h" + + "ave failed validation.Je\n\003409\022^\n\\Returne" + + "d for a request that references an ident" + + "ical entity that has already been regist" + + "ered.\022\262\001\n\007GetTask\022 .flyteidl.admin.Objec" + + "tGetRequest\032\024.flyteidl.admin.Task\"o\202\323\344\223\002" + + "?\022=/api/v1/tasks/{id.project}/{id.domain" + + "}/{id.name}/{id.version}\222A\'\032%Retrieve an" + + " existing task definition.\022\336\001\n\013ListTaskI" + + "ds\0220.flyteidl.admin.NamedEntityIdentifie" + + "rListRequest\032).flyteidl.admin.NamedEntit" + + "yIdentifierList\"r\202\323\344\223\002%\022#/api/v1/task_id" + + "s/{project}/{domain}\222AD\032BFetch existing " + + "task definition identifiers matching inp" + + "ut filters.\022\353\001\n\tListTasks\022#.flyteidl.adm" + + "in.ResourceListRequest\032\030.flyteidl.admin." + + "TaskList\"\236\001\202\323\344\223\002\\\0220/api/v1/tasks/{id.pro" + + "ject}/{id.domain}/{id.name}Z(\022&/api/v1/t" + + "asks/{id.project}/{id.domain}\222A9\0327Fetch " + + "existing task definitions matching input" + + " filters.\022\331\002\n\016CreateWorkflow\022%.flyteidl." + + "admin.WorkflowCreateRequest\032&.flyteidl.a" + + "dmin.WorkflowCreateResponse\"\367\001\202\323\344\223\002\026\"\021/a" + + "pi/v1/workflows:\001*\222A\327\001\032*Create and regis" + + "ter a workflow definition.JB\n\003400\022;\n9Ret" + + "urned for bad request that may have fail" + + "ed validation.Je\n\003409\022^\n\\Returned for a " + + "request that references an identical ent" + + "ity that has already been registered.\022\302\001" + + "\n\013GetWorkflow\022 .flyteidl.admin.ObjectGet" + + "Request\032\030.flyteidl.admin.Workflow\"w\202\323\344\223\002" + + "C\022A/api/v1/workflows/{id.project}/{id.do" + + "main}/{id.name}/{id.version}\222A+\032)Retriev" + + "e an existing workflow definition.\022\355\001\n\017L" + + "istWorkflowIds\0220.flyteidl.admin.NamedEnt" + + "ityIdentifierListRequest\032).flyteidl.admi" + + "n.NamedEntityIdentifierList\"}\202\323\344\223\002)\022\'/ap" + + "i/v1/workflow_ids/{project}/{domain}\222AK\032" + + "IFetch an existing workflow definition i" + + "dentifiers matching input filters.\022\377\001\n\rL" + + "istWorkflows\022#.flyteidl.admin.ResourceLi" + + "stRequest\032\034.flyteidl.admin.WorkflowList\"" + + "\252\001\202\323\344\223\002d\0224/api/v1/workflows/{id.project}" + + "/{id.domain}/{id.name}Z,\022*/api/v1/workfl" + + "ows/{id.project}/{id.domain}\222A=\032;Fetch e" + + "xisting workflow definitions matching in" + + "put filters.\022\345\002\n\020CreateLaunchPlan\022\'.flyt" + + "eidl.admin.LaunchPlanCreateRequest\032(.fly" + + "teidl.admin.LaunchPlanCreateResponse\"\375\001\202" + + "\323\344\223\002\031\"\024/api/v1/launch_plans:\001*\222A\332\001\032-Crea" + + "te and register a launch plan definition" + + ".JB\n\003400\022;\n9Returned for bad request tha" + + "t may have failed validation.Je\n\003409\022^\n\\" + + "Returned for a request that references a" + + "n identical entity that has already been" + + " registered.\022\314\001\n\rGetLaunchPlan\022 .flyteid" + + "l.admin.ObjectGetRequest\032\032.flyteidl.admi" + + "n.LaunchPlan\"}\202\323\344\223\002F\022D/api/v1/launch_pla" + + "ns/{id.project}/{id.domain}/{id.name}/{i" + + "d.version}\222A.\032,Retrieve an existing laun" + + "ch plan definition.\022\363\001\n\023GetActiveLaunchP" + + "lan\022\'.flyteidl.admin.ActiveLaunchPlanReq" + + "uest\032\032.flyteidl.admin.LaunchPlan\"\226\001\202\323\344\223\002" + + "@\022>/api/v1/active_launch_plans/{id.proje" + + "ct}/{id.domain}/{id.name}\222AM\032KRetrieve t" + + "he active launch plan version specified " + + "by input request filters.\022\353\001\n\025ListActive" + + "LaunchPlans\022+.flyteidl.admin.ActiveLaunc" + + "hPlanListRequest\032\036.flyteidl.admin.Launch" + + "PlanList\"\204\001\202\323\344\223\0020\022./api/v1/active_launch" + + "_plans/{project}/{domain}\222AK\032IFetch the " + + "active launch plan versions specified by" + + " input request filters.\022\363\001\n\021ListLaunchPl" + + "anIds\0220.flyteidl.admin.NamedEntityIdenti" + + "fierListRequest\032).flyteidl.admin.NamedEn" + + "tityIdentifierList\"\200\001\202\323\344\223\002,\022*/api/v1/lau" + + "nch_plan_ids/{project}/{domain}\222AK\032IFetc" + + "h existing launch plan definition identi" + + "fiers matching input filters.\022\214\002\n\017ListLa" + + "unchPlans\022#.flyteidl.admin.ResourceListR" + + "equest\032\036.flyteidl.admin.LaunchPlanList\"\263" + + "\001\202\323\344\223\002j\0227/api/v1/launch_plans/{id.projec" + + "t}/{id.domain}/{id.name}Z/\022-/api/v1/laun" + + "ch_plans/{id.project}/{id.domain}\222A@\032>Fe" + + "tch existing launch plan definitions mat" + + "ching input filters.\022\300\006\n\020UpdateLaunchPla" + + "n\022\'.flyteidl.admin.LaunchPlanUpdateReque" + + "st\032(.flyteidl.admin.LaunchPlanUpdateResp" + + "onse\"\330\005\202\323\344\223\002I\032D/api/v1/launch_plans/{id." + + "project}/{id.domain}/{id.name}/{id.versi" + + "on}:\001*\222A\205\005\032\202\005Update the status of an exi" + + "sting launch plan definition. At most on" + + "e launch plan version for a given {proje" + + "ct, domain, name} can be active at a tim" + + "e. If this call sets a launch plan to ac" + + "tive and existing version is already act" + + "ive, the result of this call will be tha" + + "t the formerly active launch plan will b" + + "e made inactive and specified launch pla" + + "n in this request will be made active. I" + + "n the event that the formerly active lau" + + "nch plan had a schedule associated it wi" + + "th it, this schedule will be disabled. I" + + "f the reference launch plan in this requ" + + "est is being set to active and has a sch" + + "edule associated with it, the schedule w" + + "ill be enabled.\022\242\001\n\017CreateExecution\022&.fl" + + "yteidl.admin.ExecutionCreateRequest\032\'.fl" + + "yteidl.admin.ExecutionCreateResponse\">\202\323" + + "\344\223\002\027\"\022/api/v1/executions:\001*\222A\036\032\034Create a" + + " workflow execution.\022\261\001\n\021RelaunchExecuti" + + "on\022(.flyteidl.admin.ExecutionRelaunchReq" + + "uest\032\'.flyteidl.admin.ExecutionCreateRes" + + "ponse\"I\202\323\344\223\002 \"\033/api/v1/executions/relaun" + + "ch:\001*\222A \032\036Relaunch a workflow execution." + + "\022\302\001\n\014GetExecution\022+.flyteidl.admin.Workf" + + "lowExecutionGetRequest\032\031.flyteidl.admin." + + "Execution\"j\202\323\344\223\0027\0225/api/v1/executions/{i" + + "d.project}/{id.domain}/{id.name}\222A*\032(Ret" + + "rieve an existing workflow execution.\022\202\002" + + "\n\020GetExecutionData\022/.flyteidl.admin.Work" + + "flowExecutionGetDataRequest\0320.flyteidl.a" + + "dmin.WorkflowExecutionGetDataResponse\"\212\001" + + "\202\323\344\223\002<\022:/api/v1/data/executions/{id.proj" + + "ect}/{id.domain}/{id.name}\222AE\032CRetrieve " + + "input and output data from an existing w" + + "orkflow execution.\022\310\001\n\016ListExecutions\022#." + + "flyteidl.admin.ResourceListRequest\032\035.fly" + + "teidl.admin.ExecutionList\"r\202\323\344\223\002-\022+/api/" + + "v1/executions/{id.project}/{id.domain}\222A" + + "<\032:Fetch existing workflow executions ma" + + "tching input filters.\022\364\001\n\022TerminateExecu" + + "tion\022).flyteidl.admin.ExecutionTerminate" + + "Request\032*.flyteidl.admin.ExecutionTermin" + + "ateResponse\"\206\001\202\323\344\223\002:*5/api/v1/executions" + + "/{id.project}/{id.domain}/{id.name}:\001*\222A" + + "C\032ATerminate the active workflow executi" + + "on specified in the request.\022\374\001\n\020GetNode" + + "Execution\022\'.flyteidl.admin.NodeExecution" + + "GetRequest\032\035.flyteidl.admin.NodeExecutio" + + "n\"\237\001\202\323\344\223\002p\022n/api/v1/node_executions/{id." + + "execution_id.project}/{id.execution_id.d" + + "omain}/{id.execution_id.name}/{id.node_i" + + "d}\222A&\032$Retrieve an existing node executi" + + "on.\022\232\002\n\022ListNodeExecutions\022(.flyteidl.ad" + + "min.NodeExecutionListRequest\032!.flyteidl." + + "admin.NodeExecutionList\"\266\001\202\323\344\223\002u\022s/api/v" + + "1/node_executions/{workflow_execution_id" + + ".project}/{workflow_execution_id.domain}" + + "/{workflow_execution_id.name}\222A8\0326Fetch " + + "existing node executions matching input " + + "filters.\022\357\004\n\031ListNodeExecutionsForTask\022/" + + ".flyteidl.admin.NodeExecutionForTaskList" + + "Request\032!.flyteidl.admin.NodeExecutionLi" + + "st\"\375\003\202\323\344\223\002\254\003\022\251\003/api/v1/children/task_exe" + + "cutions/{task_execution_id.node_executio" + + "n_id.execution_id.project}/{task_executi" + + "on_id.node_execution_id.execution_id.dom" + + "ain}/{task_execution_id.node_execution_i" + + "d.execution_id.name}/{task_execution_id." + + "node_execution_id.node_id}/{task_executi" + + "on_id.task_id.project}/{task_execution_i" + + "d.task_id.domain}/{task_execution_id.tas" + + "k_id.name}/{task_execution_id.task_id.ve" + + "rsion}/{task_execution_id.retry_attempt}" + + "\222AG\032EFetch child node executions launche" + + "d by the specified task execution.\022\263\002\n\024G" + + "etNodeExecutionData\022+.flyteidl.admin.Nod" + + "eExecutionGetDataRequest\032,.flyteidl.admi" + + "n.NodeExecutionGetDataResponse\"\277\001\202\323\344\223\002u\022" + + "s/api/v1/data/node_executions/{id.execut" + + "ion_id.project}/{id.execution_id.domain}" + + "/{id.execution_id.name}/{id.node_id}\222AA\032" + + "?Retrieve input and output data from an " + + "existing node execution.\022\227\001\n\017RegisterPro" + + "ject\022&.flyteidl.admin.ProjectRegisterReq" + + "uest\032\'.flyteidl.admin.ProjectRegisterRes" + + "ponse\"3\202\323\344\223\002\025\"\020/api/v1/projects:\001*\222A\025\032\023R" + + "egister a project.\022\205\001\n\014ListProjects\022\".fl" + + "yteidl.admin.ProjectListRequest\032\030.flytei" + + "dl.admin.Projects\"7\202\323\344\223\002\022\022\020/api/v1/proje" + + "cts\222A\034\032\032Fetch registered projects.\022\335\001\n\023C" + + "reateWorkflowEvent\022-.flyteidl.admin.Work" + + "flowExecutionEventRequest\032..flyteidl.adm" + + "in.WorkflowExecutionEventResponse\"g\202\323\344\223\002" + + "\035\"\030/api/v1/events/workflows:\001*\222AA\032?Creat" + + "e a workflow execution event recording a" + + " phase transition.\022\311\001\n\017CreateNodeEvent\022)" + + ".flyteidl.admin.NodeExecutionEventReques" + + "t\032*.flyteidl.admin.NodeExecutionEventRes" + + "ponse\"_\202\323\344\223\002\031\"\024/api/v1/events/nodes:\001*\222A" + + "=\032;Create a node execution event recordi" + + "ng a phase transition.\022\311\001\n\017CreateTaskEve" + + "nt\022).flyteidl.admin.TaskExecutionEventRe" + + "quest\032*.flyteidl.admin.TaskExecutionEven" + + "tResponse\"_\202\323\344\223\002\031\"\024/api/v1/events/tasks:" + + "\001*\222A=\032;Create a task execution event rec" + + "ording a phase transition.\022\251\003\n\020GetTaskEx" + + "ecution\022\'.flyteidl.admin.TaskExecutionGe" + + "tRequest\032\035.flyteidl.admin.TaskExecution\"" + + "\314\002\202\323\344\223\002\234\002\022\231\002/api/v1/task_executions/{id." + + "node_execution_id.execution_id.project}/" + + "{id.node_execution_id.execution_id.domai" + + "n}/{id.node_execution_id.execution_id.na" + + "me}/{id.node_execution_id.node_id}/{id.t" + + "ask_id.project}/{id.task_id.domain}/{id." + + "task_id.name}/{id.task_id.version}/{id.r" + + "etry_attempt}\222A&\032$Retrieve an existing t" + + "ask execution.\022\323\002\n\022ListTaskExecutions\022(." + + "flyteidl.admin.TaskExecutionListRequest\032" + + "!.flyteidl.admin.TaskExecutionList\"\357\001\202\323\344" + + "\223\002\255\001\022\252\001/api/v1/task_executions/{node_exe" + + "cution_id.execution_id.project}/{node_ex" + + "ecution_id.execution_id.domain}/{node_ex" + + "ecution_id.execution_id.name}/{node_exec" + + "ution_id.node_id}\222A8\0326Fetch existing tas" + + "k executions matching input filters.\022\340\003\n" + + "\024GetTaskExecutionData\022+.flyteidl.admin.T" + + "askExecutionGetDataRequest\032,.flyteidl.ad" + + "min.TaskExecutionGetDataResponse\"\354\002\202\323\344\223\002" + + "\241\002\022\236\002/api/v1/data/task_executions/{id.no" + + "de_execution_id.execution_id.project}/{i" + + "d.node_execution_id.execution_id.domain}" + + "/{id.node_execution_id.execution_id.name" + + "}/{id.node_execution_id.node_id}/{id.tas" + + "k_id.project}/{id.task_id.domain}/{id.ta" + + "sk_id.name}/{id.task_id.version}/{id.ret" + + "ry_attempt}\222AA\032?Retrieve input and outpu" + + "t data from an existing task execution.\022" + + "\277\002\n\035UpdateProjectDomainAttributes\0224.flyt" + + "eidl.admin.ProjectDomainAttributesUpdate" + + "Request\0325.flyteidl.admin.ProjectDomainAt" + + "tributesUpdateResponse\"\260\001\202\323\344\223\002O\032J/api/v1" + + "/project_domain_attributes/{attributes.p" + + "roject}/{attributes.domain}:\001*\222AX\032VUpdat" + + "e the customized resource attributes ass" + + "ociated with a project-domain combinatio" + + "n\022\237\002\n\032GetProjectDomainAttributes\0221.flyte" + + "idl.admin.ProjectDomainAttributesGetRequ" + + "est\0322.flyteidl.admin.ProjectDomainAttrib" + + "utesGetResponse\"\231\001\202\323\344\223\0026\0224/api/v1/projec" + + "t_domain_attributes/{project}/{domain}\222A" + + "Z\032XRetrieve the customized resource attr" + + "ibutes associated with a project-domain " + + "combination\022\251\002\n\035DeleteProjectDomainAttri" + + "butes\0224.flyteidl.admin.ProjectDomainAttr" + + "ibutesDeleteRequest\0325.flyteidl.admin.Pro" + + "jectDomainAttributesDeleteResponse\"\232\001\202\323\344" + + "\223\0029*4/api/v1/project_domain_attributes/{" + + "project}/{domain}:\001*\222AX\032VDelete the cust" + "omized resource attributes associated wi" + - "th a project, domain and workflow combin" + - "ation\022\200\002\n\021ListNamedEntities\022&.flyteidl.a" + - "dmin.NamedEntityListRequest\032\037.flyteidl.a" + - "dmin.NamedEntityList\"\241\001\202\323\344\223\002;\0229/api/v1/n" + - "amed_entities/{resource_type}/{project}/" + - "{domain}\222A]\032[Retrieve a list of NamedEnt" + - "ity objects sharing a common resource ty" + - "pe, project, and domain.\022\312\001\n\016GetNamedEnt" + - "ity\022%.flyteidl.admin.NamedEntityGetReque" + - "st\032\033.flyteidl.admin.NamedEntity\"t\202\323\344\223\002K\022" + - "I/api/v1/named_entities/{resource_type}/" + - "{id.project}/{id.domain}/{id.name}\222A \032\036R" + - "etrieve a NamedEntity object.\022\363\001\n\021Update" + - "NamedEntity\022(.flyteidl.admin.NamedEntity" + - "UpdateRequest\032).flyteidl.admin.NamedEnti" + - "tyUpdateResponse\"\210\001\202\323\344\223\002N\032I/api/v1/named" + - "_entities/{resource_type}/{id.project}/{" + - "id.domain}/{id.name}:\001*\222A1\032/Update the f" + - "ields associated with a NamedEntityB5Z3g" + - "ithub.com/lyft/flyteidl/gen/pb-go/flytei" + - "dl/serviceb\006proto3" + "th a project-domain combination\022\316\002\n\030Upda" + + "teWorkflowAttributes\022/.flyteidl.admin.Wo" + + "rkflowAttributesUpdateRequest\0320.flyteidl" + + ".admin.WorkflowAttributesUpdateResponse\"" + + "\316\001\202\323\344\223\002_\032Z/api/v1/workflow_attributes/{a" + + "ttributes.project}/{attributes.domain}/{" + + "attributes.workflow}:\001*\222Af\032dUpdate the c" + + "ustomized resource attributes associated" + + " with a project, domain and workflow com" + + "bination\022\243\002\n\025GetWorkflowAttributes\022,.fly" + + "teidl.admin.WorkflowAttributesGetRequest" + + "\032-.flyteidl.admin.WorkflowAttributesGetR" + + "esponse\"\254\001\202\323\344\223\002;\0229/api/v1/workflow_attri" + + "butes/{project}/{domain}/{workflow}\222Ah\032f" + + "Retrieve the customized resource attribu" + + "tes associated with a project, domain an" + + "d workflow combination\022\255\002\n\030DeleteWorkflo" + + "wAttributes\022/.flyteidl.admin.WorkflowAtt" + + "ributesDeleteRequest\0320.flyteidl.admin.Wo" + + "rkflowAttributesDeleteResponse\"\255\001\202\323\344\223\002>*" + + "9/api/v1/workflow_attributes/{project}/{" + + "domain}/{workflow}:\001*\222Af\032dDelete the cus" + + "tomized resource attributes associated w" + + "ith a project, domain and workflow combi" + + "nation\022\341\001\n\027ListMatchableAttributes\022..fly" + + "teidl.admin.ListMatchableAttributesReque" + + "st\032/.flyteidl.admin.ListMatchableAttribu" + + "tesResponse\"e\202\323\344\223\002\036\022\034/api/v1/matchable_a" + + "ttributes\222A>\032; + /** + * Calls ListMatchableAttributes. + * @param request ListMatchableAttributesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListMatchableAttributesResponse + */ + public listMatchableAttributes(request: flyteidl.admin.IListMatchableAttributesRequest, callback: flyteidl.service.AdminService.ListMatchableAttributesCallback): void; + + /** + * Calls ListMatchableAttributes. + * @param request ListMatchableAttributesRequest message or plain object + * @returns Promise + */ + public listMatchableAttributes(request: flyteidl.admin.IListMatchableAttributesRequest): Promise; + /** * Calls ListNamedEntities. * @param request NamedEntityListRequest message or plain object @@ -12384,6 +12578,13 @@ export namespace flyteidl { */ type DeleteWorkflowAttributesCallback = (error: (Error|null), response?: flyteidl.admin.WorkflowAttributesDeleteResponse) => void; + /** + * Callback as used by {@link flyteidl.service.AdminService#listMatchableAttributes}. + * @param error Error, if any + * @param [response] ListMatchableAttributesResponse + */ + type ListMatchableAttributesCallback = (error: (Error|null), response?: flyteidl.admin.ListMatchableAttributesResponse) => void; + /** * Callback as used by {@link flyteidl.service.AdminService#listNamedEntities}. * @param error Error, if any diff --git a/flyteidl/gen/pb-js/flyteidl.js b/flyteidl/gen/pb-js/flyteidl.js index 03f0d126053..044d1c914a3 100644 --- a/flyteidl/gen/pb-js/flyteidl.js +++ b/flyteidl/gen/pb-js/flyteidl.js @@ -20512,6 +20512,423 @@ export const flyteidl = $root.flyteidl = (() => { return MatchingAttributes; })(); + admin.MatchableAttributesConfiguration = (function() { + + /** + * Properties of a MatchableAttributesConfiguration. + * @memberof flyteidl.admin + * @interface IMatchableAttributesConfiguration + * @property {flyteidl.admin.IMatchingAttributes|null} [attributes] MatchableAttributesConfiguration attributes + * @property {string|null} [domain] MatchableAttributesConfiguration domain + * @property {string|null} [project] MatchableAttributesConfiguration project + * @property {string|null} [workflow] MatchableAttributesConfiguration workflow + * @property {string|null} [launchPlan] MatchableAttributesConfiguration launchPlan + */ + + /** + * Constructs a new MatchableAttributesConfiguration. + * @memberof flyteidl.admin + * @classdesc Represents a MatchableAttributesConfiguration. + * @implements IMatchableAttributesConfiguration + * @constructor + * @param {flyteidl.admin.IMatchableAttributesConfiguration=} [properties] Properties to set + */ + function MatchableAttributesConfiguration(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MatchableAttributesConfiguration attributes. + * @member {flyteidl.admin.IMatchingAttributes|null|undefined} attributes + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.attributes = null; + + /** + * MatchableAttributesConfiguration domain. + * @member {string} domain + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.domain = ""; + + /** + * MatchableAttributesConfiguration project. + * @member {string} project + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.project = ""; + + /** + * MatchableAttributesConfiguration workflow. + * @member {string} workflow + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.workflow = ""; + + /** + * MatchableAttributesConfiguration launchPlan. + * @member {string} launchPlan + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @instance + */ + MatchableAttributesConfiguration.prototype.launchPlan = ""; + + /** + * Creates a new MatchableAttributesConfiguration instance using the specified properties. + * @function create + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @static + * @param {flyteidl.admin.IMatchableAttributesConfiguration=} [properties] Properties to set + * @returns {flyteidl.admin.MatchableAttributesConfiguration} MatchableAttributesConfiguration instance + */ + MatchableAttributesConfiguration.create = function create(properties) { + return new MatchableAttributesConfiguration(properties); + }; + + /** + * Encodes the specified MatchableAttributesConfiguration message. Does not implicitly {@link flyteidl.admin.MatchableAttributesConfiguration.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @static + * @param {flyteidl.admin.IMatchableAttributesConfiguration} message MatchableAttributesConfiguration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MatchableAttributesConfiguration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.attributes != null && message.hasOwnProperty("attributes")) + $root.flyteidl.admin.MatchingAttributes.encode(message.attributes, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.domain != null && message.hasOwnProperty("domain")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.domain); + if (message.project != null && message.hasOwnProperty("project")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.project); + if (message.workflow != null && message.hasOwnProperty("workflow")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.workflow); + if (message.launchPlan != null && message.hasOwnProperty("launchPlan")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.launchPlan); + return writer; + }; + + /** + * Decodes a MatchableAttributesConfiguration message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.MatchableAttributesConfiguration} MatchableAttributesConfiguration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MatchableAttributesConfiguration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.MatchableAttributesConfiguration(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.attributes = $root.flyteidl.admin.MatchingAttributes.decode(reader, reader.uint32()); + break; + case 2: + message.domain = reader.string(); + break; + case 3: + message.project = reader.string(); + break; + case 4: + message.workflow = reader.string(); + break; + case 5: + message.launchPlan = reader.string(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a MatchableAttributesConfiguration message. + * @function verify + * @memberof flyteidl.admin.MatchableAttributesConfiguration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MatchableAttributesConfiguration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.attributes != null && message.hasOwnProperty("attributes")) { + let error = $root.flyteidl.admin.MatchingAttributes.verify(message.attributes); + if (error) + return "attributes." + error; + } + if (message.domain != null && message.hasOwnProperty("domain")) + if (!$util.isString(message.domain)) + return "domain: string expected"; + if (message.project != null && message.hasOwnProperty("project")) + if (!$util.isString(message.project)) + return "project: string expected"; + if (message.workflow != null && message.hasOwnProperty("workflow")) + if (!$util.isString(message.workflow)) + return "workflow: string expected"; + if (message.launchPlan != null && message.hasOwnProperty("launchPlan")) + if (!$util.isString(message.launchPlan)) + return "launchPlan: string expected"; + return null; + }; + + return MatchableAttributesConfiguration; + })(); + + admin.ListMatchableAttributesRequest = (function() { + + /** + * Properties of a ListMatchableAttributesRequest. + * @memberof flyteidl.admin + * @interface IListMatchableAttributesRequest + * @property {flyteidl.admin.MatchableResource|null} [resourceType] ListMatchableAttributesRequest resourceType + */ + + /** + * Constructs a new ListMatchableAttributesRequest. + * @memberof flyteidl.admin + * @classdesc Represents a ListMatchableAttributesRequest. + * @implements IListMatchableAttributesRequest + * @constructor + * @param {flyteidl.admin.IListMatchableAttributesRequest=} [properties] Properties to set + */ + function ListMatchableAttributesRequest(properties) { + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListMatchableAttributesRequest resourceType. + * @member {flyteidl.admin.MatchableResource} resourceType + * @memberof flyteidl.admin.ListMatchableAttributesRequest + * @instance + */ + ListMatchableAttributesRequest.prototype.resourceType = 0; + + /** + * Creates a new ListMatchableAttributesRequest instance using the specified properties. + * @function create + * @memberof flyteidl.admin.ListMatchableAttributesRequest + * @static + * @param {flyteidl.admin.IListMatchableAttributesRequest=} [properties] Properties to set + * @returns {flyteidl.admin.ListMatchableAttributesRequest} ListMatchableAttributesRequest instance + */ + ListMatchableAttributesRequest.create = function create(properties) { + return new ListMatchableAttributesRequest(properties); + }; + + /** + * Encodes the specified ListMatchableAttributesRequest message. Does not implicitly {@link flyteidl.admin.ListMatchableAttributesRequest.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.ListMatchableAttributesRequest + * @static + * @param {flyteidl.admin.IListMatchableAttributesRequest} message ListMatchableAttributesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListMatchableAttributesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.resourceType != null && message.hasOwnProperty("resourceType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.resourceType); + return writer; + }; + + /** + * Decodes a ListMatchableAttributesRequest message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.ListMatchableAttributesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.ListMatchableAttributesRequest} ListMatchableAttributesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListMatchableAttributesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.ListMatchableAttributesRequest(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + message.resourceType = reader.int32(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a ListMatchableAttributesRequest message. + * @function verify + * @memberof flyteidl.admin.ListMatchableAttributesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListMatchableAttributesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.resourceType != null && message.hasOwnProperty("resourceType")) + switch (message.resourceType) { + default: + return "resourceType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + return null; + }; + + return ListMatchableAttributesRequest; + })(); + + admin.ListMatchableAttributesResponse = (function() { + + /** + * Properties of a ListMatchableAttributesResponse. + * @memberof flyteidl.admin + * @interface IListMatchableAttributesResponse + * @property {Array.|null} [configurations] ListMatchableAttributesResponse configurations + */ + + /** + * Constructs a new ListMatchableAttributesResponse. + * @memberof flyteidl.admin + * @classdesc Represents a ListMatchableAttributesResponse. + * @implements IListMatchableAttributesResponse + * @constructor + * @param {flyteidl.admin.IListMatchableAttributesResponse=} [properties] Properties to set + */ + function ListMatchableAttributesResponse(properties) { + this.configurations = []; + if (properties) + for (let keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListMatchableAttributesResponse configurations. + * @member {Array.} configurations + * @memberof flyteidl.admin.ListMatchableAttributesResponse + * @instance + */ + ListMatchableAttributesResponse.prototype.configurations = $util.emptyArray; + + /** + * Creates a new ListMatchableAttributesResponse instance using the specified properties. + * @function create + * @memberof flyteidl.admin.ListMatchableAttributesResponse + * @static + * @param {flyteidl.admin.IListMatchableAttributesResponse=} [properties] Properties to set + * @returns {flyteidl.admin.ListMatchableAttributesResponse} ListMatchableAttributesResponse instance + */ + ListMatchableAttributesResponse.create = function create(properties) { + return new ListMatchableAttributesResponse(properties); + }; + + /** + * Encodes the specified ListMatchableAttributesResponse message. Does not implicitly {@link flyteidl.admin.ListMatchableAttributesResponse.verify|verify} messages. + * @function encode + * @memberof flyteidl.admin.ListMatchableAttributesResponse + * @static + * @param {flyteidl.admin.IListMatchableAttributesResponse} message ListMatchableAttributesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListMatchableAttributesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.configurations != null && message.configurations.length) + for (let i = 0; i < message.configurations.length; ++i) + $root.flyteidl.admin.MatchableAttributesConfiguration.encode(message.configurations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Decodes a ListMatchableAttributesResponse message from the specified reader or buffer. + * @function decode + * @memberof flyteidl.admin.ListMatchableAttributesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {flyteidl.admin.ListMatchableAttributesResponse} ListMatchableAttributesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListMatchableAttributesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + let end = length === undefined ? reader.len : reader.pos + length, message = new $root.flyteidl.admin.ListMatchableAttributesResponse(); + while (reader.pos < end) { + let tag = reader.uint32(); + switch (tag >>> 3) { + case 1: + if (!(message.configurations && message.configurations.length)) + message.configurations = []; + message.configurations.push($root.flyteidl.admin.MatchableAttributesConfiguration.decode(reader, reader.uint32())); + break; + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Verifies a ListMatchableAttributesResponse message. + * @function verify + * @memberof flyteidl.admin.ListMatchableAttributesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListMatchableAttributesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.configurations != null && message.hasOwnProperty("configurations")) { + if (!Array.isArray(message.configurations)) + return "configurations: array expected"; + for (let i = 0; i < message.configurations.length; ++i) { + let error = $root.flyteidl.admin.MatchableAttributesConfiguration.verify(message.configurations[i]); + if (error) + return "configurations." + error; + } + } + return null; + }; + + return ListMatchableAttributesResponse; + })(); + admin.NodeExecutionGetRequest = (function() { /** @@ -28535,6 +28952,39 @@ export const flyteidl = $root.flyteidl = (() => { * @variation 2 */ + /** + * Callback as used by {@link flyteidl.service.AdminService#listMatchableAttributes}. + * @memberof flyteidl.service.AdminService + * @typedef ListMatchableAttributesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {flyteidl.admin.ListMatchableAttributesResponse} [response] ListMatchableAttributesResponse + */ + + /** + * Calls ListMatchableAttributes. + * @function listMatchableAttributes + * @memberof flyteidl.service.AdminService + * @instance + * @param {flyteidl.admin.IListMatchableAttributesRequest} request ListMatchableAttributesRequest message or plain object + * @param {flyteidl.service.AdminService.ListMatchableAttributesCallback} callback Node-style callback called with the error, if any, and ListMatchableAttributesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(AdminService.prototype.listMatchableAttributes = function listMatchableAttributes(request, callback) { + return this.rpcCall(listMatchableAttributes, $root.flyteidl.admin.ListMatchableAttributesRequest, $root.flyteidl.admin.ListMatchableAttributesResponse, request, callback); + }, "name", { value: "ListMatchableAttributes" }); + + /** + * Calls ListMatchableAttributes. + * @function listMatchableAttributes + * @memberof flyteidl.service.AdminService + * @instance + * @param {flyteidl.admin.IListMatchableAttributesRequest} request ListMatchableAttributesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + /** * Callback as used by {@link flyteidl.service.AdminService#listNamedEntities}. * @memberof flyteidl.service.AdminService diff --git a/flyteidl/gen/pb-protodoc/flyteidl/admin/matchable_resource.proto.rst b/flyteidl/gen/pb-protodoc/flyteidl/admin/matchable_resource.proto.rst index 5050e3cb91b..fb77d04993c 100644 --- a/flyteidl/gen/pb-protodoc/flyteidl/admin/matchable_resource.proto.rst +++ b/flyteidl/gen/pb-protodoc/flyteidl/admin/matchable_resource.proto.rst @@ -188,6 +188,97 @@ execution_cluster_label Only one of :ref:`task_resource_attributes `, :ref:`cluster_resource_attributes `, :ref:`execution_queue_attributes `, :ref:`execution_cluster_label ` may be set. + +.. _api_msg_flyteidl.admin.MatchableAttributesConfiguration: + +flyteidl.admin.MatchableAttributesConfiguration +----------------------------------------------- + +`[flyteidl.admin.MatchableAttributesConfiguration proto] `_ + +Represents a custom set of attributes applied for either a domain; a domain and project; or +domain, project and workflow name. + +.. code-block:: json + + { + "attributes": "{...}", + "domain": "...", + "project": "...", + "workflow": "...", + "launch_plan": "..." + } + +.. _api_field_flyteidl.admin.MatchableAttributesConfiguration.attributes: + +attributes + (:ref:`flyteidl.admin.MatchingAttributes `) + +.. _api_field_flyteidl.admin.MatchableAttributesConfiguration.domain: + +domain + (`string `_) + +.. _api_field_flyteidl.admin.MatchableAttributesConfiguration.project: + +project + (`string `_) + +.. _api_field_flyteidl.admin.MatchableAttributesConfiguration.workflow: + +workflow + (`string `_) + +.. _api_field_flyteidl.admin.MatchableAttributesConfiguration.launch_plan: + +launch_plan + (`string `_) + + + +.. _api_msg_flyteidl.admin.ListMatchableAttributesRequest: + +flyteidl.admin.ListMatchableAttributesRequest +--------------------------------------------- + +`[flyteidl.admin.ListMatchableAttributesRequest proto] `_ + +Request all matching resource attributes. + +.. code-block:: json + + { + "resource_type": "..." + } + +.. _api_field_flyteidl.admin.ListMatchableAttributesRequest.resource_type: + +resource_type + (:ref:`flyteidl.admin.MatchableResource `) + + + +.. _api_msg_flyteidl.admin.ListMatchableAttributesResponse: + +flyteidl.admin.ListMatchableAttributesResponse +---------------------------------------------- + +`[flyteidl.admin.ListMatchableAttributesResponse proto] `_ + +Response for a request for all matching resource attributes. + +.. code-block:: json + + { + "configurations": [] + } + +.. _api_field_flyteidl.admin.ListMatchableAttributesResponse.configurations: + +configurations + (:ref:`flyteidl.admin.MatchableAttributesConfiguration `) + + .. _api_enum_flyteidl.admin.MatchableResource: Enum flyteidl.admin.MatchableResource diff --git a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py index 0471f2d6001..027bb0bb617 100644 --- a/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/admin/matchable_resource_pb2.py @@ -21,7 +21,7 @@ package='flyteidl.admin', syntax='proto3', serialized_options=_b('Z1github.com/lyft/flyteidl/gen/pb-go/flyteidl/admin'), - serialized_pb=_b('\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\"M\n\x10TaskResourceSpec\x12\x0b\n\x03\x63pu\x18\x01 \x01(\t\x12\x0b\n\x03gpu\x18\x02 \x01(\t\x12\x0e\n\x06memory\x18\x03 \x01(\t\x12\x0f\n\x07storage\x18\x04 \x01(\t\"~\n\x16TaskResourceAttributes\x12\x32\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpec\x12\x30\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpec\"\x9d\x01\n\x19\x43lusterResourceAttributes\x12M\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"(\n\x18\x45xecutionQueueAttributes\x12\x0c\n\x04tags\x18\x01 \x03(\t\"&\n\x15\x45xecutionClusterLabel\x12\r\n\x05value\x18\x01 \x01(\t\"\xd6\x02\n\x12MatchingAttributes\x12J\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00\x12P\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00\x12N\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00\x12H\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00\x42\x08\n\x06target*n\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x42\x33Z1github.com/lyft/flyteidl/gen/pb-go/flyteidl/adminb\x06proto3') + serialized_pb=_b('\n\'flyteidl/admin/matchable_resource.proto\x12\x0e\x66lyteidl.admin\"M\n\x10TaskResourceSpec\x12\x0b\n\x03\x63pu\x18\x01 \x01(\t\x12\x0b\n\x03gpu\x18\x02 \x01(\t\x12\x0e\n\x06memory\x18\x03 \x01(\t\x12\x0f\n\x07storage\x18\x04 \x01(\t\"~\n\x16TaskResourceAttributes\x12\x32\n\x08\x64\x65\x66\x61ults\x18\x01 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpec\x12\x30\n\x06limits\x18\x02 \x01(\x0b\x32 .flyteidl.admin.TaskResourceSpec\"\x9d\x01\n\x19\x43lusterResourceAttributes\x12M\n\nattributes\x18\x01 \x03(\x0b\x32\x39.flyteidl.admin.ClusterResourceAttributes.AttributesEntry\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"(\n\x18\x45xecutionQueueAttributes\x12\x0c\n\x04tags\x18\x01 \x03(\t\"&\n\x15\x45xecutionClusterLabel\x12\r\n\x05value\x18\x01 \x01(\t\"\xd6\x02\n\x12MatchingAttributes\x12J\n\x18task_resource_attributes\x18\x01 \x01(\x0b\x32&.flyteidl.admin.TaskResourceAttributesH\x00\x12P\n\x1b\x63luster_resource_attributes\x18\x02 \x01(\x0b\x32).flyteidl.admin.ClusterResourceAttributesH\x00\x12N\n\x1a\x65xecution_queue_attributes\x18\x03 \x01(\x0b\x32(.flyteidl.admin.ExecutionQueueAttributesH\x00\x12H\n\x17\x65xecution_cluster_label\x18\x04 \x01(\x0b\x32%.flyteidl.admin.ExecutionClusterLabelH\x00\x42\x08\n\x06target\"\xa2\x01\n MatchableAttributesConfiguration\x12\x36\n\nattributes\x18\x01 \x01(\x0b\x32\".flyteidl.admin.MatchingAttributes\x12\x0e\n\x06\x64omain\x18\x02 \x01(\t\x12\x0f\n\x07project\x18\x03 \x01(\t\x12\x10\n\x08workflow\x18\x04 \x01(\t\x12\x13\n\x0blaunch_plan\x18\x05 \x01(\t\"Z\n\x1eListMatchableAttributesRequest\x12\x38\n\rresource_type\x18\x01 \x01(\x0e\x32!.flyteidl.admin.MatchableResource\"k\n\x1fListMatchableAttributesResponse\x12H\n\x0e\x63onfigurations\x18\x01 \x03(\x0b\x32\x30.flyteidl.admin.MatchableAttributesConfiguration*n\n\x11MatchableResource\x12\x11\n\rTASK_RESOURCE\x10\x00\x12\x14\n\x10\x43LUSTER_RESOURCE\x10\x01\x12\x13\n\x0f\x45XECUTION_QUEUE\x10\x02\x12\x1b\n\x17\x45XECUTION_CLUSTER_LABEL\x10\x03\x42\x33Z1github.com/lyft/flyteidl/gen/pb-go/flyteidl/adminb\x06proto3') ) _MATCHABLERESOURCE = _descriptor.EnumDescriptor( @@ -49,8 +49,8 @@ ], containing_type=None, serialized_options=None, - serialized_start=853, - serialized_end=963, + serialized_start=1219, + serialized_end=1329, ) _sym_db.RegisterEnumDescriptor(_MATCHABLERESOURCE) @@ -336,6 +336,127 @@ serialized_end=851, ) + +_MATCHABLEATTRIBUTESCONFIGURATION = _descriptor.Descriptor( + name='MatchableAttributesConfiguration', + full_name='flyteidl.admin.MatchableAttributesConfiguration', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='attributes', full_name='flyteidl.admin.MatchableAttributesConfiguration.attributes', index=0, + number=1, type=11, cpp_type=10, label=1, + has_default_value=False, default_value=None, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='domain', full_name='flyteidl.admin.MatchableAttributesConfiguration.domain', index=1, + number=2, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='project', full_name='flyteidl.admin.MatchableAttributesConfiguration.project', index=2, + number=3, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='workflow', full_name='flyteidl.admin.MatchableAttributesConfiguration.workflow', index=3, + number=4, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + _descriptor.FieldDescriptor( + name='launch_plan', full_name='flyteidl.admin.MatchableAttributesConfiguration.launch_plan', index=4, + number=5, type=9, cpp_type=9, label=1, + has_default_value=False, default_value=_b("").decode('utf-8'), + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=854, + serialized_end=1016, +) + + +_LISTMATCHABLEATTRIBUTESREQUEST = _descriptor.Descriptor( + name='ListMatchableAttributesRequest', + full_name='flyteidl.admin.ListMatchableAttributesRequest', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='resource_type', full_name='flyteidl.admin.ListMatchableAttributesRequest.resource_type', index=0, + number=1, type=14, cpp_type=8, label=1, + has_default_value=False, default_value=0, + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1018, + serialized_end=1108, +) + + +_LISTMATCHABLEATTRIBUTESRESPONSE = _descriptor.Descriptor( + name='ListMatchableAttributesResponse', + full_name='flyteidl.admin.ListMatchableAttributesResponse', + filename=None, + file=DESCRIPTOR, + containing_type=None, + fields=[ + _descriptor.FieldDescriptor( + name='configurations', full_name='flyteidl.admin.ListMatchableAttributesResponse.configurations', index=0, + number=1, type=11, cpp_type=10, label=3, + has_default_value=False, default_value=[], + message_type=None, enum_type=None, containing_type=None, + is_extension=False, extension_scope=None, + serialized_options=None, file=DESCRIPTOR), + ], + extensions=[ + ], + nested_types=[], + enum_types=[ + ], + serialized_options=None, + is_extendable=False, + syntax='proto3', + extension_ranges=[], + oneofs=[ + ], + serialized_start=1110, + serialized_end=1217, +) + _TASKRESOURCEATTRIBUTES.fields_by_name['defaults'].message_type = _TASKRESOURCESPEC _TASKRESOURCEATTRIBUTES.fields_by_name['limits'].message_type = _TASKRESOURCESPEC _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY.containing_type = _CLUSTERRESOURCEATTRIBUTES @@ -356,12 +477,18 @@ _MATCHINGATTRIBUTES.oneofs_by_name['target'].fields.append( _MATCHINGATTRIBUTES.fields_by_name['execution_cluster_label']) _MATCHINGATTRIBUTES.fields_by_name['execution_cluster_label'].containing_oneof = _MATCHINGATTRIBUTES.oneofs_by_name['target'] +_MATCHABLEATTRIBUTESCONFIGURATION.fields_by_name['attributes'].message_type = _MATCHINGATTRIBUTES +_LISTMATCHABLEATTRIBUTESREQUEST.fields_by_name['resource_type'].enum_type = _MATCHABLERESOURCE +_LISTMATCHABLEATTRIBUTESRESPONSE.fields_by_name['configurations'].message_type = _MATCHABLEATTRIBUTESCONFIGURATION DESCRIPTOR.message_types_by_name['TaskResourceSpec'] = _TASKRESOURCESPEC DESCRIPTOR.message_types_by_name['TaskResourceAttributes'] = _TASKRESOURCEATTRIBUTES DESCRIPTOR.message_types_by_name['ClusterResourceAttributes'] = _CLUSTERRESOURCEATTRIBUTES DESCRIPTOR.message_types_by_name['ExecutionQueueAttributes'] = _EXECUTIONQUEUEATTRIBUTES DESCRIPTOR.message_types_by_name['ExecutionClusterLabel'] = _EXECUTIONCLUSTERLABEL DESCRIPTOR.message_types_by_name['MatchingAttributes'] = _MATCHINGATTRIBUTES +DESCRIPTOR.message_types_by_name['MatchableAttributesConfiguration'] = _MATCHABLEATTRIBUTESCONFIGURATION +DESCRIPTOR.message_types_by_name['ListMatchableAttributesRequest'] = _LISTMATCHABLEATTRIBUTESREQUEST +DESCRIPTOR.message_types_by_name['ListMatchableAttributesResponse'] = _LISTMATCHABLEATTRIBUTESRESPONSE DESCRIPTOR.enum_types_by_name['MatchableResource'] = _MATCHABLERESOURCE _sym_db.RegisterFileDescriptor(DESCRIPTOR) @@ -415,6 +542,27 @@ )) _sym_db.RegisterMessage(MatchingAttributes) +MatchableAttributesConfiguration = _reflection.GeneratedProtocolMessageType('MatchableAttributesConfiguration', (_message.Message,), dict( + DESCRIPTOR = _MATCHABLEATTRIBUTESCONFIGURATION, + __module__ = 'flyteidl.admin.matchable_resource_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.MatchableAttributesConfiguration) + )) +_sym_db.RegisterMessage(MatchableAttributesConfiguration) + +ListMatchableAttributesRequest = _reflection.GeneratedProtocolMessageType('ListMatchableAttributesRequest', (_message.Message,), dict( + DESCRIPTOR = _LISTMATCHABLEATTRIBUTESREQUEST, + __module__ = 'flyteidl.admin.matchable_resource_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesRequest) + )) +_sym_db.RegisterMessage(ListMatchableAttributesRequest) + +ListMatchableAttributesResponse = _reflection.GeneratedProtocolMessageType('ListMatchableAttributesResponse', (_message.Message,), dict( + DESCRIPTOR = _LISTMATCHABLEATTRIBUTESRESPONSE, + __module__ = 'flyteidl.admin.matchable_resource_pb2' + # @@protoc_insertion_point(class_scope:flyteidl.admin.ListMatchableAttributesResponse) + )) +_sym_db.RegisterMessage(ListMatchableAttributesResponse) + DESCRIPTOR._options = None _CLUSTERRESOURCEATTRIBUTES_ATTRIBUTESENTRY._options = None diff --git a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py index ef8b77029bd..fe083a2f96a 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py +++ b/flyteidl/gen/pb_python/flyteidl/service/admin_pb2.py @@ -22,6 +22,7 @@ from flyteidl.admin import launch_plan_pb2 as flyteidl_dot_admin_dot_launch__plan__pb2 from flyteidl.admin import event_pb2 as flyteidl_dot_admin_dot_event__pb2 from flyteidl.admin import execution_pb2 as flyteidl_dot_admin_dot_execution__pb2 +from flyteidl.admin import matchable_resource_pb2 as flyteidl_dot_admin_dot_matchable__resource__pb2 from flyteidl.admin import node_execution_pb2 as flyteidl_dot_admin_dot_node__execution__pb2 from flyteidl.admin import task_execution_pb2 as flyteidl_dot_admin_dot_task__execution__pb2 from flyteidl.admin import common_pb2 as flyteidl_dot_admin_dot_common__pb2 @@ -33,9 +34,9 @@ package='flyteidl.service', syntax='proto3', serialized_options=_b('Z3github.com/lyft/flyteidl/gen/pb-go/flyteidl/service'), - serialized_pb=_b('\n\x1c\x66lyteidl/service/admin.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1c\x66lyteidl/admin/project.proto\x1a.flyteidl/admin/project_domain_attributes.proto\x1a\x19\x66lyteidl/admin/task.proto\x1a\x1d\x66lyteidl/admin/workflow.proto\x1a(flyteidl/admin/workflow_attributes.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1a\x66lyteidl/admin/event.proto\x1a\x1e\x66lyteidl/admin/execution.proto\x1a#flyteidl/admin/node_execution.proto\x1a#flyteidl/admin/task_execution.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a,protoc-gen-swagger/options/annotations.proto2\xf5\\\n\x0c\x41\x64minService\x12\xc5\x02\n\nCreateTask\x12!.flyteidl.admin.TaskCreateRequest\x1a\".flyteidl.admin.TaskCreateResponse\"\xef\x01\x82\xd3\xe4\x93\x02\x12\"\r/api/v1/tasks:\x01*\x92\x41\xd3\x01\x1a&Create and register a task definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xb2\x01\n\x07GetTask\x12 .flyteidl.admin.ObjectGetRequest\x1a\x14.flyteidl.admin.Task\"o\x82\xd3\xe4\x93\x02?\x12=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41\'\x1a%Retrieve an existing task definition.\x12\xde\x01\n\x0bListTaskIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"r\x82\xd3\xe4\x93\x02%\x12#/api/v1/task_ids/{project}/{domain}\x92\x41\x44\x1a\x42\x46\x65tch existing task definition identifiers matching input filters.\x12\xeb\x01\n\tListTasks\x12#.flyteidl.admin.ResourceListRequest\x1a\x18.flyteidl.admin.TaskList\"\x9e\x01\x82\xd3\xe4\x93\x02\\\x12\x30/api/v1/tasks/{id.project}/{id.domain}/{id.name}Z(\x12&/api/v1/tasks/{id.project}/{id.domain}\x92\x41\x39\x1a\x37\x46\x65tch existing task definitions matching input filters.\x12\xd9\x02\n\x0e\x43reateWorkflow\x12%.flyteidl.admin.WorkflowCreateRequest\x1a&.flyteidl.admin.WorkflowCreateResponse\"\xf7\x01\x82\xd3\xe4\x93\x02\x16\"\x11/api/v1/workflows:\x01*\x92\x41\xd7\x01\x1a*Create and register a workflow definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xc2\x01\n\x0bGetWorkflow\x12 .flyteidl.admin.ObjectGetRequest\x1a\x18.flyteidl.admin.Workflow\"w\x82\xd3\xe4\x93\x02\x43\x12\x41/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41+\x1a)Retrieve an existing workflow definition.\x12\xed\x01\n\x0fListWorkflowIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"}\x82\xd3\xe4\x93\x02)\x12\'/api/v1/workflow_ids/{project}/{domain}\x92\x41K\x1aIFetch an existing workflow definition identifiers matching input filters.\x12\xff\x01\n\rListWorkflows\x12#.flyteidl.admin.ResourceListRequest\x1a\x1c.flyteidl.admin.WorkflowList\"\xaa\x01\x82\xd3\xe4\x93\x02\x64\x12\x34/api/v1/workflows/{id.project}/{id.domain}/{id.name}Z,\x12*/api/v1/workflows/{id.project}/{id.domain}\x92\x41=\x1a;Fetch existing workflow definitions matching input filters.\x12\xe5\x02\n\x10\x43reateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanCreateRequest\x1a(.flyteidl.admin.LaunchPlanCreateResponse\"\xfd\x01\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/launch_plans:\x01*\x92\x41\xda\x01\x1a-Create and register a launch plan definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xcc\x01\n\rGetLaunchPlan\x12 .flyteidl.admin.ObjectGetRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"}\x82\xd3\xe4\x93\x02\x46\x12\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41.\x1a,Retrieve an existing launch plan definition.\x12\xf3\x01\n\x13GetActiveLaunchPlan\x12\'.flyteidl.admin.ActiveLaunchPlanRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"\x96\x01\x82\xd3\xe4\x93\x02@\x12>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}\x92\x41M\x1aKRetrieve the active launch plan version specified by input request filters.\x12\xeb\x01\n\x15ListActiveLaunchPlans\x12+.flyteidl.admin.ActiveLaunchPlanListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"\x84\x01\x82\xd3\xe4\x93\x02\x30\x12./api/v1/active_launch_plans/{project}/{domain}\x92\x41K\x1aIFetch the active launch plan versions specified by input request filters.\x12\xf3\x01\n\x11ListLaunchPlanIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"\x80\x01\x82\xd3\xe4\x93\x02,\x12*/api/v1/launch_plan_ids/{project}/{domain}\x92\x41K\x1aIFetch existing launch plan definition identifiers matching input filters.\x12\x8c\x02\n\x0fListLaunchPlans\x12#.flyteidl.admin.ResourceListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"\xb3\x01\x82\xd3\xe4\x93\x02j\x12\x37/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}Z/\x12-/api/v1/launch_plans/{id.project}/{id.domain}\x92\x41@\x1a>Fetch existing launch plan definitions matching input filters.\x12\xc0\x06\n\x10UpdateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanUpdateRequest\x1a(.flyteidl.admin.LaunchPlanUpdateResponse\"\xd8\x05\x82\xd3\xe4\x93\x02I\x1a\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}:\x01*\x92\x41\x85\x05\x1a\x82\x05Update the status of an existing launch plan definition. At most one launch plan version for a given {project, domain, name} can be active at a time. If this call sets a launch plan to active and existing version is already active, the result of this call will be that the formerly active launch plan will be made inactive and specified launch plan in this request will be made active. In the event that the formerly active launch plan had a schedule associated it with it, this schedule will be disabled. If the reference launch plan in this request is being set to active and has a schedule associated with it, the schedule will be enabled.\x12\xa2\x01\n\x0f\x43reateExecution\x12&.flyteidl.admin.ExecutionCreateRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\">\x82\xd3\xe4\x93\x02\x17\"\x12/api/v1/executions:\x01*\x92\x41\x1e\x1a\x1c\x43reate a workflow execution.\x12\xb1\x01\n\x11RelaunchExecution\x12(.flyteidl.admin.ExecutionRelaunchRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"I\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/executions/relaunch:\x01*\x92\x41 \x1a\x1eRelaunch a workflow execution.\x12\xc2\x01\n\x0cGetExecution\x12+.flyteidl.admin.WorkflowExecutionGetRequest\x1a\x19.flyteidl.admin.Execution\"j\x82\xd3\xe4\x93\x02\x37\x12\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x92\x41*\x1a(Retrieve an existing workflow execution.\x12\x82\x02\n\x10GetExecutionData\x12/.flyteidl.admin.WorkflowExecutionGetDataRequest\x1a\x30.flyteidl.admin.WorkflowExecutionGetDataResponse\"\x8a\x01\x82\xd3\xe4\x93\x02<\x12:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}\x92\x41\x45\x1a\x43Retrieve input and output data from an existing workflow execution.\x12\xc8\x01\n\x0eListExecutions\x12#.flyteidl.admin.ResourceListRequest\x1a\x1d.flyteidl.admin.ExecutionList\"r\x82\xd3\xe4\x93\x02-\x12+/api/v1/executions/{id.project}/{id.domain}\x92\x41<\x1a:Fetch existing workflow executions matching input filters.\x12\xf4\x01\n\x12TerminateExecution\x12).flyteidl.admin.ExecutionTerminateRequest\x1a*.flyteidl.admin.ExecutionTerminateResponse\"\x86\x01\x82\xd3\xe4\x93\x02:*5/api/v1/executions/{id.project}/{id.domain}/{id.name}:\x01*\x92\x41\x43\x1a\x41Terminate the active workflow execution specified in the request.\x12\xfc\x01\n\x10GetNodeExecution\x12\'.flyteidl.admin.NodeExecutionGetRequest\x1a\x1d.flyteidl.admin.NodeExecution\"\x9f\x01\x82\xd3\xe4\x93\x02p\x12n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x92\x41&\x1a$Retrieve an existing node execution.\x12\x9a\x02\n\x12ListNodeExecutions\x12(.flyteidl.admin.NodeExecutionListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\xb6\x01\x82\xd3\xe4\x93\x02u\x12s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x92\x41\x38\x1a\x36\x46\x65tch existing node executions matching input filters.\x12\xef\x04\n\x19ListNodeExecutionsForTask\x12/.flyteidl.admin.NodeExecutionForTaskListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\xfd\x03\x82\xd3\xe4\x93\x02\xac\x03\x12\xa9\x03/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\x92\x41G\x1a\x45\x46\x65tch child node executions launched by the specified task execution.\x12\xb3\x02\n\x14GetNodeExecutionData\x12+.flyteidl.admin.NodeExecutionGetDataRequest\x1a,.flyteidl.admin.NodeExecutionGetDataResponse\"\xbf\x01\x82\xd3\xe4\x93\x02u\x12s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x92\x41\x41\x1a?Retrieve input and output data from an existing node execution.\x12\x97\x01\n\x0fRegisterProject\x12&.flyteidl.admin.ProjectRegisterRequest\x1a\'.flyteidl.admin.ProjectRegisterResponse\"3\x82\xd3\xe4\x93\x02\x15\"\x10/api/v1/projects:\x01*\x92\x41\x15\x1a\x13Register a project.\x12\x85\x01\n\x0cListProjects\x12\".flyteidl.admin.ProjectListRequest\x1a\x18.flyteidl.admin.Projects\"7\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/projects\x92\x41\x1c\x1a\x1a\x46\x65tch registered projects.\x12\xdd\x01\n\x13\x43reateWorkflowEvent\x12-.flyteidl.admin.WorkflowExecutionEventRequest\x1a..flyteidl.admin.WorkflowExecutionEventResponse\"g\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v1/events/workflows:\x01*\x92\x41\x41\x1a?Create a workflow execution event recording a phase transition.\x12\xc9\x01\n\x0f\x43reateNodeEvent\x12).flyteidl.admin.NodeExecutionEventRequest\x1a*.flyteidl.admin.NodeExecutionEventResponse\"_\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/events/nodes:\x01*\x92\x41=\x1a;Create a node execution event recording a phase transition.\x12\xc9\x01\n\x0f\x43reateTaskEvent\x12).flyteidl.admin.TaskExecutionEventRequest\x1a*.flyteidl.admin.TaskExecutionEventResponse\"_\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/events/tasks:\x01*\x92\x41=\x1a;Create a task execution event recording a phase transition.\x12\xa9\x03\n\x10GetTaskExecution\x12\'.flyteidl.admin.TaskExecutionGetRequest\x1a\x1d.flyteidl.admin.TaskExecution\"\xcc\x02\x82\xd3\xe4\x93\x02\x9c\x02\x12\x99\x02/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x92\x41&\x1a$Retrieve an existing task execution.\x12\xd3\x02\n\x12ListTaskExecutions\x12(.flyteidl.admin.TaskExecutionListRequest\x1a!.flyteidl.admin.TaskExecutionList\"\xef\x01\x82\xd3\xe4\x93\x02\xad\x01\x12\xaa\x01/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\x92\x41\x38\x1a\x36\x46\x65tch existing task executions matching input filters.\x12\xe0\x03\n\x14GetTaskExecutionData\x12+.flyteidl.admin.TaskExecutionGetDataRequest\x1a,.flyteidl.admin.TaskExecutionGetDataResponse\"\xec\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x9e\x02/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x92\x41\x41\x1a?Retrieve input and output data from an existing task execution.\x12\xbf\x02\n\x1dUpdateProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesUpdateRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesUpdateResponse\"\xb0\x01\x82\xd3\xe4\x93\x02O\x1aJ/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}:\x01*\x92\x41X\x1aVUpdate the customized resource attributes associated with a project-domain combination\x12\x9f\x02\n\x1aGetProjectDomainAttributes\x12\x31.flyteidl.admin.ProjectDomainAttributesGetRequest\x1a\x32.flyteidl.admin.ProjectDomainAttributesGetResponse\"\x99\x01\x82\xd3\xe4\x93\x02\x36\x12\x34/api/v1/project_domain_attributes/{project}/{domain}\x92\x41Z\x1aXRetrieve the customized resource attributes associated with a project-domain combination\x12\xa9\x02\n\x1d\x44\x65leteProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesDeleteRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesDeleteResponse\"\x9a\x01\x82\xd3\xe4\x93\x02\x39*4/api/v1/project_domain_attributes/{project}/{domain}:\x01*\x92\x41X\x1aVDelete the customized resource attributes associated with a project-domain combination\x12\xce\x02\n\x18UpdateWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesUpdateRequest\x1a\x30.flyteidl.admin.WorkflowAttributesUpdateResponse\"\xce\x01\x82\xd3\xe4\x93\x02_\x1aZ/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}:\x01*\x92\x41\x66\x1a\x64Update the customized resource attributes associated with a project, domain and workflow combination\x12\xa3\x02\n\x15GetWorkflowAttributes\x12,.flyteidl.admin.WorkflowAttributesGetRequest\x1a-.flyteidl.admin.WorkflowAttributesGetResponse\"\xac\x01\x82\xd3\xe4\x93\x02;\x12\x39/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x92\x41h\x1a\x66Retrieve the customized resource attributes associated with a project, domain and workflow combination\x12\xad\x02\n\x18\x44\x65leteWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesDeleteRequest\x1a\x30.flyteidl.admin.WorkflowAttributesDeleteResponse\"\xad\x01\x82\xd3\xe4\x93\x02>*9/api/v1/workflow_attributes/{project}/{domain}/{workflow}:\x01*\x92\x41\x66\x1a\x64\x44\x65lete the customized resource attributes associated with a project, domain and workflow combination\x12\x80\x02\n\x11ListNamedEntities\x12&.flyteidl.admin.NamedEntityListRequest\x1a\x1f.flyteidl.admin.NamedEntityList\"\xa1\x01\x82\xd3\xe4\x93\x02;\x12\x39/api/v1/named_entities/{resource_type}/{project}/{domain}\x92\x41]\x1a[Retrieve a list of NamedEntity objects sharing a common resource type, project, and domain.\x12\xca\x01\n\x0eGetNamedEntity\x12%.flyteidl.admin.NamedEntityGetRequest\x1a\x1b.flyteidl.admin.NamedEntity\"t\x82\xd3\xe4\x93\x02K\x12I/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}\x92\x41 \x1a\x1eRetrieve a NamedEntity object.\x12\xf3\x01\n\x11UpdateNamedEntity\x12(.flyteidl.admin.NamedEntityUpdateRequest\x1a).flyteidl.admin.NamedEntityUpdateResponse\"\x88\x01\x82\xd3\xe4\x93\x02N\x1aI/api/v1/named_entities/{resource_type}/{id.project}/{id.domain}/{id.name}:\x01*\x92\x41\x31\x1a/Update the fields associated with a NamedEntityB5Z3github.com/lyft/flyteidl/gen/pb-go/flyteidl/serviceb\x06proto3') + serialized_pb=_b('\n\x1c\x66lyteidl/service/admin.proto\x12\x10\x66lyteidl.service\x1a\x1cgoogle/api/annotations.proto\x1a\x1c\x66lyteidl/admin/project.proto\x1a.flyteidl/admin/project_domain_attributes.proto\x1a\x19\x66lyteidl/admin/task.proto\x1a\x1d\x66lyteidl/admin/workflow.proto\x1a(flyteidl/admin/workflow_attributes.proto\x1a flyteidl/admin/launch_plan.proto\x1a\x1a\x66lyteidl/admin/event.proto\x1a\x1e\x66lyteidl/admin/execution.proto\x1a\'flyteidl/admin/matchable_resource.proto\x1a#flyteidl/admin/node_execution.proto\x1a#flyteidl/admin/task_execution.proto\x1a\x1b\x66lyteidl/admin/common.proto\x1a,protoc-gen-swagger/options/annotations.proto2\xd9^\n\x0c\x41\x64minService\x12\xc5\x02\n\nCreateTask\x12!.flyteidl.admin.TaskCreateRequest\x1a\".flyteidl.admin.TaskCreateResponse\"\xef\x01\x82\xd3\xe4\x93\x02\x12\"\r/api/v1/tasks:\x01*\x92\x41\xd3\x01\x1a&Create and register a task definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xb2\x01\n\x07GetTask\x12 .flyteidl.admin.ObjectGetRequest\x1a\x14.flyteidl.admin.Task\"o\x82\xd3\xe4\x93\x02?\x12=/api/v1/tasks/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41\'\x1a%Retrieve an existing task definition.\x12\xde\x01\n\x0bListTaskIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"r\x82\xd3\xe4\x93\x02%\x12#/api/v1/task_ids/{project}/{domain}\x92\x41\x44\x1a\x42\x46\x65tch existing task definition identifiers matching input filters.\x12\xeb\x01\n\tListTasks\x12#.flyteidl.admin.ResourceListRequest\x1a\x18.flyteidl.admin.TaskList\"\x9e\x01\x82\xd3\xe4\x93\x02\\\x12\x30/api/v1/tasks/{id.project}/{id.domain}/{id.name}Z(\x12&/api/v1/tasks/{id.project}/{id.domain}\x92\x41\x39\x1a\x37\x46\x65tch existing task definitions matching input filters.\x12\xd9\x02\n\x0e\x43reateWorkflow\x12%.flyteidl.admin.WorkflowCreateRequest\x1a&.flyteidl.admin.WorkflowCreateResponse\"\xf7\x01\x82\xd3\xe4\x93\x02\x16\"\x11/api/v1/workflows:\x01*\x92\x41\xd7\x01\x1a*Create and register a workflow definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xc2\x01\n\x0bGetWorkflow\x12 .flyteidl.admin.ObjectGetRequest\x1a\x18.flyteidl.admin.Workflow\"w\x82\xd3\xe4\x93\x02\x43\x12\x41/api/v1/workflows/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41+\x1a)Retrieve an existing workflow definition.\x12\xed\x01\n\x0fListWorkflowIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"}\x82\xd3\xe4\x93\x02)\x12\'/api/v1/workflow_ids/{project}/{domain}\x92\x41K\x1aIFetch an existing workflow definition identifiers matching input filters.\x12\xff\x01\n\rListWorkflows\x12#.flyteidl.admin.ResourceListRequest\x1a\x1c.flyteidl.admin.WorkflowList\"\xaa\x01\x82\xd3\xe4\x93\x02\x64\x12\x34/api/v1/workflows/{id.project}/{id.domain}/{id.name}Z,\x12*/api/v1/workflows/{id.project}/{id.domain}\x92\x41=\x1a;Fetch existing workflow definitions matching input filters.\x12\xe5\x02\n\x10\x43reateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanCreateRequest\x1a(.flyteidl.admin.LaunchPlanCreateResponse\"\xfd\x01\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/launch_plans:\x01*\x92\x41\xda\x01\x1a-Create and register a launch plan definition.JB\n\x03\x34\x30\x30\x12;\n9Returned for bad request that may have failed validation.Je\n\x03\x34\x30\x39\x12^\n\\Returned for a request that references an identical entity that has already been registered.\x12\xcc\x01\n\rGetLaunchPlan\x12 .flyteidl.admin.ObjectGetRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"}\x82\xd3\xe4\x93\x02\x46\x12\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}\x92\x41.\x1a,Retrieve an existing launch plan definition.\x12\xf3\x01\n\x13GetActiveLaunchPlan\x12\'.flyteidl.admin.ActiveLaunchPlanRequest\x1a\x1a.flyteidl.admin.LaunchPlan\"\x96\x01\x82\xd3\xe4\x93\x02@\x12>/api/v1/active_launch_plans/{id.project}/{id.domain}/{id.name}\x92\x41M\x1aKRetrieve the active launch plan version specified by input request filters.\x12\xeb\x01\n\x15ListActiveLaunchPlans\x12+.flyteidl.admin.ActiveLaunchPlanListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"\x84\x01\x82\xd3\xe4\x93\x02\x30\x12./api/v1/active_launch_plans/{project}/{domain}\x92\x41K\x1aIFetch the active launch plan versions specified by input request filters.\x12\xf3\x01\n\x11ListLaunchPlanIds\x12\x30.flyteidl.admin.NamedEntityIdentifierListRequest\x1a).flyteidl.admin.NamedEntityIdentifierList\"\x80\x01\x82\xd3\xe4\x93\x02,\x12*/api/v1/launch_plan_ids/{project}/{domain}\x92\x41K\x1aIFetch existing launch plan definition identifiers matching input filters.\x12\x8c\x02\n\x0fListLaunchPlans\x12#.flyteidl.admin.ResourceListRequest\x1a\x1e.flyteidl.admin.LaunchPlanList\"\xb3\x01\x82\xd3\xe4\x93\x02j\x12\x37/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}Z/\x12-/api/v1/launch_plans/{id.project}/{id.domain}\x92\x41@\x1a>Fetch existing launch plan definitions matching input filters.\x12\xc0\x06\n\x10UpdateLaunchPlan\x12\'.flyteidl.admin.LaunchPlanUpdateRequest\x1a(.flyteidl.admin.LaunchPlanUpdateResponse\"\xd8\x05\x82\xd3\xe4\x93\x02I\x1a\x44/api/v1/launch_plans/{id.project}/{id.domain}/{id.name}/{id.version}:\x01*\x92\x41\x85\x05\x1a\x82\x05Update the status of an existing launch plan definition. At most one launch plan version for a given {project, domain, name} can be active at a time. If this call sets a launch plan to active and existing version is already active, the result of this call will be that the formerly active launch plan will be made inactive and specified launch plan in this request will be made active. In the event that the formerly active launch plan had a schedule associated it with it, this schedule will be disabled. If the reference launch plan in this request is being set to active and has a schedule associated with it, the schedule will be enabled.\x12\xa2\x01\n\x0f\x43reateExecution\x12&.flyteidl.admin.ExecutionCreateRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\">\x82\xd3\xe4\x93\x02\x17\"\x12/api/v1/executions:\x01*\x92\x41\x1e\x1a\x1c\x43reate a workflow execution.\x12\xb1\x01\n\x11RelaunchExecution\x12(.flyteidl.admin.ExecutionRelaunchRequest\x1a\'.flyteidl.admin.ExecutionCreateResponse\"I\x82\xd3\xe4\x93\x02 \"\x1b/api/v1/executions/relaunch:\x01*\x92\x41 \x1a\x1eRelaunch a workflow execution.\x12\xc2\x01\n\x0cGetExecution\x12+.flyteidl.admin.WorkflowExecutionGetRequest\x1a\x19.flyteidl.admin.Execution\"j\x82\xd3\xe4\x93\x02\x37\x12\x35/api/v1/executions/{id.project}/{id.domain}/{id.name}\x92\x41*\x1a(Retrieve an existing workflow execution.\x12\x82\x02\n\x10GetExecutionData\x12/.flyteidl.admin.WorkflowExecutionGetDataRequest\x1a\x30.flyteidl.admin.WorkflowExecutionGetDataResponse\"\x8a\x01\x82\xd3\xe4\x93\x02<\x12:/api/v1/data/executions/{id.project}/{id.domain}/{id.name}\x92\x41\x45\x1a\x43Retrieve input and output data from an existing workflow execution.\x12\xc8\x01\n\x0eListExecutions\x12#.flyteidl.admin.ResourceListRequest\x1a\x1d.flyteidl.admin.ExecutionList\"r\x82\xd3\xe4\x93\x02-\x12+/api/v1/executions/{id.project}/{id.domain}\x92\x41<\x1a:Fetch existing workflow executions matching input filters.\x12\xf4\x01\n\x12TerminateExecution\x12).flyteidl.admin.ExecutionTerminateRequest\x1a*.flyteidl.admin.ExecutionTerminateResponse\"\x86\x01\x82\xd3\xe4\x93\x02:*5/api/v1/executions/{id.project}/{id.domain}/{id.name}:\x01*\x92\x41\x43\x1a\x41Terminate the active workflow execution specified in the request.\x12\xfc\x01\n\x10GetNodeExecution\x12\'.flyteidl.admin.NodeExecutionGetRequest\x1a\x1d.flyteidl.admin.NodeExecution\"\x9f\x01\x82\xd3\xe4\x93\x02p\x12n/api/v1/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x92\x41&\x1a$Retrieve an existing node execution.\x12\x9a\x02\n\x12ListNodeExecutions\x12(.flyteidl.admin.NodeExecutionListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\xb6\x01\x82\xd3\xe4\x93\x02u\x12s/api/v1/node_executions/{workflow_execution_id.project}/{workflow_execution_id.domain}/{workflow_execution_id.name}\x92\x41\x38\x1a\x36\x46\x65tch existing node executions matching input filters.\x12\xef\x04\n\x19ListNodeExecutionsForTask\x12/.flyteidl.admin.NodeExecutionForTaskListRequest\x1a!.flyteidl.admin.NodeExecutionList\"\xfd\x03\x82\xd3\xe4\x93\x02\xac\x03\x12\xa9\x03/api/v1/children/task_executions/{task_execution_id.node_execution_id.execution_id.project}/{task_execution_id.node_execution_id.execution_id.domain}/{task_execution_id.node_execution_id.execution_id.name}/{task_execution_id.node_execution_id.node_id}/{task_execution_id.task_id.project}/{task_execution_id.task_id.domain}/{task_execution_id.task_id.name}/{task_execution_id.task_id.version}/{task_execution_id.retry_attempt}\x92\x41G\x1a\x45\x46\x65tch child node executions launched by the specified task execution.\x12\xb3\x02\n\x14GetNodeExecutionData\x12+.flyteidl.admin.NodeExecutionGetDataRequest\x1a,.flyteidl.admin.NodeExecutionGetDataResponse\"\xbf\x01\x82\xd3\xe4\x93\x02u\x12s/api/v1/data/node_executions/{id.execution_id.project}/{id.execution_id.domain}/{id.execution_id.name}/{id.node_id}\x92\x41\x41\x1a?Retrieve input and output data from an existing node execution.\x12\x97\x01\n\x0fRegisterProject\x12&.flyteidl.admin.ProjectRegisterRequest\x1a\'.flyteidl.admin.ProjectRegisterResponse\"3\x82\xd3\xe4\x93\x02\x15\"\x10/api/v1/projects:\x01*\x92\x41\x15\x1a\x13Register a project.\x12\x85\x01\n\x0cListProjects\x12\".flyteidl.admin.ProjectListRequest\x1a\x18.flyteidl.admin.Projects\"7\x82\xd3\xe4\x93\x02\x12\x12\x10/api/v1/projects\x92\x41\x1c\x1a\x1a\x46\x65tch registered projects.\x12\xdd\x01\n\x13\x43reateWorkflowEvent\x12-.flyteidl.admin.WorkflowExecutionEventRequest\x1a..flyteidl.admin.WorkflowExecutionEventResponse\"g\x82\xd3\xe4\x93\x02\x1d\"\x18/api/v1/events/workflows:\x01*\x92\x41\x41\x1a?Create a workflow execution event recording a phase transition.\x12\xc9\x01\n\x0f\x43reateNodeEvent\x12).flyteidl.admin.NodeExecutionEventRequest\x1a*.flyteidl.admin.NodeExecutionEventResponse\"_\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/events/nodes:\x01*\x92\x41=\x1a;Create a node execution event recording a phase transition.\x12\xc9\x01\n\x0f\x43reateTaskEvent\x12).flyteidl.admin.TaskExecutionEventRequest\x1a*.flyteidl.admin.TaskExecutionEventResponse\"_\x82\xd3\xe4\x93\x02\x19\"\x14/api/v1/events/tasks:\x01*\x92\x41=\x1a;Create a task execution event recording a phase transition.\x12\xa9\x03\n\x10GetTaskExecution\x12\'.flyteidl.admin.TaskExecutionGetRequest\x1a\x1d.flyteidl.admin.TaskExecution\"\xcc\x02\x82\xd3\xe4\x93\x02\x9c\x02\x12\x99\x02/api/v1/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x92\x41&\x1a$Retrieve an existing task execution.\x12\xd3\x02\n\x12ListTaskExecutions\x12(.flyteidl.admin.TaskExecutionListRequest\x1a!.flyteidl.admin.TaskExecutionList\"\xef\x01\x82\xd3\xe4\x93\x02\xad\x01\x12\xaa\x01/api/v1/task_executions/{node_execution_id.execution_id.project}/{node_execution_id.execution_id.domain}/{node_execution_id.execution_id.name}/{node_execution_id.node_id}\x92\x41\x38\x1a\x36\x46\x65tch existing task executions matching input filters.\x12\xe0\x03\n\x14GetTaskExecutionData\x12+.flyteidl.admin.TaskExecutionGetDataRequest\x1a,.flyteidl.admin.TaskExecutionGetDataResponse\"\xec\x02\x82\xd3\xe4\x93\x02\xa1\x02\x12\x9e\x02/api/v1/data/task_executions/{id.node_execution_id.execution_id.project}/{id.node_execution_id.execution_id.domain}/{id.node_execution_id.execution_id.name}/{id.node_execution_id.node_id}/{id.task_id.project}/{id.task_id.domain}/{id.task_id.name}/{id.task_id.version}/{id.retry_attempt}\x92\x41\x41\x1a?Retrieve input and output data from an existing task execution.\x12\xbf\x02\n\x1dUpdateProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesUpdateRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesUpdateResponse\"\xb0\x01\x82\xd3\xe4\x93\x02O\x1aJ/api/v1/project_domain_attributes/{attributes.project}/{attributes.domain}:\x01*\x92\x41X\x1aVUpdate the customized resource attributes associated with a project-domain combination\x12\x9f\x02\n\x1aGetProjectDomainAttributes\x12\x31.flyteidl.admin.ProjectDomainAttributesGetRequest\x1a\x32.flyteidl.admin.ProjectDomainAttributesGetResponse\"\x99\x01\x82\xd3\xe4\x93\x02\x36\x12\x34/api/v1/project_domain_attributes/{project}/{domain}\x92\x41Z\x1aXRetrieve the customized resource attributes associated with a project-domain combination\x12\xa9\x02\n\x1d\x44\x65leteProjectDomainAttributes\x12\x34.flyteidl.admin.ProjectDomainAttributesDeleteRequest\x1a\x35.flyteidl.admin.ProjectDomainAttributesDeleteResponse\"\x9a\x01\x82\xd3\xe4\x93\x02\x39*4/api/v1/project_domain_attributes/{project}/{domain}:\x01*\x92\x41X\x1aVDelete the customized resource attributes associated with a project-domain combination\x12\xce\x02\n\x18UpdateWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesUpdateRequest\x1a\x30.flyteidl.admin.WorkflowAttributesUpdateResponse\"\xce\x01\x82\xd3\xe4\x93\x02_\x1aZ/api/v1/workflow_attributes/{attributes.project}/{attributes.domain}/{attributes.workflow}:\x01*\x92\x41\x66\x1a\x64Update the customized resource attributes associated with a project, domain and workflow combination\x12\xa3\x02\n\x15GetWorkflowAttributes\x12,.flyteidl.admin.WorkflowAttributesGetRequest\x1a-.flyteidl.admin.WorkflowAttributesGetResponse\"\xac\x01\x82\xd3\xe4\x93\x02;\x12\x39/api/v1/workflow_attributes/{project}/{domain}/{workflow}\x92\x41h\x1a\x66Retrieve the customized resource attributes associated with a project, domain and workflow combination\x12\xad\x02\n\x18\x44\x65leteWorkflowAttributes\x12/.flyteidl.admin.WorkflowAttributesDeleteRequest\x1a\x30.flyteidl.admin.WorkflowAttributesDeleteResponse\"\xad\x01\x82\xd3\xe4\x93\x02>*9/api/v1/workflow_attributes/{project}/{domain}/{workflow}:\x01*\x92\x41\x66\x1a\x64\x44\x65lete the customized resource attributes associated with a project, domain and workflow combination\x12\xe1\x01\n\x17ListMatchableAttributes\x12..flyteidl.admin.ListMatchableAttributesRequest\x1a/.flyteidl.admin.ListMatchableAttributesResponse\"e\x82\xd3\xe4\x93\x02\x1e\x12\x1c/api/v1/matchable_attributes\x92\x41>\x1a*9/api/v1/workflow_attributes/{project}/{domain}/{workflow}:\001*\222Af\032dDelete the customized resource attributes associated with a project, domain and workflow combination'), ), + _descriptor.MethodDescriptor( + name='ListMatchableAttributes', + full_name='flyteidl.service.AdminService.ListMatchableAttributes', + index=39, + containing_service=None, + input_type=flyteidl_dot_admin_dot_matchable__resource__pb2._LISTMATCHABLEATTRIBUTESREQUEST, + output_type=flyteidl_dot_admin_dot_matchable__resource__pb2._LISTMATCHABLEATTRIBUTESRESPONSE, + serialized_options=_b('\202\323\344\223\002\036\022\034/api/v1/matchable_attributes\222A>\032>> thread = api.list_matchable_attributes(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run + :return: AdminListMatchableAttributesResponse + If the method is called asynchronously, + returns the request thread. + """ + kwargs['_return_http_data_only'] = True + if kwargs.get('async_req'): + return self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + else: + (data) = self.list_matchable_attributes_with_http_info(**kwargs) # noqa: E501 + return data + + def list_matchable_attributes_with_http_info(self, **kwargs): # noqa: E501 + """list_matchable_attributes # noqa: E501 + + Retrieve a list of MatchableAttributesConfiguration objects. # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + >>> thread = api.list_matchable_attributes_with_http_info(async_req=True) + >>> result = thread.get() + + :param async_req bool + :param str resource_type: - TASK_RESOURCE: Applies to customizable task resource requests and limits. - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources. - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment. - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run + :return: AdminListMatchableAttributesResponse + If the method is called asynchronously, + returns the request thread. + """ + + all_params = ['resource_type'] # noqa: E501 + all_params.append('async_req') + all_params.append('_return_http_data_only') + all_params.append('_preload_content') + all_params.append('_request_timeout') + + params = locals() + for key, val in six.iteritems(params['kwargs']): + if key not in all_params: + raise TypeError( + "Got an unexpected keyword argument '%s'" + " to method list_matchable_attributes" % key + ) + params[key] = val + del params['kwargs'] + + collection_formats = {} + + path_params = {} + + query_params = [] + if 'resource_type' in params: + query_params.append(('resource_type', params['resource_type'])) # noqa: E501 + + header_params = {} + + form_params = [] + local_var_files = {} + + body_params = None + # HTTP header `Accept` + header_params['Accept'] = self.api_client.select_header_accept( + ['application/json']) # noqa: E501 + + # HTTP header `Content-Type` + header_params['Content-Type'] = self.api_client.select_header_content_type( # noqa: E501 + ['application/json']) # noqa: E501 + + # Authentication setting + auth_settings = [] # noqa: E501 + + return self.api_client.call_api( + '/api/v1/matchable_attributes', 'GET', + path_params, + query_params, + header_params, + body=body_params, + post_params=form_params, + files=local_var_files, + response_type='AdminListMatchableAttributesResponse', # noqa: E501 + auth_settings=auth_settings, + async_req=params.get('async_req'), + _return_http_data_only=params.get('_return_http_data_only'), + _preload_content=params.get('_preload_content', True), + _request_timeout=params.get('_request_timeout'), + collection_formats=collection_formats) + def list_named_entities(self, resource_type, project, domain, **kwargs): # noqa: E501 """list_named_entities # noqa: E501 diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py index 6fe73c2f544..2d0a139d033 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/__init__.py @@ -46,7 +46,9 @@ from flyteadmin.models.admin_launch_plan_state import AdminLaunchPlanState from flyteadmin.models.admin_launch_plan_update_request import AdminLaunchPlanUpdateRequest from flyteadmin.models.admin_launch_plan_update_response import AdminLaunchPlanUpdateResponse +from flyteadmin.models.admin_list_matchable_attributes_response import AdminListMatchableAttributesResponse from flyteadmin.models.admin_literal_map_blob import AdminLiteralMapBlob +from flyteadmin.models.admin_matchable_attributes_configuration import AdminMatchableAttributesConfiguration from flyteadmin.models.admin_matchable_resource import AdminMatchableResource from flyteadmin.models.admin_matching_attributes import AdminMatchingAttributes from flyteadmin.models.admin_named_entity import AdminNamedEntity diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_list_matchable_attributes_response.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_list_matchable_attributes_response.py new file mode 100644 index 00000000000..c1efcb34b64 --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_list_matchable_attributes_response.py @@ -0,0 +1,117 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.admin_matchable_attributes_configuration import AdminMatchableAttributesConfiguration # noqa: F401,E501 + + +class AdminListMatchableAttributesResponse(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'configurations': 'list[AdminMatchableAttributesConfiguration]' + } + + attribute_map = { + 'configurations': 'configurations' + } + + def __init__(self, configurations=None): # noqa: E501 + """AdminListMatchableAttributesResponse - a model defined in Swagger""" # noqa: E501 + + self._configurations = None + self.discriminator = None + + if configurations is not None: + self.configurations = configurations + + @property + def configurations(self): + """Gets the configurations of this AdminListMatchableAttributesResponse. # noqa: E501 + + + :return: The configurations of this AdminListMatchableAttributesResponse. # noqa: E501 + :rtype: list[AdminMatchableAttributesConfiguration] + """ + return self._configurations + + @configurations.setter + def configurations(self, configurations): + """Sets the configurations of this AdminListMatchableAttributesResponse. + + + :param configurations: The configurations of this AdminListMatchableAttributesResponse. # noqa: E501 + :type: list[AdminMatchableAttributesConfiguration] + """ + + self._configurations = configurations + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminListMatchableAttributesResponse, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminListMatchableAttributesResponse): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py new file mode 100644 index 00000000000..a9be455f255 --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/flyteadmin/models/admin_matchable_attributes_configuration.py @@ -0,0 +1,221 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +import pprint +import re # noqa: F401 + +import six + +from flyteadmin.models.admin_matching_attributes import AdminMatchingAttributes # noqa: F401,E501 + + +class AdminMatchableAttributesConfiguration(object): + """NOTE: This class is auto generated by the swagger code generator program. + + Do not edit the class manually. + """ + + """ + Attributes: + swagger_types (dict): The key is attribute name + and the value is attribute type. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + """ + swagger_types = { + 'attributes': 'AdminMatchingAttributes', + 'domain': 'str', + 'project': 'str', + 'workflow': 'str', + 'launch_plan': 'str' + } + + attribute_map = { + 'attributes': 'attributes', + 'domain': 'domain', + 'project': 'project', + 'workflow': 'workflow', + 'launch_plan': 'launch_plan' + } + + def __init__(self, attributes=None, domain=None, project=None, workflow=None, launch_plan=None): # noqa: E501 + """AdminMatchableAttributesConfiguration - a model defined in Swagger""" # noqa: E501 + + self._attributes = None + self._domain = None + self._project = None + self._workflow = None + self._launch_plan = None + self.discriminator = None + + if attributes is not None: + self.attributes = attributes + if domain is not None: + self.domain = domain + if project is not None: + self.project = project + if workflow is not None: + self.workflow = workflow + if launch_plan is not None: + self.launch_plan = launch_plan + + @property + def attributes(self): + """Gets the attributes of this AdminMatchableAttributesConfiguration. # noqa: E501 + + + :return: The attributes of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: AdminMatchingAttributes + """ + return self._attributes + + @attributes.setter + def attributes(self, attributes): + """Sets the attributes of this AdminMatchableAttributesConfiguration. + + + :param attributes: The attributes of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: AdminMatchingAttributes + """ + + self._attributes = attributes + + @property + def domain(self): + """Gets the domain of this AdminMatchableAttributesConfiguration. # noqa: E501 + + + :return: The domain of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: str + """ + return self._domain + + @domain.setter + def domain(self, domain): + """Sets the domain of this AdminMatchableAttributesConfiguration. + + + :param domain: The domain of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: str + """ + + self._domain = domain + + @property + def project(self): + """Gets the project of this AdminMatchableAttributesConfiguration. # noqa: E501 + + + :return: The project of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: str + """ + return self._project + + @project.setter + def project(self, project): + """Sets the project of this AdminMatchableAttributesConfiguration. + + + :param project: The project of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: str + """ + + self._project = project + + @property + def workflow(self): + """Gets the workflow of this AdminMatchableAttributesConfiguration. # noqa: E501 + + + :return: The workflow of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: str + """ + return self._workflow + + @workflow.setter + def workflow(self, workflow): + """Sets the workflow of this AdminMatchableAttributesConfiguration. + + + :param workflow: The workflow of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: str + """ + + self._workflow = workflow + + @property + def launch_plan(self): + """Gets the launch_plan of this AdminMatchableAttributesConfiguration. # noqa: E501 + + + :return: The launch_plan of this AdminMatchableAttributesConfiguration. # noqa: E501 + :rtype: str + """ + return self._launch_plan + + @launch_plan.setter + def launch_plan(self, launch_plan): + """Sets the launch_plan of this AdminMatchableAttributesConfiguration. + + + :param launch_plan: The launch_plan of this AdminMatchableAttributesConfiguration. # noqa: E501 + :type: str + """ + + self._launch_plan = launch_plan + + def to_dict(self): + """Returns the model properties as a dict""" + result = {} + + for attr, _ in six.iteritems(self.swagger_types): + value = getattr(self, attr) + if isinstance(value, list): + result[attr] = list(map( + lambda x: x.to_dict() if hasattr(x, "to_dict") else x, + value + )) + elif hasattr(value, "to_dict"): + result[attr] = value.to_dict() + elif isinstance(value, dict): + result[attr] = dict(map( + lambda item: (item[0], item[1].to_dict()) + if hasattr(item[1], "to_dict") else item, + value.items() + )) + else: + result[attr] = value + if issubclass(AdminMatchableAttributesConfiguration, dict): + for key, value in self.items(): + result[key] = value + + return result + + def to_str(self): + """Returns the string representation of the model""" + return pprint.pformat(self.to_dict()) + + def __repr__(self): + """For `print` and `pprint`""" + return self.to_str() + + def __eq__(self, other): + """Returns true if both objects are equal""" + if not isinstance(other, AdminMatchableAttributesConfiguration): + return False + + return self.__dict__ == other.__dict__ + + def __ne__(self, other): + """Returns true if both objects are not equal""" + return not self == other diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_list_matchable_attributes_response.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_list_matchable_attributes_response.py new file mode 100644 index 00000000000..a7f0ded9602 --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_list_matchable_attributes_response.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.admin_list_matchable_attributes_response import AdminListMatchableAttributesResponse # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestAdminListMatchableAttributesResponse(unittest.TestCase): + """AdminListMatchableAttributesResponse unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAdminListMatchableAttributesResponse(self): + """Test AdminListMatchableAttributesResponse""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.admin_list_matchable_attributes_response.AdminListMatchableAttributesResponse() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_matchable_attributes_configuration.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_matchable_attributes_configuration.py new file mode 100644 index 00000000000..4c26d21035d --- /dev/null +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_matchable_attributes_configuration.py @@ -0,0 +1,40 @@ +# coding: utf-8 + +""" + flyteidl/service/admin.proto + + No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen) # noqa: E501 + + OpenAPI spec version: version not set + + Generated by: https://github.com/swagger-api/swagger-codegen.git +""" + + +from __future__ import absolute_import + +import unittest + +import flyteadmin +from flyteadmin.models.admin_matchable_attributes_configuration import AdminMatchableAttributesConfiguration # noqa: E501 +from flyteadmin.rest import ApiException + + +class TestAdminMatchableAttributesConfiguration(unittest.TestCase): + """AdminMatchableAttributesConfiguration unit test stubs""" + + def setUp(self): + pass + + def tearDown(self): + pass + + def testAdminMatchableAttributesConfiguration(self): + """Test AdminMatchableAttributesConfiguration""" + # FIXME: construct object with mandatory attributes with example values + # model = flyteadmin.models.admin_matchable_attributes_configuration.AdminMatchableAttributesConfiguration() # noqa: E501 + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py index 456ca357505..01c0ee063f8 100644 --- a/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py +++ b/flyteidl/gen/pb_python/flyteidl/service/flyteadmin/test/test_admin_service_api.py @@ -191,6 +191,12 @@ def test_list_launch_plans2(self): """ pass + def test_list_matchable_attributes(self): + """Test case for list_matchable_attributes + + """ + pass + def test_list_named_entities(self): """Test case for list_named_entities diff --git a/flyteidl/protos/flyteidl/admin/matchable_resource.proto b/flyteidl/protos/flyteidl/admin/matchable_resource.proto index f2f7289859b..25c1830e80f 100644 --- a/flyteidl/protos/flyteidl/admin/matchable_resource.proto +++ b/flyteidl/protos/flyteidl/admin/matchable_resource.proto @@ -64,3 +64,27 @@ message MatchingAttributes { ExecutionClusterLabel execution_cluster_label = 4; } } + +// Represents a custom set of attributes applied for either a domain; a domain and project; or +// domain, project and workflow name. +message MatchableAttributesConfiguration { + MatchingAttributes attributes = 1; + + string domain = 2; + + string project = 3; + + string workflow = 4; + + string launch_plan = 5; +} + +// Request all matching resource attributes. +message ListMatchableAttributesRequest { + MatchableResource resource_type = 1; +} + +// Response for a request for all matching resource attributes. +message ListMatchableAttributesResponse { + repeated MatchableAttributesConfiguration configurations = 1; +} diff --git a/flyteidl/protos/flyteidl/service/admin.proto b/flyteidl/protos/flyteidl/service/admin.proto index 451c6feb91a..9c08f98d6ab 100644 --- a/flyteidl/protos/flyteidl/service/admin.proto +++ b/flyteidl/protos/flyteidl/service/admin.proto @@ -12,6 +12,7 @@ import "flyteidl/admin/workflow_attributes.proto"; import "flyteidl/admin/launch_plan.proto"; import "flyteidl/admin/event.proto"; import "flyteidl/admin/execution.proto"; +import "flyteidl/admin/matchable_resource.proto"; import "flyteidl/admin/node_execution.proto"; import "flyteidl/admin/task_execution.proto"; import "flyteidl/admin/common.proto"; @@ -437,6 +438,16 @@ service AdminService { }; } + rpc ListMatchableAttributes (flyteidl.admin.ListMatchableAttributesRequest) returns (flyteidl.admin.ListMatchableAttributesResponse) { + option (google.api.http) = { + get: "/api/v1/matchable_attributes" + }; + option (grpc.gateway.protoc_gen_swagger.options.openapiv2_operation) = { + description: "Retrieve a list of MatchableAttributesConfiguration objects." + }; + } + + rpc ListNamedEntities (flyteidl.admin.NamedEntityListRequest) returns (flyteidl.admin.NamedEntityList) { option (google.api.http) = { get: "/api/v1/named_entities/{resource_type}/{project}/{domain}"