� zfc@s8dZdZdZdZdZddlZddlZddlZddlZddl Z ddl Z ddl Z ddl Z ddl Z ddlmZddlmZmZmZmZmZmZmZmZdd lmZydd lmZWn'ek r!d efd ��YZnXd �Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%ej&dej'�Z(d�Z)d�Z*d�Z+d�Z,e-e-d�Z.d�Z/y e0Z1Wn9e2k r�de3fd��YZ1dZ4dd�Z5n%Xddl6Z6e6j7�Z4e-d�Z5d �Z8d!�Z9d"�Z:id#�Z;d$e<fd%��YZ=d&�Z>d'id(�Z?d)fd*��YZ@d+efd,��YZAd-e@fd.��YZBd/efd0��YZCd1e@fd2��YZDd3�aEd4�ZFd5�ZGd6�ZHd7�ZId8�ZJd9�ZKd:�ZLd'd;�ZMeD�ZNeB�ZOd<fd=��YZPeQeP��ZRd'd>�ZSd?d'd@�ZTd?d'dA�ZUd'dB�ZVdCe-dD�ZWdEfdF��YZXeX�ZYdGfdH��YZZdIfdJ��YZ[dK�Z\e-e-dL�Z]dM�Z^dN�Z_dO�Z`eadPkr4e`�ndS(Qs�Generate Python documentation in HTML or text for interactive use. In the Python interpreter, do "from pydoc import help" to provide online help. Calling help(thing) on a Python object documents the object. Or, at the shell command line outside of Python: Run "pydoc " to show documentation on something. may be the name of a function, module, package, or a dotted reference to a class or function within a module or module in a package. If the argument contains a path segment delimiter (e.g. slash on Unix, backslash on Windows) it is treated as the path to a Python source file. Run "pydoc -k " to search for a keyword in the synopsis lines of all available modules. Run "pydoc -p " to start an HTTP server on a given port on the local machine to generate documentation web pages. Port number 0 can be used to get an arbitrary unused port. Run "pydoc -w " to write out the HTML documentation for a module to a file named ".html". Module docs for core modules are assumed to be in https://docs.python.org/library/ This can be overridden by setting the PYTHONDOCS environment variable to a different URL or to a local directory containing the Library Reference Manual pages. sKa-Ping Yee s26 February 2001s$Revision: 88564 $s�Guido van Rossum, for an excellent programming language. Tommy Burnette, the original creator of manpy. Paul Prescod, for all his work on onlinehelp. Richard Chamberlain, for the first implementation of textdoc. i����N(tRepr(t expandtabstfindtjointlowertsplittstriptrfindtrstrip(t extract_tb(tdequeR cBseZd�ZRS(cCs |jd�S(Ni(tpop(tself((s/usr/lib64/python2.7/pydoc.pytpopleft>s(t__name__t __module__R (((s/usr/lib64/python2.7/pydoc.pyR =scCs�g}g}xvtjD]k}tjj|p.d�}tjj|�}||krtjj|�r|j|�|j|�qqW|S(sAConvert sys.path into a list of absolute, existing, unique paths.t.(tsystpathtostabspathtnormcasetisdirtappend(tdirstnormdirstdirtnormdir((s/usr/lib64/python2.7/pydoc.pytpathdirsCs cCsOtj|�ptj|�}t|�}|rKtjddt|��pNdS(s-Get the doc string or comments for an object.s^ * t(tinspecttgetdoct getcommentst_encodetretsubR(tobjecttresult((s/usr/lib64/python2.7/pydoc.pyROs cCs�tt|�d�}t|�dkr5|ddfSt|�dkrst|d� rs|dt|dd�fSdt|d�fS(s>Split a doc string into a synopsis line (if any) and the rest.s iiRi(RRtlenRR(tdoctlines((s/usr/lib64/python2.7/pydoc.pytsplitdocUs #cCs0|j}|j|kr,|jd|}n|S(s@Get a class name and qualify it with a module name if necessary.R(RR(R$tmodnametname((s/usr/lib64/python2.7/pydoc.pyt classname^s cCsYtj|�pWtj|�pWtj|�pWtj|�pWtj|�pWtj|� S(s>Check if an object is of a type that probably means it's data.(Rtismoduletisclasst isroutinetisframet istracebacktiscode(R$((s/usr/lib64/python2.7/pydoc.pytisdataescGs;x4|r6tt||d�|d�}|d}qW|S(s/Do a series of global replacements on a string.iii(RR(ttexttpairs((s/usr/lib64/python2.7/pydoc.pytreplaceks  cCsbt|�|kr^td|dd�}td|d|�}|| d|t|�|S|S(sCOmit part of a string if needed to make it fit in a maximum length.iiis...(R&tmax(R4tmaxlentpretpost((s/usr/lib64/python2.7/pydoc.pytcramrs s at 0x[0-9a-f]{6,16}(>+)$cCstjd|�S(s>Remove the hexadecimal id from a Python object representation.s\1(t _re_stripidR#(R4((s/usr/lib64/python2.7/pydoc.pytstripid{scCstj|�ptj|�S(N(Rtismethodtismethoddescriptor(tobj((s/usr/lib64/python2.7/pydoc.pyt_is_some_method�scCs�i}x*tj|t�D]\}}d||s>(R6(R R4((s/usr/lib64/python2.7/pydoc.pytescape�scCstj||�S(N(RR�(R R$((s/usr/lib64/python2.7/pydoc.pyR��scCs�tt|�d�r_dttt|�j�d�}t||�r_t||�||�Sn|jttt |��|j ��S(NRtrepr_RZ( R^R�RRRRGR�R;R=R�R�(R RQtlevelt methodname((s/usr/lib64/python2.7/pydoc.pytrepr1�s "cCst||j�}t|�}d|krcdt|dd�krcd|d|j|�|dStjdd|j|��S(Ns\s\\RR�is-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)s\1(R;R�R�R6R�R"R#(R RQR�ttestttestrepr((s/usr/lib64/python2.7/pydoc.pyt repr_string�s $! cCsKy)|jttt|��|j��SWn|jd|jj�SXdS(Ns <%s instance>(R�R;R=R�R�t __class__R(R RQR�((s/usr/lib64/python2.7/pydoc.pyt repr_instance�s)( RRRTRtR�R�R�R�trepr_strR�t repr_unicode(((s/usr/lib64/python2.7/pydoc.pyR��s      tHTMLDoccBsOeZdZe�ZejZejZd�Zdd�Zddddd�Z d�Z d�Z d d �Z d �Zd �Zd �Zd�Zd�Zdiiid�Zdd�Zddd�Zddiid�Zd�Zddiiidd�Zd�Zdddd�Zddd�Zdddd�Zdd�ZRS(s'Formatter class for HTML documentation.cCstd||fd�S(sFormat an HTML page.s� Python: %s %s Rk(R!(R ttitletcontents((s/usr/lib64/python2.7/pydoc.pytpage�sRcCsd|||||pdfS(sFormat a page heading.s'
 
 
%s
%s
s ((R R�tfgcoltbgcoltextras((s/usr/lib64/python2.7/pydoc.pytheading�s is c Csz|dkr!dd|d}nd|||f} |rW| d||||f} n| d|||f} | d|S( s Format a section with a heading.ss ss�

sR s( s'
 
%s
%s %s
%s
%s%s%s
N(R_( R R�R�R�R�twidthtpreludet marginaliatgapR%((s/usr/lib64/python2.7/pydoc.pytsection�s cGsd|}|j||�S(s$Format a section with a big heading.s%s(R�(R R�R�((s/usr/lib64/python2.7/pydoc.pyt bigsection�s c Cs7|jt|��}t|dddddddd� S(s!Format literal preformatted text.s s R�s s s
(R�RR6(R R4((s/usr/lib64/python2.7/pydoc.pyt preformat�sicCs�d}t|�|d|}x�t|�D]u}|dd|}xPt|||||�D]3}|t|�kr_||||�d}q_q_W|d}q+Wd|S(s0Format a list of items into a multi-column list.Risids
ss7%s
(R&trange(R tlisttformattcolsR%trowstcolti((s/usr/lib64/python2.7/pydoc.pyt multicolumn�s"cCsd|S(Ns%s((R R4((s/usr/lib64/python2.7/pydoc.pytgrey RcGs3x,|D]$}||krd|||fSqW|S(s:Make a link for an identifier, given name-to-URL mappings.s%s((R R+tdictstdict((s/usr/lib64/python2.7/pydoc.pytnamelink s  cCsm|jtjj|j�}}t||�r`t||�|kr`d|j|t||�fSt||�S(sMake a link for a class.s%s(RRR�R�RR^RGR,(R R$R*R+R�((s/usr/lib64/python2.7/pydoc.pyt classlinks $cCsd|j|jfS(sMake a link for a module.s%s(R(R R$((s/usr/lib64/python2.7/pydoc.pyt modulelinkscCso|\}}}}|r%|j|�S|r>d||f}n d|}|r[d|}n|}d||fS(s;Make a link for a module or package to display in an index.s %s.%s.htmls%s.htmls"%s (package)s%s(R�(R RdR+RRytshadowedturlR4((s/usr/lib64/python2.7/pydoc.pyt modpkglinks   cCs|p |j}g}d}tjd�}x�tr�|j||�} | sOPn| j�\} } |j|||| !��| j�\} } }}}}| r�|| �jdd�}|jd||f�n|rdt |�}|jd||| �f�n�|r=dt |�}|jd||| �f�n�|r�|| | d!d krz|jd |j ||��q�|jd |�nR|| | d!d kr�|j|j ||||��n|j|j ||��| }q-W|j|||��t |d �S( s�Mark up some plain text, given a context of symbols to look for. Each context dictionary maps object names to anchor names.isD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))t"s"s%ss'http://www.rfc-editor.org/rfc/rfc%d.txts(http://www.python.org/dev/peps/pep-%04d/it(sself.sself.%sR( R�R"tcompileRvtsearchtspanRtgroupsR6tintRR(R R4R�tfuncstclassesRItresultstheretpatterntmatchtstarttendR`tschemetrfctpeptselfdotR+R((s/usr/lib64/python2.7/pydoc.pytmarkup-s<    " c Cs d}x�|D]�}t|�td �kr�|\}}|d}||j||�}|r�||fkr�g}x'|D]} |j|j| |��qyW|dt|d�d}n|d}q t|�tg�kr |d|j|||�}q q Wd|S( sAProduce HTML for a class tree as given by inspect.getclasstree().Rs"

Rs, t)s
s
%s
s
%s
((R�RRRt formattree( R ttreeR*tparentR%tentrytctbasestparentsRL((s/usr/lib64/python2.7/pydoc.pyRXs       c$Gs�|j}y |j}Wntk r/d}nXt|d�}g}xJtt|�d�D]2}|jdt||d d�||f�q\Wt||dd�} d| } yVt j |�} | } t j dkr�ddl } | j| �} nd| | f}Wntk r"d }nXg}t|d �r�t|j�}|d d.kr}|dd kr}t|d d!�}n|jd|j|��nt|d�r�|j|jt|j���n|r�| dt|d�} n|j|�}|dk rdt�}nd}|j| ddd||�}t j|t j�}gi}}x�t j|t j�D]t\}}|dk s�t j|�p�||krtt|||�r�|j||f�d|||<||%si����s)%stwin32Ns%ss (built-in)t __version__i t$s Revision: s version %st__date__s (%s)s, s(
Module DocsRs#ffffffs#7799eesindex
Rzs.html#s#-s %ss

