grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B Í唿oé¾ðã@sþdgZdZdZdZddlZddlZddlZddlZddl Zddl Z ddl Z ddl Z ddl Z ddlZddlZddlZddlZddlZddlZddlZddlZddlmZddlmZddlmZd d „Zd d „Zd d„Zdd„Z dd„Z!dd„Z"dd„Z#e $dej%¡Z&dd„Z'dd„Z(dd„Z)dd„Z*d d!„Z+dyd"d#„Z,d$d%„Z-d&d'„Z.d(d)„Z/d*d+„Z0ifd,d-„Z1Gd.d/„d/e2ƒZ3d0d1„Z4difd2d3„Z5Gd4d5„d5ƒZ6Gd6d7„d7eƒZ7Gd8d9„d9e6ƒZ8Gd:d;„d;eƒZ9Gdd?„d?e:ƒZ;d@dA„adFdG„Z?dHdI„Z@dJdK„ZAdLdM„ZBdNdO„ZCdPdQ„ZDdzdRdS„ZEe:ƒZFe;ƒZGe8ƒZHd{dTdU„ZId|dWdX„ZJd}dYdZ„ZKd~d[d\„ZLdd^d_„ZMGd`da„daƒZNeNƒZOGdbdc„dcƒZPddde„ZQdfdg„ZRd€didj„ZSd�dkdldmœdndo„ZTdpdq„ZUdrds„ZVdtdu„ZWdvdw„ZXeYdxk�rúeXƒdS)‚ÚhelpzKa-Ping Yee z26 February 2001zÔ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. éN)Údeque)ÚRepr)Úformat_exception_onlycCs`g}g}xRtjD]H}tj |p d¡}tj |¡}||krtj |¡r| |¡| |¡qW|S)NÚ.)ÚsysÚpathÚosÚabspathÚnormcaseÚisdirÚappend)ÚdirsZnormdirsÚdirZnormdir©rú*/opt/alt/python37/lib64/python3.7/pydoc.pyÚpathdirsQs   rcCs.t |¡pt |¡}|r*t dd| ¡¡p,dS)Nz^ * Ú)ÚinspectÚgetdocZ getcommentsÚreÚsubÚrstrip)ÚobjectÚresultrrrr]srcCsf| ¡ d¡}t|ƒdkr&|ddfSt|ƒdkrX|d ¡sX|dd |dd…¡fSdd |¡fS)NÚ érré)ÚstripÚsplitÚlenrÚjoin)ÚdocÚlinesrrrÚsplitdocbs   r$cCs"|j}|j|kr|jd|}|S)Nr)Ú__name__Ú __module__)rÚmodnameÚnamerrrÚ classnameks r)cCs>t |¡p:t |¡p:t |¡p:t |¡p:t |¡p:t |¡ S)N)rÚismoduleÚisclassÚ isroutineZisframeZ istracebackZiscode)rrrrÚisdatarsr-cGs2x,|r,|d | |d¡¡}|dd…}qW|S)Nrrr)r!r)ÚtextZpairsrrrÚreplacexsr/cCsXt|ƒ|krTtd|ddƒ}td|d|ƒ}|d|…d|t|ƒ|d…S|S)Nrérz...)r Úmax)r.ÚmaxlenZpreZpostrrrÚcrams  $r3z at 0x[0-9a-f]{6,16}(>+)$cCs t d|¡S)Nz\1)Ú _re_stripidr)r.rrrÚstripidˆsr5cCs(t |¡p&t |¡p&t |¡p&t |¡S)N)rÚ isfunctionÚismethodÚ isbuiltinZismethoddescriptor)ÚobjrrrÚ_is_some_method�s   r:cCs<t |¡rdSt |¡r8t|ddƒ}t |¡p4|dk SdS)NTÚ__self__F)rr7r8Úgetattrr*)ÚfnÚselfrrrÚ_is_bound_method“s    r?cCshi}x t |t¡D]\}}d||<qWx|jD]}| t|ƒ¡q.Wx| ¡D]}t||ƒ||<qNW|S)Nr)rÚ getmembersr:Ú __bases__ÚupdateÚ allmethodsÚkeysr<)ÚclÚmethodsÚkeyÚvalueÚbaserrrrC s  rCcCs<g}g}x*|D]"}||ƒr&| |¡q| |¡qW||fS)N)r )ÚsÚ predicateZyesÚnoÚxrrrÚ _split_listªs  rNcCs\|dkr dS| d¡r$| d¡r$dS| d¡rÚ__spec__Ú __author__Ú __qualname__Ú __loader__Ú __credits__Ú __version__Ú __cached__r&Ú __builtins__Ú __slots__Ú__date__Ú__path__Ú__doc__Ú __package__Ú__file__r%rÚ__rÚ_Ú_fieldsT)Ú startswithÚendswithÚhasattr)r(Úallr9rrrÚ visiblename»srdcCsDg}x:t |¡D],\}}}}t |¡r*d}| ||||f¡qW|S)Nzdata descriptor)rÚclassify_class_attrsÚisdatadescriptorr )rÚresultsr(ÚkindÚclsrHrrrreÏs  recs\t|dgƒ‰y‡fdd„tˆƒDƒ‰Wntk r>i‰YnX‡fdd„}|j|d�dS)Nr_csi|]\}}|tˆƒ|“qSr)r )Ú.0Úir()Úfieldsrrú Þsz#sort_attributes..csˆ |dd¡|dfS)Nr)Úget)Úattr)Ú field_orderrrÚáóz!sort_attributes..)rG)r<Ú enumerateÚ TypeErrorÚsort)ÚattrsrZkeyfuncr)rprlrÚsort_attributesØs   rwcCs<tj |¡r8x*dD]"}tj tj |d|¡¡rdSqWdS)N)z.pyz.pycÚ__init__TF)r rr Úisfiler!)rÚextrrrÚ ispackageæs   r{cCsÈ| ¡}x*|dd…dks"| ¡s2| ¡}|s Pq W| ¡}|dd…dkrX|dd…}|dd…dkrÀ|dd…}|dd…dkr�|dd…}x| ¡sª| ¡}|s’Pq’W| d¡d  ¡}nd}|S) Nrú#ézr"""r0z"""éÿÿÿÿú\r)Úreadlinerr)ÚfileÚlinerrrrÚsource_synopsisîs&    rƒc Cst |¡j}| |d¡\}}|dks.||k�r| ttjjƒ¡rJtjj }n | ttjj ƒ¡rftjj }nd}|dkr°yt   |¡}Wntk r”dSX|�t|ƒ}WdQRXnZ|d|ƒ}tjjd||d�}ytj |¡} Wn dStjd=| j�r| j ¡dnd}||f||<|S)N)NNZ__temp__)Úloaderr)r ÚstatÚst_mtimernraÚtupleÚ importlibÚ machineryÚBYTECODE_SUFFIXESÚSourcelessFileLoaderÚEXTENSION_SUFFIXESÚExtensionFileLoaderÚtokenizeÚopenÚOSErrorrƒÚutilÚspec_from_file_locationÚ _bootstrapÚ_loadrÚmodulesrZÚ splitlines) ÚfilenameÚcacheÚmtimeZ lastupdaterZ loader_clsr�r„ÚspecÚmodulerrrÚsynopsisÿs4      rœc@seZdZdd„Zdd„ZdS)ÚErrorDuringImportcCs||_|\|_|_|_dS)N)r—ÚexcrHÚtb)r>r—Úexc_inforrrrx(szErrorDuringImport.__init__cCs|jj}d|j||jfS)Nzproblem in %s - %s: %s)ržr%r—rH)r>ržrrrÚ__str__,szErrorDuringImport.__str__N)r%r&rQrxr¡rrrrr�&sr�c Cs¬tjj}t|dƒ�}|| t|ƒ¡k}WdQRXtj |¡}tj  |¡\}}|r`tj   ||¡}ntj   ||¡}tjj |||d�}y tj |¡St|t ¡ƒ‚YnXdS)NÚrb)r„)rˆr‘Ú MAGIC_NUMBERr�Úreadr r rÚbasenameÚsplitextÚ_bootstrap_externalr‹ÚSourceFileLoaderr’r“r”r�rr ) rÚmagicr�Z is_bytecoder—r(rzr„ršrrrÚ importfile0s   rªc s"yb|rXˆtjkrXˆtjkrX‡fdd„tjDƒ}x(ˆg|D]}tj|||<tj|=q:Wtˆƒ}Wnxt ¡\}}}} ˆtjkršttjˆj| ƒ‚n<|tkr°t|j| ƒ‚n&t |t ƒrÈ|j ˆkrÈdStˆt ¡ƒ‚YnXx@ˆ  d¡dd…D]*} yt || ƒ}Wqðtk �rdSXqðW|S)Ncsg|]}| ˆd¡r|‘qS)r)r`)rjÚm)rrrú Vszsafeimport..rr)rr•Úbuiltin_module_namesÚ __import__r r�r\Ú SyntaxErrorr—Ú issubclassÚ ImportErrorr(rr<ÚAttributeError) rÚ forceloadr˜ZsubsrGr›ržrHrŸÚinfoÚpartr)rrÚ safeimportBs.     r¶c@sfeZdZej ddejdd…¡Zd dd„Z d dd„Z e Z Z Z ZZZe d ¡fd d „ZdS)ÚDocÚ PYTHONDOCSz%https://docs.python.org/%d.%d/libraryNrcGs¨||f|}t |¡r |j|ŽSt |¡r4|j|ŽSy@t |¡rJ|j|ŽSt |¡r^|j|ŽSt |¡rr|j |ŽSWnt k rˆYnXt |t ƒrž|j |ŽS|j|ŽS)N)rÚisgetsetdescriptorÚdocdataÚismemberdescriptorr*Ú docmoduler+Údocclassr,Ú docroutiner²Ú isinstanceÚpropertyÚ docpropertyÚdocother)r>rr(ÚargsrrrÚdocumentxs"       z Doc.documentcGs*d|odt|ƒt|ƒjf}t|ƒ‚dS)Nz.don't know how to document object%s of type %sú )ÚreprÚtyper%rt)r>rr(rÃÚmessagerrrÚfailŠszDoc.failZstdlibcCsÊyt |¡}Wntk r&d}YnXtj d|j¡}tj |¡}t |t tƒƒrÂ|j dksz|  |¡rÂ|  tj  |d¡¡sÂ|j dkrÂ|  d¡r¨d| d¡|j  ¡f}qÆtj  ||j  ¡d ¡}nd}|S) Nz (built-in)r¸) ÚerrnoÚ exceptionsZgcZimpÚmarshalÚposixÚsignalrÚ_threadZ zipimportz site-packages)z xml.etreeztest.pydoc_mod)zhttp://zhttps://z%s/%sú/z.html)rÚ getabsfilertr Úenvironrnr¸rr r¿rÇr%r`r!rÚlower)r>rZbasedirr�ÚdoclocrrrÚ getdocloc’s       z Doc.getdocloc)N)N)r%r&rQr rÒrnrÚ version_infor¸rÄrÉr¼r½r¾rÂrÁrºÚ sysconfigZget_pathrÕrrrrr·rs  r·c@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „ZeZd d „Z eZ d S)ÚHTMLReprcCs,t |¡d|_|_d|_d|_|_dS)Néé éd)rrxÚmaxlistÚmaxtupleÚmaxdictÚ maxstringÚmaxother)r>rrrrx°s  zHTMLRepr.__init__cCst|ddddddƒS)Nú&z&úz>)r/)r>r.rrrÚescape¶szHTMLRepr.escapecCs t ||¡S)N)rrÆ)r>rrrrrƹsz HTMLRepr.reprcCsZtt|ƒdƒr@dd t|ƒj ¡¡}t||ƒr@t||ƒ||ƒS| ttt |ƒƒ|j ƒ¡S)Nr%Úrepr_r^) rbrÇr!r%rr<rär3r5rÆrà)r>rMÚlevelÚ methodnamerrrÚrepr1¼s  zHTMLRepr.repr1cCs^t||jƒ}t|ƒ}d|krJdt|ddƒkrJd|d| |¡|dSt dd| |¡¡S)Nrz\\rÚrrz-((\\[\\abfnrtv\'"]|\\[0-9]..|\\x..|\\u....)+)z\1)r3rßrÆr/rärr)r>rMræÚtestÚtestreprrrrÚ repr_stringÃs zHTMLRepr.repr_stringcCs8y| ttt|ƒƒ|jƒ¡S| d|jj¡SdS)Nz <%s instance>)rär3r5rÆrßÚ __class__r%)r>rMrærrrÚ repr_instanceÐszHTMLRepr.repr_instanceN) r%r&rQrxrärÆrèrìÚrepr_strrîZ repr_unicoderrrrrØ®s rØc@s eZdZeƒZejZejZdd„Zd4dd„Zd5d d „Z d d „Z d d„Z d6dd„Z dd„Z dd„Zdd„Zdd„Zdd„Zdd„Zdiiifdd„Zd7d d!„Zd8d"d#„Zddiifd$d%„Zd&d'„Zddiiidfd(d)„Zd*d+„Zd9d,d-„Zd:d.d/„Zd;d0d1„Zd Python: %s %s r)r>ÚtitleÚcontentsrrrÚpageász HTMLDoc.pagercCsd|||||pdfS)Na'
 
 
%s
%s
z r)r>rñÚfgcolÚbgcolÚextrasrrrÚheadingës zHTMLDoc.headingéNú c Cs^|dkrdd|d}d|||f} |r@| d||||f} n| d|||f} | d|S)Nzz zzË

