+
    ij-  c                   s   ^ RI t ^ RIHt ^ RIt^ RIt^ RIt^ RIt^ RIt^RIH	t	H
t
 ^RIHt R.t]P                  R8X  d   ^ RIt ! R R]4      tM$ ! R	 R]4      tR
 tR t]	P(                  ! ]]4        ! R R]4      t ! R R]4      tR# )    N)defaultdict)	reductionassert_spawning)utilBufferWrapperZwin32c                   sT   a  ] tR t^t o ]P
                  ! 4       tR tR tR t	Rt
V tR# )Arenac                s   Wn         \        ^d4       Fx  pR\        P                  ! 4       \	        V P
                  4      3,          p\        P                  ! RWR7      p\        P                  ! 4       ^ 8X  d    MVP                  4        Kz  	  \        R4      hW0n        W@n        V P                   V P                  3V n        R# )id   z	pym-%d-%sZtagnamezCannot find name for new mmapN)sizeZrangeosgetpidZnext_randmmap_winapiZGetLastErrorcloseZFileExistsErrornamebuffer_state)selfr	   ir   Zbuf   &&   -/usr/lib64/python3.14/multiprocessing/heap.py__init__Arena.__init__&   s    I3Z"biik4

3C%DDiiD7'')Q.		   &&EFFIK99dii0DK    c                s0    \        V 4       V P                  # N)r   r   )r      &r   __getstate__ZArena.__getstate__5   s    D!;;r   c                s    V;w  V n         V n        V n        \        P                  ! RV P                   V P                  R7      V n        R# )   r   Nr   )r	   r   r   r   r   )r   Zstate   &&r   __setstate__ZArena.__setstate__9   s3    166 DIty4;))B		499EDKr   )r   r   r   r	   N)__name__
__module____qualname____firstlineno__tempfileZ_RandomNameSequencer   r   r   r   __static_attributes____classdictcell__Z__classdict__   @r   r   r      s+     
 ,,.	1		F 	Fr   r   c                   s^   a  ] tR t^Ct o ]P
                  R8X  d   R.tM. tRR ltR tRt	V t
R# )r   Zlinuxz/dev/shmc                s   Wn         W n        VR8X  d   \        P                  ! R\        P
                  ! 4       ,          V P                  V4      R7      w  V n        p\        P                  ! V4       \        P                  ! V \        P                  V P                  34       \        P                  ! V P                  V4       \        P                  ! V P                  V P                   4      V n        R# )r   zpym-%d-)ZprefixZdirNr   )r	   fdr$   Zmkstempr
   r   _choose_dirZunlinkr   Finalizer   Z	ftruncater   r   )r   r	   r)   r   s   &&& r   r   r   M   s    IGRx !) 0 0%biik1))$/!1 		$dBHHtwwj9TWWd+))DGGTYY7DKr   c                s    V P                    F?  p\        P                  ! V4      pVP                  VP                  ,          V8  g   K=  Vu # 	  \
        P                  ! 4       # r   )_dir_candidatesr
   ZstatvfsZf_bavailZf_frsizer   Zget_temp_dir)r   r	   ZdZst   &&  r   r*   ZArena._choose_dir[   sL     ))ZZ];;,4H * $$&&r   )r   r)   r	   N)r   )r    r!   r"   r#   sysplatformr,   r   r*   r%   r&   r'   r(   r   r   r   C   s.     
 <<7")lO O	8	' 	'r   c                 s    V P                   R8X  d   \        R4      h\        V P                  \        P
                  ! V P                   4      33# )r   zDArena is unpicklable because forking was enabled when it was createdr   )r)   
