§
    º¦-eá  ã                  ó|   — d Z ddlmZ ddlZ ej        e¦  «        ZddlmZ ddl	m
Z
mZ dZ G d„ d	e
e¦  «        ZdS )
zO Utilities for specifying, validating, and documenting configuration
options.

é    )ÚannotationsN)ÚAnyé   )ÚHasPropsÚLocal)ÚOptionsc                  ó$   ‡ — e Zd ZdZdˆ fd„Zˆ xZS )r   aR   Leverage the Bokeh properties type system for specifying and
    validating configuration options.

    Subclasses of ``Options`` specify a set of configuration options
    using standard Bokeh properties:

    .. code-block:: python

        class ConnectOpts(Options):

            host = String(default="127.0.0.1", help="a host value")

            port = Int(default=5590, help="a port value")

    Then a ``ConnectOpts`` can be created by passing a dictionary
    containing keys and values corresponding to the configuration options,
    as well as any additional keys and values. The items corresponding
    to the properties on ``ConnectOpts`` will be **removed** from the
    dictionary. This can be useful for functions that accept their own
    set of config keyword arguments in addition to some set of Bokeh model
    properties.

    Úkwúdict[str, Any]ÚreturnÚNonec                ó¤   •— i }|                       ¦   «         D ]}||v r|                     |¦  «        ||<   Œ t          ¦   «         j        di |¤Ž d S )N© )Ú
propertiesÚpopÚsuperÚ__init__)Úselfr
   ÚpropsÚkÚ	__class__s       €ú2lib/python3.11/site-packages/bokeh/util/options.pyr   zOptions.__init__C   sc   ø€ ð !#ˆØ—’Ñ"Ô"ð 	%ð 	%ˆAØBˆwˆwØŸ6š6 !™9œ9a‘øà‰ŒÔÐ!Ð!˜5Ð!Ð!Ð!Ð!Ð!ó    )r
   r   r   r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   Ú__classcell__)r   s   @r   r   r   *   sG   ø€ € € € € ðð ð0"ð "ð "ð "ð "ð "ð "ð "ð "ð "r   r   )r   Ú
__future__r   ÚloggingÚ	getLoggerr   ÚlogÚtypingr   Úcore.has_propsr   r   Ú__all__r   r   r   r   ú<module>r&      s©   ððð ð #Ð "Ð "Ð "Ð "Ð "à €€€Ø€gÔ˜Ñ!Ô!€ð Ð Ð Ð Ð Ð ð -Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,Ð ,ð€ð!"ð !"ð !"ð !"ð !"ˆh˜ñ !"ô !"ð !"ð !"ð !"r   