+
    ~j2                         ^ RI t ^ RIt^ RIHt ^ RIHtHt ^ RIHt ^ RI	H
t
 R tR t ! R R	]4      t]
! R
4       ! R R]4      4       tR# )    N)deque)MutableMappingSequence)Optional)
deprecatedc                    \         P                   P                  V R,          \         P                  P                  R7      pVP	                  R4      # )z*Get an ISO 8601 string from time_ns value.g    eA)tzz%Y-%m-%dT%H:%M:%S.%fZ)datetimefromtimestamptimezoneutcstrftime)nanosecondstss   & t/Users/mitch_tango/dev/rabbit-r1-livekit/agent/.venv/lib/python3.14/site-packages/opentelemetry/sdk/util/__init__.pyns_to_iso_strr      sE    				(	(ch//33 
) 
B ;;.//    c           	     \    \        \        \        R V P                  4       4      4      4      # )z*Converts a dict to be used as a unique keyc                 v    \        V ^,          \        4      '       d   V ^ ,          \        V ^,          4      3# T # )   )
isinstancelisttuple)kvs   &r   <lambda>!get_dict_as_key.<locals>.<lambda>%   s.    -71t-D-DRUE"Q%L)L"Lr   )r   sortedmapitems)labelss   &r   get_dict_as_keyr!       s/     		
	 	r   c                   j   a  ] tR t^.t o RtV 3R lR ltR tR tR tR t	R t
R	 t]R
 4       tRtV tR# )BoundedListzAn append only list with a fixed max size.

Calls to `append` and `extend` will drop the oldest elements if there is
not enough room.
c                0   < V ^8  d   QhRS[ S[,          /#    maxlenr   int)format__classdict__s   "r   __annotate__BoundedList.__annotate__5   s     & &x} &r   c                j    ^ V n         \        VR7      V n        \        P                  ! 4       V n        R# )r   )r'   N)droppedr   _dq	threadingLock_lockselfr'   s   &&r   __init__BoundedList.__init__5   s#    '^^%
r   c                    \        V 4      P                   R \        V P                  4       RV P                  P                   R2# (z	, maxlen=))type__name__r   r0   r'   r5   s   &r   __repr__BoundedList.__repr__:   s9    t*%%&aTXX'7y@QQRSSr   c                (    V P                   V,          # N)r0   )r5   indexs   &&r   __getitem__BoundedList.__getitem__=   s    xxr   c                ,    \        V P                  4      # rB   )lenr0   r>   s   &r   __len__BoundedList.__len__@   s    488}r   c                    V P                   ;_uu_ 4        \        \        V P                  4      4      uuR R R 4       #   + '       g   i     R # ; irB   )r3   iterr   r0   r>   s   &r   __iter__BoundedList.__iter__C   s'    ZZZdhh( ZZZs	   >A	c                \   V P                   ;_uu_ 4        V P                  P                  eH   \        V P                  4      V P                  P                  8X  d   V ;P                  ^,          un        V P                  P                  V4       R R R 4       R #   + '       g   i     R # ; irB   )r3   r0   r'   rG   r/   append)r5   items   &&r   rO   BoundedList.appendG   s[    ZZZ+MTXX__4!HHOOD! ZZZs   A;BB+	c                   V P                   ;_uu_ 4        V P                  P                  ea   \        V4      \        V P                  4      ,           V P                  P                  ,
          pV^ 8  d   V ;P                  V,          un        V P                  P                  V4       R R R 4       R #   + '       g   i     R # ; irB   )r3   r0   r'   rG   r/   extend)r5   seqto_drops   && r   rS   BoundedList.extendP   sm    ZZZxx*c(S]2TXX__DQ;LLG+LHHOOC  ZZZs   BB33C	c                N    \        V4      pV ! V4      pVP                  V4       V# rB   )r   rS   )clsr'   rT   bounded_lists   &&& r   from_seqBoundedList.from_seqX   s(    Cj6{C r   )r0   r3   r/   N)r=   
__module____qualname____firstlineno____doc__r6   r?   rD   rH   rL   rO   rS   classmethodrZ   __static_attributes____classdictcell__r+   s   @r   r#   r#   .   sG     & &
T)"!  r   r#   zDeprecated since version 1.4.0.c                   j   a  ] tR t^`t o RtV 3R lR ltR tR tR tR t	R t
R	 t]R
 4       tRtV tR# )BoundedDictzzAn ordered dict with a fixed max capacity.

Oldest elements are dropped when the dict is full and a new element is
added.
c                0   < V ^8  d   QhRS[ S[,          /# r%   r(   )r*   r+   s   "r   r,   BoundedDict.__annotate__h   s     	& 	&x} 	&r   c                    Ve*   \        V\        4      '       g   \        hV^ 8  d   \        hWn        ^ V n        / V n        \        P                  ! 4       V n        R # rB   )	r   r)   
ValueErrorr'   r/   _dictr1   r2   r3   r4   s   &&r   r6   BoundedDict.__init__h   sI    fc**  z  
^^%
r   c                x    \        V 4      P                   R \        V P                  4       RV P                   R2# r9   )r<   r=   dictrj   r'   r>   s   &r   r?   BoundedDict.__repr__s   s6    Dz""#1T$**%5$6i}AN	
r   c                (    V P                   V,          # rB   rj   r5   keys   &&r   rD   BoundedDict.__getitem__x   s    zz#r   c           	     J   V P                   ;_uu_ 4        V P                  e6   V P                  ^ 8X  d%   V ;P                  ^,          un         R R R 4       R # WP                  9   d   V P                  V MV P                  eu   \	        V P                  4      V P                  8X  dQ   V P                  \        \        V P                  P                  4       4      4       V ;P                  ^,          un        W P                  V&   R R R 4       R #   + '       g   i     R # ; irB   )r3   r'   r/   rj   rG   nextrK   keys)r5   rr   values   &&&r   __setitem__BoundedDict.__setitem__{   s    ZZZ{{&4;;!+;! Z
 jj JJsO(S_-KJJtD):$;<=!#JJsO ZZZs   :DB.DD"	c                     V P                   V R # rB   rp   rq   s   &&r   __delitem__BoundedDict.__delitem__   s    JJsOr   c                    V P                   ;_uu_ 4        \        V P                  P                  4       4      uuR R R 4       #   + '       g   i     R # ; irB   )r3   rK   rj   copyr>   s   &r   rL   BoundedDict.__iter__   s*    ZZZ

)* ZZZs   #AA	c                ,    \        V P                  4      # rB   )rG   rj   r>   s   &r   rH   BoundedDict.__len__   s    4::r   c                f    \        V4      pV ! V4      pVP                  4        F	  w  rEWSV&   K  	  V# rB   )rm   r   )rX   r'   mappingbounded_dictrr   rw   s   &&&   r   from_mapBoundedDict.from_map   s4    w-6{!--/JC % *r   )rj   r3   r/   r'   N)r=   r\   r]   r^   r_   r6   r?   rD   rx   r{   rL   rH   r`   r   ra   rb   rc   s   @r   re   re   `   sF     	& 	&

$+  r   re   )r
   r1   collectionsr   collections.abcr   r   typingr   typing_extensionsr   r   r!   r#   re    r   r   <module>r      sQ       4  (0/( /d -.7. 7 /7r   