Ë
    qPhš	  ã                   óà   — d dl mZmZmZmZ d dlmZ erddlmZ d„ Z	edee
   dee
   dee
   d	ee   d
ed   f
d„«       Zdddddœdee
   dee
   dee
   deee
ee
eeef   f      d
ed   f
d„Zy)é    )ÚOptionalÚUnionÚMappingÚTYPE_CHECKING)Ú	lru_cacheé   ©ÚOpenTelemetryTracerc                  ó2   — 	 ddl m}  | S # t        $ r Y y w xY w)Nr   r	   )Útracing.opentelemetryr
   ÚImportErrorr	   s    úh/var/www/dev.core.comfenalco.cic-ware.com/crm/lib/python3.12/site-packages/azure/core/instrumentation.pyÚ_get_tracer_implr      s"   € ðÝ>à"Ð"øÜò Ùðús   ‚
 Š	•Úlibrary_nameÚlibrary_versionÚ
schema_urlÚattributes_keyÚreturnr
   c                 óR   — t        «       }|r|rt        |«      nd } || |||¬«      S y )N©r   r   r   Ú
attributes)r   Údict)r   r   r   r   Útracer_implr   s         r   Ú_get_tracer_cachedr      s;   € ô #Ó$€KÙá-;”T˜.Ô)Àˆ
ÙØ%Ø+Ø!Ø!ô	
ð 	
ð ó    Nr   r   c                 óX   — |rt        |j                  «       «      nd}t        | |||«      S )a`  Get the OpenTelemetry tracer instance if available.

    If OpenTelemetry is not available, this method will return None. This method caches
    the tracer instance for each unique set of parameters.

    :keyword library_name: The name of the library to use in the tracer.
    :paramtype library_name: str
    :keyword library_version: The version of the library to use in the tracer.
    :paramtype library_version: str
    :keyword schema_url: Specifies the Schema URL of the emitted spans. Defaults to
        "https://opentelemetry.io/schemas/1.23.1".
    :paramtype schema_url: str
    :keyword attributes: Attributes to add to the emitted spans.
    :paramtype attributes: Mapping[str, Union[str, bool, int, float]]
    :return: The OpenTelemetry tracer instance if available.
    :rtype: Optional[~azure.core.tracing.opentelemetry.OpenTelemetryTracer]
    N)Ú	frozensetÚitemsr   )r   r   r   r   r   s        r   Ú
get_tracerr   *   s-   € ñ0 7A”Y˜z×/Ñ/Ó1Ô2Àd€NÜ˜l¨O¸ZÈÓXÐXr   )Útypingr   r   r   r   Ú	functoolsr   r   r
   r   Ústrr   r   ÚboolÚintÚfloatr   © r   r   ú<module>r'      sì   ð÷
 ;Ó :Ý áÝ:òð ðØ˜3‘-ðà˜c‘]ðð ˜‘ðð ˜YÑ'ð	ð
 Ð#Ñ$òó ðð* #'Ø%)Ø $ØGKòYà˜3‘-ðYð ˜c‘]ðYð ˜‘ð	Yð
 ˜  e¨C°°s¸EÐ,AÑ&BÐ!BÑCÑDðYð Ð#Ñ$ôYr   