
    eb                        d dl mZ d dlZd dlmZ d dlmZ d dlmZ d dl	m
Z
 d dlmZmZmZmZmZmZmZmZ d dlmZ eeefZd	 Zddd
ZddZddZy)    )annotationsN)InferenceContext)UseInferenceDefault)inference_tip)AstroidManager)	AttributeCallConstEvaluatedObjectListNameSetTuple)
safe_inferc           
        t        | t              r| j                  } | j                  }| j                  }| j
                  }|| j                  || j                  | j                  d}|D ci c]  }|t        | |       }}|r*|j                  |D ci c]  }|t        | |       c}        |di |}	t        | d      r|r |	j                  di | |	S c c}w c c}w )Nlineno
col_offsetparent
end_linenoend_col_offsetpostinit )
isinstancer   original	__class___other_fields_astroid_fieldsr   r   r   getattrupdatehasattrr   )
noder   r   clsother_fieldsr   init_paramsparampostinit_paramsnew_nodes
             </usr/lib/python3/dist-packages/astroid/brain/brain_random.py_clone_node_with_linenor*      s    $(}}
..C%%L**Ooooo--K APPuugdE22POP\REE74#77RS![!HtZ _,O,O QRs   +CCc                >   t        | j                        dk7  rt        t        | j                  d   |      }t	        |t
              st        t	        |j                  t              st        t        | j                  d   |      }|st        t	        |t              st        |j                  t        |j                        kD  rt        	 t        j                  |j                  |j                        }t        | j                  | j                  | j!                         | j"                  | j$                        }|D cg c]  }t'        |||j                         }}|j)                  |       t+        |f      S # t        $ r}t        |d }~ww xY wc c}w )N      )contextr   r   )r   r   )lenargsr   r   r   r
   valueintACCEPTED_ITERABLES_FOR_SAMPLEeltsrandomsample
ValueErrorr   r   r   scoper   r   r*   r   iter)	r"   r.   inferred_lengthinferred_sequencer4   excr(   eltnew_eltss	            r)   infer_random_sampler?   2   s^   
499~!! 1w?Oou-!!o++S1!!"499Q<A!!')FG!!s#4#9#9::!!+}}.33_5J5JK {{??zz|??**H  	 HX__MH  h  +!s*+s   *F F	FFFc                    | j                   }t        |t              r|j                  dk(  S t        |t              r|j
                  dk(  S y)Nr6   F)funcr   r   attrnamer   name)r"   rA   s     r)   _looks_like_random_samplerD   [   s@    99D$	"}}(($yyH$$    c                T    | j                  t        t        t              t               y N)register_transformr	   r   r?   rD   )managers    r)   registerrJ   d   s    m/02KrE   rG   )r.   zInferenceContext | None)returnbool)rI   r   rK   None)
__future__r   r5   astroid.contextr   astroid.exceptionsr   astroid.inference_tipr   astroid.managerr   astroid.nodes.node_classesr   r	   r
   r   r   r   r   r   astroid.utilr   r3   r*   r?   rD   rJ   r   rE   r)   <module>rU      sO   
 #  , 2 / *	 	 	 $!%sE 2 ,&RrE   