text: // Generated by the protocol buffer compiler.  DO NOT EDIT!
  // source: openconfig/openconfig_acl/openconfig_acl.proto
  
  #ifndef PROTOBUF_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto__INCLUDED
  #define PROTOBUF_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto__INCLUDED
  
  #include <string>
  
  #include <google/protobuf/stubs/common.h>
  
  #if GOOGLE_PROTOBUF_VERSION < 3005000
  #error This file was generated by a newer version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please update
  #error your headers.
  #endif
  #if 3005001 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
  #error This file was generated by an older version of protoc which is
  #error incompatible with your Protocol Buffer headers.  Please
  #error regenerate this file with a newer version of protoc.
  #endif
  
  #include <google/protobuf/io/coded_stream.h>
  #include <google/protobuf/arena.h>
  #include <google/protobuf/arenastring.h>
  #include <google/protobuf/generated_message_table_driven.h>
  #include <google/protobuf/generated_message_util.h>
  #include <google/protobuf/metadata.h>
  #include <google/protobuf/message.h>
  #include <google/protobuf/repeated_field.h>  // IWYU pragma: export
  #include <google/protobuf/extension_set.h>  // IWYU pragma: export
  #include <google/protobuf/generated_enum_reflection.h>
  #include <google/protobuf/unknown_field_set.h>
  #include "github.com/openconfig/ygot/proto/ywrapper/ywrapper.pb.h"
  #include "github.com/openconfig/ygot/proto/yext/yext.pb.h"
  #include "openconfig/enums/enums.pb.h"
  // @@protoc_insertion_point(includes)
  
  namespace protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto {
  // Internal implementation detail -- do not use these members.
  struct TableStruct {
    static const ::google::protobuf::internal::ParseTableField entries[];
    static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
    static const ::google::protobuf::internal::ParseTable schema[60];
    static const ::google::protobuf::internal::FieldMetadata field_metadata[];
    static const ::google::protobuf::internal::SerializationTable serialization_table[];
    static const ::google::protobuf::uint32 offsets[];
  };
  void AddDescriptors();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_ActionsImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRefImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterfaceImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4Impl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6Impl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2Impl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_State();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_TransportImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryKeyImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryKey();
  void InitDefaultsAcl_AclSets_AclSet_AclEntriesImpl();
  void InitDefaultsAcl_AclSets_AclSet_AclEntries();
  void InitDefaultsAcl_AclSets_AclSet_ConfigImpl();
  void InitDefaultsAcl_AclSets_AclSet_Config();
  void InitDefaultsAcl_AclSets_AclSet_StateImpl();
  void InitDefaultsAcl_AclSets_AclSet_State();
  void InitDefaultsAcl_AclSets_AclSetImpl();
  void InitDefaultsAcl_AclSets_AclSet();
  void InitDefaultsAcl_AclSets_AclSetKeyImpl();
  void InitDefaultsAcl_AclSets_AclSetKey();
  void InitDefaultsAcl_AclSetsImpl();
  void InitDefaultsAcl_AclSets();
  void InitDefaultsAcl_ConfigImpl();
  void InitDefaultsAcl_Config();
  void InitDefaultsAcl_Interfaces_Interface_ConfigImpl();
  void InitDefaultsAcl_Interfaces_Interface_Config();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKeyImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntriesImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_ConfigImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_State();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetKeyImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetKey();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSetsImpl();
  void InitDefaultsAcl_Interfaces_Interface_EgressAclSets();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKeyImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntriesImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_ConfigImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_State();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetKeyImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetKey();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSetsImpl();
  void InitDefaultsAcl_Interfaces_Interface_IngressAclSets();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRef_ConfigImpl();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRef_Config();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRef_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRef_State();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRefImpl();
  void InitDefaultsAcl_Interfaces_Interface_InterfaceRef();
  void InitDefaultsAcl_Interfaces_Interface_StateImpl();
  void InitDefaultsAcl_Interfaces_Interface_State();
  void InitDefaultsAcl_Interfaces_InterfaceImpl();
  void InitDefaultsAcl_Interfaces_Interface();
  void InitDefaultsAcl_Interfaces_InterfaceKeyImpl();
  void InitDefaultsAcl_Interfaces_InterfaceKey();
  void InitDefaultsAcl_InterfacesImpl();
  void InitDefaultsAcl_Interfaces();
  void InitDefaultsAcl_StateImpl();
  void InitDefaultsAcl_State();
  void InitDefaultsAclImpl();
  void InitDefaultsAcl();
  inline void InitDefaults() {
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_State();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry();
    InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryKey();
    InitDefaultsAcl_AclSets_AclSet_AclEntries();
    InitDefaultsAcl_AclSets_AclSet_Config();
    InitDefaultsAcl_AclSets_AclSet_State();
    InitDefaultsAcl_AclSets_AclSet();
    InitDefaultsAcl_AclSets_AclSetKey();
    InitDefaultsAcl_AclSets();
    InitDefaultsAcl_Config();
    InitDefaultsAcl_Interfaces_Interface_Config();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_State();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetKey();
    InitDefaultsAcl_Interfaces_Interface_EgressAclSets();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_State();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetKey();
    InitDefaultsAcl_Interfaces_Interface_IngressAclSets();
    InitDefaultsAcl_Interfaces_Interface_InterfaceRef_Config();
    InitDefaultsAcl_Interfaces_Interface_InterfaceRef_State();
    InitDefaultsAcl_Interfaces_Interface_InterfaceRef();
    InitDefaultsAcl_Interfaces_Interface_State();
    InitDefaultsAcl_Interfaces_Interface();
    InitDefaultsAcl_Interfaces_InterfaceKey();
    InitDefaultsAcl_Interfaces();
    InitDefaultsAcl_State();
    InitDefaultsAcl();
  }
  }  // namespace protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto
  namespace openconfig {
  namespace openconfig_acl {
  class Acl;
  class AclDefaultTypeInternal;
  extern AclDefaultTypeInternal _Acl_default_instance_;
  class Acl_AclSets;
  class Acl_AclSetsDefaultTypeInternal;
  extern Acl_AclSetsDefaultTypeInternal _Acl_AclSets_default_instance_;
  class Acl_AclSets_AclSet;
  class Acl_AclSets_AclSetDefaultTypeInternal;
  extern Acl_AclSets_AclSetDefaultTypeInternal _Acl_AclSets_AclSet_default_instance_;
  class Acl_AclSets_AclSetKey;
  class Acl_AclSets_AclSetKeyDefaultTypeInternal;
  extern Acl_AclSets_AclSetKeyDefaultTypeInternal _Acl_AclSets_AclSetKey_default_instance_;
  class Acl_AclSets_AclSet_AclEntries;
  class Acl_AclSets_AclSet_AclEntriesDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntriesDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry;
  class Acl_AclSets_AclSet_AclEntries_AclEntryDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntryDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntryKey;
  class Acl_AclSets_AclSet_AclEntries_AclEntryKeyDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntryKeyDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntryKey_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_ActionsDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_ActionsDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterfaceDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterfaceDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRefDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRefDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4DefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4DefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6DefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6DefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2DefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_L2DefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_L2_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_L2_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_L2_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_State_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_TransportDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_TransportDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_default_instance_;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State;
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_StateDefaultTypeInternal _Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_default_instance_;
  class Acl_AclSets_AclSet_Config;
  class Acl_AclSets_AclSet_ConfigDefaultTypeInternal;
  extern Acl_AclSets_AclSet_ConfigDefaultTypeInternal _Acl_AclSets_AclSet_Config_default_instance_;
  class Acl_AclSets_AclSet_State;
  class Acl_AclSets_AclSet_StateDefaultTypeInternal;
  extern Acl_AclSets_AclSet_StateDefaultTypeInternal _Acl_AclSets_AclSet_State_default_instance_;
  class Acl_Config;
  class Acl_ConfigDefaultTypeInternal;
  extern Acl_ConfigDefaultTypeInternal _Acl_Config_default_instance_;
  class Acl_Interfaces;
  class Acl_InterfacesDefaultTypeInternal;
  extern Acl_InterfacesDefaultTypeInternal _Acl_Interfaces_default_instance_;
  class Acl_Interfaces_Interface;
  class Acl_Interfaces_InterfaceDefaultTypeInternal;
  extern Acl_Interfaces_InterfaceDefaultTypeInternal _Acl_Interfaces_Interface_default_instance_;
  class Acl_Interfaces_InterfaceKey;
  class Acl_Interfaces_InterfaceKeyDefaultTypeInternal;
  extern Acl_Interfaces_InterfaceKeyDefaultTypeInternal _Acl_Interfaces_InterfaceKey_default_instance_;
  class Acl_Interfaces_Interface_Config;
  class Acl_Interfaces_Interface_ConfigDefaultTypeInternal;
  extern Acl_Interfaces_Interface_ConfigDefaultTypeInternal _Acl_Interfaces_Interface_Config_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets;
  class Acl_Interfaces_Interface_EgressAclSetsDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSetsDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSetDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSetDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKeyDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKeyDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntriesDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntriesDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKeyDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKeyDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_StateDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_ConfigDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_ConfigDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config_default_instance_;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State;
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_StateDefaultTypeInternal _Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets;
  class Acl_Interfaces_Interface_IngressAclSetsDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSetsDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSetDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSetDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKeyDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKeyDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntriesDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntriesDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKeyDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKeyDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_StateDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_ConfigDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_ConfigDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config_default_instance_;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State;
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_StateDefaultTypeInternal _Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State_default_instance_;
  class Acl_Interfaces_Interface_InterfaceRef;
  class Acl_Interfaces_Interface_InterfaceRefDefaultTypeInternal;
  extern Acl_Interfaces_Interface_InterfaceRefDefaultTypeInternal _Acl_Interfaces_Interface_InterfaceRef_default_instance_;
  class Acl_Interfaces_Interface_InterfaceRef_Config;
  class Acl_Interfaces_Interface_InterfaceRef_ConfigDefaultTypeInternal;
  extern Acl_Interfaces_Interface_InterfaceRef_ConfigDefaultTypeInternal _Acl_Interfaces_Interface_InterfaceRef_Config_default_instance_;
  class Acl_Interfaces_Interface_InterfaceRef_State;
  class Acl_Interfaces_Interface_InterfaceRef_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_InterfaceRef_StateDefaultTypeInternal _Acl_Interfaces_Interface_InterfaceRef_State_default_instance_;
  class Acl_Interfaces_Interface_State;
  class Acl_Interfaces_Interface_StateDefaultTypeInternal;
  extern Acl_Interfaces_Interface_StateDefaultTypeInternal _Acl_Interfaces_Interface_State_default_instance_;
  class Acl_State;
  class Acl_StateDefaultTypeInternal;
  extern Acl_StateDefaultTypeInternal _Acl_State_default_instance_;
  }  // namespace openconfig_acl
  }  // namespace openconfig
  namespace openconfig {
  namespace openconfig_acl {
  
  enum Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort {
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_UNSET = 0,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_ANY = 1,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
  };
  bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_IsValid(int value);
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_MIN = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_UNSET;
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_MAX = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_ANY;
  const int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_ARRAYSIZE = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_MAX + 1;
  
  const ::google::protobuf::EnumDescriptor* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_descriptor();
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Name(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort value) {
    return ::google::protobuf::internal::NameOfEnum(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_descriptor(), value);
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Parse(
      const ::std::string& name, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort* value) {
    return ::google::protobuf::internal::ParseNamedEnum<Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort>(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_descriptor(), name, value);
  }
  enum Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort {
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_UNSET = 0,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_ANY = 1,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
  };
  bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_IsValid(int value);
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_MIN = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_UNSET;
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_MAX = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_ANY;
  const int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_ARRAYSIZE = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_MAX + 1;
  
  const ::google::protobuf::EnumDescriptor* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_descriptor();
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Name(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort value) {
    return ::google::protobuf::internal::NameOfEnum(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_descriptor(), value);
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Parse(
      const ::std::string& name, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort* value) {
    return ::google::protobuf::internal::ParseNamedEnum<Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort>(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_descriptor(), name, value);
  }
  enum Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort {
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_UNSET = 0,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_ANY = 1,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
  };
  bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_IsValid(int value);
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_MIN = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_UNSET;
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_MAX = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_ANY;
  const int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_ARRAYSIZE = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_MAX + 1;
  
  const ::google::protobuf::EnumDescriptor* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_descriptor();
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Name(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort value) {
    return ::google::protobuf::internal::NameOfEnum(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_descriptor(), value);
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Parse(
      const ::std::string& name, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort* value) {
    return ::google::protobuf::internal::ParseNamedEnum<Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort>(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_descriptor(), name, value);
  }
  enum Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort {
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_UNSET = 0,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_ANY = 1,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_INT_MIN_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32min,
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_INT_MAX_SENTINEL_DO_NOT_USE_ = ::google::protobuf::kint32max
  };
  bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_IsValid(int value);
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_MIN = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_UNSET;
  const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_MAX = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_ANY;
  const int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_ARRAYSIZE = Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_MAX + 1;
  
  const ::google::protobuf::EnumDescriptor* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_descriptor();
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Name(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort value) {
    return ::google::protobuf::internal::NameOfEnum(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_descriptor(), value);
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Parse(
      const ::std::string& name, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort* value) {
    return ::google::protobuf::internal::ParseNamedEnum<Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort>(
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_descriptor(), name, value);
  }
  // ===================================================================
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      0;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.enums.OpenconfigAclLOGACTION log_action = 155895186 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config/log-action"];
    void clear_log_action();
    static const int kLogActionFieldNumber = 155895186;
    ::openconfig::enums::OpenconfigAclLOGACTION log_action() const;
    void set_log_action(::openconfig::enums::OpenconfigAclLOGACTION value);
  
    // .openconfig.enums.OpenconfigAclFORWARDINGACTION forwarding_action = 326700017 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config/forwarding-action"];
    void clear_forwarding_action();
    static const int kForwardingActionFieldNumber = 326700017;
    ::openconfig::enums::OpenconfigAclFORWARDINGACTION forwarding_action() const;
    void set_forwarding_action(::openconfig::enums::OpenconfigAclFORWARDINGACTION value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    int log_action_;
    int forwarding_action_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      1;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.enums.OpenconfigAclFORWARDINGACTION forwarding_action = 13025068 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state/forwarding-action"];
    void clear_forwarding_action();
    static const int kForwardingActionFieldNumber = 13025068;
    ::openconfig::enums::OpenconfigAclFORWARDINGACTION forwarding_action() const;
    void set_forwarding_action(::openconfig::enums::OpenconfigAclFORWARDINGACTION value);
  
    // .openconfig.enums.OpenconfigAclLOGACTION log_action = 462700673 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state/log-action"];
    void clear_log_action();
    static const int kLogActionFieldNumber = 462700673;
    ::openconfig::enums::OpenconfigAclLOGACTION log_action() const;
    void set_log_action(::openconfig::enums::OpenconfigAclLOGACTION value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    int forwarding_action_;
    int log_action_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Actions_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Actions : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Actions();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Actions() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      2;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config config = 277309560 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 277309560;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* config);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State state = 358092177 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 358092177;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* config_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_ActionsImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      3;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue sequence_id = 148649894 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config/sequence-id"];
    bool has_sequence_id() const;
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 148649894;
    const ::ywrapper::UintValue& sequence_id() const;
    ::ywrapper::UintValue* release_sequence_id();
    ::ywrapper::UintValue* mutable_sequence_id();
    void set_allocated_sequence_id(::ywrapper::UintValue* sequence_id);
  
    // .ywrapper.StringValue description = 428508691 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config/description"];
    bool has_description() const;
    void clear_description();
    static const int kDescriptionFieldNumber = 428508691;
    const ::ywrapper::StringValue& description() const;
    ::ywrapper::StringValue* release_description();
    ::ywrapper::StringValue* mutable_description();
    void set_allocated_description(::ywrapper::StringValue* description);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* sequence_id_;
    ::ywrapper::StringValue* description_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      4;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      5;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue subinterface = 290015419 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config/subinterface"];
    bool has_subinterface() const;
    void clear_subinterface();
    static const int kSubinterfaceFieldNumber = 290015419;
    const ::ywrapper::UintValue& subinterface() const;
    ::ywrapper::UintValue* release_subinterface();
    ::ywrapper::UintValue* mutable_subinterface();
    void set_allocated_subinterface(::ywrapper::UintValue* subinterface);
  
    // .ywrapper.StringValue interface = 341759993 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config/interface"];
    bool has_interface() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 341759993;
    const ::ywrapper::StringValue& interface() const;
    ::ywrapper::StringValue* release_interface();
    ::ywrapper::StringValue* mutable_interface();
    void set_allocated_interface(::ywrapper::StringValue* interface);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* subinterface_;
    ::ywrapper::StringValue* interface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      6;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue interface = 347496558 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state/interface"];
    bool has_interface() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 347496558;
    const ::ywrapper::StringValue& interface() const;
    ::ywrapper::StringValue* release_interface();
    ::ywrapper::StringValue* mutable_interface();
    void set_allocated_interface(::ywrapper::StringValue* interface);
  
    // .ywrapper.UintValue subinterface = 521816458 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state/subinterface"];
    bool has_subinterface() const;
    void clear_subinterface();
    static const int kSubinterfaceFieldNumber = 521816458;
    const ::ywrapper::UintValue& subinterface() const;
    ::ywrapper::UintValue* release_subinterface();
    ::ywrapper::UintValue* mutable_subinterface();
    void set_allocated_subinterface(::ywrapper::UintValue* subinterface);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* interface_;
    ::ywrapper::UintValue* subinterface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      7;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config config = 288923405 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 288923405;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* config);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State state = 471874114 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 471874114;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* config_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRefImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      8;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      9;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& a, Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef InterfaceRef;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef interface_ref = 322206760 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref"];
    bool has_interface_ref() const;
    void clear_interface_ref();
    static const int kInterfaceRefFieldNumber = 322206760;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& interface_ref() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* release_interface_ref();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* mutable_interface_ref();
    void set_allocated_interface_ref(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* interface_ref);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.State state = 400651234 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 400651234;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.Config config = 535555373 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 535555373;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* interface_ref_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_InputInterfaceImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& default_instance();
  
    enum ProtocolCase {
      kProtocolOpenconfigpacketmatchtypesipprotocol = 13672225,
      kProtocolUint64 = 231259264,
      PROTOCOL_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      10;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue dscp = 14259057 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/dscp"];
    bool has_dscp() const;
    void clear_dscp();
    static const int kDscpFieldNumber = 14259057;
    const ::ywrapper::UintValue& dscp() const;
    ::ywrapper::UintValue* release_dscp();
    ::ywrapper::UintValue* mutable_dscp();
    void set_allocated_dscp(::ywrapper::UintValue* dscp);
  
    // .ywrapper.StringValue destination_address = 82903810 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 82903810;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // .ywrapper.StringValue source_address = 460084551 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/source-address"];
    bool has_source_address() const;
    void clear_source_address();
    static const int kSourceAddressFieldNumber = 460084551;
    const ::ywrapper::StringValue& source_address() const;
    ::ywrapper::StringValue* release_source_address();
    ::ywrapper::StringValue* mutable_source_address();
    void set_allocated_source_address(::ywrapper::StringValue* source_address);
  
    // .ywrapper.UintValue hop_limit = 493826230 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/hop-limit"];
    bool has_hop_limit() const;
    void clear_hop_limit();
    static const int kHopLimitFieldNumber = 493826230;
    const ::ywrapper::UintValue& hop_limit() const;
    ::ywrapper::UintValue* release_hop_limit();
    ::ywrapper::UintValue* mutable_hop_limit();
    void set_allocated_hop_limit(::ywrapper::UintValue* hop_limit);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 13672225;
    private:
    bool has_protocol_openconfigpacketmatchtypesipprotocol() const;
    public:
    void clear_protocol_openconfigpacketmatchtypesipprotocol();
    static const int kProtocolOpenconfigpacketmatchtypesipprotocolFieldNumber = 13672225;
    ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol() const;
    void set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value);
  
    // uint64 protocol_uint64 = 231259264;
    private:
    bool has_protocol_uint64() const;
    public:
    void clear_protocol_uint64();
    static const int kProtocolUint64FieldNumber = 231259264;
    ::google::protobuf::uint64 protocol_uint64() const;
    void set_protocol_uint64(::google::protobuf::uint64 value);
  
    ProtocolCase protocol_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config)
   private:
    void set_has_protocol_openconfigpacketmatchtypesipprotocol();
    void set_has_protocol_uint64();
  
    inline bool has_protocol() const;
    void clear_protocol();
    inline void clear_has_protocol();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* dscp_;
    ::ywrapper::StringValue* destination_address_;
    ::ywrapper::StringValue* source_address_;
    ::ywrapper::UintValue* hop_limit_;
    union ProtocolUnion {
      ProtocolUnion() {}
      int protocol_openconfigpacketmatchtypesipprotocol_;
      ::google::protobuf::uint64 protocol_uint64_;
    } protocol_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& default_instance();
  
    enum ProtocolCase {
      kProtocolOpenconfigpacketmatchtypesipprotocol = 335169316,
      kProtocolUint64 = 494380497,
      PROTOCOL_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      11;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue dscp = 121235094 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/dscp"];
    bool has_dscp() const;
    void clear_dscp();
    static const int kDscpFieldNumber = 121235094;
    const ::ywrapper::UintValue& dscp() const;
    ::ywrapper::UintValue* release_dscp();
    ::ywrapper::UintValue* mutable_dscp();
    void set_allocated_dscp(::ywrapper::UintValue* dscp);
  
    // .ywrapper.StringValue destination_address = 220481211 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 220481211;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // .ywrapper.StringValue source_address = 459793172 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/source-address"];
    bool has_source_address() const;
    void clear_source_address();
    static const int kSourceAddressFieldNumber = 459793172;
    const ::ywrapper::StringValue& source_address() const;
    ::ywrapper::StringValue* release_source_address();
    ::ywrapper::StringValue* mutable_source_address();
    void set_allocated_source_address(::ywrapper::StringValue* source_address);
  
    // .ywrapper.UintValue hop_limit = 501288443 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/hop-limit"];
    bool has_hop_limit() const;
    void clear_hop_limit();
    static const int kHopLimitFieldNumber = 501288443;
    const ::ywrapper::UintValue& hop_limit() const;
    ::ywrapper::UintValue* release_hop_limit();
    ::ywrapper::UintValue* mutable_hop_limit();
    void set_allocated_hop_limit(::ywrapper::UintValue* hop_limit);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 335169316;
    private:
    bool has_protocol_openconfigpacketmatchtypesipprotocol() const;
    public:
    void clear_protocol_openconfigpacketmatchtypesipprotocol();
    static const int kProtocolOpenconfigpacketmatchtypesipprotocolFieldNumber = 335169316;
    ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol() const;
    void set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value);
  
    // uint64 protocol_uint64 = 494380497;
    private:
    bool has_protocol_uint64() const;
    public:
    void clear_protocol_uint64();
    static const int kProtocolUint64FieldNumber = 494380497;
    ::google::protobuf::uint64 protocol_uint64() const;
    void set_protocol_uint64(::google::protobuf::uint64 value);
  
    ProtocolCase protocol_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State)
   private:
    void set_has_protocol_openconfigpacketmatchtypesipprotocol();
    void set_has_protocol_uint64();
  
    inline bool has_protocol() const;
    void clear_protocol();
    inline void clear_has_protocol();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* dscp_;
    ::ywrapper::StringValue* destination_address_;
    ::ywrapper::StringValue* source_address_;
    ::ywrapper::UintValue* hop_limit_;
    union ProtocolUnion {
      ProtocolUnion() {}
      int protocol_openconfigpacketmatchtypesipprotocol_;
      ::google::protobuf::uint64 protocol_uint64_;
    } protocol_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      12;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config config = 15381632 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 15381632;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* config);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State state = 518549113 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 518549113;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* config_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv4Impl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& default_instance();
  
    enum ProtocolCase {
      kProtocolOpenconfigpacketmatchtypesipprotocol = 439824055,
      kProtocolUint64 = 468204694,
      PROTOCOL_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      13;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue hop_limit = 103791760 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/hop-limit"];
    bool has_hop_limit() const;
    void clear_hop_limit();
    static const int kHopLimitFieldNumber = 103791760;
    const ::ywrapper::UintValue& hop_limit() const;
    ::ywrapper::UintValue* release_hop_limit();
    ::ywrapper::UintValue* mutable_hop_limit();
    void set_allocated_hop_limit(::ywrapper::UintValue* hop_limit);
  
    // .ywrapper.StringValue source_address = 178850349 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/source-address"];
    bool has_source_address() const;
    void clear_source_address();
    static const int kSourceAddressFieldNumber = 178850349;
    const ::ywrapper::StringValue& source_address() const;
    ::ywrapper::StringValue* release_source_address();
    ::ywrapper::StringValue* mutable_source_address();
    void set_allocated_source_address(::ywrapper::StringValue* source_address);
  
    // .ywrapper.StringValue destination_address = 194564924 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 194564924;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // .ywrapper.UintValue destination_flow_label = 245840793 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/destination-flow-label"];
    bool has_destination_flow_label() const;
    void clear_destination_flow_label();
    static const int kDestinationFlowLabelFieldNumber = 245840793;
    const ::ywrapper::UintValue& destination_flow_label() const;
    ::ywrapper::UintValue* release_destination_flow_label();
    ::ywrapper::UintValue* mutable_destination_flow_label();
    void set_allocated_destination_flow_label(::ywrapper::UintValue* destination_flow_label);
  
    // .ywrapper.UintValue dscp = 468604011 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/dscp"];
    bool has_dscp() const;
    void clear_dscp();
    static const int kDscpFieldNumber = 468604011;
    const ::ywrapper::UintValue& dscp() const;
    ::ywrapper::UintValue* release_dscp();
    ::ywrapper::UintValue* mutable_dscp();
    void set_allocated_dscp(::ywrapper::UintValue* dscp);
  
    // .ywrapper.UintValue source_flow_label = 469237694 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/source-flow-label"];
    bool has_source_flow_label() const;
    void clear_source_flow_label();
    static const int kSourceFlowLabelFieldNumber = 469237694;
    const ::ywrapper::UintValue& source_flow_label() const;
    ::ywrapper::UintValue* release_source_flow_label();
    ::ywrapper::UintValue* mutable_source_flow_label();
    void set_allocated_source_flow_label(::ywrapper::UintValue* source_flow_label);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 439824055;
    private:
    bool has_protocol_openconfigpacketmatchtypesipprotocol() const;
    public:
    void clear_protocol_openconfigpacketmatchtypesipprotocol();
    static const int kProtocolOpenconfigpacketmatchtypesipprotocolFieldNumber = 439824055;
    ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol() const;
    void set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value);
  
    // uint64 protocol_uint64 = 468204694;
    private:
    bool has_protocol_uint64() const;
    public:
    void clear_protocol_uint64();
    static const int kProtocolUint64FieldNumber = 468204694;
    ::google::protobuf::uint64 protocol_uint64() const;
    void set_protocol_uint64(::google::protobuf::uint64 value);
  
    ProtocolCase protocol_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config)
   private:
    void set_has_protocol_openconfigpacketmatchtypesipprotocol();
    void set_has_protocol_uint64();
  
    inline bool has_protocol() const;
    void clear_protocol();
    inline void clear_has_protocol();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* hop_limit_;
    ::ywrapper::StringValue* source_address_;
    ::ywrapper::StringValue* destination_address_;
    ::ywrapper::UintValue* destination_flow_label_;
    ::ywrapper::UintValue* dscp_;
    ::ywrapper::UintValue* source_flow_label_;
    union ProtocolUnion {
      ProtocolUnion() {}
      int protocol_openconfigpacketmatchtypesipprotocol_;
      ::google::protobuf::uint64 protocol_uint64_;
    } protocol_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& default_instance();
  
    enum ProtocolCase {
      kProtocolOpenconfigpacketmatchtypesipprotocol = 60937310,
      kProtocolUint64 = 132228515,
      PROTOCOL_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      14;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue source_flow_label = 46925499 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/source-flow-label"];
    bool has_source_flow_label() const;
    void clear_source_flow_label();
    static const int kSourceFlowLabelFieldNumber = 46925499;
    const ::ywrapper::UintValue& source_flow_label() const;
    ::ywrapper::UintValue* release_source_flow_label();
    ::ywrapper::UintValue* mutable_source_flow_label();
    void set_allocated_source_flow_label(::ywrapper::UintValue* source_flow_label);
  
    // .ywrapper.StringValue destination_address = 226569937 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/destination-address"];
    bool has_destination_address() const;
    void clear_destination_address();
    static const int kDestinationAddressFieldNumber = 226569937;
    const ::ywrapper::StringValue& destination_address() const;
    ::ywrapper::StringValue* release_destination_address();
    ::ywrapper::StringValue* mutable_destination_address();
    void set_allocated_destination_address(::ywrapper::StringValue* destination_address);
  
    // .ywrapper.StringValue source_address = 299459214 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/source-address"];
    bool has_source_address() const;
    void clear_source_address();
    static const int kSourceAddressFieldNumber = 299459214;
    const ::ywrapper::StringValue& source_address() const;
    ::ywrapper::StringValue* release_source_address();
    ::ywrapper::StringValue* mutable_source_address();
    void set_allocated_source_address(::ywrapper::StringValue* source_address);
  
    // .ywrapper.UintValue dscp = 369661252 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/dscp"];
    bool has_dscp() const;
    void clear_dscp();
    static const int kDscpFieldNumber = 369661252;
    const ::ywrapper::UintValue& dscp() const;
    ::ywrapper::UintValue* release_dscp();
    ::ywrapper::UintValue* mutable_dscp();
    void set_allocated_dscp(::ywrapper::UintValue* dscp);
  
    // .ywrapper.UintValue destination_flow_label = 443337090 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/destination-flow-label"];
    bool has_destination_flow_label() const;
    void clear_destination_flow_label();
    static const int kDestinationFlowLabelFieldNumber = 443337090;
    const ::ywrapper::UintValue& destination_flow_label() const;
    ::ywrapper::UintValue* release_destination_flow_label();
    ::ywrapper::UintValue* mutable_destination_flow_label();
    void set_allocated_destination_flow_label(::ywrapper::UintValue* destination_flow_label);
  
    // .ywrapper.UintValue hop_limit = 523904369 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/hop-limit"];
    bool has_hop_limit() const;
    void clear_hop_limit();
    static const int kHopLimitFieldNumber = 523904369;
    const ::ywrapper::UintValue& hop_limit() const;
    ::ywrapper::UintValue* release_hop_limit();
    ::ywrapper::UintValue* mutable_hop_limit();
    void set_allocated_hop_limit(::ywrapper::UintValue* hop_limit);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 60937310;
    private:
    bool has_protocol_openconfigpacketmatchtypesipprotocol() const;
    public:
    void clear_protocol_openconfigpacketmatchtypesipprotocol();
    static const int kProtocolOpenconfigpacketmatchtypesipprotocolFieldNumber = 60937310;
    ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol() const;
    void set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value);
  
    // uint64 protocol_uint64 = 132228515;
    private:
    bool has_protocol_uint64() const;
    public:
    void clear_protocol_uint64();
    static const int kProtocolUint64FieldNumber = 132228515;
    ::google::protobuf::uint64 protocol_uint64() const;
    void set_protocol_uint64(::google::protobuf::uint64 value);
  
    ProtocolCase protocol_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State)
   private:
    void set_has_protocol_openconfigpacketmatchtypesipprotocol();
    void set_has_protocol_uint64();
  
    inline bool has_protocol() const;
    void clear_protocol();
    inline void clear_has_protocol();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* source_flow_label_;
    ::ywrapper::StringValue* destination_address_;
    ::ywrapper::StringValue* source_address_;
    ::ywrapper::UintValue* dscp_;
    ::ywrapper::UintValue* destination_flow_label_;
    ::ywrapper::UintValue* hop_limit_;
    union ProtocolUnion {
      ProtocolUnion() {}
      int protocol_openconfigpacketmatchtypesipprotocol_;
      ::google::protobuf::uint64 protocol_uint64_;
    } protocol_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      15;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State state = 9069295 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 9069295;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config config = 355608050 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 355608050;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Ipv6Impl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& default_instance();
  
    enum EthertypeCase {
      kEthertypeOpenconfigpacketmatchtypesethertype = 502170089,
      kEthertypeUint64 = 138649893,
      ETHERTYPE_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      16;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue destination_mac = 256403538 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/destination-mac"];
    bool has_destination_mac() const;
    void clear_destination_mac();
    static const int kDestinationMacFieldNumber = 256403538;
    const ::ywrapper::StringValue& destination_mac() const;
    ::ywrapper::StringValue* release_destination_mac();
    ::ywrapper::StringValue* mutable_destination_mac();
    void set_allocated_destination_mac(::ywrapper::StringValue* destination_mac);
  
    // .ywrapper.StringValue source_mac_mask = 270818178 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/source-mac-mask"];
    bool has_source_mac_mask() const;
    void clear_source_mac_mask();
    static const int kSourceMacMaskFieldNumber = 270818178;
    const ::ywrapper::StringValue& source_mac_mask() const;
    ::ywrapper::StringValue* release_source_mac_mask();
    ::ywrapper::StringValue* mutable_source_mac_mask();
    void set_allocated_source_mac_mask(::ywrapper::StringValue* source_mac_mask);
  
    // .ywrapper.StringValue source_mac = 399757125 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/source-mac"];
    bool has_source_mac() const;
    void clear_source_mac();
    static const int kSourceMacFieldNumber = 399757125;
    const ::ywrapper::StringValue& source_mac() const;
    ::ywrapper::StringValue* release_source_mac();
    ::ywrapper::StringValue* mutable_source_mac();
    void set_allocated_source_mac(::ywrapper::StringValue* source_mac);
  
    // .ywrapper.StringValue destination_mac_mask = 410258607 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/destination-mac-mask"];
    bool has_destination_mac_mask() const;
    void clear_destination_mac_mask();
    static const int kDestinationMacMaskFieldNumber = 410258607;
    const ::ywrapper::StringValue& destination_mac_mask() const;
    ::ywrapper::StringValue* release_destination_mac_mask();
    ::ywrapper::StringValue* mutable_destination_mac_mask();
    void set_allocated_destination_mac_mask(::ywrapper::StringValue* destination_mac_mask);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype = 502170089;
    private:
    bool has_ethertype_openconfigpacketmatchtypesethertype() const;
    public:
    void clear_ethertype_openconfigpacketmatchtypesethertype();
    static const int kEthertypeOpenconfigpacketmatchtypesethertypeFieldNumber = 502170089;
    ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype() const;
    void set_ethertype_openconfigpacketmatchtypesethertype(::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE value);
  
    // uint64 ethertype_uint64 = 138649893;
    private:
    bool has_ethertype_uint64() const;
    public:
    void clear_ethertype_uint64();
    static const int kEthertypeUint64FieldNumber = 138649893;
    ::google::protobuf::uint64 ethertype_uint64() const;
    void set_ethertype_uint64(::google::protobuf::uint64 value);
  
    EthertypeCase ethertype_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config)
   private:
    void set_has_ethertype_openconfigpacketmatchtypesethertype();
    void set_has_ethertype_uint64();
  
    inline bool has_ethertype() const;
    void clear_ethertype();
    inline void clear_has_ethertype();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* destination_mac_;
    ::ywrapper::StringValue* source_mac_mask_;
    ::ywrapper::StringValue* source_mac_;
    ::ywrapper::StringValue* destination_mac_mask_;
    union EthertypeUnion {
      EthertypeUnion() {}
      int ethertype_openconfigpacketmatchtypesethertype_;
      ::google::protobuf::uint64 ethertype_uint64_;
    } ethertype_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& default_instance();
  
    enum EthertypeCase {
      kEthertypeOpenconfigpacketmatchtypesethertype = 50199482,
      kEthertypeUint64 = 67964624,
      ETHERTYPE_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      17;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue source_mac = 9821144 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/source-mac"];
    bool has_source_mac() const;
    void clear_source_mac();
    static const int kSourceMacFieldNumber = 9821144;
    const ::ywrapper::StringValue& source_mac() const;
    ::ywrapper::StringValue* release_source_mac();
    ::ywrapper::StringValue* mutable_source_mac();
    void set_allocated_source_mac(::ywrapper::StringValue* source_mac);
  
    // .ywrapper.StringValue destination_mac_mask = 272951166 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/destination-mac-mask"];
    bool has_destination_mac_mask() const;
    void clear_destination_mac_mask();
    static const int kDestinationMacMaskFieldNumber = 272951166;
    const ::ywrapper::StringValue& destination_mac_mask() const;
    ::ywrapper::StringValue* release_destination_mac_mask();
    ::ywrapper::StringValue* mutable_destination_mac_mask();
    void set_allocated_destination_mac_mask(::ywrapper::StringValue* destination_mac_mask);
  
    // .ywrapper.StringValue source_mac_mask = 337242297 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/source-mac-mask"];
    bool has_source_mac_mask() const;
    void clear_source_mac_mask();
    static const int kSourceMacMaskFieldNumber = 337242297;
    const ::ywrapper::StringValue& source_mac_mask() const;
    ::ywrapper::StringValue* release_source_mac_mask();
    ::ywrapper::StringValue* mutable_source_mac_mask();
    void set_allocated_source_mac_mask(::ywrapper::StringValue* source_mac_mask);
  
    // .ywrapper.StringValue destination_mac = 403952649 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/destination-mac"];
    bool has_destination_mac() const;
    void clear_destination_mac();
    static const int kDestinationMacFieldNumber = 403952649;
    const ::ywrapper::StringValue& destination_mac() const;
    ::ywrapper::StringValue* release_destination_mac();
    ::ywrapper::StringValue* mutable_destination_mac();
    void set_allocated_destination_mac(::ywrapper::StringValue* destination_mac);
  
    // .openconfig.enums.OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype = 50199482;
    private:
    bool has_ethertype_openconfigpacketmatchtypesethertype() const;
    public:
    void clear_ethertype_openconfigpacketmatchtypesethertype();
    static const int kEthertypeOpenconfigpacketmatchtypesethertypeFieldNumber = 50199482;
    ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype() const;
    void set_ethertype_openconfigpacketmatchtypesethertype(::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE value);
  
    // uint64 ethertype_uint64 = 67964624;
    private:
    bool has_ethertype_uint64() const;
    public:
    void clear_ethertype_uint64();
    static const int kEthertypeUint64FieldNumber = 67964624;
    ::google::protobuf::uint64 ethertype_uint64() const;
    void set_ethertype_uint64(::google::protobuf::uint64 value);
  
    EthertypeCase ethertype_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State)
   private:
    void set_has_ethertype_openconfigpacketmatchtypesethertype();
    void set_has_ethertype_uint64();
  
    inline bool has_ethertype() const;
    void clear_ethertype();
    inline void clear_has_ethertype();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* source_mac_;
    ::ywrapper::StringValue* destination_mac_mask_;
    ::ywrapper::StringValue* source_mac_mask_;
    ::ywrapper::StringValue* destination_mac_;
    union EthertypeUnion {
      EthertypeUnion() {}
      int ethertype_openconfigpacketmatchtypesethertype_;
      ::google::protobuf::uint64 ethertype_uint64_;
    } ethertype_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[1];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_L2 : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_L2();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2(Acl_AclSets_AclSet_AclEntries_AclEntry_L2&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_L2() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_L2&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_L2& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_L2* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_L2*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      18;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2& a, Acl_AclSets_AclSet_AclEntries_AclEntry_L2& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_L2* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_L2& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_L2* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State state = 122962974 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 122962974;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config config = 229943497 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 229943497;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_L2Impl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_State(Acl_AclSets_AclSet_AclEntries_AclEntry_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      19;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue matched_packets = 123694420 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/matched-packets"];
    bool has_matched_packets() const;
    void clear_matched_packets();
    static const int kMatchedPacketsFieldNumber = 123694420;
    const ::ywrapper::UintValue& matched_packets() const;
    ::ywrapper::UintValue* release_matched_packets();
    ::ywrapper::UintValue* mutable_matched_packets();
    void set_allocated_matched_packets(::ywrapper::UintValue* matched_packets);
  
    // .ywrapper.UintValue sequence_id = 212274571 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/sequence-id"];
    bool has_sequence_id() const;
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 212274571;
    const ::ywrapper::UintValue& sequence_id() const;
    ::ywrapper::UintValue* release_sequence_id();
    ::ywrapper::UintValue* mutable_sequence_id();
    void set_allocated_sequence_id(::ywrapper::UintValue* sequence_id);
  
    // .ywrapper.UintValue matched_octets = 378451401 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/matched-octets"];
    bool has_matched_octets() const;
    void clear_matched_octets();
    static const int kMatchedOctetsFieldNumber = 378451401;
    const ::ywrapper::UintValue& matched_octets() const;
    ::ywrapper::UintValue* release_matched_octets();
    ::ywrapper::UintValue* mutable_matched_octets();
    void set_allocated_matched_octets(::ywrapper::UintValue* matched_octets);
  
    // .ywrapper.StringValue description = 434948986 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/description"];
    bool has_description() const;
    void clear_description();
    static const int kDescriptionFieldNumber = 434948986;
    const ::ywrapper::StringValue& description() const;
    ::ywrapper::StringValue* release_description();
    ::ywrapper::StringValue* mutable_description();
    void set_allocated_description(::ywrapper::StringValue* description);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* matched_packets_;
    ::ywrapper::UintValue* sequence_id_;
    ::ywrapper::UintValue* matched_octets_;
    ::ywrapper::StringValue* description_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& default_instance();
  
    enum DestinationPortCase {
      kDestinationPortDestinationport = 184575989,
      kDestinationPortString = 353749975,
      kDestinationPortUint64 = 203687850,
      DESTINATION_PORT_NOT_SET = 0,
    };
  
    enum SourcePortCase {
      kSourcePortSourceport = 480331171,
      kSourcePortString = 147714378,
      kSourcePortUint64 = 455918283,
      SOURCE_PORT_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      20;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort DestinationPort;
    static const DestinationPort DESTINATIONPORT_UNSET =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_UNSET;
    static const DestinationPort DESTINATIONPORT_ANY =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DESTINATIONPORT_ANY;
    static inline bool DestinationPort_IsValid(int value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_IsValid(value);
    }
    static const DestinationPort DestinationPort_MIN =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_MIN;
    static const DestinationPort DestinationPort_MAX =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_MAX;
    static const int DestinationPort_ARRAYSIZE =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_DestinationPort_ARRAYSIZE;
    static inline const ::google::protobuf::EnumDescriptor*
    DestinationPort_descriptor() {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_descriptor();
    }
    static inline const ::std::string& DestinationPort_Name(DestinationPort value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Name(value);
    }
    static inline bool DestinationPort_Parse(const ::std::string& name,
        DestinationPort* value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_Parse(name, value);
    }
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort SourcePort;
    static const SourcePort SOURCEPORT_UNSET =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_UNSET;
    static const SourcePort SOURCEPORT_ANY =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SOURCEPORT_ANY;
    static inline bool SourcePort_IsValid(int value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_IsValid(value);
    }
    static const SourcePort SourcePort_MIN =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_MIN;
    static const SourcePort SourcePort_MAX =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_MAX;
    static const int SourcePort_ARRAYSIZE =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_SourcePort_ARRAYSIZE;
    static inline const ::google::protobuf::EnumDescriptor*
    SourcePort_descriptor() {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_descriptor();
    }
    static inline const ::std::string& SourcePort_Name(SourcePort value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Name(value);
    }
    static inline bool SourcePort_Parse(const ::std::string& name,
        SourcePort* value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_Parse(name, value);
    }
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.enums.OpenconfigPacketMatchTypesTCPFLAGS tcp_flags = 77057068 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/config/tcp-flags"];
    int tcp_flags_size() const;
    void clear_tcp_flags();
    static const int kTcpFlagsFieldNumber = 77057068;
    ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS tcp_flags(int index) const;
    void set_tcp_flags(int index, ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value);
    void add_tcp_flags(::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value);
    const ::google::protobuf::RepeatedField<int>& tcp_flags() const;
    ::google::protobuf::RepeatedField<int>* mutable_tcp_flags();
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.DestinationPort destination_port_destinationport = 184575989;
    private:
    bool has_destination_port_destinationport() const;
    public:
    void clear_destination_port_destinationport();
    static const int kDestinationPortDestinationportFieldNumber = 184575989;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort destination_port_destinationport() const;
    void set_destination_port_destinationport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort value);
  
    // string destination_port_string = 353749975;
    private:
    bool has_destination_port_string() const;
    public:
    void clear_destination_port_string();
    static const int kDestinationPortStringFieldNumber = 353749975;
    const ::std::string& destination_port_string() const;
    void set_destination_port_string(const ::std::string& value);
    #if LANG_CXX11
    void set_destination_port_string(::std::string&& value);
    #endif
    void set_destination_port_string(const char* value);
    void set_destination_port_string(const char* value, size_t size);
    ::std::string* mutable_destination_port_string();
    ::std::string* release_destination_port_string();
    void set_allocated_destination_port_string(::std::string* destination_port_string);
  
    // uint64 destination_port_uint64 = 203687850;
    private:
    bool has_destination_port_uint64() const;
    public:
    void clear_destination_port_uint64();
    static const int kDestinationPortUint64FieldNumber = 203687850;
    ::google::protobuf::uint64 destination_port_uint64() const;
    void set_destination_port_uint64(::google::protobuf::uint64 value);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.SourcePort source_port_sourceport = 480331171;
    private:
    bool has_source_port_sourceport() const;
    public:
    void clear_source_port_sourceport();
    static const int kSourcePortSourceportFieldNumber = 480331171;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort source_port_sourceport() const;
    void set_source_port_sourceport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort value);
  
    // string source_port_string = 147714378;
    private:
    bool has_source_port_string() const;
    public:
    void clear_source_port_string();
    static const int kSourcePortStringFieldNumber = 147714378;
    const ::std::string& source_port_string() const;
    void set_source_port_string(const ::std::string& value);
    #if LANG_CXX11
    void set_source_port_string(::std::string&& value);
    #endif
    void set_source_port_string(const char* value);
    void set_source_port_string(const char* value, size_t size);
    ::std::string* mutable_source_port_string();
    ::std::string* release_source_port_string();
    void set_allocated_source_port_string(::std::string* source_port_string);
  
    // uint64 source_port_uint64 = 455918283;
    private:
    bool has_source_port_uint64() const;
    public:
    void clear_source_port_uint64();
    static const int kSourcePortUint64FieldNumber = 455918283;
    ::google::protobuf::uint64 source_port_uint64() const;
    void set_source_port_uint64(::google::protobuf::uint64 value);
  
    DestinationPortCase destination_port_case() const;
    SourcePortCase source_port_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config)
   private:
    void set_has_destination_port_destinationport();
    void set_has_destination_port_string();
    void set_has_destination_port_uint64();
    void set_has_source_port_sourceport();
    void set_has_source_port_string();
    void set_has_source_port_uint64();
  
    inline bool has_destination_port() const;
    void clear_destination_port();
    inline void clear_has_destination_port();
  
    inline bool has_source_port() const;
    void clear_source_port();
    inline void clear_has_source_port();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedField<int> tcp_flags_;
    mutable int _tcp_flags_cached_byte_size_;
    union DestinationPortUnion {
      DestinationPortUnion() {}
      int destination_port_destinationport_;
      ::google::protobuf::internal::ArenaStringPtr destination_port_string_;
      ::google::protobuf::uint64 destination_port_uint64_;
    } destination_port_;
    union SourcePortUnion {
      SourcePortUnion() {}
      int source_port_sourceport_;
      ::google::protobuf::internal::ArenaStringPtr source_port_string_;
      ::google::protobuf::uint64 source_port_uint64_;
    } source_port_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[2];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& default_instance();
  
    enum DestinationPortCase {
      kDestinationPortDestinationport = 219003282,
      kDestinationPortString = 467205198,
      kDestinationPortUint64 = 402564303,
      DESTINATION_PORT_NOT_SET = 0,
    };
  
    enum SourcePortCase {
      kSourcePortSourceport = 88930920,
      kSourcePortString = 115058633,
      kSourcePortUint64 = 147662636,
      SOURCE_PORT_NOT_SET = 0,
    };
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      21;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort DestinationPort;
    static const DestinationPort DESTINATIONPORT_UNSET =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_UNSET;
    static const DestinationPort DESTINATIONPORT_ANY =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DESTINATIONPORT_ANY;
    static inline bool DestinationPort_IsValid(int value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_IsValid(value);
    }
    static const DestinationPort DestinationPort_MIN =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_MIN;
    static const DestinationPort DestinationPort_MAX =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_MAX;
    static const int DestinationPort_ARRAYSIZE =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_DestinationPort_ARRAYSIZE;
    static inline const ::google::protobuf::EnumDescriptor*
    DestinationPort_descriptor() {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_descriptor();
    }
    static inline const ::std::string& DestinationPort_Name(DestinationPort value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Name(value);
    }
    static inline bool DestinationPort_Parse(const ::std::string& name,
        DestinationPort* value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_Parse(name, value);
    }
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort SourcePort;
    static const SourcePort SOURCEPORT_UNSET =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_UNSET;
    static const SourcePort SOURCEPORT_ANY =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SOURCEPORT_ANY;
    static inline bool SourcePort_IsValid(int value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_IsValid(value);
    }
    static const SourcePort SourcePort_MIN =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_MIN;
    static const SourcePort SourcePort_MAX =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_MAX;
    static const int SourcePort_ARRAYSIZE =
      Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_SourcePort_ARRAYSIZE;
    static inline const ::google::protobuf::EnumDescriptor*
    SourcePort_descriptor() {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_descriptor();
    }
    static inline const ::std::string& SourcePort_Name(SourcePort value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Name(value);
    }
    static inline bool SourcePort_Parse(const ::std::string& name,
        SourcePort* value) {
      return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_Parse(name, value);
    }
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.enums.OpenconfigPacketMatchTypesTCPFLAGS tcp_flags = 241870285 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/state/tcp-flags"];
    int tcp_flags_size() const;
    void clear_tcp_flags();
    static const int kTcpFlagsFieldNumber = 241870285;
    ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS tcp_flags(int index) const;
    void set_tcp_flags(int index, ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value);
    void add_tcp_flags(::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value);
    const ::google::protobuf::RepeatedField<int>& tcp_flags() const;
    ::google::protobuf::RepeatedField<int>* mutable_tcp_flags();
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.DestinationPort destination_port_destinationport = 219003282;
    private:
    bool has_destination_port_destinationport() const;
    public:
    void clear_destination_port_destinationport();
    static const int kDestinationPortDestinationportFieldNumber = 219003282;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort destination_port_destinationport() const;
    void set_destination_port_destinationport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort value);
  
    // string destination_port_string = 467205198;
    private:
    bool has_destination_port_string() const;
    public:
    void clear_destination_port_string();
    static const int kDestinationPortStringFieldNumber = 467205198;
    const ::std::string& destination_port_string() const;
    void set_destination_port_string(const ::std::string& value);
    #if LANG_CXX11
    void set_destination_port_string(::std::string&& value);
    #endif
    void set_destination_port_string(const char* value);
    void set_destination_port_string(const char* value, size_t size);
    ::std::string* mutable_destination_port_string();
    ::std::string* release_destination_port_string();
    void set_allocated_destination_port_string(::std::string* destination_port_string);
  
    // uint64 destination_port_uint64 = 402564303;
    private:
    bool has_destination_port_uint64() const;
    public:
    void clear_destination_port_uint64();
    static const int kDestinationPortUint64FieldNumber = 402564303;
    ::google::protobuf::uint64 destination_port_uint64() const;
    void set_destination_port_uint64(::google::protobuf::uint64 value);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.SourcePort source_port_sourceport = 88930920;
    private:
    bool has_source_port_sourceport() const;
    public:
    void clear_source_port_sourceport();
    static const int kSourcePortSourceportFieldNumber = 88930920;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort source_port_sourceport() const;
    void set_source_port_sourceport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort value);
  
    // string source_port_string = 115058633;
    private:
    bool has_source_port_string() const;
    public:
    void clear_source_port_string();
    static const int kSourcePortStringFieldNumber = 115058633;
    const ::std::string& source_port_string() const;
    void set_source_port_string(const ::std::string& value);
    #if LANG_CXX11
    void set_source_port_string(::std::string&& value);
    #endif
    void set_source_port_string(const char* value);
    void set_source_port_string(const char* value, size_t size);
    ::std::string* mutable_source_port_string();
    ::std::string* release_source_port_string();
    void set_allocated_source_port_string(::std::string* source_port_string);
  
    // uint64 source_port_uint64 = 147662636;
    private:
    bool has_source_port_uint64() const;
    public:
    void clear_source_port_uint64();
    static const int kSourcePortUint64FieldNumber = 147662636;
    ::google::protobuf::uint64 source_port_uint64() const;
    void set_source_port_uint64(::google::protobuf::uint64 value);
  
    DestinationPortCase destination_port_case() const;
    SourcePortCase source_port_case() const;
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State)
   private:
    void set_has_destination_port_destinationport();
    void set_has_destination_port_string();
    void set_has_destination_port_uint64();
    void set_has_source_port_sourceport();
    void set_has_source_port_string();
    void set_has_source_port_uint64();
  
    inline bool has_destination_port() const;
    void clear_destination_port();
    inline void clear_has_destination_port();
  
    inline bool has_source_port() const;
    void clear_source_port();
    inline void clear_has_source_port();
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedField<int> tcp_flags_;
    mutable int _tcp_flags_cached_byte_size_;
    union DestinationPortUnion {
      DestinationPortUnion() {}
      int destination_port_destinationport_;
      ::google::protobuf::internal::ArenaStringPtr destination_port_string_;
      ::google::protobuf::uint64 destination_port_uint64_;
    } destination_port_;
    union SourcePortUnion {
      SourcePortUnion() {}
      int source_port_sourceport_;
      ::google::protobuf::internal::ArenaStringPtr source_port_string_;
      ::google::protobuf::uint64 source_port_uint64_;
    } source_port_;
    mutable int _cached_size_;
    ::google::protobuf::uint32 _oneof_case_[2];
  
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_Transport_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry_Transport : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry_Transport();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry_Transport() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      22;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& a, Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State state = 56546699 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 56546699;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config config = 244837662 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 244837662;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntry_TransportImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntry : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntry();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntry();
  
    Acl_AclSets_AclSet_AclEntries_AclEntry(const Acl_AclSets_AclSet_AclEntries_AclEntry& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntry& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntry(Acl_AclSets_AclSet_AclEntries_AclEntry&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntry() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry& operator=(Acl_AclSets_AclSet_AclEntries_AclEntry&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntry& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntry* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntry*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntry_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      23;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntry* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntry& a, Acl_AclSets_AclSet_AclEntries_AclEntry& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntry* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntry* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntry& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntry* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Actions Actions;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Config Config;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface InputInterface;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4 Ipv4;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6 Ipv6;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_L2 L2;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_State State;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry_Transport Transport;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport transport = 13698857 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport"];
    bool has_transport() const;
    void clear_transport();
    static const int kTransportFieldNumber = 13698857;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& transport() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* release_transport();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* mutable_transport();
    void set_allocated_transport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* transport);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config config = 201866872 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 201866872;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* config);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4 ipv4 = 252224191 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4"];
    bool has_ipv4() const;
    void clear_ipv4();
    static const int kIpv4FieldNumber = 252224191;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& ipv4() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* release_ipv4();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* mutable_ipv4();
    void set_allocated_ipv4(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* ipv4);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6 ipv6 = 252224189 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6"];
    bool has_ipv6() const;
    void clear_ipv6();
    static const int kIpv6FieldNumber = 252224189;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& ipv6() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* release_ipv6();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* mutable_ipv6();
    void set_allocated_ipv6(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* ipv6);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions actions = 266093031 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions"];
    bool has_actions() const;
    void clear_actions();
    static const int kActionsFieldNumber = 266093031;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& actions() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* release_actions();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* mutable_actions();
    void set_allocated_actions(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* actions);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface input_interface = 479636424 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface"];
    bool has_input_interface() const;
    void clear_input_interface();
    static const int kInputInterfaceFieldNumber = 479636424;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& input_interface() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* release_input_interface();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* mutable_input_interface();
    void set_allocated_input_interface(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* input_interface);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State state = 489791377 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 489791377;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2 l2 = 509771812 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2"];
    bool has_l2() const;
    void clear_l2();
    static const int kL2FieldNumber = 509771812;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2& l2() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* release_l2();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* mutable_l2();
    void set_allocated_l2(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* l2);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* transport_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* config_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* ipv4_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* ipv6_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* actions_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* input_interface_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* l2_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries_AclEntryKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey) */ {
   public:
    Acl_AclSets_AclSet_AclEntries_AclEntryKey();
    virtual ~Acl_AclSets_AclSet_AclEntries_AclEntryKey();
  
    Acl_AclSets_AclSet_AclEntries_AclEntryKey(const Acl_AclSets_AclSet_AclEntries_AclEntryKey& from);
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntryKey& operator=(const Acl_AclSets_AclSet_AclEntries_AclEntryKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries_AclEntryKey(Acl_AclSets_AclSet_AclEntries_AclEntryKey&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries_AclEntryKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntryKey& operator=(Acl_AclSets_AclSet_AclEntries_AclEntryKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries_AclEntryKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries_AclEntryKey* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries_AclEntryKey*>(
                 &_Acl_AclSets_AclSet_AclEntries_AclEntryKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      24;
  
    void Swap(Acl_AclSets_AclSet_AclEntries_AclEntryKey* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries_AclEntryKey& a, Acl_AclSets_AclSet_AclEntries_AclEntryKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries_AclEntryKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries_AclEntryKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries_AclEntryKey& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries_AclEntryKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries_AclEntryKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry acl_entry = 2;
    bool has_acl_entry() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 2;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry& acl_entry() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* release_acl_entry();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* mutable_acl_entry();
    void set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* acl_entry);
  
    // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/sequence-id"];
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 1;
    ::google::protobuf::uint64 sequence_id() const;
    void set_sequence_id(::google::protobuf::uint64 value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* acl_entry_;
    ::google::protobuf::uint64 sequence_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntries_AclEntryKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_AclEntries : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries) */ {
   public:
    Acl_AclSets_AclSet_AclEntries();
    virtual ~Acl_AclSets_AclSet_AclEntries();
  
    Acl_AclSets_AclSet_AclEntries(const Acl_AclSets_AclSet_AclEntries& from);
  
    inline Acl_AclSets_AclSet_AclEntries& operator=(const Acl_AclSets_AclSet_AclEntries& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_AclEntries(Acl_AclSets_AclSet_AclEntries&& from) noexcept
      : Acl_AclSets_AclSet_AclEntries() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_AclEntries& operator=(Acl_AclSets_AclSet_AclEntries&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_AclEntries& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_AclEntries* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_AclEntries*>(
                 &_Acl_AclSets_AclSet_AclEntries_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      25;
  
    void Swap(Acl_AclSets_AclSet_AclEntries* other);
    friend void swap(Acl_AclSets_AclSet_AclEntries& a, Acl_AclSets_AclSet_AclEntries& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_AclEntries* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_AclEntries* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_AclEntries& from);
    void MergeFrom(const Acl_AclSets_AclSet_AclEntries& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_AclEntries* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries_AclEntry AclEntry;
    typedef Acl_AclSets_AclSet_AclEntries_AclEntryKey AclEntryKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey acl_entry = 532341735 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry"];
    int acl_entry_size() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 532341735;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey& acl_entry(int index) const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey* mutable_acl_entry(int index);
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey* add_acl_entry();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey >*
        mutable_acl_entry();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey >&
        acl_entry() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey > acl_entry_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_AclEntriesImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config) */ {
   public:
    Acl_AclSets_AclSet_Config();
    virtual ~Acl_AclSets_AclSet_Config();
  
    Acl_AclSets_AclSet_Config(const Acl_AclSets_AclSet_Config& from);
  
    inline Acl_AclSets_AclSet_Config& operator=(const Acl_AclSets_AclSet_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_Config(Acl_AclSets_AclSet_Config&& from) noexcept
      : Acl_AclSets_AclSet_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_Config& operator=(Acl_AclSets_AclSet_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_Config*>(
                 &_Acl_AclSets_AclSet_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      26;
  
    void Swap(Acl_AclSets_AclSet_Config* other);
    friend void swap(Acl_AclSets_AclSet_Config& a, Acl_AclSets_AclSet_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_Config& from);
    void MergeFrom(const Acl_AclSets_AclSet_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue name = 78719918 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/name"];
    bool has_name() const;
    void clear_name();
    static const int kNameFieldNumber = 78719918;
    const ::ywrapper::StringValue& name() const;
    ::ywrapper::StringValue* release_name();
    ::ywrapper::StringValue* mutable_name();
    void set_allocated_name(::ywrapper::StringValue* name);
  
    // .ywrapper.StringValue description = 417646551 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/description"];
    bool has_description() const;
    void clear_description();
    static const int kDescriptionFieldNumber = 417646551;
    const ::ywrapper::StringValue& description() const;
    ::ywrapper::StringValue* release_description();
    ::ywrapper::StringValue* mutable_description();
    void set_allocated_description(::ywrapper::StringValue* description);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 470244131 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/type"];
    void clear_type();
    static const int kTypeFieldNumber = 470244131;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* name_;
    ::ywrapper::StringValue* description_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet.State) */ {
   public:
    Acl_AclSets_AclSet_State();
    virtual ~Acl_AclSets_AclSet_State();
  
    Acl_AclSets_AclSet_State(const Acl_AclSets_AclSet_State& from);
  
    inline Acl_AclSets_AclSet_State& operator=(const Acl_AclSets_AclSet_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet_State(Acl_AclSets_AclSet_State&& from) noexcept
      : Acl_AclSets_AclSet_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet_State& operator=(Acl_AclSets_AclSet_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet_State* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet_State*>(
                 &_Acl_AclSets_AclSet_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      27;
  
    void Swap(Acl_AclSets_AclSet_State* other);
    friend void swap(Acl_AclSets_AclSet_State& a, Acl_AclSets_AclSet_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet_State& from);
    void MergeFrom(const Acl_AclSets_AclSet_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue description = 35889822 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/description"];
    bool has_description() const;
    void clear_description();
    static const int kDescriptionFieldNumber = 35889822;
    const ::ywrapper::StringValue& description() const;
    ::ywrapper::StringValue* release_description();
    ::ywrapper::StringValue* mutable_description();
    void set_allocated_description(::ywrapper::StringValue* description);
  
    // .ywrapper.StringValue name = 512257697 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/name"];
    bool has_name() const;
    void clear_name();
    static const int kNameFieldNumber = 512257697;
    const ::ywrapper::StringValue& name() const;
    ::ywrapper::StringValue* release_name();
    ::ywrapper::StringValue* mutable_name();
    void set_allocated_name(::ywrapper::StringValue* name);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 261035304 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/type"];
    void clear_type();
    static const int kTypeFieldNumber = 261035304;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* description_;
    ::ywrapper::StringValue* name_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSet_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSet : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSet) */ {
   public:
    Acl_AclSets_AclSet();
    virtual ~Acl_AclSets_AclSet();
  
    Acl_AclSets_AclSet(const Acl_AclSets_AclSet& from);
  
    inline Acl_AclSets_AclSet& operator=(const Acl_AclSets_AclSet& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSet(Acl_AclSets_AclSet&& from) noexcept
      : Acl_AclSets_AclSet() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSet& operator=(Acl_AclSets_AclSet&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSet& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSet* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSet*>(
                 &_Acl_AclSets_AclSet_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      28;
  
    void Swap(Acl_AclSets_AclSet* other);
    friend void swap(Acl_AclSets_AclSet& a, Acl_AclSets_AclSet& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSet* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSet* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSet& from);
    void MergeFrom(const Acl_AclSets_AclSet& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSet* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet_AclEntries AclEntries;
    typedef Acl_AclSets_AclSet_Config Config;
    typedef Acl_AclSets_AclSet_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.Config config = 90241004 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 90241004;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config& config() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* release_config();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* config);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries acl_entries = 111776053 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries"];
    bool has_acl_entries() const;
    void clear_acl_entries();
    static const int kAclEntriesFieldNumber = 111776053;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries& acl_entries() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* release_acl_entries();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* mutable_acl_entries();
    void set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* acl_entries);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet.State state = 443839461 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 443839461;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State& state() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* release_state();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSet)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* config_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* acl_entries_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSetImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets_AclSetKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets.AclSetKey) */ {
   public:
    Acl_AclSets_AclSetKey();
    virtual ~Acl_AclSets_AclSetKey();
  
    Acl_AclSets_AclSetKey(const Acl_AclSets_AclSetKey& from);
  
    inline Acl_AclSets_AclSetKey& operator=(const Acl_AclSets_AclSetKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets_AclSetKey(Acl_AclSets_AclSetKey&& from) noexcept
      : Acl_AclSets_AclSetKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets_AclSetKey& operator=(Acl_AclSets_AclSetKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets_AclSetKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets_AclSetKey* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets_AclSetKey*>(
                 &_Acl_AclSets_AclSetKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      29;
  
    void Swap(Acl_AclSets_AclSetKey* other);
    friend void swap(Acl_AclSets_AclSetKey& a, Acl_AclSets_AclSetKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets_AclSetKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets_AclSetKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets_AclSetKey& from);
    void MergeFrom(const Acl_AclSets_AclSetKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets_AclSetKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string name = 1 [(.yext.schemapath) = "/acl/acl-sets/acl-set/name"];
    void clear_name();
    static const int kNameFieldNumber = 1;
    const ::std::string& name() const;
    void set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_name(::std::string&& value);
    #endif
    void set_name(const char* value);
    void set_name(const char* value, size_t size);
    ::std::string* mutable_name();
    ::std::string* release_name();
    void set_allocated_name(::std::string* name);
  
    // .openconfig.openconfig_acl.Acl.AclSets.AclSet acl_set = 3;
    bool has_acl_set() const;
    void clear_acl_set();
    static const int kAclSetFieldNumber = 3;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet& acl_set() const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet* release_acl_set();
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet* mutable_acl_set();
    void set_allocated_acl_set(::openconfig::openconfig_acl::Acl_AclSets_AclSet* acl_set);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/acl-sets/acl-set/type"];
    void clear_type();
    static const int kTypeFieldNumber = 2;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets.AclSetKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr name_;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet* acl_set_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSets_AclSetKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_AclSets : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.AclSets) */ {
   public:
    Acl_AclSets();
    virtual ~Acl_AclSets();
  
    Acl_AclSets(const Acl_AclSets& from);
  
    inline Acl_AclSets& operator=(const Acl_AclSets& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_AclSets(Acl_AclSets&& from) noexcept
      : Acl_AclSets() {
      *this = ::std::move(from);
    }
  
    inline Acl_AclSets& operator=(Acl_AclSets&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_AclSets& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_AclSets* internal_default_instance() {
      return reinterpret_cast<const Acl_AclSets*>(
                 &_Acl_AclSets_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      30;
  
    void Swap(Acl_AclSets* other);
    friend void swap(Acl_AclSets& a, Acl_AclSets& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_AclSets* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_AclSets* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_AclSets& from);
    void MergeFrom(const Acl_AclSets& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_AclSets* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets_AclSet AclSet;
    typedef Acl_AclSets_AclSetKey AclSetKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.AclSets.AclSetKey acl_set = 4912443 [(.yext.schemapath) = "/acl/acl-sets/acl-set"];
    int acl_set_size() const;
    void clear_acl_set();
    static const int kAclSetFieldNumber = 4912443;
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey& acl_set(int index) const;
    ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey* mutable_acl_set(int index);
    ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey* add_acl_set();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey >*
        mutable_acl_set();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey >&
        acl_set() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.AclSets)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey > acl_set_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_AclSetsImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Config) */ {
   public:
    Acl_Config();
    virtual ~Acl_Config();
  
    Acl_Config(const Acl_Config& from);
  
    inline Acl_Config& operator=(const Acl_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Config(Acl_Config&& from) noexcept
      : Acl_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_Config& operator=(Acl_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_Config*>(
                 &_Acl_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      31;
  
    void Swap(Acl_Config* other);
    friend void swap(Acl_Config& a, Acl_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Config& from);
    void MergeFrom(const Acl_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config) */ {
   public:
    Acl_Interfaces_Interface_Config();
    virtual ~Acl_Interfaces_Interface_Config();
  
    Acl_Interfaces_Interface_Config(const Acl_Interfaces_Interface_Config& from);
  
    inline Acl_Interfaces_Interface_Config& operator=(const Acl_Interfaces_Interface_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_Config(Acl_Interfaces_Interface_Config&& from) noexcept
      : Acl_Interfaces_Interface_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_Config& operator=(Acl_Interfaces_Interface_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_Config*>(
                 &_Acl_Interfaces_Interface_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      32;
  
    void Swap(Acl_Interfaces_Interface_Config* other);
    friend void swap(Acl_Interfaces_Interface_Config& a, Acl_Interfaces_Interface_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_Config& from);
    void MergeFrom(const Acl_Interfaces_Interface_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue id = 128384696 [(.yext.schemapath) = "/acl/interfaces/interface/config/id"];
    bool has_id() const;
    void clear_id();
    static const int kIdFieldNumber = 128384696;
    const ::ywrapper::StringValue& id() const;
    ::ywrapper::StringValue* release_id();
    ::ywrapper::StringValue* mutable_id();
    void set_allocated_id(::ywrapper::StringValue* id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      33;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue matched_octets = 270373376 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/matched-octets"];
    bool has_matched_octets() const;
    void clear_matched_octets();
    static const int kMatchedOctetsFieldNumber = 270373376;
    const ::ywrapper::UintValue& matched_octets() const;
    ::ywrapper::UintValue* release_matched_octets();
    ::ywrapper::UintValue* mutable_matched_octets();
    void set_allocated_matched_octets(::ywrapper::UintValue* matched_octets);
  
    // .ywrapper.UintValue matched_packets = 425026435 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/matched-packets"];
    bool has_matched_packets() const;
    void clear_matched_packets();
    static const int kMatchedPacketsFieldNumber = 425026435;
    const ::ywrapper::UintValue& matched_packets() const;
    ::ywrapper::UintValue* release_matched_packets();
    ::ywrapper::UintValue* mutable_matched_packets();
    void set_allocated_matched_packets(::ywrapper::UintValue* matched_packets);
  
    // .ywrapper.UintValue sequence_id = 475465976 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/sequence-id"];
    bool has_sequence_id() const;
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 475465976;
    const ::ywrapper::UintValue& sequence_id() const;
    ::ywrapper::UintValue* release_sequence_id();
    ::ywrapper::UintValue* mutable_sequence_id();
    void set_allocated_sequence_id(::ywrapper::UintValue* sequence_id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* matched_octets_;
    ::ywrapper::UintValue* matched_packets_;
    ::ywrapper::UintValue* sequence_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      34;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State state = 236921978 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 236921978;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      35;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry acl_entry = 2;
    bool has_acl_entry() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 2;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& acl_entry() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* release_acl_entry();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* mutable_acl_entry();
    void set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* acl_entry);
  
    // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/sequence-id"];
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 1;
    ::google::protobuf::uint64 sequence_id() const;
    void set_sequence_id(::google::protobuf::uint64 value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* acl_entry_;
    ::google::protobuf::uint64 sequence_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      36;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry AclEntry;
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey AclEntryKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey acl_entry = 78393968 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry"];
    int acl_entry_size() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 78393968;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& acl_entry(int index) const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* mutable_acl_entry(int index);
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* add_acl_entry();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey >*
        mutable_acl_entry();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey >&
        acl_entry() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey > acl_entry_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntriesImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      37;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue set_name = 261331952 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config/set-name"];
    bool has_set_name() const;
    void clear_set_name();
    static const int kSetNameFieldNumber = 261331952;
    const ::ywrapper::StringValue& set_name() const;
    ::ywrapper::StringValue* release_set_name();
    ::ywrapper::StringValue* mutable_set_name();
    void set_allocated_set_name(::ywrapper::StringValue* set_name);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 326671756 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config/type"];
    void clear_type();
    static const int kTypeFieldNumber = 326671756;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* set_name_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      38;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue set_name = 273361801 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state/set-name"];
    bool has_set_name() const;
    void clear_set_name();
    static const int kSetNameFieldNumber = 273361801;
    const ::ywrapper::StringValue& set_name() const;
    ::ywrapper::StringValue* release_set_name();
    ::ywrapper::StringValue* mutable_set_name();
    void set_allocated_set_name(::ywrapper::StringValue* set_name);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 226751853 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state/type"];
    void clear_type();
    static const int kTypeFieldNumber = 226751853;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* set_name_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSet_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSet : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSet();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSet() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      39;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries AclEntries;
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config Config;
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State state = 206226686 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 206226686;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* state);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config config = 293659945 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 293659945;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& config() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* release_config();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* config);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries acl_entries = 441678586 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries"];
    bool has_acl_entries() const;
    void clear_acl_entries();
    static const int kAclEntriesFieldNumber = 441678586;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& acl_entries() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* release_acl_entries();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* mutable_acl_entries();
    void set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* acl_entries);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* state_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* config_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* acl_entries_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey();
    virtual ~Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey();
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& operator=(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey(Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& operator=(Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      40;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& a, Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string set_name = 1 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/set-name"];
    void clear_set_name();
    static const int kSetNameFieldNumber = 1;
    const ::std::string& set_name() const;
    void set_set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_set_name(::std::string&& value);
    #endif
    void set_set_name(const char* value);
    void set_set_name(const char* value, size_t size);
    ::std::string* mutable_set_name();
    ::std::string* release_set_name();
    void set_allocated_set_name(::std::string* set_name);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet egress_acl_set = 3;
    bool has_egress_acl_set() const;
    void clear_egress_acl_set();
    static const int kEgressAclSetFieldNumber = 3;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& egress_acl_set() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* release_egress_acl_set();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* mutable_egress_acl_set();
    void set_allocated_egress_acl_set(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* egress_acl_set);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/type"];
    void clear_type();
    static const int kTypeFieldNumber = 2;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr set_name_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* egress_acl_set_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSets_EgressAclSetKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_EgressAclSets : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets) */ {
   public:
    Acl_Interfaces_Interface_EgressAclSets();
    virtual ~Acl_Interfaces_Interface_EgressAclSets();
  
    Acl_Interfaces_Interface_EgressAclSets(const Acl_Interfaces_Interface_EgressAclSets& from);
  
    inline Acl_Interfaces_Interface_EgressAclSets& operator=(const Acl_Interfaces_Interface_EgressAclSets& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_EgressAclSets(Acl_Interfaces_Interface_EgressAclSets&& from) noexcept
      : Acl_Interfaces_Interface_EgressAclSets() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_EgressAclSets& operator=(Acl_Interfaces_Interface_EgressAclSets&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_EgressAclSets& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_EgressAclSets* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_EgressAclSets*>(
                 &_Acl_Interfaces_Interface_EgressAclSets_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      41;
  
    void Swap(Acl_Interfaces_Interface_EgressAclSets* other);
    friend void swap(Acl_Interfaces_Interface_EgressAclSets& a, Acl_Interfaces_Interface_EgressAclSets& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_EgressAclSets* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_EgressAclSets* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_EgressAclSets& from);
    void MergeFrom(const Acl_Interfaces_Interface_EgressAclSets& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_EgressAclSets* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSet EgressAclSet;
    typedef Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey EgressAclSetKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey egress_acl_set = 98207108 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set"];
    int egress_acl_set_size() const;
    void clear_egress_acl_set();
    static const int kEgressAclSetFieldNumber = 98207108;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& egress_acl_set(int index) const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* mutable_egress_acl_set(int index);
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* add_egress_acl_set();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey >*
        mutable_egress_acl_set();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey >&
        egress_acl_set() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey > egress_acl_set_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_EgressAclSetsImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      42;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue matched_packets = 115163105 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/matched-packets"];
    bool has_matched_packets() const;
    void clear_matched_packets();
    static const int kMatchedPacketsFieldNumber = 115163105;
    const ::ywrapper::UintValue& matched_packets() const;
    ::ywrapper::UintValue* release_matched_packets();
    ::ywrapper::UintValue* mutable_matched_packets();
    void set_allocated_matched_packets(::ywrapper::UintValue* matched_packets);
  
    // .ywrapper.UintValue sequence_id = 198617442 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/sequence-id"];
    bool has_sequence_id() const;
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 198617442;
    const ::ywrapper::UintValue& sequence_id() const;
    ::ywrapper::UintValue* release_sequence_id();
    ::ywrapper::UintValue* mutable_sequence_id();
    void set_allocated_sequence_id(::ywrapper::UintValue* sequence_id);
  
    // .ywrapper.UintValue matched_octets = 253417282 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/matched-octets"];
    bool has_matched_octets() const;
    void clear_matched_octets();
    static const int kMatchedOctetsFieldNumber = 253417282;
    const ::ywrapper::UintValue& matched_octets() const;
    ::ywrapper::UintValue* release_matched_octets();
    ::ywrapper::UintValue* mutable_matched_octets();
    void set_allocated_matched_octets(::ywrapper::UintValue* matched_octets);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* matched_packets_;
    ::ywrapper::UintValue* sequence_id_;
    ::ywrapper::UintValue* matched_octets_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      43;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State state = 29088020 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 29088020;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* state);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* state_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      44;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry acl_entry = 2;
    bool has_acl_entry() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 2;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& acl_entry() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* release_acl_entry();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* mutable_acl_entry();
    void set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* acl_entry);
  
    // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/sequence-id"];
    void clear_sequence_id();
    static const int kSequenceIdFieldNumber = 1;
    ::google::protobuf::uint64 sequence_id() const;
    void set_sequence_id(::google::protobuf::uint64 value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* acl_entry_;
    ::google::protobuf::uint64 sequence_id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      45;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry AclEntry;
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey AclEntryKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey acl_entry = 497293554 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry"];
    int acl_entry_size() const;
    void clear_acl_entry();
    static const int kAclEntryFieldNumber = 497293554;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& acl_entry(int index) const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* mutable_acl_entry(int index);
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* add_acl_entry();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey >*
        mutable_acl_entry();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey >&
        acl_entry() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey > acl_entry_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntriesImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      46;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue set_name = 393066506 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config/set-name"];
    bool has_set_name() const;
    void clear_set_name();
    static const int kSetNameFieldNumber = 393066506;
    const ::ywrapper::StringValue& set_name() const;
    ::ywrapper::StringValue* release_set_name();
    ::ywrapper::StringValue* mutable_set_name();
    void set_allocated_set_name(::ywrapper::StringValue* set_name);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 246920790 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config/type"];
    void clear_type();
    static const int kTypeFieldNumber = 246920790;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* set_name_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      47;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue set_name = 435077559 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state/set-name"];
    bool has_set_name() const;
    void clear_set_name();
    static const int kSetNameFieldNumber = 435077559;
    const ::ywrapper::StringValue& set_name() const;
    ::ywrapper::StringValue* release_set_name();
    ::ywrapper::StringValue* mutable_set_name();
    void set_allocated_set_name(::ywrapper::StringValue* set_name);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 276970363 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state/type"];
    void clear_type();
    static const int kTypeFieldNumber = 276970363;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* set_name_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSet_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSet : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSet();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSet() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      48;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries AclEntries;
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config Config;
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State state = 179158516 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 179158516;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* state);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config config = 185162259 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 185162259;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& config() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* release_config();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* config);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries acl_entries = 211050772 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries"];
    bool has_acl_entries() const;
    void clear_acl_entries();
    static const int kAclEntriesFieldNumber = 211050772;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& acl_entries() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* release_acl_entries();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* mutable_acl_entries();
    void set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* acl_entries);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* state_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* config_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* acl_entries_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey();
    virtual ~Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey();
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& operator=(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey(Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& operator=(Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      49;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& a, Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string set_name = 1 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/set-name"];
    void clear_set_name();
    static const int kSetNameFieldNumber = 1;
    const ::std::string& set_name() const;
    void set_set_name(const ::std::string& value);
    #if LANG_CXX11
    void set_set_name(::std::string&& value);
    #endif
    void set_set_name(const char* value);
    void set_set_name(const char* value, size_t size);
    ::std::string* mutable_set_name();
    ::std::string* release_set_name();
    void set_allocated_set_name(::std::string* set_name);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet ingress_acl_set = 3;
    bool has_ingress_acl_set() const;
    void clear_ingress_acl_set();
    static const int kIngressAclSetFieldNumber = 3;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& ingress_acl_set() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* release_ingress_acl_set();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* mutable_ingress_acl_set();
    void set_allocated_ingress_acl_set(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* ingress_acl_set);
  
    // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/type"];
    void clear_type();
    static const int kTypeFieldNumber = 2;
    ::openconfig::enums::OpenconfigAclACLTYPE type() const;
    void set_type(::openconfig::enums::OpenconfigAclACLTYPE value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr set_name_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* ingress_acl_set_;
    int type_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSets_IngressAclSetKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_IngressAclSets : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets) */ {
   public:
    Acl_Interfaces_Interface_IngressAclSets();
    virtual ~Acl_Interfaces_Interface_IngressAclSets();
  
    Acl_Interfaces_Interface_IngressAclSets(const Acl_Interfaces_Interface_IngressAclSets& from);
  
    inline Acl_Interfaces_Interface_IngressAclSets& operator=(const Acl_Interfaces_Interface_IngressAclSets& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_IngressAclSets(Acl_Interfaces_Interface_IngressAclSets&& from) noexcept
      : Acl_Interfaces_Interface_IngressAclSets() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_IngressAclSets& operator=(Acl_Interfaces_Interface_IngressAclSets&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_IngressAclSets& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_IngressAclSets* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_IngressAclSets*>(
                 &_Acl_Interfaces_Interface_IngressAclSets_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      50;
  
    void Swap(Acl_Interfaces_Interface_IngressAclSets* other);
    friend void swap(Acl_Interfaces_Interface_IngressAclSets& a, Acl_Interfaces_Interface_IngressAclSets& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_IngressAclSets* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_IngressAclSets* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_IngressAclSets& from);
    void MergeFrom(const Acl_Interfaces_Interface_IngressAclSets& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_IngressAclSets* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSet IngressAclSet;
    typedef Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey IngressAclSetKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey ingress_acl_set = 162661714 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set"];
    int ingress_acl_set_size() const;
    void clear_ingress_acl_set();
    static const int kIngressAclSetFieldNumber = 162661714;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& ingress_acl_set(int index) const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* mutable_ingress_acl_set(int index);
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* add_ingress_acl_set();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey >*
        mutable_ingress_acl_set();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey >&
        ingress_acl_set() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey > ingress_acl_set_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_IngressAclSetsImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_InterfaceRef_Config : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config) */ {
   public:
    Acl_Interfaces_Interface_InterfaceRef_Config();
    virtual ~Acl_Interfaces_Interface_InterfaceRef_Config();
  
    Acl_Interfaces_Interface_InterfaceRef_Config(const Acl_Interfaces_Interface_InterfaceRef_Config& from);
  
    inline Acl_Interfaces_Interface_InterfaceRef_Config& operator=(const Acl_Interfaces_Interface_InterfaceRef_Config& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_InterfaceRef_Config(Acl_Interfaces_Interface_InterfaceRef_Config&& from) noexcept
      : Acl_Interfaces_Interface_InterfaceRef_Config() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_InterfaceRef_Config& operator=(Acl_Interfaces_Interface_InterfaceRef_Config&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_InterfaceRef_Config& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_InterfaceRef_Config* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_InterfaceRef_Config*>(
                 &_Acl_Interfaces_Interface_InterfaceRef_Config_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      51;
  
    void Swap(Acl_Interfaces_Interface_InterfaceRef_Config* other);
    friend void swap(Acl_Interfaces_Interface_InterfaceRef_Config& a, Acl_Interfaces_Interface_InterfaceRef_Config& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_InterfaceRef_Config* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_InterfaceRef_Config* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_InterfaceRef_Config& from);
    void MergeFrom(const Acl_Interfaces_Interface_InterfaceRef_Config& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_InterfaceRef_Config* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue subinterface = 223813592 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config/subinterface"];
    bool has_subinterface() const;
    void clear_subinterface();
    static const int kSubinterfaceFieldNumber = 223813592;
    const ::ywrapper::UintValue& subinterface() const;
    ::ywrapper::UintValue* release_subinterface();
    ::ywrapper::UintValue* mutable_subinterface();
    void set_allocated_subinterface(::ywrapper::UintValue* subinterface);
  
    // .ywrapper.StringValue interface = 510701464 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config/interface"];
    bool has_interface() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 510701464;
    const ::ywrapper::StringValue& interface() const;
    ::ywrapper::StringValue* release_interface();
    ::ywrapper::StringValue* mutable_interface();
    void set_allocated_interface(::ywrapper::StringValue* interface);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* subinterface_;
    ::ywrapper::StringValue* interface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_InterfaceRef_ConfigImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_InterfaceRef_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State) */ {
   public:
    Acl_Interfaces_Interface_InterfaceRef_State();
    virtual ~Acl_Interfaces_Interface_InterfaceRef_State();
  
    Acl_Interfaces_Interface_InterfaceRef_State(const Acl_Interfaces_Interface_InterfaceRef_State& from);
  
    inline Acl_Interfaces_Interface_InterfaceRef_State& operator=(const Acl_Interfaces_Interface_InterfaceRef_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_InterfaceRef_State(Acl_Interfaces_Interface_InterfaceRef_State&& from) noexcept
      : Acl_Interfaces_Interface_InterfaceRef_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_InterfaceRef_State& operator=(Acl_Interfaces_Interface_InterfaceRef_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_InterfaceRef_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_InterfaceRef_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_InterfaceRef_State*>(
                 &_Acl_Interfaces_Interface_InterfaceRef_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      52;
  
    void Swap(Acl_Interfaces_Interface_InterfaceRef_State* other);
    friend void swap(Acl_Interfaces_Interface_InterfaceRef_State& a, Acl_Interfaces_Interface_InterfaceRef_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_InterfaceRef_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_InterfaceRef_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_InterfaceRef_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_InterfaceRef_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_InterfaceRef_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.UintValue subinterface = 117660727 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state/subinterface"];
    bool has_subinterface() const;
    void clear_subinterface();
    static const int kSubinterfaceFieldNumber = 117660727;
    const ::ywrapper::UintValue& subinterface() const;
    ::ywrapper::UintValue* release_subinterface();
    ::ywrapper::UintValue* mutable_subinterface();
    void set_allocated_subinterface(::ywrapper::UintValue* subinterface);
  
    // .ywrapper.StringValue interface = 433284309 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state/interface"];
    bool has_interface() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 433284309;
    const ::ywrapper::StringValue& interface() const;
    ::ywrapper::StringValue* release_interface();
    ::ywrapper::StringValue* mutable_interface();
    void set_allocated_interface(::ywrapper::StringValue* interface);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::UintValue* subinterface_;
    ::ywrapper::StringValue* interface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_InterfaceRef_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_InterfaceRef : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef) */ {
   public:
    Acl_Interfaces_Interface_InterfaceRef();
    virtual ~Acl_Interfaces_Interface_InterfaceRef();
  
    Acl_Interfaces_Interface_InterfaceRef(const Acl_Interfaces_Interface_InterfaceRef& from);
  
    inline Acl_Interfaces_Interface_InterfaceRef& operator=(const Acl_Interfaces_Interface_InterfaceRef& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_InterfaceRef(Acl_Interfaces_Interface_InterfaceRef&& from) noexcept
      : Acl_Interfaces_Interface_InterfaceRef() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_InterfaceRef& operator=(Acl_Interfaces_Interface_InterfaceRef&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_InterfaceRef& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_InterfaceRef* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_InterfaceRef*>(
                 &_Acl_Interfaces_Interface_InterfaceRef_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      53;
  
    void Swap(Acl_Interfaces_Interface_InterfaceRef* other);
    friend void swap(Acl_Interfaces_Interface_InterfaceRef& a, Acl_Interfaces_Interface_InterfaceRef& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_InterfaceRef* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_InterfaceRef* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_InterfaceRef& from);
    void MergeFrom(const Acl_Interfaces_Interface_InterfaceRef& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_InterfaceRef* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_InterfaceRef_Config Config;
    typedef Acl_Interfaces_Interface_InterfaceRef_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State state = 161770793 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 161770793;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* state);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config config = 412022704 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 412022704;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config& config() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* release_config();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* config);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* state_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* config_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_InterfaceRefImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface.State) */ {
   public:
    Acl_Interfaces_Interface_State();
    virtual ~Acl_Interfaces_Interface_State();
  
    Acl_Interfaces_Interface_State(const Acl_Interfaces_Interface_State& from);
  
    inline Acl_Interfaces_Interface_State& operator=(const Acl_Interfaces_Interface_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface_State(Acl_Interfaces_Interface_State&& from) noexcept
      : Acl_Interfaces_Interface_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface_State& operator=(Acl_Interfaces_Interface_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface_State* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface_State*>(
                 &_Acl_Interfaces_Interface_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      54;
  
    void Swap(Acl_Interfaces_Interface_State* other);
    friend void swap(Acl_Interfaces_Interface_State& a, Acl_Interfaces_Interface_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface_State& from);
    void MergeFrom(const Acl_Interfaces_Interface_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .ywrapper.StringValue id = 92757579 [(.yext.schemapath) = "/acl/interfaces/interface/state/id"];
    bool has_id() const;
    void clear_id();
    static const int kIdFieldNumber = 92757579;
    const ::ywrapper::StringValue& id() const;
    ::ywrapper::StringValue* release_id();
    ::ywrapper::StringValue* mutable_id();
    void set_allocated_id(::ywrapper::StringValue* id);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::ywrapper::StringValue* id_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_Interface_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_Interface : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.Interface) */ {
   public:
    Acl_Interfaces_Interface();
    virtual ~Acl_Interfaces_Interface();
  
    Acl_Interfaces_Interface(const Acl_Interfaces_Interface& from);
  
    inline Acl_Interfaces_Interface& operator=(const Acl_Interfaces_Interface& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_Interface(Acl_Interfaces_Interface&& from) noexcept
      : Acl_Interfaces_Interface() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_Interface& operator=(Acl_Interfaces_Interface&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_Interface& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_Interface* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_Interface*>(
                 &_Acl_Interfaces_Interface_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      55;
  
    void Swap(Acl_Interfaces_Interface* other);
    friend void swap(Acl_Interfaces_Interface& a, Acl_Interfaces_Interface& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_Interface* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_Interface* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_Interface& from);
    void MergeFrom(const Acl_Interfaces_Interface& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_Interface* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface_Config Config;
    typedef Acl_Interfaces_Interface_EgressAclSets EgressAclSets;
    typedef Acl_Interfaces_Interface_IngressAclSets IngressAclSets;
    typedef Acl_Interfaces_Interface_InterfaceRef InterfaceRef;
    typedef Acl_Interfaces_Interface_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.Config config = 39814432 [(.yext.schemapath) = "/acl/interfaces/interface/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 39814432;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config& config() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* release_config();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* config);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets ingress_acl_sets = 149051962 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets"];
    bool has_ingress_acl_sets() const;
    void clear_ingress_acl_sets();
    static const int kIngressAclSetsFieldNumber = 149051962;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets& ingress_acl_sets() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* release_ingress_acl_sets();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* mutable_ingress_acl_sets();
    void set_allocated_ingress_acl_sets(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* ingress_acl_sets);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.State state = 154100377 [(.yext.schemapath) = "/acl/interfaces/interface/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 154100377;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State& state() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* release_state();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* state);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef interface_ref = 216230351 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref"];
    bool has_interface_ref() const;
    void clear_interface_ref();
    static const int kInterfaceRefFieldNumber = 216230351;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef& interface_ref() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* release_interface_ref();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* mutable_interface_ref();
    void set_allocated_interface_ref(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* interface_ref);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets egress_acl_sets = 461903946 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets"];
    bool has_egress_acl_sets() const;
    void clear_egress_acl_sets();
    static const int kEgressAclSetsFieldNumber = 461903946;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets& egress_acl_sets() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* release_egress_acl_sets();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* mutable_egress_acl_sets();
    void set_allocated_egress_acl_sets(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* egress_acl_sets);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.Interface)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* config_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* ingress_acl_sets_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* state_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* interface_ref_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* egress_acl_sets_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_InterfaceImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces_InterfaceKey : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey) */ {
   public:
    Acl_Interfaces_InterfaceKey();
    virtual ~Acl_Interfaces_InterfaceKey();
  
    Acl_Interfaces_InterfaceKey(const Acl_Interfaces_InterfaceKey& from);
  
    inline Acl_Interfaces_InterfaceKey& operator=(const Acl_Interfaces_InterfaceKey& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces_InterfaceKey(Acl_Interfaces_InterfaceKey&& from) noexcept
      : Acl_Interfaces_InterfaceKey() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces_InterfaceKey& operator=(Acl_Interfaces_InterfaceKey&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces_InterfaceKey& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces_InterfaceKey* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces_InterfaceKey*>(
                 &_Acl_Interfaces_InterfaceKey_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      56;
  
    void Swap(Acl_Interfaces_InterfaceKey* other);
    friend void swap(Acl_Interfaces_InterfaceKey& a, Acl_Interfaces_InterfaceKey& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces_InterfaceKey* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces_InterfaceKey* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces_InterfaceKey& from);
    void MergeFrom(const Acl_Interfaces_InterfaceKey& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces_InterfaceKey* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // string id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/id"];
    void clear_id();
    static const int kIdFieldNumber = 1;
    const ::std::string& id() const;
    void set_id(const ::std::string& value);
    #if LANG_CXX11
    void set_id(::std::string&& value);
    #endif
    void set_id(const char* value);
    void set_id(const char* value, size_t size);
    ::std::string* mutable_id();
    ::std::string* release_id();
    void set_allocated_id(::std::string* id);
  
    // .openconfig.openconfig_acl.Acl.Interfaces.Interface interface = 2;
    bool has_interface() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 2;
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface& interface() const;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface* release_interface();
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface* mutable_interface();
    void set_allocated_interface(::openconfig::openconfig_acl::Acl_Interfaces_Interface* interface);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::internal::ArenaStringPtr id_;
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface* interface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_Interfaces_InterfaceKeyImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_Interfaces : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.Interfaces) */ {
   public:
    Acl_Interfaces();
    virtual ~Acl_Interfaces();
  
    Acl_Interfaces(const Acl_Interfaces& from);
  
    inline Acl_Interfaces& operator=(const Acl_Interfaces& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_Interfaces(Acl_Interfaces&& from) noexcept
      : Acl_Interfaces() {
      *this = ::std::move(from);
    }
  
    inline Acl_Interfaces& operator=(Acl_Interfaces&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_Interfaces& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_Interfaces* internal_default_instance() {
      return reinterpret_cast<const Acl_Interfaces*>(
                 &_Acl_Interfaces_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      57;
  
    void Swap(Acl_Interfaces* other);
    friend void swap(Acl_Interfaces& a, Acl_Interfaces& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_Interfaces* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_Interfaces* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_Interfaces& from);
    void MergeFrom(const Acl_Interfaces& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_Interfaces* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_Interfaces_Interface Interface;
    typedef Acl_Interfaces_InterfaceKey InterfaceKey;
  
    // accessors -------------------------------------------------------
  
    // repeated .openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey interface = 460928223 [(.yext.schemapath) = "/acl/interfaces/interface"];
    int interface_size() const;
    void clear_interface();
    static const int kInterfaceFieldNumber = 460928223;
    const ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey& interface(int index) const;
    ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey* mutable_interface(int index);
    ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey* add_interface();
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey >*
        mutable_interface();
    const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey >&
        interface() const;
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.Interfaces)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey > interface_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_InterfacesImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl_State : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl.State) */ {
   public:
    Acl_State();
    virtual ~Acl_State();
  
    Acl_State(const Acl_State& from);
  
    inline Acl_State& operator=(const Acl_State& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl_State(Acl_State&& from) noexcept
      : Acl_State() {
      *this = ::std::move(from);
    }
  
    inline Acl_State& operator=(Acl_State&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl_State& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl_State* internal_default_instance() {
      return reinterpret_cast<const Acl_State*>(
                 &_Acl_State_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      58;
  
    void Swap(Acl_State* other);
    friend void swap(Acl_State& a, Acl_State& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl_State* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl_State* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl_State& from);
    void MergeFrom(const Acl_State& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl_State* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    // accessors -------------------------------------------------------
  
    // .openconfig.enums.OpenconfigAclACLCOUNTERCAPABILITY counter_capability = 39929886 [(.yext.schemapath) = "/acl/state/counter-capability"];
    void clear_counter_capability();
    static const int kCounterCapabilityFieldNumber = 39929886;
    ::openconfig::enums::OpenconfigAclACLCOUNTERCAPABILITY counter_capability() const;
    void set_counter_capability(::openconfig::enums::OpenconfigAclACLCOUNTERCAPABILITY value);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl.State)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    int counter_capability_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAcl_StateImpl();
  };
  // -------------------------------------------------------------------
  
  class Acl : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:openconfig.openconfig_acl.Acl) */ {
   public:
    Acl();
    virtual ~Acl();
  
    Acl(const Acl& from);
  
    inline Acl& operator=(const Acl& from) {
      CopyFrom(from);
      return *this;
    }
    #if LANG_CXX11
    Acl(Acl&& from) noexcept
      : Acl() {
      *this = ::std::move(from);
    }
  
    inline Acl& operator=(Acl&& from) noexcept {
      if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
        if (this != &from) InternalSwap(&from);
      } else {
        CopyFrom(from);
      }
      return *this;
    }
    #endif
    static const ::google::protobuf::Descriptor* descriptor();
    static const Acl& default_instance();
  
    static void InitAsDefaultInstance();  // FOR INTERNAL USE ONLY
    static inline const Acl* internal_default_instance() {
      return reinterpret_cast<const Acl*>(
                 &_Acl_default_instance_);
    }
    static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
      59;
  
    void Swap(Acl* other);
    friend void swap(Acl& a, Acl& b) {
      a.Swap(&b);
    }
  
    // implements Message ----------------------------------------------
  
    inline Acl* New() const PROTOBUF_FINAL { return New(NULL); }
  
    Acl* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
    void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
    void CopyFrom(const Acl& from);
    void MergeFrom(const Acl& from);
    void Clear() PROTOBUF_FINAL;
    bool IsInitialized() const PROTOBUF_FINAL;
  
    size_t ByteSizeLong() const PROTOBUF_FINAL;
    bool MergePartialFromCodedStream(
        ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
    void SerializeWithCachedSizes(
        ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
    ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
        bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
    int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
    private:
    void SharedCtor();
    void SharedDtor();
    void SetCachedSize(int size) const PROTOBUF_FINAL;
    void InternalSwap(Acl* other);
    private:
    inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
      return NULL;
    }
    inline void* MaybeArenaPtr() const {
      return NULL;
    }
    public:
  
    ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;
  
    // nested types ----------------------------------------------------
  
    typedef Acl_AclSets AclSets;
    typedef Acl_Config Config;
    typedef Acl_Interfaces Interfaces;
    typedef Acl_State State;
  
    // accessors -------------------------------------------------------
  
    // .openconfig.openconfig_acl.Acl.Interfaces interfaces = 154699711 [(.yext.schemapath) = "/acl/interfaces"];
    bool has_interfaces() const;
    void clear_interfaces();
    static const int kInterfacesFieldNumber = 154699711;
    const ::openconfig::openconfig_acl::Acl_Interfaces& interfaces() const;
    ::openconfig::openconfig_acl::Acl_Interfaces* release_interfaces();
    ::openconfig::openconfig_acl::Acl_Interfaces* mutable_interfaces();
    void set_allocated_interfaces(::openconfig::openconfig_acl::Acl_Interfaces* interfaces);
  
    // .openconfig.openconfig_acl.Acl.Config config = 267083569 [(.yext.schemapath) = "/acl/config"];
    bool has_config() const;
    void clear_config();
    static const int kConfigFieldNumber = 267083569;
    const ::openconfig::openconfig_acl::Acl_Config& config() const;
    ::openconfig::openconfig_acl::Acl_Config* release_config();
    ::openconfig::openconfig_acl::Acl_Config* mutable_config();
    void set_allocated_config(::openconfig::openconfig_acl::Acl_Config* config);
  
    // .openconfig.openconfig_acl.Acl.State state = 331320230 [(.yext.schemapath) = "/acl/state"];
    bool has_state() const;
    void clear_state();
    static const int kStateFieldNumber = 331320230;
    const ::openconfig::openconfig_acl::Acl_State& state() const;
    ::openconfig::openconfig_acl::Acl_State* release_state();
    ::openconfig::openconfig_acl::Acl_State* mutable_state();
    void set_allocated_state(::openconfig::openconfig_acl::Acl_State* state);
  
    // .openconfig.openconfig_acl.Acl.AclSets acl_sets = 417518509 [(.yext.schemapath) = "/acl/acl-sets"];
    bool has_acl_sets() const;
    void clear_acl_sets();
    static const int kAclSetsFieldNumber = 417518509;
    const ::openconfig::openconfig_acl::Acl_AclSets& acl_sets() const;
    ::openconfig::openconfig_acl::Acl_AclSets* release_acl_sets();
    ::openconfig::openconfig_acl::Acl_AclSets* mutable_acl_sets();
    void set_allocated_acl_sets(::openconfig::openconfig_acl::Acl_AclSets* acl_sets);
  
    // @@protoc_insertion_point(class_scope:openconfig.openconfig_acl.Acl)
   private:
  
    ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
    ::openconfig::openconfig_acl::Acl_Interfaces* interfaces_;
    ::openconfig::openconfig_acl::Acl_Config* config_;
    ::openconfig::openconfig_acl::Acl_State* state_;
    ::openconfig::openconfig_acl::Acl_AclSets* acl_sets_;
    mutable int _cached_size_;
    friend struct ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::TableStruct;
    friend void ::protobuf_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto::InitDefaultsAclImpl();
  };
  // ===================================================================
  
  
  // ===================================================================
  
  #ifdef __GNUC__
    #pragma GCC diagnostic push
    #pragma GCC diagnostic ignored "-Wstrict-aliasing"
  #endif  // __GNUC__
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config
  
  // .openconfig.enums.OpenconfigAclFORWARDINGACTION forwarding_action = 326700017 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config/forwarding-action"];
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::clear_forwarding_action() {
    forwarding_action_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclFORWARDINGACTION Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::forwarding_action() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config.forwarding_action)
    return static_cast< ::openconfig::enums::OpenconfigAclFORWARDINGACTION >(forwarding_action_);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::set_forwarding_action(::openconfig::enums::OpenconfigAclFORWARDINGACTION value) {
    
    forwarding_action_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config.forwarding_action)
  }
  
  // .openconfig.enums.OpenconfigAclLOGACTION log_action = 155895186 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config/log-action"];
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::clear_log_action() {
    log_action_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclLOGACTION Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::log_action() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config.log_action)
    return static_cast< ::openconfig::enums::OpenconfigAclLOGACTION >(log_action_);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config::set_log_action(::openconfig::enums::OpenconfigAclLOGACTION value) {
    
    log_action_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config.log_action)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State
  
  // .openconfig.enums.OpenconfigAclFORWARDINGACTION forwarding_action = 13025068 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state/forwarding-action"];
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::clear_forwarding_action() {
    forwarding_action_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclFORWARDINGACTION Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::forwarding_action() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State.forwarding_action)
    return static_cast< ::openconfig::enums::OpenconfigAclFORWARDINGACTION >(forwarding_action_);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::set_forwarding_action(::openconfig::enums::OpenconfigAclFORWARDINGACTION value) {
    
    forwarding_action_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State.forwarding_action)
  }
  
  // .openconfig.enums.OpenconfigAclLOGACTION log_action = 462700673 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state/log-action"];
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::clear_log_action() {
    log_action_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclLOGACTION Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::log_action() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State.log_action)
    return static_cast< ::openconfig::enums::OpenconfigAclLOGACTION >(log_action_);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State::set_log_action(::openconfig::enums::OpenconfigAclLOGACTION value) {
    
    log_action_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State.log_action)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Actions
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.Config config = 277309560 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.State state = 358092177 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State& Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Actions::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Config
  
  // .ywrapper.StringValue description = 428508691 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config/description"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Config::has_description() const {
    return this != internal_default_instance() && description_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Config::description() const {
    const ::ywrapper::StringValue* p = description_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.description)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Config::release_description() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.description)
    
    ::ywrapper::StringValue* temp = description_;
    description_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Config::mutable_description() {
    
    if (description_ == NULL) {
      description_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.description)
    return description_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Config::set_allocated_description(::ywrapper::StringValue* description) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(description_);
    }
    if (description) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        description = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, description, submessage_arena);
      }
      
    } else {
      
    }
    description_ = description;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.description)
  }
  
  // .ywrapper.UintValue sequence_id = 148649894 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config/sequence-id"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Config::has_sequence_id() const {
    return this != internal_default_instance() && sequence_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Config::sequence_id() const {
    const ::ywrapper::UintValue* p = sequence_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.sequence_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Config::release_sequence_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.sequence_id)
    
    ::ywrapper::UintValue* temp = sequence_id_;
    sequence_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Config::mutable_sequence_id() {
    
    if (sequence_id_ == NULL) {
      sequence_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.sequence_id)
    return sequence_id_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Config::set_allocated_sequence_id(::ywrapper::UintValue* sequence_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sequence_id_);
    }
    if (sequence_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sequence_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sequence_id, submessage_arena);
      }
      
    } else {
      
    }
    sequence_id_ = sequence_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config.sequence_id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config
  
  // .ywrapper.StringValue interface = 341759993 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config/interface"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::has_interface() const {
    return this != internal_default_instance() && interface_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::interface() const {
    const ::ywrapper::StringValue* p = interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.interface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::release_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.interface)
    
    ::ywrapper::StringValue* temp = interface_;
    interface_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::mutable_interface() {
    
    if (interface_ == NULL) {
      interface_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.interface)
    return interface_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::set_allocated_interface(::ywrapper::StringValue* interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interface_);
    }
    if (interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface, submessage_arena);
      }
      
    } else {
      
    }
    interface_ = interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.interface)
  }
  
  // .ywrapper.UintValue subinterface = 290015419 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config/subinterface"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::has_subinterface() const {
    return this != internal_default_instance() && subinterface_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::subinterface() const {
    const ::ywrapper::UintValue* p = subinterface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.subinterface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::release_subinterface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.subinterface)
    
    ::ywrapper::UintValue* temp = subinterface_;
    subinterface_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::mutable_subinterface() {
    
    if (subinterface_ == NULL) {
      subinterface_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.subinterface)
    return subinterface_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config::set_allocated_subinterface(::ywrapper::UintValue* subinterface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subinterface_);
    }
    if (subinterface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subinterface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subinterface, submessage_arena);
      }
      
    } else {
      
    }
    subinterface_ = subinterface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config.subinterface)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State
  
  // .ywrapper.StringValue interface = 347496558 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state/interface"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::has_interface() const {
    return this != internal_default_instance() && interface_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::interface() const {
    const ::ywrapper::StringValue* p = interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.interface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::release_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.interface)
    
    ::ywrapper::StringValue* temp = interface_;
    interface_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::mutable_interface() {
    
    if (interface_ == NULL) {
      interface_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.interface)
    return interface_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::set_allocated_interface(::ywrapper::StringValue* interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interface_);
    }
    if (interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface, submessage_arena);
      }
      
    } else {
      
    }
    interface_ = interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.interface)
  }
  
  // .ywrapper.UintValue subinterface = 521816458 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state/subinterface"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::has_subinterface() const {
    return this != internal_default_instance() && subinterface_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::subinterface() const {
    const ::ywrapper::UintValue* p = subinterface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.subinterface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::release_subinterface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.subinterface)
    
    ::ywrapper::UintValue* temp = subinterface_;
    subinterface_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::mutable_subinterface() {
    
    if (subinterface_ == NULL) {
      subinterface_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.subinterface)
    return subinterface_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State::set_allocated_subinterface(::ywrapper::UintValue* subinterface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subinterface_);
    }
    if (subinterface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subinterface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subinterface, submessage_arena);
      }
      
    } else {
      
    }
    subinterface_ = subinterface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State.subinterface)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.Config config = 288923405 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.State state = 471874114 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.Config config = 535555373 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.InterfaceRef interface_ref = 322206760 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/interface-ref"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::has_interface_ref() const {
    return this != internal_default_instance() && interface_ref_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::clear_interface_ref() {
    if (GetArenaNoVirtual() == NULL && interface_ref_ != NULL) {
      delete interface_ref_;
    }
    interface_ref_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::interface_ref() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* p = interface_ref_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.interface_ref)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::release_interface_ref() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.interface_ref)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* temp = interface_ref_;
    interface_ref_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::mutable_interface_ref() {
    
    if (interface_ref_ == NULL) {
      interface_ref_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.interface_ref)
    return interface_ref_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::set_allocated_interface_ref(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_InterfaceRef* interface_ref) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete interface_ref_;
    }
    if (interface_ref) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface_ref = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface_ref, submessage_arena);
      }
      
    } else {
      
    }
    interface_ref_ = interface_ref;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.interface_ref)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.State state = 400651234 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State& Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config
  
  // .ywrapper.StringValue destination_address = 82903810 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/destination-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.destination_address)
    return destination_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.destination_address)
  }
  
  // .ywrapper.UintValue dscp = 14259057 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/dscp"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_dscp() const {
    return this != internal_default_instance() && dscp_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::dscp() const {
    const ::ywrapper::UintValue* p = dscp_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.dscp)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::release_dscp() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.dscp)
    
    ::ywrapper::UintValue* temp = dscp_;
    dscp_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::mutable_dscp() {
    
    if (dscp_ == NULL) {
      dscp_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.dscp)
    return dscp_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_allocated_dscp(::ywrapper::UintValue* dscp) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(dscp_);
    }
    if (dscp) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        dscp = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, dscp, submessage_arena);
      }
      
    } else {
      
    }
    dscp_ = dscp;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.dscp)
  }
  
  // .ywrapper.UintValue hop_limit = 493826230 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/hop-limit"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_hop_limit() const {
    return this != internal_default_instance() && hop_limit_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::hop_limit() const {
    const ::ywrapper::UintValue* p = hop_limit_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.hop_limit)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::release_hop_limit() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.hop_limit)
    
    ::ywrapper::UintValue* temp = hop_limit_;
    hop_limit_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::mutable_hop_limit() {
    
    if (hop_limit_ == NULL) {
      hop_limit_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.hop_limit)
    return hop_limit_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_allocated_hop_limit(::ywrapper::UintValue* hop_limit) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(hop_limit_);
    }
    if (hop_limit) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        hop_limit = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, hop_limit, submessage_arena);
      }
      
    } else {
      
    }
    hop_limit_ = hop_limit;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.hop_limit)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 13672225;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_protocol_openconfigpacketmatchtypesipprotocol() const {
    return protocol_case() == kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_has_protocol_openconfigpacketmatchtypesipprotocol() {
    _oneof_case_[0] = kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::clear_protocol_openconfigpacketmatchtypesipprotocol() {
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = 0;
      clear_has_protocol();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::protocol_openconfigpacketmatchtypesipprotocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.protocol_openconfigpacketmatchtypesipprotocol)
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(protocol_.protocol_openconfigpacketmatchtypesipprotocol_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value) {
    if (!has_protocol_openconfigpacketmatchtypesipprotocol()) {
      clear_protocol();
      set_has_protocol_openconfigpacketmatchtypesipprotocol();
    }
    protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.protocol_openconfigpacketmatchtypesipprotocol)
  }
  
  // uint64 protocol_uint64 = 231259264;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_protocol_uint64() const {
    return protocol_case() == kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_has_protocol_uint64() {
    _oneof_case_[0] = kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::clear_protocol_uint64() {
    if (has_protocol_uint64()) {
      protocol_.protocol_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_protocol();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::protocol_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.protocol_uint64)
    if (has_protocol_uint64()) {
      return protocol_.protocol_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_protocol_uint64(::google::protobuf::uint64 value) {
    if (!has_protocol_uint64()) {
      clear_protocol();
      set_has_protocol_uint64();
    }
    protocol_.protocol_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.protocol_uint64)
  }
  
  // .ywrapper.StringValue source_address = 460084551 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config/source-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_source_address() const {
    return this != internal_default_instance() && source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::source_address() const {
    const ::ywrapper::StringValue* p = source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::release_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.source_address)
    
    ::ywrapper::StringValue* temp = source_address_;
    source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::mutable_source_address() {
    
    if (source_address_ == NULL) {
      source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.source_address)
    return source_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::set_allocated_source_address(::ywrapper::StringValue* source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_address_);
    }
    if (source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_address, submessage_arena);
      }
      
    } else {
      
    }
    source_address_ = source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config.source_address)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::has_protocol() const {
    return protocol_case() != PROTOCOL_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::clear_has_protocol() {
    _oneof_case_[0] = PROTOCOL_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::ProtocolCase Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::protocol_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config::ProtocolCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State
  
  // .ywrapper.StringValue destination_address = 220481211 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/destination-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.destination_address)
    return destination_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.destination_address)
  }
  
  // .ywrapper.UintValue dscp = 121235094 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/dscp"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_dscp() const {
    return this != internal_default_instance() && dscp_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::dscp() const {
    const ::ywrapper::UintValue* p = dscp_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.dscp)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::release_dscp() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.dscp)
    
    ::ywrapper::UintValue* temp = dscp_;
    dscp_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::mutable_dscp() {
    
    if (dscp_ == NULL) {
      dscp_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.dscp)
    return dscp_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_allocated_dscp(::ywrapper::UintValue* dscp) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(dscp_);
    }
    if (dscp) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        dscp = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, dscp, submessage_arena);
      }
      
    } else {
      
    }
    dscp_ = dscp;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.dscp)
  }
  
  // .ywrapper.UintValue hop_limit = 501288443 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/hop-limit"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_hop_limit() const {
    return this != internal_default_instance() && hop_limit_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::hop_limit() const {
    const ::ywrapper::UintValue* p = hop_limit_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.hop_limit)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::release_hop_limit() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.hop_limit)
    
    ::ywrapper::UintValue* temp = hop_limit_;
    hop_limit_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::mutable_hop_limit() {
    
    if (hop_limit_ == NULL) {
      hop_limit_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.hop_limit)
    return hop_limit_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_allocated_hop_limit(::ywrapper::UintValue* hop_limit) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(hop_limit_);
    }
    if (hop_limit) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        hop_limit = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, hop_limit, submessage_arena);
      }
      
    } else {
      
    }
    hop_limit_ = hop_limit;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.hop_limit)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 335169316;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_protocol_openconfigpacketmatchtypesipprotocol() const {
    return protocol_case() == kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_has_protocol_openconfigpacketmatchtypesipprotocol() {
    _oneof_case_[0] = kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::clear_protocol_openconfigpacketmatchtypesipprotocol() {
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = 0;
      clear_has_protocol();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::protocol_openconfigpacketmatchtypesipprotocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.protocol_openconfigpacketmatchtypesipprotocol)
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(protocol_.protocol_openconfigpacketmatchtypesipprotocol_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value) {
    if (!has_protocol_openconfigpacketmatchtypesipprotocol()) {
      clear_protocol();
      set_has_protocol_openconfigpacketmatchtypesipprotocol();
    }
    protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.protocol_openconfigpacketmatchtypesipprotocol)
  }
  
  // uint64 protocol_uint64 = 494380497;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_protocol_uint64() const {
    return protocol_case() == kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_has_protocol_uint64() {
    _oneof_case_[0] = kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::clear_protocol_uint64() {
    if (has_protocol_uint64()) {
      protocol_.protocol_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_protocol();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::protocol_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.protocol_uint64)
    if (has_protocol_uint64()) {
      return protocol_.protocol_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_protocol_uint64(::google::protobuf::uint64 value) {
    if (!has_protocol_uint64()) {
      clear_protocol();
      set_has_protocol_uint64();
    }
    protocol_.protocol_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.protocol_uint64)
  }
  
  // .ywrapper.StringValue source_address = 459793172 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state/source-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_source_address() const {
    return this != internal_default_instance() && source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::source_address() const {
    const ::ywrapper::StringValue* p = source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::release_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.source_address)
    
    ::ywrapper::StringValue* temp = source_address_;
    source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::mutable_source_address() {
    
    if (source_address_ == NULL) {
      source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.source_address)
    return source_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::set_allocated_source_address(::ywrapper::StringValue* source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_address_);
    }
    if (source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_address, submessage_arena);
      }
      
    } else {
      
    }
    source_address_ = source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State.source_address)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::has_protocol() const {
    return protocol_case() != PROTOCOL_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::clear_has_protocol() {
    _oneof_case_[0] = PROTOCOL_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::ProtocolCase Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::protocol_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State::ProtocolCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.Config config = 15381632 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.State state = 518549113 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config
  
  // .ywrapper.StringValue destination_address = 194564924 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/destination-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_address)
    return destination_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_address)
  }
  
  // .ywrapper.UintValue destination_flow_label = 245840793 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/destination-flow-label"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_destination_flow_label() const {
    return this != internal_default_instance() && destination_flow_label_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::destination_flow_label() const {
    const ::ywrapper::UintValue* p = destination_flow_label_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_flow_label)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_destination_flow_label() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_flow_label)
    
    ::ywrapper::UintValue* temp = destination_flow_label_;
    destination_flow_label_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_destination_flow_label() {
    
    if (destination_flow_label_ == NULL) {
      destination_flow_label_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_flow_label)
    return destination_flow_label_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_destination_flow_label(::ywrapper::UintValue* destination_flow_label) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_flow_label_);
    }
    if (destination_flow_label) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_flow_label = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_flow_label, submessage_arena);
      }
      
    } else {
      
    }
    destination_flow_label_ = destination_flow_label;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.destination_flow_label)
  }
  
  // .ywrapper.UintValue dscp = 468604011 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/dscp"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_dscp() const {
    return this != internal_default_instance() && dscp_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::dscp() const {
    const ::ywrapper::UintValue* p = dscp_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.dscp)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_dscp() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.dscp)
    
    ::ywrapper::UintValue* temp = dscp_;
    dscp_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_dscp() {
    
    if (dscp_ == NULL) {
      dscp_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.dscp)
    return dscp_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_dscp(::ywrapper::UintValue* dscp) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(dscp_);
    }
    if (dscp) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        dscp = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, dscp, submessage_arena);
      }
      
    } else {
      
    }
    dscp_ = dscp;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.dscp)
  }
  
  // .ywrapper.UintValue hop_limit = 103791760 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/hop-limit"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_hop_limit() const {
    return this != internal_default_instance() && hop_limit_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::hop_limit() const {
    const ::ywrapper::UintValue* p = hop_limit_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.hop_limit)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_hop_limit() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.hop_limit)
    
    ::ywrapper::UintValue* temp = hop_limit_;
    hop_limit_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_hop_limit() {
    
    if (hop_limit_ == NULL) {
      hop_limit_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.hop_limit)
    return hop_limit_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_hop_limit(::ywrapper::UintValue* hop_limit) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(hop_limit_);
    }
    if (hop_limit) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        hop_limit = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, hop_limit, submessage_arena);
      }
      
    } else {
      
    }
    hop_limit_ = hop_limit;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.hop_limit)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 439824055;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_protocol_openconfigpacketmatchtypesipprotocol() const {
    return protocol_case() == kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_has_protocol_openconfigpacketmatchtypesipprotocol() {
    _oneof_case_[0] = kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::clear_protocol_openconfigpacketmatchtypesipprotocol() {
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = 0;
      clear_has_protocol();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::protocol_openconfigpacketmatchtypesipprotocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.protocol_openconfigpacketmatchtypesipprotocol)
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(protocol_.protocol_openconfigpacketmatchtypesipprotocol_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value) {
    if (!has_protocol_openconfigpacketmatchtypesipprotocol()) {
      clear_protocol();
      set_has_protocol_openconfigpacketmatchtypesipprotocol();
    }
    protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.protocol_openconfigpacketmatchtypesipprotocol)
  }
  
  // uint64 protocol_uint64 = 468204694;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_protocol_uint64() const {
    return protocol_case() == kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_has_protocol_uint64() {
    _oneof_case_[0] = kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::clear_protocol_uint64() {
    if (has_protocol_uint64()) {
      protocol_.protocol_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_protocol();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::protocol_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.protocol_uint64)
    if (has_protocol_uint64()) {
      return protocol_.protocol_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_protocol_uint64(::google::protobuf::uint64 value) {
    if (!has_protocol_uint64()) {
      clear_protocol();
      set_has_protocol_uint64();
    }
    protocol_.protocol_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.protocol_uint64)
  }
  
  // .ywrapper.StringValue source_address = 178850349 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/source-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_source_address() const {
    return this != internal_default_instance() && source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::source_address() const {
    const ::ywrapper::StringValue* p = source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_address)
    
    ::ywrapper::StringValue* temp = source_address_;
    source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_source_address() {
    
    if (source_address_ == NULL) {
      source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_address)
    return source_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_source_address(::ywrapper::StringValue* source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_address_);
    }
    if (source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_address, submessage_arena);
      }
      
    } else {
      
    }
    source_address_ = source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_address)
  }
  
  // .ywrapper.UintValue source_flow_label = 469237694 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config/source-flow-label"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_source_flow_label() const {
    return this != internal_default_instance() && source_flow_label_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::source_flow_label() const {
    const ::ywrapper::UintValue* p = source_flow_label_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_flow_label)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::release_source_flow_label() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_flow_label)
    
    ::ywrapper::UintValue* temp = source_flow_label_;
    source_flow_label_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::mutable_source_flow_label() {
    
    if (source_flow_label_ == NULL) {
      source_flow_label_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_flow_label)
    return source_flow_label_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::set_allocated_source_flow_label(::ywrapper::UintValue* source_flow_label) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_flow_label_);
    }
    if (source_flow_label) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_flow_label = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_flow_label, submessage_arena);
      }
      
    } else {
      
    }
    source_flow_label_ = source_flow_label;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config.source_flow_label)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::has_protocol() const {
    return protocol_case() != PROTOCOL_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::clear_has_protocol() {
    _oneof_case_[0] = PROTOCOL_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::ProtocolCase Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::protocol_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config::ProtocolCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State
  
  // .ywrapper.StringValue destination_address = 226569937 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/destination-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_destination_address() const {
    return this != internal_default_instance() && destination_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::destination_address() const {
    const ::ywrapper::StringValue* p = destination_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_destination_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_address)
    
    ::ywrapper::StringValue* temp = destination_address_;
    destination_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_destination_address() {
    
    if (destination_address_ == NULL) {
      destination_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_address)
    return destination_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_destination_address(::ywrapper::StringValue* destination_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_address_);
    }
    if (destination_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_address, submessage_arena);
      }
      
    } else {
      
    }
    destination_address_ = destination_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_address)
  }
  
  // .ywrapper.UintValue destination_flow_label = 443337090 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/destination-flow-label"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_destination_flow_label() const {
    return this != internal_default_instance() && destination_flow_label_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::destination_flow_label() const {
    const ::ywrapper::UintValue* p = destination_flow_label_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_flow_label)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_destination_flow_label() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_flow_label)
    
    ::ywrapper::UintValue* temp = destination_flow_label_;
    destination_flow_label_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_destination_flow_label() {
    
    if (destination_flow_label_ == NULL) {
      destination_flow_label_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_flow_label)
    return destination_flow_label_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_destination_flow_label(::ywrapper::UintValue* destination_flow_label) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_flow_label_);
    }
    if (destination_flow_label) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_flow_label = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_flow_label, submessage_arena);
      }
      
    } else {
      
    }
    destination_flow_label_ = destination_flow_label;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.destination_flow_label)
  }
  
  // .ywrapper.UintValue dscp = 369661252 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/dscp"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_dscp() const {
    return this != internal_default_instance() && dscp_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::dscp() const {
    const ::ywrapper::UintValue* p = dscp_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.dscp)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_dscp() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.dscp)
    
    ::ywrapper::UintValue* temp = dscp_;
    dscp_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_dscp() {
    
    if (dscp_ == NULL) {
      dscp_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.dscp)
    return dscp_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_dscp(::ywrapper::UintValue* dscp) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(dscp_);
    }
    if (dscp) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        dscp = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, dscp, submessage_arena);
      }
      
    } else {
      
    }
    dscp_ = dscp;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.dscp)
  }
  
  // .ywrapper.UintValue hop_limit = 523904369 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/hop-limit"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_hop_limit() const {
    return this != internal_default_instance() && hop_limit_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::hop_limit() const {
    const ::ywrapper::UintValue* p = hop_limit_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.hop_limit)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_hop_limit() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.hop_limit)
    
    ::ywrapper::UintValue* temp = hop_limit_;
    hop_limit_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_hop_limit() {
    
    if (hop_limit_ == NULL) {
      hop_limit_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.hop_limit)
    return hop_limit_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_hop_limit(::ywrapper::UintValue* hop_limit) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(hop_limit_);
    }
    if (hop_limit) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        hop_limit = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, hop_limit, submessage_arena);
      }
      
    } else {
      
    }
    hop_limit_ = hop_limit;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.hop_limit)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesIPPROTOCOL protocol_openconfigpacketmatchtypesipprotocol = 60937310;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_protocol_openconfigpacketmatchtypesipprotocol() const {
    return protocol_case() == kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_has_protocol_openconfigpacketmatchtypesipprotocol() {
    _oneof_case_[0] = kProtocolOpenconfigpacketmatchtypesipprotocol;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::clear_protocol_openconfigpacketmatchtypesipprotocol() {
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = 0;
      clear_has_protocol();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::protocol_openconfigpacketmatchtypesipprotocol() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.protocol_openconfigpacketmatchtypesipprotocol)
    if (has_protocol_openconfigpacketmatchtypesipprotocol()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(protocol_.protocol_openconfigpacketmatchtypesipprotocol_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_protocol_openconfigpacketmatchtypesipprotocol(::openconfig::enums::OpenconfigPacketMatchTypesIPPROTOCOL value) {
    if (!has_protocol_openconfigpacketmatchtypesipprotocol()) {
      clear_protocol();
      set_has_protocol_openconfigpacketmatchtypesipprotocol();
    }
    protocol_.protocol_openconfigpacketmatchtypesipprotocol_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.protocol_openconfigpacketmatchtypesipprotocol)
  }
  
  // uint64 protocol_uint64 = 132228515;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_protocol_uint64() const {
    return protocol_case() == kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_has_protocol_uint64() {
    _oneof_case_[0] = kProtocolUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::clear_protocol_uint64() {
    if (has_protocol_uint64()) {
      protocol_.protocol_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_protocol();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::protocol_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.protocol_uint64)
    if (has_protocol_uint64()) {
      return protocol_.protocol_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_protocol_uint64(::google::protobuf::uint64 value) {
    if (!has_protocol_uint64()) {
      clear_protocol();
      set_has_protocol_uint64();
    }
    protocol_.protocol_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.protocol_uint64)
  }
  
  // .ywrapper.StringValue source_address = 299459214 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/source-address"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_source_address() const {
    return this != internal_default_instance() && source_address_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::source_address() const {
    const ::ywrapper::StringValue* p = source_address_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_address)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_source_address() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_address)
    
    ::ywrapper::StringValue* temp = source_address_;
    source_address_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_source_address() {
    
    if (source_address_ == NULL) {
      source_address_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_address)
    return source_address_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_source_address(::ywrapper::StringValue* source_address) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_address_);
    }
    if (source_address) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_address = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_address, submessage_arena);
      }
      
    } else {
      
    }
    source_address_ = source_address;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_address)
  }
  
  // .ywrapper.UintValue source_flow_label = 46925499 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state/source-flow-label"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_source_flow_label() const {
    return this != internal_default_instance() && source_flow_label_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::source_flow_label() const {
    const ::ywrapper::UintValue* p = source_flow_label_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_flow_label)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::release_source_flow_label() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_flow_label)
    
    ::ywrapper::UintValue* temp = source_flow_label_;
    source_flow_label_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::mutable_source_flow_label() {
    
    if (source_flow_label_ == NULL) {
      source_flow_label_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_flow_label)
    return source_flow_label_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::set_allocated_source_flow_label(::ywrapper::UintValue* source_flow_label) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_flow_label_);
    }
    if (source_flow_label) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_flow_label = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_flow_label, submessage_arena);
      }
      
    } else {
      
    }
    source_flow_label_ = source_flow_label;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State.source_flow_label)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::has_protocol() const {
    return protocol_case() != PROTOCOL_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::clear_has_protocol() {
    _oneof_case_[0] = PROTOCOL_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::ProtocolCase Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::protocol_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State::ProtocolCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.Config config = 355608050 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.State state = 9069295 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State& Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config
  
  // .ywrapper.StringValue destination_mac = 256403538 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/destination-mac"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_destination_mac() const {
    return this != internal_default_instance() && destination_mac_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::destination_mac() const {
    const ::ywrapper::StringValue* p = destination_mac_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::release_destination_mac() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac)
    
    ::ywrapper::StringValue* temp = destination_mac_;
    destination_mac_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::mutable_destination_mac() {
    
    if (destination_mac_ == NULL) {
      destination_mac_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac)
    return destination_mac_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_allocated_destination_mac(::ywrapper::StringValue* destination_mac) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_mac_);
    }
    if (destination_mac) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_mac = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_mac, submessage_arena);
      }
      
    } else {
      
    }
    destination_mac_ = destination_mac;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac)
  }
  
  // .ywrapper.StringValue destination_mac_mask = 410258607 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/destination-mac-mask"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_destination_mac_mask() const {
    return this != internal_default_instance() && destination_mac_mask_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::destination_mac_mask() const {
    const ::ywrapper::StringValue* p = destination_mac_mask_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac_mask)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::release_destination_mac_mask() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac_mask)
    
    ::ywrapper::StringValue* temp = destination_mac_mask_;
    destination_mac_mask_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::mutable_destination_mac_mask() {
    
    if (destination_mac_mask_ == NULL) {
      destination_mac_mask_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac_mask)
    return destination_mac_mask_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_allocated_destination_mac_mask(::ywrapper::StringValue* destination_mac_mask) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_mac_mask_);
    }
    if (destination_mac_mask) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_mac_mask = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_mac_mask, submessage_arena);
      }
      
    } else {
      
    }
    destination_mac_mask_ = destination_mac_mask;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.destination_mac_mask)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype = 502170089;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_ethertype_openconfigpacketmatchtypesethertype() const {
    return ethertype_case() == kEthertypeOpenconfigpacketmatchtypesethertype;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_has_ethertype_openconfigpacketmatchtypesethertype() {
    _oneof_case_[0] = kEthertypeOpenconfigpacketmatchtypesethertype;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::clear_ethertype_openconfigpacketmatchtypesethertype() {
    if (has_ethertype_openconfigpacketmatchtypesethertype()) {
      ethertype_.ethertype_openconfigpacketmatchtypesethertype_ = 0;
      clear_has_ethertype();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::ethertype_openconfigpacketmatchtypesethertype() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.ethertype_openconfigpacketmatchtypesethertype)
    if (has_ethertype_openconfigpacketmatchtypesethertype()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE >(ethertype_.ethertype_openconfigpacketmatchtypesethertype_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_ethertype_openconfigpacketmatchtypesethertype(::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE value) {
    if (!has_ethertype_openconfigpacketmatchtypesethertype()) {
      clear_ethertype();
      set_has_ethertype_openconfigpacketmatchtypesethertype();
    }
    ethertype_.ethertype_openconfigpacketmatchtypesethertype_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.ethertype_openconfigpacketmatchtypesethertype)
  }
  
  // uint64 ethertype_uint64 = 138649893;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_ethertype_uint64() const {
    return ethertype_case() == kEthertypeUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_has_ethertype_uint64() {
    _oneof_case_[0] = kEthertypeUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::clear_ethertype_uint64() {
    if (has_ethertype_uint64()) {
      ethertype_.ethertype_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_ethertype();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::ethertype_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.ethertype_uint64)
    if (has_ethertype_uint64()) {
      return ethertype_.ethertype_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_ethertype_uint64(::google::protobuf::uint64 value) {
    if (!has_ethertype_uint64()) {
      clear_ethertype();
      set_has_ethertype_uint64();
    }
    ethertype_.ethertype_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.ethertype_uint64)
  }
  
  // .ywrapper.StringValue source_mac = 399757125 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/source-mac"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_source_mac() const {
    return this != internal_default_instance() && source_mac_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::source_mac() const {
    const ::ywrapper::StringValue* p = source_mac_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::release_source_mac() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac)
    
    ::ywrapper::StringValue* temp = source_mac_;
    source_mac_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::mutable_source_mac() {
    
    if (source_mac_ == NULL) {
      source_mac_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac)
    return source_mac_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_allocated_source_mac(::ywrapper::StringValue* source_mac) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_mac_);
    }
    if (source_mac) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_mac = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_mac, submessage_arena);
      }
      
    } else {
      
    }
    source_mac_ = source_mac;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac)
  }
  
  // .ywrapper.StringValue source_mac_mask = 270818178 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config/source-mac-mask"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_source_mac_mask() const {
    return this != internal_default_instance() && source_mac_mask_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::source_mac_mask() const {
    const ::ywrapper::StringValue* p = source_mac_mask_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac_mask)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::release_source_mac_mask() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac_mask)
    
    ::ywrapper::StringValue* temp = source_mac_mask_;
    source_mac_mask_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::mutable_source_mac_mask() {
    
    if (source_mac_mask_ == NULL) {
      source_mac_mask_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac_mask)
    return source_mac_mask_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::set_allocated_source_mac_mask(::ywrapper::StringValue* source_mac_mask) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_mac_mask_);
    }
    if (source_mac_mask) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_mac_mask = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_mac_mask, submessage_arena);
      }
      
    } else {
      
    }
    source_mac_mask_ = source_mac_mask;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config.source_mac_mask)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::has_ethertype() const {
    return ethertype_case() != ETHERTYPE_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::clear_has_ethertype() {
    _oneof_case_[0] = ETHERTYPE_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::EthertypeCase Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::ethertype_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config::EthertypeCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State
  
  // .ywrapper.StringValue destination_mac = 403952649 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/destination-mac"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_destination_mac() const {
    return this != internal_default_instance() && destination_mac_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::destination_mac() const {
    const ::ywrapper::StringValue* p = destination_mac_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::release_destination_mac() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac)
    
    ::ywrapper::StringValue* temp = destination_mac_;
    destination_mac_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::mutable_destination_mac() {
    
    if (destination_mac_ == NULL) {
      destination_mac_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac)
    return destination_mac_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_allocated_destination_mac(::ywrapper::StringValue* destination_mac) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_mac_);
    }
    if (destination_mac) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_mac = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_mac, submessage_arena);
      }
      
    } else {
      
    }
    destination_mac_ = destination_mac;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac)
  }
  
  // .ywrapper.StringValue destination_mac_mask = 272951166 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/destination-mac-mask"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_destination_mac_mask() const {
    return this != internal_default_instance() && destination_mac_mask_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::destination_mac_mask() const {
    const ::ywrapper::StringValue* p = destination_mac_mask_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac_mask)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::release_destination_mac_mask() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac_mask)
    
    ::ywrapper::StringValue* temp = destination_mac_mask_;
    destination_mac_mask_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::mutable_destination_mac_mask() {
    
    if (destination_mac_mask_ == NULL) {
      destination_mac_mask_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac_mask)
    return destination_mac_mask_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_allocated_destination_mac_mask(::ywrapper::StringValue* destination_mac_mask) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(destination_mac_mask_);
    }
    if (destination_mac_mask) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        destination_mac_mask = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, destination_mac_mask, submessage_arena);
      }
      
    } else {
      
    }
    destination_mac_mask_ = destination_mac_mask;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.destination_mac_mask)
  }
  
  // .openconfig.enums.OpenconfigPacketMatchTypesETHERTYPE ethertype_openconfigpacketmatchtypesethertype = 50199482;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_ethertype_openconfigpacketmatchtypesethertype() const {
    return ethertype_case() == kEthertypeOpenconfigpacketmatchtypesethertype;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_has_ethertype_openconfigpacketmatchtypesethertype() {
    _oneof_case_[0] = kEthertypeOpenconfigpacketmatchtypesethertype;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::clear_ethertype_openconfigpacketmatchtypesethertype() {
    if (has_ethertype_openconfigpacketmatchtypesethertype()) {
      ethertype_.ethertype_openconfigpacketmatchtypesethertype_ = 0;
      clear_has_ethertype();
    }
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::ethertype_openconfigpacketmatchtypesethertype() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.ethertype_openconfigpacketmatchtypesethertype)
    if (has_ethertype_openconfigpacketmatchtypesethertype()) {
      return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE >(ethertype_.ethertype_openconfigpacketmatchtypesethertype_);
    }
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_ethertype_openconfigpacketmatchtypesethertype(::openconfig::enums::OpenconfigPacketMatchTypesETHERTYPE value) {
    if (!has_ethertype_openconfigpacketmatchtypesethertype()) {
      clear_ethertype();
      set_has_ethertype_openconfigpacketmatchtypesethertype();
    }
    ethertype_.ethertype_openconfigpacketmatchtypesethertype_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.ethertype_openconfigpacketmatchtypesethertype)
  }
  
  // uint64 ethertype_uint64 = 67964624;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_ethertype_uint64() const {
    return ethertype_case() == kEthertypeUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_has_ethertype_uint64() {
    _oneof_case_[0] = kEthertypeUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::clear_ethertype_uint64() {
    if (has_ethertype_uint64()) {
      ethertype_.ethertype_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_ethertype();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::ethertype_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.ethertype_uint64)
    if (has_ethertype_uint64()) {
      return ethertype_.ethertype_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_ethertype_uint64(::google::protobuf::uint64 value) {
    if (!has_ethertype_uint64()) {
      clear_ethertype();
      set_has_ethertype_uint64();
    }
    ethertype_.ethertype_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.ethertype_uint64)
  }
  
  // .ywrapper.StringValue source_mac = 9821144 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/source-mac"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_source_mac() const {
    return this != internal_default_instance() && source_mac_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::source_mac() const {
    const ::ywrapper::StringValue* p = source_mac_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::release_source_mac() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac)
    
    ::ywrapper::StringValue* temp = source_mac_;
    source_mac_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::mutable_source_mac() {
    
    if (source_mac_ == NULL) {
      source_mac_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac)
    return source_mac_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_allocated_source_mac(::ywrapper::StringValue* source_mac) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_mac_);
    }
    if (source_mac) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_mac = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_mac, submessage_arena);
      }
      
    } else {
      
    }
    source_mac_ = source_mac;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac)
  }
  
  // .ywrapper.StringValue source_mac_mask = 337242297 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state/source-mac-mask"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_source_mac_mask() const {
    return this != internal_default_instance() && source_mac_mask_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::source_mac_mask() const {
    const ::ywrapper::StringValue* p = source_mac_mask_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac_mask)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::release_source_mac_mask() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac_mask)
    
    ::ywrapper::StringValue* temp = source_mac_mask_;
    source_mac_mask_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::mutable_source_mac_mask() {
    
    if (source_mac_mask_ == NULL) {
      source_mac_mask_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac_mask)
    return source_mac_mask_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::set_allocated_source_mac_mask(::ywrapper::StringValue* source_mac_mask) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(source_mac_mask_);
    }
    if (source_mac_mask) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        source_mac_mask = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, source_mac_mask, submessage_arena);
      }
      
    } else {
      
    }
    source_mac_mask_ = source_mac_mask;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State.source_mac_mask)
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::has_ethertype() const {
    return ethertype_case() != ETHERTYPE_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::clear_has_ethertype() {
    _oneof_case_[0] = ETHERTYPE_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::EthertypeCase Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::ethertype_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State::EthertypeCase(_oneof_case_[0]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_L2
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.Config config = 229943497 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_L2::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_L2::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_L2::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.State state = 122962974 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_L2::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State& Acl_AclSets_AclSet_AclEntries_AclEntry_L2::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* Acl_AclSets_AclSet_AclEntries_AclEntry_L2::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* Acl_AclSets_AclSet_AclEntries_AclEntry_L2::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_L2::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_State
  
  // .ywrapper.StringValue description = 434948986 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/description"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_State::has_description() const {
    return this != internal_default_instance() && description_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_AclEntries_AclEntry_State::description() const {
    const ::ywrapper::StringValue* p = description_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.description)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::release_description() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.description)
    
    ::ywrapper::StringValue* temp = description_;
    description_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::mutable_description() {
    
    if (description_ == NULL) {
      description_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.description)
    return description_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_State::set_allocated_description(::ywrapper::StringValue* description) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(description_);
    }
    if (description) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        description = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, description, submessage_arena);
      }
      
    } else {
      
    }
    description_ = description;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.description)
  }
  
  // .ywrapper.UintValue matched_octets = 378451401 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/matched-octets"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_State::has_matched_octets() const {
    return this != internal_default_instance() && matched_octets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_State::matched_octets() const {
    const ::ywrapper::UintValue* p = matched_octets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_octets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::release_matched_octets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_octets)
    
    ::ywrapper::UintValue* temp = matched_octets_;
    matched_octets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::mutable_matched_octets() {
    
    if (matched_octets_ == NULL) {
      matched_octets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_octets)
    return matched_octets_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_State::set_allocated_matched_octets(::ywrapper::UintValue* matched_octets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_octets_);
    }
    if (matched_octets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_octets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_octets, submessage_arena);
      }
      
    } else {
      
    }
    matched_octets_ = matched_octets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_octets)
  }
  
  // .ywrapper.UintValue matched_packets = 123694420 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/matched-packets"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_State::has_matched_packets() const {
    return this != internal_default_instance() && matched_packets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_State::matched_packets() const {
    const ::ywrapper::UintValue* p = matched_packets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_packets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::release_matched_packets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_packets)
    
    ::ywrapper::UintValue* temp = matched_packets_;
    matched_packets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::mutable_matched_packets() {
    
    if (matched_packets_ == NULL) {
      matched_packets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_packets)
    return matched_packets_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_State::set_allocated_matched_packets(::ywrapper::UintValue* matched_packets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_packets_);
    }
    if (matched_packets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_packets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_packets, submessage_arena);
      }
      
    } else {
      
    }
    matched_packets_ = matched_packets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.matched_packets)
  }
  
  // .ywrapper.UintValue sequence_id = 212274571 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state/sequence-id"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_State::has_sequence_id() const {
    return this != internal_default_instance() && sequence_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_AclSets_AclSet_AclEntries_AclEntry_State::sequence_id() const {
    const ::ywrapper::UintValue* p = sequence_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.sequence_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::release_sequence_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.sequence_id)
    
    ::ywrapper::UintValue* temp = sequence_id_;
    sequence_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_AclSets_AclSet_AclEntries_AclEntry_State::mutable_sequence_id() {
    
    if (sequence_id_ == NULL) {
      sequence_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.sequence_id)
    return sequence_id_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_State::set_allocated_sequence_id(::ywrapper::UintValue* sequence_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sequence_id_);
    }
    if (sequence_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sequence_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sequence_id, submessage_arena);
      }
      
    } else {
      
    }
    sequence_id_ = sequence_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State.sequence_id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.DestinationPort destination_port_destinationport = 184575989;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_destination_port_destinationport() const {
    return destination_port_case() == kDestinationPortDestinationport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_destination_port_destinationport() {
    _oneof_case_[0] = kDestinationPortDestinationport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_destination_port_destinationport() {
    if (has_destination_port_destinationport()) {
      destination_port_.destination_port_destinationport_ = 0;
      clear_has_destination_port();
    }
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::destination_port_destinationport() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_destinationport)
    if (has_destination_port_destinationport()) {
      return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort >(destination_port_.destination_port_destinationport_);
    }
    return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_destinationport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort value) {
    if (!has_destination_port_destinationport()) {
      clear_destination_port();
      set_has_destination_port_destinationport();
    }
    destination_port_.destination_port_destinationport_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_destinationport)
  }
  
  // string destination_port_string = 353749975;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_destination_port_string() const {
    return destination_port_case() == kDestinationPortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_destination_port_string() {
    _oneof_case_[0] = kDestinationPortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_destination_port_string() {
    if (has_destination_port_string()) {
      destination_port_.destination_port_string_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      clear_has_destination_port();
    }
  }
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::destination_port_string() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
    if (has_destination_port_string()) {
      return destination_port_.destination_port_string_.GetNoArena();
    }
    return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_string(const ::std::string& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
  }
  #if LANG_CXX11
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_string(::std::string&& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
  }
  #endif
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_string(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_string(const char* value, size_t size) {
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::mutable_destination_port_string() {
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
    return destination_port_.destination_port_string_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::release_destination_port_string() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
    if (has_destination_port_string()) {
      clear_has_destination_port();
      return destination_port_.destination_port_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    } else {
      return NULL;
    }
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_allocated_destination_port_string(::std::string* destination_port_string) {
    if (!has_destination_port_string()) {
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    clear_destination_port();
    if (destination_port_string != NULL) {
      set_has_destination_port_string();
      destination_port_.destination_port_string_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
          destination_port_string);
    }
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_string)
  }
  
  // uint64 destination_port_uint64 = 203687850;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_destination_port_uint64() const {
    return destination_port_case() == kDestinationPortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_destination_port_uint64() {
    _oneof_case_[0] = kDestinationPortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_destination_port_uint64() {
    if (has_destination_port_uint64()) {
      destination_port_.destination_port_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_destination_port();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::destination_port_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_uint64)
    if (has_destination_port_uint64()) {
      return destination_port_.destination_port_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_destination_port_uint64(::google::protobuf::uint64 value) {
    if (!has_destination_port_uint64()) {
      clear_destination_port();
      set_has_destination_port_uint64();
    }
    destination_port_.destination_port_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.destination_port_uint64)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.SourcePort source_port_sourceport = 480331171;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_source_port_sourceport() const {
    return source_port_case() == kSourcePortSourceport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_source_port_sourceport() {
    _oneof_case_[1] = kSourcePortSourceport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_source_port_sourceport() {
    if (has_source_port_sourceport()) {
      source_port_.source_port_sourceport_ = 0;
      clear_has_source_port();
    }
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::source_port_sourceport() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_sourceport)
    if (has_source_port_sourceport()) {
      return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort >(source_port_.source_port_sourceport_);
    }
    return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_sourceport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort value) {
    if (!has_source_port_sourceport()) {
      clear_source_port();
      set_has_source_port_sourceport();
    }
    source_port_.source_port_sourceport_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_sourceport)
  }
  
  // string source_port_string = 147714378;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_source_port_string() const {
    return source_port_case() == kSourcePortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_source_port_string() {
    _oneof_case_[1] = kSourcePortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_source_port_string() {
    if (has_source_port_string()) {
      source_port_.source_port_string_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      clear_has_source_port();
    }
  }
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::source_port_string() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
    if (has_source_port_string()) {
      return source_port_.source_port_string_.GetNoArena();
    }
    return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_string(const ::std::string& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
  }
  #if LANG_CXX11
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_string(::std::string&& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
  }
  #endif
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_string(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_string(const char* value, size_t size) {
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::mutable_source_port_string() {
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
    return source_port_.source_port_string_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::release_source_port_string() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
    if (has_source_port_string()) {
      clear_has_source_port();
      return source_port_.source_port_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    } else {
      return NULL;
    }
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_allocated_source_port_string(::std::string* source_port_string) {
    if (!has_source_port_string()) {
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    clear_source_port();
    if (source_port_string != NULL) {
      set_has_source_port_string();
      source_port_.source_port_string_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
          source_port_string);
    }
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_string)
  }
  
  // uint64 source_port_uint64 = 455918283;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_source_port_uint64() const {
    return source_port_case() == kSourcePortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_has_source_port_uint64() {
    _oneof_case_[1] = kSourcePortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_source_port_uint64() {
    if (has_source_port_uint64()) {
      source_port_.source_port_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_source_port();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::source_port_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_uint64)
    if (has_source_port_uint64()) {
      return source_port_.source_port_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_source_port_uint64(::google::protobuf::uint64 value) {
    if (!has_source_port_uint64()) {
      clear_source_port();
      set_has_source_port_uint64();
    }
    source_port_.source_port_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.source_port_uint64)
  }
  
  // repeated .openconfig.enums.OpenconfigPacketMatchTypesTCPFLAGS tcp_flags = 77057068 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/config/tcp-flags"];
  inline int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::tcp_flags_size() const {
    return tcp_flags_.size();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_tcp_flags() {
    tcp_flags_.Clear();
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::tcp_flags(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.tcp_flags)
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS >(tcp_flags_.Get(index));
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::set_tcp_flags(int index, ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value) {
    tcp_flags_.Set(index, value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.tcp_flags)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::add_tcp_flags(::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value) {
    tcp_flags_.Add(value);
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.tcp_flags)
  }
  inline const ::google::protobuf::RepeatedField<int>&
  Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::tcp_flags() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.tcp_flags)
    return tcp_flags_;
  }
  inline ::google::protobuf::RepeatedField<int>*
  Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::mutable_tcp_flags() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config.tcp_flags)
    return &tcp_flags_;
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_destination_port() const {
    return destination_port_case() != DESTINATION_PORT_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_has_destination_port() {
    _oneof_case_[0] = DESTINATION_PORT_NOT_SET;
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::has_source_port() const {
    return source_port_case() != SOURCE_PORT_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::clear_has_source_port() {
    _oneof_case_[1] = SOURCE_PORT_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::DestinationPortCase Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::destination_port_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::DestinationPortCase(_oneof_case_[0]);
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::SourcePortCase Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::source_port_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config::SourcePortCase(_oneof_case_[1]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.DestinationPort destination_port_destinationport = 219003282;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_destination_port_destinationport() const {
    return destination_port_case() == kDestinationPortDestinationport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_destination_port_destinationport() {
    _oneof_case_[0] = kDestinationPortDestinationport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_destination_port_destinationport() {
    if (has_destination_port_destinationport()) {
      destination_port_.destination_port_destinationport_ = 0;
      clear_has_destination_port();
    }
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::destination_port_destinationport() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_destinationport)
    if (has_destination_port_destinationport()) {
      return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort >(destination_port_.destination_port_destinationport_);
    }
    return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_destinationport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort value) {
    if (!has_destination_port_destinationport()) {
      clear_destination_port();
      set_has_destination_port_destinationport();
    }
    destination_port_.destination_port_destinationport_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_destinationport)
  }
  
  // string destination_port_string = 467205198;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_destination_port_string() const {
    return destination_port_case() == kDestinationPortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_destination_port_string() {
    _oneof_case_[0] = kDestinationPortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_destination_port_string() {
    if (has_destination_port_string()) {
      destination_port_.destination_port_string_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      clear_has_destination_port();
    }
  }
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::destination_port_string() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
    if (has_destination_port_string()) {
      return destination_port_.destination_port_string_.GetNoArena();
    }
    return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_string(const ::std::string& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
  }
  #if LANG_CXX11
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_string(::std::string&& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
  }
  #endif
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_string(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_string(const char* value, size_t size) {
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    destination_port_.destination_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::mutable_destination_port_string() {
    if (!has_destination_port_string()) {
      clear_destination_port();
      set_has_destination_port_string();
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
    return destination_port_.destination_port_string_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::release_destination_port_string() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
    if (has_destination_port_string()) {
      clear_has_destination_port();
      return destination_port_.destination_port_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    } else {
      return NULL;
    }
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_allocated_destination_port_string(::std::string* destination_port_string) {
    if (!has_destination_port_string()) {
      destination_port_.destination_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    clear_destination_port();
    if (destination_port_string != NULL) {
      set_has_destination_port_string();
      destination_port_.destination_port_string_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
          destination_port_string);
    }
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_string)
  }
  
  // uint64 destination_port_uint64 = 402564303;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_destination_port_uint64() const {
    return destination_port_case() == kDestinationPortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_destination_port_uint64() {
    _oneof_case_[0] = kDestinationPortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_destination_port_uint64() {
    if (has_destination_port_uint64()) {
      destination_port_.destination_port_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_destination_port();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::destination_port_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_uint64)
    if (has_destination_port_uint64()) {
      return destination_port_.destination_port_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_destination_port_uint64(::google::protobuf::uint64 value) {
    if (!has_destination_port_uint64()) {
      clear_destination_port();
      set_has_destination_port_uint64();
    }
    destination_port_.destination_port_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.destination_port_uint64)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.SourcePort source_port_sourceport = 88930920;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_source_port_sourceport() const {
    return source_port_case() == kSourcePortSourceport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_source_port_sourceport() {
    _oneof_case_[1] = kSourcePortSourceport;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_source_port_sourceport() {
    if (has_source_port_sourceport()) {
      source_port_.source_port_sourceport_ = 0;
      clear_has_source_port();
    }
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::source_port_sourceport() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_sourceport)
    if (has_source_port_sourceport()) {
      return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort >(source_port_.source_port_sourceport_);
    }
    return static_cast< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort >(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_sourceport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort value) {
    if (!has_source_port_sourceport()) {
      clear_source_port();
      set_has_source_port_sourceport();
    }
    source_port_.source_port_sourceport_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_sourceport)
  }
  
  // string source_port_string = 115058633;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_source_port_string() const {
    return source_port_case() == kSourcePortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_source_port_string() {
    _oneof_case_[1] = kSourcePortString;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_source_port_string() {
    if (has_source_port_string()) {
      source_port_.source_port_string_.DestroyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
      clear_has_source_port();
    }
  }
  inline const ::std::string& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::source_port_string() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
    if (has_source_port_string()) {
      return source_port_.source_port_string_.GetNoArena();
    }
    return *&::google::protobuf::internal::GetEmptyStringAlreadyInited();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_string(const ::std::string& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
  }
  #if LANG_CXX11
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_string(::std::string&& value) {
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
  }
  #endif
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_string(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_string(const char* value, size_t size) {
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    source_port_.source_port_string_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(
        reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::mutable_source_port_string() {
    if (!has_source_port_string()) {
      clear_source_port();
      set_has_source_port_string();
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
    return source_port_.source_port_string_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::release_source_port_string() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
    if (has_source_port_string()) {
      clear_has_source_port();
      return source_port_.source_port_string_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    } else {
      return NULL;
    }
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_allocated_source_port_string(::std::string* source_port_string) {
    if (!has_source_port_string()) {
      source_port_.source_port_string_.UnsafeSetDefault(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
    }
    clear_source_port();
    if (source_port_string != NULL) {
      set_has_source_port_string();
      source_port_.source_port_string_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
          source_port_string);
    }
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_string)
  }
  
  // uint64 source_port_uint64 = 147662636;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_source_port_uint64() const {
    return source_port_case() == kSourcePortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_has_source_port_uint64() {
    _oneof_case_[1] = kSourcePortUint64;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_source_port_uint64() {
    if (has_source_port_uint64()) {
      source_port_.source_port_uint64_ = GOOGLE_ULONGLONG(0);
      clear_has_source_port();
    }
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::source_port_uint64() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_uint64)
    if (has_source_port_uint64()) {
      return source_port_.source_port_uint64_;
    }
    return GOOGLE_ULONGLONG(0);
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_source_port_uint64(::google::protobuf::uint64 value) {
    if (!has_source_port_uint64()) {
      clear_source_port();
      set_has_source_port_uint64();
    }
    source_port_.source_port_uint64_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.source_port_uint64)
  }
  
  // repeated .openconfig.enums.OpenconfigPacketMatchTypesTCPFLAGS tcp_flags = 241870285 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/state/tcp-flags"];
  inline int Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::tcp_flags_size() const {
    return tcp_flags_.size();
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_tcp_flags() {
    tcp_flags_.Clear();
  }
  inline ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::tcp_flags(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.tcp_flags)
    return static_cast< ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS >(tcp_flags_.Get(index));
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::set_tcp_flags(int index, ::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value) {
    tcp_flags_.Set(index, value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.tcp_flags)
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::add_tcp_flags(::openconfig::enums::OpenconfigPacketMatchTypesTCPFLAGS value) {
    tcp_flags_.Add(value);
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.tcp_flags)
  }
  inline const ::google::protobuf::RepeatedField<int>&
  Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::tcp_flags() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.tcp_flags)
    return tcp_flags_;
  }
  inline ::google::protobuf::RepeatedField<int>*
  Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::mutable_tcp_flags() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State.tcp_flags)
    return &tcp_flags_;
  }
  
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_destination_port() const {
    return destination_port_case() != DESTINATION_PORT_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_has_destination_port() {
    _oneof_case_[0] = DESTINATION_PORT_NOT_SET;
  }
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::has_source_port() const {
    return source_port_case() != SOURCE_PORT_NOT_SET;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::clear_has_source_port() {
    _oneof_case_[1] = SOURCE_PORT_NOT_SET;
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::DestinationPortCase Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::destination_port_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::DestinationPortCase(_oneof_case_[0]);
  }
  inline Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::SourcePortCase Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::source_port_case() const {
    return Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State::SourcePortCase(_oneof_case_[1]);
  }
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry_Transport
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.Config config = 244837662 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.State state = 56546699 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State& Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry_Transport::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntry
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Actions actions = 266093031 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/actions"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_actions() const {
    return this != internal_default_instance() && actions_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_actions() {
    if (GetArenaNoVirtual() == NULL && actions_ != NULL) {
      delete actions_;
    }
    actions_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions& Acl_AclSets_AclSet_AclEntries_AclEntry::actions() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* p = actions_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.actions)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Actions_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* Acl_AclSets_AclSet_AclEntries_AclEntry::release_actions() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.actions)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* temp = actions_;
    actions_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_actions() {
    
    if (actions_ == NULL) {
      actions_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.actions)
    return actions_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_actions(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Actions* actions) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete actions_;
    }
    if (actions) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        actions = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, actions, submessage_arena);
      }
      
    } else {
      
    }
    actions_ = actions;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.actions)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Config config = 201866872 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/config"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config& Acl_AclSets_AclSet_AclEntries_AclEntry::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* Acl_AclSets_AclSet_AclEntries_AclEntry::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.InputInterface input_interface = 479636424 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/input-interface"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_input_interface() const {
    return this != internal_default_instance() && input_interface_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_input_interface() {
    if (GetArenaNoVirtual() == NULL && input_interface_ != NULL) {
      delete input_interface_;
    }
    input_interface_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface& Acl_AclSets_AclSet_AclEntries_AclEntry::input_interface() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* p = input_interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.input_interface)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* Acl_AclSets_AclSet_AclEntries_AclEntry::release_input_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.input_interface)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* temp = input_interface_;
    input_interface_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_input_interface() {
    
    if (input_interface_ == NULL) {
      input_interface_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.input_interface)
    return input_interface_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_input_interface(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_InputInterface* input_interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete input_interface_;
    }
    if (input_interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        input_interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, input_interface, submessage_arena);
      }
      
    } else {
      
    }
    input_interface_ = input_interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.input_interface)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv4 ipv4 = 252224191 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv4"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_ipv4() const {
    return this != internal_default_instance() && ipv4_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_ipv4() {
    if (GetArenaNoVirtual() == NULL && ipv4_ != NULL) {
      delete ipv4_;
    }
    ipv4_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4& Acl_AclSets_AclSet_AclEntries_AclEntry::ipv4() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* p = ipv4_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv4)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* Acl_AclSets_AclSet_AclEntries_AclEntry::release_ipv4() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv4)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* temp = ipv4_;
    ipv4_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_ipv4() {
    
    if (ipv4_ == NULL) {
      ipv4_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv4)
    return ipv4_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_ipv4(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv4* ipv4) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete ipv4_;
    }
    if (ipv4) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        ipv4 = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, ipv4, submessage_arena);
      }
      
    } else {
      
    }
    ipv4_ = ipv4;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv4)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Ipv6 ipv6 = 252224189 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/ipv6"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_ipv6() const {
    return this != internal_default_instance() && ipv6_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_ipv6() {
    if (GetArenaNoVirtual() == NULL && ipv6_ != NULL) {
      delete ipv6_;
    }
    ipv6_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6& Acl_AclSets_AclSet_AclEntries_AclEntry::ipv6() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* p = ipv6_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv6)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* Acl_AclSets_AclSet_AclEntries_AclEntry::release_ipv6() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv6)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* temp = ipv6_;
    ipv6_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_ipv6() {
    
    if (ipv6_ == NULL) {
      ipv6_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv6)
    return ipv6_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_ipv6(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Ipv6* ipv6) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete ipv6_;
    }
    if (ipv6) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        ipv6 = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, ipv6, submessage_arena);
      }
      
    } else {
      
    }
    ipv6_ = ipv6;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.ipv6)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.L2 l2 = 509771812 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/l2"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_l2() const {
    return this != internal_default_instance() && l2_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_l2() {
    if (GetArenaNoVirtual() == NULL && l2_ != NULL) {
      delete l2_;
    }
    l2_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2& Acl_AclSets_AclSet_AclEntries_AclEntry::l2() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* p = l2_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.l2)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_L2_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* Acl_AclSets_AclSet_AclEntries_AclEntry::release_l2() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.l2)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* temp = l2_;
    l2_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_l2() {
    
    if (l2_ == NULL) {
      l2_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.l2)
    return l2_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_l2(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_L2* l2) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete l2_;
    }
    if (l2) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        l2 = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, l2, submessage_arena);
      }
      
    } else {
      
    }
    l2_ = l2;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.l2)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.State state = 489791377 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/state"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State& Acl_AclSets_AclSet_AclEntries_AclEntry::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* Acl_AclSets_AclSet_AclEntries_AclEntry::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.state)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.Transport transport = 13698857 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/transport"];
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntry::has_transport() const {
    return this != internal_default_instance() && transport_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::clear_transport() {
    if (GetArenaNoVirtual() == NULL && transport_ != NULL) {
      delete transport_;
    }
    transport_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport& Acl_AclSets_AclSet_AclEntries_AclEntry::transport() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* p = transport_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.transport)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* Acl_AclSets_AclSet_AclEntries_AclEntry::release_transport() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.transport)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* temp = transport_;
    transport_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* Acl_AclSets_AclSet_AclEntries_AclEntry::mutable_transport() {
    
    if (transport_ == NULL) {
      transport_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.transport)
    return transport_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntry::set_allocated_transport(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport* transport) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete transport_;
    }
    if (transport) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        transport = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, transport, submessage_arena);
      }
      
    } else {
      
    }
    transport_ = transport;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry.transport)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries_AclEntryKey
  
  // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry/sequence-id"];
  inline void Acl_AclSets_AclSet_AclEntries_AclEntryKey::clear_sequence_id() {
    sequence_id_ = GOOGLE_ULONGLONG(0);
  }
  inline ::google::protobuf::uint64 Acl_AclSets_AclSet_AclEntries_AclEntryKey::sequence_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.sequence_id)
    return sequence_id_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntryKey::set_sequence_id(::google::protobuf::uint64 value) {
    
    sequence_id_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.sequence_id)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntry acl_entry = 2;
  inline bool Acl_AclSets_AclSet_AclEntries_AclEntryKey::has_acl_entry() const {
    return this != internal_default_instance() && acl_entry_ != NULL;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntryKey::clear_acl_entry() {
    if (GetArenaNoVirtual() == NULL && acl_entry_ != NULL) {
      delete acl_entry_;
    }
    acl_entry_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry& Acl_AclSets_AclSet_AclEntries_AclEntryKey::acl_entry() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* p = acl_entry_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.acl_entry)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_AclEntry_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* Acl_AclSets_AclSet_AclEntries_AclEntryKey::release_acl_entry() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.acl_entry)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* temp = acl_entry_;
    acl_entry_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* Acl_AclSets_AclSet_AclEntries_AclEntryKey::mutable_acl_entry() {
    
    if (acl_entry_ == NULL) {
      acl_entry_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.acl_entry)
    return acl_entry_;
  }
  inline void Acl_AclSets_AclSet_AclEntries_AclEntryKey::set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry* acl_entry) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entry_;
    }
    if (acl_entry) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entry = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entry, submessage_arena);
      }
      
    } else {
      
    }
    acl_entry_ = acl_entry;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey.acl_entry)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_AclEntries
  
  // repeated .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.AclEntryKey acl_entry = 532341735 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries/acl-entry"];
  inline int Acl_AclSets_AclSet_AclEntries::acl_entry_size() const {
    return acl_entry_.size();
  }
  inline void Acl_AclSets_AclSet_AclEntries::clear_acl_entry() {
    acl_entry_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey& Acl_AclSets_AclSet_AclEntries::acl_entry(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.acl_entry)
    return acl_entry_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey* Acl_AclSets_AclSet_AclEntries::mutable_acl_entry(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.acl_entry)
    return acl_entry_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey* Acl_AclSets_AclSet_AclEntries::add_acl_entry() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.acl_entry)
    return acl_entry_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey >*
  Acl_AclSets_AclSet_AclEntries::mutable_acl_entry() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.acl_entry)
    return &acl_entry_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntryKey >&
  Acl_AclSets_AclSet_AclEntries::acl_entry() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries.acl_entry)
    return acl_entry_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_Config
  
  // .ywrapper.StringValue description = 417646551 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/description"];
  inline bool Acl_AclSets_AclSet_Config::has_description() const {
    return this != internal_default_instance() && description_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_Config::description() const {
    const ::ywrapper::StringValue* p = description_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.description)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_Config::release_description() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.description)
    
    ::ywrapper::StringValue* temp = description_;
    description_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_Config::mutable_description() {
    
    if (description_ == NULL) {
      description_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.description)
    return description_;
  }
  inline void Acl_AclSets_AclSet_Config::set_allocated_description(::ywrapper::StringValue* description) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(description_);
    }
    if (description) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        description = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, description, submessage_arena);
      }
      
    } else {
      
    }
    description_ = description;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.description)
  }
  
  // .ywrapper.StringValue name = 78719918 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/name"];
  inline bool Acl_AclSets_AclSet_Config::has_name() const {
    return this != internal_default_instance() && name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_Config::name() const {
    const ::ywrapper::StringValue* p = name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_Config::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.name)
    
    ::ywrapper::StringValue* temp = name_;
    name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_Config::mutable_name() {
    
    if (name_ == NULL) {
      name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.name)
    return name_;
  }
  inline void Acl_AclSets_AclSet_Config::set_allocated_name(::ywrapper::StringValue* name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(name_);
    }
    if (name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, name, submessage_arena);
      }
      
    } else {
      
    }
    name_ = name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 470244131 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config/type"];
  inline void Acl_AclSets_AclSet_Config::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_AclSets_AclSet_Config::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_AclSets_AclSet_Config::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.Config.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet_State
  
  // .ywrapper.StringValue description = 35889822 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/description"];
  inline bool Acl_AclSets_AclSet_State::has_description() const {
    return this != internal_default_instance() && description_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_State::description() const {
    const ::ywrapper::StringValue* p = description_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.description)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_State::release_description() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.description)
    
    ::ywrapper::StringValue* temp = description_;
    description_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_State::mutable_description() {
    
    if (description_ == NULL) {
      description_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.description)
    return description_;
  }
  inline void Acl_AclSets_AclSet_State::set_allocated_description(::ywrapper::StringValue* description) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(description_);
    }
    if (description) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        description = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, description, submessage_arena);
      }
      
    } else {
      
    }
    description_ = description;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.description)
  }
  
  // .ywrapper.StringValue name = 512257697 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/name"];
  inline bool Acl_AclSets_AclSet_State::has_name() const {
    return this != internal_default_instance() && name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_AclSets_AclSet_State::name() const {
    const ::ywrapper::StringValue* p = name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_State::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.name)
    
    ::ywrapper::StringValue* temp = name_;
    name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_AclSets_AclSet_State::mutable_name() {
    
    if (name_ == NULL) {
      name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.name)
    return name_;
  }
  inline void Acl_AclSets_AclSet_State::set_allocated_name(::ywrapper::StringValue* name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(name_);
    }
    if (name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, name, submessage_arena);
      }
      
    } else {
      
    }
    name_ = name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 261035304 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state/type"];
  inline void Acl_AclSets_AclSet_State::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_AclSets_AclSet_State::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_AclSets_AclSet_State::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSet.State.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSet
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.AclEntries acl_entries = 111776053 [(.yext.schemapath) = "/acl/acl-sets/acl-set/acl-entries"];
  inline bool Acl_AclSets_AclSet::has_acl_entries() const {
    return this != internal_default_instance() && acl_entries_ != NULL;
  }
  inline void Acl_AclSets_AclSet::clear_acl_entries() {
    if (GetArenaNoVirtual() == NULL && acl_entries_ != NULL) {
      delete acl_entries_;
    }
    acl_entries_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries& Acl_AclSets_AclSet::acl_entries() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* p = acl_entries_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.acl_entries)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_AclEntries_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* Acl_AclSets_AclSet::release_acl_entries() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.acl_entries)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* temp = acl_entries_;
    acl_entries_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* Acl_AclSets_AclSet::mutable_acl_entries() {
    
    if (acl_entries_ == NULL) {
      acl_entries_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.acl_entries)
    return acl_entries_;
  }
  inline void Acl_AclSets_AclSet::set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries* acl_entries) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entries_;
    }
    if (acl_entries) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entries = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entries, submessage_arena);
      }
      
    } else {
      
    }
    acl_entries_ = acl_entries;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.acl_entries)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.Config config = 90241004 [(.yext.schemapath) = "/acl/acl-sets/acl-set/config"];
  inline bool Acl_AclSets_AclSet::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_AclSets_AclSet::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config& Acl_AclSets_AclSet::config() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* Acl_AclSets_AclSet::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.config)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* Acl_AclSets_AclSet::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.config)
    return config_;
  }
  inline void Acl_AclSets_AclSet::set_allocated_config(::openconfig::openconfig_acl::Acl_AclSets_AclSet_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.config)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet.State state = 443839461 [(.yext.schemapath) = "/acl/acl-sets/acl-set/state"];
  inline bool Acl_AclSets_AclSet::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_AclSets_AclSet::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State& Acl_AclSets_AclSet::state() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSet.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* Acl_AclSets_AclSet::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSet.state)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* Acl_AclSets_AclSet::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSet.state)
    return state_;
  }
  inline void Acl_AclSets_AclSet::set_allocated_state(::openconfig::openconfig_acl::Acl_AclSets_AclSet_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSet.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets_AclSetKey
  
  // string name = 1 [(.yext.schemapath) = "/acl/acl-sets/acl-set/name"];
  inline void Acl_AclSets_AclSetKey::clear_name() {
    name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& Acl_AclSets_AclSetKey::name() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
    return name_.GetNoArena();
  }
  inline void Acl_AclSets_AclSetKey::set_name(const ::std::string& value) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
  }
  #if LANG_CXX11
  inline void Acl_AclSets_AclSetKey::set_name(::std::string&& value) {
    
    name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
  }
  #endif
  inline void Acl_AclSets_AclSetKey::set_name(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
  }
  inline void Acl_AclSets_AclSetKey::set_name(const char* value, size_t size) {
    
    name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
  }
  inline ::std::string* Acl_AclSets_AclSetKey::mutable_name() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
    return name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_AclSets_AclSetKey::release_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
    
    return name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void Acl_AclSets_AclSetKey::set_allocated_name(::std::string* name) {
    if (name != NULL) {
      
    } else {
      
    }
    name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), name);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/acl-sets/acl-set/type"];
  inline void Acl_AclSets_AclSetKey::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_AclSets_AclSetKey::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_AclSets_AclSetKey::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.type)
  }
  
  // .openconfig.openconfig_acl.Acl.AclSets.AclSet acl_set = 3;
  inline bool Acl_AclSets_AclSetKey::has_acl_set() const {
    return this != internal_default_instance() && acl_set_ != NULL;
  }
  inline void Acl_AclSets_AclSetKey::clear_acl_set() {
    if (GetArenaNoVirtual() == NULL && acl_set_ != NULL) {
      delete acl_set_;
    }
    acl_set_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSet& Acl_AclSets_AclSetKey::acl_set() const {
    const ::openconfig::openconfig_acl::Acl_AclSets_AclSet* p = acl_set_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.acl_set)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets_AclSet*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_AclSet_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet* Acl_AclSets_AclSetKey::release_acl_set() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.acl_set)
    
    ::openconfig::openconfig_acl::Acl_AclSets_AclSet* temp = acl_set_;
    acl_set_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSet* Acl_AclSets_AclSetKey::mutable_acl_set() {
    
    if (acl_set_ == NULL) {
      acl_set_ = new ::openconfig::openconfig_acl::Acl_AclSets_AclSet;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.acl_set)
    return acl_set_;
  }
  inline void Acl_AclSets_AclSetKey::set_allocated_acl_set(::openconfig::openconfig_acl::Acl_AclSets_AclSet* acl_set) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_set_;
    }
    if (acl_set) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_set = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_set, submessage_arena);
      }
      
    } else {
      
    }
    acl_set_ = acl_set;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.AclSets.AclSetKey.acl_set)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_AclSets
  
  // repeated .openconfig.openconfig_acl.Acl.AclSets.AclSetKey acl_set = 4912443 [(.yext.schemapath) = "/acl/acl-sets/acl-set"];
  inline int Acl_AclSets::acl_set_size() const {
    return acl_set_.size();
  }
  inline void Acl_AclSets::clear_acl_set() {
    acl_set_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey& Acl_AclSets::acl_set(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.AclSets.acl_set)
    return acl_set_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey* Acl_AclSets::mutable_acl_set(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.AclSets.acl_set)
    return acl_set_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey* Acl_AclSets::add_acl_set() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.AclSets.acl_set)
    return acl_set_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey >*
  Acl_AclSets::mutable_acl_set() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.AclSets.acl_set)
    return &acl_set_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_AclSets_AclSetKey >&
  Acl_AclSets::acl_set() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.AclSets.acl_set)
    return acl_set_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Config
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_Config
  
  // .ywrapper.StringValue id = 128384696 [(.yext.schemapath) = "/acl/interfaces/interface/config/id"];
  inline bool Acl_Interfaces_Interface_Config::has_id() const {
    return this != internal_default_instance() && id_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_Config::id() const {
    const ::ywrapper::StringValue* p = id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config.id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_Config::release_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config.id)
    
    ::ywrapper::StringValue* temp = id_;
    id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_Config::mutable_id() {
    
    if (id_ == NULL) {
      id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config.id)
    return id_;
  }
  inline void Acl_Interfaces_Interface_Config::set_allocated_id(::ywrapper::StringValue* id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_);
    }
    if (id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, id, submessage_arena);
      }
      
    } else {
      
    }
    id_ = id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.Config.id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State
  
  // .ywrapper.UintValue matched_octets = 270373376 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/matched-octets"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::has_matched_octets() const {
    return this != internal_default_instance() && matched_octets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::matched_octets() const {
    const ::ywrapper::UintValue* p = matched_octets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_octets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::release_matched_octets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_octets)
    
    ::ywrapper::UintValue* temp = matched_octets_;
    matched_octets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::mutable_matched_octets() {
    
    if (matched_octets_ == NULL) {
      matched_octets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_octets)
    return matched_octets_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::set_allocated_matched_octets(::ywrapper::UintValue* matched_octets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_octets_);
    }
    if (matched_octets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_octets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_octets, submessage_arena);
      }
      
    } else {
      
    }
    matched_octets_ = matched_octets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_octets)
  }
  
  // .ywrapper.UintValue matched_packets = 425026435 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/matched-packets"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::has_matched_packets() const {
    return this != internal_default_instance() && matched_packets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::matched_packets() const {
    const ::ywrapper::UintValue* p = matched_packets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_packets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::release_matched_packets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_packets)
    
    ::ywrapper::UintValue* temp = matched_packets_;
    matched_packets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::mutable_matched_packets() {
    
    if (matched_packets_ == NULL) {
      matched_packets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_packets)
    return matched_packets_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::set_allocated_matched_packets(::ywrapper::UintValue* matched_packets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_packets_);
    }
    if (matched_packets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_packets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_packets, submessage_arena);
      }
      
    } else {
      
    }
    matched_packets_ = matched_packets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.matched_packets)
  }
  
  // .ywrapper.UintValue sequence_id = 475465976 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state/sequence-id"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::has_sequence_id() const {
    return this != internal_default_instance() && sequence_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::sequence_id() const {
    const ::ywrapper::UintValue* p = sequence_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.sequence_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::release_sequence_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.sequence_id)
    
    ::ywrapper::UintValue* temp = sequence_id_;
    sequence_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::mutable_sequence_id() {
    
    if (sequence_id_ == NULL) {
      sequence_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.sequence_id)
    return sequence_id_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State::set_allocated_sequence_id(::ywrapper::UintValue* sequence_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sequence_id_);
    }
    if (sequence_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sequence_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sequence_id, submessage_arena);
      }
      
    } else {
      
    }
    sequence_id_ = sequence_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State.sequence_id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.State state = 236921978 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/state"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey
  
  // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry/sequence-id"];
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::clear_sequence_id() {
    sequence_id_ = GOOGLE_ULONGLONG(0);
  }
  inline ::google::protobuf::uint64 Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::sequence_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.sequence_id)
    return sequence_id_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::set_sequence_id(::google::protobuf::uint64 value) {
    
    sequence_id_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.sequence_id)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntry acl_entry = 2;
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::has_acl_entry() const {
    return this != internal_default_instance() && acl_entry_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::clear_acl_entry() {
    if (GetArenaNoVirtual() == NULL && acl_entry_ != NULL) {
      delete acl_entry_;
    }
    acl_entry_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::acl_entry() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* p = acl_entry_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.acl_entry)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::release_acl_entry() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.acl_entry)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* temp = acl_entry_;
    acl_entry_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::mutable_acl_entry() {
    
    if (acl_entry_ == NULL) {
      acl_entry_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.acl_entry)
    return acl_entry_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey::set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntry* acl_entry) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entry_;
    }
    if (acl_entry) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entry = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entry, submessage_arena);
      }
      
    } else {
      
    }
    acl_entry_ = acl_entry;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey.acl_entry)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries
  
  // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.AclEntryKey acl_entry = 78393968 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries/acl-entry"];
  inline int Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::acl_entry_size() const {
    return acl_entry_.size();
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::clear_acl_entry() {
    acl_entry_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::acl_entry(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.acl_entry)
    return acl_entry_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::mutable_acl_entry(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.acl_entry)
    return acl_entry_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::add_acl_entry() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.acl_entry)
    return acl_entry_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey >*
  Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::mutable_acl_entry() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.acl_entry)
    return &acl_entry_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_AclEntryKey >&
  Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries::acl_entry() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries.acl_entry)
    return acl_entry_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config
  
  // .ywrapper.StringValue set_name = 261331952 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config/set-name"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::has_set_name() const {
    return this != internal_default_instance() && set_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::set_name() const {
    const ::ywrapper::StringValue* p = set_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.set_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.set_name)
    
    ::ywrapper::StringValue* temp = set_name_;
    set_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::mutable_set_name() {
    
    if (set_name_ == NULL) {
      set_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.set_name)
    return set_name_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::set_allocated_set_name(::ywrapper::StringValue* set_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(set_name_);
    }
    if (set_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        set_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, set_name, submessage_arena);
      }
      
    } else {
      
    }
    set_name_ = set_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 326671756 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config/type"];
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State
  
  // .ywrapper.StringValue set_name = 273361801 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state/set-name"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::has_set_name() const {
    return this != internal_default_instance() && set_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::set_name() const {
    const ::ywrapper::StringValue* p = set_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.set_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.set_name)
    
    ::ywrapper::StringValue* temp = set_name_;
    set_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::mutable_set_name() {
    
    if (set_name_ == NULL) {
      set_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.set_name)
    return set_name_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::set_allocated_set_name(::ywrapper::StringValue* set_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(set_name_);
    }
    if (set_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        set_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, set_name, submessage_arena);
      }
      
    } else {
      
    }
    set_name_ = set_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 226751853 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state/type"];
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSet
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.AclEntries acl_entries = 441678586 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/acl-entries"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::has_acl_entries() const {
    return this != internal_default_instance() && acl_entries_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::clear_acl_entries() {
    if (GetArenaNoVirtual() == NULL && acl_entries_ != NULL) {
      delete acl_entries_;
    }
    acl_entries_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::acl_entries() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* p = acl_entries_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.acl_entries)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::release_acl_entries() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.acl_entries)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* temp = acl_entries_;
    acl_entries_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::mutable_acl_entries() {
    
    if (acl_entries_ == NULL) {
      acl_entries_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.acl_entries)
    return acl_entries_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_AclEntries* acl_entries) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entries_;
    }
    if (acl_entries) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entries = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entries, submessage_arena);
      }
      
    } else {
      
    }
    acl_entries_ = acl_entries;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.acl_entries)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.Config config = 293659945 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/config"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::config() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.config)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.config)
    return config_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.config)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.State state = 206226686 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/state"];
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State& Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSet::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey
  
  // string set_name = 1 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/set-name"];
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::clear_set_name() {
    set_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_name() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
    return set_name_.GetNoArena();
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_set_name(const ::std::string& value) {
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
  }
  #if LANG_CXX11
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_set_name(::std::string&& value) {
    
    set_name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
  }
  #endif
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_set_name(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_set_name(const char* value, size_t size) {
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
  }
  inline ::std::string* Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::mutable_set_name() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
    return set_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
    
    return set_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_allocated_set_name(::std::string* set_name) {
    if (set_name != NULL) {
      
    } else {
      
    }
    set_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), set_name);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set/type"];
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.type)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSet egress_acl_set = 3;
  inline bool Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::has_egress_acl_set() const {
    return this != internal_default_instance() && egress_acl_set_ != NULL;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::clear_egress_acl_set() {
    if (GetArenaNoVirtual() == NULL && egress_acl_set_ != NULL) {
      delete egress_acl_set_;
    }
    egress_acl_set_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet& Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::egress_acl_set() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* p = egress_acl_set_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.egress_acl_set)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_EgressAclSet_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::release_egress_acl_set() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.egress_acl_set)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* temp = egress_acl_set_;
    egress_acl_set_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::mutable_egress_acl_set() {
    
    if (egress_acl_set_ == NULL) {
      egress_acl_set_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.egress_acl_set)
    return egress_acl_set_;
  }
  inline void Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey::set_allocated_egress_acl_set(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSet* egress_acl_set) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete egress_acl_set_;
    }
    if (egress_acl_set) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        egress_acl_set = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, egress_acl_set, submessage_arena);
      }
      
    } else {
      
    }
    egress_acl_set_ = egress_acl_set;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey.egress_acl_set)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_EgressAclSets
  
  // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.EgressAclSetKey egress_acl_set = 98207108 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets/egress-acl-set"];
  inline int Acl_Interfaces_Interface_EgressAclSets::egress_acl_set_size() const {
    return egress_acl_set_.size();
  }
  inline void Acl_Interfaces_Interface_EgressAclSets::clear_egress_acl_set() {
    egress_acl_set_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey& Acl_Interfaces_Interface_EgressAclSets::egress_acl_set(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.egress_acl_set)
    return egress_acl_set_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* Acl_Interfaces_Interface_EgressAclSets::mutable_egress_acl_set(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.egress_acl_set)
    return egress_acl_set_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey* Acl_Interfaces_Interface_EgressAclSets::add_egress_acl_set() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.egress_acl_set)
    return egress_acl_set_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey >*
  Acl_Interfaces_Interface_EgressAclSets::mutable_egress_acl_set() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.egress_acl_set)
    return &egress_acl_set_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets_EgressAclSetKey >&
  Acl_Interfaces_Interface_EgressAclSets::egress_acl_set() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets.egress_acl_set)
    return egress_acl_set_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State
  
  // .ywrapper.UintValue matched_octets = 253417282 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/matched-octets"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::has_matched_octets() const {
    return this != internal_default_instance() && matched_octets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::matched_octets() const {
    const ::ywrapper::UintValue* p = matched_octets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_octets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::release_matched_octets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_octets)
    
    ::ywrapper::UintValue* temp = matched_octets_;
    matched_octets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::mutable_matched_octets() {
    
    if (matched_octets_ == NULL) {
      matched_octets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_octets)
    return matched_octets_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::set_allocated_matched_octets(::ywrapper::UintValue* matched_octets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_octets_);
    }
    if (matched_octets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_octets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_octets, submessage_arena);
      }
      
    } else {
      
    }
    matched_octets_ = matched_octets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_octets)
  }
  
  // .ywrapper.UintValue matched_packets = 115163105 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/matched-packets"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::has_matched_packets() const {
    return this != internal_default_instance() && matched_packets_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::matched_packets() const {
    const ::ywrapper::UintValue* p = matched_packets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_packets)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::release_matched_packets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_packets)
    
    ::ywrapper::UintValue* temp = matched_packets_;
    matched_packets_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::mutable_matched_packets() {
    
    if (matched_packets_ == NULL) {
      matched_packets_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_packets)
    return matched_packets_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::set_allocated_matched_packets(::ywrapper::UintValue* matched_packets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(matched_packets_);
    }
    if (matched_packets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        matched_packets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, matched_packets, submessage_arena);
      }
      
    } else {
      
    }
    matched_packets_ = matched_packets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.matched_packets)
  }
  
  // .ywrapper.UintValue sequence_id = 198617442 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state/sequence-id"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::has_sequence_id() const {
    return this != internal_default_instance() && sequence_id_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::sequence_id() const {
    const ::ywrapper::UintValue* p = sequence_id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.sequence_id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::release_sequence_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.sequence_id)
    
    ::ywrapper::UintValue* temp = sequence_id_;
    sequence_id_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::mutable_sequence_id() {
    
    if (sequence_id_ == NULL) {
      sequence_id_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.sequence_id)
    return sequence_id_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State::set_allocated_sequence_id(::ywrapper::UintValue* sequence_id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(sequence_id_);
    }
    if (sequence_id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        sequence_id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, sequence_id, submessage_arena);
      }
      
    } else {
      
    }
    sequence_id_ = sequence_id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State.sequence_id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.State state = 29088020 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/state"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey
  
  // uint64 sequence_id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry/sequence-id"];
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::clear_sequence_id() {
    sequence_id_ = GOOGLE_ULONGLONG(0);
  }
  inline ::google::protobuf::uint64 Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::sequence_id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.sequence_id)
    return sequence_id_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::set_sequence_id(::google::protobuf::uint64 value) {
    
    sequence_id_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.sequence_id)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntry acl_entry = 2;
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::has_acl_entry() const {
    return this != internal_default_instance() && acl_entry_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::clear_acl_entry() {
    if (GetArenaNoVirtual() == NULL && acl_entry_ != NULL) {
      delete acl_entry_;
    }
    acl_entry_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::acl_entry() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* p = acl_entry_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.acl_entry)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::release_acl_entry() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.acl_entry)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* temp = acl_entry_;
    acl_entry_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::mutable_acl_entry() {
    
    if (acl_entry_ == NULL) {
      acl_entry_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.acl_entry)
    return acl_entry_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey::set_allocated_acl_entry(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntry* acl_entry) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entry_;
    }
    if (acl_entry) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entry = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entry, submessage_arena);
      }
      
    } else {
      
    }
    acl_entry_ = acl_entry;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey.acl_entry)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries
  
  // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.AclEntryKey acl_entry = 497293554 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries/acl-entry"];
  inline int Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::acl_entry_size() const {
    return acl_entry_.size();
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::clear_acl_entry() {
    acl_entry_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::acl_entry(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.acl_entry)
    return acl_entry_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::mutable_acl_entry(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.acl_entry)
    return acl_entry_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::add_acl_entry() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.acl_entry)
    return acl_entry_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey >*
  Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::mutable_acl_entry() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.acl_entry)
    return &acl_entry_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_AclEntryKey >&
  Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries::acl_entry() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries.acl_entry)
    return acl_entry_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config
  
  // .ywrapper.StringValue set_name = 393066506 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config/set-name"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::has_set_name() const {
    return this != internal_default_instance() && set_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::set_name() const {
    const ::ywrapper::StringValue* p = set_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.set_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.set_name)
    
    ::ywrapper::StringValue* temp = set_name_;
    set_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::mutable_set_name() {
    
    if (set_name_ == NULL) {
      set_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.set_name)
    return set_name_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::set_allocated_set_name(::ywrapper::StringValue* set_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(set_name_);
    }
    if (set_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        set_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, set_name, submessage_arena);
      }
      
    } else {
      
    }
    set_name_ = set_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 246920790 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config/type"];
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State
  
  // .ywrapper.StringValue set_name = 435077559 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state/set-name"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::has_set_name() const {
    return this != internal_default_instance() && set_name_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::set_name() const {
    const ::ywrapper::StringValue* p = set_name_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.set_name)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.set_name)
    
    ::ywrapper::StringValue* temp = set_name_;
    set_name_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::mutable_set_name() {
    
    if (set_name_ == NULL) {
      set_name_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.set_name)
    return set_name_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::set_allocated_set_name(::ywrapper::StringValue* set_name) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(set_name_);
    }
    if (set_name) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        set_name = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, set_name, submessage_arena);
      }
      
    } else {
      
    }
    set_name_ = set_name;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 276970363 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state/type"];
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State.type)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSet
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.AclEntries acl_entries = 211050772 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/acl-entries"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::has_acl_entries() const {
    return this != internal_default_instance() && acl_entries_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::clear_acl_entries() {
    if (GetArenaNoVirtual() == NULL && acl_entries_ != NULL) {
      delete acl_entries_;
    }
    acl_entries_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::acl_entries() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* p = acl_entries_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.acl_entries)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::release_acl_entries() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.acl_entries)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* temp = acl_entries_;
    acl_entries_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::mutable_acl_entries() {
    
    if (acl_entries_ == NULL) {
      acl_entries_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.acl_entries)
    return acl_entries_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::set_allocated_acl_entries(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_AclEntries* acl_entries) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_entries_;
    }
    if (acl_entries) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_entries = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_entries, submessage_arena);
      }
      
    } else {
      
    }
    acl_entries_ = acl_entries;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.acl_entries)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.Config config = 185162259 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/config"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::config() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.config)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.config)
    return config_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.config)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.State state = 179158516 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/state"];
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State& Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSet::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey
  
  // string set_name = 1 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/set-name"];
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::clear_set_name() {
    set_name_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_name() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
    return set_name_.GetNoArena();
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_set_name(const ::std::string& value) {
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
  }
  #if LANG_CXX11
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_set_name(::std::string&& value) {
    
    set_name_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
  }
  #endif
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_set_name(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_set_name(const char* value, size_t size) {
    
    set_name_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
  }
  inline ::std::string* Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::mutable_set_name() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
    return set_name_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::release_set_name() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
    
    return set_name_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_allocated_set_name(::std::string* set_name) {
    if (set_name != NULL) {
      
    } else {
      
    }
    set_name_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), set_name);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.set_name)
  }
  
  // .openconfig.enums.OpenconfigAclACLTYPE type = 2 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set/type"];
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::clear_type() {
    type_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLTYPE Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::type() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.type)
    return static_cast< ::openconfig::enums::OpenconfigAclACLTYPE >(type_);
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_type(::openconfig::enums::OpenconfigAclACLTYPE value) {
    
    type_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.type)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSet ingress_acl_set = 3;
  inline bool Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::has_ingress_acl_set() const {
    return this != internal_default_instance() && ingress_acl_set_ != NULL;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::clear_ingress_acl_set() {
    if (GetArenaNoVirtual() == NULL && ingress_acl_set_ != NULL) {
      delete ingress_acl_set_;
    }
    ingress_acl_set_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet& Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::ingress_acl_set() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* p = ingress_acl_set_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.ingress_acl_set)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_IngressAclSet_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::release_ingress_acl_set() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.ingress_acl_set)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* temp = ingress_acl_set_;
    ingress_acl_set_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::mutable_ingress_acl_set() {
    
    if (ingress_acl_set_ == NULL) {
      ingress_acl_set_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.ingress_acl_set)
    return ingress_acl_set_;
  }
  inline void Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey::set_allocated_ingress_acl_set(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSet* ingress_acl_set) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete ingress_acl_set_;
    }
    if (ingress_acl_set) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        ingress_acl_set = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, ingress_acl_set, submessage_arena);
      }
      
    } else {
      
    }
    ingress_acl_set_ = ingress_acl_set;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey.ingress_acl_set)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_IngressAclSets
  
  // repeated .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.IngressAclSetKey ingress_acl_set = 162661714 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets/ingress-acl-set"];
  inline int Acl_Interfaces_Interface_IngressAclSets::ingress_acl_set_size() const {
    return ingress_acl_set_.size();
  }
  inline void Acl_Interfaces_Interface_IngressAclSets::clear_ingress_acl_set() {
    ingress_acl_set_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey& Acl_Interfaces_Interface_IngressAclSets::ingress_acl_set(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.ingress_acl_set)
    return ingress_acl_set_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* Acl_Interfaces_Interface_IngressAclSets::mutable_ingress_acl_set(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.ingress_acl_set)
    return ingress_acl_set_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey* Acl_Interfaces_Interface_IngressAclSets::add_ingress_acl_set() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.ingress_acl_set)
    return ingress_acl_set_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey >*
  Acl_Interfaces_Interface_IngressAclSets::mutable_ingress_acl_set() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.ingress_acl_set)
    return &ingress_acl_set_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets_IngressAclSetKey >&
  Acl_Interfaces_Interface_IngressAclSets::ingress_acl_set() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets.ingress_acl_set)
    return ingress_acl_set_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_InterfaceRef_Config
  
  // .ywrapper.StringValue interface = 510701464 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config/interface"];
  inline bool Acl_Interfaces_Interface_InterfaceRef_Config::has_interface() const {
    return this != internal_default_instance() && interface_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_InterfaceRef_Config::interface() const {
    const ::ywrapper::StringValue* p = interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.interface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_InterfaceRef_Config::release_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.interface)
    
    ::ywrapper::StringValue* temp = interface_;
    interface_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_InterfaceRef_Config::mutable_interface() {
    
    if (interface_ == NULL) {
      interface_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.interface)
    return interface_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef_Config::set_allocated_interface(::ywrapper::StringValue* interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interface_);
    }
    if (interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface, submessage_arena);
      }
      
    } else {
      
    }
    interface_ = interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.interface)
  }
  
  // .ywrapper.UintValue subinterface = 223813592 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config/subinterface"];
  inline bool Acl_Interfaces_Interface_InterfaceRef_Config::has_subinterface() const {
    return this != internal_default_instance() && subinterface_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_InterfaceRef_Config::subinterface() const {
    const ::ywrapper::UintValue* p = subinterface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.subinterface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_InterfaceRef_Config::release_subinterface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.subinterface)
    
    ::ywrapper::UintValue* temp = subinterface_;
    subinterface_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_InterfaceRef_Config::mutable_subinterface() {
    
    if (subinterface_ == NULL) {
      subinterface_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.subinterface)
    return subinterface_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef_Config::set_allocated_subinterface(::ywrapper::UintValue* subinterface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subinterface_);
    }
    if (subinterface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subinterface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subinterface, submessage_arena);
      }
      
    } else {
      
    }
    subinterface_ = subinterface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config.subinterface)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_InterfaceRef_State
  
  // .ywrapper.StringValue interface = 433284309 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state/interface"];
  inline bool Acl_Interfaces_Interface_InterfaceRef_State::has_interface() const {
    return this != internal_default_instance() && interface_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_InterfaceRef_State::interface() const {
    const ::ywrapper::StringValue* p = interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.interface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_InterfaceRef_State::release_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.interface)
    
    ::ywrapper::StringValue* temp = interface_;
    interface_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_InterfaceRef_State::mutable_interface() {
    
    if (interface_ == NULL) {
      interface_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.interface)
    return interface_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef_State::set_allocated_interface(::ywrapper::StringValue* interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(interface_);
    }
    if (interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface, submessage_arena);
      }
      
    } else {
      
    }
    interface_ = interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.interface)
  }
  
  // .ywrapper.UintValue subinterface = 117660727 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state/subinterface"];
  inline bool Acl_Interfaces_Interface_InterfaceRef_State::has_subinterface() const {
    return this != internal_default_instance() && subinterface_ != NULL;
  }
  inline const ::ywrapper::UintValue& Acl_Interfaces_Interface_InterfaceRef_State::subinterface() const {
    const ::ywrapper::UintValue* p = subinterface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.subinterface)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::UintValue*>(
        &::ywrapper::_UintValue_default_instance_);
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_InterfaceRef_State::release_subinterface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.subinterface)
    
    ::ywrapper::UintValue* temp = subinterface_;
    subinterface_ = NULL;
    return temp;
  }
  inline ::ywrapper::UintValue* Acl_Interfaces_Interface_InterfaceRef_State::mutable_subinterface() {
    
    if (subinterface_ == NULL) {
      subinterface_ = new ::ywrapper::UintValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.subinterface)
    return subinterface_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef_State::set_allocated_subinterface(::ywrapper::UintValue* subinterface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(subinterface_);
    }
    if (subinterface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        subinterface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, subinterface, submessage_arena);
      }
      
    } else {
      
    }
    subinterface_ = subinterface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State.subinterface)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_InterfaceRef
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.Config config = 412022704 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/config"];
  inline bool Acl_Interfaces_Interface_InterfaceRef::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config& Acl_Interfaces_Interface_InterfaceRef::config() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_InterfaceRef_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* Acl_Interfaces_Interface_InterfaceRef::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.config)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* Acl_Interfaces_Interface_InterfaceRef::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.config)
    return config_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef::set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.config)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.State state = 161770793 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref/state"];
  inline bool Acl_Interfaces_Interface_InterfaceRef::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State& Acl_Interfaces_Interface_InterfaceRef::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_InterfaceRef_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* Acl_Interfaces_Interface_InterfaceRef::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* Acl_Interfaces_Interface_InterfaceRef::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface_InterfaceRef::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface_State
  
  // .ywrapper.StringValue id = 92757579 [(.yext.schemapath) = "/acl/interfaces/interface/state/id"];
  inline bool Acl_Interfaces_Interface_State::has_id() const {
    return this != internal_default_instance() && id_ != NULL;
  }
  inline const ::ywrapper::StringValue& Acl_Interfaces_Interface_State::id() const {
    const ::ywrapper::StringValue* p = id_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.State.id)
    return p != NULL ? *p : *reinterpret_cast<const ::ywrapper::StringValue*>(
        &::ywrapper::_StringValue_default_instance_);
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_State::release_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.State.id)
    
    ::ywrapper::StringValue* temp = id_;
    id_ = NULL;
    return temp;
  }
  inline ::ywrapper::StringValue* Acl_Interfaces_Interface_State::mutable_id() {
    
    if (id_ == NULL) {
      id_ = new ::ywrapper::StringValue;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.State.id)
    return id_;
  }
  inline void Acl_Interfaces_Interface_State::set_allocated_id(::ywrapper::StringValue* id) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete reinterpret_cast< ::google::protobuf::MessageLite*>(id_);
    }
    if (id) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        id = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, id, submessage_arena);
      }
      
    } else {
      
    }
    id_ = id;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.State.id)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_Interface
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.Config config = 39814432 [(.yext.schemapath) = "/acl/interfaces/interface/config"];
  inline bool Acl_Interfaces_Interface::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl_Interfaces_Interface::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config& Acl_Interfaces_Interface::config() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* Acl_Interfaces_Interface::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.config)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* Acl_Interfaces_Interface::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.config)
    return config_;
  }
  inline void Acl_Interfaces_Interface::set_allocated_config(::openconfig::openconfig_acl::Acl_Interfaces_Interface_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.config)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.EgressAclSets egress_acl_sets = 461903946 [(.yext.schemapath) = "/acl/interfaces/interface/egress-acl-sets"];
  inline bool Acl_Interfaces_Interface::has_egress_acl_sets() const {
    return this != internal_default_instance() && egress_acl_sets_ != NULL;
  }
  inline void Acl_Interfaces_Interface::clear_egress_acl_sets() {
    if (GetArenaNoVirtual() == NULL && egress_acl_sets_ != NULL) {
      delete egress_acl_sets_;
    }
    egress_acl_sets_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets& Acl_Interfaces_Interface::egress_acl_sets() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* p = egress_acl_sets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.egress_acl_sets)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_EgressAclSets_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* Acl_Interfaces_Interface::release_egress_acl_sets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.egress_acl_sets)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* temp = egress_acl_sets_;
    egress_acl_sets_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* Acl_Interfaces_Interface::mutable_egress_acl_sets() {
    
    if (egress_acl_sets_ == NULL) {
      egress_acl_sets_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.egress_acl_sets)
    return egress_acl_sets_;
  }
  inline void Acl_Interfaces_Interface::set_allocated_egress_acl_sets(::openconfig::openconfig_acl::Acl_Interfaces_Interface_EgressAclSets* egress_acl_sets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete egress_acl_sets_;
    }
    if (egress_acl_sets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        egress_acl_sets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, egress_acl_sets, submessage_arena);
      }
      
    } else {
      
    }
    egress_acl_sets_ = egress_acl_sets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.egress_acl_sets)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.IngressAclSets ingress_acl_sets = 149051962 [(.yext.schemapath) = "/acl/interfaces/interface/ingress-acl-sets"];
  inline bool Acl_Interfaces_Interface::has_ingress_acl_sets() const {
    return this != internal_default_instance() && ingress_acl_sets_ != NULL;
  }
  inline void Acl_Interfaces_Interface::clear_ingress_acl_sets() {
    if (GetArenaNoVirtual() == NULL && ingress_acl_sets_ != NULL) {
      delete ingress_acl_sets_;
    }
    ingress_acl_sets_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets& Acl_Interfaces_Interface::ingress_acl_sets() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* p = ingress_acl_sets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.ingress_acl_sets)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_IngressAclSets_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* Acl_Interfaces_Interface::release_ingress_acl_sets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.ingress_acl_sets)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* temp = ingress_acl_sets_;
    ingress_acl_sets_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* Acl_Interfaces_Interface::mutable_ingress_acl_sets() {
    
    if (ingress_acl_sets_ == NULL) {
      ingress_acl_sets_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.ingress_acl_sets)
    return ingress_acl_sets_;
  }
  inline void Acl_Interfaces_Interface::set_allocated_ingress_acl_sets(::openconfig::openconfig_acl::Acl_Interfaces_Interface_IngressAclSets* ingress_acl_sets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete ingress_acl_sets_;
    }
    if (ingress_acl_sets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        ingress_acl_sets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, ingress_acl_sets, submessage_arena);
      }
      
    } else {
      
    }
    ingress_acl_sets_ = ingress_acl_sets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.ingress_acl_sets)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.InterfaceRef interface_ref = 216230351 [(.yext.schemapath) = "/acl/interfaces/interface/interface-ref"];
  inline bool Acl_Interfaces_Interface::has_interface_ref() const {
    return this != internal_default_instance() && interface_ref_ != NULL;
  }
  inline void Acl_Interfaces_Interface::clear_interface_ref() {
    if (GetArenaNoVirtual() == NULL && interface_ref_ != NULL) {
      delete interface_ref_;
    }
    interface_ref_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef& Acl_Interfaces_Interface::interface_ref() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* p = interface_ref_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.interface_ref)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_InterfaceRef_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* Acl_Interfaces_Interface::release_interface_ref() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.interface_ref)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* temp = interface_ref_;
    interface_ref_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* Acl_Interfaces_Interface::mutable_interface_ref() {
    
    if (interface_ref_ == NULL) {
      interface_ref_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.interface_ref)
    return interface_ref_;
  }
  inline void Acl_Interfaces_Interface::set_allocated_interface_ref(::openconfig::openconfig_acl::Acl_Interfaces_Interface_InterfaceRef* interface_ref) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete interface_ref_;
    }
    if (interface_ref) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface_ref = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface_ref, submessage_arena);
      }
      
    } else {
      
    }
    interface_ref_ = interface_ref;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.interface_ref)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface.State state = 154100377 [(.yext.schemapath) = "/acl/interfaces/interface/state"];
  inline bool Acl_Interfaces_Interface::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl_Interfaces_Interface::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State& Acl_Interfaces_Interface::state() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.Interface.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* Acl_Interfaces_Interface::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.Interface.state)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* Acl_Interfaces_Interface::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.Interface.state)
    return state_;
  }
  inline void Acl_Interfaces_Interface::set_allocated_state(::openconfig::openconfig_acl::Acl_Interfaces_Interface_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.Interface.state)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces_InterfaceKey
  
  // string id = 1 [(.yext.schemapath) = "/acl/interfaces/interface/id"];
  inline void Acl_Interfaces_InterfaceKey::clear_id() {
    id_.ClearToEmptyNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline const ::std::string& Acl_Interfaces_InterfaceKey::id() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
    return id_.GetNoArena();
  }
  inline void Acl_Interfaces_InterfaceKey::set_id(const ::std::string& value) {
    
    id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), value);
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
  }
  #if LANG_CXX11
  inline void Acl_Interfaces_InterfaceKey::set_id(::std::string&& value) {
    
    id_.SetNoArena(
      &::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::move(value));
    // @@protoc_insertion_point(field_set_rvalue:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
  }
  #endif
  inline void Acl_Interfaces_InterfaceKey::set_id(const char* value) {
    GOOGLE_DCHECK(value != NULL);
    
    id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), ::std::string(value));
    // @@protoc_insertion_point(field_set_char:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
  }
  inline void Acl_Interfaces_InterfaceKey::set_id(const char* value, size_t size) {
    
    id_.SetNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(),
        ::std::string(reinterpret_cast<const char*>(value), size));
    // @@protoc_insertion_point(field_set_pointer:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
  }
  inline ::std::string* Acl_Interfaces_InterfaceKey::mutable_id() {
    
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
    return id_.MutableNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline ::std::string* Acl_Interfaces_InterfaceKey::release_id() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
    
    return id_.ReleaseNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited());
  }
  inline void Acl_Interfaces_InterfaceKey::set_allocated_id(::std::string* id) {
    if (id != NULL) {
      
    } else {
      
    }
    id_.SetAllocatedNoArena(&::google::protobuf::internal::GetEmptyStringAlreadyInited(), id);
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.id)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces.Interface interface = 2;
  inline bool Acl_Interfaces_InterfaceKey::has_interface() const {
    return this != internal_default_instance() && interface_ != NULL;
  }
  inline void Acl_Interfaces_InterfaceKey::clear_interface() {
    if (GetArenaNoVirtual() == NULL && interface_ != NULL) {
      delete interface_;
    }
    interface_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_Interface& Acl_Interfaces_InterfaceKey::interface() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces_Interface* p = interface_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.interface)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces_Interface*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_Interface_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface* Acl_Interfaces_InterfaceKey::release_interface() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.interface)
    
    ::openconfig::openconfig_acl::Acl_Interfaces_Interface* temp = interface_;
    interface_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_Interface* Acl_Interfaces_InterfaceKey::mutable_interface() {
    
    if (interface_ == NULL) {
      interface_ = new ::openconfig::openconfig_acl::Acl_Interfaces_Interface;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.interface)
    return interface_;
  }
  inline void Acl_Interfaces_InterfaceKey::set_allocated_interface(::openconfig::openconfig_acl::Acl_Interfaces_Interface* interface) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete interface_;
    }
    if (interface) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interface = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interface, submessage_arena);
      }
      
    } else {
      
    }
    interface_ = interface;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey.interface)
  }
  
  // -------------------------------------------------------------------
  
  // Acl_Interfaces
  
  // repeated .openconfig.openconfig_acl.Acl.Interfaces.InterfaceKey interface = 460928223 [(.yext.schemapath) = "/acl/interfaces/interface"];
  inline int Acl_Interfaces::interface_size() const {
    return interface_.size();
  }
  inline void Acl_Interfaces::clear_interface() {
    interface_.Clear();
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey& Acl_Interfaces::interface(int index) const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.Interfaces.interface)
    return interface_.Get(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey* Acl_Interfaces::mutable_interface(int index) {
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.Interfaces.interface)
    return interface_.Mutable(index);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey* Acl_Interfaces::add_interface() {
    // @@protoc_insertion_point(field_add:openconfig.openconfig_acl.Acl.Interfaces.interface)
    return interface_.Add();
  }
  inline ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey >*
  Acl_Interfaces::mutable_interface() {
    // @@protoc_insertion_point(field_mutable_list:openconfig.openconfig_acl.Acl.Interfaces.interface)
    return &interface_;
  }
  inline const ::google::protobuf::RepeatedPtrField< ::openconfig::openconfig_acl::Acl_Interfaces_InterfaceKey >&
  Acl_Interfaces::interface() const {
    // @@protoc_insertion_point(field_list:openconfig.openconfig_acl.Acl.Interfaces.interface)
    return interface_;
  }
  
  // -------------------------------------------------------------------
  
  // Acl_State
  
  // .openconfig.enums.OpenconfigAclACLCOUNTERCAPABILITY counter_capability = 39929886 [(.yext.schemapath) = "/acl/state/counter-capability"];
  inline void Acl_State::clear_counter_capability() {
    counter_capability_ = 0;
  }
  inline ::openconfig::enums::OpenconfigAclACLCOUNTERCAPABILITY Acl_State::counter_capability() const {
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.State.counter_capability)
    return static_cast< ::openconfig::enums::OpenconfigAclACLCOUNTERCAPABILITY >(counter_capability_);
  }
  inline void Acl_State::set_counter_capability(::openconfig::enums::OpenconfigAclACLCOUNTERCAPABILITY value) {
    
    counter_capability_ = value;
    // @@protoc_insertion_point(field_set:openconfig.openconfig_acl.Acl.State.counter_capability)
  }
  
  // -------------------------------------------------------------------
  
  // Acl
  
  // .openconfig.openconfig_acl.Acl.AclSets acl_sets = 417518509 [(.yext.schemapath) = "/acl/acl-sets"];
  inline bool Acl::has_acl_sets() const {
    return this != internal_default_instance() && acl_sets_ != NULL;
  }
  inline void Acl::clear_acl_sets() {
    if (GetArenaNoVirtual() == NULL && acl_sets_ != NULL) {
      delete acl_sets_;
    }
    acl_sets_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_AclSets& Acl::acl_sets() const {
    const ::openconfig::openconfig_acl::Acl_AclSets* p = acl_sets_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.acl_sets)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_AclSets*>(
        &::openconfig::openconfig_acl::_Acl_AclSets_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets* Acl::release_acl_sets() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.acl_sets)
    
    ::openconfig::openconfig_acl::Acl_AclSets* temp = acl_sets_;
    acl_sets_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_AclSets* Acl::mutable_acl_sets() {
    
    if (acl_sets_ == NULL) {
      acl_sets_ = new ::openconfig::openconfig_acl::Acl_AclSets;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.acl_sets)
    return acl_sets_;
  }
  inline void Acl::set_allocated_acl_sets(::openconfig::openconfig_acl::Acl_AclSets* acl_sets) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete acl_sets_;
    }
    if (acl_sets) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        acl_sets = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, acl_sets, submessage_arena);
      }
      
    } else {
      
    }
    acl_sets_ = acl_sets;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.acl_sets)
  }
  
  // .openconfig.openconfig_acl.Acl.Config config = 267083569 [(.yext.schemapath) = "/acl/config"];
  inline bool Acl::has_config() const {
    return this != internal_default_instance() && config_ != NULL;
  }
  inline void Acl::clear_config() {
    if (GetArenaNoVirtual() == NULL && config_ != NULL) {
      delete config_;
    }
    config_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Config& Acl::config() const {
    const ::openconfig::openconfig_acl::Acl_Config* p = config_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.config)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Config*>(
        &::openconfig::openconfig_acl::_Acl_Config_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Config* Acl::release_config() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.config)
    
    ::openconfig::openconfig_acl::Acl_Config* temp = config_;
    config_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Config* Acl::mutable_config() {
    
    if (config_ == NULL) {
      config_ = new ::openconfig::openconfig_acl::Acl_Config;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.config)
    return config_;
  }
  inline void Acl::set_allocated_config(::openconfig::openconfig_acl::Acl_Config* config) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete config_;
    }
    if (config) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        config = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, config, submessage_arena);
      }
      
    } else {
      
    }
    config_ = config;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.config)
  }
  
  // .openconfig.openconfig_acl.Acl.Interfaces interfaces = 154699711 [(.yext.schemapath) = "/acl/interfaces"];
  inline bool Acl::has_interfaces() const {
    return this != internal_default_instance() && interfaces_ != NULL;
  }
  inline void Acl::clear_interfaces() {
    if (GetArenaNoVirtual() == NULL && interfaces_ != NULL) {
      delete interfaces_;
    }
    interfaces_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_Interfaces& Acl::interfaces() const {
    const ::openconfig::openconfig_acl::Acl_Interfaces* p = interfaces_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.interfaces)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_Interfaces*>(
        &::openconfig::openconfig_acl::_Acl_Interfaces_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces* Acl::release_interfaces() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.interfaces)
    
    ::openconfig::openconfig_acl::Acl_Interfaces* temp = interfaces_;
    interfaces_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_Interfaces* Acl::mutable_interfaces() {
    
    if (interfaces_ == NULL) {
      interfaces_ = new ::openconfig::openconfig_acl::Acl_Interfaces;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.interfaces)
    return interfaces_;
  }
  inline void Acl::set_allocated_interfaces(::openconfig::openconfig_acl::Acl_Interfaces* interfaces) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete interfaces_;
    }
    if (interfaces) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        interfaces = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, interfaces, submessage_arena);
      }
      
    } else {
      
    }
    interfaces_ = interfaces;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.interfaces)
  }
  
  // .openconfig.openconfig_acl.Acl.State state = 331320230 [(.yext.schemapath) = "/acl/state"];
  inline bool Acl::has_state() const {
    return this != internal_default_instance() && state_ != NULL;
  }
  inline void Acl::clear_state() {
    if (GetArenaNoVirtual() == NULL && state_ != NULL) {
      delete state_;
    }
    state_ = NULL;
  }
  inline const ::openconfig::openconfig_acl::Acl_State& Acl::state() const {
    const ::openconfig::openconfig_acl::Acl_State* p = state_;
    // @@protoc_insertion_point(field_get:openconfig.openconfig_acl.Acl.state)
    return p != NULL ? *p : *reinterpret_cast<const ::openconfig::openconfig_acl::Acl_State*>(
        &::openconfig::openconfig_acl::_Acl_State_default_instance_);
  }
  inline ::openconfig::openconfig_acl::Acl_State* Acl::release_state() {
    // @@protoc_insertion_point(field_release:openconfig.openconfig_acl.Acl.state)
    
    ::openconfig::openconfig_acl::Acl_State* temp = state_;
    state_ = NULL;
    return temp;
  }
  inline ::openconfig::openconfig_acl::Acl_State* Acl::mutable_state() {
    
    if (state_ == NULL) {
      state_ = new ::openconfig::openconfig_acl::Acl_State;
    }
    // @@protoc_insertion_point(field_mutable:openconfig.openconfig_acl.Acl.state)
    return state_;
  }
  inline void Acl::set_allocated_state(::openconfig::openconfig_acl::Acl_State* state) {
    ::google::protobuf::Arena* message_arena = GetArenaNoVirtual();
    if (message_arena == NULL) {
      delete state_;
    }
    if (state) {
      ::google::protobuf::Arena* submessage_arena = NULL;
      if (message_arena != submessage_arena) {
        state = ::google::protobuf::internal::GetOwnedMessage(
            message_arena, state, submessage_arena);
      }
      
    } else {
      
    }
    state_ = state;
    // @@protoc_insertion_point(field_set_allocated:openconfig.openconfig_acl.Acl.state)
  }
  
  #ifdef __GNUC__
    #pragma GCC diagnostic pop
  #endif  // __GNUC__
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  // -------------------------------------------------------------------
  
  
  // @@protoc_insertion_point(namespace_scope)
  
  }  // namespace openconfig_acl
  }  // namespace openconfig
  
  namespace google {
  namespace protobuf {
  
  template <> struct is_proto_enum< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort> : ::google::protobuf::internal::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort>() {
    return ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_DestinationPort_descriptor();
  }
  template <> struct is_proto_enum< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort> : ::google::protobuf::internal::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort>() {
    return ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_Config_SourcePort_descriptor();
  }
  template <> struct is_proto_enum< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort> : ::google::protobuf::internal::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort>() {
    return ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_DestinationPort_descriptor();
  }
  template <> struct is_proto_enum< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort> : ::google::protobuf::internal::true_type {};
  template <>
  inline const EnumDescriptor* GetEnumDescriptor< ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort>() {
    return ::openconfig::openconfig_acl::Acl_AclSets_AclSet_AclEntries_AclEntry_Transport_State_SourcePort_descriptor();
  }
  
  }  // namespace protobuf
  }  // namespace google
  
  // @@protoc_insertion_point(global_scope)
  
  #endif  // PROTOBUF_openconfig_2fopenconfig_5facl_2fopenconfig_5facl_2eproto__INCLUDED
  