%s

RVisPackage Contentss#aa55cccSs|j|d�S(Ni(R(t key_valueRM((s/usr/lib64/python2.7/pydoc.pyt�RtModulescSs|dS(Ni((R'((s/usr/lib64/python2.7/pydoc.pyR(�RtClassess#ee77aat Functionss#eeaa77tDatas#55aa55s
t __author__tAuthort __credits__tCreditss $Revision: (7Rt__all__R�R_RR�R&RRRR�Rtplatformt nturl2patht pathname2urlR�R^RsR$RR�R&R�tlocalsR�RBR-R.t getmoduleRbRCRR�R�RGR/t isbuiltint isfunctionR3RRR�tpkgutilt iter_modulesRVtsortR�RR�RhRt getclasstreeR�R-R/($R R$R+tmodtignoredR`tpartstlinksR�t linkednametheadRRR3tfilelinkR�R�R�R%R�RtcdictRJRKRLR*R�RtfdictRdR'tmodpkgstimportertispkgR�t classlist((s/usr/lib64/python2.7/pydoc.pyR�ks�    '     "   "  ! + " $!"   !& &    cs�j}|p|}�j}g} | j�dd(�fd��Y} | ��ttj���} t| �dkr��j��d�x+| D]#} �d�j| �j ��q�W�d�n��������fd�} ����fd�}��������fd �}t �fd �t ���}i�x}|D]u\}}}}d |d |�|<}yt �|�}Wnt k r�nXy|�| i(RK(R (tpush(s/usr/lib64/python2.7/pydoc.pytmaybe�s  (RRRtRM((RL(s/usr/lib64/python2.7/pydoc.pyRJ�s is&
Method resolution order:
s
%s
s
c s�t||�\}}|r��j��|�x�|D]�\}}}}yt�|�}Wn*tk r���j||���n&X��j||��������d�q6Wn|S(Ns (RRRMRGt Exceptiont_docdescriptorR�(tmsgtattrsRNtokR+RethomeclsRK(RRthrtmdictR=R$RLR (s/usr/lib64/python2.7/pydoc.pytspills   cslt||�\}}|rh�j��|�x6|D]+\}}}}��j||���q6Wn|S(N(RRRMRO(RPRQRNRRR+ReRSRK(RTR=RLR (s/usr/lib64/python2.7/pydoc.pytspilldescriptorss   c st||�\}}|r�j��|�x�|D]�\}}}}�jt�|�|��}t|d�s�tj|�r�t|dd�} nd} | dkr��d|�nB�jt |��j ����} d| } �d|| f��d�q6Wn|S(Nt__call__RTs
%s
s
%ss
%s%s
s ( RRRMR�RGR^RRcR_RRR�( RPRQRNRRR+ReRSRKRLR'(RRRTRUR=R$RLR (s/usr/lib64/python2.7/pydoc.pyt spilldata s$    cst|dd��S(NiR@(Rb(Rd(R$(s/usr/lib64/python2.7/pydoc.pyR(6RRzt-ics|d�kS(Ni((tt(t thisclass(s/usr/lib64/python2.7/pydoc.pyR(MRs defined heresinherited from %ss:
RJcSs|dS(Ni((R[((s/usr/lib64/python2.7/pydoc.pyR([RcSst|d|d�S(Ni(tcmp(tt1tt2((s/usr/lib64/python2.7/pydoc.pyR(]Rs Methods %scSs|ddkS(Nitmethod((R[((s/usr/lib64/python2.7/pydoc.pyR(aRsClass methods %scSs|ddkS(Nis class method((R[((s/usr/lib64/python2.7/pydoc.pyR(cRsStatic methods %scSs|ddkS(Nis static method((R[((s/usr/lib64/python2.7/pydoc.pyR(eRsData descriptors %scSs|ddkS(Nisdata descriptor((R[((s/usr/lib64/python2.7/pydoc.pyR(gRsData and other attributes %scSs|ddkS(NiRd((R[((s/usr/lib64/python2.7/pydoc.pyR(iRRs*class %ss/%s = class %ss(%s)s, s%s
 
s#000000s#ffc8d8i((RRCRR RtgetmroR&RMRRtfilterRiRGRNR�R RRt __builtin__R$R;tAssertionErrorRRRR�R�(R R$R+R=RRR>trealnameR!R�RJtmroRLRVRWRYRQRJReRSRKtanchort inheritedttagR�R"R'(( RRRTRUR=R$RLR R\s/usr/lib64/python2.7/pydoc.pyR��s�         $ $                       $cCs|jd|j|��S(s)Format an argument default value as text.t=(R�R�(R R$((s/usr/lib64/python2.7/pydoc.pyt formatvaluescCsG|j}|p|}|r$|jp'dd|} d} d} tj|�r�|j} |r�| |k r�d|j| |�} q�nD|jdk r�d|j|jj|�} nd|j| |�} |j}n||kr�d| |f} ne|r?||j kr?|j ||kr?d|jd||f}d } n|}d | ||f} tj |�r�tj |�\}}}}tj ||||d |j �}|d kr�d |} |d d!}q�nd}| || o�|jd| �}| rd|S|jt|�|j|||�}|o2d|}d||fSdS(s;Produce HTML documentation for a function or method object.RRZis from s method of %s instances unbound %s methods$%ss%sis)%s = %sRkss$%s lambda i����s(...)s'%ss
%s
s
%s
s
%s
%s
N(RRR>tim_classRtim_selfR_R�tim_funct__dict__R8t getargspect formatargspecRkR�RRR�(R R$R+R=RRRIRHReRgtnotetskipdocstimclassR�treallinkR�tvarargstvarkwtdefaultstargspectdeclR'((s/usr/lib64/python2.7/pydoc.pyR��sR          cCsxg}|j}|r&|d|�n|jdk ra|jt|�|j�}|d|�n|d�dj|�S(Ns!
%s
s
%s
s
R(RRTR_RRR�R(R R+RKR=RRLR'((s/usr/lib64/python2.7/pydoc.pyRO�s  cCs|j|||�S(s*Produce html documentation for a property.(RO(R R$R+R=RH((s/usr/lib64/python2.7/pydoc.pyR��scGs'|rd|pd}||j|�S(s-Produce HTML documentation for a data object.s%s = R(R�(R R$R+R=R>tlhs((s/usr/lib64/python2.7/pydoc.pyR��scCs|j|||�S(s1Produce html documentation for a data descriptor.(RO(R R$R+R=RH((s/usr/lib64/python2.7/pydoc.pyR��scCs�g}|dkri}nxLtj|g�D]8\}}}|j|d|||kf�d||(R;R=R�R�R�R(R RQR�((s/usr/lib64/python2.7/pydoc.pyR��s (RRRTRtR�R�R�R�(((s/usr/lib64/python2.7/pydoc.pyR~�s    tTextDoccBs�eZdZe�ZejZd�Zdd�Zd�Zddd�Z ddd�Z ddd�Z d �Z dddd �Zd �Zdddd �Zdddd �Zdddddd�ZRS(s'Formatter class for text documentation.cCsttd�|�d�S(s(Format a string in bold by overstriking.cSs |d|S(Ns((tch((s/usr/lib64/python2.7/pydoc.pyR( RR(RRh(R R4((s/usr/lib64/python2.7/pydoc.pytbold ss cCsX|s dSt|d�}t|d�|�}|rKt|d�|d\} } | jj|d �r| |kr|j| �qqW|r�|j�||jd t|d ��}n| rtd �| �}|jtj|d�|�g}x0| D](\} } |j|j | | |��q�W||jdt|d ��}n| rwg}x0| D](\} } |j|j | | |��q)W||jdt|d ��}n|r�g}x6|D].\} } |j|j!| | |dd��q�W||jdt|d ��}nt|d�rKt"|j#�}|d d!kr2|ddkr2t$|dd!�}n||jd|�}nt|d�r|||jdt"|j%��}nt|d�r�||jdt"|j&��}nt|d�r�||jdt"|j'��}n|S("s5Produce text documentation for a given module object.tNAMEs - s (built-in)tFILEs MODULE DOCSt DESCRIPTIONRVs (package)sPACKAGE CONTENTSs Rt SUBMODULEScSs|dS(Ni((R'((s/usr/lib64/python2.7/pydoc.pyR(oRitCLASSESt FUNCTIONSR8iFtDATAR$i R%s Revision: i����tVERSIONR&tDATER-tAUTHORR/tCREDITSNs $Revision: ((RR)RR�R1R�R_RR�R�R�RBR.R6RbRR/R7R3tsetR^R9R:RVtaddR;RR-R\RhRR<R�R�RsR$RR&R-R/(R R$R+R=tsynoptdescR%R`R|R�RRJRKRRdRFt modpkgs_namesRGR*RHt submodulesRIR�R�((s/usr/lib64/python2.7/pydoc.pyR�+s�        " " $ "   ""   " "&" """cs&�j}|p|}�j}�jd�}||krOd�j|�}n�j|�d|}|r�t||�} |dt| d�}nt��} | r�| dgp�g} | j�tt j ���} t | �dkr&�d�x"| D]} �d || ��q�W�d �nd d �fd ��Y}|�������fd �}����fd�}�����fd�}t �fd�t ���}x0|r�| r�| j��n|dd�t|�fd��\}}�tjkr|}q�n+��kr.d}ndt��j�}|j�|d||d��}|d||d��}|d||d��}|d||d��}|d||d��}|gks�t�|}q�Wdj| �} | s|dS|d�jt| �d�dS(!s4Produce text documentation for a given class object.cSs t||�S(N(R,(R R�((s/usr/lib64/python2.7/pydoc.pytmakename�ssclass s = class s(%s)s, s isMethod resolution order:s RRJcs eZd�Z�fd�ZRS(cSs d|_dS(Ni(RK(R ((s/usr/lib64/python2.7/pydoc.pyRt�scs'|jr�dd�nd|_dS(NRZiFi(RK(R (RL(s/usr/lib64/python2.7/pydoc.pyRM�s (RRRtRM((RL(s/usr/lib64/python2.7/pydoc.pyRJ�s cs�t||�\}}|r��j��|�xy|D]n\}}}}yt�|�}Wn*tk r���j||���q6X��j||����q6Wn|S(N(RRRMRGRNROR�(RPRQRNRRR+ReRSRK(RTR=R$RLR (s/usr/lib64/python2.7/pydoc.pyRV�s    cslt||�\}}|rh�j��|�x6|D]+\}}}}��j||���q6Wn|S(N(RRRMRO(RPRQRNRRR+ReRSRK(RTR=RLR (s/usr/lib64/python2.7/pydoc.pyRW�s   c s�t||�\}}|r��j��|�x�|D]w\}}}}t|d�sftj|�rut|�}nd}��jt�|�|�ddd|�d�q6Wn|S(NRXR8iFR's ( RRRMR^RRcRR_R�RG( RPRQRNRRR+ReRSRKR'(RTR=R$RLR (s/usr/lib64/python2.7/pydoc.pyRY�s  $cst|dd��S(NiR@(Rb(Rd(R$(s/usr/lib64/python2.7/pydoc.pyR(�Rics|d�kS(Ni((R[(R\(s/usr/lib64/python2.7/pydoc.pyR(�Rs defined heresinherited from %ss Methods %s: cSs|ddkS(NiR`((R[((s/usr/lib64/python2.7/pydoc.pyR(�RsClass methods %s: cSs|ddkS(Nis class method((R[((s/usr/lib64/python2.7/pydoc.pyR(�RsStatic methods %s: cSs|ddkS(Nis static method((R[((s/usr/lib64/python2.7/pydoc.pyR(�RsData descriptors %s: cSs|ddkS(Nisdata descriptor((R[((s/usr/lib64/python2.7/pydoc.pyR(�RsData and other attributes %s: cSs|ddkS(NiRd((R[((s/usr/lib64/python2.7/pydoc.pyR(�Rs | ((RRCRR�RhRRRR RRaR&RbRiR RRRcR$R,R;RdR�R(R R$R+R=R>ReR!R�R�R"R'R�RfRLRJRVRWRYRQRhRi((RTR=R$RLR R\s/usr/lib64/python2.7/pydoc.pyR��sn                            cCsd|j|�S(s)Format an argument default value as text.Rj(R�(R R$((s/usr/lib64/python2.7/pydoc.pyRkscCs�|j}|p|}d}d}tj|�r�|j}|rd||k r�dt||�}q�n>|jdk r�dt|jj|�}ndt||�}|j}n||kr�|j |�} nH|r�||j kr�|j ||kr�d}n|j |�d|} tj |�r�tj |�\} } } } tj | | | | d|j�}|d kr�|j |�d } |dd !}q�nd }| ||}|r�|d St|�p�d}|d |o�t|j|��d SdS(s;Produce text documentation for a function or method object.Ris from s method of %s instances unbound %s methodis = Rkss lambda i����s(...)s N(RRR>RlR,RmR_R�RnR�RoR8RpRqRkRRR�(R R$R+R=RHReRrRsRtR�R�RvRwRxRyRzR'((s/usr/lib64/python2.7/pydoc.pyR� sB        cCszg}|j}|r5||j|��|d�nt|�pDd}|rm||j|��|d�ndj|�S(Ns R(RR�RR�R(R R+RKR=RRLR'((s/usr/lib64/python2.7/pydoc.pyRO6s   cCs|j|||�S(s*Produce text documentation for a property.(RO(R R$R+R=RH((s/usr/lib64/python2.7/pydoc.pyR�CscCs|j|||�S(s1Produce text documentation for a data descriptor.(RO(R R$R+R=RH((s/usr/lib64/python2.7/pydoc.pyR�Gsc Cs�|j|�}|r_|r%|dp(d|}|t|�} | dkr_|| d}q_n|rx|j|�dp{d|}|dk r�|d|jt|��7}n|S(s-Produce text documentation for a data object.s = Ris...s N(R�R&R�R_R�Rr( R R$R+R=RR8R'R�R}tchop((s/usr/lib64/python2.7/pydoc.pyR�Ks #  N(RRRTR~R}R�R�R�R�R_RR�R�RkR�ROR�R�R�(((s/usr/lib64/python2.7/pydoc.pyRs     dx + cCst�at|�dS(sCThe first time this is called, determine what kind of pager to use.N(tgetpagertpager(R4((s/usr/lib64/python2.7/pydoc.pyR�Ys cCs�ttj�tjk rtSttjd�s2tStjj� sRtjj� rVtSdt j kr�tj dkr{d�St j j d�dkr�d�Sd �Snt j j d�dkr�tStj dks�tj j d �r�d �Stt d �rt jd �dkrd�Sddl}|j�\}}t j|�z7tt d �rpt jd|�dkrpd�StSWdt j|�XdS(s2Decide what method to use for paging through text.tisattytPAGERR#cSstt|�tjd�S(NR�(t tempfilepagertplainRR�(R4((s/usr/lib64/python2.7/pydoc.pyR(iRtTERMtdumbtemacscSstt|�tjd�S(NR�(t pipepagerR�RR�(R4((s/usr/lib64/python2.7/pydoc.pyR(kRcSst|tjd�S(NR�(R�RR�(R4((s/usr/lib64/python2.7/pydoc.pyR(mRtos2cSstt|�d�S(Nsmore <(R�R�(R4((s/usr/lib64/python2.7/pydoc.pyR(qRtsystems(less) 2>/dev/nullicSs t|d�S(Ntless(R�(R4((s/usr/lib64/python2.7/pydoc.pyR(sRi����Ns more "%s"cSs t|d�S(Ntmore(R�(R4((s/usr/lib64/python2.7/pydoc.pyR(zR(R�R�(R�R�(R�RtstdoutR�tFileTypet plainpagerR^tstdinR�RR�R2R�R\R�ttempfiletmkstempR�tttypagertunlink(R�tfdR�((s/usr/lib64/python2.7/pydoc.pyR�_s4  !$  (cCstjdd|�S(s%Remove boldface formatting from text.s.R(R"R#(R4((s/usr/lib64/python2.7/pydoc.pyR��scCsKtj|d�}y!|jt|��|j�Wntk rFnXdS(s3Page through text by feeding it to another program.twN(RtpopentwriteR!R�R�(R4tcmdtpipe((s/usr/lib64/python2.7/pydoc.pyR��s  cCsvddl}|j�}t|d�}|jt|��|j�ztj|d|d�Wdtj|�XdS(s<Page through text by invoking a program on a temporary file.i����NR�s "R( R�tmktempR�R�R!R�RR�R�(R4R�R�R�R|((s/usr/lib64/python2.7/pydoc.pyR��s   c Cs?ttt|�ttjdt���jd�}yDddl}tjj �}|j |�}|j |�d�}Wn&t t fk r�d}d�}nXzxyttjjdd��}Wntk r�d}nX|d kr�d }n|d }}tjjt|| d�d�x�||rtjjd �tjj�|�} | dkrstjjd�Pn8| dkr�tjjd||d�|d }q#n| dkr�|||}|dkr�d}q�ntjjdt||||!d�d�||}q#WWd|r:|j||j|�nXdS(s%Page through text on a text terminal.Rls i����NcSstjjd�S(Ni(RR�R�(((s/usr/lib64/python2.7/pydoc.pyR(�RcSstjj�d d S(Ni����i(RR�R{(((s/usr/lib64/python2.7/pydoc.pyR(�RtLINESiiis -- more --tqtQs s RtBs(R�R�(s s (RR�s(R�R!RGRR�RqRtttyR�tfilenot tcgetattrt setcbreakR�R�R_R RR�R�t ValueErrorR�Rtflusht tcsetattrt TCSAFLUSH( R4R(R�R�toldtgetcharthR�tincR ((s/usr/lib64/python2.7/pydoc.pyR��sL3        !        ,cCs2tjjtt|�ttjdt���dS(s>Simply print unformatted text. This is the ultimate fallback.RlN(RR�R�R!R�RGRq(R4((s/usr/lib64/python2.7/pydoc.pyR��scCsJtj|�rT|jtjkr,d|jSt|d�rFd|jSd|jSntj|�rnd|jStj|�r�d|jj |jj|jfStj |�r�d|jj |jj|jfStj |�r�d|jStj |�rd |jStj |�rd |jSt|�tjkr=d |jjSt|�jS( s/Produce a short description of the given thing.sbuilt-in module RVspackage smodule sbuilt-in function sgetset descriptor %s.%s.%ssmember descriptor %s.%s.%ssclass s function smethod s instance of (RR-RRR�R^R7R�t __objclass__RR�R.R8R>R�R�t InstanceTypeR�(tthing((s/usr/lib64/python2.7/pydoc.pytdescribe�s2        cCs�gt|d�D]}|r|^q}d\}}xQ|t|�kr�tt||d d�|�}|r�||d}}q7Pq7W|r�|}nt}x:||D].}yt||�}Wq�tk r�dSXq�W|S(s@Locate an object by name or dotted path, importing as necessary.RiiN(Ni(RR_R&R�RRcRGR�(RR�R�R?R�tnt nextmoduleR$((s/usr/lib64/python2.7/pydoc.pytlocate�s (     t_OldStyleClasscBseZRS((RR(((s/usr/lib64/python2.7/pydoc.pyR��scCsyt|t�rDt||�}|dkr:td|�n||fSt|dd�}|t|t�rn|ndfSdS(sDGiven an object or a path to an object, get the object and its name.s$no Python documentation found for %rRN(RnRrR�R_R�RG(R�R�R$R+((s/usr/lib64/python2.7/pydoc.pytresolves  s Python Library Documentation: %scCs3t||�\}}t|�}tj|�}|r`d|kr`|d||jd� 7}n&|r�||k r�|d|j7}nt|�tkr�|j}nstj |�p�tj |�p�tj |�p�tj |�p�tj |�p�t|t�st|�}|d7}n||dtj||�S(sBRender text documentation, given an object or a path to an object.Rs in s in module s objects (R�R�RR6RRR�t_OLD_INSTANCE_TYPER�R-R.R/R�R�RnR�R4R�(R�R�R�R$R+R�R�((s/usr/lib64/python2.7/pydoc.pyt render_doc s$    cCs?ytt|||��Wnttfk r:}|GHnXdS(sCDisplay text documentation, given an object or a path to an object.N(R�R�R�R�(R�R�R�RK((s/usr/lib64/python2.7/pydoc.pyR'%scCs�ytt||�\}}tjt|�tj||��}t|dd�}|j|�|j�dG|dGHWntt fk r�}|GHnXdS(s<Write HTML documentation to a file in the current directory.s.htmlR�twroteN( R�thtmlR�R�R�R�R�R�R�R�(R�R�R$R+R�R|RK((s/usr/lib64/python2.7/pydoc.pytwritedoc,s$  RcCsL|dkri}nx0tj|g|�D]\}}}t|�q+WdS(sAWrite out HTML documentation for all modules in a directory tree.N(R_R9t walk_packagesR�(RtpkgpathtdoneRGR*RH((s/usr/lib64/python2.7/pydoc.pyt writedocs8s  %tHelpercBs�eZidd6dd6d(d6d)d6d*d6d+d 6d,d 6d-d 6dd6d.d6dd6d/d6dd6d0d6dd6d1d6d2d6d3d6d4d6d d!6d5d"6dd$6dd%6d6d&6d7d'6d8d(6d9d*6d:d6d;d+6d<d6d=d.6Zed/�d>D��Zid?ed76d@dL6dAd 6dBdM6dCdZ6dDd[6dEd^6Zid_d>6d`d;6dadb6dcdd6dedf6dgdh6didj6d7dk6dldm6dndo6dpdq6drds6drdt6dudv6dudw6Zxdej�D]V\ZZ xGe D]?Z ej e e�Z ee kr�e dxeZ ne ee osRR�tuR�s'''s"""RtSTRINGSt+RZt*s**R�s//t%s<>R�t|t^t~R�R�s<=s>=s==s!=s<>t OPERATORStUNARYs+=s-=s*=s/=s%=s&=s|=s^=s<<=s>>=s**=s//=tAUGMENTEDASSIGNMENTtBITWISEtjtJtCOMPLEXsOPERATORS FORMATTINGtPOWERsTUPLES LISTS FUNCTIONSt,s ATTRIBUTES FLOAT MODULES OBJECTSRtELLIPSISs...sSLICINGS DICTIONARYLITERALSt:s def classt@s\t PRIVATENAMESRZsPRIVATENAMES SPECIALMETHODSRYt BACKQUOTESt`sTUPLES FUNCTIONS CALLSRRsLISTS SUBSCRIPTS SLICINGSt[t]R�R�sRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspecttTYPEStstringss4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPESsstring-methodssSTRINGS FORMATTINGt STRINGMETHODSt formatstringst FORMATTINGs:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPEStUNICODEtnumberssINTEGER FLOAT COMPLEX TYPEStNUMBERStintegerss int rangetINTEGERtfloatings float mathtFLOATt imaginarys complex cmathttypesseqs%STRINGMETHODS FORMATTING xrange LISTSt SEQUENCESt DICTIONARIEStMAPPINGSttypesfunctionss def TYPESt typesmethodssclass def CLASSES TYPEStMETHODSsbltin-code-objectsscompile FUNCTIONS TYPESt CODEOBJECTSsbltin-type-objectss types TYPESt TYPEOBJECTSt FRAMEOBJECTSt TRACEBACKSsbltin-null-objecttNONEsbltin-ellipsis-objecttSLICINGSsbltin-file-objectstFILESt specialattrstSPECIALATTRIBUTESs!class SPECIALMETHODS PRIVATENAMESR�t typesmodulestPACKAGESsoperator-summarys�lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES BACKQUOTESt EXPRESSIONSt PRECEDENCEtobjectstOBJECTSt specialnamesstBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS1 MAPPINGMETHODS SEQUENCEMETHODS2 NUMBERMETHODS CLASSEStSPECIALMETHODSt customizations cmp hash repr str SPECIALMETHODSsattribute-accesssATTRIBUTES SPECIALMETHODStATTRIBUTEMETHODSscallable-typessCALLS SPECIALMETHODStCALLABLEMETHODSssequence-typess)SEQUENCES SEQUENCEMETHODS2 SPECIALMETHODStSEQUENCEMETHODS1ssequence-methodss)SEQUENCES SEQUENCEMETHODS1 SPECIALMETHODSsMAPPINGS SPECIALMETHODStMAPPINGMETHODSs numeric-typess*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODSt NUMBERMETHODSt execmodels%NAMESPACES DYNAMICFEATURES EXCEPTIONSt EXECUTIONtnamings*global ASSIGNMENT DELETION DYNAMICFEATURESsdynamic-featurestDYNAMICFEATUREStSCOPINGtFRAMESR�stry except finally raisescoercion-rulest CONVERSIONSt COERCIONSt conversionst identifiersskeywords SPECIALIDENTIFIERSt IDENTIFIERSs id-classestSPECIALIDENTIFIERSsatom-identifierss atom-literalssHSTRINGS BACKQUOTES NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALStLITERALStTUPLESt exprlistssTUPLES LITERALSt TUPLELITERALSstypesseq-mutablet LISTLITERALStLISTStlistssLISTS LITERALSt typesmappingtDICTIONARYLITERALSRsDICTIONARIES LITERALSsstring-conversionssrepr str STRINGS LITERALSsattribute-referencess(getattr hasattr setattr ATTRIBUTEMETHODSt ATTRIBUTESt subscriptionst SUBSCRIPTStslicingstcallstCALLStpowertunarytbinarytBINARYtshiftingtSHIFTINGtbitwiset comparisonssEXPRESSIONS BASICMETHODStbooleanssEXPRESSIONS TRUTHVALUEt ASSERTIONt assignmentt ASSIGNMENTt augassigntDELETIONtPRINTINGt RETURNINGt IMPORTINGt CONDITIONALtcompoundsfor while break continuetLOOPINGttruths if while and or not BASICMETHODStdebuggertpdbt DEBUGGINGscontext-managerstCONTEXTMANAGERScCs||_||_dS(N(t_inputt_output(R tinputtoutput((s/usr/lib64/python2.7/pydoc.pyRt�s cCs|jptjS(N(RzRR�(R ((s/usr/lib64/python2.7/pydoc.pyR(�RcCs|jptjS(N(R{RR�(R ((s/usr/lib64/python2.7/pydoc.pyR(�RcCs)tj�dddkr%|�dSdS(Niit?Rs(Rtstack(R ((s/usr/lib64/python2.7/pydoc.pyt__repr__�scCsG||jk r|j|�n$|j�|j�|jjd�dS(Ns You are now leaving help and returning to the Python interpreter. If you want to ask for help on a particular object directly from the interpreter, you can type "help(object)". Executing "help('string')" has the same effect as typing a particular string at the help> prompt. (t_GoInteractivethelptintrotinteractR}R�(R trequest((s/usr/lib64/python2.7/pydoc.pyRX�s    cCs�|jjd�x�tr�y|jd�}|s5PnWnttfk rPPnXt|�}t|�dkr�|d|dko�d knr�|d|dd!kr�|dd!}nt|�d kr�Pn|j |�qWdS( Ns shelp> iii����R�RiR�tquit(R�R(R�R�( R}R�RvtgetlinetKeyboardInterrupttEOFErrorRR&RR�(R R�((s/usr/lib64/python2.7/pydoc.pyR� s  6cCsJ|jtjkrt|�S|jj|�|jj�|jj�SdS(s.Read one line, using raw_input when available.N(R|RR�t raw_inputR}R�R�R{(R tprompt((s/usr/lib64/python2.7/pydoc.pyR�s   cCs{t|�td�krA|j�}|dkr=|j�qg|dkrV|j�qg|dkro|j�qg|dkr�|j�qg|dkr�|j�qg|d dkr�|jt|�d �qg||jkr�|j |�qg||j kr |j |�qg||j kr(|j |�qg|rgt |d �qgn&t|t�rZ|�n t |d �|jjd �dS( NRR�tkeywordstsymbolsttopicsR�ismodules is Help on %s:s (R�RR�t listkeywordst listsymbolst listtopicst listmodulesRR�t showsymbolR�t showtopicR�R'RnR�R}R�(R R�((s/usr/lib64/python2.7/pydoc.pyR�&s4        cCs,|jjdttjd gd��dS(Ns� Welcome to Python %s! This is the online help utility. If this is your first time using Python, you should definitely check out the tutorial on the Internet at http://docs.python.org/%s/tutorial/. Enter the name of any module, keyword, or topic to get help on writing Python programs and using Python modules. To quit this help utility and return to the interpreter, just type "quit". To get a list of available modules, keywords, or topics, type "modules", "keywords", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose summaries contain a given word such as "spam", type "modules spam". ii(R}R�ttupleRR�(R ((s/usr/lib64/python2.7/pydoc.pyR�8s iiPc Cs�|}|j�||}t|�|d|}x�t|�D]�}x�t|�D]z}|||}|t|�krS|jj||�||dkr�|jjdd|dt||��q�qSqSW|jjd�q@WdS(NiR�s (R;R&R�R}R�( R titemstcolumnsR�tcolwR�trowR�R�((s/usr/lib64/python2.7/pydoc.pyR�Is  4cCs*|jjd�|j|jj��dS(NsN Here is a list of the Python keywords. Enter any keyword to get more help. (R}R�R�R�RF(R ((s/usr/lib64/python2.7/pydoc.pyR�Ws cCs*|jjd�|j|jj��dS(Nsx Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. (R}R�R�R�RF(R ((s/usr/lib64/python2.7/pydoc.pyR�^s cCs*|jjd�|j|jj��dS(NsN Here is a list of available topics. Enter any topic name to get more help. (R}R�R�R�RF(R ((s/usr/lib64/python2.7/pydoc.pyR�fs c Cs�yddl}Wn"tk r4|jjd�dSX|jj||jj|��}|sz|jjdt|��dSt|�td�kr�|j ||�S|\}}y|jj|}Wn,t k r�|jjdt|��dSXt t |�d�|r"|pdd|}n|r�ddl }ddl} |j �} | j| �jdtt|�d�d�|jjd | j��ndS( Ni����st Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. sno documentation found for %s Rs R�sRelated help topics: s, s %s (tpydoc_data.topicsR�R}R�R�R�R�R�R�R�tKeyErrorR�RtStringIOt formattert DumbWritertsend_flowing_dataRRtgetvalue( R ttopict more_xrefst pydoc_datattargettlabeltxrefsR'R�R�tbuffer((s/usr/lib64/python2.7/pydoc.pyR�ms6  !   cCs9|j|}|jd�\}}}|j||�dS(NR�(R�t partitionR�(R tsymbolR�R�RZR�((s/usr/lib64/python2.7/pydoc.pyR��s cs�|r#|jjd�t|�nj|jjd�i}|d���fd�}t�j�d|�|j|j��|jjd�dS(NsO Here is a list of matching modules. Enter any module name to get more help. sI Please wait a moment while I gather a list of all available modules... cSsM|r'|ddkr'|d d}nt|d�dkrId||>R�RRR R�R�s<=s>=s==s!=s<>(R�R�s<=s>=s==s!=s<>(RZR ( s+=s-=s*=s/=s%=s&=s|=s^=s<<=s>>=s**=s//=(s<>R�RRR (RR(R�sRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect(Rs4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES(sstring-methodssSTRINGS FORMATTING(RR (Rs:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES(R!sINTEGER FLOAT COMPLEX TYPES(R#s int range(R%s float math(R's complex cmath(R(s%STRINGMETHODS FORMATTING xrange LISTS(R,s def TYPES(R-sclass def CLASSES TYPES(sbltin-code-objectsscompile FUNCTIONS TYPES(sbltin-type-objectss types TYPES(sbltin-null-objectR(sbltin-ellipsis-objectR4(sbltin-file-objectsR(R6R(R�s!class SPECIALMETHODS PRIVATENAMES(R8R�(soperator-summarys�lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIES BACKQUOTES(R<R(R>stBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS1 MAPPINGMETHODS SEQUENCEMETHODS2 NUMBERMETHODS CLASSES(R@s cmp hash repr str SPECIALMETHODS(sattribute-accesssATTRIBUTES SPECIALMETHODS(scallable-typessCALLS SPECIALMETHODS(ssequence-typess)SEQUENCES SEQUENCEMETHODS2 SPECIALMETHODS(ssequence-methodss)SEQUENCES SEQUENCEMETHODS1 SPECIALMETHODS(ssequence-typessMAPPINGS SPECIALMETHODS(s numeric-typess*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS(RFs%NAMESPACES DYNAMICFEATURES EXCEPTIONS(RHs*global ASSIGNMENT DELETION DYNAMICFEATURES(sdynamic-featuresR(R�stry except finally raise(scoercion-rulesRL(RNRM(ROskeywords SPECIALIDENTIFIERS(s id-classesR(satom-identifiersR(s atom-literalssHSTRINGS BACKQUOTES NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALS(RTsTUPLES LITERALS(stypesseq-mutableRV(RXsLISTS LITERALS(RYRZ(RsDICTIONARIES LITERALS(sstring-conversionssrepr str STRINGS LITERALS(sattribute-referencess(getattr hasattr setattr ATTRIBUTEMETHODS(R\RC(R^R�(R_R:(RaR:(RbR:(RcR:(ReR:(RgR:(RhsEXPRESSIONS BASICMETHODS(RisEXPRESSIONS TRUTHVALUE(RkR (RmRE(Rssfor while break continue(Rus if while and or not BASICMETHODS(RvRw(scontext-managersR�N(!RRR�R�t _strprefixest_symbols_inverseR�t iteritemsR�tsymbols_R�R�R�R_RtR�R|R}R�R$R�RXR�R�R�R�R�R�R�R�R�R�R�(((s/usr/lib64/python2.7/pydoc.pyR�?sB                 tScannercBs eZdZd�Zd�ZRS(sA generic tree iterator.cCs)||_g|_||_||_dS(N(trootststatetchildrentdescendp(R R�R�R�((s/usr/lib64/python2.7/pydoc.pyRt�s   cCs�|jsF|jsdS|jjd�}||j|�fg|_n|jd\}}|sv|jj�|j�S|jd�}|j|�r�|jj||j|�f�n|S(Nii����(R�R�R_R R�tnextR�R(R troottnodeR�tchild((s/usr/lib64/python2.7/pydoc.pyR��s    "(RRRTRtR�(((s/usr/lib64/python2.7/pydoc.pyR��s R�cBs eZdZdddd�ZRS(s7An interruptible scanner that searches module synopses.cCs|rt|�}nt|_i}x�tjD]�}|dkr.d||<|dkri|d|d�q�tt|�jp~dd�d}t t|d|�|�dkr�|d||�q�q.q.Wx@t j d|�D],\}}} |jr�Pn|dkr|d|d�q�|j |�} t | d�r�d dl} t| j| j|���pad}t | d �r�| j|�} q�d} nC| j|�} | jr�| jj�dnd}t| d d�} t t|d|�|�dkr�|| ||�q�q�W|r|�ndS( Nt__main__iRs is - R�t get_sourcei����t get_filenameRU(RRwR�RR�R_RR�RTRR9R�t find_moduleR^R�R~R�R�R�R�RG(R R�RJt completerR�tseenR*R�RGRHtloaderR�RR�((s/usr/lib64/python2.7/pydoc.pyR��sB    "#"    "#N(RRRTR_R�(((s/usr/lib64/python2.7/pydoc.pyR��sc CsOd�}d�}tj��+tjd�t�j||d|�WdQXdS(sAPrint all the one-line module summaries that contain a substring.cSs8|ddkr!|d d}n|G|o2d|GHdS(Ni����s .__init__s (package)s- ((RR*R�((s/usr/lib64/python2.7/pydoc.pyR��scSsdS(N((R*((s/usr/lib64/python2.7/pydoc.pyR��stignoreR�N(twarningstcatch_warningstfilterwarningsR�R�(RJR�R�((s/usr/lib64/python2.7/pydoc.pyR��s     c Cs�ddl}ddl}ddl}d|jfd��Y}d|jfd��Y}d|jfd��Y}|j|_||_||_z8y|||�j �Wnt |j fk r�nXWd|r�|�nXdS(Ni����tMessagecBseZdd�ZRS(icSsf|j}|jdjdj|||�|jd�|_|jd�|_|j�|j�dS(Niscontent-transfer-encodings content-type(R�RCRtt getheadertencodingheadert typeheadert parsetypet parseplist(R tfptseekableR�((s/usr/lib64/python2.7/pydoc.pyRts  ! (RRRt(((s/usr/lib64/python2.7/pydoc.pyR�st DocHandlercBs#eZd�Zd�Zd�ZRS(cSs_yG|jd�|jdd�|j�|jjtj||��Wntk rZnXdS(Ni�s Content-Types text/html(t send_responset send_headert end_headerstwfileR�R�R�R�(R R�R�((s/usr/lib64/python2.7/pydoc.pyt send_documents    c Ss�|j}|ddkr&|d }n|d dkrC|d}n|r�|dkr�yt|dd�}Wn3tk r�}|j|tjt|���dSX|r�|jt|�tj||��q�|j|dt |��n�tj dd d �}d �}t d �t j �}tj||�}d tjdd d|�g}i} x*t jD]} |jtj| | ��q]W|t|�d}|jd|�dS(Ni����s.htmliR�RR�s$no Python documentation found for %ss?Python: Index of Moduless#ffffffs#7799eecSsd||fS(Ns%s((R+((s/usr/lib64/python2.7/pydoc.pyt bltinlink*scSs |dkS(NR�((RQ((s/usr/lib64/python2.7/pydoc.pyR(,Rs

sBuilt-in Moduless#ee77aas�

pydoc by Ka-Ping Yee <[email protected]>sIndex of Modules(RR�R�R�R�R�RrR�R�R�R�RbRR�R�R�RR|R( R RR@RKR�R�tnamesR�tindicesR�R((s/usr/lib64/python2.7/pydoc.pytdo_GETs<   %       cWsdS(N((R R�((s/usr/lib64/python2.7/pydoc.pyt log_message:R(RRR�R�R�(((s/usr/lib64/python2.7/pydoc.pyR�s  #t DocServercBs#eZd�Zd�Zd�ZRS(cSs>d}||f|_||_|jj||j|j�dS(Nt localhost(taddressR�RLRtthandler(R tportR�thost((s/usr/lib64/python2.7/pydoc.pyRt=s cSsiddl}t|_xM|jsd|j|jj�gggd�\}}}|r|j�qqWdS(Ni����i(tselectRwR�tsocketR�thandle_request(R R�trdtwrtex((s/usr/lib64/python2.7/pydoc.pytserve_until_quitCs    -cSsJ|jj|�d|jd|jf|_|jrF|j|�ndS(Ns http://%s:%d/i(RLtserver_activateR�t server_portRR�(R ((s/usr/lib64/python2.7/pydoc.pyR�Js (RRRtR�R�(((s/usr/lib64/python2.7/pydoc.pyR�<s  ( tBaseHTTPServert mimetoolsR�R�tBaseHTTPRequestHandlert HTTPServerRLR�t MessageClassR�R�terror( R�R�R�R�R�R�R�R�R�((s/usr/lib64/python2.7/pydoc.pytserves$ .   cCsoddd��Y}ddl}y8|j�}z||�}|j�Wd|j�XWntk rjnXdS(sEGraphical interface (starts web server and pops up a control window).tGUIcBs�eZdd�Zd�Zddd�Zdd�Zdd�Zd�Zdd�Z d�Z dd �Z dd �Z d �Z d �Zdd �ZRS(i(c Ss�||_d|_d|_ddl}|j|�|_|j|jdd�|_|j |jddd|j dd�|_ |j |jddd|j dd�|_ |j|�|_|j|jdd �|_|j|j�|_|jjd |j�|j |jdd d d d|jdd�|_tjdkrU|jjdd�n|jjd�|jjd|j �|jjdddd�|j jdddddd�|j jdddddd�|jjdddd�|jjdd�|jjdddddd�|jjdddd�|jj�dtjdkr[dp^df}|j|d|dd�|_|jjd|j�|jjd |j�|j |d!d"d|jj!�|_"|jj#d#|j"j$�|j|�|_%|j |j%dd$d|j�|_&|j |j%dd%d|j'�|_(|j&jdddddd�|j(jdddddd�|jj)�|jj*�|_+|jj,�|_-|jj.�|jj.�|jj.�|j%j.�|_/|j+|j/|_0|_1d |_2|jj3d&|j+|j-f�|jj4|j+|j-�|jj5j6�ddl7}|j8d't9d(||j:|j f�j;�dS()Ni����R4sStarting server... s open browsertcommandR�tdisableds quit servings Search forststoptpadyiR#tsidetrighttpydoctWM_DELETE_WINDOWttoptfillRQtlefttexpandit helveticaii tfonttheightis storienttverticaltyscrollcommandsgo to selecteds hide resultss%dx%dR�R�(<twindowR_tservertscannertTkintertFramet server_frmtLabelt title_lbltButtonR�topen_btnR�tquit_btnt search_frmt search_lbltEntryt search_enttbindR R�tstop_btnRR2tpackR�tprotocolt focus_settListboxt result_lstR�tgotot Scrollbartyviewt result_scrtconfigR�t result_frmtgoto_btnthidethide_btnRDt winfo_widthtminwidtht winfo_heightt minheighttwinfo_reqheightt bigminheighttbigwidtht bigheighttexpandedt wm_geometryt wm_minsizettkt willdispatcht threadingtThreadR�treadyR(R RR�RR�R/((s/usr/lib64/python2.7/pydoc.pyRt_sp     ! !  &    cSsM||_|jjdd|j�|jjdd�|jjdd�dS(NR4sPython documentation server at R�tnormal(RR RRR R (R R((s/usr/lib64/python2.7/pydoc.pyR1�s   cSs�|p|jj}yddl}|j|�Wnatk r�tjdkrbtjd|�q�tjd|�}|r�tjd|�q�nXdS(Ni����R#s start "%s"s netscape -remote "openURL(%s)" &snetscape "%s" &( RRt webbrowserR�R�RR2RR�(R teventRR3trc((s/usr/lib64/python2.7/pydoc.pyR��s  cSs)|jrd|j_n|jj�dS(Ni(RR�R(R R4((s/usr/lib64/python2.7/pydoc.pyR��s c Ss|jj�}|jjdd�|jjdd�|jjdd|�|jj�|jjdd�|jjdd �|j jdd �|j �d dl }|j r�d |j _ nt�|_ d �}|jd|j jd|j||jfdtd|��j�dS(NR�R�R�R2R4sSearching for "%s"...R�iRR�i����icSsdS(N((R*((s/usr/lib64/python2.7/pydoc.pyR��sR�R�tkwargsR�(RR�RRRRtforgetRtdeleteRR�R/RR�R�R0R�RDR�RR(R R4RJR/R�((s/usr/lib64/python2.7/pydoc.pyR �s"      cSsF|ddkr!|d d}n|jjd|d|p=d�dS(Ni����s .__init__s (package)Rs - s(no description)(Rtinsert(R RR*R�((s/usr/lib64/python2.7/pydoc.pyRD�s cSs%|jr!d|j_d|_ndS(Ni(RR�R_(R R4((s/usr/lib64/python2.7/pydoc.pyR��s  cSs�d|_|jjdd�|jjdd�|jjdddddd �tjd krm|jj �n|jjd d �dS( NR4s Search forR�R�R�R�RQR�iR#R�R�( R_RRRRRRR2RR7(R ((s/usr/lib64/python2.7/pydoc.pyR��s cSs|jjdd�dS(NR�R2(RR(R R4((s/usr/lib64/python2.7/pydoc.pyR��scSsZ|jj�}|rVt|jj|d��d}|jd|jj|d�ndS(NiRs.html(Rt curselectionRR�R�RR(R R4t selectionR*((s/usr/lib64/python2.7/pydoc.pyR�s cSs�|js dS|jj�|jj�|jj�|jj�|_|jj�|_ |jj d|j |j f�|jj |j |j �d|_dS(Ns%dx%di(R*RR7RRRR"R(R$R)R+R#R%R,(R ((s/usr/lib64/python2.7/pydoc.pytcollapse�s     cSs�|jr dS|jjdddd�|jjdddd�|jjddddd d �|jjd |j|jf�|jj |j |j �d |_dS( NR�tbottomR�RQR�tyR�tbothR�is%dx%d( R*RRRRRR+R(R)R,R#R'(R ((s/usr/lib64/python2.7/pydoc.pyR��s  cSs|j�|j�dS(N(R�R<(R R4((s/usr/lib64/python2.7/pydoc.pyR  s N(RRRtR1R_R�R�R RDR�R�R�RR<R�R (((s/usr/lib64/python2.7/pydoc.pyR�^s E         i����N((RtTktmainlooptdestroyR�(R�RR�tgui((s/usr/lib64/python2.7/pydoc.pyRC\s�    cCs%t|t�o$t|tj�dkS(Ni(RnRrRRtsep(RQ((s/usr/lib64/python2.7/pydoc.pytispath scCs�ddl}ddd��Y}dtjkrtjjtjd�}|tjkritjj|�ntjjdd�ny�|jtjdd �\}}d}x�|D]�\}}|d kr�t�dS|d kr�t |�dS|d krGyt |�}Wnt k r |�nXd �} d�} t || | �dS|dkr�d}q�q�W|so|�nx�|D]�} t | �r�tjj| � r�d| GHPny|t | �r�tjj| �r�t| �} n|rt | �r tjj| �r t| �q#t| �n tj| �Wqvtk r>} | GHqvXqvWWnT|j|fk r�tjjtjd�} d| tj| | | tjfGHnXdS(s@Command-line interface (looks at sys.argv to decide what to do).i����NtBadUsagecBseZRS((RR(((s/usr/lib64/python2.7/pydoc.pyRF sRiRisgk:p:ws-gs-ks-pcSsd|jGHdS(Nspydoc server ready at %s(R(R((s/usr/lib64/python2.7/pydoc.pyR16 scSs dGHdS(Nspydoc server stopped((((s/usr/lib64/python2.7/pydoc.pytstopped8 ss-wsfile %r does not exists�pydoc - the Python documentation tool %s ... Show text documentation on something. may be the name of a Python keyword, topic, function, module, or package, or a dotted reference to a class or function within a module or module in a package. If contains a '%s', it is used as the path to a Python source file to document. If name is 'keywords', 'topics', or 'modules', a listing of these things is displayed. %s -k Search for a keyword in the synopsis lines of all available modules. %s -p Start an HTTP server on the given port on the local machine. Port number 0 can be used to get an arbitrary unused port. %s -w ... Write out the HTML documentation for a module to a file in the current directory. If contains a '%s', it is treated as a filename; if it names a directory, documentation is written for all the contents. ((tgetoptRRRtdirnametargvtremoveR9RCR�R R�R�REtexistsRuR�RR�R�R�R�R�R�RD(RHRFt scriptdirtoptsR�twritingtopttvalR�R1RGtargRKR�((s/usr/lib64/python2.7/pydoc.pytcli s^                R�(bRTR-R&R$R/RR�RR"R�RRcR9R�R�RtstringRRRRRRRRt tracebackR t collectionsR R�R�RRR)R,R3R6R;R t IGNORECASER<R=RARERRR_RbRiRoRjt NameErrorR$RqR!tlocaletgetpreferredencodingRsRyR~R�RNR�R�R�R�R�R�R~RR�R�R�R�R�R�R�R�R�R4R�R�R�R�R�R�R'R�R�R�R�R�R�R�R�RCRERSR(((s/usr/lib64/python2.7/pydoc.pyt!s� l:                   29*��% �Y  !  ,       �o , [ �  Q