zR z( z'
 
%s
%s %s
%s
%s%s%s
r) r>rñrôrõròÚwidthZpreludeZ marginaliaZgaprrrrÚsectionöszHTMLDoc.sectioncGsd|}|j|f|žŽS)Nz%s)rû)r>rñrÃrrrÚ bigsection szHTMLDoc.bigsectionc Cs&| | ¡¡}t|ddddddddƒ S)Nz z rÅz rz
)räÚ expandtabsr/)r>r.rrrÚ preformats zHTMLDoc.preformatr}cCsŠd}t|ƒ|d|}xht|ƒD]\}|dd|}x>t|||||ƒD]$}|t|ƒkrN||||ƒd}qNW|d}q"Wd|S)NrrzrÛz
zz7%s
)r Úrange)r>ÚlistÚformatZcolsrÚrowsÚcolrkrrrÚ multicolumns  zHTMLDoc.multicolumncCsd|S)Nz%sr)r>r.rrrÚgrey#rrz HTMLDoc.greycGs*x$|D]}||krd|||fSqW|S)Nz%sr)r>r(ZdictsÚdictrrrÚnamelink%s zHTMLDoc.namelinkcCsN|jtj |j¡}}t||ƒrDt||ƒ|krDd|j|t||ƒfSt||ƒS)Nz%s)r%rr•rnr&rbr<r))r>rr'r(r›rrrÚ classlink,s zHTMLDoc.classlinkcCsd|j|jfS)Nz%s)r%)r>rrrrÚ modulelink4szHTMLDoc.modulelinkcCsR|\}}}}|r| |¡S|r,d||f}nd|}|rBd|}n|}d||fS)Nz %s.%s.htmlz%s.htmlz"%s (package)z%s)r)r>Z modpkginfor(rr{ÚshadowedÚurlr.rrrÚ modpkglink8s   zHTMLDoc.modpkglinkcCs d||fS)Nz%sr)r>r rrrrÚfilelinkGszHTMLDoc.filelinkcCsŒ|p|j}g}d}t d¡}�xL| ||¡} | s2P|  ¡\} } | |||| …ƒ¡|  ¡\} } }}}}| r�|| ƒ dd¡}| d||f¡nÔ|r¸dt|ƒ}| d||| ƒf¡n¬|ràdt|ƒ}| d||| ƒf¡n„|�r$|| | d…d k�r| d |  ||¡¡n| d |¡n@|| | d…d k�rR| |  ||||¡¡n| |  ||¡¡| }q W| |||d…ƒ¡d   |¡S) NrzD\b((http|ftp)://\S+[\w/]|RFC[- ]?(\d+)|PEP[- ]?(\d+)|(self\.)?(\w+))ú"z"z%sz'http://www.rfc-editor.org/rfc/rfc%d.txtz(http://www.python.org/dev/peps/pep-%04d/rú(zself.zself.%sr) rärÚcompileÚsearchÚspanr Úgroupsr/Úintrr!)r>r.räÚfuncsÚclassesrFrgÚhereÚpatternÚmatchÚstartÚendrcZschemeZrfcZpepZselfdotr(r rrrÚmarkupKs<      zHTMLDoc.markupc CsÂd}x´|D]¬}t|ƒtdƒkr�|\}}|d}|| ||¡}|r†||fkr†g}x|D]} | | | |¡¡qVW|dd |¡d}|d}q t|ƒtgƒkr |d| |||¡}q Wd |S) Nrrz"

rz, ú)z
z
%s
z
%s
)rÇrr r!Ú formattree) r>Útreer'ÚparentrÚentryÚcÚbasesÚparentsrIrrrrvs    zHTMLDoc.formattreec# sÎ|j}y |j}Wntk r(d}YnX| d¡}g}x@tt|ƒdƒD],}| dd |d|d…¡||f¡qJWd ||dd…¡} d| } y&t  |¡} t j   | ¡} ˆ  | | ¡} Wntk rÖd} YnXg}t|dƒ�r:t|jƒ}|dd…d k�r&|dd…d k�r&|dd… ¡}| d ˆ |¡¡t|d ƒ�r\| ˆ t|jƒ¡¡|�rt| d d |¡} ˆ |¡}|dk �r”dtƒ}nd}ˆ | ddd| |¡}t |tj¡}gi}}xlt |tj¡D]Z\}}|dk �st |¡�pø||k�rØt|||ƒ�rØ| ||f¡d|||<||<�qØWxŒ|D]„\}}xx|jD]n}|j|j}}tj  !|¡}||k�rL|�rLt||ƒ�rLt"||ƒ|k�rL||k�rL|d|||<||<�qLW�q%sr~z)%sz (built-in)rTé z $Revision: ú$z version %srXz (%s)z, z-
Module Referencerz#ffffffz#7799eezindex
r|z.html#z#-z %sz

%s

