
    {ie                    N    S r SSKJr  SSKrSSKJr  SSKJrJr  SSK	J
r
  SS jrg)	z*Positional argument deprecation decorator.    )annotationsNwraps)AnyCallable)warnc                 &   ^ ^ SS jmSUU 4S jjnU$ )Nc                    [        [        [        U 5      5      n [        U 5      nUS:  a  SR	                  U 5      OSR	                  U S S 5       SU S    3nUSUS:  a  SOS	 3-  nUS
-  nX!S:  a  S-   $ S-   $ )N   z and z, z, and z as     za zkeyword arguments)listmapreprlenjoin)	used_args	arg_count
arg_strings      R/home/james-whalen/.local/lib/python3.13/site-packages/praw/util/deprecate_args.py_generate_arg_string-_deprecate_args.<locals>._generate_arg_string   s    T9-.		N	 1} LL#IIin-.fYr]OD 	
 	9q=Rd;<<
((
MS::r::    c                :   >^  [        T 5      SUU U4S jj5       nU$ )Nc            
     B  >^ [         R                  " T	5      nUR                  R                  5        VVs/ s H0  u  p4UR                  [         R
                  R                  L d  M.  UPM2     snnm[        [        U4S jT
5      5      nT(       a2  UR                  [        TU 5      5        [        U [        T5      S  5      n U (       a5  T" US [        U 5       5      n[        ST	R                  < SU S3[        SS9  T	" S0 [        [        XP5      5      DUD6$ s  snnf )Nc                   > U T;  $ )N )argpositional_argss    r   <lambda>C_deprecate_args.<locals>.wrapper.<locals>.wrapped.<locals>.<lambda>!   s
    O1Kr   zPositional arguments for z@ will no longer be supported in PRAW 8.
Call this function with .   )
stacklevelr   )inspect	signature
parametersitemskind	ParameterPOSITIONAL_OR_KEYWORDtuplefilterupdatezipr   r   __qualname__DeprecationWarningdict)argskwargsr(   name	parameter	_old_argsr   r!   r   funcold_argss          @r   wrapped1_deprecate_args.<locals>.wrapper.<locals>.wrapped   s	   ))$/I (1';';'A'A'C'COD>>W%6%6%L%LL 'CO
 f%KXVWIc/489T#o"6"89:1)Kc$i2HI
/0A0A/D EFFP\QRT& 	 ?$s934???%s   -D'D)r5   r   r6   r   r   )r:   r<   r   r;   s   ` r   wrapper _deprecate_args.<locals>.wrapper   s(    	t	@ 	@ 
	@, r   )r   ztuple[str, ...]returnstr)r:   r   r   )r;   r>   r   s   ` @r   _deprecate_argsrB      s    
; 4 Nr   )r;   rA   r@   r   )__doc__
__future__r   r'   	functoolsr   typingr   r   warningsr   rB   r   r   r   <module>rH      s    0 "     'r   