fM ddlZgdZdZGddZddZddZd Zejd ejZ ejd ejZ d Z dd Z e dkree ddSdS)N) TextWrapperwrapfilldedentindentshortenz ceZdZ eeeeedZdZ dZ de j ezZ de ddzZe jde e e ed ze jZ[ [ [e jd e zZ[ e jd Z dddddZdZdZdZdZdZdZdZdZdS)r z [\w!"\'&.,?]z[^\d\W]z[%s]z[^Na ( # any whitespace %(ws)s+ | # em-dash between words (?<=%(wp)s) -{2,} (?=\w) | # word, possibly hyphenated %(nws)s+? (?: # hyphenated word -(?: (?<=%(lt)s{2}-) | (?<=%(lt)s-%(lt)s-)) (?= %(lt)s -? %(lt)s) | # end of word (?=%(ws)s|\Z) | # em-dash (?<=%(wp)s) (?=-{2,}\w) ) ))wpltwsnwsz(%s+)z[a-z][\.\!\?][\"\']?\ZFTFz [...]) max_lines placeholderc ||_||_||_||_||_||_||_||_| |_| |_ | |_ | |_ dSN) widthinitial_indentsubsequent_indent expand_tabsreplace_whitespacefix_sentence_endingsbreak_long_wordsdrop_whitespacebreak_on_hyphenstabsizerr) selfrrrrrrrrrr rrs //opt/alt/python311/lib64/python3.11/textwrap.py__init__zTextWrapper.__init__psg ,!2&"4$8! 0. 0 "&c |jr||j}|jr||j}|Sr)r expandtabsr r translateunicode_whitespace_transr!texts r"_munge_whitespacezTextWrapper._munge_whitespacesL   1??4<00D  " A>>$"?@@D r$c |jdur|j|}n|j|}d|D}|S)NTcg|]}||Sr..0cs r" z&TextWrapper._split..s)))q)!)))r$)r wordsep_resplitwordsep_simple_rer!r*chunkss r"_splitzTextWrapper._splits\   D ( (_**400FF+11$77F))V))) r$c d}|jj}|t|dz krK||dzdkr|||rd||dz<|dz }n|dz }|t|dz kIdSdS)Nrr r z )sentence_end_researchlen)r!r7i patsearchs r"_fix_sentence_endingsz!TextWrapper._fix_sentence_endingss  (/ #f++a-ac{c!!iiq &:&:!"qs QQ #f++a-r$c |dkrd}n||z }|jr|}|d}|jrVt||krC|dd|}|dkr&t d|d|Dr|dz}||d|||d|d<dS|s)||dSdS)Nr -rc3"K|] }|dkV dS)rCNr.r/s r" z0TextWrapper._handle_long_word..s&%G%G1a3h%G%G%G%G%G%Gr$)rrr=rfindanyappendpop) r!reversed_chunkscur_linecur_lenr space_leftendchunkhyphens r"_handle_long_wordzTextWrapper._handle_long_words  199JJJ   3C#B'E$ %Uj)@)@S!Z88A::#%G%Ggvg%G%G%G"G"G: 1*C OOE$3$K ( ( ("'+OB     3 OOO//11 2 2 2 2 2 3 3r$c: g}|jdkrtd|jz|jh|jdkr|j}n|j}t |t |jz|jkrtd||rg}d}|r|j}n|j}|jt |z }|j r#|d dkr|r|d=|rNt |d}||z|kr-| | ||z }nn|N|rSt |d|kr:| ||||ttt |}|j r;|r9|d dkr|t |dz}|d=|r|jWt |dz|jks<|r4|j r`t |dkrM|d s3||kr-| |d|zn!|r|d ra|t |jz|krF| |j| |d|zn|t |dz}|d=||rU|d}t |t |jz|jkr||jz|d<n3| ||jzn||S)Nrzinvalid width %r (must be > 0)r z#placeholder too large for max widthrBr)r ValueErrorrrrr=rlstripreverserstriprHrIrQsummapjoinrstrip) r!r7linesrrKrLrl prev_lines r" _wrap_chunkszTextWrapper._wrap_chunkss  :??= JKK K > %~!!/,6{{S!1!8!8!:!:;;;djHH !FGGG G HG -/,JV,E# r (8(8(:(:b(@(@U(@2J r OOQ;%''OOFJJLL111qLGG  2#fRj//E11&&vx%HHHc#x0011# ! !Xb\5G5G5I5IR5O5O3x|,,,RL N*JJNT^334)4[[A%%**&0750@0@LL"''(*;*;!;<<<<"I$RL..00"#c$*:&;&;;uDD$OOD,<===!LL"''(2C2C)CDDD!3x|#4#44$RL#I!&(-b (8(8(:(:I #IT5E1F1F F$(J!/!/,58H,Hb % Vd.>.E.E.G.G%GHHHOG R r$cV||}||Sr)r+r8r)s r" _split_chunkszTextWrapper._split_chunksUs'%%d++{{4   r$c ||}|jr||||Sr)r`rr@r^r6s r"rzTextWrapper.wrap[sO ##D))  $ /  & &v . . .  (((r$cT d||S)N )rYrr)s r"rzTextWrapper.fillis% yy4)))r$) rrrTTFTTTr)__name__ __module__ __qualname__dictfromkeysrXord _whitespacer( word_punctletterreescape whitespace nowhitespacecompileVERBOSEr3r5r;r#r+r8r@rQr^r`rrr.r$r"rrs.` $}}SSk-B-BCCHHMM!J F929[111J*QRR.(L ! 777" #J$ FL # 8j#899!bj"'((O  "#%!$(&+"&!%"&' %'''''>   ,$!3!3!3ReeeN!!! ) ) )*****r$rrc J tdd|i|}||SNrr.)rrr*rkwargsws r"rrus1 **%*6**A 66$<<r$c J tdd|i|}||Srt)rrrus r"rrs1 **%*6**A 66$<<r$c td|dd|}|d|S)Nr )rrr r.)rrrYrVr4rus r"rrsU  7%17777A 66#((4::<<--//00 1 11r$z^[ ]+$z(^[ ]*)(?:[^ ])c d}td|}t|}|D]m}||}||r||r|}5t t ||D]\}\}}||kr |d|}nn |rtjd|zd|}|S)Nrrrcz(?m)^) _whitespace_only_resub_leading_whitespace_refindall startswith enumeratezipr4rm)r*marginindentsrr>xylines r"rrs F  " "2t , ,D$,,T22G >FF  v & &    v & & FF 's66':':;;   6Aq66#BQBZFE = 3vh'T22 Kr$c\ dfd}d|S)Nc*|Sr)rV)rs r" predicatezindent..predicates::<< r$c3dKdD]}|r|zn|VdS)NT) splitlines)rrprefixr*s r"prefixed_lineszindent..prefixed_linessPOOD)) ? ?D$-IdOO=6D== > > > > ? ?r$r)rY)r*rrrs``` r"rrs`   ??????? 77>>## $ $$r$__main__z Hello there. This is indented.)rr)rm__all__rjrrrrrq MULTILINEr{r}rrrdprintr.r$r"rs H H H  _*_*_*_*_*_*_*_*H         2 2 2$!bjR\::#$;R\JJ000f%%%%$ z E&&4 5 566666r$