rYrzPackage Contentsz#aa55cccsˆ |d¡S)Nr)r )Út)r>rrrqßrrz#HTMLDoc.docmodule..ZModulescSsg|] \}}|‘qSrr)rjrGrHrrrr¬äsz%HTMLDoc.docmodule..ZClassesz#ee77aarÅZ Functionsz#eeaa77ZDataz#55aa55z
rPZAuthorrSZCredits)6r%Ú__all__r²rrÿr r r!rrÑÚurllibÚparseZquoter rtrbÚstrrTrrärXrÕÚlocalsr÷r@r*r+Ú getmodulerdrAr&rr•rnr<r,r8r6r-rrrþÚpkgutilÚ iter_modulesrYrurr rürÚ getclasstreerÄrPrS)#r>rr(ÚmodÚignoredrcÚpartsZlinksrkZ linkednameÚheadrr r r´ÚversionrÔrr•rZcdictrGrHrIr'r›rZfdictÚdatar"ÚmodpkgsÚimporterÚispkgròÚ classlistr)r>rr¼‰sÚ   &     $         $        zHTMLDoc.docmodulec szˆj}|p |}ˆj}g} | j‰G‡fdd„dƒ} | ƒ‰tt ˆ¡ƒ} t| ƒdkrŒˆ ¡ˆdƒx"| D]} ˆdˆ | ˆj ¡ƒqfWˆdƒ‡‡‡‡‡‡‡‡fdd„} ‡‡‡‡fd d „}‡‡‡‡‡‡‡‡fd d „}‡fd d„t ˆƒDƒ}i‰xv|D]n\}}}}d|d|ˆ|<}yt ˆ|ƒ}Wnt k �r:YnXy |ˆ|<Wqòt k �r^YqòXqòWxð|�rT| �r||  ¡‰n |dd‰t|‡fdd„ƒ\}}ˆtjk�r´|}�qfn"ˆˆk�rÄd}ndˆ ˆˆj ¡}|d7}t|ˆƒ| d||dd„ƒ}| d||dd„ƒ}| d||dd„ƒ}|d||dd„ƒ}|d||d d„ƒ}|}�qfWd! | ¡} ||k�rxd"||f}nd#|||f}|�rÆg}x"|D]} | ˆ | ˆj ¡¡�q–W|d$d% |¡}d!}yt ˆ¡}Wntt fk �röd}YnX|�r(t|ƒ}|�r(|d&k�r(|ˆ |¡d'}tˆƒ}|�rD||�p@d!}ˆ |ˆjˆˆˆ¡}|�odd(|}ˆ |d)d*| d+|¡S),Ncs eZdZdd„Z‡fdd„ZdS)z(HTMLDoc.docclass..HorizontalRulecSs d|_dS)Nr)Úneedone)r>rrrrxsz1HTMLDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)Nz
r)r;)r>)ÚpushrrÚmaybesz.HTMLDoc.docclass..HorizontalRule.maybeN)r%r&rQrxr=r)r<rrÚHorizontalRule sr>rz&
Method resolution order:
z
%s
z
c s”t||ƒ\}}|r�ˆ ¡ˆ|ƒxl|D]d\}}}}ytˆ|ƒ}Wn&tk rhˆˆ ||ˆ¡ƒYnXˆˆ ||ˆˆˆˆˆ¡ƒˆdƒq(W|S)Nr)rNr=r<Ú ExceptionÚ_docdescriptorrÄ)ÚmsgrvrKÚokr(rhÚhomeclsrH)rrÚhrÚmdictr1rr<r>rrÚspill s  zHTMLDoc.docclass..spillcsNt||ƒ\}}|rJˆ ¡ˆ|ƒx&|D]\}}}}ˆˆ ||ˆ¡ƒq(W|S)N)rNr=r@)rArvrKrBr(rhrCrH)rDr1r<r>rrÚspilldescriptors2sz*HTMLDoc.docclass..spilldescriptorsc sÂt||ƒ\}}|r¾ˆ ¡ˆ|ƒxš|D]’\}}}}ˆ tˆ|ƒ|ˆ¡}t|ƒsZt |¡rht|ddƒ} nd} | dkr‚ˆd|ƒn0ˆ t|ƒˆj ˆˆˆ¡} d| } ˆd|| fƒˆdƒq(W|S)NrZz
%s
z
%sz
%s%s
r) rNr=rÂr<Úcallablerrfrrrþ) rArvrKrBr(rhrCrHrIr")rrrDrEr1rr<r>rrÚ spilldata;s"  z#HTMLDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)rd)rjr(rhrirH)rrrr¬Ps z$HTMLDoc.docclass..r|ú-rcs |dˆkS)Nrr)r')Ú thisclassrrrqirrz"HTMLDoc.docclass..z defined herezinherited from %sz:
z Methods %scSs |ddkS)NrÚmethodr)r'rrrrqyrrzClass methods %scSs |ddkS)Nrz class methodr)r'rrrrq{rrzStatic methods %scSs |ddkS)Nrz static methodr)r'rrrrq}rrzData descriptors %scSs |ddkS)Nrzdata descriptorr)r'rrrrqrrzData and other attributes %scSs |ddkS)Nrr6r)r'rrrrq�rrrz*class %sz/%s = class %sz(%s)z, z()z z%s
 
