§
    øÛg³	  ã                   ó~   — d dl Z d dlZeZe j                             dd¦  «        Z G d„ dej        ¦  «        Zdd„Z	dS )	é    NÚreprÚreprlibc                   ó*   — e Zd ZdZd„ Zd„ Zd„ Zd„ ZdS )ÚSafeReprz‹ subclass of repr.Repr that limits the resulting size of repr()
        and includes information on exceptions raised during the call.
    c                 óN   — |                       t          j        j        | |¦  «        S ©N)Ú_callhelperr   ÚReprr   )ÚselfÚxs     úE/granary/edev/quantum/lib/python3.11/site-packages/py/_io/saferepr.pyr   zSafeRepr.repr   s   € Ø×Ò¥¤Ô 1°4¸Ñ;Ô;Ð;ó    c                 ó„  — d„ } ||d | j         …         ¦  «        }t          |¦  «        | j         k    rŒt          d| j         dz
  dz  ¦  «        }t          d| j         dz
  |z
  ¦  «        } ||d |…         |t          |¦  «        |z
  d …         z   ¦  «        }|d |…         dz   |t          |¦  «        |z
  d …         z   }|S )Nc                 ó  — d| vr"t           j                             d¦  «        | z  S d| vr"t           j                             d¦  «        | z  S t           j                             d¦  «        |                      dd¦  «        z  S )Nú'z'%s'ú"z"%s"z\')ÚpyÚbuiltinÚ_totextÚreplace)Úus    r   r   z#SafeRepr.repr_unicode.<locals>.repr   ss   € Ø˜!ˆ|ˆ|Ý”z×)Ò)¨&Ñ1Ô1°AÑ5Ð5Ø˜A��Ý”z×)Ò)¨&Ñ1Ô1°AÑ5Ð5å”z×)Ò)¨&Ñ1Ô1°A·I²I¸cÀ5Ñ4IÔ4IÑIÐIr   r   é   é   ú...)Ú	maxstringÚlenÚmax)r   r   Úlevelr   ÚsÚiÚjs          r   Úrepr_unicodezSafeRepr.repr_unicode   sÔ   € ð	Jð 	Jð 	Jð ˆD��?�D”N�?Ô#Ñ$Ô$ˆÝˆq‰6Œ6�D”NÒ"Ð"Ý�A˜œ qÑ(¨1Ñ,Ñ-Ô-ˆAÝ�A�t”~ aÑ'¨Ñ)Ñ*Ô*ˆAØ��Q�r˜�r”U˜Q�s 1™vœv a™x˜y˜yœ\Ñ)Ñ*Ô*ˆAØ�"�1�"”˜‘ ¥# a¡&¤&¨¡( ) )¤Ñ,ˆAØˆr   c                 ó8   — |                       t          |¦  «        S r   )r	   Úbuiltin_repr)r   r   r   s      r   Úrepr_instancezSafeRepr.repr_instance    s   € Ø×Ò¥¨aÑ0Ô0Ð0r   c                 ó(  — 	  ||g|¢R Ž }t          |¦  «        | j        k    r^t          d| j        dz
  dz  ¦  «        }t          d| j        dz
  |z
  ¦  «        }|d |…         dz   |t          |¦  «        |z
  d …         z   }|S # t          j        j        $ r ‚  t          j        ¦   «         \  }}}	t          |dd¦  «        }
	 t          |¦  «        }n# t          j        j        $ r ‚  d}Y nxY wd|
||j
        j        t          |¦  «        fz  cY S xY w)Nr   r   r   r   Ú__name__Úunknownz/<[%s("%s") raised in repr()] %s object at 0x%x>)r   Úmaxsizer   r   r   Ú_sysexÚsysÚexc_infoÚgetattrÚstrÚ	__class__r'   Úid)r   Úcallr   Úargsr   r    r!   ÚclsÚeÚtbÚexc_namer,   s               r   r	   zSafeRepr._callhelper#   sL  € ð	à��Q�˜���ˆAõ �1‰vŒv˜œÒ$Ð$Ý˜˜DœL¨™N¨QÑ.Ñ/Ô/�Ý˜˜4œ<¨™>¨!Ñ+Ñ,Ô,�Ø�b�q�b”E˜E‘M A¥c¨!¡f¤f¨Q¡h i i¤LÑ0�ØˆHøõ% ŒzÔ ð 	ð 	ð 	Øð
	AÝœ™œ‰JˆC��BÝ˜s J°	Ñ:Ô:ˆHð%Ý˜q™6œ6��øÝ”:Ô$ð ð ð Øð%Ø$���øøøØDØ˜( A¤KÔ$8½"¸Q¹%¼%ðHAñ Að Að Að Aøøøs#   ‚	B Â>DÃCÃDÃC,Ã*%DN)r'   Ú
__module__Ú__qualname__Ú__doc__r   r"   r%   r	   © r   r   r   r      sZ   € € € € € ðð ð<ð <ð <ðð ð ð"1ð 1ð 1ðð ð ð ð r   r   éð   c                 ór   — t          ¦   «         }||_        ||_        d|_        |                     | ¦  «        S )aP   return a size-limited safe repr-string for the given object.
    Failing __repr__ functions of user instances will be represented
    with a short exception info and 'saferepr' generally takes
    care to never raise exceptions itself.  This function is a wrapper
    around the Repr/reprlib functionality of the standard 2.6 lib.
    é    )r   r   r)   Úmaxotherr   )Úobjr)   Úsreprs      r   ÚsafereprrA   ;   s2   € õ ‰JŒJ€EØ€E„OØ€E„MØ€E„NØ�:Š:�c‰?Œ?Ðr   )r;   )
r   r+   r   r$   r   Ú
_tryimportr   r
   r   rA   r:   r   r   ú<module>rC      s~   ðØ 	€	€	€	Ø 
€
€
€
à€à
Œ*×
Ò
 ¨	Ñ
2Ô
2€ð1ð 1ð 1ð 1ð 1ˆwŒ|ñ 1ô 1ð 1ðfð ð ð ð ð r   