- Remove PVC volume mount from k8s/deployment.yaml - Delete k8s/mib-pvc.yaml (no longer needed) - Update .gitignore to commit MIB files to git - Add mix import_mibs task to copy MIBs from LibreNMS - Add all MIB files from priv/mibs/ to git This fixes the multi-attach volume error in Kubernetes where new pods couldn't start because the RWO (ReadWriteOnce) PVC was attached to the old pod. MIBs are now part of the Docker image and can be used by all pods simultaneously.
626 lines
20 KiB
Text
626 lines
20 KiB
Text
NETWORK-SERVICES-MIB DEFINITIONS ::= BEGIN
|
|
|
|
IMPORTS
|
|
OBJECT-TYPE, Counter32, Gauge32, MODULE-IDENTITY, mib-2
|
|
FROM SNMPv2-SMI
|
|
TimeStamp, TEXTUAL-CONVENTION
|
|
FROM SNMPv2-TC
|
|
MODULE-COMPLIANCE, OBJECT-GROUP
|
|
FROM SNMPv2-CONF
|
|
SnmpAdminString
|
|
FROM SNMP-FRAMEWORK-MIB;
|
|
|
|
application MODULE-IDENTITY
|
|
LAST-UPDATED "200003030000Z"
|
|
ORGANIZATION "IETF Mail and Directory Management Working Group"
|
|
|
|
CONTACT-INFO
|
|
" Ned Freed
|
|
|
|
Postal: Innosoft International, Inc.
|
|
1050 Lakes Drive
|
|
West Covina, CA 91790
|
|
US
|
|
|
|
Tel: +1 626 919 3600
|
|
Fax: +1 626 919 3614
|
|
|
|
E-Mail: ned.freed@innosoft.com"
|
|
DESCRIPTION
|
|
"The MIB module describing network service applications"
|
|
REVISION "200003030000Z"
|
|
DESCRIPTION
|
|
"This revision, published in RFC 2788, changes a number of
|
|
DisplayStrings to SnmpAdminStrings. Note that this change
|
|
is not strictly supported by SMIv2. However, the alternative
|
|
of deprecating the old objects and defining new objects
|
|
would have a more adverse impact on backward compatibility
|
|
and interoperability, given the particular semantics of
|
|
these objects. The defining reference for distinguished
|
|
names has also been updated from RFC 1779 to RFC 2253."
|
|
REVISION "199905120000Z"
|
|
DESCRIPTION
|
|
"This revision fixes a few small technical problems found
|
|
in previous versions, mostly in regards to the conformance
|
|
groups for different versions of this MIB. No changes have
|
|
been made to the objects this MIB defines since RFC 2248."
|
|
REVISION "199708170000Z"
|
|
DESCRIPTION
|
|
"This revision, published in RFC 2248, adds the
|
|
applDescription and applURL objects, adds the quiescing
|
|
state to the applOperStatus object and renames the MIB
|
|
from the APPLICATION-MIB to the NETWORK-SERVICE-MIB."
|
|
REVISION "199311280000Z"
|
|
DESCRIPTION
|
|
"The original version of this MIB was published in RFC 1565"
|
|
::= {mib-2 27}
|
|
|
|
-- Textual conventions
|
|
|
|
-- DistinguishedName is used to refer to objects in the
|
|
-- directory.
|
|
|
|
DistinguishedName ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "255a"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Distinguished Name represented in accordance with
|
|
RFC 2253, presented in the UTF-8 charset defined in
|
|
RFC 2279."
|
|
SYNTAX OCTET STRING (SIZE (0..255))
|
|
|
|
-- Uniform Resource Locators are stored in URLStrings.
|
|
|
|
URLString ::= TEXTUAL-CONVENTION
|
|
DISPLAY-HINT "255a"
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A Uniform Resource Locator represented in accordance
|
|
with RFCs 1738 and 2368, presented in the NVT ASCII
|
|
charset defined in RFC 854."
|
|
SYNTAX OCTET STRING (SIZE (0..255))
|
|
|
|
-- The basic applTable contains a list of the application
|
|
-- entities.
|
|
|
|
applTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF ApplEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The table holding objects which apply to all different
|
|
kinds of applications providing network services.
|
|
Each network service application capable of being
|
|
monitored should have a single entry in this table."
|
|
::= {application 1}
|
|
|
|
applEntry OBJECT-TYPE
|
|
SYNTAX ApplEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry associated with a single network service
|
|
application."
|
|
INDEX {applIndex}
|
|
::= {applTable 1}
|
|
|
|
ApplEntry ::= SEQUENCE {
|
|
applIndex
|
|
INTEGER,
|
|
applName
|
|
SnmpAdminString,
|
|
applDirectoryName
|
|
|
|
DistinguishedName,
|
|
applVersion
|
|
SnmpAdminString,
|
|
applUptime
|
|
TimeStamp,
|
|
applOperStatus
|
|
INTEGER,
|
|
applLastChange
|
|
TimeStamp,
|
|
applInboundAssociations
|
|
Gauge32,
|
|
applOutboundAssociations
|
|
Gauge32,
|
|
applAccumulatedInboundAssociations
|
|
Counter32,
|
|
applAccumulatedOutboundAssociations
|
|
Counter32,
|
|
applLastInboundActivity
|
|
TimeStamp,
|
|
applLastOutboundActivity
|
|
TimeStamp,
|
|
applRejectedInboundAssociations
|
|
Counter32,
|
|
applFailedOutboundAssociations
|
|
Counter32,
|
|
applDescription
|
|
SnmpAdminString,
|
|
applURL
|
|
URLString
|
|
}
|
|
|
|
applIndex OBJECT-TYPE
|
|
SYNTAX INTEGER (1..2147483647)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An index to uniquely identify the network service
|
|
application. This attribute is the index used for
|
|
lexicographic ordering of the table."
|
|
::= {applEntry 1}
|
|
|
|
applName OBJECT-TYPE
|
|
SYNTAX SnmpAdminString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The name the network service application chooses to be
|
|
known by."
|
|
::= {applEntry 2}
|
|
|
|
applDirectoryName OBJECT-TYPE
|
|
SYNTAX DistinguishedName
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The Distinguished Name of the directory entry where
|
|
static information about this application is stored.
|
|
An empty string indicates that no information about
|
|
the application is available in the directory."
|
|
::= {applEntry 3}
|
|
|
|
applVersion OBJECT-TYPE
|
|
SYNTAX SnmpAdminString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The version of network service application software.
|
|
This field is usually defined by the vendor of the
|
|
network service application software."
|
|
::= {applEntry 4}
|
|
applUptime OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time the network service
|
|
application was last initialized. If the application was
|
|
last initialized prior to the last initialization of the
|
|
network management subsystem, then this object contains
|
|
a zero value."
|
|
::= {applEntry 5}
|
|
|
|
applOperStatus OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
up(1),
|
|
down(2),
|
|
halted(3),
|
|
congested(4),
|
|
restarting(5),
|
|
quiescing(6)
|
|
}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"Indicates the operational status of the network service
|
|
application. 'down' indicates that the network service is
|
|
|
|
not available. 'up' indicates that the network service
|
|
is operational and available. 'halted' indicates that the
|
|
service is operational but not available. 'congested'
|
|
indicates that the service is operational but no additional
|
|
inbound associations can be accommodated. 'restarting'
|
|
indicates that the service is currently unavailable but is
|
|
in the process of restarting and will be available soon.
|
|
'quiescing' indicates that service is currently operational
|
|
but is in the process of shutting down. Additional inbound
|
|
associations may be rejected by applications in the
|
|
'quiescing' state."
|
|
::= {applEntry 6}
|
|
|
|
applLastChange OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time the network service
|
|
application entered its current operational state. If
|
|
the current state was entered prior to the last
|
|
initialization of the local network management subsystem,
|
|
then this object contains a zero value."
|
|
::= {applEntry 7}
|
|
|
|
applInboundAssociations OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of current associations to the network service
|
|
application, where it is the responder. An inbound
|
|
association occurs when another application successfully
|
|
connects to this one."
|
|
::= {applEntry 8}
|
|
|
|
applOutboundAssociations OBJECT-TYPE
|
|
SYNTAX Gauge32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The number of current associations to the network service
|
|
application, where it is the initiator. An outbound
|
|
association occurs when this application successfully
|
|
connects to another one."
|
|
::= {applEntry 9}
|
|
|
|
applAccumulatedInboundAssociations OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of associations to the application entity
|
|
since application initialization, where it was the responder."
|
|
::= {applEntry 10}
|
|
|
|
applAccumulatedOutboundAssociations OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of associations to the application entity
|
|
since application initialization, where it was the initiator."
|
|
::= {applEntry 11}
|
|
|
|
applLastInboundActivity OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time this application last
|
|
had an inbound association. If the last association
|
|
occurred prior to the last initialization of the network
|
|
subsystem, then this object contains a zero value."
|
|
::= {applEntry 12}
|
|
|
|
applLastOutboundActivity OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time this application last
|
|
had an outbound association. If the last association
|
|
occurred prior to the last initialization of the network
|
|
subsystem, then this object contains a zero value."
|
|
::= {applEntry 13}
|
|
|
|
applRejectedInboundAssociations OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number of inbound associations the application
|
|
entity has rejected, since application initialization.
|
|
Rejected associations are not counted in the accumulated
|
|
association totals. Note that this only counts
|
|
|
|
associations the application entity has rejected itself;
|
|
it does not count rejections that occur at lower layers
|
|
of the network. Thus, this counter may not reflect the
|
|
true number of failed inbound associations."
|
|
::= {applEntry 14}
|
|
|
|
applFailedOutboundAssociations OBJECT-TYPE
|
|
SYNTAX Counter32
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The total number associations where the application entity
|
|
is initiator and association establishment has failed,
|
|
since application initialization. Failed associations are
|
|
not counted in the accumulated association totals."
|
|
::= {applEntry 15}
|
|
|
|
applDescription OBJECT-TYPE
|
|
SYNTAX SnmpAdminString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A text description of the application. This information
|
|
is intended to identify and briefly describe the
|
|
application in a status display."
|
|
::= {applEntry 16}
|
|
|
|
applURL OBJECT-TYPE
|
|
SYNTAX URLString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A URL pointing to a description of the application.
|
|
This information is intended to identify and describe
|
|
the application in a status display."
|
|
::= {applEntry 17}
|
|
|
|
-- The assocTable augments the information in the applTable
|
|
-- with information about associations. Note that two levels
|
|
-- of compliance are specified below, depending on whether
|
|
-- association monitoring is mandated.
|
|
|
|
assocTable OBJECT-TYPE
|
|
SYNTAX SEQUENCE OF AssocEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The table holding a set of all active application
|
|
|
|
associations."
|
|
::= {application 2}
|
|
|
|
assocEntry OBJECT-TYPE
|
|
SYNTAX AssocEntry
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An entry associated with an association for a network
|
|
service application."
|
|
INDEX {applIndex, assocIndex}
|
|
::= {assocTable 1}
|
|
|
|
AssocEntry ::= SEQUENCE {
|
|
assocIndex
|
|
INTEGER,
|
|
assocRemoteApplication
|
|
SnmpAdminString,
|
|
assocApplicationProtocol
|
|
OBJECT IDENTIFIER,
|
|
assocApplicationType
|
|
INTEGER,
|
|
assocDuration
|
|
TimeStamp
|
|
}
|
|
|
|
assocIndex OBJECT-TYPE
|
|
SYNTAX INTEGER (1..2147483647)
|
|
MAX-ACCESS not-accessible
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An index to uniquely identify each association for a network
|
|
service application. This attribute is the index that is
|
|
used for lexicographic ordering of the table. Note that the
|
|
table is also indexed by the applIndex."
|
|
::= {assocEntry 1}
|
|
|
|
assocRemoteApplication OBJECT-TYPE
|
|
SYNTAX SnmpAdminString
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The name of the system running remote network service
|
|
application. For an IP-based application this should be
|
|
either a domain name or IP address. For an OSI application
|
|
it should be the string encoded distinguished name of the
|
|
managed object. For X.400(1984) MTAs which do not have a
|
|
Distinguished Name, the RFC 2156 syntax 'mta in
|
|
|
|
globalid' used in X400-Received: fields can be used. Note,
|
|
however, that not all connections an MTA makes are
|
|
necessarily to another MTA."
|
|
::= {assocEntry 2}
|
|
|
|
assocApplicationProtocol OBJECT-TYPE
|
|
SYNTAX OBJECT IDENTIFIER
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"An identification of the protocol being used for the
|
|
application. For an OSI Application, this will be the
|
|
Application Context. For Internet applications, OID
|
|
values of the form {applTCPProtoID port} or {applUDPProtoID
|
|
port} are used for TCP-based and UDP-based protocols,
|
|
respectively. In either case 'port' corresponds to the
|
|
primary port number being used by the protocol. The
|
|
usual IANA procedures may be used to register ports for
|
|
new protocols."
|
|
::= {assocEntry 3}
|
|
|
|
assocApplicationType OBJECT-TYPE
|
|
SYNTAX INTEGER {
|
|
uainitiator(1),
|
|
uaresponder(2),
|
|
peerinitiator(3),
|
|
peerresponder(4)}
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"This indicates whether the remote application is some type of
|
|
client making use of this network service (e.g., a Mail User
|
|
Agent) or a server acting as a peer. Also indicated is whether
|
|
the remote end initiated an incoming connection to the network
|
|
service or responded to an outgoing connection made by the
|
|
local application. MTAs and messaging gateways are
|
|
considered to be peers for the purposes of this variable."
|
|
::= {assocEntry 4}
|
|
|
|
assocDuration OBJECT-TYPE
|
|
SYNTAX TimeStamp
|
|
MAX-ACCESS read-only
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The value of sysUpTime at the time this association was
|
|
started. If this association started prior to the last
|
|
initialization of the network subsystem, then this
|
|
object contains a zero value."
|
|
::= {assocEntry 5}
|
|
|
|
-- Conformance information
|
|
|
|
applConformance OBJECT IDENTIFIER ::= {application 3}
|
|
|
|
applGroups OBJECT IDENTIFIER ::= {applConformance 1}
|
|
applCompliances OBJECT IDENTIFIER ::= {applConformance 2}
|
|
|
|
-- Compliance statements
|
|
|
|
applCompliance MODULE-COMPLIANCE
|
|
STATUS obsolete
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 1565 implementations
|
|
which support the Network Services Monitoring MIB
|
|
for basic monitoring of network service applications.
|
|
This is the basic compliance statement for RFC 1565."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC1565Group}
|
|
::= {applCompliances 1}
|
|
|
|
assocCompliance MODULE-COMPLIANCE
|
|
STATUS obsolete
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 1565 implementations
|
|
which support the Network Services Monitoring MIB
|
|
for basic monitoring of network service applications
|
|
and their associations."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC1565Group, assocRFC1565Group}
|
|
::= {applCompliances 2}
|
|
|
|
applRFC2248Compliance MODULE-COMPLIANCE
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 2248 implementations
|
|
which support the Network Services Monitoring MIB
|
|
for basic monitoring of network service applications."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC2248Group}
|
|
::= {applCompliances 3}
|
|
|
|
assocRFC2248Compliance MODULE-COMPLIANCE
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 2248 implementations
|
|
|
|
which support the Network Services Monitoring MIB for
|
|
basic monitoring of network service applications and
|
|
their associations."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC2248Group, assocRFC2248Group}
|
|
::= {applCompliances 4}
|
|
|
|
applRFC2788Compliance MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 2788 implementations
|
|
which support the Network Services Monitoring MIB
|
|
for basic monitoring of network service applications."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC2788Group}
|
|
::= {applCompliances 5}
|
|
|
|
assocRFC2788Compliance MODULE-COMPLIANCE
|
|
STATUS current
|
|
DESCRIPTION
|
|
"The compliance statement for RFC 2788 implementations
|
|
which support the Network Services Monitoring MIB for
|
|
basic monitoring of network service applications and
|
|
their associations."
|
|
MODULE
|
|
MANDATORY-GROUPS {applRFC2788Group, assocRFC2788Group}
|
|
::= {applCompliances 6}
|
|
|
|
-- Units of conformance
|
|
|
|
applRFC1565Group OBJECT-GROUP
|
|
OBJECTS {
|
|
applName, applVersion, applUptime, applOperStatus,
|
|
applLastChange, applInboundAssociations,
|
|
applOutboundAssociations, applAccumulatedInboundAssociations,
|
|
applAccumulatedOutboundAssociations, applLastInboundActivity,
|
|
applLastOutboundActivity, applRejectedInboundAssociations,
|
|
applFailedOutboundAssociations}
|
|
STATUS obsolete
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications. This is the original set
|
|
of such objects defined in RFC 1565."
|
|
::= {applGroups 7}
|
|
|
|
assocRFC1565Group OBJECT-GROUP
|
|
OBJECTS {
|
|
|
|
assocRemoteApplication, assocApplicationProtocol,
|
|
assocApplicationType, assocDuration}
|
|
STATUS obsolete
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications' associations. This is the
|
|
original set of such objects defined in RFC 1565."
|
|
::= {applGroups 2}
|
|
|
|
applRFC2248Group OBJECT-GROUP
|
|
OBJECTS {
|
|
applName, applVersion, applUptime, applOperStatus,
|
|
applLastChange, applInboundAssociations,
|
|
applOutboundAssociations, applAccumulatedInboundAssociations,
|
|
applAccumulatedOutboundAssociations, applLastInboundActivity,
|
|
applLastOutboundActivity, applRejectedInboundAssociations,
|
|
applFailedOutboundAssociations, applDescription, applURL}
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications. This group was originally
|
|
defined in RFC 2248; note that applDirectoryName is
|
|
missing."
|
|
::= {applGroups 3}
|
|
|
|
assocRFC2248Group OBJECT-GROUP
|
|
OBJECTS {
|
|
assocRemoteApplication, assocApplicationProtocol,
|
|
assocApplicationType, assocDuration}
|
|
STATUS deprecated
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications' associations. This group
|
|
was originally defined by RFC 2248."
|
|
::= {applGroups 4}
|
|
|
|
applRFC2788Group OBJECT-GROUP
|
|
OBJECTS {
|
|
applName, applDirectoryName, applVersion, applUptime,
|
|
applOperStatus, applLastChange, applInboundAssociations,
|
|
applOutboundAssociations, applAccumulatedInboundAssociations,
|
|
applAccumulatedOutboundAssociations, applLastInboundActivity,
|
|
applLastOutboundActivity, applRejectedInboundAssociations,
|
|
applFailedOutboundAssociations, applDescription, applURL}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications. This is the appropriate
|
|
|
|
group for RFC 2788 -- it adds the applDirectoryName object
|
|
missing in RFC 2248."
|
|
::= {applGroups 5}
|
|
|
|
assocRFC2788Group OBJECT-GROUP
|
|
OBJECTS {
|
|
assocRemoteApplication, assocApplicationProtocol,
|
|
assocApplicationType, assocDuration}
|
|
STATUS current
|
|
DESCRIPTION
|
|
"A collection of objects providing basic monitoring of
|
|
network service applications' associations. This is
|
|
the appropriate group for RFC 2788."
|
|
::= {applGroups 6}
|
|
|
|
-- OIDs of the form {applTCPProtoID port} are intended to be used
|
|
-- for TCP-based protocols that don't have OIDs assigned by other
|
|
-- means. {applUDPProtoID port} serves the same purpose for
|
|
-- UDP-based protocols. In either case 'port' corresponds to
|
|
-- the primary port number being used by the protocol. For example,
|
|
-- assuming no other OID is assigned for SMTP, an OID of
|
|
-- {applTCPProtoID 25} could be used, since SMTP is a TCP-based
|
|
-- protocol that uses port 25 as its primary port.
|
|
|
|
applTCPProtoID OBJECT IDENTIFIER ::= {application 4}
|
|
applUDPProtoID OBJECT IDENTIFIER ::= {application 5}
|
|
|
|
END
|