text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: flyteidl/admin/node_execution.proto
  
  #include "flyteidl/admin/node_execution.pb.h"
  
  #include <algorithm>
  
  #include <google/protobuf/stubs/common.h>
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/extension_set.h>
  #include <google/protobuf/wire_format_lite_inl.h>
  #include <google/protobuf/descriptor.h>
  #include <google/protobuf/generated_message_reflection.h>
  #include <google/protobuf/reflection_ops.h>
  #include <google/protobuf/wire_format.h>
  // @@protoc_insertion_point(includes)
  #include <google/protobuf/port_def.inc>
  
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Sort_flyteidl_2fadmin_2fcommon_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fcommon_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fadmin_2fnode_5fexecution_2eproto ::google::protobuf::internal::SCCInfo<5> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fcatalog_2eproto ::google::protobuf::internal::SCCInfo<3> scc_info_CatalogMetadata_flyteidl_2fcore_2fcatalog_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fcompiler_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_CompiledWorkflowClosure_flyteidl_2fcore_2fcompiler_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fexecution_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fidentifier_2eproto ::google::protobuf::internal::SCCInfo<2> scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_flyteidl_2fcore_2fliterals_2eproto ::google::protobuf::internal::SCCInfo<1> scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2fduration_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Duration_google_2fprotobuf_2fduration_2eproto;
  extern PROTOBUF_INTERNAL_EXPORT_google_2fprotobuf_2ftimestamp_2eproto ::google::protobuf::internal::SCCInfo<0> scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto;
  namespace flyteidl {
  namespace admin {
  class NodeExecutionGetRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionGetRequest> _instance;
  } _NodeExecutionGetRequest_default_instance_;
  class NodeExecutionListRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionListRequest> _instance;
  } _NodeExecutionListRequest_default_instance_;
  class NodeExecutionForTaskListRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionForTaskListRequest> _instance;
  } _NodeExecutionForTaskListRequest_default_instance_;
  class NodeExecutionDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecution> _instance;
  } _NodeExecution_default_instance_;
  class NodeExecutionMetaDataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionMetaData> _instance;
  } _NodeExecutionMetaData_default_instance_;
  class NodeExecutionListDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionList> _instance;
  } _NodeExecutionList_default_instance_;
  class NodeExecutionClosureDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionClosure> _instance;
    ::google::protobuf::internal::ArenaStringPtr output_uri_;
    const ::flyteidl::core::ExecutionError* error_;
    const ::flyteidl::admin::WorkflowNodeMetadata* workflow_node_metadata_;
    const ::flyteidl::admin::TaskNodeMetadata* task_node_metadata_;
  } _NodeExecutionClosure_default_instance_;
  class WorkflowNodeMetadataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<WorkflowNodeMetadata> _instance;
  } _WorkflowNodeMetadata_default_instance_;
  class TaskNodeMetadataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<TaskNodeMetadata> _instance;
  } _TaskNodeMetadata_default_instance_;
  class DynamicWorkflowNodeMetadataDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<DynamicWorkflowNodeMetadata> _instance;
  } _DynamicWorkflowNodeMetadata_default_instance_;
  class NodeExecutionGetDataRequestDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionGetDataRequest> _instance;
  } _NodeExecutionGetDataRequest_default_instance_;
  class NodeExecutionGetDataResponseDefaultTypeInternal {
   public:
    ::google::protobuf::internal::ExplicitlyConstructed<NodeExecutionGetDataResponse> _instance;
  } _NodeExecutionGetDataResponse_default_instance_;
  }  // namespace admin
  }  // namespace flyteidl
  static void InitDefaultsNodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionGetRequest_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionGetRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionGetRequest::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsNodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionListRequest_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionListRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionListRequest::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<2> scc_info_NodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsNodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,
        &scc_info_Sort_flyteidl_2fadmin_2fcommon_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionForTaskListRequest_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionForTaskListRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionForTaskListRequest::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<2> scc_info_NodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsNodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_TaskExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,
        &scc_info_Sort_flyteidl_2fadmin_2fcommon_2eproto.base,}};
  
  static void InitDefaultsNodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecution_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecution();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecution::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<3> scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 3, InitDefaultsNodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,
        &scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,
        &scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionMetaData_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionMetaData();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionMetaData::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<0> scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 0, InitDefaultsNodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {}};
  
  static void InitDefaultsNodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionList_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionList();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionList::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsNodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionClosure_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionClosure();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionClosure::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<5> scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 5, InitDefaultsNodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_ExecutionError_flyteidl_2fcore_2fexecution_2eproto.base,
        &scc_info_Timestamp_google_2fprotobuf_2ftimestamp_2eproto.base,
        &scc_info_Duration_google_2fprotobuf_2fduration_2eproto.base,
        &scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,
        &scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,}};
  
  static void InitDefaultsWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_WorkflowNodeMetadata_default_instance_;
      new (ptr) ::flyteidl::admin::WorkflowNodeMetadata();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::WorkflowNodeMetadata::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<1> scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_WorkflowExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,}};
  
  static void InitDefaultsTaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_TaskNodeMetadata_default_instance_;
      new (ptr) ::flyteidl::admin::TaskNodeMetadata();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::TaskNodeMetadata::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<2> scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsTaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_CatalogMetadata_flyteidl_2fcore_2fcatalog_2eproto.base,
        &scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base,}};
  
  static void InitDefaultsDynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_DynamicWorkflowNodeMetadata_default_instance_;
      new (ptr) ::flyteidl::admin::DynamicWorkflowNodeMetadata();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::DynamicWorkflowNodeMetadata::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<2> scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsDynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_Identifier_flyteidl_2fcore_2fidentifier_2eproto.base,
        &scc_info_CompiledWorkflowClosure_flyteidl_2fcore_2fcompiler_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionGetDataRequest_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionGetDataRequest();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionGetDataRequest::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<1> scc_info_NodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 1, InitDefaultsNodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_NodeExecutionIdentifier_flyteidl_2fcore_2fidentifier_2eproto.base,}};
  
  static void InitDefaultsNodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    GOOGLE_PROTOBUF_VERIFY_VERSION;
  
    {
      void* ptr = &::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_;
      new (ptr) ::flyteidl::admin::NodeExecutionGetDataResponse();
      ::google::protobuf::internal::OnShutdownDestroyMessage(ptr);
    }
    ::flyteidl::admin::NodeExecutionGetDataResponse::InitAsDefaultInstance();
  }
  
  ::google::protobuf::internal::SCCInfo<2> scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto =
      {{ATOMIC_VAR_INIT(::google::protobuf::internal::SCCInfoBase::kUninitialized), 2, InitDefaultsNodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto}, {
        &scc_info_UrlBlob_flyteidl_2fadmin_2fcommon_2eproto.base,
        &scc_info_Literal_flyteidl_2fcore_2fliterals_2eproto.base,}};
  
  void InitDefaults_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::google::protobuf::internal::InitSCC(&scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
  }
  
  ::google::protobuf::Metadata file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[12];
  constexpr ::google::protobuf::EnumDescriptor const** file_level_enum_descriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto = nullptr;
  constexpr ::google::protobuf::ServiceDescriptor const** file_level_service_descriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto = nullptr;
  
  const ::google::protobuf::uint32 TableStruct_flyteidl_2fadmin_2fnode_5fexecution_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetRequest, id_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, workflow_execution_id_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, limit_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, token_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, filters_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, sort_by_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionListRequest, unique_parent_id_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, task_execution_id_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, limit_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, token_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, filters_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionForTaskListRequest, sort_by_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecution, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecution, id_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecution, input_uri_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecution, closure_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecution, metadata_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionMetaData, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionMetaData, retry_group_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionMetaData, is_parent_node_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionMetaData, spec_node_id_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionList, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionList, node_executions_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionList, token_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, _internal_metadata_),
    ~0u,  // no _extensions_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, _oneof_case_[0]),
    ~0u,  // no _weak_field_map_
    offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, output_uri_),
    offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, error_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, phase_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, started_at_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, duration_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, created_at_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, updated_at_),
    offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, workflow_node_metadata_),
    offsetof(::flyteidl::admin::NodeExecutionClosureDefaultTypeInternal, task_node_metadata_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, output_result_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionClosure, target_metadata_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowNodeMetadata, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::WorkflowNodeMetadata, executionid_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskNodeMetadata, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskNodeMetadata, cache_status_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskNodeMetadata, catalog_key_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::TaskNodeMetadata, dynamic_workflow_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::DynamicWorkflowNodeMetadata, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::DynamicWorkflowNodeMetadata, id_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::DynamicWorkflowNodeMetadata, compiled_workflow_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataRequest, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataRequest, id_),
    ~0u,  // no _has_bits_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, _internal_metadata_),
    ~0u,  // no _extensions_
    ~0u,  // no _oneof_case_
    ~0u,  // no _weak_field_map_
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, inputs_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, outputs_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, full_inputs_),
    PROTOBUF_FIELD_OFFSET(::flyteidl::admin::NodeExecutionGetDataResponse, full_outputs_),
  };
  static const ::google::protobuf::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
    { 0, -1, sizeof(::flyteidl::admin::NodeExecutionGetRequest)},
    { 6, -1, sizeof(::flyteidl::admin::NodeExecutionListRequest)},
    { 17, -1, sizeof(::flyteidl::admin::NodeExecutionForTaskListRequest)},
    { 27, -1, sizeof(::flyteidl::admin::NodeExecution)},
    { 36, -1, sizeof(::flyteidl::admin::NodeExecutionMetaData)},
    { 44, -1, sizeof(::flyteidl::admin::NodeExecutionList)},
    { 51, -1, sizeof(::flyteidl::admin::NodeExecutionClosure)},
    { 67, -1, sizeof(::flyteidl::admin::WorkflowNodeMetadata)},
    { 73, -1, sizeof(::flyteidl::admin::TaskNodeMetadata)},
    { 81, -1, sizeof(::flyteidl::admin::DynamicWorkflowNodeMetadata)},
    { 88, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataRequest)},
    { 94, -1, sizeof(::flyteidl::admin::NodeExecutionGetDataResponse)},
  };
  
  static ::google::protobuf::Message const * const file_default_instances[] = {
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionGetRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionListRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionForTaskListRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecution_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionMetaData_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionList_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionClosure_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_WorkflowNodeMetadata_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_TaskNodeMetadata_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_DynamicWorkflowNodeMetadata_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionGetDataRequest_default_instance_),
    reinterpret_cast<const ::google::protobuf::Message*>(&::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_),
  };
  
  ::google::protobuf::internal::AssignDescriptorsTable assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto = {
    {}, AddDescriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto, "flyteidl/admin/node_execution.proto", schemas,
    file_default_instances, TableStruct_flyteidl_2fadmin_2fnode_5fexecution_2eproto::offsets,
    file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 12, file_level_enum_descriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto, file_level_service_descriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto,
  };
  
  const char descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto[] =
    "\n#flyteidl/admin/node_execution.proto\022\016f"
    "lyteidl.admin\032\033flyteidl/admin/common.pro"
    "to\032\035flyteidl/core/execution.proto\032\033flyte"
    "idl/core/catalog.proto\032\034flyteidl/core/co"
    "mpiler.proto\032\036flyteidl/core/identifier.p"
    "roto\032\034flyteidl/core/literals.proto\032\037goog"
    "le/protobuf/timestamp.proto\032\036google/prot"
    "obuf/duration.proto\"M\n\027NodeExecutionGetR"
    "equest\0222\n\002id\030\001 \001(\0132&.flyteidl.core.NodeE"
    "xecutionIdentifier\"\325\001\n\030NodeExecutionList"
    "Request\022I\n\025workflow_execution_id\030\001 \001(\0132*"
    ".flyteidl.core.WorkflowExecutionIdentifi"
    "er\022\r\n\005limit\030\002 \001(\r\022\r\n\005token\030\003 \001(\t\022\017\n\007filt"
    "ers\030\004 \001(\t\022%\n\007sort_by\030\005 \001(\0132\024.flyteidl.ad"
    "min.Sort\022\030\n\020unique_parent_id\030\006 \001(\t\"\272\001\n\037N"
    "odeExecutionForTaskListRequest\022A\n\021task_e"
    "xecution_id\030\001 \001(\0132&.flyteidl.core.TaskEx"
    "ecutionIdentifier\022\r\n\005limit\030\002 \001(\r\022\r\n\005toke"
    "n\030\003 \001(\t\022\017\n\007filters\030\004 \001(\t\022%\n\007sort_by\030\005 \001("
    "\0132\024.flyteidl.admin.Sort\"\306\001\n\rNodeExecutio"
    "n\0222\n\002id\030\001 \001(\0132&.flyteidl.core.NodeExecut"
    "ionIdentifier\022\021\n\tinput_uri\030\002 \001(\t\0225\n\007clos"
    "ure\030\003 \001(\0132$.flyteidl.admin.NodeExecution"
    "Closure\0227\n\010metadata\030\004 \001(\0132%.flyteidl.adm"
    "in.NodeExecutionMetaData\"Z\n\025NodeExecutio"
    "nMetaData\022\023\n\013retry_group\030\001 \001(\t\022\026\n\016is_par"
    "ent_node\030\002 \001(\010\022\024\n\014spec_node_id\030\003 \001(\t\"Z\n\021"
    "NodeExecutionList\0226\n\017node_executions\030\001 \003"
    "(\0132\035.flyteidl.admin.NodeExecution\022\r\n\005tok"
    "en\030\002 \001(\t\"\370\003\n\024NodeExecutionClosure\022\024\n\nout"
    "put_uri\030\001 \001(\tH\000\022.\n\005error\030\002 \001(\0132\035.flyteid"
    "l.core.ExecutionErrorH\000\0221\n\005phase\030\003 \001(\0162\""
    ".flyteidl.core.NodeExecution.Phase\022.\n\nst"
    "arted_at\030\004 \001(\0132\032.google.protobuf.Timesta"
    "mp\022+\n\010duration\030\005 \001(\0132\031.google.protobuf.D"
    "uration\022.\n\ncreated_at\030\006 \001(\0132\032.google.pro"
    "tobuf.Timestamp\022.\n\nupdated_at\030\007 \001(\0132\032.go"
    "ogle.protobuf.Timestamp\022F\n\026workflow_node"
    "_metadata\030\010 \001(\0132$.flyteidl.admin.Workflo"
    "wNodeMetadataH\001\022>\n\022task_node_metadata\030\t "
    "\001(\0132 .flyteidl.admin.TaskNodeMetadataH\001B"
    "\017\n\routput_resultB\021\n\017target_metadata\"W\n\024W"
    "orkflowNodeMetadata\022\?\n\013executionId\030\001 \001(\013"
    "2*.flyteidl.core.WorkflowExecutionIdenti"
    "fier\"\307\001\n\020TaskNodeMetadata\0227\n\014cache_statu"
    "s\030\001 \001(\0162!.flyteidl.core.CatalogCacheStat"
    "us\0223\n\013catalog_key\030\002 \001(\0132\036.flyteidl.core."
    "CatalogMetadata\022E\n\020dynamic_workflow\030\020 \001("
    "\0132+.flyteidl.admin.DynamicWorkflowNodeMe"
    "tadata\"\207\001\n\033DynamicWorkflowNodeMetadata\022%"
    "\n\002id\030\001 \001(\0132\031.flyteidl.core.Identifier\022A\n"
    "\021compiled_workflow\030\002 \001(\0132&.flyteidl.core"
    ".CompiledWorkflowClosure\"Q\n\033NodeExecutio"
    "nGetDataRequest\0222\n\002id\030\001 \001(\0132&.flyteidl.c"
    "ore.NodeExecutionIdentifier\"\322\001\n\034NodeExec"
    "utionGetDataResponse\022\'\n\006inputs\030\001 \001(\0132\027.f"
    "lyteidl.admin.UrlBlob\022(\n\007outputs\030\002 \001(\0132\027"
    ".flyteidl.admin.UrlBlob\022.\n\013full_inputs\030\003"
    " \001(\0132\031.flyteidl.core.LiteralMap\022/\n\014full_"
    "outputs\030\004 \001(\0132\031.flyteidl.core.LiteralMap"
    "B7Z5github.com/flyteorg/flyteidl/gen/pb-"
    "go/flyteidl/adminb\006proto3"
    ;
  ::google::protobuf::internal::DescriptorTable descriptor_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto = {
    false, InitDefaults_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 
    descriptor_table_protodef_flyteidl_2fadmin_2fnode_5fexecution_2eproto,
    "flyteidl/admin/node_execution.proto", &assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, 2465,
  };
  
  void AddDescriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto() {
    static constexpr ::google::protobuf::internal::InitFunc deps[8] =
    {
      ::AddDescriptors_flyteidl_2fadmin_2fcommon_2eproto,
      ::AddDescriptors_flyteidl_2fcore_2fexecution_2eproto,
      ::AddDescriptors_flyteidl_2fcore_2fcatalog_2eproto,
      ::AddDescriptors_flyteidl_2fcore_2fcompiler_2eproto,
      ::AddDescriptors_flyteidl_2fcore_2fidentifier_2eproto,
      ::AddDescriptors_flyteidl_2fcore_2fliterals_2eproto,
      ::AddDescriptors_google_2fprotobuf_2ftimestamp_2eproto,
      ::AddDescriptors_google_2fprotobuf_2fduration_2eproto,
    };
   ::google::protobuf::internal::AddDescriptors(&descriptor_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto, deps, 8);
  }
  
  // Force running AddDescriptors() at dynamic initialization time.
  static bool dynamic_init_dummy_flyteidl_2fadmin_2fnode_5fexecution_2eproto = []() { AddDescriptors_flyteidl_2fadmin_2fnode_5fexecution_2eproto(); return true; }();
  namespace flyteidl {
  namespace admin {
  
  // ===================================================================
  
  void NodeExecutionGetRequest::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionGetRequest_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::NodeExecutionIdentifier*>(
        ::flyteidl::core::NodeExecutionIdentifier::internal_default_instance());
  }
  class NodeExecutionGetRequest::HasBitSetters {
   public:
    static const ::flyteidl::core::NodeExecutionIdentifier& id(const NodeExecutionGetRequest* msg);
  };
  
  const ::flyteidl::core::NodeExecutionIdentifier&
  NodeExecutionGetRequest::HasBitSetters::id(const NodeExecutionGetRequest* msg) {
    return *msg->id_;
  }
  void NodeExecutionGetRequest::clear_id() {
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionGetRequest::kIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionGetRequest::NodeExecutionGetRequest()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionGetRequest)
  }
  NodeExecutionGetRequest::NodeExecutionGetRequest(const NodeExecutionGetRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_id()) {
      id_ = new ::flyteidl::core::NodeExecutionIdentifier(*from.id_);
    } else {
      id_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionGetRequest)
  }
  
  void NodeExecutionGetRequest::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    id_ = nullptr;
  }
  
  NodeExecutionGetRequest::~NodeExecutionGetRequest() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionGetRequest)
    SharedDtor();
  }
  
  void NodeExecutionGetRequest::SharedDtor() {
    if (this != internal_default_instance()) delete id_;
  }
  
  void NodeExecutionGetRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionGetRequest& NodeExecutionGetRequest::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionGetRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionGetRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionGetRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionGetRequest::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionGetRequest*>(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.core.NodeExecutionIdentifier id = 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::core::NodeExecutionIdentifier::_InternalParse;
          object = msg->mutable_id();
          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;
        }
        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 NodeExecutionGetRequest::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.NodeExecutionGetRequest)
    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.core.NodeExecutionIdentifier id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_id()));
          } 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.NodeExecutionGetRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionGetRequest)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionGetRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionGetRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::id(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionGetRequest)
  }
  
  ::google::protobuf::uint8* NodeExecutionGetRequest::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionGetRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::id(this), 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.NodeExecutionGetRequest)
    return target;
  }
  
  size_t NodeExecutionGetRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionGetRequest)
    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.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *id_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionGetRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionGetRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionGetRequest* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionGetRequest>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionGetRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionGetRequest)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionGetRequest::MergeFrom(const NodeExecutionGetRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionGetRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_id()) {
      mutable_id()->::flyteidl::core::NodeExecutionIdentifier::MergeFrom(from.id());
    }
  }
  
  void NodeExecutionGetRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionGetRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionGetRequest::CopyFrom(const NodeExecutionGetRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionGetRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionGetRequest::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionGetRequest::Swap(NodeExecutionGetRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionGetRequest::InternalSwap(NodeExecutionGetRequest* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(id_, other->id_);
  }
  
  ::google::protobuf::Metadata NodeExecutionGetRequest::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionListRequest::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionListRequest_default_instance_._instance.get_mutable()->workflow_execution_id_ = const_cast< ::flyteidl::core::WorkflowExecutionIdentifier*>(
        ::flyteidl::core::WorkflowExecutionIdentifier::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionListRequest_default_instance_._instance.get_mutable()->sort_by_ = const_cast< ::flyteidl::admin::Sort*>(
        ::flyteidl::admin::Sort::internal_default_instance());
  }
  class NodeExecutionListRequest::HasBitSetters {
   public:
    static const ::flyteidl::core::WorkflowExecutionIdentifier& workflow_execution_id(const NodeExecutionListRequest* msg);
    static const ::flyteidl::admin::Sort& sort_by(const NodeExecutionListRequest* msg);
  };
  
  const ::flyteidl::core::WorkflowExecutionIdentifier&
  NodeExecutionListRequest::HasBitSetters::workflow_execution_id(const NodeExecutionListRequest* msg) {
    return *msg->workflow_execution_id_;
  }
  const ::flyteidl::admin::Sort&
  NodeExecutionListRequest::HasBitSetters::sort_by(const NodeExecutionListRequest* msg) {
    return *msg->sort_by_;
  }
  void NodeExecutionListRequest::clear_workflow_execution_id() {
    if (GetArenaNoVirtual() == nullptr && workflow_execution_id_ != nullptr) {
      delete workflow_execution_id_;
    }
    workflow_execution_id_ = nullptr;
  }
  void NodeExecutionListRequest::clear_sort_by() {
    if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) {
      delete sort_by_;
    }
    sort_by_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionListRequest::kWorkflowExecutionIdFieldNumber;
  const int NodeExecutionListRequest::kLimitFieldNumber;
  const int NodeExecutionListRequest::kTokenFieldNumber;
  const int NodeExecutionListRequest::kFiltersFieldNumber;
  const int NodeExecutionListRequest::kSortByFieldNumber;
  const int NodeExecutionListRequest::kUniqueParentIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionListRequest::NodeExecutionListRequest()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionListRequest)
  }
  NodeExecutionListRequest::NodeExecutionListRequest(const NodeExecutionListRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.token().size() > 0) {
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.filters().size() > 0) {
      filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_);
    }
    unique_parent_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.unique_parent_id().size() > 0) {
      unique_parent_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.unique_parent_id_);
    }
    if (from.has_workflow_execution_id()) {
      workflow_execution_id_ = new ::flyteidl::core::WorkflowExecutionIdentifier(*from.workflow_execution_id_);
    } else {
      workflow_execution_id_ = nullptr;
    }
    if (from.has_sort_by()) {
      sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_);
    } else {
      sort_by_ = nullptr;
    }
    limit_ = from.limit_;
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionListRequest)
  }
  
  void NodeExecutionListRequest::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    unique_parent_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&workflow_execution_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&limit_) -
        reinterpret_cast<char*>(&workflow_execution_id_)) + sizeof(limit_));
  }
  
  NodeExecutionListRequest::~NodeExecutionListRequest() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionListRequest)
    SharedDtor();
  }
  
  void NodeExecutionListRequest::SharedDtor() {
    token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    unique_parent_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete workflow_execution_id_;
    if (this != internal_default_instance()) delete sort_by_;
  }
  
  void NodeExecutionListRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionListRequest& NodeExecutionListRequest::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionListRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    unique_parent_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == nullptr && workflow_execution_id_ != nullptr) {
      delete workflow_execution_id_;
    }
    workflow_execution_id_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) {
      delete sort_by_;
    }
    sort_by_ = nullptr;
    limit_ = 0u;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionListRequest::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionListRequest*>(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.core.WorkflowExecutionIdentifier workflow_execution_id = 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::core::WorkflowExecutionIdentifier::_InternalParse;
          object = msg->mutable_workflow_execution_id();
          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;
        }
        // uint32 limit = 2;
        case 2: {
          if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
          msg->set_limit(::google::protobuf::internal::ReadVarint(&ptr));
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          break;
        }
        // string token = 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.NodeExecutionListRequest.token");
          object = msg->mutable_token();
          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 filters = 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.NodeExecutionListRequest.filters");
          object = msg->mutable_filters();
          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;
        }
        // .flyteidl.admin.Sort sort_by = 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);
          parser_till_end = ::flyteidl::admin::Sort::_InternalParse;
          object = msg->mutable_sort_by();
          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 unique_parent_id = 6;
        case 6: {
          if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          ctx->extra_parse_data().SetFieldName("flyteidl.admin.NodeExecutionListRequest.unique_parent_id");
          object = msg->mutable_unique_parent_id();
          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 NodeExecutionListRequest::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.NodeExecutionListRequest)
    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.core.WorkflowExecutionIdentifier workflow_execution_id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_workflow_execution_id()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // uint32 limit = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                   input, &limit_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string token = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->token().data(), static_cast<int>(this->token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionListRequest.token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string filters = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_filters()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->filters().data(), static_cast<int>(this->filters().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionListRequest.filters"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.Sort sort_by = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_sort_by()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string unique_parent_id = 6;
        case 6: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_unique_parent_id()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->unique_parent_id().data(), static_cast<int>(this->unique_parent_id().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionListRequest.unique_parent_id"));
          } 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.NodeExecutionListRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionListRequest)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionListRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1;
    if (this->has_workflow_execution_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::workflow_execution_id(this), output);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->limit(), output);
    }
  
    // string token = 3;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->token(), output);
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->filters().data(), static_cast<int>(this->filters().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.filters");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        4, this->filters(), output);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        5, HasBitSetters::sort_by(this), output);
    }
  
    // string unique_parent_id = 6;
    if (this->unique_parent_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->unique_parent_id().data(), static_cast<int>(this->unique_parent_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.unique_parent_id");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        6, this->unique_parent_id(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionListRequest)
  }
  
  ::google::protobuf::uint8* NodeExecutionListRequest::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1;
    if (this->has_workflow_execution_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::workflow_execution_id(this), target);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->limit(), target);
    }
  
    // string token = 3;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->token(), target);
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->filters().data(), static_cast<int>(this->filters().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.filters");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          4, this->filters(), target);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          5, HasBitSetters::sort_by(this), target);
    }
  
    // string unique_parent_id = 6;
    if (this->unique_parent_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->unique_parent_id().data(), static_cast<int>(this->unique_parent_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionListRequest.unique_parent_id");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          6, this->unique_parent_id(), 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.NodeExecutionListRequest)
    return target;
  }
  
  size_t NodeExecutionListRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionListRequest)
    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 token = 3;
    if (this->token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->token());
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->filters());
    }
  
    // string unique_parent_id = 6;
    if (this->unique_parent_id().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->unique_parent_id());
    }
  
    // .flyteidl.core.WorkflowExecutionIdentifier workflow_execution_id = 1;
    if (this->has_workflow_execution_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *workflow_execution_id_);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *sort_by_);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->limit());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionListRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionListRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionListRequest* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionListRequest>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionListRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionListRequest)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionListRequest::MergeFrom(const NodeExecutionListRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionListRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.token().size() > 0) {
  
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (from.filters().size() > 0) {
  
      filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_);
    }
    if (from.unique_parent_id().size() > 0) {
  
      unique_parent_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.unique_parent_id_);
    }
    if (from.has_workflow_execution_id()) {
      mutable_workflow_execution_id()->::flyteidl::core::WorkflowExecutionIdentifier::MergeFrom(from.workflow_execution_id());
    }
    if (from.has_sort_by()) {
      mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by());
    }
    if (from.limit() != 0) {
      set_limit(from.limit());
    }
  }
  
  void NodeExecutionListRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionListRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionListRequest::CopyFrom(const NodeExecutionListRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionListRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionListRequest::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionListRequest::Swap(NodeExecutionListRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionListRequest::InternalSwap(NodeExecutionListRequest* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    filters_.Swap(&other->filters_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    unique_parent_id_.Swap(&other->unique_parent_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    swap(workflow_execution_id_, other->workflow_execution_id_);
    swap(sort_by_, other->sort_by_);
    swap(limit_, other->limit_);
  }
  
  ::google::protobuf::Metadata NodeExecutionListRequest::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionForTaskListRequest::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionForTaskListRequest_default_instance_._instance.get_mutable()->task_execution_id_ = const_cast< ::flyteidl::core::TaskExecutionIdentifier*>(
        ::flyteidl::core::TaskExecutionIdentifier::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionForTaskListRequest_default_instance_._instance.get_mutable()->sort_by_ = const_cast< ::flyteidl::admin::Sort*>(
        ::flyteidl::admin::Sort::internal_default_instance());
  }
  class NodeExecutionForTaskListRequest::HasBitSetters {
   public:
    static const ::flyteidl::core::TaskExecutionIdentifier& task_execution_id(const NodeExecutionForTaskListRequest* msg);
    static const ::flyteidl::admin::Sort& sort_by(const NodeExecutionForTaskListRequest* msg);
  };
  
  const ::flyteidl::core::TaskExecutionIdentifier&
  NodeExecutionForTaskListRequest::HasBitSetters::task_execution_id(const NodeExecutionForTaskListRequest* msg) {
    return *msg->task_execution_id_;
  }
  const ::flyteidl::admin::Sort&
  NodeExecutionForTaskListRequest::HasBitSetters::sort_by(const NodeExecutionForTaskListRequest* msg) {
    return *msg->sort_by_;
  }
  void NodeExecutionForTaskListRequest::clear_task_execution_id() {
    if (GetArenaNoVirtual() == nullptr && task_execution_id_ != nullptr) {
      delete task_execution_id_;
    }
    task_execution_id_ = nullptr;
  }
  void NodeExecutionForTaskListRequest::clear_sort_by() {
    if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) {
      delete sort_by_;
    }
    sort_by_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionForTaskListRequest::kTaskExecutionIdFieldNumber;
  const int NodeExecutionForTaskListRequest::kLimitFieldNumber;
  const int NodeExecutionForTaskListRequest::kTokenFieldNumber;
  const int NodeExecutionForTaskListRequest::kFiltersFieldNumber;
  const int NodeExecutionForTaskListRequest::kSortByFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionForTaskListRequest::NodeExecutionForTaskListRequest()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionForTaskListRequest)
  }
  NodeExecutionForTaskListRequest::NodeExecutionForTaskListRequest(const NodeExecutionForTaskListRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.token().size() > 0) {
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.filters().size() > 0) {
      filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_);
    }
    if (from.has_task_execution_id()) {
      task_execution_id_ = new ::flyteidl::core::TaskExecutionIdentifier(*from.task_execution_id_);
    } else {
      task_execution_id_ = nullptr;
    }
    if (from.has_sort_by()) {
      sort_by_ = new ::flyteidl::admin::Sort(*from.sort_by_);
    } else {
      sort_by_ = nullptr;
    }
    limit_ = from.limit_;
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionForTaskListRequest)
  }
  
  void NodeExecutionForTaskListRequest::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&task_execution_id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&limit_) -
        reinterpret_cast<char*>(&task_execution_id_)) + sizeof(limit_));
  }
  
  NodeExecutionForTaskListRequest::~NodeExecutionForTaskListRequest() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionForTaskListRequest)
    SharedDtor();
  }
  
  void NodeExecutionForTaskListRequest::SharedDtor() {
    token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete task_execution_id_;
    if (this != internal_default_instance()) delete sort_by_;
  }
  
  void NodeExecutionForTaskListRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionForTaskListRequest& NodeExecutionForTaskListRequest::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionForTaskListRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionForTaskListRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    filters_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == nullptr && task_execution_id_ != nullptr) {
      delete task_execution_id_;
    }
    task_execution_id_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && sort_by_ != nullptr) {
      delete sort_by_;
    }
    sort_by_ = nullptr;
    limit_ = 0u;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionForTaskListRequest::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionForTaskListRequest*>(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.core.TaskExecutionIdentifier task_execution_id = 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::core::TaskExecutionIdentifier::_InternalParse;
          object = msg->mutable_task_execution_id();
          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;
        }
        // uint32 limit = 2;
        case 2: {
          if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
          msg->set_limit(::google::protobuf::internal::ReadVarint(&ptr));
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          break;
        }
        // string token = 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.NodeExecutionForTaskListRequest.token");
          object = msg->mutable_token();
          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 filters = 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.NodeExecutionForTaskListRequest.filters");
          object = msg->mutable_filters();
          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;
        }
        // .flyteidl.admin.Sort sort_by = 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);
          parser_till_end = ::flyteidl::admin::Sort::_InternalParse;
          object = msg->mutable_sort_by();
          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;
        }
        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 NodeExecutionForTaskListRequest::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.NodeExecutionForTaskListRequest)
    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.core.TaskExecutionIdentifier task_execution_id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_task_execution_id()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // uint32 limit = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     ::google::protobuf::uint32, ::google::protobuf::internal::WireFormatLite::TYPE_UINT32>(
                   input, &limit_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string token = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->token().data(), static_cast<int>(this->token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionForTaskListRequest.token"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string filters = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_filters()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->filters().data(), static_cast<int>(this->filters().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionForTaskListRequest.filters"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.Sort sort_by = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_sort_by()));
          } 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.NodeExecutionForTaskListRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionForTaskListRequest)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionForTaskListRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.TaskExecutionIdentifier task_execution_id = 1;
    if (this->has_task_execution_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::task_execution_id(this), output);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteUInt32(2, this->limit(), output);
    }
  
    // string token = 3;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionForTaskListRequest.token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->token(), output);
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->filters().data(), static_cast<int>(this->filters().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionForTaskListRequest.filters");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        4, this->filters(), output);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        5, HasBitSetters::sort_by(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionForTaskListRequest)
  }
  
  ::google::protobuf::uint8* NodeExecutionForTaskListRequest::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.TaskExecutionIdentifier task_execution_id = 1;
    if (this->has_task_execution_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::task_execution_id(this), target);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteUInt32ToArray(2, this->limit(), target);
    }
  
    // string token = 3;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionForTaskListRequest.token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->token(), target);
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->filters().data(), static_cast<int>(this->filters().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionForTaskListRequest.filters");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          4, this->filters(), target);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          5, HasBitSetters::sort_by(this), 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.NodeExecutionForTaskListRequest)
    return target;
  }
  
  size_t NodeExecutionForTaskListRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    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 token = 3;
    if (this->token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->token());
    }
  
    // string filters = 4;
    if (this->filters().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->filters());
    }
  
    // .flyteidl.core.TaskExecutionIdentifier task_execution_id = 1;
    if (this->has_task_execution_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *task_execution_id_);
    }
  
    // .flyteidl.admin.Sort sort_by = 5;
    if (this->has_sort_by()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *sort_by_);
    }
  
    // uint32 limit = 2;
    if (this->limit() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::UInt32Size(
          this->limit());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionForTaskListRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionForTaskListRequest* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionForTaskListRequest>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionForTaskListRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionForTaskListRequest)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionForTaskListRequest::MergeFrom(const NodeExecutionForTaskListRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.token().size() > 0) {
  
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    if (from.filters().size() > 0) {
  
      filters_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.filters_);
    }
    if (from.has_task_execution_id()) {
      mutable_task_execution_id()->::flyteidl::core::TaskExecutionIdentifier::MergeFrom(from.task_execution_id());
    }
    if (from.has_sort_by()) {
      mutable_sort_by()->::flyteidl::admin::Sort::MergeFrom(from.sort_by());
    }
    if (from.limit() != 0) {
      set_limit(from.limit());
    }
  }
  
  void NodeExecutionForTaskListRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionForTaskListRequest::CopyFrom(const NodeExecutionForTaskListRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionForTaskListRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionForTaskListRequest::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionForTaskListRequest::Swap(NodeExecutionForTaskListRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionForTaskListRequest::InternalSwap(NodeExecutionForTaskListRequest* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    filters_.Swap(&other->filters_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    swap(task_execution_id_, other->task_execution_id_);
    swap(sort_by_, other->sort_by_);
    swap(limit_, other->limit_);
  }
  
  ::google::protobuf::Metadata NodeExecutionForTaskListRequest::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecution::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecution_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::NodeExecutionIdentifier*>(
        ::flyteidl::core::NodeExecutionIdentifier::internal_default_instance());
    ::flyteidl::admin::_NodeExecution_default_instance_._instance.get_mutable()->closure_ = const_cast< ::flyteidl::admin::NodeExecutionClosure*>(
        ::flyteidl::admin::NodeExecutionClosure::internal_default_instance());
    ::flyteidl::admin::_NodeExecution_default_instance_._instance.get_mutable()->metadata_ = const_cast< ::flyteidl::admin::NodeExecutionMetaData*>(
        ::flyteidl::admin::NodeExecutionMetaData::internal_default_instance());
  }
  class NodeExecution::HasBitSetters {
   public:
    static const ::flyteidl::core::NodeExecutionIdentifier& id(const NodeExecution* msg);
    static const ::flyteidl::admin::NodeExecutionClosure& closure(const NodeExecution* msg);
    static const ::flyteidl::admin::NodeExecutionMetaData& metadata(const NodeExecution* msg);
  };
  
  const ::flyteidl::core::NodeExecutionIdentifier&
  NodeExecution::HasBitSetters::id(const NodeExecution* msg) {
    return *msg->id_;
  }
  const ::flyteidl::admin::NodeExecutionClosure&
  NodeExecution::HasBitSetters::closure(const NodeExecution* msg) {
    return *msg->closure_;
  }
  const ::flyteidl::admin::NodeExecutionMetaData&
  NodeExecution::HasBitSetters::metadata(const NodeExecution* msg) {
    return *msg->metadata_;
  }
  void NodeExecution::clear_id() {
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecution::kIdFieldNumber;
  const int NodeExecution::kInputUriFieldNumber;
  const int NodeExecution::kClosureFieldNumber;
  const int NodeExecution::kMetadataFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecution::NodeExecution()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecution)
  }
  NodeExecution::NodeExecution(const NodeExecution& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    input_uri_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.input_uri().size() > 0) {
      input_uri_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.input_uri_);
    }
    if (from.has_id()) {
      id_ = new ::flyteidl::core::NodeExecutionIdentifier(*from.id_);
    } else {
      id_ = nullptr;
    }
    if (from.has_closure()) {
      closure_ = new ::flyteidl::admin::NodeExecutionClosure(*from.closure_);
    } else {
      closure_ = nullptr;
    }
    if (from.has_metadata()) {
      metadata_ = new ::flyteidl::admin::NodeExecutionMetaData(*from.metadata_);
    } else {
      metadata_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecution)
  }
  
  void NodeExecution::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    input_uri_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::memset(&id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&metadata_) -
        reinterpret_cast<char*>(&id_)) + sizeof(metadata_));
  }
  
  NodeExecution::~NodeExecution() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecution)
    SharedDtor();
  }
  
  void NodeExecution::SharedDtor() {
    input_uri_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (this != internal_default_instance()) delete id_;
    if (this != internal_default_instance()) delete closure_;
    if (this != internal_default_instance()) delete metadata_;
  }
  
  void NodeExecution::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecution& NodeExecution::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecution_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecution::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecution)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    input_uri_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && closure_ != nullptr) {
      delete closure_;
    }
    closure_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && metadata_ != nullptr) {
      delete metadata_;
    }
    metadata_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecution::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecution*>(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.core.NodeExecutionIdentifier id = 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::core::NodeExecutionIdentifier::_InternalParse;
          object = msg->mutable_id();
          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 input_uri = 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.NodeExecution.input_uri");
          object = msg->mutable_input_uri();
          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;
        }
        // .flyteidl.admin.NodeExecutionClosure closure = 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);
          parser_till_end = ::flyteidl::admin::NodeExecutionClosure::_InternalParse;
          object = msg->mutable_closure();
          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;
        }
        // .flyteidl.admin.NodeExecutionMetaData metadata = 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);
          parser_till_end = ::flyteidl::admin::NodeExecutionMetaData::_InternalParse;
          object = msg->mutable_metadata();
          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;
        }
        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 NodeExecution::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.NodeExecution)
    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.core.NodeExecutionIdentifier id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_id()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string input_uri = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_input_uri()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->input_uri().data(), static_cast<int>(this->input_uri().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecution.input_uri"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.NodeExecutionClosure closure = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_closure()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.NodeExecutionMetaData metadata = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_metadata()));
          } 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.NodeExecution)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecution)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecution::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecution)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::id(this), output);
    }
  
    // string input_uri = 2;
    if (this->input_uri().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->input_uri().data(), static_cast<int>(this->input_uri().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecution.input_uri");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->input_uri(), output);
    }
  
    // .flyteidl.admin.NodeExecutionClosure closure = 3;
    if (this->has_closure()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, HasBitSetters::closure(this), output);
    }
  
    // .flyteidl.admin.NodeExecutionMetaData metadata = 4;
    if (this->has_metadata()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, HasBitSetters::metadata(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecution)
  }
  
  ::google::protobuf::uint8* NodeExecution::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecution)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::id(this), target);
    }
  
    // string input_uri = 2;
    if (this->input_uri().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->input_uri().data(), static_cast<int>(this->input_uri().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecution.input_uri");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->input_uri(), target);
    }
  
    // .flyteidl.admin.NodeExecutionClosure closure = 3;
    if (this->has_closure()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          3, HasBitSetters::closure(this), target);
    }
  
    // .flyteidl.admin.NodeExecutionMetaData metadata = 4;
    if (this->has_metadata()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, HasBitSetters::metadata(this), 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.NodeExecution)
    return target;
  }
  
  size_t NodeExecution::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecution)
    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 input_uri = 2;
    if (this->input_uri().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->input_uri());
    }
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *id_);
    }
  
    // .flyteidl.admin.NodeExecutionClosure closure = 3;
    if (this->has_closure()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *closure_);
    }
  
    // .flyteidl.admin.NodeExecutionMetaData metadata = 4;
    if (this->has_metadata()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *metadata_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecution::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecution)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecution* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecution>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecution)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecution)
      MergeFrom(*source);
    }
  }
  
  void NodeExecution::MergeFrom(const NodeExecution& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecution)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.input_uri().size() > 0) {
  
      input_uri_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.input_uri_);
    }
    if (from.has_id()) {
      mutable_id()->::flyteidl::core::NodeExecutionIdentifier::MergeFrom(from.id());
    }
    if (from.has_closure()) {
      mutable_closure()->::flyteidl::admin::NodeExecutionClosure::MergeFrom(from.closure());
    }
    if (from.has_metadata()) {
      mutable_metadata()->::flyteidl::admin::NodeExecutionMetaData::MergeFrom(from.metadata());
    }
  }
  
  void NodeExecution::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecution)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecution::CopyFrom(const NodeExecution& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecution)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecution::IsInitialized() const {
    return true;
  }
  
  void NodeExecution::Swap(NodeExecution* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecution::InternalSwap(NodeExecution* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    input_uri_.Swap(&other->input_uri_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    swap(id_, other->id_);
    swap(closure_, other->closure_);
    swap(metadata_, other->metadata_);
  }
  
  ::google::protobuf::Metadata NodeExecution::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionMetaData::InitAsDefaultInstance() {
  }
  class NodeExecutionMetaData::HasBitSetters {
   public:
  };
  
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionMetaData::kRetryGroupFieldNumber;
  const int NodeExecutionMetaData::kIsParentNodeFieldNumber;
  const int NodeExecutionMetaData::kSpecNodeIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionMetaData::NodeExecutionMetaData()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionMetaData)
  }
  NodeExecutionMetaData::NodeExecutionMetaData(const NodeExecutionMetaData& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    retry_group_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.retry_group().size() > 0) {
      retry_group_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.retry_group_);
    }
    spec_node_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.spec_node_id().size() > 0) {
      spec_node_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.spec_node_id_);
    }
    is_parent_node_ = from.is_parent_node_;
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionMetaData)
  }
  
  void NodeExecutionMetaData::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    retry_group_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    spec_node_id_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    is_parent_node_ = false;
  }
  
  NodeExecutionMetaData::~NodeExecutionMetaData() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionMetaData)
    SharedDtor();
  }
  
  void NodeExecutionMetaData::SharedDtor() {
    retry_group_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    spec_node_id_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void NodeExecutionMetaData::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionMetaData& NodeExecutionMetaData::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionMetaData_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionMetaData::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionMetaData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    retry_group_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    spec_node_id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    is_parent_node_ = false;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionMetaData::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionMetaData*>(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) {
        // string retry_group = 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);
          ctx->extra_parse_data().SetFieldName("flyteidl.admin.NodeExecutionMetaData.retry_group");
          object = msg->mutable_retry_group();
          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;
        }
        // bool is_parent_node = 2;
        case 2: {
          if (static_cast<::google::protobuf::uint8>(tag) != 16) goto handle_unusual;
          msg->set_is_parent_node(::google::protobuf::internal::ReadVarint(&ptr));
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          break;
        }
        // string spec_node_id = 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.NodeExecutionMetaData.spec_node_id");
          object = msg->mutable_spec_node_id();
          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 NodeExecutionMetaData::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.NodeExecutionMetaData)
    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)) {
        // string retry_group = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_retry_group()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->retry_group().data(), static_cast<int>(this->retry_group().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionMetaData.retry_group"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // bool is_parent_node = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (16 & 0xFF)) {
  
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     bool, ::google::protobuf::internal::WireFormatLite::TYPE_BOOL>(
                   input, &is_parent_node_)));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string spec_node_id = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_spec_node_id()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->spec_node_id().data(), static_cast<int>(this->spec_node_id().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionMetaData.spec_node_id"));
          } 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.NodeExecutionMetaData)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionMetaData)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionMetaData::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionMetaData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string retry_group = 1;
    if (this->retry_group().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->retry_group().data(), static_cast<int>(this->retry_group().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionMetaData.retry_group");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->retry_group(), output);
    }
  
    // bool is_parent_node = 2;
    if (this->is_parent_node() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteBool(2, this->is_parent_node(), output);
    }
  
    // string spec_node_id = 3;
    if (this->spec_node_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->spec_node_id().data(), static_cast<int>(this->spec_node_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionMetaData.spec_node_id");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        3, this->spec_node_id(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionMetaData)
  }
  
  ::google::protobuf::uint8* NodeExecutionMetaData::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionMetaData)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string retry_group = 1;
    if (this->retry_group().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->retry_group().data(), static_cast<int>(this->retry_group().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionMetaData.retry_group");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->retry_group(), target);
    }
  
    // bool is_parent_node = 2;
    if (this->is_parent_node() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteBoolToArray(2, this->is_parent_node(), target);
    }
  
    // string spec_node_id = 3;
    if (this->spec_node_id().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->spec_node_id().data(), static_cast<int>(this->spec_node_id().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionMetaData.spec_node_id");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          3, this->spec_node_id(), 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.NodeExecutionMetaData)
    return target;
  }
  
  size_t NodeExecutionMetaData::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionMetaData)
    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 retry_group = 1;
    if (this->retry_group().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->retry_group());
    }
  
    // string spec_node_id = 3;
    if (this->spec_node_id().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->spec_node_id());
    }
  
    // bool is_parent_node = 2;
    if (this->is_parent_node() != 0) {
      total_size += 1 + 1;
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionMetaData::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionMetaData)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionMetaData* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionMetaData>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionMetaData)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionMetaData)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionMetaData::MergeFrom(const NodeExecutionMetaData& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionMetaData)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.retry_group().size() > 0) {
  
      retry_group_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.retry_group_);
    }
    if (from.spec_node_id().size() > 0) {
  
      spec_node_id_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.spec_node_id_);
    }
    if (from.is_parent_node() != 0) {
      set_is_parent_node(from.is_parent_node());
    }
  }
  
  void NodeExecutionMetaData::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionMetaData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionMetaData::CopyFrom(const NodeExecutionMetaData& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionMetaData)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionMetaData::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionMetaData::Swap(NodeExecutionMetaData* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionMetaData::InternalSwap(NodeExecutionMetaData* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    retry_group_.Swap(&other->retry_group_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    spec_node_id_.Swap(&other->spec_node_id_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
    swap(is_parent_node_, other->is_parent_node_);
  }
  
  ::google::protobuf::Metadata NodeExecutionMetaData::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionList::InitAsDefaultInstance() {
  }
  class NodeExecutionList::HasBitSetters {
   public:
  };
  
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionList::kNodeExecutionsFieldNumber;
  const int NodeExecutionList::kTokenFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionList::NodeExecutionList()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionList)
  }
  NodeExecutionList::NodeExecutionList(const NodeExecutionList& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr),
        node_executions_(from.node_executions_) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    if (from.token().size() > 0) {
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionList)
  }
  
  void NodeExecutionList::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    token_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  NodeExecutionList::~NodeExecutionList() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionList)
    SharedDtor();
  }
  
  void NodeExecutionList::SharedDtor() {
    token_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  
  void NodeExecutionList::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionList& NodeExecutionList::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionList_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionList::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionList)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    node_executions_.Clear();
    token_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionList::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionList*>(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.NodeExecution node_executions = 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::NodeExecution::_InternalParse;
            object = msg->add_node_executions();
            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;
        }
        // string token = 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.NodeExecutionList.token");
          object = msg->mutable_token();
          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 NodeExecutionList::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.NodeExecutionList)
    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.NodeExecution node_executions = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                  input, add_node_executions()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // string token = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_token()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->token().data(), static_cast<int>(this->token().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionList.token"));
          } 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.NodeExecutionList)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionList)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionList::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionList)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .flyteidl.admin.NodeExecution node_executions = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->node_executions_size()); i < n; i++) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1,
        this->node_executions(static_cast<int>(i)),
        output);
    }
  
    // string token = 2;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionList.token");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        2, this->token(), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionList)
  }
  
  ::google::protobuf::uint8* NodeExecutionList::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionList)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // repeated .flyteidl.admin.NodeExecution node_executions = 1;
    for (unsigned int i = 0,
        n = static_cast<unsigned int>(this->node_executions_size()); i < n; i++) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, this->node_executions(static_cast<int>(i)), target);
    }
  
    // string token = 2;
    if (this->token().size() > 0) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->token().data(), static_cast<int>(this->token().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionList.token");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          2, this->token(), 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.NodeExecutionList)
    return target;
  }
  
  size_t NodeExecutionList::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionList)
    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.NodeExecution node_executions = 1;
    {
      unsigned int count = static_cast<unsigned int>(this->node_executions_size());
      total_size += 1UL * count;
      for (unsigned int i = 0; i < count; i++) {
        total_size +=
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            this->node_executions(static_cast<int>(i)));
      }
    }
  
    // string token = 2;
    if (this->token().size() > 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::StringSize(
          this->token());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionList::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionList)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionList* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionList>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionList)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionList)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionList::MergeFrom(const NodeExecutionList& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionList)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    node_executions_.MergeFrom(from.node_executions_);
    if (from.token().size() > 0) {
  
      token_.AssignWithDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), from.token_);
    }
  }
  
  void NodeExecutionList::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionList)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionList::CopyFrom(const NodeExecutionList& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionList)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionList::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionList::Swap(NodeExecutionList* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionList::InternalSwap(NodeExecutionList* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    CastToBase(&node_executions_)->InternalSwap(CastToBase(&other->node_executions_));
    token_.Swap(&other->token_, &::google::protobuf::internal::GetEmptyStringAlreadyInited(),
      GetArenaNoVirtual());
  }
  
  ::google::protobuf::Metadata NodeExecutionList::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionClosure::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_.output_uri_.UnsafeSetDefault(
        &::google::protobuf::internal::GetEmptyStringAlreadyInited());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_.error_ = const_cast< ::flyteidl::core::ExecutionError*>(
        ::flyteidl::core::ExecutionError::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->started_at_ = const_cast< ::google::protobuf::Timestamp*>(
        ::google::protobuf::Timestamp::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->duration_ = const_cast< ::google::protobuf::Duration*>(
        ::google::protobuf::Duration::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->created_at_ = const_cast< ::google::protobuf::Timestamp*>(
        ::google::protobuf::Timestamp::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_._instance.get_mutable()->updated_at_ = const_cast< ::google::protobuf::Timestamp*>(
        ::google::protobuf::Timestamp::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_.workflow_node_metadata_ = const_cast< ::flyteidl::admin::WorkflowNodeMetadata*>(
        ::flyteidl::admin::WorkflowNodeMetadata::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionClosure_default_instance_.task_node_metadata_ = const_cast< ::flyteidl::admin::TaskNodeMetadata*>(
        ::flyteidl::admin::TaskNodeMetadata::internal_default_instance());
  }
  class NodeExecutionClosure::HasBitSetters {
   public:
    static const ::flyteidl::core::ExecutionError& error(const NodeExecutionClosure* msg);
    static const ::google::protobuf::Timestamp& started_at(const NodeExecutionClosure* msg);
    static const ::google::protobuf::Duration& duration(const NodeExecutionClosure* msg);
    static const ::google::protobuf::Timestamp& created_at(const NodeExecutionClosure* msg);
    static const ::google::protobuf::Timestamp& updated_at(const NodeExecutionClosure* msg);
    static const ::flyteidl::admin::WorkflowNodeMetadata& workflow_node_metadata(const NodeExecutionClosure* msg);
    static const ::flyteidl::admin::TaskNodeMetadata& task_node_metadata(const NodeExecutionClosure* msg);
  };
  
  const ::flyteidl::core::ExecutionError&
  NodeExecutionClosure::HasBitSetters::error(const NodeExecutionClosure* msg) {
    return *msg->output_result_.error_;
  }
  const ::google::protobuf::Timestamp&
  NodeExecutionClosure::HasBitSetters::started_at(const NodeExecutionClosure* msg) {
    return *msg->started_at_;
  }
  const ::google::protobuf::Duration&
  NodeExecutionClosure::HasBitSetters::duration(const NodeExecutionClosure* msg) {
    return *msg->duration_;
  }
  const ::google::protobuf::Timestamp&
  NodeExecutionClosure::HasBitSetters::created_at(const NodeExecutionClosure* msg) {
    return *msg->created_at_;
  }
  const ::google::protobuf::Timestamp&
  NodeExecutionClosure::HasBitSetters::updated_at(const NodeExecutionClosure* msg) {
    return *msg->updated_at_;
  }
  const ::flyteidl::admin::WorkflowNodeMetadata&
  NodeExecutionClosure::HasBitSetters::workflow_node_metadata(const NodeExecutionClosure* msg) {
    return *msg->target_metadata_.workflow_node_metadata_;
  }
  const ::flyteidl::admin::TaskNodeMetadata&
  NodeExecutionClosure::HasBitSetters::task_node_metadata(const NodeExecutionClosure* msg) {
    return *msg->target_metadata_.task_node_metadata_;
  }
  void NodeExecutionClosure::set_allocated_error(::flyteidl::core::ExecutionError* error) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    clear_output_result();
    if (error) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        error = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, error, submessage_arena);
      }
      set_has_error();
      output_result_.error_ = error;
    }
    // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionClosure.error)
  }
  void NodeExecutionClosure::clear_error() {
    if (has_error()) {
      delete output_result_.error_;
      clear_has_output_result();
    }
  }
  void NodeExecutionClosure::clear_started_at() {
    if (GetArenaNoVirtual() == nullptr && started_at_ != nullptr) {
      delete started_at_;
    }
    started_at_ = nullptr;
  }
  void NodeExecutionClosure::clear_duration() {
    if (GetArenaNoVirtual() == nullptr && duration_ != nullptr) {
      delete duration_;
    }
    duration_ = nullptr;
  }
  void NodeExecutionClosure::clear_created_at() {
    if (GetArenaNoVirtual() == nullptr && created_at_ != nullptr) {
      delete created_at_;
    }
    created_at_ = nullptr;
  }
  void NodeExecutionClosure::clear_updated_at() {
    if (GetArenaNoVirtual() == nullptr && updated_at_ != nullptr) {
      delete updated_at_;
    }
    updated_at_ = nullptr;
  }
  void NodeExecutionClosure::set_allocated_workflow_node_metadata(::flyteidl::admin::WorkflowNodeMetadata* workflow_node_metadata) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    clear_target_metadata();
    if (workflow_node_metadata) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        workflow_node_metadata = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, workflow_node_metadata, submessage_arena);
      }
      set_has_workflow_node_metadata();
      target_metadata_.workflow_node_metadata_ = workflow_node_metadata;
    }
    // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionClosure.workflow_node_metadata)
  }
  void NodeExecutionClosure::set_allocated_task_node_metadata(::flyteidl::admin::TaskNodeMetadata* task_node_metadata) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    clear_target_metadata();
    if (task_node_metadata) {
      ::google::protobuf::Arena* submessage_arena = nullptr;
      if (message_arena != submessage_arena) {
        task_node_metadata = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, task_node_metadata, submessage_arena);
      }
      set_has_task_node_metadata();
      target_metadata_.task_node_metadata_ = task_node_metadata;
    }
    // @@protoc_insertion_point(field_set_allocated:flyteidl.admin.NodeExecutionClosure.task_node_metadata)
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionClosure::kOutputUriFieldNumber;
  const int NodeExecutionClosure::kErrorFieldNumber;
  const int NodeExecutionClosure::kPhaseFieldNumber;
  const int NodeExecutionClosure::kStartedAtFieldNumber;
  const int NodeExecutionClosure::kDurationFieldNumber;
  const int NodeExecutionClosure::kCreatedAtFieldNumber;
  const int NodeExecutionClosure::kUpdatedAtFieldNumber;
  const int NodeExecutionClosure::kWorkflowNodeMetadataFieldNumber;
  const int NodeExecutionClosure::kTaskNodeMetadataFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionClosure::NodeExecutionClosure()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionClosure)
  }
  NodeExecutionClosure::NodeExecutionClosure(const NodeExecutionClosure& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_started_at()) {
      started_at_ = new ::google::protobuf::Timestamp(*from.started_at_);
    } else {
      started_at_ = nullptr;
    }
    if (from.has_duration()) {
      duration_ = new ::google::protobuf::Duration(*from.duration_);
    } else {
      duration_ = nullptr;
    }
    if (from.has_created_at()) {
      created_at_ = new ::google::protobuf::Timestamp(*from.created_at_);
    } else {
      created_at_ = nullptr;
    }
    if (from.has_updated_at()) {
      updated_at_ = new ::google::protobuf::Timestamp(*from.updated_at_);
    } else {
      updated_at_ = nullptr;
    }
    phase_ = from.phase_;
    clear_has_output_result();
    switch (from.output_result_case()) {
      case kOutputUri: {
        set_output_uri(from.output_uri());
        break;
      }
      case kError: {
        mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error());
        break;
      }
      case OUTPUT_RESULT_NOT_SET: {
        break;
      }
    }
    clear_has_target_metadata();
    switch (from.target_metadata_case()) {
      case kWorkflowNodeMetadata: {
        mutable_workflow_node_metadata()->::flyteidl::admin::WorkflowNodeMetadata::MergeFrom(from.workflow_node_metadata());
        break;
      }
      case kTaskNodeMetadata: {
        mutable_task_node_metadata()->::flyteidl::admin::TaskNodeMetadata::MergeFrom(from.task_node_metadata());
        break;
      }
      case TARGET_METADATA_NOT_SET: {
        break;
      }
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionClosure)
  }
  
  void NodeExecutionClosure::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::memset(&started_at_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&phase_) -
        reinterpret_cast<char*>(&started_at_)) + sizeof(phase_));
    clear_has_output_result();
    clear_has_target_metadata();
  }
  
  NodeExecutionClosure::~NodeExecutionClosure() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionClosure)
    SharedDtor();
  }
  
  void NodeExecutionClosure::SharedDtor() {
    if (this != internal_default_instance()) delete started_at_;
    if (this != internal_default_instance()) delete duration_;
    if (this != internal_default_instance()) delete created_at_;
    if (this != internal_default_instance()) delete updated_at_;
    if (has_output_result()) {
      clear_output_result();
    }
    if (has_target_metadata()) {
      clear_target_metadata();
    }
  }
  
  void NodeExecutionClosure::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionClosure& NodeExecutionClosure::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionClosure_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionClosure::clear_output_result() {
  // @@protoc_insertion_point(one_of_clear_start:flyteidl.admin.NodeExecutionClosure)
    switch (output_result_case()) {
      case kOutputUri: {
        output_result_.output_uri_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
        break;
      }
      case kError: {
        delete output_result_.error_;
        break;
      }
      case OUTPUT_RESULT_NOT_SET: {
        break;
      }
    }
    _oneof_case_[0] = OUTPUT_RESULT_NOT_SET;
  }
  
  void NodeExecutionClosure::clear_target_metadata() {
  // @@protoc_insertion_point(one_of_clear_start:flyteidl.admin.NodeExecutionClosure)
    switch (target_metadata_case()) {
      case kWorkflowNodeMetadata: {
        delete target_metadata_.workflow_node_metadata_;
        break;
      }
      case kTaskNodeMetadata: {
        delete target_metadata_.task_node_metadata_;
        break;
      }
      case TARGET_METADATA_NOT_SET: {
        break;
      }
    }
    _oneof_case_[1] = TARGET_METADATA_NOT_SET;
  }
  
  
  void NodeExecutionClosure::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionClosure)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && started_at_ != nullptr) {
      delete started_at_;
    }
    started_at_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && duration_ != nullptr) {
      delete duration_;
    }
    duration_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && created_at_ != nullptr) {
      delete created_at_;
    }
    created_at_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && updated_at_ != nullptr) {
      delete updated_at_;
    }
    updated_at_ = nullptr;
    phase_ = 0;
    clear_output_result();
    clear_target_metadata();
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionClosure::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionClosure*>(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) {
        // string output_uri = 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);
          ctx->extra_parse_data().SetFieldName("flyteidl.admin.NodeExecutionClosure.output_uri");
          object = msg->mutable_output_uri();
          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;
        }
        // .flyteidl.core.ExecutionError error = 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);
          parser_till_end = ::flyteidl::core::ExecutionError::_InternalParse;
          object = msg->mutable_error();
          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;
        }
        // .flyteidl.core.NodeExecution.Phase phase = 3;
        case 3: {
          if (static_cast<::google::protobuf::uint8>(tag) != 24) goto handle_unusual;
          ::google::protobuf::uint64 val = ::google::protobuf::internal::ReadVarint(&ptr);
          msg->set_phase(static_cast<::flyteidl::core::NodeExecution_Phase>(val));
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          break;
        }
        // .google.protobuf.Timestamp started_at = 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);
          parser_till_end = ::google::protobuf::Timestamp::_InternalParse;
          object = msg->mutable_started_at();
          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;
        }
        // .google.protobuf.Duration duration = 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);
          parser_till_end = ::google::protobuf::Duration::_InternalParse;
          object = msg->mutable_duration();
          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;
        }
        // .google.protobuf.Timestamp created_at = 6;
        case 6: {
          if (static_cast<::google::protobuf::uint8>(tag) != 50) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::google::protobuf::Timestamp::_InternalParse;
          object = msg->mutable_created_at();
          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;
        }
        // .google.protobuf.Timestamp updated_at = 7;
        case 7: {
          if (static_cast<::google::protobuf::uint8>(tag) != 58) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::google::protobuf::Timestamp::_InternalParse;
          object = msg->mutable_updated_at();
          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;
        }
        // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8;
        case 8: {
          if (static_cast<::google::protobuf::uint8>(tag) != 66) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::flyteidl::admin::WorkflowNodeMetadata::_InternalParse;
          object = msg->mutable_workflow_node_metadata();
          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;
        }
        // .flyteidl.admin.TaskNodeMetadata task_node_metadata = 9;
        case 9: {
          if (static_cast<::google::protobuf::uint8>(tag) != 74) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::flyteidl::admin::TaskNodeMetadata::_InternalParse;
          object = msg->mutable_task_node_metadata();
          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;
        }
        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 NodeExecutionClosure::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.NodeExecutionClosure)
    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)) {
        // string output_uri = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadString(
                  input, this->mutable_output_uri()));
            DO_(::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
              this->output_uri().data(), static_cast<int>(this->output_uri().length()),
              ::google::protobuf::internal::WireFormatLite::PARSE,
              "flyteidl.admin.NodeExecutionClosure.output_uri"));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.ExecutionError error = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_error()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.NodeExecution.Phase phase = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (24 & 0xFF)) {
            int value = 0;
            DO_((::google::protobuf::internal::WireFormatLite::ReadPrimitive<
                     int, ::google::protobuf::internal::WireFormatLite::TYPE_ENUM>(
                   input, &value)));
            set_phase(static_cast< ::flyteidl::core::NodeExecution_Phase >(value));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.protobuf.Timestamp started_at = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_started_at()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.protobuf.Duration duration = 5;
        case 5: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (42 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_duration()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.protobuf.Timestamp created_at = 6;
        case 6: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (50 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_created_at()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .google.protobuf.Timestamp updated_at = 7;
        case 7: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (58 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_updated_at()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8;
        case 8: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (66 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_workflow_node_metadata()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.TaskNodeMetadata task_node_metadata = 9;
        case 9: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (74 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_task_node_metadata()));
          } 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.NodeExecutionClosure)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionClosure)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionClosure::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionClosure)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string output_uri = 1;
    if (has_output_uri()) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->output_uri().data(), static_cast<int>(this->output_uri().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionClosure.output_uri");
      ::google::protobuf::internal::WireFormatLite::WriteStringMaybeAliased(
        1, this->output_uri(), output);
    }
  
    // .flyteidl.core.ExecutionError error = 2;
    if (has_error()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, HasBitSetters::error(this), output);
    }
  
    // .flyteidl.core.NodeExecution.Phase phase = 3;
    if (this->phase() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteEnum(
        3, this->phase(), output);
    }
  
    // .google.protobuf.Timestamp started_at = 4;
    if (this->has_started_at()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, HasBitSetters::started_at(this), output);
    }
  
    // .google.protobuf.Duration duration = 5;
    if (this->has_duration()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        5, HasBitSetters::duration(this), output);
    }
  
    // .google.protobuf.Timestamp created_at = 6;
    if (this->has_created_at()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        6, HasBitSetters::created_at(this), output);
    }
  
    // .google.protobuf.Timestamp updated_at = 7;
    if (this->has_updated_at()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        7, HasBitSetters::updated_at(this), output);
    }
  
    // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8;
    if (has_workflow_node_metadata()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        8, HasBitSetters::workflow_node_metadata(this), output);
    }
  
    // .flyteidl.admin.TaskNodeMetadata task_node_metadata = 9;
    if (has_task_node_metadata()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        9, HasBitSetters::task_node_metadata(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionClosure)
  }
  
  ::google::protobuf::uint8* NodeExecutionClosure::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionClosure)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // string output_uri = 1;
    if (has_output_uri()) {
      ::google::protobuf::internal::WireFormatLite::VerifyUtf8String(
        this->output_uri().data(), static_cast<int>(this->output_uri().length()),
        ::google::protobuf::internal::WireFormatLite::SERIALIZE,
        "flyteidl.admin.NodeExecutionClosure.output_uri");
      target =
        ::google::protobuf::internal::WireFormatLite::WriteStringToArray(
          1, this->output_uri(), target);
    }
  
    // .flyteidl.core.ExecutionError error = 2;
    if (has_error()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, HasBitSetters::error(this), target);
    }
  
    // .flyteidl.core.NodeExecution.Phase phase = 3;
    if (this->phase() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
        3, this->phase(), target);
    }
  
    // .google.protobuf.Timestamp started_at = 4;
    if (this->has_started_at()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, HasBitSetters::started_at(this), target);
    }
  
    // .google.protobuf.Duration duration = 5;
    if (this->has_duration()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          5, HasBitSetters::duration(this), target);
    }
  
    // .google.protobuf.Timestamp created_at = 6;
    if (this->has_created_at()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          6, HasBitSetters::created_at(this), target);
    }
  
    // .google.protobuf.Timestamp updated_at = 7;
    if (this->has_updated_at()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          7, HasBitSetters::updated_at(this), target);
    }
  
    // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8;
    if (has_workflow_node_metadata()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          8, HasBitSetters::workflow_node_metadata(this), target);
    }
  
    // .flyteidl.admin.TaskNodeMetadata task_node_metadata = 9;
    if (has_task_node_metadata()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          9, HasBitSetters::task_node_metadata(this), 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.NodeExecutionClosure)
    return target;
  }
  
  size_t NodeExecutionClosure::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionClosure)
    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;
  
    // .google.protobuf.Timestamp started_at = 4;
    if (this->has_started_at()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *started_at_);
    }
  
    // .google.protobuf.Duration duration = 5;
    if (this->has_duration()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *duration_);
    }
  
    // .google.protobuf.Timestamp created_at = 6;
    if (this->has_created_at()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *created_at_);
    }
  
    // .google.protobuf.Timestamp updated_at = 7;
    if (this->has_updated_at()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *updated_at_);
    }
  
    // .flyteidl.core.NodeExecution.Phase phase = 3;
    if (this->phase() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->phase());
    }
  
    switch (output_result_case()) {
      // string output_uri = 1;
      case kOutputUri: {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::StringSize(
            this->output_uri());
        break;
      }
      // .flyteidl.core.ExecutionError error = 2;
      case kError: {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            *output_result_.error_);
        break;
      }
      case OUTPUT_RESULT_NOT_SET: {
        break;
      }
    }
    switch (target_metadata_case()) {
      // .flyteidl.admin.WorkflowNodeMetadata workflow_node_metadata = 8;
      case kWorkflowNodeMetadata: {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            *target_metadata_.workflow_node_metadata_);
        break;
      }
      // .flyteidl.admin.TaskNodeMetadata task_node_metadata = 9;
      case kTaskNodeMetadata: {
        total_size += 1 +
          ::google::protobuf::internal::WireFormatLite::MessageSize(
            *target_metadata_.task_node_metadata_);
        break;
      }
      case TARGET_METADATA_NOT_SET: {
        break;
      }
    }
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionClosure::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionClosure)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionClosure* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionClosure>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionClosure)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionClosure)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionClosure::MergeFrom(const NodeExecutionClosure& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionClosure)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_started_at()) {
      mutable_started_at()->::google::protobuf::Timestamp::MergeFrom(from.started_at());
    }
    if (from.has_duration()) {
      mutable_duration()->::google::protobuf::Duration::MergeFrom(from.duration());
    }
    if (from.has_created_at()) {
      mutable_created_at()->::google::protobuf::Timestamp::MergeFrom(from.created_at());
    }
    if (from.has_updated_at()) {
      mutable_updated_at()->::google::protobuf::Timestamp::MergeFrom(from.updated_at());
    }
    if (from.phase() != 0) {
      set_phase(from.phase());
    }
    switch (from.output_result_case()) {
      case kOutputUri: {
        set_output_uri(from.output_uri());
        break;
      }
      case kError: {
        mutable_error()->::flyteidl::core::ExecutionError::MergeFrom(from.error());
        break;
      }
      case OUTPUT_RESULT_NOT_SET: {
        break;
      }
    }
    switch (from.target_metadata_case()) {
      case kWorkflowNodeMetadata: {
        mutable_workflow_node_metadata()->::flyteidl::admin::WorkflowNodeMetadata::MergeFrom(from.workflow_node_metadata());
        break;
      }
      case kTaskNodeMetadata: {
        mutable_task_node_metadata()->::flyteidl::admin::TaskNodeMetadata::MergeFrom(from.task_node_metadata());
        break;
      }
      case TARGET_METADATA_NOT_SET: {
        break;
      }
    }
  }
  
  void NodeExecutionClosure::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionClosure)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionClosure::CopyFrom(const NodeExecutionClosure& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionClosure)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionClosure::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionClosure::Swap(NodeExecutionClosure* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionClosure::InternalSwap(NodeExecutionClosure* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(started_at_, other->started_at_);
    swap(duration_, other->duration_);
    swap(created_at_, other->created_at_);
    swap(updated_at_, other->updated_at_);
    swap(phase_, other->phase_);
    swap(output_result_, other->output_result_);
    swap(target_metadata_, other->target_metadata_);
    swap(_oneof_case_[0], other->_oneof_case_[0]);
    swap(_oneof_case_[1], other->_oneof_case_[1]);
  }
  
  ::google::protobuf::Metadata NodeExecutionClosure::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void WorkflowNodeMetadata::InitAsDefaultInstance() {
    ::flyteidl::admin::_WorkflowNodeMetadata_default_instance_._instance.get_mutable()->executionid_ = const_cast< ::flyteidl::core::WorkflowExecutionIdentifier*>(
        ::flyteidl::core::WorkflowExecutionIdentifier::internal_default_instance());
  }
  class WorkflowNodeMetadata::HasBitSetters {
   public:
    static const ::flyteidl::core::WorkflowExecutionIdentifier& executionid(const WorkflowNodeMetadata* msg);
  };
  
  const ::flyteidl::core::WorkflowExecutionIdentifier&
  WorkflowNodeMetadata::HasBitSetters::executionid(const WorkflowNodeMetadata* msg) {
    return *msg->executionid_;
  }
  void WorkflowNodeMetadata::clear_executionid() {
    if (GetArenaNoVirtual() == nullptr && executionid_ != nullptr) {
      delete executionid_;
    }
    executionid_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int WorkflowNodeMetadata::kExecutionIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  WorkflowNodeMetadata::WorkflowNodeMetadata()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.WorkflowNodeMetadata)
  }
  WorkflowNodeMetadata::WorkflowNodeMetadata(const WorkflowNodeMetadata& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_executionid()) {
      executionid_ = new ::flyteidl::core::WorkflowExecutionIdentifier(*from.executionid_);
    } else {
      executionid_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.WorkflowNodeMetadata)
  }
  
  void WorkflowNodeMetadata::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    executionid_ = nullptr;
  }
  
  WorkflowNodeMetadata::~WorkflowNodeMetadata() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.WorkflowNodeMetadata)
    SharedDtor();
  }
  
  void WorkflowNodeMetadata::SharedDtor() {
    if (this != internal_default_instance()) delete executionid_;
  }
  
  void WorkflowNodeMetadata::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const WorkflowNodeMetadata& WorkflowNodeMetadata::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_WorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void WorkflowNodeMetadata::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.WorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && executionid_ != nullptr) {
      delete executionid_;
    }
    executionid_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* WorkflowNodeMetadata::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<WorkflowNodeMetadata*>(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.core.WorkflowExecutionIdentifier executionId = 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::core::WorkflowExecutionIdentifier::_InternalParse;
          object = msg->mutable_executionid();
          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;
        }
        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 WorkflowNodeMetadata::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.WorkflowNodeMetadata)
    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.core.WorkflowExecutionIdentifier executionId = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_executionid()));
          } 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.WorkflowNodeMetadata)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.WorkflowNodeMetadata)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void WorkflowNodeMetadata::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.WorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.WorkflowExecutionIdentifier executionId = 1;
    if (this->has_executionid()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::executionid(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.WorkflowNodeMetadata)
  }
  
  ::google::protobuf::uint8* WorkflowNodeMetadata::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.WorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.WorkflowExecutionIdentifier executionId = 1;
    if (this->has_executionid()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::executionid(this), 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.WorkflowNodeMetadata)
    return target;
  }
  
  size_t WorkflowNodeMetadata::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.WorkflowNodeMetadata)
    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.core.WorkflowExecutionIdentifier executionId = 1;
    if (this->has_executionid()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *executionid_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void WorkflowNodeMetadata::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.WorkflowNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    const WorkflowNodeMetadata* source =
        ::google::protobuf::DynamicCastToGenerated<WorkflowNodeMetadata>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.WorkflowNodeMetadata)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.WorkflowNodeMetadata)
      MergeFrom(*source);
    }
  }
  
  void WorkflowNodeMetadata::MergeFrom(const WorkflowNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.WorkflowNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_executionid()) {
      mutable_executionid()->::flyteidl::core::WorkflowExecutionIdentifier::MergeFrom(from.executionid());
    }
  }
  
  void WorkflowNodeMetadata::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.WorkflowNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void WorkflowNodeMetadata::CopyFrom(const WorkflowNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.WorkflowNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool WorkflowNodeMetadata::IsInitialized() const {
    return true;
  }
  
  void WorkflowNodeMetadata::Swap(WorkflowNodeMetadata* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void WorkflowNodeMetadata::InternalSwap(WorkflowNodeMetadata* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(executionid_, other->executionid_);
  }
  
  ::google::protobuf::Metadata WorkflowNodeMetadata::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void TaskNodeMetadata::InitAsDefaultInstance() {
    ::flyteidl::admin::_TaskNodeMetadata_default_instance_._instance.get_mutable()->catalog_key_ = const_cast< ::flyteidl::core::CatalogMetadata*>(
        ::flyteidl::core::CatalogMetadata::internal_default_instance());
    ::flyteidl::admin::_TaskNodeMetadata_default_instance_._instance.get_mutable()->dynamic_workflow_ = const_cast< ::flyteidl::admin::DynamicWorkflowNodeMetadata*>(
        ::flyteidl::admin::DynamicWorkflowNodeMetadata::internal_default_instance());
  }
  class TaskNodeMetadata::HasBitSetters {
   public:
    static const ::flyteidl::core::CatalogMetadata& catalog_key(const TaskNodeMetadata* msg);
    static const ::flyteidl::admin::DynamicWorkflowNodeMetadata& dynamic_workflow(const TaskNodeMetadata* msg);
  };
  
  const ::flyteidl::core::CatalogMetadata&
  TaskNodeMetadata::HasBitSetters::catalog_key(const TaskNodeMetadata* msg) {
    return *msg->catalog_key_;
  }
  const ::flyteidl::admin::DynamicWorkflowNodeMetadata&
  TaskNodeMetadata::HasBitSetters::dynamic_workflow(const TaskNodeMetadata* msg) {
    return *msg->dynamic_workflow_;
  }
  void TaskNodeMetadata::clear_catalog_key() {
    if (GetArenaNoVirtual() == nullptr && catalog_key_ != nullptr) {
      delete catalog_key_;
    }
    catalog_key_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int TaskNodeMetadata::kCacheStatusFieldNumber;
  const int TaskNodeMetadata::kCatalogKeyFieldNumber;
  const int TaskNodeMetadata::kDynamicWorkflowFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  TaskNodeMetadata::TaskNodeMetadata()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.TaskNodeMetadata)
  }
  TaskNodeMetadata::TaskNodeMetadata(const TaskNodeMetadata& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_catalog_key()) {
      catalog_key_ = new ::flyteidl::core::CatalogMetadata(*from.catalog_key_);
    } else {
      catalog_key_ = nullptr;
    }
    if (from.has_dynamic_workflow()) {
      dynamic_workflow_ = new ::flyteidl::admin::DynamicWorkflowNodeMetadata(*from.dynamic_workflow_);
    } else {
      dynamic_workflow_ = nullptr;
    }
    cache_status_ = from.cache_status_;
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.TaskNodeMetadata)
  }
  
  void TaskNodeMetadata::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::memset(&catalog_key_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&cache_status_) -
        reinterpret_cast<char*>(&catalog_key_)) + sizeof(cache_status_));
  }
  
  TaskNodeMetadata::~TaskNodeMetadata() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.TaskNodeMetadata)
    SharedDtor();
  }
  
  void TaskNodeMetadata::SharedDtor() {
    if (this != internal_default_instance()) delete catalog_key_;
    if (this != internal_default_instance()) delete dynamic_workflow_;
  }
  
  void TaskNodeMetadata::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const TaskNodeMetadata& TaskNodeMetadata::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_TaskNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void TaskNodeMetadata::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.TaskNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && catalog_key_ != nullptr) {
      delete catalog_key_;
    }
    catalog_key_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && dynamic_workflow_ != nullptr) {
      delete dynamic_workflow_;
    }
    dynamic_workflow_ = nullptr;
    cache_status_ = 0;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* TaskNodeMetadata::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<TaskNodeMetadata*>(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.core.CatalogCacheStatus cache_status = 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_cache_status(static_cast<::flyteidl::core::CatalogCacheStatus>(val));
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          break;
        }
        // .flyteidl.core.CatalogMetadata catalog_key = 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);
          parser_till_end = ::flyteidl::core::CatalogMetadata::_InternalParse;
          object = msg->mutable_catalog_key();
          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;
        }
        // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16;
        case 16: {
          if (static_cast<::google::protobuf::uint8>(tag) != 130) goto handle_unusual;
          ptr = ::google::protobuf::io::ReadSize(ptr, &size);
          GOOGLE_PROTOBUF_PARSER_ASSERT(ptr);
          parser_till_end = ::flyteidl::admin::DynamicWorkflowNodeMetadata::_InternalParse;
          object = msg->mutable_dynamic_workflow();
          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;
        }
        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 TaskNodeMetadata::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.TaskNodeMetadata)
    for (;;) {
      ::std::pair<::google::protobuf::uint32, bool> p = input->ReadTagWithCutoffNoLastTag(16383u);
      tag = p.first;
      if (!p.second) goto handle_unusual;
      switch (::google::protobuf::internal::WireFormatLite::GetTagFieldNumber(tag)) {
        // .flyteidl.core.CatalogCacheStatus cache_status = 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_cache_status(static_cast< ::flyteidl::core::CatalogCacheStatus >(value));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.CatalogMetadata catalog_key = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_catalog_key()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16;
        case 16: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (130 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_dynamic_workflow()));
          } 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.TaskNodeMetadata)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.TaskNodeMetadata)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void TaskNodeMetadata::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.TaskNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.CatalogCacheStatus cache_status = 1;
    if (this->cache_status() != 0) {
      ::google::protobuf::internal::WireFormatLite::WriteEnum(
        1, this->cache_status(), output);
    }
  
    // .flyteidl.core.CatalogMetadata catalog_key = 2;
    if (this->has_catalog_key()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, HasBitSetters::catalog_key(this), output);
    }
  
    // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16;
    if (this->has_dynamic_workflow()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        16, HasBitSetters::dynamic_workflow(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.TaskNodeMetadata)
  }
  
  ::google::protobuf::uint8* TaskNodeMetadata::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.TaskNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.CatalogCacheStatus cache_status = 1;
    if (this->cache_status() != 0) {
      target = ::google::protobuf::internal::WireFormatLite::WriteEnumToArray(
        1, this->cache_status(), target);
    }
  
    // .flyteidl.core.CatalogMetadata catalog_key = 2;
    if (this->has_catalog_key()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, HasBitSetters::catalog_key(this), target);
    }
  
    // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16;
    if (this->has_dynamic_workflow()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          16, HasBitSetters::dynamic_workflow(this), 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.TaskNodeMetadata)
    return target;
  }
  
  size_t TaskNodeMetadata::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.TaskNodeMetadata)
    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.core.CatalogMetadata catalog_key = 2;
    if (this->has_catalog_key()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *catalog_key_);
    }
  
    // .flyteidl.admin.DynamicWorkflowNodeMetadata dynamic_workflow = 16;
    if (this->has_dynamic_workflow()) {
      total_size += 2 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *dynamic_workflow_);
    }
  
    // .flyteidl.core.CatalogCacheStatus cache_status = 1;
    if (this->cache_status() != 0) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::EnumSize(this->cache_status());
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void TaskNodeMetadata::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.TaskNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    const TaskNodeMetadata* source =
        ::google::protobuf::DynamicCastToGenerated<TaskNodeMetadata>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.TaskNodeMetadata)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.TaskNodeMetadata)
      MergeFrom(*source);
    }
  }
  
  void TaskNodeMetadata::MergeFrom(const TaskNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.TaskNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_catalog_key()) {
      mutable_catalog_key()->::flyteidl::core::CatalogMetadata::MergeFrom(from.catalog_key());
    }
    if (from.has_dynamic_workflow()) {
      mutable_dynamic_workflow()->::flyteidl::admin::DynamicWorkflowNodeMetadata::MergeFrom(from.dynamic_workflow());
    }
    if (from.cache_status() != 0) {
      set_cache_status(from.cache_status());
    }
  }
  
  void TaskNodeMetadata::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.TaskNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void TaskNodeMetadata::CopyFrom(const TaskNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.TaskNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool TaskNodeMetadata::IsInitialized() const {
    return true;
  }
  
  void TaskNodeMetadata::Swap(TaskNodeMetadata* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void TaskNodeMetadata::InternalSwap(TaskNodeMetadata* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(catalog_key_, other->catalog_key_);
    swap(dynamic_workflow_, other->dynamic_workflow_);
    swap(cache_status_, other->cache_status_);
  }
  
  ::google::protobuf::Metadata TaskNodeMetadata::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void DynamicWorkflowNodeMetadata::InitAsDefaultInstance() {
    ::flyteidl::admin::_DynamicWorkflowNodeMetadata_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::Identifier*>(
        ::flyteidl::core::Identifier::internal_default_instance());
    ::flyteidl::admin::_DynamicWorkflowNodeMetadata_default_instance_._instance.get_mutable()->compiled_workflow_ = const_cast< ::flyteidl::core::CompiledWorkflowClosure*>(
        ::flyteidl::core::CompiledWorkflowClosure::internal_default_instance());
  }
  class DynamicWorkflowNodeMetadata::HasBitSetters {
   public:
    static const ::flyteidl::core::Identifier& id(const DynamicWorkflowNodeMetadata* msg);
    static const ::flyteidl::core::CompiledWorkflowClosure& compiled_workflow(const DynamicWorkflowNodeMetadata* msg);
  };
  
  const ::flyteidl::core::Identifier&
  DynamicWorkflowNodeMetadata::HasBitSetters::id(const DynamicWorkflowNodeMetadata* msg) {
    return *msg->id_;
  }
  const ::flyteidl::core::CompiledWorkflowClosure&
  DynamicWorkflowNodeMetadata::HasBitSetters::compiled_workflow(const DynamicWorkflowNodeMetadata* msg) {
    return *msg->compiled_workflow_;
  }
  void DynamicWorkflowNodeMetadata::clear_id() {
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
  }
  void DynamicWorkflowNodeMetadata::clear_compiled_workflow() {
    if (GetArenaNoVirtual() == nullptr && compiled_workflow_ != nullptr) {
      delete compiled_workflow_;
    }
    compiled_workflow_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int DynamicWorkflowNodeMetadata::kIdFieldNumber;
  const int DynamicWorkflowNodeMetadata::kCompiledWorkflowFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  DynamicWorkflowNodeMetadata::DynamicWorkflowNodeMetadata()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.DynamicWorkflowNodeMetadata)
  }
  DynamicWorkflowNodeMetadata::DynamicWorkflowNodeMetadata(const DynamicWorkflowNodeMetadata& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_id()) {
      id_ = new ::flyteidl::core::Identifier(*from.id_);
    } else {
      id_ = nullptr;
    }
    if (from.has_compiled_workflow()) {
      compiled_workflow_ = new ::flyteidl::core::CompiledWorkflowClosure(*from.compiled_workflow_);
    } else {
      compiled_workflow_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.DynamicWorkflowNodeMetadata)
  }
  
  void DynamicWorkflowNodeMetadata::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::memset(&id_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&compiled_workflow_) -
        reinterpret_cast<char*>(&id_)) + sizeof(compiled_workflow_));
  }
  
  DynamicWorkflowNodeMetadata::~DynamicWorkflowNodeMetadata() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.DynamicWorkflowNodeMetadata)
    SharedDtor();
  }
  
  void DynamicWorkflowNodeMetadata::SharedDtor() {
    if (this != internal_default_instance()) delete id_;
    if (this != internal_default_instance()) delete compiled_workflow_;
  }
  
  void DynamicWorkflowNodeMetadata::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const DynamicWorkflowNodeMetadata& DynamicWorkflowNodeMetadata::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_DynamicWorkflowNodeMetadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void DynamicWorkflowNodeMetadata::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && compiled_workflow_ != nullptr) {
      delete compiled_workflow_;
    }
    compiled_workflow_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* DynamicWorkflowNodeMetadata::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<DynamicWorkflowNodeMetadata*>(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.core.Identifier id = 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::core::Identifier::_InternalParse;
          object = msg->mutable_id();
          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;
        }
        // .flyteidl.core.CompiledWorkflowClosure compiled_workflow = 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);
          parser_till_end = ::flyteidl::core::CompiledWorkflowClosure::_InternalParse;
          object = msg->mutable_compiled_workflow();
          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;
        }
        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 DynamicWorkflowNodeMetadata::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.DynamicWorkflowNodeMetadata)
    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.core.Identifier id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_id()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.CompiledWorkflowClosure compiled_workflow = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_compiled_workflow()));
          } 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.DynamicWorkflowNodeMetadata)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.DynamicWorkflowNodeMetadata)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void DynamicWorkflowNodeMetadata::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.Identifier id = 1;
    if (this->has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::id(this), output);
    }
  
    // .flyteidl.core.CompiledWorkflowClosure compiled_workflow = 2;
    if (this->has_compiled_workflow()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, HasBitSetters::compiled_workflow(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.DynamicWorkflowNodeMetadata)
  }
  
  ::google::protobuf::uint8* DynamicWorkflowNodeMetadata::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.Identifier id = 1;
    if (this->has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::id(this), target);
    }
  
    // .flyteidl.core.CompiledWorkflowClosure compiled_workflow = 2;
    if (this->has_compiled_workflow()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, HasBitSetters::compiled_workflow(this), 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.DynamicWorkflowNodeMetadata)
    return target;
  }
  
  size_t DynamicWorkflowNodeMetadata::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    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.core.Identifier id = 1;
    if (this->has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *id_);
    }
  
    // .flyteidl.core.CompiledWorkflowClosure compiled_workflow = 2;
    if (this->has_compiled_workflow()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *compiled_workflow_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void DynamicWorkflowNodeMetadata::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    const DynamicWorkflowNodeMetadata* source =
        ::google::protobuf::DynamicCastToGenerated<DynamicWorkflowNodeMetadata>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.DynamicWorkflowNodeMetadata)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.DynamicWorkflowNodeMetadata)
      MergeFrom(*source);
    }
  }
  
  void DynamicWorkflowNodeMetadata::MergeFrom(const DynamicWorkflowNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_id()) {
      mutable_id()->::flyteidl::core::Identifier::MergeFrom(from.id());
    }
    if (from.has_compiled_workflow()) {
      mutable_compiled_workflow()->::flyteidl::core::CompiledWorkflowClosure::MergeFrom(from.compiled_workflow());
    }
  }
  
  void DynamicWorkflowNodeMetadata::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void DynamicWorkflowNodeMetadata::CopyFrom(const DynamicWorkflowNodeMetadata& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.DynamicWorkflowNodeMetadata)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool DynamicWorkflowNodeMetadata::IsInitialized() const {
    return true;
  }
  
  void DynamicWorkflowNodeMetadata::Swap(DynamicWorkflowNodeMetadata* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void DynamicWorkflowNodeMetadata::InternalSwap(DynamicWorkflowNodeMetadata* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(id_, other->id_);
    swap(compiled_workflow_, other->compiled_workflow_);
  }
  
  ::google::protobuf::Metadata DynamicWorkflowNodeMetadata::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionGetDataRequest::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionGetDataRequest_default_instance_._instance.get_mutable()->id_ = const_cast< ::flyteidl::core::NodeExecutionIdentifier*>(
        ::flyteidl::core::NodeExecutionIdentifier::internal_default_instance());
  }
  class NodeExecutionGetDataRequest::HasBitSetters {
   public:
    static const ::flyteidl::core::NodeExecutionIdentifier& id(const NodeExecutionGetDataRequest* msg);
  };
  
  const ::flyteidl::core::NodeExecutionIdentifier&
  NodeExecutionGetDataRequest::HasBitSetters::id(const NodeExecutionGetDataRequest* msg) {
    return *msg->id_;
  }
  void NodeExecutionGetDataRequest::clear_id() {
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionGetDataRequest::kIdFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionGetDataRequest::NodeExecutionGetDataRequest()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionGetDataRequest)
  }
  NodeExecutionGetDataRequest::NodeExecutionGetDataRequest(const NodeExecutionGetDataRequest& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_id()) {
      id_ = new ::flyteidl::core::NodeExecutionIdentifier(*from.id_);
    } else {
      id_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionGetDataRequest)
  }
  
  void NodeExecutionGetDataRequest::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    id_ = nullptr;
  }
  
  NodeExecutionGetDataRequest::~NodeExecutionGetDataRequest() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionGetDataRequest)
    SharedDtor();
  }
  
  void NodeExecutionGetDataRequest::SharedDtor() {
    if (this != internal_default_instance()) delete id_;
  }
  
  void NodeExecutionGetDataRequest::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionGetDataRequest& NodeExecutionGetDataRequest::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionGetDataRequest_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionGetDataRequest::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionGetDataRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && id_ != nullptr) {
      delete id_;
    }
    id_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionGetDataRequest::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionGetDataRequest*>(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.core.NodeExecutionIdentifier id = 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::core::NodeExecutionIdentifier::_InternalParse;
          object = msg->mutable_id();
          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;
        }
        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 NodeExecutionGetDataRequest::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.NodeExecutionGetDataRequest)
    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.core.NodeExecutionIdentifier id = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_id()));
          } 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.NodeExecutionGetDataRequest)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionGetDataRequest)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionGetDataRequest::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionGetDataRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::id(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionGetDataRequest)
  }
  
  ::google::protobuf::uint8* NodeExecutionGetDataRequest::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionGetDataRequest)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::id(this), 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.NodeExecutionGetDataRequest)
    return target;
  }
  
  size_t NodeExecutionGetDataRequest::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionGetDataRequest)
    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.core.NodeExecutionIdentifier id = 1;
    if (this->has_id()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *id_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionGetDataRequest::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionGetDataRequest)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionGetDataRequest* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionGetDataRequest>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionGetDataRequest)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionGetDataRequest)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionGetDataRequest::MergeFrom(const NodeExecutionGetDataRequest& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionGetDataRequest)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_id()) {
      mutable_id()->::flyteidl::core::NodeExecutionIdentifier::MergeFrom(from.id());
    }
  }
  
  void NodeExecutionGetDataRequest::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionGetDataRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionGetDataRequest::CopyFrom(const NodeExecutionGetDataRequest& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionGetDataRequest)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionGetDataRequest::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionGetDataRequest::Swap(NodeExecutionGetDataRequest* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionGetDataRequest::InternalSwap(NodeExecutionGetDataRequest* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(id_, other->id_);
  }
  
  ::google::protobuf::Metadata NodeExecutionGetDataRequest::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // ===================================================================
  
  void NodeExecutionGetDataResponse::InitAsDefaultInstance() {
    ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->inputs_ = const_cast< ::flyteidl::admin::UrlBlob*>(
        ::flyteidl::admin::UrlBlob::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->outputs_ = const_cast< ::flyteidl::admin::UrlBlob*>(
        ::flyteidl::admin::UrlBlob::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->full_inputs_ = const_cast< ::flyteidl::core::LiteralMap*>(
        ::flyteidl::core::LiteralMap::internal_default_instance());
    ::flyteidl::admin::_NodeExecutionGetDataResponse_default_instance_._instance.get_mutable()->full_outputs_ = const_cast< ::flyteidl::core::LiteralMap*>(
        ::flyteidl::core::LiteralMap::internal_default_instance());
  }
  class NodeExecutionGetDataResponse::HasBitSetters {
   public:
    static const ::flyteidl::admin::UrlBlob& inputs(const NodeExecutionGetDataResponse* msg);
    static const ::flyteidl::admin::UrlBlob& outputs(const NodeExecutionGetDataResponse* msg);
    static const ::flyteidl::core::LiteralMap& full_inputs(const NodeExecutionGetDataResponse* msg);
    static const ::flyteidl::core::LiteralMap& full_outputs(const NodeExecutionGetDataResponse* msg);
  };
  
  const ::flyteidl::admin::UrlBlob&
  NodeExecutionGetDataResponse::HasBitSetters::inputs(const NodeExecutionGetDataResponse* msg) {
    return *msg->inputs_;
  }
  const ::flyteidl::admin::UrlBlob&
  NodeExecutionGetDataResponse::HasBitSetters::outputs(const NodeExecutionGetDataResponse* msg) {
    return *msg->outputs_;
  }
  const ::flyteidl::core::LiteralMap&
  NodeExecutionGetDataResponse::HasBitSetters::full_inputs(const NodeExecutionGetDataResponse* msg) {
    return *msg->full_inputs_;
  }
  const ::flyteidl::core::LiteralMap&
  NodeExecutionGetDataResponse::HasBitSetters::full_outputs(const NodeExecutionGetDataResponse* msg) {
    return *msg->full_outputs_;
  }
  void NodeExecutionGetDataResponse::clear_inputs() {
    if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) {
      delete inputs_;
    }
    inputs_ = nullptr;
  }
  void NodeExecutionGetDataResponse::clear_outputs() {
    if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) {
      delete outputs_;
    }
    outputs_ = nullptr;
  }
  void NodeExecutionGetDataResponse::clear_full_inputs() {
    if (GetArenaNoVirtual() == nullptr && full_inputs_ != nullptr) {
      delete full_inputs_;
    }
    full_inputs_ = nullptr;
  }
  void NodeExecutionGetDataResponse::clear_full_outputs() {
    if (GetArenaNoVirtual() == nullptr && full_outputs_ != nullptr) {
      delete full_outputs_;
    }
    full_outputs_ = nullptr;
  }
  #if !defined(_MSC_VER) || _MSC_VER >= 1900
  const int NodeExecutionGetDataResponse::kInputsFieldNumber;
  const int NodeExecutionGetDataResponse::kOutputsFieldNumber;
  const int NodeExecutionGetDataResponse::kFullInputsFieldNumber;
  const int NodeExecutionGetDataResponse::kFullOutputsFieldNumber;
  #endif  // !defined(_MSC_VER) || _MSC_VER >= 1900
  
  NodeExecutionGetDataResponse::NodeExecutionGetDataResponse()
    : ::google::protobuf::Message(), _internal_metadata_(nullptr) {
    SharedCtor();
    // @@protoc_insertion_point(constructor:flyteidl.admin.NodeExecutionGetDataResponse)
  }
  NodeExecutionGetDataResponse::NodeExecutionGetDataResponse(const NodeExecutionGetDataResponse& from)
    : ::google::protobuf::Message(),
        _internal_metadata_(nullptr) {
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    if (from.has_inputs()) {
      inputs_ = new ::flyteidl::admin::UrlBlob(*from.inputs_);
    } else {
      inputs_ = nullptr;
    }
    if (from.has_outputs()) {
      outputs_ = new ::flyteidl::admin::UrlBlob(*from.outputs_);
    } else {
      outputs_ = nullptr;
    }
    if (from.has_full_inputs()) {
      full_inputs_ = new ::flyteidl::core::LiteralMap(*from.full_inputs_);
    } else {
      full_inputs_ = nullptr;
    }
    if (from.has_full_outputs()) {
      full_outputs_ = new ::flyteidl::core::LiteralMap(*from.full_outputs_);
    } else {
      full_outputs_ = nullptr;
    }
    // @@protoc_insertion_point(copy_constructor:flyteidl.admin.NodeExecutionGetDataResponse)
  }
  
  void NodeExecutionGetDataResponse::SharedCtor() {
    ::google::protobuf::internal::InitSCC(
        &scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    ::memset(&inputs_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&full_outputs_) -
        reinterpret_cast<char*>(&inputs_)) + sizeof(full_outputs_));
  }
  
  NodeExecutionGetDataResponse::~NodeExecutionGetDataResponse() {
    // @@protoc_insertion_point(destructor:flyteidl.admin.NodeExecutionGetDataResponse)
    SharedDtor();
  }
  
  void NodeExecutionGetDataResponse::SharedDtor() {
    if (this != internal_default_instance()) delete inputs_;
    if (this != internal_default_instance()) delete outputs_;
    if (this != internal_default_instance()) delete full_inputs_;
    if (this != internal_default_instance()) delete full_outputs_;
  }
  
  void NodeExecutionGetDataResponse::SetCachedSize(int size) const {
    _cached_size_.Set(size);
  }
  const NodeExecutionGetDataResponse& NodeExecutionGetDataResponse::default_instance() {
    ::google::protobuf::internal::InitSCC(&::scc_info_NodeExecutionGetDataResponse_flyteidl_2fadmin_2fnode_5fexecution_2eproto.base);
    return *internal_default_instance();
  }
  
  
  void NodeExecutionGetDataResponse::Clear() {
  // @@protoc_insertion_point(message_clear_start:flyteidl.admin.NodeExecutionGetDataResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    // Prevent compiler warnings about cached_has_bits being unused
    (void) cached_has_bits;
  
    if (GetArenaNoVirtual() == nullptr && inputs_ != nullptr) {
      delete inputs_;
    }
    inputs_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && outputs_ != nullptr) {
      delete outputs_;
    }
    outputs_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && full_inputs_ != nullptr) {
      delete full_inputs_;
    }
    full_inputs_ = nullptr;
    if (GetArenaNoVirtual() == nullptr && full_outputs_ != nullptr) {
      delete full_outputs_;
    }
    full_outputs_ = nullptr;
    _internal_metadata_.Clear();
  }
  
  #if GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  const char* NodeExecutionGetDataResponse::_InternalParse(const char* begin, const char* end, void* object,
                    ::google::protobuf::internal::ParseContext* ctx) {
    auto msg = static_cast<NodeExecutionGetDataResponse*>(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.UrlBlob inputs = 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::UrlBlob::_InternalParse;
          object = msg->mutable_inputs();
          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;
        }
        // .flyteidl.admin.UrlBlob outputs = 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);
          parser_till_end = ::flyteidl::admin::UrlBlob::_InternalParse;
          object = msg->mutable_outputs();
          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;
        }
        // .flyteidl.core.LiteralMap full_inputs = 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);
          parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse;
          object = msg->mutable_full_inputs();
          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;
        }
        // .flyteidl.core.LiteralMap full_outputs = 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);
          parser_till_end = ::flyteidl::core::LiteralMap::_InternalParse;
          object = msg->mutable_full_outputs();
          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;
        }
        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 NodeExecutionGetDataResponse::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.NodeExecutionGetDataResponse)
    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.UrlBlob inputs = 1;
        case 1: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (10 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_inputs()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.admin.UrlBlob outputs = 2;
        case 2: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (18 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_outputs()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.LiteralMap full_inputs = 3;
        case 3: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (26 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_full_inputs()));
          } else {
            goto handle_unusual;
          }
          break;
        }
  
        // .flyteidl.core.LiteralMap full_outputs = 4;
        case 4: {
          if (static_cast< ::google::protobuf::uint8>(tag) == (34 & 0xFF)) {
            DO_(::google::protobuf::internal::WireFormatLite::ReadMessage(
                 input, mutable_full_outputs()));
          } 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.NodeExecutionGetDataResponse)
    return true;
  failure:
    // @@protoc_insertion_point(parse_failure:flyteidl.admin.NodeExecutionGetDataResponse)
    return false;
  #undef DO_
  }
  #endif  // GOOGLE_PROTOBUF_ENABLE_EXPERIMENTAL_PARSER
  
  void NodeExecutionGetDataResponse::SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const {
    // @@protoc_insertion_point(serialize_start:flyteidl.admin.NodeExecutionGetDataResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.admin.UrlBlob inputs = 1;
    if (this->has_inputs()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        1, HasBitSetters::inputs(this), output);
    }
  
    // .flyteidl.admin.UrlBlob outputs = 2;
    if (this->has_outputs()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        2, HasBitSetters::outputs(this), output);
    }
  
    // .flyteidl.core.LiteralMap full_inputs = 3;
    if (this->has_full_inputs()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        3, HasBitSetters::full_inputs(this), output);
    }
  
    // .flyteidl.core.LiteralMap full_outputs = 4;
    if (this->has_full_outputs()) {
      ::google::protobuf::internal::WireFormatLite::WriteMessageMaybeToArray(
        4, HasBitSetters::full_outputs(this), output);
    }
  
    if (_internal_metadata_.have_unknown_fields()) {
      ::google::protobuf::internal::WireFormat::SerializeUnknownFields(
          _internal_metadata_.unknown_fields(), output);
    }
    // @@protoc_insertion_point(serialize_end:flyteidl.admin.NodeExecutionGetDataResponse)
  }
  
  ::google::protobuf::uint8* NodeExecutionGetDataResponse::InternalSerializeWithCachedSizesToArray(
      ::google::protobuf::uint8* target) const {
    // @@protoc_insertion_point(serialize_to_array_start:flyteidl.admin.NodeExecutionGetDataResponse)
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    // .flyteidl.admin.UrlBlob inputs = 1;
    if (this->has_inputs()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          1, HasBitSetters::inputs(this), target);
    }
  
    // .flyteidl.admin.UrlBlob outputs = 2;
    if (this->has_outputs()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          2, HasBitSetters::outputs(this), target);
    }
  
    // .flyteidl.core.LiteralMap full_inputs = 3;
    if (this->has_full_inputs()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          3, HasBitSetters::full_inputs(this), target);
    }
  
    // .flyteidl.core.LiteralMap full_outputs = 4;
    if (this->has_full_outputs()) {
      target = ::google::protobuf::internal::WireFormatLite::
        InternalWriteMessageToArray(
          4, HasBitSetters::full_outputs(this), 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.NodeExecutionGetDataResponse)
    return target;
  }
  
  size_t NodeExecutionGetDataResponse::ByteSizeLong() const {
  // @@protoc_insertion_point(message_byte_size_start:flyteidl.admin.NodeExecutionGetDataResponse)
    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.UrlBlob inputs = 1;
    if (this->has_inputs()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *inputs_);
    }
  
    // .flyteidl.admin.UrlBlob outputs = 2;
    if (this->has_outputs()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *outputs_);
    }
  
    // .flyteidl.core.LiteralMap full_inputs = 3;
    if (this->has_full_inputs()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *full_inputs_);
    }
  
    // .flyteidl.core.LiteralMap full_outputs = 4;
    if (this->has_full_outputs()) {
      total_size += 1 +
        ::google::protobuf::internal::WireFormatLite::MessageSize(
          *full_outputs_);
    }
  
    int cached_size = ::google::protobuf::internal::ToCachedSize(total_size);
    SetCachedSize(cached_size);
    return total_size;
  }
  
  void NodeExecutionGetDataResponse::MergeFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_merge_from_start:flyteidl.admin.NodeExecutionGetDataResponse)
    GOOGLE_DCHECK_NE(&from, this);
    const NodeExecutionGetDataResponse* source =
        ::google::protobuf::DynamicCastToGenerated<NodeExecutionGetDataResponse>(
            &from);
    if (source == nullptr) {
    // @@protoc_insertion_point(generalized_merge_from_cast_fail:flyteidl.admin.NodeExecutionGetDataResponse)
      ::google::protobuf::internal::ReflectionOps::Merge(from, this);
    } else {
    // @@protoc_insertion_point(generalized_merge_from_cast_success:flyteidl.admin.NodeExecutionGetDataResponse)
      MergeFrom(*source);
    }
  }
  
  void NodeExecutionGetDataResponse::MergeFrom(const NodeExecutionGetDataResponse& from) {
  // @@protoc_insertion_point(class_specific_merge_from_start:flyteidl.admin.NodeExecutionGetDataResponse)
    GOOGLE_DCHECK_NE(&from, this);
    _internal_metadata_.MergeFrom(from._internal_metadata_);
    ::google::protobuf::uint32 cached_has_bits = 0;
    (void) cached_has_bits;
  
    if (from.has_inputs()) {
      mutable_inputs()->::flyteidl::admin::UrlBlob::MergeFrom(from.inputs());
    }
    if (from.has_outputs()) {
      mutable_outputs()->::flyteidl::admin::UrlBlob::MergeFrom(from.outputs());
    }
    if (from.has_full_inputs()) {
      mutable_full_inputs()->::flyteidl::core::LiteralMap::MergeFrom(from.full_inputs());
    }
    if (from.has_full_outputs()) {
      mutable_full_outputs()->::flyteidl::core::LiteralMap::MergeFrom(from.full_outputs());
    }
  }
  
  void NodeExecutionGetDataResponse::CopyFrom(const ::google::protobuf::Message& from) {
  // @@protoc_insertion_point(generalized_copy_from_start:flyteidl.admin.NodeExecutionGetDataResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  void NodeExecutionGetDataResponse::CopyFrom(const NodeExecutionGetDataResponse& from) {
  // @@protoc_insertion_point(class_specific_copy_from_start:flyteidl.admin.NodeExecutionGetDataResponse)
    if (&from == this) return;
    Clear();
    MergeFrom(from);
  }
  
  bool NodeExecutionGetDataResponse::IsInitialized() const {
    return true;
  }
  
  void NodeExecutionGetDataResponse::Swap(NodeExecutionGetDataResponse* other) {
    if (other == this) return;
    InternalSwap(other);
  }
  void NodeExecutionGetDataResponse::InternalSwap(NodeExecutionGetDataResponse* other) {
    using std::swap;
    _internal_metadata_.Swap(&other->_internal_metadata_);
    swap(inputs_, other->inputs_);
    swap(outputs_, other->outputs_);
    swap(full_inputs_, other->full_inputs_);
    swap(full_outputs_, other->full_outputs_);
  }
  
  ::google::protobuf::Metadata NodeExecutionGetDataResponse::GetMetadata() const {
    ::google::protobuf::internal::AssignDescriptors(&::assign_descriptors_table_flyteidl_2fadmin_2fnode_5fexecution_2eproto);
    return ::file_level_metadata_flyteidl_2fadmin_2fnode_5fexecution_2eproto[kIndexInFileMessages];
  }
  
  
  // @@protoc_insertion_point(namespace_scope)
  }  // namespace admin
  }  // namespace flyteidl
  namespace google {
  namespace protobuf {
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionGetRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionGetRequest >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionGetRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionListRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionListRequest >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionListRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionForTaskListRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionForTaskListRequest >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionForTaskListRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecution* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecution >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecution >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionMetaData* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionMetaData >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionMetaData >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionList* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionList >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionList >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionClosure* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionClosure >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionClosure >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::WorkflowNodeMetadata* Arena::CreateMaybeMessage< ::flyteidl::admin::WorkflowNodeMetadata >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::WorkflowNodeMetadata >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::TaskNodeMetadata* Arena::CreateMaybeMessage< ::flyteidl::admin::TaskNodeMetadata >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::TaskNodeMetadata >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::DynamicWorkflowNodeMetadata* Arena::CreateMaybeMessage< ::flyteidl::admin::DynamicWorkflowNodeMetadata >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::DynamicWorkflowNodeMetadata >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionGetDataRequest* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionGetDataRequest >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionGetDataRequest >(arena);
  }
  template<> PROTOBUF_NOINLINE ::flyteidl::admin::NodeExecutionGetDataResponse* Arena::CreateMaybeMessage< ::flyteidl::admin::NodeExecutionGetDataResponse >(Arena* arena) {
    return Arena::CreateInternal< ::flyteidl::admin::NodeExecutionGetDataResponse >(arena);
  }
  }  // namespace protobuf
  }  // namespace google
  
  // @@protoc_insertion_point(global_scope)
  #include <google/protobuf/port_undef.inc>
  