grthtrhthjhtyjytjytkergtrhtrjytjerhrfh4:24 29/09/2026B dœ™ "Û•ã @s²dddddddddd d d g Zd d lZdZdZdZeeZdZeddZdZdZ eee eZ ddd„Z d d l Z d dlmZGdd„deƒZGdd „d ed�ZGdd „d ƒZd S)Ú ascii_lettersÚascii_lowercaseÚascii_uppercaseÚcapwordsÚdigitsÚ hexdigitsÚ octdigitsÚ printableÚ punctuationÚ whitespaceÚ FormatterÚTemplateéNz ZabcdefghijklmnopqrstuvwxyzZABCDEFGHIJKLMNOPQRSTUVWXYZÚ 0123456789ZabcdefZABCDEFZ01234567z !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~cCs|pd dd„| |¡Dƒ¡S)Nú css|]}| ¡VqdS)N)Ú capitalize)Ú.0Úx©rú+/opt/alt/python37/lib64/python3.7/string.pyú 0szcapwords..)ÚjoinÚsplit)ÚsÚseprrrr%s )ÚChainMapcs eZdZdZ‡fdd„Z‡ZS)Ú_TemplateMetaclassa/ %(delim)s(?: (?P%(delim)s) | # Escape sequence of two delimiters (?P%(id)s) | # delimiter and a Python identifier {(?P%(bid)s)} | # delimiter and a braced identifier (?P) # Other ill-formed delimiter exprs ) csbtt|ƒ |||¡d|kr$|j}n$tjt |j¡|j|jp@|jdœ}t  ||j tj B¡|_dS)NÚpattern)ZdelimÚidZbid) ÚsuperrÚ__init__rÚ_reÚescapeÚ delimiterÚ idpatternÚbraceidpatternÚcompileÚflagsÚVERBOSE)ÚclsÚnameÚbasesZdctr)Ú __class__rrrAs z_TemplateMetaclass.__init__)Ú__name__Ú __module__Ú __qualname__rrÚ __classcell__rr)r+rr7src@s>eZdZdZdZdZejZdd„Z dd„Z dd „Z d d „Z dS) r ú$z(?a:[_a-z][_a-z0-9]*)NcCs ||_dS)N)Útemplate)Úselfr1rrrrZszTemplate.__init__cCsd| d¡}|jd|…jdd�}|s.d}d}n"|td |dd…¡ƒ}t|ƒ}td||fƒ‚dS)NÚinvalidT)ÚkeependséÚéÿÿÿÿz.Invalid placeholder in string: line %d, col %d)Ústartr1Ú splitlinesÚlenrÚ ValueError)r2ÚmoÚiÚlinesÚcolnoÚlinenorrrÚ_invalid_s zTemplate._invalidcsl|s tdƒ‚|^‰}t|ƒdkr(tdƒ‚|s2|‰n|rFt||dƒ‰n|d‰‡‡fdd„}ˆj |ˆj¡S)Nz>descriptor 'substitute' of 'Template' object needs an argumentr5zToo many positional argumentsr csd| d¡p| d¡}|dk r(tˆ|ƒS| d¡dk r<ˆjS| d¡dk rTˆ |¡tdˆjƒ‚dS)NÚnamedÚbracedÚescapedr3z#Unrecognized named group in pattern)ÚgroupÚstrr"rAr;r)r<rB)Úmappingr2rrÚconvertys  z$Template.substitute..convert)Ú TypeErrorr:Ú _ChainMaprÚsubr1)ÚargsÚkwsrHr)rGr2rÚ substituteks  zTemplate.substitutecsl|s tdƒ‚|^‰}t|ƒdkr(tdƒ‚|s2|‰n|rFt||dƒ‰n|d‰‡‡fdd„}ˆj |ˆj¡S)NzCdescriptor 'safe_substitute' of 'Template' object needs an argumentr5zToo many positional argumentsr cs|| d¡p| d¡}|dk rBy tˆ|ƒStk r@| ¡SX| d¡dk rVˆjS| d¡dk rl| ¡Stdˆjƒ‚dS)NrBrCrDr3z#Unrecognized named group in pattern)rErFÚKeyErrorr"r;r)r<rB)rGr2rrrH”s  z)Template.safe_substitute..convert)rIr:rJrrKr1)rLrMrHr)rGr2rÚsafe_substitute†s  zTemplate.safe_substitute) r,r-r.r"r#r$r Ú IGNORECASEr&rrArNrPrrrrr Ns )Ú metaclassc@sVeZdZdd„Zdd„Zddd„Zdd „Zd d „Zd d „Zdd„Z dd„Z dd„Z dS)r cOsN|s tdƒ‚|^}}y |^}}Wntk r>tdƒd‚YnX| |||¡S)Nz;descriptor 'format' of 'Formatter' object needs an argumentz@format() missing 1 required positional argument: 'format_string')rIr;Úvformat)rLÚkwargsr2Ú format_stringrrrÚformat°s  zFormatter.formatcCs.tƒ}| ||||d¡\}}| |||¡|S)Né)ÚsetÚ_vformatÚcheck_unused_args)r2rUrLrTÚ used_argsÚresultÚ_rrrrS¼szFormatter.vformatr c Csî|dkrtdƒ‚g}xÊ| |¡D]¼\}} } } |r:| |¡| dk r | dkrl|dkrZtdƒ‚t|ƒ} |d7}n|  ¡r„|r€tdƒ‚d}| | ||¡\} } | | ¡| | | ¡} |j| ||||d|d�\} }| |  | | ¡¡q Wd  |¡|fS)Nr zMax string recursion exceededr6FzJcannot switch from manual field specification to automatic field numberingr5)Úauto_arg_index) r;ÚparseÚappendrFÚisdigitÚ get_fieldÚaddÚ convert_fieldrYÚ format_fieldr)r2rUrLrTr[Zrecursion_depthr^r\Z literal_textÚ field_nameÚ format_specÚ conversionÚobjZarg_usedrrrrYÂs4     zFormatter._vformatcCst|tƒr||S||SdS)N)Ú isinstanceÚint)r2ÚkeyrLrTrrrÚ get_valueøs zFormatter.get_valuecCsdS)Nr)r2r[rLrTrrrrZÿszFormatter.check_unused_argscCs t||ƒS)N)rV)r2ÚvaluergrrrreszFormatter.format_fieldcCsN|dkr |S|dkrt|ƒS|dkr,t|ƒS|dkrs$     a