+
    LV-js  ã                   ób   € . ROt ^ RIt^ RIt^RIHt ^RIHt R	R ltR
R lt	R
R lt
RR lt]tR# )ÚparentN)Ú_proxy_helper)Ú_locate_objectc                óP   € ^p\        WW24      pVP                  4       pWPJ d   R# V# )al  
>>> listiter = iter([4,5,6,7])
>>> obj = parent(listiter, list)
>>> obj == [4,5,6,7]  # actually 'is', but don't have handle any longer
True

NOTE: objtype can be a single type (e.g. int or list) or a tuple of types.

WARNING: if obj is a sequence (e.g. list), may produce unexpected results.
Parent finds *one* parent (e.g. the last member of the sequence).
    N)ÚparentsÚpop)ÚobjÚobjtypeÚignoreÚdepthÚchainr   s   &&&   Ú^/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/dill/pointers.pyr   r      s-   € ð €EÜ�C %Ó0€EØ�Y‰Y‹[€FØƒ}ÙØ€Mó    c                ó    a€ \         P                  pV3R lp\        VR4      '       g   V3MTpR V 4       p\        WWB4      RRR1,          pV# )zêFind the chain of referents for obj. Chain will end with obj.

objtype: an object type or tuple of types to search for
depth: search depth (e.g. depth=2 is 'grandparents')
ignore: an object or tuple of objects to ignore in the search
c                 ó   <€ \        V S4      # ©N©Ú
isinstance©Úxr	   s   &€r   Ú<lambda>Úparents.<locals>.<lambda>-   ó   ø€ œ* Q¨Ô0r   Ú__len__c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   ©Úid©Ú.0r   s   & r   Ú	<genexpr>Úparents.<locals>.<genexpr>0   ó   é € Ð(¡˜#Œb��gˆg£ùó   ‚Néÿÿÿÿ)ÚgcÚget_referentsÚhasattrÚ
find_chain©r   r	   r   r
   Ú	edge_funcÚ	predicater   s   &f&&   r   r   r   %   sN   ø€ ô × Ñ €IÜ0€Iä% f¨i×8Ò8ˆf‰Y¸f€FÙ(¡Ó(€FÜ�s yÓ8¹¸2¸Õ>€Eà€Lr   c                óŽ   a€ \         P                  pV3R lp\        VR4      '       g   V3MTpR V 4       p\        WWBV4      pV# )aî  Find the chain of referrers for obj. Chain will start with obj.

objtype: an object type or tuple of types to search for
depth: search depth (e.g. depth=2 is 'grandchildren')
ignore: an object or tuple of objects to ignore in the search

NOTE: a common thing to ignore is all globals, 'ignore=(globals(),)'

NOTE: repeated calls may yield different results, as python stores
the last value in the special variable '_'; thus, it is often good
to execute something to replace '_' (e.g. >>> 1+1).
c                 ó   <€ \        V S4      # r   r   r   s   &€r   r   Úchildren.<locals>.<lambda>D   r   r   r   c              3   ó8   "  € T F  p\        V4      x € K  	  R # 5ir   r   r   s   & r   r   Úchildren.<locals>.<genexpr>G   r!   r"   )r$   Úget_referrersr&   r'   r(   s   &f&&   r   Úchildrenr1   6   sG   ø€ ô × Ñ €IÜ0€Iä% f¨i×8Ò8ˆf‰Y¸f€FÙ(¡Ó(€FÜ�s y¸Ó@€Eà€Lr   c                 óD  € V .p\        V 4      ^ /p\        V 4      R/p\        V4      pVP                  \        V4      4       VP                  \        V4      4       VP                  \        V4      4       VP                  \        V4      4       VP                  \        V4      4       VP                  \        \        P                  ! 4       4      4       VP                  \        \        P                  ! ^4      4      4       \
        P                  ! 4        V'       dý   VP                  ^ 4      p	V! V	4      '       d?   V	.p
V\        V	4      ,          e&   V\        V	4      ,          p	V
P                  V	4       K9  V
# V\        V	4      ,          pW³8  g   K  V! V	4      pVP                  \        V4      4       V FZ  p\        V4      V9   d   K  \        V4      V9  g   K'  V^,           V\        V4      &   W—\        V4      &   VP                  V4       K\  	  EK  V .# )é    N)	r   ÚsetÚaddÚsysÚ	_getframer$   Úcollectr   Úappend)r   r*   r)   Ú	max_depthÚextra_ignoreÚqueuer   r   r
   Útargetr   ÚtdepthÚ	referrersÚsources   &&&&&         r   r'   r'   S   sŽ  € ØˆE€EÜ�‹W�aˆL€EÜ�‹g�tˆ_€FÜ�Ó€FØ
‡J�JŒr�,ÓÔ Ø
‡J�JŒr�%‹yÔØ
‡J�JŒr�%‹yÔØ
‡J�JŒr�&‹zÔØ
‡J�JŒr�&‹zÔØ
‡J�JŒr”#—-’-“/Ó"Ô#Ø
‡J�JŒr”#—-’- Ó"Ó#Ô$Ü‡J‚J„Lß
Ø—‘˜1“ˆÙ�V×ÒØ�HˆEØœ˜F›Õ$Ò0Ø¤ 6£
Õ+�Ø—‘˜VÖ$ØˆLØ”r˜&“zÕ"ˆØÖÙ! &Ó)ˆIØ�J‰J”r˜)“}Ô%Û#�Ü�f“: Ô'ÙÜ�f“: UÖ*Ø(.°­
�Eœ"˜V›*Ñ%Ø)/œ2˜f›:Ñ&Ø—L‘L Ö(ô $ð ˆ5€Lr   )r   Ú	referenceÚatr   r1   )© )é   rC   )é   rC   )Ú__all__r$   r6   Ú_dillr   rA   r   rB   r   r   r1   r'   Ú	refobjectrC   r   r   Ú<module>rI      s4   ðò ?€ã 	Û 
å -Ý 'ôô(ô"ô: ðH ‚	r   