z#000000z#ffc8d8r0)r%rAr rrÚgetmror r=rr&rer<r?rtÚpopleftrNÚbuiltinsrrwr!Ú signatureÚ ValueErrorr+rärrrþrû)r>rr(r1rrr2Úrealnamer#ròr>ÚmrorIrFrGrIrvrGrhrCrHÚanchorÚ inheritedÚtagrñr$ÚdeclrPÚargspecr"r) rrrDrEr1rr<r>rKrr½s¤                               zHTMLDoc.docclasscCs| d| |¡¡S)Nú=)rrÆ)r>rrrrÚ formatvalue¥szHTMLDoc.formatvaluec Cs¾|j}|p |}|r|jpdd|} d} d} t|ƒrŠ|jj} |rZ| |k rŠd| | |¡} n0|jdk rzd| |jj|¡} nd| | |¡} ||kr d| |f} nD|rÒt ||g¡|krÒd|jd||f}d } n|}d | ||f} d}t |¡�rNyt |¡}Wnt t fk �r d}YnX|�rNt |ƒ}|d k�rNd |} |d d …}|�sXd}| |  |¡| �ov|  d| ¡}| �rˆd|S| t|ƒ|j|||¡}|�o¬d|}d||fSdS)NrrJrz from z method of %s instancez unbound %s methodz$%sz%srz)%s = %szz$%s lambda r~z(...)z'%sz
%s
z
%s
z
%s
%s
)r%r?r;rírrÚgetattr_staticr,rPrQrtr+rärrrrþ)r>rr(r1rrrFrErRrTÚnoteÚskipdocsÚimclassrñZreallinkrXrPrWr"rrrr¾©sX       zHTMLDoc.docroutinecCsTg}|j}|r|d|ƒ|jdk rB| t|ƒ|j¡}|d|ƒ|dƒd |¡S)Nz!
%s
z
%s
z
r)r rZrrrþr!)r>r(rHr1rgr<r"rrrr@äs   zHTMLDoc._docdescriptorcCs| |||¡S)N)r@)r>rr(r1rErrrrÁñszHTMLDoc.docpropertycGs|r d|pd}|| |¡S)Nz%s = r)rÆ)r>rr(r1r2ZlhsrrrrÂõszHTMLDoc.docothercCs| |||¡S)N)r@)r>rr(r1rErrrrºúszHTMLDoc.docdatacCs„g}|dkri}xLt |g¡D]<\}}}tdd„|Dƒƒrsz HTMLDoc.index..rrz#ffffffz#ee77aa)r.r/Úanyr rurr rü)r>rr r7r8r(r9ròrrrÚindexþs z HTMLDoc.index)r)rørNrù)r})N)NN)NNN)NN)NNN)N)r%r&rQrØÚ_repr_instancerÆrärór÷rûrürþrrrrr r r rrr¼r½rZr¾r@rÁrÂrºrcrrrrrðØs:   +  y$:   rðc@s0eZdZdd„Zdd„Zdd„ZeZdd„Zd S) ÚTextReprcCs,t |¡d|_|_d|_d|_|_dS)NrÙrÚrÛ)rrxrÜrÝrÞrßrà)r>rrrrxs  zTextRepr.__init__cCsTtt|ƒdƒr@dd t|ƒj ¡¡}t||ƒr@t||ƒ||ƒSttt|ƒƒ|j ƒS)Nr%rår^) rbrÇr!r%rr<r3r5rÆrà)r>rMrærçrrrrès  zTextRepr.repr1cCsHt||jƒ}t|ƒ}d|krDdt|ddƒkrDd|d||dS|S)Nrz\\rrér)r3rßrÆr/)r>rMrærêrërrrrìs  zTextRepr.repr_stringcCs,yttt|ƒƒ|jƒSd|jjSdS)Nz <%s instance>)r3r5rÆrßrír%)r>rMrærrrrî)szTextRepr.repr_instanceN)r%r&rQrxrèrìrïrîrrrrres  rec@sˆeZdZeƒZejZdd„Zddd„Zdd„Zdd d „Z dd d „Z ddd„Z dd„Z d dd„Z dd„Zd!dd„Zd"dd„Zd#dd„ZdS)$ÚTextDoccCsd dd„|Dƒ¡S)Nrcss|]}|d|VqdS)úNr)rjr`rrrra9szTextDoc.bold..)r!)r>r.rrrÚbold7sz TextDoc.boldú cs>|sdS‡fdd„| d¡Dƒ}|r4|d ¡|d<d |¡S)Nrcsg|] }ˆ|‘qSrr)rjr‚)Úprefixrrr¬>sz"TextDoc.indent..rr~)rrr!)r>r.rjr#r)rjrÚindent;s zTextDoc.indentcCs$| |¡ ¡}| |¡d|dS)Nrz )rkrrh)r>rñròZclean_contentsrrrrûBszTextDoc.sectionNrc s¤d}xš|D]’}t|ƒtdƒkrt|\}}||t|ˆƒ}|rj||fkrj‡fdd„|Dƒ} |dd | ¡}|d}q t|ƒtgƒkr || |ˆ||d¡}q W|S) Nrrc3s|]}t|ˆƒVqdS)N)r))rjr")r'rrraQsz%TextDoc.formattree..z(%s)z, rz )rÇr)r!r) r>rr'r rjrr!r"r#r$r)r'rrIs  zTextDoc.formattreec CsD|j}tt|ƒƒ\}}| d||o(d|¡}t|ddƒ}| |¡}|dk r`|| d|d¡}|rt|| d|¡}g} xNt |tj¡D]<\} } |dk sªt  | ¡p¤||krˆt | ||ƒrˆ|   | | f¡qˆWg} xXt |tj ¡D]F\} } |dk �st  | ¡�st  | ¡|krÜt | ||ƒrÜ|   | | f¡qÜWg} x6t |t¡D]&\} } t | ||ƒ�r8|   | | f¡�q8Wg}tƒ}t|dƒ�rÞxFt |j¡D]6\}}}| |¡|�r°|  |d¡n |  |¡�q†W| ¡|| d d  |¡¡}g}xBt |tj¡D]0\} } | j |d ¡�rò| |k�rò|  | ¡�qòW|�rJ| ¡|| d d  |¡¡}| �r²d d„| Dƒ}| t |d¡|¡g}x&| D]\} } |  | | | |¡¡�qzW|| dd  |¡¡}| �rúg}x&| D]\} } |  | | | |¡¡�qÂW|| dd  |¡¡}| �rFg}x*| D]"\} } |  |j| | |dd�¡�q W|| dd  |¡¡}t|dƒ�r t|jƒ}|dd…dk�r�|dd…dk�r�|dd… ¡}|| d|¡}t|dƒ�rÂ|| dt|j ƒ¡}t|dƒ�rä|| dt|j!ƒ¡}t|dƒ�r|| d t|j"ƒ¡}yt #|¡}Wnt$k �r.d!}YnX|| d"|¡}|S)#NÚNAMEz - r(zMODULE REFERENCEa. The following documentation is automatically generated from the Python source files. It may be incomplete, incorrect or include features that are considered implementation detail and may vary between Python implementations. When in doubt, consult the module reference at the location listed above. Z DESCRIPTIONrYz (package)zPACKAGE CONTENTSrrZ SUBMODULEScSsg|] \}}|‘qSrr)rjrGrHrrrr¬™sz%TextDoc.docmodule..rÚCLASSESÚ FUNCTIONSéF)r2ZDATArTr%z $Revision: r~r&ZVERSIONrXZDATErPZAUTHORrSZCREDITSz (built-in)ÚFILE)%r%r$rrûr<rÕrr@r+r-rdr r,r8r-Úsetrbr.r/rYÚaddrur!r*r`rr0rÄrÂr+rTrrXrPrSrÑrt)r>rr(r1ZsynopÚdescrrcrÔrrGrHrr6r7Z modpkgs_namesr8r'r9Z submodulesr:ròr5r�rrrr¼Ysž           $    zTextDoc.docmodulec s²ˆj}|p |}ˆj}ˆjfdd„}||kr:dˆ |¡}nˆ |¡d|}|rlt||ƒ} |dd | ¡}g} | j‰yt ˆ¡} Wnt t fk r d} YnX| rÊt | ƒ} | rÊ| dkrʈ|| dƒt ˆƒ} | râˆ| dƒt t ˆ¡ƒ}t|ƒd k�r.ˆd ƒx|D]}ˆd ||ƒƒ�q Wˆd ƒG‡fd d„dƒ}|ƒ‰‡‡‡‡‡fdd„}‡‡‡‡fdd„}‡‡‡‡‡fdd„}‡fdd„tˆƒDƒ}xæ|�r||�r®| ¡‰n |dd ‰t|‡fdd„ƒ\}}ˆtjk�ræ|}�q˜n ˆˆk�röd}ndtˆˆjƒ}t|ˆƒ|d||dd„ƒ}|d||dd„ƒ}|d ||d!d„ƒ}|d"||d#d„ƒ}|d$||d%d„ƒ}|}�q˜Wd | ¡} | �s–|dS|dˆ |  ¡d&¡dS)'NcSs t||ƒS)N)r))r"r«rrrÚmakenameÄsz"TextDoc.docclass..makenamezclass z = class z(%s)z, z()rrzMethod resolution order:z rcs eZdZdd„Z‡fdd„ZdS)z(TextDoc.docclass..HorizontalRulecSs d|_dS)Nr)r;)r>rrrrxész1TextDoc.docclass..HorizontalRule.__init__cs|jrˆdƒd|_dS)NzF----------------------------------------------------------------------r)r;)r>)r<rrr=ësz.TextDoc.docclass..HorizontalRule.maybeN)r%r&rQrxr=r)r<rrr>èsr>c s†t||ƒ\}}|r‚ˆ ¡ˆ|ƒx^|D]V\}}}}ytˆ|ƒ}Wn&tk rhˆˆ ||ˆ¡ƒYq(Xˆˆ ||ˆˆ¡ƒq(W|S)N)rNr=r<r?r@rÄ)rArvrKrBr(rhrCrH)rDr1rr<r>rrrFñszTextDoc.docclass..spillcsNt||ƒ\}}|rJˆ ¡ˆ|ƒx&|D]\}}}}ˆˆ ||ˆ¡ƒq(W|S)N)rNr=r@)rArvrKrBr(rhrCrH)rDr1r<r>rrrGsz*TextDoc.docclass..spilldescriptorsc s¦t||ƒ\}}|r¢ˆ ¡ˆ|ƒx~|D]v\}}}}t|ƒsFt |¡rPt|ƒ}nd}ytˆ|ƒ} Wntk r€|j|} YnXˆˆj | |ˆd|d�dƒq(W|S)Nro)r2r"r) rNr=rHrrfrr<r²Ú__dict__rÂ) rArvrKrBr(rhrCrHr"r9)rDr1rr<r>rrrI s  z#TextDoc.docclass..spilldatacs,g|]$\}}}}t|ˆd�r||||f‘qS))r9)rd)rjr(rhrirH)rrrr¬s z$TextDoc.docclass..rcs |dˆkS)Nrr)r')rKrrrq&rrz"TextDoc.docclass..z defined herezinherited from %sz Methods %s: cSs |ddkS)NrrLr)r'rrrrq5rrzClass methods %s: cSs |ddkS)Nrz class methodr)r'rrrrq7rrzStatic methods %s: cSs |ddkS)Nrz static methodr)r'rrrrq9rrzData descriptors %s: cSs |ddkS)Nrzdata descriptorr)r'rrrrq;rrzData and other attributes %s: cSs |ddkS)Nrr6r)r'rrrrq=rrz | )r%rAr&rhÚmapr!r rrPrQrtr+rrrMr rerNrNrOrr)rwrkr)r>rr(r1r2rRr#rtrñr$ròrPrXr"rSrIr>rFrGrIrvrUrVr)rDr1rr<r>rKrr½¾s€                          zTextDoc.docclasscCsd| |¡S)NrY)rÆ)r>rrrrrZGszTextDoc.formatvaluec Csr|j}|p |}d}d}t|ƒrn|jj}|rB||k rndt||ƒ}n,|jdk r`dt|jj|ƒ}ndt||ƒ}||kr‚| |¡} n,|rœt ||g¡|krœd}| |¡d|} d} t |¡�ryt  |¡} Wnt t fk rèd} YnX| �rt | ƒ} |dk�r| |¡d } | dd …} | �s&d } | | |} |�r@| d St |ƒ�pLd} | d | �oj| | ¡ ¡d SdS) Nrrz from z method of %s instancez unbound %s methodrz = zz lambda r~z(...)r)r%r?r;rír)rhrr[r,rPrQrtr+rrkr)r>rr(r1rErRr\r]r^rñrXrPrWr"rrrr¾KsH       zTextDoc.docroutinecCsTg}|j}|r$|| |¡ƒ|dƒt|ƒp.d}|rJ|| |¡ƒ|dƒd |¡S)Nrr)r rhrrkr!)r>r(rHr1rgr<r"rrrr@|s zTextDoc._docdescriptorcCs| |||¡S)N)r@)r>rr(r1rErrrrÁ‰szTextDoc.docpropertycCs| |||¡S)N)r@)r>rr(r1rErrrrº�szTextDoc.docdatac Cs‚| |¡}|rF|r|dpd|}|t|ƒ} | dkrF|d| …d}|rX| |¡dpZd|}|dk r~|d| t|ƒ¡7}|S)Nz = rrz...r)rÆr rhrkr+) r>rr(r1r r2r"rÆr‚Zchoprrrr‘s  zTextDoc.docother)ri)Nr)NN)NN)NNN)NNN)NNN)NNNNN)r%r&rQrerdrÆrhrkrûrr¼r½rZr¾r@rÁrºrÂrrrrrf/s   e   1  rfc@seZdZdd„ZdS)Ú _PlainTextDoccCs|S)Nr)r>r.rrrrhŸsz_PlainTextDoc.boldN)r%r&rQrhrrrrrw�srwcCstƒat|ƒdS)N)ÚgetpagerÚpager)r.rrrry¤sryc s8ttjdƒstSttjdƒs tStj ¡r4tj ¡s8tStj d¡pNtj d¡‰ˆr’tj dkrj‡fdd„Stj d¡dkr†‡fd d„S‡fd d„Stj d¡dkr¦tStj dkr¸d d„Sttd ƒrØt  d ¡dkrØdd„Sddl }|  ¡\}}t  |¡z0ttd ƒ�r t  d|¡dk�r dd„StSWdt |¡XdS)NÚisattyZMANPAGERZPAGERÚwin32cstt|ƒˆƒS)N)Ú tempfilepagerÚplain)r.)Ú use_pagerrrrqµrrzgetpager..ZTERM)ZdumbZemacscstt|ƒˆƒS)N)Ú pipepagerr})r.)r~rrrq·rrcs t|ˆƒS)N)r)r.)r~rrrq¹rrcSstt|ƒdƒS)Nzmore <)r|r})r.rrrrq½rrÚsystemz(less) 2>/dev/nullrcSs t|dƒS)NZless)r)r.rrrrq¿rrz more "%s"cSs t|dƒS)NZmore)r)r.rrrrqÆrr)rbrÚstdinÚ plainpagerÚstdoutrzr rÒrnÚplatformr€ÚtempfileZmkstempÚcloseÚttypagerÚunlink)r…Úfdr—r)r~rrxªs6          rxcCst dd|¡S)Nz.r)rr)r.rrrr}Ìsr}c Cs¢ddl}|j|d|jd�}yDtj|jdd��*}y| |¡Wntk rPYnXWdQRXWntk rrYnXx(y|  ¡PWqvtk r˜YqvXqvWdS)NrT)Úshellr�Úbackslashreplace)Úerrors) Ú subprocessÚPopenÚPIPEÚioÚ TextIOWrapperr�ÚwriteÚKeyboardInterruptr�Úwait)r.Úcmdr�ÚprocÚpiperrrrÐs rc Cs`ddl}| ¡}t|ddd��}| |¡WdQRXzt |d|d¡Wdt |¡XdS)NrÚwr‹)rŒz "r)r…Zmktempr�r’r r€rˆ)r.r•r…r—r�rrrr|çsr|cCs$ttjddƒpd}| |d¡ |¡S)NÚencodingzutf-8r‹)r<rrƒÚencodeÚdecode)r.r™rrrÚ_escape_stdoutòsrœc CsÀtt|ƒƒ d¡}y2ddl}tj ¡}| |¡}| |¡dd„}Wn(t t t j fk rld}dd„}YnX�z2yt tj dd¡ƒ}Wntk r d}YnX|dkr®d}|d}}tj d |d|…¡d¡xÆ||d…�ržtj d ¡tj ¡|ƒ} | d k�rtj d ¡Pn,| d k�rJtj d ||d¡|d}qÚ| d k�rn|||}|dk�rnd}tj dd ||||…¡d¡||}qÚWWd|�rº| ||j|¡XdS)NrrcSs tj d¡S)Nr)rr�r¤rrrrrqÿrrzttypager..cSstj ¡dd…dd…S)Nr~r)rr�r€rrrrrqrrZLINESréz -- more --)ÚqÚQz )ú r)ÚbÚBú)r}rœrÚttyrr�ÚfilenoZ tcgetattrZ setcbreakr±r²r�ÚUnsupportedOperationrr rÒrnrQrƒr’r!ÚflushZ tcsetattrZ TCSAFLUSH) r.r#r¤r‰ÚoldZgetcharÚhréZincr"rrrr‡÷sL              &r‡cCstj tt|ƒƒ¡dS)N)rrƒr’r}rœ)r.rrrr‚#sr‚cCsÜt |¡r>|jtjkr d|jSt|dƒr4d|jSd|jSt |¡rRd|jSt |¡rtd|jj |jj|jfSt  |¡r–d|jj |jj|jfSt  |¡rªd|jSt  |¡r¾d |jSt  |¡rÒd |jSt|ƒjS) Nzbuilt-in module rYzpackage zmodule zbuilt-in function zgetset descriptor %s.%s.%szmember descriptor %s.%s.%szclass z function zmethod )rr*r%rr­rbr8r¹Ú __objclass__r&r»r+r6r7rÇ)ÚthingrrrÚdescribe's.                    r¬c Cs¬dd„| d¡Dƒ}d\}}xB|t|ƒkr^td |d|d…¡|ƒ}|rZ||d}}qPqW|rj|}nt}x8||d…D](}yt||ƒ}Wq|tk r¢dSXq|W|S)NcSsg|] }|r|‘qSrr)rjrµrrrr¬Dszlocate..r)Nrr)rr r¶r!rOr<r²)rr³r3r›ÚnZ nextmodulerrµrrrÚlocateBs  r®cCsVt|tƒr0t||ƒ}|dkr(td|ƒ‚||fSt|ddƒ}|t|tƒrL|ndfSdS)Nz~No Python documentation found for %r. Use help() to get the interactive help utility. Use help(str) for help on the str class.r%)r¿r+r®r±r<)r«r³rr(rrrÚresolve[s    r¯ú Python Library Documentation: %scCsÒ|dkr t}t||ƒ\}}t|ƒ}t |¡}|rTd|krT|d|d| d¡…7}n|rn||k rn|d|j7}t |¡sºt |¡sºt  |¡sºt  |¡sºt  |¡sºt |t ƒsºt|ƒ}|d7}||d| ||¡S)Nrz in z in module z objectz )r.r¯r¬rr-Úrfindr%r*r+r,r¹r»r¿rÀrÇrÄ)r«rñr³Zrendererrr(rsr›rrrÚ render_docis$         r²c Csfy2|dkrtt|||ƒƒn| t|||tƒ¡Wn.ttfk r`}z t|ƒWdd}~XYnXdS)N)ryr²r’Ú plaintextr±r�Úprint)r«rñr³ÚoutputrHrrrr"‚s r"c Cs”y`t||ƒ\}}t t|ƒt ||¡¡}t|dddd��}| |¡WdQRXtd|dƒWn.tt fk rŽ}z t|ƒWdd}~XYnXdS)Nz.htmlr˜zutf-8)r™Zwrote) r¯Úhtmlrór¬rÄr�r’r´r±r�)r«r³rr(rór�rHrrrÚwritedoc�sr·rcCs6|dkr i}x$t |g|¡D]\}}}t|ƒqWdS)N)r.Ú walk_packagesr·)rÚpkgpathZdoner8r'r9rrrÚ writedocs˜s  rºcJ@s*eZdZddddddddddd d d d d dddddddddddddddddddddœ#Zd d!„d"DƒZd¦e˜d'd(d)d*d+d,d-œZd.d/d0d1d2d3d4d5d6d7d8d9d9d:d:d;œZxJe ¡D]>\ZZ x4e D],Z e  e e¡Z ee krÚe d<eZ e ee <q¶Wq¨Wd=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdLdMdNdOdPdQddRdSdSdTdUdVdWdXdYdZd[d\d]d^d_d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{dd d|d}d~dd€œIZ d§d‚dƒ„Z ed„d…„ƒZed†d‡„ƒZdˆd‰„ZeƒZefdŠd‹„ZdŒd�„ZdŽd�„Zd�d‘„Zd’d“„Zd¨d–d—„Zd˜d™„Zdšd›„Zdœd�„Zd©dždŸ„Zdªd d¡„Zd¢d£„Zd«d¤d¥„Z d�S)¬ÚHelperrÚBOOLEANÚwith)Úassertr)Úasyncr)Úawaitr)Úbreakz while for)ÚclasszCLASSES SPECIALMETHODS)Úcontinuez while for)Zfunctionr)ÚdelÚ BASICMETHODSÚif)Úelsez while forÚtry)Úforzbreak continue whileÚimport)Úglobalznonlocal NAMESPACES)rÆÚ TRUTHVALUE)rÊÚMODULES)ÚinÚSEQUENCEMETHODSÚ COMPARISON)Úlambdarn)Únonlocalzglobal NAMESPACES)Úpassr)ÚraiseÚ EXCEPTIONS)Úreturnrn)rÈrÕ)Úwhilezbreak continue if TRUTHVALUE)r½z CONTEXTMANAGERS EXCEPTIONS yield)Úyieldr)#ÚFalseÚNoneÚTrueÚandÚasr¾r¿rÀrÁrÂrÃÚdefrÄÚelifrÇÚexceptÚfinallyrÉÚfromrËrÆrÊrÎÚisrÑrÒÚnotÚorrÓrÔrÖrÈr×r½rØcCsg|]}dD] }||‘q qS))ú'rr)rjÚpržrrrr¬ÓszHelper.)r¡ÚfréÚuræú'''rú""")ú+rJÚ*z**rÐz//ú%z<>ráú|ú^ú~rârãz<=z>=z==z!=z<>)rârãz<=z>=z==z!=z<>)rJrñ) z+=z-=z*=z/=z%=z&=z|=z^=z<<=z>>=z**=z//=)z<>rárïrðrñ)ÚjÚJ)ÚSTRINGSÚ OPERATORSrÐÚUNARYÚAUGMENTEDASSIGNMENTÚBITWISEÚCOMPLEXzOPERATORS FORMATTINGÚPOWERzTUPLES LISTS FUNCTIONSz ATTRIBUTES FLOAT MODULES OBJECTSÚELLIPSISzSLICINGS DICTIONARYLITERALSz def classrôÚ PRIVATENAMESzPRIVATENAMES SPECIALMETHODSZ BACKQUOTESzTUPLES FUNCTIONS CALLSzLISTS SUBSCRIPTS SLICINGS)rîz**ú,rz...ú:ú@rr^r]ú`rrú[ú]rÅ)ÚtypeszRSTRINGS UNICODE NUMBERS SEQUENCES MAPPINGS FUNCTIONS CLASSES MODULES FILES inspect)Ústringsz4str UNICODE SEQUENCES STRINGMETHODS FORMATTING TYPES)zstring-methodszSTRINGS FORMATTING)Z formatstringsrõ)rz:encodings unicode SEQUENCES STRINGMETHODS FORMATTING TYPES)ZnumberszINTEGER FLOAT COMPLEX TYPES)Zintegersz int range)Zfloatingz float math)Z imaginaryz complex cmath)Ztypesseqz$STRINGMETHODS FORMATTING range LISTSÚ DICTIONARIES)Ztypesfunctionsz def TYPES)Z typesmethodszclass def CLASSES TYPES)zbltin-code-objectszcompile FUNCTIONS TYPES)zbltin-type-objectsz types TYPESÚTYPES)zbltin-null-objectr)zbltin-ellipsis-objectÚSLICINGS)Z specialattrsr)rz!class SPECIALMETHODS PRIVATENAMES)Z typesmodulesrÊ)zoperator-summaryz˜lambda or and not in is BOOLEAN COMPARISON BITWISE SHIFTING BINARY FORMATTING POWER UNARY ATTRIBUTES SUBSCRIPTS SLICINGS CALLS TUPLES LISTS DICTIONARIESÚ EXPRESSIONS)Zobjectsr)Z specialnameszbBASICMETHODS ATTRIBUTEMETHODS CALLABLEMETHODS SEQUENCEMETHODS MAPPINGMETHODS NUMBERMETHODS CLASSES)Z customizationzhash repr str SPECIALMETHODS)zattribute-accesszATTRIBUTES SPECIALMETHODS)zcallable-typeszCALLS SPECIALMETHODS)zsequence-typesz(SEQUENCES SEQUENCEMETHODS SPECIALMETHODS)zsequence-typeszMAPPINGS SPECIALMETHODS)z numeric-typesz*NUMBERS AUGMENTEDASSIGNMENT SPECIALMETHODS)Z execmodelz%NAMESPACES DYNAMICFEATURES EXCEPTIONS)Znamingz3global nonlocal ASSIGNMENT DELETION DYNAMICFEATURES)zdynamic-featuresrÚ NAMESPACES)rËztry except finally raise)Z conversionsr)Z identifierszkeywords SPECIALIDENTIFIERS)z id-classesr)zatom-identifiersr)z atom-literalsz=STRINGS NUMBERS TUPLELITERALS LISTLITERALS DICTIONARYLITERALSÚ SEQUENCES)Z exprlistszTUPLES LITERALS)ztypesseq-mutableÚ LISTLITERALS)ZlistszLISTS LITERALS)Z typesmappingÚDICTIONARYLITERALS)rzDICTIONARIES LITERALS)zattribute-referencesz(getattr hasattr setattr ATTRIBUTEMETHODS)Z subscriptionsrÏ)ZslicingsrÏ)Zcallsr)Zpowerr)Zunaryr)Zbinaryr)Zshiftingr)Zbitwiser)Z comparisonszEXPRESSIONS BASICMETHODS)ZbooleanszEXPRESSIONS TRUTHVALUEr¾)Z assignmentr÷)Z augassignÚ NUMBERMETHODSrÄrÖ)Zcompoundzfor while break continue)Útruthz if while and or not BASICMETHODS)ZdebuggerZpdb)zcontext-managersr½)IrrôZ STRINGMETHODSZ FORMATTINGÚUNICODEZNUMBERSZINTEGERZFLOATrùr ZMAPPINGSrnZMETHODSZ CODEOBJECTSZ TYPEOBJECTSZ FRAMEOBJECTSZ TRACEBACKSZNONErûZSPECIALATTRIBUTESrmrÍZPACKAGESrrõZ PRECEDENCEZOBJECTSZSPECIALMETHODSrÅZATTRIBUTEMETHODSZCALLABLEMETHODSrÏZMAPPINGMETHODSr Z EXECUTIONr ZDYNAMICFEATURESZSCOPINGZFRAMESrÕZ CONVERSIONSZ IDENTIFIERSZSPECIALIDENTIFIERSrüZLITERALSZTUPLESZ TUPLELITERALSZLISTSr rr Z ATTRIBUTESZ SUBSCRIPTSrZCALLSrúröZBINARYZSHIFTINGrørÐr¼Z ASSERTIONZ ASSIGNMENTr÷ZDELETIONZ RETURNINGZ IMPORTINGZ CONDITIONALZLOOPINGrÌZ DEBUGGINGZCONTEXTMANAGERSNcCs||_||_dS)N)Ú_inputÚ_output)r>ÚinputrµrrrrxNszHelper.__init__cCs |jp tjS)N)rrr�)r>rrrrRsz Helper.inputcCs |jp tjS)N)rrrƒ)r>rrrrµVsz Helper.outputcCs2t ¡dddkr|ƒdSd|jj|jjfS)Nrr0ú?rz<%s.%s instance>)rÚstackrír&rQ)r>rrrÚ__repr__Zs zHelper.__repr__cCs6||jk r| |¡n| ¡| ¡|j d¡dS)Na 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. )Ú_GoInteractiverÚintroÚinteractrµr’)r>ÚrequestrrrÚ__call__bs   zHelper.__call__c CsÄ|j d¡x²y| d¡}|s PWnttfk r<PYnX| ¡}t|ƒdkr’|d|dkrndkr’nn |d|dd…kr’|dd…}| ¡dkr P|d kr²| ¡q|  |¡qWdS) Nrzhelp> rrr~)rærr)ržÚquitr) rµr’Úgetliner“ÚEOFErrorrr rÓrr)r>rrrrros"  ,   zHelper.interactcCs8|jtjkrt|ƒS|j |¡|j ¡|j ¡SdS)N)rrr�rµr’r§r€)r>Úpromptrrrr„s    zHelper.getlinecCs<t|ƒtdƒk�r| ¡}|dkr,| ¡nÚ|dkr>| ¡nÈ|dkrP| ¡n¶|dkrb| ¡n¤|dd…dkr†| | ¡d¡n€||jkrœ| |¡nj|d kr´t t |ƒd ƒnR||j krÊ|  |¡n<||j krà|  |¡n&|röt |d |jd �nt td |jd �n$t|tƒ�r|ƒnt |d |jd �|j d ¡dS) NrÚkeywordsÚsymbolsÚtopicsr•ézmodules r)rÛrÙrÚz Help on %s:)rµr)rÇrÚ listkeywordsÚ listsymbolsÚ listtopicsÚ listmodulesrr Ú showsymbolr"ÚevalrÚ showtopicr!rr+r¿r»rµr’)r>rrrrr�s6        z Helper.helpcCs$|j d dtjdd…¡¡dS)Na” Welcome to Python {0}'s help utility! If this is your first time using Python, you should definitely check out the tutorial on the Internet at https://docs.python.org/{0}/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, symbols, or topics, type "modules", "keywords", "symbols", or "topics". Each module also comes with a one-line summary of what it does; to list the modules whose name or summary contain a given string such as "spam", type "modules spam". z%d.%dr)rµr’rrrÖ)r>rrrr¢sz Helper.intror}éPc Cs´tt|ƒƒ}||}t|ƒ|d|}x†t|ƒD]z}xht|ƒD]\}|||}|t|ƒkr@|j ||¡||dkr@|j dd|dt||ƒ¡q@W|j d¡q2WdS)NrrÅr)rÚsortedr rÿrµr’) r>ÚitemsÚcolumnsrúZcolwrÚrowrrkrrrr³s    (z Helper.listcCs |j d¡| |j ¡¡dS)NzN Here is a list of the Python keywords. Enter any keyword to get more help. )rµr’rrrD)r>rrrr#ÀszHelper.listkeywordscCs |j d¡| |j ¡¡dS)Nzx Here is a list of the punctuation symbols which Python assigns special meaning to. Enter any symbol to get more help. )rµr’rr rD)r>rrrr$ÇszHelper.listsymbolscCs |j d¡| |j ¡¡dS)NzN Here is a list of available topics. Enter any topic name to get more help. )rµr’rr!rD)r>rrrr%ÏszHelper.listtopicsc Cs,y ddl}Wn tk r,|j d¡dSX|j ||j |¡¡}|s`|j dt|ƒ¡dSt|ƒtdƒkr||  ||¡S|\}}y|jj|}Wn(t k r¼|j dt|ƒ¡dSX|  ¡d}|rÞ|pÔdd|}|�r ddl }dd  | ¡¡d} | | d ¡} |d d  | ¡7}t|ƒdS) Nrzt Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. zno documentation found for %s rrrÅzRelated help topics: z, éHz %s )Úpydoc_data.topicsr±rµr’r!rnrrÆrÇr)ÚKeyErrorrÚtextwrapr!rÚwrapry) r>ÚtopicÚ more_xrefsÚ pydoc_dataÚtargetÚlabelÚxrefsr"r2r.Z wrapped_textrrrr)Ös6    zHelper.showtopiccCsŠy ddl}Wntk r dSX|j ||j |¡¡}|sDtdƒ‚t|tƒrZ| ||¡S|\}}|jj|}|r‚|pxdd|}||fS)Nr)zt Sorry, topic and keyword documentation is not available because the module "pydoc_data.topics" could not be found. rzcould not find topicrrÅ) r0r±r!rnrrQr¿r+Ú _gettopic)r>r4r5r6r7r8r9r"rrrr:ös     zHelper._gettopiccCs*|j|}| d¡\}}}| ||¡dS)NrÅ)r Ú partitionr))r>Úsymbolr7r4r^r9rrrr's zHelper.showsymbolcsv|r |j d |¡¡t|ƒnR|j d¡i}|fdd„‰‡fdd„}tƒjˆ|d�| | ¡¡|j d¡dS) Nzy Here is a list of modules whose name or summary contains '{}'. If there are any, enter a module name to get more help. zI Please wait a moment while I gather a list of all available modules... cSs>|r$|dd…dkr$|dd…d}| d¡dkr:d||<dS)Ni÷ÿÿÿz .__init__z (package)rrr)Úfind)rr'rsr•rrrÚcallback$sz$Helper.listmodules..callbackcsˆd|dƒdS)Nr)r')r>rrÚonerror)sz#Helper.listmodules..onerror)r?z‰ Enter any module name to get more help. Or, type "modules spam" to search for modules whose name or summary contain the string "spam". )rµr’rÚaproposÚ ModuleScannerÚrunrrD)r>rGr•r?r)r>rr&s    zHelper.listmodules)rærêrrë)NN)r}r*)r)r)r)!r%r&rQrZ _strprefixesZ_symbols_inverser r,r4Zsymbols_r<rnr!rxrÀrrµrrrrrrrrrr#r$r%r)r:r'r&rrrrr»Ÿs6          r»c@seZdZddd„ZdS)rANc Cs |r | ¡}d|_i}xztjD]p}|dkrd||<|dkrH|d|dƒqt|ƒjpTd}| d¡d}|d|}| ¡ |¡dkr|d||ƒqW�xdtj |d�D�]R\} }} |jr¶P|dkrÌ|d|dƒq¢yt  | |¡} Wnt k ròw¢YnX| j } t | d ƒ�rny|  |¡} Wn&tk �r:|�r4||ƒw¢YnXtt | ¡ƒ�pNd}t | d ƒ�rh|  |¡}nd}n^ytj | ¡}Wn&tk �r¤|�rž||ƒw¢YnX|j�r¼|j ¡dnd}t|d dƒ}|d|}| ¡ |¡dkr¢||||ƒq¢W|�r|ƒdS) NFÚ__main__rrrrz - )r?Ú get_sourceÚ get_filenamer\)rÓrrr­r®rZrr=r.r¸Ú _get_specr¯r„rbrDr?rƒr�ÚStringIOrErˆr“r”r±r–r<)r>r>rGZ completerr?Úseenr'r(rsr8r9ršr„Úsourcerr›rrrrB7s`       zModuleScanner.run)NNN)r%r&rQrBrrrrrA4srAc CsDdd„}dd„}t ¡�"t d¡tƒj|||d�WdQRXdS)NcSs6|dd…dkr |dd…d}t||o.d|ƒdS)Ni÷ÿÿÿz .__init__z (package)z- )r´)rr'rsrrrr>sszapropos..callbackcSsdS)Nr)r'rrrr?wszapropos..onerrorÚignore)r?)ÚwarningsÚcatch_warningsÚfilterwarningsrArB)rGr>r?rrrr@qs   r@csžddl‰ddl‰ddl‰ddl‰Gdd„dˆjjƒ‰G‡fdd„dˆjjƒ‰G‡‡‡‡‡fdd„dˆjƒ}||||ƒ}| ¡x|j s˜|j s˜t   d¡q€W|S) Nrc@seZdZdd„Zdd„ZdS)z!_start_server..DocHandlercSsX|j d¡rd}nd}| d¡| dd|¡| ¡|j | |j|¡ d¡¡dS)Nz.cssztext/cssz text/htmléÈz Content-Typez%s; charset=UTF-8zutf-8) rraZ send_responseZ send_headerZ end_headersZwfiler’Ú urlhandlerrš)r>Ú content_typerrrÚdo_GET¾s   z(_start_server..DocHandler.do_GETcWsdS)Nr)r>rÃrrrÚ log_messageÎsz-_start_server..DocHandler.log_messageN)r%r&rQrQrRrrrrÚ DocHandler¼srScs(eZdZdd„Z‡fdd„Zdd„ZdS)z _start_server..DocServercSs6||_|j|f|_||_|j ||j|j¡d|_dS)NF)ÚhostZaddressr>rIrxÚhandlerr)r>rTÚportr>rrrrxÔs  z)_start_server..DocServer.__init__csBx4|js4ˆ |j ¡gggd¡\}}}|r| ¡qW| ¡dS)Nr)rÚselectZsocketr¥Zhandle_requestZ server_close)r>ZrdZwrZex)rWrrÚserve_until_quitÛs  z1_start_server..DocServer.serve_until_quitcSs |j |¡|jr| |¡dS)N)rIÚserver_activater>)r>rrrrYâs z0_start_server..DocServer.server_activateN)r%r&rQrxrXrYr)rWrrÚ DocServerÒs rZcs:eZdZ‡fdd„Z‡‡‡‡fdd„Zdd„Zdd„Zd S) z#_start_server..ServerThreadcs2||_||_t|ƒ|_ˆj |¡d|_d|_dS)NF)rOrTrrVÚThreadrxÚservingÚerror)r>rOrTrV)Ú threadingrrrxés   z,_start_server..ServerThread.__init__c sxyJˆjjˆ_ˆˆ_ˆjjˆ_t|jƒˆ_ˆ|j |j |j ƒ}||_ |  ¡Wn(tk rr}z ||_Wdd}~XYnXdS)N)ÚserverÚ HTTPServerrIrUrÈZMessageZ MessageClassÚ staticmethodrOrTrVÚreadyÚ docserverrXr?r])r>ZdocsvrÚe)rSrZÚemailÚhttprrrBñs    z'_start_server..ServerThread.runcSs,d|_|j|_|j|_d|j|jf|_dS)NTz http://%s:%d/)r\rTZ server_portrVr )r>r_rrrrbþsz)_start_server..ServerThread.readycSs&d|j_| ¡d|_d|_d|_dS)NTF)rcrr!r\r )r>rrrÚstop s z(_start_server..ServerThread.stopN)r%r&rQrxrBrbrgr)rSrZrerfr^rrÚ ServerThreadçs  rhg{®Gáz„?) Z http.serverZ email.messagerWr^r_ZBaseHTTPRequestHandlerr`r[rr]r\ÚtimeZsleep)rOÚhostnamerVrhZthreadr)rSrZrerfrWr^rÚ _start_servers8' rkú text/htmlc sG‡fdd„dtƒ}|ƒ‰‡fdd„‰‡fdd„‰‡fdd„‰‡fd d „‰‡fd d „‰‡fd d„‰‡fdd„‰‡fdd„‰‡‡‡‡‡‡‡‡fdd„}| d¡rª|dd…}|dkrôtj tj t¡¡}tj ||¡}t|ƒ�}d |  ¡¡SQRXn|dk�r||ƒSt d||fƒ‚dS)NcseZdZ‡fdd„ZdS)z_url_handler.._HTMLDoccsd}d|}d||ˆƒ|fS)Nzpydoc_data/_pydoc.cssz1a  Pydoc: %s %s%s
%s
r)r>rñròÚcss_pathZcss_link)Ú html_navbarrrró" sz#_url_handler.._HTMLDoc.pageN)r%r&rQrór)rnrrÚ_HTMLDoc srocs>ˆ dt ¡t ¡dt ¡f¡}d|ˆ tjdd�¡fS)Nz %s [%s, %s]raZ
Python %s
%s
T)Zterse)rär„Zpython_versionZ python_buildZpython_compiler)r5)r¶rrrn2 s  z!_url_handler..html_navbarcsˆdd„}ˆ ddd¡}dd„tjDƒ}ˆ ||¡}|dˆ d dd |¡g}i}x tjD]}| ˆ ||¡¡qVW| d ¡d d  |¡fS)NcSs d||fS)Nz%sr)r(rrrÚ bltinlinkP sz3_url_handler..html_index..bltinlinkz7Index of Modulesz#ffffffz#7799eecSsg|]}|dkr|‘qS)rCr)rjr(rrrr¬V sz4_url_handler..html_index..z

zBuilt-in Modulesz#ee77aaz|

pydoc by Ka-Ping Yee<ping@lfw.org>zIndex of Modulesr) r÷rr­rrürr rcr!)rpr÷ÚnamesròrHr)r¶rrÚ html_indexM s  z _url_handler..html_indexc s¬g‰‡fdd„}t ¡�*t d¡dd„}tƒj|||d�WdQRXdd„}g}ˆ d d d ¡}x"ˆD]\}}| ||ƒ|¡qhW|ˆ d |d d d |¡¡}d|fS)Ncs:|dd…dkr |dd…d}ˆ ||o0d|f¡dS)Ni÷ÿÿÿz .__init__z (package)z- )r )rr'rs)Ú search_resultrrr>k sz3_url_handler..html_search..callbackrJcSsdS)Nr)r'rrrr?r sz2_url_handler..html_search..onerror)r?cSs d||fS)Nz%sr)r(rrrrpw sz4_url_handler..html_search..bltinlinkz5Search Resultsz#ffffffz#7799eezkey = %sz#ee77aaz
zSearch Results) rKrLrMrArBr÷r rür!) rGr>r?rprgr÷r(rsrò)r¶)rsrÚ html_searchf s    z!_url_handler..html_searchcsLdd„}ˆ ddd¡}ttj ¡ƒ}ˆ ||¡}|ˆ ddd|¡}d|fS)NcSs d||fS)Nz%sr)r(rrrrp‡ sz4_url_handler..html_topics..bltinlinkz,INDEXz#ffffffz#7799eeZTopicsz#ee77aa)r÷r+r»r!rDrrü)rpr÷rqrò)r¶rrÚ html_topics„ s z!_url_handler..html_topicscsLˆ ddd¡}ttj ¡ƒ}dd„}ˆ ||¡}|ˆ ddd|¡}d|fS)Nz,INDEXz#ffffffz#7799eecSs d||fS)Nz%sr)r(rrrrp› sz6_url_handler..html_keywords..bltinlinkZKeywordsz#ee77aa)r÷r+r»rrDrrü)r÷rqrprò)r¶rrÚ html_keywords” s z#_url_handler..html_keywordscs´t ¡}t||ƒ}| |¡\}}||jkr0d}nd}ˆ d|dd¡}dˆ |¡}ˆ |dd|¡}|r˜t|  ¡ƒ}dd „}ˆ  ||¡}ˆ  d dd|¡}d ||fd   |||f¡fS) NZKEYWORDZTOPICz)%sz#ffffffz#7799eez

%s
z#ee77aacSs d||fS)Nz%sr)r(rrrrp´ sz7_url_handler..html_topicpage..bltinlinkzRelated help topics: z%s %sr) r�rGr»r:rr÷rrür+rrrûr!)r4ÚbufZhtmlhelpròr9rñr÷rp)r¶rrÚhtml_topicpage£ s&      z$_url_handler..html_topicpagecs@t|dd�}|dkr$|dkr$tdƒ‚t|ƒ}ˆ ||¡}||fS)Nr)r³rÚzcould not find object)r®rQr¬rÄ)r r9rñÚcontent)r¶rrÚ html_getobj½ s   z!_url_handler..html_getobjcsPˆ ddd¡}d ‡fdd„tt|ƒ|ƒDƒ¡}|ˆ |dd|¡}d||fS) Nz,Errorz#ffffffz#7799eez
c3s|]}ˆ |¡VqdS)N)rä)rjr‚)r¶rrraÉ sz3_url_handler..html_error..z#bb0000z Error - %s)r÷r!rrÇrü)r ržr÷rò)r¶rrÚ html_errorÅ s z _url_handler..html_errorc sr|}| d¡r|dd…}�y|dkr2ˆƒ\}}nþ|dkrFˆƒ\}}nê|dkrZˆƒ\}}nÖd|k�r$| d¡\}}}|dkrŠˆ|ƒ\}}n˜|dkrÆyˆ|ƒ\}}Wn tk rˆ|ƒ\}}YnXn\|d k�r|dkr䈃\}}n4yˆ|ƒ\}}Wn"tk �rˆ|ƒ\}}YnXntd ƒ‚n ˆ|ƒ\}}Wn2tk �rd}zˆ||ƒ\}}Wdd}~XYnXˆ ||¡S) Nz.htmléûÿÿÿ)rrcr!rrYz search?keyz topic?keyzget?keyz bad pydoc url)rar;rQr?ró)r Z complete_urlrñryÚopr^rž)r¶r{rzrrrvrtrxrurrÚ get_html_pageÏ s>          z#_url_handler..get_html_pagerÐrztext/cssrz text/htmlz"unknown content type %r for url %s) rðr`r rÚdirnameÚrealpathr\r!r�Ú readlinesrt)r rPror~Z path_herermÚfpr) r¶r{rzrrrvrnrtrxrurÚ _url_handler s*         (    rƒTÚ localhost)Ú open_browserrjc Csâddl}tt||ƒ}|jr(t|jƒdS|jrÞd}|rB| |j¡z‚y^td|jƒt|ƒxD|jržtdƒ}|  ¡}|dkr~Pq\|dkr”| |j¡q\t|ƒq\WWnt t fk rÀtƒYnXWd|jrÜ|  ¡tdƒXdS)Nrz"Server commands: [b]rowser, [q]uitzServer ready atzserver> ržr¡zServer stopped) Ú webbrowserrkrƒr]r´r\r�r rrÓr“rrg)rVr…rjr†Z serverthreadZserver_help_msgr•rrrÚbrowse s2    r‡cCst|tƒo| tj¡dkS)Nr)r¿r+r=r Úsep)rMrrrÚispath) sr‰cCsvd|kstj|kst ¡|kr"dStj t¡}tj |¡}| ¡}||krbtj ||¡sb| |¡|  dt ¡¡|S)Nrr) r ÚcurdirÚgetcwdrrr\ÚcopyÚsamefileÚremoveÚinsert)Z given_pathZargv0Z stdlib_dirZ script_dirÚ revised_pathrrrÚ_get_revised_path, s    r‘cCs,ttjtjdƒ}|dk r(|tjdd…<dS)Nr)r‘rrÚargv)r�rrrÚ_adjust_cli_sys_pathH sr“c Csäddl}Gdd„dtƒ}tƒ�yp| tjdd…d¡\}}d}d}d}d}d}x`|D]X\} } | dkrnd }d }| d kr‚t| ƒdS| d kr’d }| }| d kržd }| d krVd }| }qVW|rÈt|||d�dS|sÐ|‚x¼|D]´} t| ƒrütj   | ¡süt d| ƒPy`t| ƒ�rtj   | ¡�rt | ƒ} |�rPt| ƒ�rFtj  | ¡�rFt| ƒnt| ƒn t | ¡WqÖtk �rˆ} z t | ƒWdd} ~ XYqÖXqÖWWnN|j|fk �rÞtj  tj  tjd¡¡d} t dj| tjd�ƒYnXdS)Nrc@s eZdZdS)zcli..BadUsageN)r%r&rQrrrrÚBadUsageU sr”rzbk:n:p:wFr„z-bTz-kz-pz-wz-n)rjr…zfile %r does not existaÑpydoc - the Python documentation tool {cmd} ... 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 '{sep}', 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. {cmd} -k Search for a keyword in the synopsis lines of all available modules. {cmd} -n Start an HTTP server with the given hostname (default: localhost). {cmd} -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. {cmd} -b Start an HTTP server on an arbitrary unused port and open a Web browser to interactively browse documentation. This option can be used in combination with -n and/or -p. {cmd} -w ... Write out the HTML documentation for a module to a file in the current directory. If contains a '{sep}', it is treated as a filename; if it names a directory, documentation is written for all the contents. )r•rˆ)Úgetoptr?r“rr’r@r‡r‰r rÚexistsr´ryrªr rºr·rr�r]r¦r¥rrˆ)r•r”ZoptsrÃZwritingZ start_serverr…rVrjÚoptÚvalÚargrHr•rrrÚcliR s`    "ršrC)NN)r)r)r°rN)r°rN)r)rN)rl)r)Zr(rPrXrSrOZimportlib._bootstraprˆZimportlib._bootstrap_externalZimportlib.machineryÚimportlib.utilrr�r r.r„rrr×rirŽZ urllib.parser)rKÚ collectionsrÚreprlibrÚ tracebackrrrr$r)r-r/r3rÚ IGNORECASEr4r5r:r?rCrNrdrerwr{rƒrœr?r�rªr¶r·rØrðrerfrwryrxr}rr|rœr‡r‚r¬r®r.r³r¶r¯r²r"r·rºr»rrAr@rkrƒr‡r‰r‘r“ršr%rrrrÚ(s¾           ' 0<*; p" ,    = n% U