
    F\h                         S SK r S SKrS SKJr  S SKJrJr  Sr\S-  rS r " S S\ R                  5      r
 " S	 S
\ R                  5      rSrSrSr " S S5      rg)    N)RLock)sleeptimei     c                    [         R                  (       a  g [        U 5      q[	        US[         R
                  R                  5       5      [         l        [	        US[         R                  R                  5       5      [         l        g )Nzpython.stdoutzpython.stderr)sys
executableLogcatlogcatTextLogStreamstdoutfilenostderr)android_log_writestdout_priostderr_prios      '/usr/lib/python3.13/_android_support.pyinit_streamsr      sY    
~~ %&F_cjj&7&7&9;CJ_cjj&7&7&9;CJ    c                   T   ^  \ rS rSrS	U 4S jjrS rS rS rS r\	S 5       r
SrU =r$ )
r   '   c                    > UR                  SS5        UR                  SS5        [        TU ]  " [        XU5      40 UD6  [	        5       U l        / U l        SU l        g )NencodingzUTF-8errorsbackslashreplacer   )
setdefaultsuper__init__BinaryLogStreamr   _lock_pending_bytes_pending_bytes_count)selfpriotagr   kwargs	__class__s        r   r   TextLogStream.__init__(   sX     	*g.($67F;FvFW
 $%!r   c                 8    SU R                   R                  < S3$ )Nz<TextLogStream >)bufferr%   r#   s    r   __repr__TextLogStream.__repr__4   s      3155r   c                    [        U[        5      (       d!  [        S[        U5      R                   35      e[        R                  U5      nU R                     UR                  SS9 H8  nU(       d  M  US [         nU[        S  nU R                  U5        U(       a  M,  M:     S S S 5        [        U5      $ ! , (       d  f       N= f)Nz"write() argument must be str, not T)keepends)
isinstancestr	TypeErrortype__name____str__r    
splitlinesMAX_CHARS_PER_WRITE_write_chunklen)r#   slinechunks       r   writeTextLogStream.write7   s    !S!!4T!W5E5E4FGI I
 KKN
 ZZd3d !5"56E 3 45D%%e, d 4  1v Zs   B74*B7 B77
Cc                    UR                  U R                  U R                  5      nU R                  [	        U5      -   [
        :  a  U R                  5         U R                  R                  U5        U =R                  [	        U5      -  sl        U R                  (       d*  UR                  S5      (       d  U R                  [
        :  a  U R                  5         g g )N   
)encoder   r   r"   r:   MAX_BYTES_PER_WRITEflushr!   appendwrite_throughendswith)r#   r;   bs      r   r9   TextLogStream._write_chunkN   s    HHT]]DKK0$$s1v-0CCJJL""1%!!SV+!zz%  ((+>>JJL ?r   c                     U R                      U R                  R                  SR                  U R                  5      5        U R                  R                  5         SU l        S S S 5        g ! , (       d  f       g = f)Nr   r   )r    r+   r>   joinr!   clearr"   r,   s    r   rD   TextLogStream.flush\   sN    ZZKKchht':':;<%%'()D% ZZs   AA,,
A:c                     gNT r,   s    r   line_bufferingTextLogStream.line_bufferingd   s    r   )r    r!   r"   N)r5   
__module____qualname____firstlineno__r   r-   r>   r9   rD   propertyrQ   __static_attributes____classcell__)r'   s   @r   r   r   '   s0    
&6.*  r   r   c                   6    \ rS rSrS	S jrS rS rS rS rSr	g)
r   i   Nc                 (    Xl         X l        X0l        g rS   )r$   r%   _fileno)r#   r$   r%   r   s       r   r   BinaryLogStream.__init__j   s    	r   c                 $    SU R                   < S3$ )Nz<BinaryLogStream r*   )r%   r,   s    r   r-   BinaryLogStream.__repr__o   s    "488,a00r   c                     grO   rP   r,   s    r   writableBinaryLogStream.writabler   s    r   c                 *   [        U5      [        La   [        [        U5      5      nU(       a+  [
        R                  U R                  U R                  U5        [        U5      $ ! [         a#    [        S[        U5      R                   35      S ef = f)Nz)write() argument must be bytes-like, not )
r4   bytes
memoryviewr3   r5   r   r>   r$   r%   r:   )r#   rH   s     r   r>   BinaryLogStream.writeu   s}    7%*Q-( LLDHHa01v  ?Q@P@P?QRs   A% %-Bc                 `    U R                   c  [        R                  " S5      eU R                   $ )Nr   )r]   ioUnsupportedOperationr,   s    r   r   BinaryLogStream.fileno   s'    <<))(33||r   )r]   r$   r%   rS   )
r5   rT   rU   rV   r   r-   rb   r>   r   rX   rP   r   r   r   r   i   s    
1r   r   i   i      c                        \ rS rSrS rS rSrg)r
      c                 Z    Xl         [        5       U l        SU l        [	        5       U l        g )Nr   )r   r   r    _bucket_levelr   _prev_write_time)r#   r   s     r   r   Logcat.__init__   s#    !2W
 $r   c                    UR                  SS5      nU R                     [        5       nU =R                  X@R                  -
  [
        -  -  sl        [        S[        U R                  [        5      5      U l        X@l        U =R                  [        [        U5      -   [        U5      -   -  sl        U R                  S:  a  [        U R                  * [
        -  5        U R                  XU5        S S S 5        g ! , (       d  f       g = f)N    s   r   )replacer    r   rp   rq   MAX_BYTES_PER_SECONDmaxminBUCKET_SIZEPER_MESSAGE_OVERHEADr:   r   r   )r#   r$   r%   messagenows        r   r>   Logcat.write   s     //';7ZZ&C,,,0DDF
 "%QD,>,>(L!MD$'!"6S"ACL"PP!!A%t))),@@A""4g6 ZZs   CC::
D)rp   r    rq   r   N)r5   rT   rU   rV   r   r>   rX   rP   r   r   r
   r
      s    '7r   r
   )ri   r   	threadingr   r   r   rC   r8   r   TextIOWrapperr   	RawIOBaser   rv   ry   rz   r
   rP   r   r   <module>r      sp    	 
     *Q. 
;?B$$ ?Dbll L #    7 7r   