ValueErrorrebuild_arenar	   r   ZDupFd)Zar   r   reduce_arenar2   d   sC    442: G H Hqvvyqtt'<===r   c                 s4    \        WP                  4       4      # r   )r   Zdetach)r	   Zdupfdr   r   r1   r1   j   s    T<<>**r   c                   s   a  ] tR t^st o ^tRtRt]P                  3R lt	]
R 4       tR tR tR tR tR tR tR	 tR
 tR tRtV tR# )Heapc                s   \         P                  ! 4       V n        \        P                  ! 4       V n        Wn        . V n        / V n        / V n	        / V n
        \        \        4      V n        . V n        . V n        ^ V n        ^ V n        R# )r    N)r
   r   _lastpid	threadingZLock_lock_size_lengths_len_to_seq_start_to_block_stop_to_blockr   Zset_allocated_blocks_arenas_pending_free_blocks
_n_mallocs_n_frees)r   r	   r   r   r   ZHeap.__init__{   sw    		^^%

   " ! "-S!1 %'! r   c                s4    V^,
          pW,           V( ,          # )r    )ZnZ	alignmentZmask   && r   _roundupZHeap._roundup   s     1}TE!!r   c                sV   V P                  \        V P                  V4      \        P                  4      pV P                  V P
                  8  d   V ;P                  ^,          un        \        P                  ! RV4       \        V4      pV P                  P                  V4       V^ V3# )i   z"allocating a new mmap of length %d)rC   maxr7   r   PAGESIZE_DOUBLE_ARENA_SIZE_UNTILr   Zinfor   r=   append)r   r	   lengtharenar-   r   
_new_arenaZHeap._new_arena   sy    s4::t4dmmD ::555JJ!OJ		6?fE"q&!!r   c                s   VP                   pW P                  8  d   R # V P                  P                  V4      pV P                  V^ 3 V P
                  W3 V P                  P                  V4       V P                  V,          pVP                  V^ V34       V'       g+   V P                  V V P                  P                  V4       R # R # r   )
r	   _DISCARD_FREE_SPACE_LARGER_THANr<   popr:   r;   r=   remover9   r8   )r   rI   rH   blocksseqr   r   _discard_arenaZHeap._discard_arena   s     888''++E2  %,0E"v&

E1f%&  (MM  ( r   c                s   \         P                  ! V P                  V4      pV\        V P                  4      8X  d   V P	                  V4      # V P                  V,          pV P
                  V,          pVP                  4       pV'       g   V P
                  V V P                  V Vw  rgpV P                  Wg3 V P                  Wh3 V# r   )	bisectZbisect_leftr8   ZlenrJ   r9   rL   r:   r;   )	r   r	   r   rH   rO   blockrI   startstop	   &&       r   _mallocZHeap._malloc   s    t}}d3DMM""??4((]]1%F""6*CGGIE$$V,dmmA.>$t  %0.r   c                s   Vw  r#p V P                   W#3,          pV P                  V4      w  r6 V P                  W$3,          pV P                  V4      w  rdW#V3pWC,
          p V P                  V,          P                  V4       WP                  W#3&   WP                   W$3&   R #   \         d     Li ; i  \         d     Lmi ; i  \         d5    T.T P                  T&   \        P                  ! T P                  T4        Li ; ir   )	r;   _absorbZKeyErrorr:   r9   rG   rQ   Zinsortr8   )	r   rR   rI   rS   rT   Z
prev_blockZ_Z
next_blockrH   rU   r   _add_free_blockZHeap._add_free_block   s
   $t	0,,e^<J ||J/HE	/--um<J ll:.GAt$	1V$++E2
 05e^,-2UM*-  		  		  	1(-wDV$MM$--0	1s4   B% B6 #"C %B32B36CC<DDc                s   Vw  r#pV P                   W#3 V P                  W$3 WC,
          pV P                  V,          pVP                  V4       V'       g)   V P                  V V P                  P                  V4       W43# r   )r:   r;   r9   rM   r8   )r   rR   rI   rS   rT   rH   rO   s   &&     r   rW   ZHeap._absorb   sz    $t  %0.v&

5  (MM  ({r   c                s    Vw  r#pV P                   V,          pVP                  W434       V'       g   V P                  V4       R # R # r   )r<   rM   rP   )r   rR   rI   rS   rT   rN      &&    r   _remove_allocated_blockZHeap._remove_allocated_block   s@    "d''.um$& r   c                s      V P                   P                  4       pT P                  T4       T P	                  T4       K@    \         d     R# i ; i)TN)r>   rL   Z
IndexErrorrX   rZ   r   rR   s   & r   _free_pending_blocksZHeap._free_pending_blocks  sP    11557   '((/  s   A AAc                sD   \         P                  ! 4       V P                  8w  d9   \        R P	                  \         P                  ! 4       V P                  4      4      hV P
                  P                  R4      '       g   V P                  P                  V4       R#  V ;P                  ^,          un	        V P                  4        V P                  V4       V P                  V4       V P
                  P                  4        R#   T P
                  P                  4        i ; i)z$My pid ({0:n}) is not last pid {1:n}FN)r
   r   r4   r0   formatr6   Zacquirer>   rG   r@   r\   rX   rZ   Zreleaser[   r   r   freeZ	Heap.free  s     99;$--'6==IIK/0 0 zz!!%(( %%,,U3%"))+$$U+,,U3

""$

""$s   AD Dc                s   V^ 8  d   \        RP                  V4      4      h\        P                  V8:  d   \	        RP                  V4      4      h\
        P                  ! 4       V P                  8w  d   V P                  4        V P                  ;_uu_ 4        V ;P                  ^,          un
        V P                  4        V P                  \        V^4      V P                  4      pV P                  V4      w  r#pW1,           pWT8  d   V P!                  W%V34       V P"                  V,          P%                  W534       W#V3uuRRR4       #   + '       g   i     R# ; i)r    Size {0:n} out of rangeSize {0:n} too largeN)r0   r]   r.   maxsizeOverflowErrorr
   r   r4   r   r6   r?   r\   rC   rD   
_alignmentrV   rX   r<   Zadd)r   r	   rI   rS   rT   Z	real_stoprY   r   mallocZHeap.malloc(  s    !86==dCDD;;$ 6 = =d CDD99;$--'MMOZZZOOq O%%'==T1t?D#'<<#5 U4I $$e%=>""5)--u.@A), ZZZs   B+EE 	)r<   r=   r4   r9   r8   r6   r@   r?   r>   r7   r:   r;   Ni  @ )r    r!   r"   r#   rc   rK   rF   r   rE   r   ZstaticmethodrC   rJ   rP   rV   rX   rW   rZ   r\   r^   rd   r%   r&   r'   r(   r   r3   r3   s   sj      J&3#, MM : " "

")$"3<'0%8- -r   r3   c                   s:   a  ] tR tRt o ]! 4       tR tR tRtV t	R# )r   iB  c                sX   V^ 8  d   \        RP                  V4      4      h\        P                  V8:  d   \	        RP                  V4      4      h\
        P                  P                  V4      pW!3V n        \        P                  ! V \
        P                  P                  V3R7       R# )r    r_   r`   )ZargsN)r0   r]   r.   ra   rb   r   _heaprd   r   r   r+   r^   )r   r	   rR   rB   r   r   ZBufferWrapper.__init__F  s    !86==dCDD;;$ 6 = =d CDD##**40mdM//44E8Dr   c                s`    V P                   w  w  rr4\        VP                  4      W"V,            # r   )r   Z
memoryviewr   )r   rI   rS   rT   r	   s   &    r   create_memoryviewZBufferWrapper.create_memoryviewO  s+    %)[["t%,,'Dj99r   )r   N)
r    r!   r"   r#   r3   re   r   rf   r%   r&   r'   r(   r   r   r   B  s     FEE: :r   )rQ   Zcollectionsr   r   r
   r.   r$   r5   Zcontextr   r   Z r   Z__all__r/   r   Zobjectr   r2   r1   Zregisterr3   r   rA   r   r   <module>rg      s     #  	 
   / 
 <<7F FH' 'B>+ ul+I-6 I-^:F :r   