�
JDvc�� � � � d Z dZddlmZ ddlmZ ddlmZ g d�Z G d� de� � Z G d � d
e� � Z G d� de � � Z
G d
� de� � Z G d� dee� � Z G d� de� � Z
G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z G d� de� � Z ee� � G d� de� � � � Z G d� d e� � Z G d!� d"e� � Z G d#� d$e� � Z G d%� d&e� � Z G d'� d(e� � Z G d)� d*e� � Z G d+� d,e� � Z G d-� d.e� � Z ee� � G d/� d0e� � � � Z G d1� d2e� � Z ee � � G d3� d4e� � � � Z! G d5� d6e� � Z" ee"� � G d7� d8e� � � � Z# G d9� d:e� � Z$ G d;� d<ee$� � Z%d=S )>zInterface Package Interfaces
�restructuredtext� )� Attribute)� Interface)�implementer)�ComponentLookupError�IAdapterRegistration�IAdapterRegistry�
IAttribute�IComponentLookup�IComponentRegistry�IComponents�IDeclaration�IElement�IHandlerRegistration�
IInterface�IInterfaceDeclaration�IMethod�Invalid�IObjectEvent�IRegistered�
IRegistration�IRegistrationEvent�ISpecification� ISubscriptionAdapterRegistration�
IUnregistered�IUtilityRegistration�ObjectEvent�
Registered�Unregisteredc �p � e Zd ZdZ edd� � Z edd� � Zd� Zdd�Zd � Zd
� Zd� Z dd�Z
d
� ZdS )r a�
Objects that have basic documentation and tagged values.
Known derivatives include :class:`IAttribute` and its derivative
:class:`IMethod`; these have no notion of inheritance.
:class:`IInterface` is also a derivative, and it does have a
notion of inheritance, expressed through its ``__bases__`` and
ordered in its ``__iro__`` (both defined by
:class:`ISpecification`).
�__name__zThe object name�__doc__zThe object doc stringc � � dS )a� Returns the value associated with *tag*.
Raise a `KeyError` if the tag isn't set.
If the object has a notion of inheritance, this searches
through the inheritance hierarchy and returns the nearest result.
If there is no such notion, this looks only at this object.
.. versionchanged:: 4.7.0
This method should respect inheritance if present.
N� ��tags �;/usr/lib/python3/dist-packages/zope/interface/interfaces.py�getTaggedValuezIElement.getTaggedValueW � � � � � Nc � � dS )z�
As for `getTaggedValue`, but instead of raising a `KeyError`, returns *default*.
.. versionchanged:: 4.7.0
This method should respect inheritance if present.
Nr$ �r& |