]@sddlZddlZddlZddlZddlZddlZddlZddlmZdddddgZ ej d kpe ed oe ed oe ejd Z Gd ddej ZejZdddZej d krfe dddg7Z ddlZddddZddZddZddZGdddeZnje dddg7Z ddlZej dkZddZddZddZddZd dZd!d"ZGd#d$d$Zeeej ed%d&Z!eee"j#e!eee$j%e!d'd(Z&d)d*Z'eej(e&ej d krd+d,Z)d-d.Z*eeje)n(d/d,Z)d0d.Z*eeje)dS)1N)context send_handle recv_handleForkingPicklerregisterdumpwin32CMSG_LEN SCM_RIGHTSsendmsgcsaeZdZiZejZfddZeddZ edddZ e j Z S)rcs9tj||jj|_|jj|jdS)N)super__init___copyreg_dispatch_tablecopydispatch_tableupdate_extra_reducers)selfargs) __class__./opt/alt/python35/lib64/python3.5/reduction.pyr%szForkingPickler.__init__cCs||j|r?r.r4r5r0r/r@r6r7)rrDrrrr<ts zDupHandle.detach)r#r$r%rr<rrrrr+cs DupFdsendfdsrecvfdsdarwincCs{tjd|}tt|dg}|j|gtjtj|fgtrw|jddkrwt ddS)NirAz%did not receive acknowledgement of fd) arraybyteslenr socket SOL_SOCKETr ACKNOWLEDGEr; RuntimeError)sockfdsmsgrrrrFs %c Cs(tjd}|j|}|jdtj|\}}}}| rW| rWtytrm|jdt|dkrt dt||d\}} } |tj kr| tj krt| |jdkrt |j | t|SWnt tfk rYnXt ddS)NrIrrKzreceived %d items of ancdatarzInvalid data received)rLitemsizerecvmsgrOr EOFErrorrQr8rNrRrPr ValueError frombyteslist IndexError) rSsizea bytes_sizerUancdataflagsaddr cmsg_level cmsg_type cmsg_datarrrrGs* '  c Cs?tj|jtjtj}t||gWdQRXdS)N)rOfromfdfilenoAF_UNIX SOCK_STREAMrF)r9r2r:srrrrs$c Cs@tj|jtjtj}t|ddSWdQRXdS)Nrr)rOrfrgrhrirG)r9rjrrrrs$cCsatj}|dk r.|j|j|StrQddlm}|j|StddS)Nr)resource_sharerz&SCM_RIGHTS appears not to be available)rget_spawning_popenrEduplicate_for_childHAVE_SEND_HANDLErkrY)fd popen_objrkrrrrEs   cCsE|jdkr(t|j|jjffSt|j|jjffSdS)N)__self__getattrr__func__r#)mrrr_reduce_methodsrvc@seZdZddZdS)_CcCsdS)Nr)rrrrfsz_C.fN)r#r$r%rxrrrrrws rwcCst|j|jffS)N)rs __objclass__r#)rurrr_reduce_method_descriptorsrzcCs"t|j|j|jpiffS)N)_rebuild_partialfuncrkeywords)prrr_reduce_partialsrcCstj|||S)N) functoolspartial)r|rr}rrrr{sr{cCs#ddlm}t||ffS)Nr) DupSocket)rkr_rebuild_socket)rjrrrr_reduce_socketsrcCs |jS)N)r<)ZdsrrrrsrcCs1t|j}t||j|j|jffS)N)rErgrfamilyrproto)rjdfrrrrscCs%|j}tj|||d|S)Nrg)r<rO)rrrrrprrrrs )+r&rrr=r(rOsysror__all__platformhasattrrnPicklerrrrr.r,r-rrobjectr+rLrQrFrGrErvrwrrxrzr[appendint__add__rr{rrrrrrr s^           #