Files
tamigo-cli/venv/lib/python3.12/site-packages/rich/__pycache__/pretty.cpython-312.pyc

270 lines
40 KiB
Plaintext
Raw Normal View History

<EFBFBD>
<00><16>i<EFBFBD><69><00><00><><00>UddlZddlZddlZddlZddlZddlZddlZddlmZddlmZm Z m
Z
m Z m Z ddlm Z mZmZddlmZddlmZddlmZddlmZmZmZmZmZmZmZmZmZmZm Z m!Z!m"Z"dd l#m$Z$ ddl%Z&e'e&d
<EFBFBD>Z(d d l*m+Z+d dl,m-Z-d dl.m/Z/d dl0m1Z1d dl2m3Z3d dl4m5Z5d dl6m7Z7m8Z8d dl9m:Z:d dl;m<Z<erd dl=m>Z>m?Z?m@Z@mAZAmBZBmCZCdedeDfd<19>ZEdededfd<1B>ZFdeGdeDfd<1C>ZHej<>dg<00>ZJdeGdeDfd<1E>ZK doded ed!d"d#d$eDd%eDd&eeLd'eeLd(eeLd)eDde"eMdffd*<2A>ZNdeGd+e"eOe!eOd,ffdeDfd-<2D>ZP dod ed!d"d#d$eDd%eDd&eeLd'eeLd(eeLd)eDddfd.<2E>ZQGd/<2F>d0e7<65>ZRd1eeefde!eMeMeMffd2<64>ZSd1eede!eMeMeMffd3<64>ZTd1d4de!eMeMeMffd5<64>ZUej<>d6<64>eeUe eSed7<64>e eTeWd8<64>e d9<64>eXd:<3A>eYd;<3B>e
d<<3C>eZd=<3D>e[d><3E>ed?<3F>i Z\eeOeege!eMeMeMfffe]d@<e[e\j<><00><00>Z_eWej<>ee fZ`dedeDfdA<64>Zae GdB<64>dC<64><00>Zbe GdD<64>dE<64><00>ZcdedeDfdF<64>Zd dpd1ed&eeLd'eeLd(eeLdebf
dG<EFBFBD>ZedHdIdddd dJ<64>d1edKeLdLeLd&eeLd'eeLd(eeLd)eDdeMfdM<64>ZfddNdddd dO<64>d1ed ed!d%eDd&eeLd'eeLd(eeLd)eDddfdP<64>ZgehdQk(r<>GdR<64>dS<64>ZiddTlmjZjGdU<64>dVej<65>Zke eL<65>ZldWeldX<d dYdZd[d\hd]<5D>geXhd^<5E><01>e eYd_gd`<60>i<01>egda<64><01>dbekdcdddedfdgdhg<02>ei<65>di<64>ZmemdXj<>em<65>ddjlompZpepeRemdNdk<64>l<EFBFBD><00>Gdm<64>dn<64>ZqepeReq<65><00><00>yy#e)$rd Z(Y<00><02><>wxYw)q<>N)<01>array)<05>Counter<65>UserDict<63>UserList<73> defaultdict<63>deque)<03> dataclass<73>fields<64> is_dataclass)<01>isclass)<01>islice)<01>MappingProxyType) <0A> TYPE_CHECKING<4E>Any<6E>Callable<6C> DefaultDict<63>Deque<75>Dict<63>Iterable<6C>List<73>Optional<61>Sequence<63>Set<65>Tuple<6C>Union)<01>RichReprResult<6C>ibF<62><00><01> get_console)<01> loop_last)<01> pick_bool)<01>RichRenderable<6C><01>cell_len)<01>ReprHighlighter)<02> JupyterMixin<69>JupyterRenderable)<01> Measurement)<01>Text)<06>Console<6C>ConsoleOptions<6E>HighlighterType<70> JustifyMethod<6F>OverflowMethod<6F> RenderResult<6C>obj<62>returnc<00>N<00>txrtjt|<00><00>S)z1Check if an object was created with attrs module.)<04>
_has_attrs<EFBFBD> _attr_module<6C>has<61>type<70>r1s <20>Q/home/daniel/Projects/tamigo-cli/venv/lib/python3.12/site-packages/rich/pretty.py<70>_is_attr_objectr:<s<00><00> <15> 5<>,<2C>*<2A>*<2A>4<EFBFBD><03>9<EFBFBD>5<>5<>z_attr_module.Attribute[Any]c<00>N<00>trtjt|<00><00>SgS)zGet fields for an attrs object.)r4r5r
r7r8s r9<00>_get_attr_fieldsr=As<00><00>-7<><<3C> <1E> <1E>t<EFBFBD>C<EFBFBD>y<EFBFBD> )<29>?<3F>R<EFBFBD>?r;c<00><><00> |jjjtjt
jfvS#t $rYywxYw)z<>Check if an instance of a dataclass contains the default repr.
Args:
obj (object): A dataclass instance.
Returns:
bool: True if the default repr is used, False if there is a custom repr.
F)<07>__repr__<5F>__code__<5F> co_filename<6D> dataclasses<65>__file__<5F>reprlib<69> Exceptionr8s r9<00>_is_dataclass_reprrFFsO<00><00><15><12>|<7C>|<7C>$<24>$<24>0<>0<> <17> <20> <20> <13> <1C> <1C>5
<EFBFBD>
<EFBFBD>
<EFBFBD><EFBFBD> <15><15><14><15>s<00>?A<00> A<03> A<03>_dummy_namedtuplec<00><><00>d} tj|j<00>}tjt
j<00>}||k(S#ttf$rY<00>9wxYw)z<>Check if an instance of namedtuple contains the default repr
Args:
obj (object): A namedtuple
Returns:
bool: True if the default repr is used, False if there's a custom repr.
N)<06>inspect<63>getfiler?<00>OSError<6F> TypeErrorrG)r1<00>obj_file<6C>default_repr_files r9<00>_has_default_namedtuple_reprrO]s_<00><00><14>H<EFBFBD> <0A><1A>?<3F>?<3F>3<EFBFBD><<3C><<3C>0<><08>
 <20><0F><0F>(9<>(B<>(B<>C<><15> <13>(<28> (<28>(<28><> <14>Y<EFBFBD> <1F> <0A> <0A> <0A>s<00>A <00> A<03>A<03>value<75>consoler+<00>overflowr/<00>crop<6F> indent_guides<65>
max_length<EFBFBD>
max_string<EFBFBD> max_depth<74>
expand_allc <00><><00>ddlm} t|t<00>s|<00>y|xs
t <00>}|j <00>5}
t|| <09>r|j <00>|jt|t<00>r|nt|||||||d<03><04>|dd<06><07>ddd<00>
j<00>jd<08>S#1swY<00>(xYw) Nr)<01>ConsoleRenderable<6C> )rRrTrUrVrWrX<00>marginT<6E>)rS<00>new_line_start<72>end<6E>
) rQrZ<00>_safe_isinstancer(r <00>capture<72>line<6E>printr#<00>Pretty<74>get<65>rstrip) rPrQrRrSrTrUrVrWrXrZrbs r9<00>_ipy_display_hookrhqs<><00><00>+<2B><18><05>0<>1<>U<EFBFBD>]<5D><13><15>&<26><1B><1D>G<EFBFBD> <10><1F><1F> <1A>
<EFBFBD>g<EFBFBD> <1B>E<EFBFBD>#4<> 5<> <13>L<EFBFBD>L<EFBFBD>N<EFBFBD><0F> <0A> <0A>$<24>E<EFBFBD>><3E>:<3A><16><1B><19>%<25>"/<2F>)<29>)<29>'<27>)<29><1D> <12><16><1F><12># <16>
<EFBFBD> 
<EFBFBD>2 <13>;<3B>;<3B>=<3D> <1F> <1F><04> %<25>%<25>3
<EFBFBD>
<EFBFBD>s <00>AB4<03>4B=<07>class_or_tuple.c<00>:<00> t||<01>S#t$rYywxYw)zFisinstance can fail in rare cases, for example types with no __class__F)<02>
isinstancerE)r1ris r9rara<00>s&<00><00><15><19>#<23>~<7E>.<2E>.<2E><> <14><15><14><15>s <00> <00> <03>c <00>$<00><00><01><02><03><04><05><06><07>ddlm}<00>xs|<08><00><00><00>J<00>dtddf<04><00><02><07><03><06><04><05>fd<06> } t<00>}
ddlm} G<00><00><07><03><06><04><05>fd<08>d | <0B>} | <0C>} | |
j jd
<y#t$r| t_
YywxYw) a<>Install automatic pretty printing in the Python REPL.
Args:
console (Console, optional): Console instance or ``None`` to use global console. Defaults to None.
overflow (Optional[OverflowMethod], optional): Overflow method. Defaults to "ignore".
crop (Optional[bool], optional): Enable cropping of long lines. Defaults to False.
indent_guides (bool, optional): Enable indentation guides. Defaults to False.
max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
Defaults to None.
max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to None.
max_depth (int, optional): Maximum depth of nested data structures, or None for no maximum. Defaults to None.
expand_all (bool, optional): Expand all containers. Defaults to False.
max_frames (int): Maximum number of frames to show in a traceback, 0 for no maximum. Defaults to 100.
rrNrPr2c <00><><00><08>|<00>P<EFBFBD><01>J<00>dt_<00>jt|t<00>r|nt |<00><08><04><06><07><05><03><02><00><02><03>|t_yy)z?Replacement sys.displayhook which prettifies objects with Rich.N)rRrTrUrVrWrX)rS)<06>builtins<6E>_rdrar#re) rPrQrSrXrTrWrUrVrRs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r9<00> display_hookzinstall.<locals>.display_hook<6F>sn<00><><00> <10> <1C><1A>&<26> &<26>&<26><1D>H<EFBFBD>J<EFBFBD> <13>M<EFBFBD>M<EFBFBD>(<28><05>~<7E>><3E><1A><1F><1D>!)<29>&3<>#-<2D>#-<2D>"+<2B>#-<2D><16><1A> <1A> <0E> <1F>H<EFBFBD>J<EFBFBD>' r;)<01> BaseFormatterc<00>><00><07>eZdZUdZeed<dedef<04><00><01><02><03><04><05>fd<05> Zy)<07>install.<locals>.RichFormatterT<72>pprintrPr2c
<00>X<00><07>|jrt|<01><02><08><04><06><07><05><03><01>St|<01>S)N)rQrRrTrUrVrWrX)rtrh<00>repr) <09>selfrPrQrXrTrWrUrVrRs <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r9<00>__call__z'install.<locals>.RichFormatter.__call__<5F>s;<00><><00><17>;<3B>;<3B>,<2C><1D> '<27>!)<29>&3<>#-<2D>#-<2D>"+<2B>#-<2D> <16> <16> <20><05>;<3B>&r;N)<08>__name__<5F>
__module__<EFBFBD> __qualname__rt<00>bool<6F>__annotations__rrx)rQrXrTrWrUrVrRs<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r9<00> RichFormatterrs<00>s%<00><><00><1F>F<EFBFBD>D<EFBFBD> <1F> '<27>c<EFBFBD> '<27>c<EFBFBD> '<27> 'r;r~z
text/plain) <0B>richr r<00> get_ipython<6F>IPython.core.formattersrq<00>display_formatter<65>
formatters<EFBFBD> NameError<6F>sys<79> displayhook)rQrRrSrTrUrVrWrXr rp<00>iprqr~<00>rich_formatters```````` r9<00>installr<6C><00>s<><00><><00>0!<21><15>&<26><1B><1D>G<EFBFBD> <12> <1E><1E> <1E><1F>C<EFBFBD><1F>D<EFBFBD><1F><1F>.G<01> <18>]<5D><02> :<3A> '<27> '<27>M<EFBFBD> '<27>&'<27><1F><0E>8F<38><02><1C><1C>'<27>'<27> <0C>5<><35>3 <15>'<27>&<26><03><0F>'<27>s<00>
A8<00>8B<03>Bc<00><><00>eZdZdZ ddddddddddddd<06> deded d
ed ed d eddeededeedeedeededededdfd<18>Z dd<19>Z dd<1A>Z
y)reakA rich renderable that pretty prints an object.
Args:
_object (Any): An object to pretty print.
highlighter (HighlighterType, optional): Highlighter object to apply to result, or None for ReprHighlighter. Defaults to None.
indent_size (int, optional): Number of spaces in indent. Defaults to 4.
justify (JustifyMethod, optional): Justify method, or None for default. Defaults to None.
overflow (OverflowMethod, optional): Overflow method, or None for default. Defaults to None.
no_wrap (Optional[bool], optional): Disable word wrapping. Defaults to False.
indent_guides (bool, optional): Enable indentation guides. Defaults to False.
max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
Defaults to None.
max_string (int, optional): Maximum length of string before truncating, or None to disable. Defaults to None.
max_depth (int, optional): Maximum depth of nested data structures, or None for no maximum. Defaults to None.
expand_all (bool, optional): Expand all containers. Defaults to False.
margin (int, optional): Subtrace a margin from width to force containers to expand earlier. Defaults to 0.
insert_line (bool, optional): Insert a new line if the output has multiple new lines. Defaults to False.
N<>Fr) <0B> indent_size<7A>justifyrR<00>no_wraprTrUrVrWrXr\<00> insert_line<6E>_object<63> highlighterr-r<>r<>r.rRr/r<>rTrUrVrWrXr\r<>r2c <00><><00>||_|xs
t<00>|_||_||_||_||_||_||_| |_ |
|_
| |_ | |_ | |_ y<00>N)r<>r&r<>r<>r<>rRr<>rTrUrVrWrXr\r<>)rwr<>r<>r<>r<>rRr<>rTrUrVrWrXr\r<>s r9<00>__init__zPretty.__init__sk<00><00>"<1F><04> <0C>&<26>;<3B>/<2F>*;<3B><04><18>&<26><04><18>29<32><04> <0C>4<<3C><04> <0A><1E><04> <0C>*<2A><04><1A>$<24><04><0F>$<24><04><0F>"<22><04><0E>$<24><04><0F><1C><04> <0B>&<26><04>r;c #<00><>K<00>t|j|j|jz
|j|j
|j |j|j<00><01>}tj||jxs |j|jxs |jt|j|j<00>d<02><03>}|r|j|<04>n"tt!|j<00><00>d<04>d<05><06>}|j"r)|j$s|j'|jd<07><06>}|j(rd|vrd <09><01>|<04><01>y<00>w)
N<EFBFBD><06> max_widthr<68>rUrVrWrX<00>pretty)r<>rRr<><00>stylez.__repr__ returned empty stringz
dim italic)r<>z repr.indentr`r])<15> pretty_reprr<72>r<>r\r<>rUrVrWrXr*<00> from_ansir<69>rRr"r<>r<>r7rT<00>
ascii_only<EFBFBD>with_indent_guidesr<73>)rwrQ<00>options<6E>
pretty_str<EFBFBD> pretty_texts r9<00>__rich_console__zPretty.__rich_console__0s$<00><00><><00>!<21> <10>L<EFBFBD>L<EFBFBD><1D>'<27>'<27>$<24>+<2B>+<2B>5<><1C>(<28>(<28><1B><EFBFBD><EFBFBD><1B><EFBFBD><EFBFBD><1A>n<EFBFBD>n<EFBFBD><1B><EFBFBD><EFBFBD>
<EFBFBD>
<EFBFBD><1B>n<EFBFBD>n<EFBFBD> <16><18>L<EFBFBD>L<EFBFBD>3<>G<EFBFBD>O<EFBFBD>O<EFBFBD><19>]<5D>]<5D>6<>g<EFBFBD>&6<>&6<><1D>d<EFBFBD>l<EFBFBD>l<EFBFBD>G<EFBFBD>O<EFBFBD>O<EFBFBD><<3C><1A> 
<EFBFBD> <0B><1B> <11> <1C> <1C>[<5B> )<29><15><17><04> <0C> <0C>%<25>&<26>&E<>F<>"<22><0E> <14> <10> <1D> <1D>g<EFBFBD>&8<>&8<>%<25>8<>8<><14> <20> <20> <0A>9<><0E>K<EFBFBD> <10> <1B> <1B><04> <0B> 3<><14>H<EFBFBD><19><19>s<00>EEc <00><00>t|j|j|j|j|j
|j |j<00><01>}|r td<02>|j<00>D<00><00>nd}t||<04>S)Nr<4E>c3<00>2K<00>|]}t|<01><00><01><00>y<00>wr<>r$<00><02>.0rcs r9<00> <genexpr>z*Pretty.__rich_measure__.<locals>.<genexpr>`s<00><00><><00>C<>4<EFBFBD><08><14><0E>C<><43><00>r) r<>r<>r<>r<>rUrVrWrX<00>max<61>
splitlinesr))rwrQr<>r<><00>
text_widths r9<00>__rich_measure__zPretty.__rich_measure__Ssw<00><00>!<21> <10>L<EFBFBD>L<EFBFBD><1D>'<27>'<27><1C>(<28>(<28><1B><EFBFBD><EFBFBD><1B><EFBFBD><EFBFBD><1A>n<EFBFBD>n<EFBFBD><1B><EFBFBD><EFBFBD>
<EFBFBD>
<EFBFBD>HR<01>C<EFBFBD>C<>:<3A>+@<40>+@<40>+B<>C<> C<>WX<57> <13><1B>:<3A>z<EFBFBD>2<>2r;r<>)rQr+r<>r,r2r0)rQr+r<>r,r2r)) ryrzr{<00>__doc__rr<00>intr|r<>r<>r<><00>r;r9rere<00>s<00><00><08>,48<34>'<27>
<1D>-1<>/3<>"'<27>#<23>$(<28>$(<28>#'<27> <20><17>!<21>'<27><14>'<27><1E>/<2F>0<>'<27>
<19> '<27> <1A>/<2F>*<2A> '<27><1B>+<2B>,<2C>'<27><1A>$<24><1E>'<27><1C>'<27><1D>S<EFBFBD>M<EFBFBD>'<27><1D>S<EFBFBD>M<EFBFBD>'<27><1C>C<EFBFBD>=<3D>'<27><19>'<27><14>'<27><1A>'<27>
<0E>!'<27>>!<1A> <20>!<1A>+;<3B>!<1A> <17>!<1A>F3<> <20>3<>+;<3B>3<> <16>3r;rer<>c<00>D<00>d|j<00>d<02>dd|j<00>d<04>fS)Nz defaultdict(z, {<7B>})z, {}))<01>default_factory<72>r<>s r9<00>_get_braces_for_defaultdictr<74>es5<00><00>
<16>w<EFBFBD>.<2E>.<2E>1<><14>6<> <0C>
<16>w<EFBFBD>.<2E>.<2E>1<><17>9<> <06>r;c<00>^<00>|j<00>ydd|j<00>d<04>d|j<00>d<04>fS)N)<03>deque([<5B>])zdeque()r<>z
], maxlen=<3D>)z deque(maxlen=)<01>maxlenr<6E>s r9<00>_get_braces_for_dequer<65>ms><00><00><0E>~<7E>~<7E><1D>+<2B><11>
<14>W<EFBFBD>^<5E>^<5E>$<24>A<EFBFBD>&<26>
<17><07><0E><0E>'<27>q<EFBFBD>)<29> <06>r;z
array[Any]c<00>D<00>d|j<00>d<02>dd|j<00>d<04>fS)Nzarray(z, [r<>r<>)<01>typecoder<65>s r9<00>_get_braces_for_arrayr<79>ws0<00><00><14>W<EFBFBD>%<25>%<25>(<28><03> ,<2C>d<EFBFBD>f<EFBFBD>W<EFBFBD>=M<>=M<><P<>PQ<50>4R<34> S<>Sr;c<00><00>y)N)z environ({r<>z environ({})r<>r<>s r9<00><lambda>r<>|<00><00>r;c<00><00>y)N)z Counter({r<>z Counter()r<>r<>s r9r<>r<>r<>r;c<00><00>y<01>N)<03>{<7B>}z{}r<>r<>s r9r<>r<><00>r<>r;c<00><00>yr<>r<>r<>s r9r<>r<><00>r<>r;c<00><00>y)N)z frozenset({r<>z frozenset()r<>r<>s r9r<>r<><00>r<>r;c<00><00>y<01>N)<03>[<5B>]z[]r<>r<>s r9r<>r<><00>r<>r;c<00><00>yr<>r<>r<>s r9r<>r<><00>r<>r;c<00><00>y)N)r<>r<>zset()r<>r<>s r9r<>r<><00>r<>r;c<00><00>y)N)<03>(r<><00>()r<>r<>s r9r<>r<><00>r<>r;c<00><00>y)N)zmappingproxy({r<>zmappingproxy({})r<>r<>s r9r<>r<><00>r<>r;<00>_BRACESc<00><><00>t|t<00>xs&t|<00>xst|d<01>xs t |<00>xr t |<00> S)z3Check if an object may be expanded by pretty print.<2E> __rich_repr__)ra<00> _CONTAINERSr <00>hasattrr:r r8s r9<00> is_expandabler<65><00>sO<00><00> <19><13>k<EFBFBD>*<2A> <20> <18><13> <1D> <20> <13>C<EFBFBD><1F> )<29> <20> <1B>3<EFBFBD> <1F>  <1B>
<16>c<EFBFBD>l<EFBFBD>
<1A> r;c <00><00>eZdZUdZdZeed<dZeed<dZeed<dZ eed<dZ
eed<dZ e ed <dZ e ed
<dZe ed <d Zeeded <dZeed<dZeed<deefd<13>Zdedede fd<16>Zdefd<17>Z ddedede defd<1B>Zy )<1D>Nodez4A node in a repr tree. May be atomic or a container.r]<00>key_repr<70>
value_repr<EFBFBD>
open_brace<EFBFBD> close_brace<63>emptyF<79>last<73>is_tuple<6C> is_namedtupleN<65>childrenz: <20> key_separatorz, <20> separatorr2c#<00>^K<00>|jr|j<00><01>|j<00><01>|jr|j<00><01>y|j<00><>|jr<>|j<00><01>|j
rN|j sBt|j<00>dk(r*|jdj<00>Ed{<00><02><02>d<04><01>nD|jD]5}|j<00>Ed{<00><02><02>|jr<01>(|j<00><01><00>7|j<00><01>y|j<00><01>yy7<00>l7<00>B<EFBFBD>w)zGenerate tokens for this node.Nrr<00>,) r<>r<>r<>r<>r<>r<>r<><00>len<65> iter_tokensr<73>r<>r<>r<>)rw<00>childs r9r<>zNode.iter_tokens<6E>s<><00><00><><00> <0F>=<3D>=<3D><16>-<2D>-<2D> <1F><16>$<24>$<24> $<24> <0F>?<3F>?<3F><16>/<2F>/<2F> !<21> <11>]<5D>]<5D> &<26><13>}<7D>}<7D><1A>o<EFBFBD>o<EFBFBD>%<25><17>=<3D>=<3D><14>);<3B>);<3B><03>D<EFBFBD>M<EFBFBD>M<EFBFBD>@R<>VW<56>@W<>#<23>}<7D>}<7D>Q<EFBFBD>/<2F>;<3B>;<3B>=<3D>=<3D>=<3D><1D>I<EFBFBD>!%<25><1D><1D>1<><05>#(<28>#4<>#4<>#6<>6<>6<>$<24>z<EFBFBD>z<EFBFBD>"&<26>.<2E>.<2E>0<>1<><1B>&<26>&<26>&<26><1A>j<EFBFBD>j<EFBFBD> <20>'<27>><3E><>7<>s*<00>B:D-<01><D)<04>=+D-<01>(D+<06>)D-<01>:0D-<01>+D-<01> start_lengthrUc<00>\<00>|}|j<00>D]}|t|<04>z }||kDs<01>yy)a*Check the length fits within a limit.
Args:
start_length (int): Starting length of the line (indent, prefix, suffix).
max_length (int): Maximum length.
Returns:
bool: True if the node can be rendered within max length, otherwise False.
FT)r<>r%)rwr<>rU<00> total_length<74>tokens r9<00> check_lengthzNode.check_length<74>s?<00><00>$<24> <0C><19>%<25>%<25>'<27> <1D>E<EFBFBD> <18>H<EFBFBD>U<EFBFBD>O<EFBFBD> +<2B>L<EFBFBD><1B>j<EFBFBD>(<28><1C> <1D>r;c<00>D<00>dj|j<00><00>}|S<00>Nr])<02>joinr<6E>)rw<00> repr_texts r9<00>__str__z Node.__str__<5F>s<00><00><16>G<EFBFBD>G<EFBFBD>D<EFBFBD>,<2C>,<2C>.<2E>/<2F> <09><18>r;r<>r<>rXc<00>(<00>t|d<01><02>g}d}|t|<04>kr[||}|jr6|js*|s|j |<01>s|j |<02>|||dz|dz }|t|<04>kr<01>[dj d<06>|D<00><00>}|S)alRender the node to a pretty repr.
Args:
max_width (int, optional): Maximum width of the repr. Defaults to 80.
indent_size (int, optional): Size of indents. Defaults to 4.
expand_all (bool, optional): Expand all levels. Defaults to False.
Returns:
str: A repr string of the original object.
T)<02>node<64>is_rootrrr`c3<00>2K<00>|]}t|<01><00><01><00>y<00>wr<>)<01>strr<72>s r9r<>zNode.render.<locals>.<genexpr><3E>s<00><00><><00>9<>4<EFBFBD>S<EFBFBD><14>Y<EFBFBD>9<>r<EFBFBD>)<07>_Liner<65><00>
expandable<EFBFBD>expandedr<64><00>expandr<64>)rwr<>r<>rX<00>lines<65>line_norc<00>repr_strs r9<00>renderz Node.render<65>s<><00><00><17>D<EFBFBD>$<24>/<2F>0<><05><13><07><15><03>E<EFBFBD>
<EFBFBD>"<22><18><17>><3E>D<EFBFBD><13><EFBFBD><EFBFBD>t<EFBFBD>}<7D>}<7D><1D>T<EFBFBD>%6<>%6<>y<EFBFBD>%A<>37<33>;<3B>;<3B>{<7B>3K<33>E<EFBFBD>'<27>G<EFBFBD>a<EFBFBD>K<EFBFBD>0<> <13>q<EFBFBD>L<EFBFBD>G<EFBFBD> <16><03>E<EFBFBD>
<EFBFBD>"<22><18>9<EFBFBD>9<EFBFBD>9<>5<EFBFBD>9<>9<><08><17>r;)<03>Pr<>F)ryrzr{r<>r<>r<>r}r<>r<>r<>r<>r<>r|r<>r<>r<>rrr<>r<>rr<>r<>r<>r<>r<>r<>r;r9r<>r<><00>s<><00><00>><3E><16>H<EFBFBD>c<EFBFBD><16><18>J<EFBFBD><03><18><18>J<EFBFBD><03><18><19>K<EFBFBD><13><19><13>E<EFBFBD>3<EFBFBD>O<EFBFBD><16>D<EFBFBD>$<24><16><1A>H<EFBFBD>d<EFBFBD><1A><1F>M<EFBFBD>4<EFBFBD><1F>'+<2B>H<EFBFBD>h<EFBFBD>t<EFBFBD>F<EFBFBD>|<7C>$<24>+<2B><1D>M<EFBFBD>3<EFBFBD><1D><19>I<EFBFBD>s<EFBFBD><19>!<21>X<EFBFBD>c<EFBFBD>]<5D>!<21>,<14><13><14>#<23><14>$<24><14>"<19><13><19>
MR<01><18><1C><18>03<30><18>EI<45><18> <0C>r;r<>c<00><><00>eZdZUdZdZeded<dZeed<dZ ee
ed<dZ e ed<dZ e ed <dZe ed
<dZeed <dZeed <ed efd<0E><04>Zded efd<10>Zded edfd<12>Zd e fd<13>Zy)r<>zA line in repr output.N<>parentFr<46>r<>r]<00>text<78>suffix<69>
whitespacer<EFBFBD>r<>r2c<00>`<00>t|jduxr|jj<00>S)z"Check if the line may be expanded.N)r|r<>r<><00>rws r9r<>z_Line.expandable<6C>s'<00><00><14>D<EFBFBD>I<EFBFBD>I<EFBFBD>T<EFBFBD>)<29>@<40>d<EFBFBD>i<EFBFBD>i<EFBFBD>.@<40>.@<40>A<>Ar;rUc<00><><00>t|j<00>t|j<00>zt|j<00>z}|j
<00>J<00>|j
j ||<01>S)z4Check this line fits within a given number of cells.)r<>rr%rrr<>r<>)rwrUr<>s r9r<>z_Line.check_length<74>sZ<00><00> <10><04><0F><0F> <20>8<EFBFBD>D<EFBFBD>I<EFBFBD>I<EFBFBD>#6<> 6<><18>$<24>+<2B>+<2B>9N<39> N<> <15><14>y<EFBFBD>y<EFBFBD>$<24>$<24>$<24><13>y<EFBFBD>y<EFBFBD>%<25>%<25>l<EFBFBD>J<EFBFBD>?<3F>?r;r<>c #<00>lK<00>|j}|<02>J<00>|j}|jsJ<00>|jr4t |j<00>|j
<00>|j <00><00>|<03><02><00><01>}nt |j |<03><02><00><01>}|jd|zz}|jxrt|j<00>dk(}t|j<00>D].\}}|rdn |j} t |||| |xr| <00><06>}
|
<EFBFBD><01><00>0t |j||j|j<00><07><00><01>y<01>w)z6Expand this line by adding children on their own line.N)rr<00> rr<>)rr<>rrr<>)rrrr<>)r<>rr<>r<>r<>r<>r<>r<>r<>r!r<>r<>rr<>) rwr<>r<>r<00>new_line<6E>child_whitespace<63> tuple_of_oner<65>r<>r<>rcs r9r<>z _Line.expands(<00><00><><00><13>y<EFBFBD>y<EFBFBD><04><13><1F><1F><1F><19>_<EFBFBD>_<EFBFBD>
<EFBFBD><13>}<7D>}<7D><1C>}<7D> <0F>=<3D>=<3D>"<22><1C> <0A> <0A><EFBFBD>t<EFBFBD>'9<>'9<>&:<3A>4<EFBFBD>?<3F>?<3F>:K<>L<>%<25><0E><0E>H<EFBFBD>
#<23><04><0F><0F>J<EFBFBD>O<>O<>H<EFBFBD><1F>?<3F>?<3F>S<EFBFBD>;<3B>-><3E>><3E><18><1B>}<7D>}<7D>@<40><13>T<EFBFBD>]<5D>]<5D>);<3B>q<EFBFBD>)@<40> <0C>$<24>T<EFBFBD>]<5D>]<5D>3<> <17>K<EFBFBD>D<EFBFBD>%<25>+<2B><03><14><1E><1E>I<EFBFBD><18><1F><1A>+<2B> <20><19>.<2E>,<2C>.<2E> <0E>D<EFBFBD><17>J<EFBFBD> <17><14><15>!<21>!<21>!<21><17>;<3B>;<3B><15><19><19> 
<EFBFBD>
<EFBFBD>s<00>D2D4c<00><><00>|jr*|j<00>|j<00>|jxsd<01><00>S|j<00>|j<00>|jxsd<01>|jj <00><00><00>Sr<>)r<>rrr<>rrgrs r9r<>z _Line.__str__(si<00><00> <0F>9<EFBFBD>9<EFBFBD><1A>o<EFBFBD>o<EFBFBD>&<26>t<EFBFBD>y<EFBFBD>y<EFBFBD>k<EFBFBD>$<24>)<29>)<29>/<2F>r<EFBFBD>1B<31>C<> C<><18>?<3F>?<3F>#<23>D<EFBFBD>I<EFBFBD>I<EFBFBD>;<3B>t<EFBFBD>y<EFBFBD>y<EFBFBD><EFBFBD>B<EFBFBD>.?<3F><04> <0B> <0B>@R<>@R<>@T<>?U<>V<> r;)ryrzr{r<>rrr}r<>r|r<>r<>rr<>rrr<>r<><00>propertyr<79>r<>r<>rr<>r<>r<>r;r9r<>r<><00>s<><00><00> <20> $<24>F<EFBFBD>H<EFBFBD>W<EFBFBD> <1D>$<24><19>G<EFBFBD>T<EFBFBD><19><1F>D<EFBFBD>(<28>4<EFBFBD>.<2E><1F><12>D<EFBFBD>#<23>N<EFBFBD><14>F<EFBFBD>C<EFBFBD><14><18>J<EFBFBD><03><18><1A>H<EFBFBD>d<EFBFBD><1A><16>D<EFBFBD>$<24><16> <0A>B<01>D<EFBFBD>B<01><0E>B<01>@<01>s<EFBFBD>@<01>t<EFBFBD>@<01>
<EFBFBD>#<23>
<EFBFBD>(<28>7<EFBFBD>*;<3B>
<EFBFBD>B<0E><13>r;r<>c<00><><00> t|dd<02>}t|t<00>xrt|t<00>S#t$rYywxYw)aXChecks if an object is most likely a namedtuple. It is possible
to craft an object that passes this check and isn't a namedtuple, but
there is only a minuscule chance of this happening unintentionally.
Args:
obj (Any): The object to test
Returns:
bool: True if the object is a namedtuple. False otherwise.
<20>_fieldsNF)<04>getattrrErk<00>tuple)r1r
s r9<00>_is_namedtupler1sD<00><00><15><18><13>i<EFBFBD><14>.<2E><06> <16>c<EFBFBD>5<EFBFBD> !<21> ?<3F>j<EFBFBD><16><15>&?<3F>?<3F><> <15><15><14><15>s <00> 1<00> =<03>=c <00><><00><01><02><03><05><06><07><08> <09>dtdtf<04>fd<03> <0C>t<00><00> <09> j<00><07> j<00>d dtdt
dt dtf<08><05><03><01><06><07><08> fd<06> <0A><00>|d<07><08>}|S)
a`Traverse object and generate a tree.
Args:
_object (Any): Object to be traversed.
max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
Defaults to None.
max_string (int, optional): Maximum length of string before truncating, or None to disable truncating.
Defaults to None.
max_depth (int, optional): Maximum depth of data structures, or None for no maximum.
Defaults to None.
Returns:
Node: The root of a tree structure which can be used to render a pretty repr.
r1r2c<00><><00><01><00><04>>t|ttf<02>r(t|<00><00>kDrt|<00><00>z
}|d<01><00>d|<01><00>}|S t |<00>}|S#t
$r}dt|<03><00>d<04>}Yd}~|Sd}~wwxYw)z0Get repr string for an object, but catch errors.N<>+z <repr-error <20>>)ra<00>bytesr<73>r<>rvrE)r1<00> truncated<65>obj_repr<70>errorrVs <20>r9<00>to_reprztraverse.<locals>.to_reprYs<><00><><00> <17> "<22> <20><13>u<EFBFBD>c<EFBFBD>l<EFBFBD>3<><13>C<EFBFBD><08>:<3A>%<25><1B>C<EFBFBD><08>:<3A>-<2D>I<EFBFBD><1D>k<EFBFBD>z<EFBFBD>*<2A>-<2D>Q<EFBFBD>y<EFBFBD>k<EFBFBD>:<3A>H<EFBFBD> <18><0F>  :<3A><1F><03>9<EFBFBD><08><18><0F><><1D> :<3A>)<29>#<23>e<EFBFBD>*<2A><1E>q<EFBFBD>9<><08><17><0F><> :<3A>s<00> A<00> A3<03>A.<03>.A3<03>root<6F>depthc <00>X<00><07><00>"<22>t<00><00>}|<03>)vr td<01><02>St<00><00>}<04>$duxr|<02>$k\}dtdtt
tt ttfffd<06>} t<00>d<07>}d}|s( t<00>d <09>rt<00><00>s<10>j<00>}|<08><01>7<00>'|<03>t<00>jd
d<08>} t||<08><00>}
<EFBFBD>jj} |
r<EFBFBD>g} | j } |r#| rtd | <0B>d <0C><03><02>}n<>t| <0B>d <0A><02><02>}n<>| rtd | <0B>d<0E>d| |d<0E><10>}nt| <0B>d<11>d| |<01><13>}t#|
<EFBFBD>D]a\}}t%|t&<00>r0|\}}<00>#||dz<00><15>}||_||_d|_| |<13><00>F<00>#||dz<00><15>}||_| |<13><00>cnt| rd | <0B>d<0F>n| <0B>d<17>g|<01><18>}<00>&|<03><00>nt/<00><00><00>rA|<07>s><00>'|<03>g} | j } t1<00><00><00>"<22>"r<>|r$t<00>jj<00>d <0A><02><02>}n<>t<00>jj<00>d<11>d| |<01><13>}dtt ttt2t4tgtfff<02>"<22>fd<19> }t#|<14><00>D]Q\}\}}}|rtt||<16><00><00><02>}n <00>#||dz<00><15>}||_||_d|_| |<13><00>Sn%t<00>jj<00>d<17>g|<01><18>}<00>&|<03><00>n<>t7<00><00><00>rt%<00>t<00>s<>|s<>t9<00><00>r<><00>'|<03>g} | j } |r$t<00>jj<00>d <0A><02><02>}n<>t<00>jj<00>d<11>d| |<01>jj<00>d<17><02><1A>}t#<00>fd<1B>t;<00><00>D<00><00>D]M\}}<00>#t<00>|j<<00>|dz<00><15>}|j<|_||_d|_| |<13><00>O<00>&|<03><00>n<>t?<00><00>r<>tA<00><00>r<><00>'|<03><00>jj} |rt| <0B>d <0A><02><02>}ng} | j } t| <0B>d<11>d| | <0B>d<17><02><1C>}t#<00>jC<00>jE<00><00>D]2\}\}}<00>#||dz<00><15>}||_||_d|_| |<13><00>4<00>&|<03><00>n<>t%<00>tF<00><00>r<>tFD]}t%<00>|<19>s<01>|}n<00>'|<03>tI|<00><00>\}}}|rt|<1A>d|<1B><00><03><02>}<0E>n[|jJt<00><00>jJk7rt<00>(<28><00>|<01><1D>}<0E>n$<24><00>rg} t||| |<01><13>}| j } tM<00><00>}|dz
}t%<00>tN<00>rjtQ<00>jE<00><00>}<1F>%<25> tS|<1F>%<25>}tU|<1F>D]4\} \}}<00>#||dz<00><15>}<00>(|<11>|_| |k(|_| |<13><00>6nKtQ<00><00>}!<21>%<25> tS|!<21>%<25>}!tU|!<21>D]$\} }<00>#||dz<00><15>}| |k(|_| |<13><00>&<00>%<25>-|<1D>%kDr(| td|<1D>%z
<00><00>d<1F><1D><00>nt|g|<01> <20>}<00>&|<03>nt<00>(<28><00>|<01><1D>}t<00><00>t&k(|_+t?<00><00>|_,|S#t$rd}Y<00><06><>wxYw#t$rY<00><06><>wxYw)!zWalk the object depth first.z...)r<>N<> rich_argsr2c3<00><>K<00>|D]h}t|t<00>rRt|<01>dk(r|\}}}||k(r<01>-||f<02><01><00>4t|<01>dk(r |\}}||f<02><01><00>Nt|<01>dk(s<01>]|d<00><01><00>e|<01><01><00>jy<00>w)N<><00>rr)rarr<>)r!<00>arg<72>keyr<79><00>defaults r9<00>iter_rich_argsz3traverse.<locals>._traverse.<locals>.iter_rich_argsys<><00><00><><00> <20> <1E><03>#<23>C<EFBFBD><15>/<2F><1A>3<EFBFBD>x<EFBFBD>1<EFBFBD>}<7D>.1<EFBFBD>+<2B><03>U<EFBFBD>G<EFBFBD>"<22>e<EFBFBD>+<2B>$<24>!<21>5<EFBFBD>j<EFBFBD>(<28><1C>S<EFBFBD><18>Q<EFBFBD><1D>%(<28>
<EFBFBD><03>U<EFBFBD>!<21>5<EFBFBD>j<EFBFBD>(<28><1C>S<EFBFBD><18>Q<EFBFBD><1D>!<21>!<21>f<EFBFBD> <0C><1D>I<EFBFBD> <1E>s <00>AA1<01>"A1<01>,awehoi234_wdfjwljet234_234wdfoijsdfmmnxpi492Fr<46><00>angular<61><z...>z(...)r
r)r<>r<>r<>r<>r<>r<>r<>)r<>r<>r<>r<>r)r<00>=r<>)r<>r<>r<>c3<00><00>K<00><00>D]X}|js<01> t<00>|j<00>}|j|t|j<00>r |jndf<03><01><00>Zy#t$r}|j|df<03><03>Yd}~<02>{d}~wwxYw<01>w)z$Iterate over attr fields and values.N)rvr<00>name<6D>callablerE)<05>attrrPr<00> attr_fieldsr1s <20><>r9<00>
iter_attrsz/traverse.<locals>._traverse.<locals>.iter_attrs<72>s<><00><><00><><00>%0<> &<26>D<EFBFBD>#<23>y<EFBFBD>y<EFBFBD>
!&<26>,3<>C<EFBFBD><14><19><19>,C<>E<EFBFBD> )-<2D> <09> <09>(-<2D>5=<3D>d<EFBFBD>i<EFBFBD>i<EFBFBD>5H<35><04> <09> <09>d<EFBFBD>+&<26>%&<26> &<26><>(1<>!C<01>+/<2F>9<EFBFBD>9<EFBFBD>e<EFBFBD>T<EFBFBD>*B<>$B<><42>!C<01>s-<00>B <01>A"<02>5B <01>" B<05>+B<05><B <01>B<05>B )r<>r<>r<>r<>r<>c3<00>f<00>K<00>|](}|jrt<00>|j<00>r|<01><01><00>*y<00>wr<>)rvr<>r.)r<><00>fieldr1s <20>r9r<>z.traverse.<locals>._traverse.<locals>.<genexpr>s-<00><><00><><00>-<12><1D><1C>z<EFBFBD>z<EFBFBD>g<EFBFBD>c<EFBFBD>5<EFBFBD>:<3A>:<3A>&><3E><1A>-<12>s<00>.1)r<>r<>r<>r<>)r<>r<>z... +T)r<>r<>r<>)-<2D>idr<64>r7rrrrr<>r<>rEr r<>r<00>list<73> __class__ry<00>appendr!rarr<>r<>r<>r:r=rrr rFr
r.rrO<00>_asdict<63>itemsr<73>r<>r?r<><00>_MAPPING_CONTAINERS<52>iterr <00> enumerater<65>r<>)*r1rr<00>obj_id<69>obj_type<70>reached_max_depthr(<00>fake_attributes<65>rich_repr_resultr*<00>args<67>
class_namer<EFBFBD>r8r<>r<>r%r&r<><00>
child_noder2r.rP<00> repr_callabler4<00>container_typer<65>r<>r<><00> num_items<6D>last_item_index<65>
iter_items<EFBFBD>index<65> iter_valuesr1<00> _traverserWrU<00> pop_visited<65> push_visitedr<00> visited_idss*` @<40><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>r9rMztraverse.<locals>._traversemsn<00><><00><14>C<EFBFBD><17><06> <11>[<5B> <20><17>5<EFBFBD>)<29> )<29><17><03>9<EFBFBD><08>%<25>T<EFBFBD>1<>H<>e<EFBFBD>y<EFBFBD>6H<36><19> <1E>c<EFBFBD> <1E>h<EFBFBD>u<EFBFBD>S<EFBFBD>%<25><03>S<EFBFBD><08>/<2F>=Q<>7R<37>.S<> <1E>  $<24>%<25><13>C<><0E>O<EFBFBD> 6:<3A><18><1E> <15><1A>3<EFBFBD><0F>0<><17><13><1C>'*<2A>'8<>'8<>':<3A>$<24> <1C> '<27> <18><16> <20><1D>c<EFBFBD>/<2F>/<2F><19>E<EFBFBD>B<>G<EFBFBD><17><0E>'7<>8<>9<>D<EFBFBD><1C><1D><1D>/<2F>/<2F>J<EFBFBD><13><1D><08>!<21><1F><1F><06>$<24><1E>#<23><11>:<3A>,<2C>d<EFBFBD>/C<>D<><04>#<23>*<2A><1C>U<EFBFBD>/C<>D<><04><1E>#<23>)*<2A>:<3A>,<2C>a<EFBFBD>'8<>(+<2B>%-<2D>!%<25>&)<29>  <1A><04> $<24>*4<><1C>Q<EFBFBD>'7<>(+<2B>%-<2D>!%<25>  <1A><04> &/<2F>t<EFBFBD>_<EFBFBD> /<2F> <09><04>c<EFBFBD>+<2B>C<EFBFBD><15>7<>),<2C>J<EFBFBD>C<EFBFBD><15>)2<>5<EFBFBD><05><01> <09>)J<>J<EFBFBD>.2<EFBFBD>J<EFBFBD>O<EFBFBD>25<EFBFBD>J<EFBFBD>/<2F>7:<3A>J<EFBFBD>4<>"<22>:<3A>.<2E>)2<>3<EFBFBD>e<EFBFBD>a<EFBFBD>i<EFBFBD>)H<>J<EFBFBD>.2<EFBFBD>J<EFBFBD>O<EFBFBD>"<22>:<3A>.<2E> /<2F><1C>4;<3B><11>:<3A>,<2C>a<EFBFBD>0<>J<EFBFBD><<3C>r<EFBFBD>AR<41><1F><1D><12><04>
<18><06> <1F> <1C>S<EFBFBD> !<21>/<2F> <18><16> <20><19>H<EFBFBD><1D>_<EFBFBD>_<EFBFBD>F<EFBFBD>*<2A>3<EFBFBD>/<2F>K<EFBFBD><1A>$<24><1F>c<EFBFBD>m<EFBFBD>m<EFBFBD>.D<>.D<>-E<>U<EFBFBD>+K<>L<>D<EFBFBD><1F>&)<29>m<EFBFBD>m<EFBFBD>&<<3C>&<<3C>%=<3D>Q<EFBFBD>#?<3F>$'<27>!)<29>!<21> <16>D<EFBFBD>&<26> <20><15>s<EFBFBD>C<EFBFBD><18>(<28>C<EFBFBD>5<EFBFBD>#<23>:<3A>:N<>1O<31>'O<>!P<>Q<>&<26>$?H<01>
<EFBFBD> <0C>>U<>+<2B>:<3A><04>:<3A>t<EFBFBD>U<EFBFBD>M<EFBFBD>(<28>)-<2D><13>]<5D>5<EFBFBD>=Q<>9R<39>)S<>J<EFBFBD>)2<>5<EFBFBD><05><01> <09>)J<>J<EFBFBD>*.<2E>
<EFBFBD><0F>.2<EFBFBD>
<EFBFBD>+<2B>36<33>
<EFBFBD>0<><1E>z<EFBFBD>*<2A>+<2B><1C>"%<25>-<2D>-<2D>"8<>"8<>!9<><12><<3C>r<EFBFBD>PT<50><12><04> <18><06> <1F> <18><13> <1D>$<24>S<EFBFBD>$<24>/<2F>#<23>"<22>3<EFBFBD>'<27> <18><16> <20><19>H<EFBFBD><1D>_<EFBFBD>_<EFBFBD>F<EFBFBD> <20><1B>#<23>-<2D>-<2D>*@<40>*@<40>)A<><15>'G<>H<><04><1B>"%<25>-<2D>-<2D>"8<>"8<>!9<><11>;<3B> #<23>%<25><1D> <20>]<5D>]<5D>3<>3<>4<>B<EFBFBD>7<> <12><04>$-<2D>-<12>!'<27><03><1B>-<12>$<12> '<27>K<EFBFBD>D<EFBFBD>%<25>
"+<2B>7<EFBFBD>3<EFBFBD><05>
<EFBFBD>
<EFBFBD>+C<>5<EFBFBD>ST<53>9<EFBFBD>!U<>J<EFBFBD>*/<2F>*<2A>*<2A>J<EFBFBD>'<27>&*<2A>J<EFBFBD>O<EFBFBD>/2<>J<EFBFBD>,<2C><1A>:<3A>&<26> '<27> <18><06> <1F> <1B>C<EFBFBD> <20>%A<>#<23>%F<> <18><16> <20><1C><1D><1D>/<2F>/<2F>J<EFBFBD> <20><1B>",<2C><1C>U<EFBFBD>3<><12><04><1E><08>!<21><1F><1F><06><1B>",<2C><1C>Q<EFBFBD>/<2F> #<23>%<25>'<27>L<EFBFBD><02>+<2B> <12><04> +4<>C<EFBFBD>K<EFBFBD>K<EFBFBD>M<EFBFBD>4G<34>4G<34>4I<34>*J<>'<27>&<26>D<EFBFBD>,<2C>3<EFBFBD><05>!*<2A>5<EFBFBD><05><01> <09>!B<>J<EFBFBD>*-<2D>J<EFBFBD>'<27>&*<2A>J<EFBFBD>O<EFBFBD>/2<>J<EFBFBD>,<2C><1A>:<3A>&<26> '<27> <18><06> <1F> <1D>c<EFBFBD>;<3B> /<2F>"-<2D> <1A><0E>#<23>C<EFBFBD><1E>8<>-<2D>H<EFBFBD><19> <1A>
<19><16> <20>-4<>X<EFBFBD>-><3E>s<EFBFBD>-C<> *<2A>J<EFBFBD> <0B>U<EFBFBD> <20><1B>*<2A><1C>S<EFBFBD><1B> <0A>'F<>G<><04><19>"<22>"<22>d<EFBFBD>3<EFBFBD>i<EFBFBD>&8<>&8<>8<><1B>w<EFBFBD>s<EFBFBD>|<7C>$<24>?<3F><04><14><1D><08><1B>)<29> +<2B>%<25><1D> <12><04> "<22><1F><1F><06><1F><03>H<EFBFBD> <09>"+<2B>a<EFBFBD>-<2D><0F>#<23>C<EFBFBD>)<<3C>=<3D>!%<25>c<EFBFBD>i<EFBFBD>i<EFBFBD>k<EFBFBD>!2<>J<EFBFBD>!<21>-<2D>%+<2B>J<EFBFBD>
<EFBFBD>%C<>
<EFBFBD>/8<><1A>/D<>+<2B>+<2B><05>|<7C><03>U<EFBFBD>%.<2E>u<EFBFBD>E<EFBFBD>A<EFBFBD>I<EFBFBD>%F<>
<EFBFBD>.5<EFBFBD>c<EFBFBD>l<EFBFBD>
<EFBFBD>+<2B>*/<2F>?<3F>*B<>
<EFBFBD><0F><1E>z<EFBFBD>*<2A> +<2B> #'<27>s<EFBFBD>)<29>K<EFBFBD>!<21>-<2D>&,<2C>[<5B>*<2A>&E<> <0B>(1<>+<2B>(><3E>+<2B> <0C><05>u<EFBFBD>%.<2E>u<EFBFBD>E<EFBFBD>A<EFBFBD>I<EFBFBD>%F<>
<EFBFBD>*/<2F>?<3F>*B<>
<EFBFBD><0F><1E>z<EFBFBD>*<2A>+<2B><1E>)<29>i<EFBFBD>*<2A>.D<><1A>4<EFBFBD>U<EFBFBD>9<EFBFBD>z<EFBFBD>3I<33>2J<32>+K<>RV<52>W<>X<><1B>%<25>"<22>4<EFBFBD>@<40><04> <17><06> <1F><17>7<EFBFBD>3<EFBFBD><<3C>d<EFBFBD>;<3B>D<EFBFBD><1C>S<EFBFBD> <09>U<EFBFBD>*<2A><04> <0A>+<2B>C<EFBFBD>0<><04><1A><13> <0B><>w<19> $<24>#<23>O<EFBFBD> $<24><><1D> <15><14> <15>s$<00>' \
<00>8'\<00>
\<03>\<03> \)<03>(\)T)r)Fr)rr<><00>set<65>add<64>remover|r<>r<>)
r<EFBFBD>rUrVrWr<>rMrNrOrrPs
``` @@@@@r9<00>traverserTDss<00><><00>*<18>S<EFBFBD><18>S<EFBFBD><18>  <20>E<EFBFBD>K<EFBFBD><1E>?<3F>?<3F>L<EFBFBD><1D>$<24>$<24>K<EFBFBD>{<14>s<EFBFBD>{<14>$<24>{<14>s<EFBFBD>{<14>4<EFBFBD>{<14>{<14>z <15>W<EFBFBD>4<EFBFBD> (<28>D<EFBFBD> <0F>Kr;rr<>r<>r<>r<>c<00>r<00>t|t<00>r|}nt||||<05><01>}|j|||<06><02>}|S)a<>Prettify repr string by expanding on to new lines to fit within a given width.
Args:
_object (Any): Object to repr.
max_width (int, optional): Desired maximum width of repr string. Defaults to 80.
indent_size (int, optional): Number of spaces to indent. Defaults to 4.
max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
Defaults to None.
max_string (int, optional): Maximum length of string before truncating, or None to disable truncating.
Defaults to None.
max_depth (int, optional): Maximum depth of nested data structure, or None for no depth.
Defaults to None.
expand_all (bool, optional): Expand all containers regardless of available width. Defaults to False.
Returns:
str: A possibly multi-line representation of the object.
)rUrVrW)r<>r<>rX)rar<>rTr<>) r<>r<>r<>rUrVrWrXr<>r<>s r9r<>r<>nsI<00><00>8<18><07><14>&<26><16><04><17> <13>
<EFBFBD>z<EFBFBD>Y<EFBFBD>
<EFBFBD><04><19>K<EFBFBD>K<EFBFBD><1B><1B><1A> <20><06>H<EFBFBD> <14>Or;T)rQrTrUrVrWrXc <00>f<00>|<01>
t<00>n|}|jt||||||d<02><03>d<04><05>y)a<>A convenience function for pretty printing.
Args:
_object (Any): Object to pretty print.
console (Console, optional): Console instance, or None to use default. Defaults to None.
max_length (int, optional): Maximum length of containers before abbreviating, or None for no abbreviation.
Defaults to None.
max_string (int, optional): Maximum length of strings before truncating, or None to disable. Defaults to None.
max_depth (int, optional): Maximum depth for nested data structures, or None for unlimited depth. Defaults to None.
indent_guides (bool, optional): Enable indentation guides. Defaults to True.
expand_all (bool, optional): Expand all containers. Defaults to False.
N<>ignore)rUrVrWrTrXrRT)<01> soft_wrap)r rdre)r<>rQrTrUrVrWrX<00>_consoles r9rtrt<00>sD<00><00>,!(<28><0F>{<7B>}<7D>W<EFBFBD>H<EFBFBD> <0C>N<EFBFBD>N<EFBFBD><0E> <13>!<21>!<21><1F>'<27>!<21><1D>
<EFBFBD><17><13> r;<00>__main__c<00><00>eZdZdefd<02>Zy)<04>
BrokenReprr2c<00><00>ddz y)Nrrzthis will failr<6C>rs r9r?zBrokenRepr.__repr__<5F>s <00><00> <0A><01>E<EFBFBD>#r;N<>ryrzr{r<>r?r<>r;r9r\r\<00>s<00><00> $<24>c<EFBFBD> $r;r\)<01>
NamedTuplec<00>F<00>eZdZUeed<eed<eed<eed<eeed<y)<07>StockKeepingUnitr.<00> description<6F>price<63>category<72>reviewsN)ryrzr{r<>r}<00>floatrr<>r;r9rara<00>s!<00><00><11> <09><18><18><14> <0C><15> <0A><15>c<EFBFBD><19>r;ra<00><00>fooz Hello World!gZd;<3B>Y@g<>ʡE<CAA1>3t@gcA><00>rr$r#r<>rg<00><00><00>>rr$r#<00>crumble)<05>apple<6C>rhubarb<72>butter<65>sugar<61>flour)rn<00>orange<67>pear<61>kumquatru<00>Xduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurianduriandurian)FTNzSparkling British Spring WaterzCarbonated spring waterg<72><67><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>?<3F>waterz its amazing!z its terrible!)rh<00>barr<00>counter<65>atomic<69>
namedtuple<EFBFBD>Broken)rd<00>)rTrVc<00><00>eZdZdefd<02>Zy)<04>Thingr2c<00><00>y)NzHello World!r<>rs r9r?zThing.__repr__<5F>s<00><00>/r;Nr^r<>r;r9rr<00>s<00><00> 0<>c<EFBFBD> 0r;r)NrWFFNNNF)NNN)rrn<00> collectionsrBrI<00>osrDr<>rrrrrrr r
r r <00> itertoolsr <00>typesr<00>typingrrrrrrrrrrrrr<00> rich.reprrr0r5r<>r4<00> ImportErrorr]r <00>_loopr!<00>_pickr"<00>abcr#<00>cellsr%r<>r&<00>jupyterr'r(<00>measurer)rr*rQr+r,r-r.r/r0r|r:r=<00>objectrFr{rGrOr<>r<>rhr7rar<>rer<>r<>r<><00>_Environ<6F>dict<63> frozensetr6rQrr<>r}<00>keysr<73>r;r<>r<>r<>rrTr<>rtryr\r_ra<00>d<>datar8rrdrr<>r;r9<00><module>r<>s-<00><01><0F><12><12><0E> <09><0E>
<EFBFBD><17>G<>G<>7<>7<><1B><1C>"<22><02><02><02><02> %<25><17><1F><18><1C>t<EFBFBD>,<2C>J<EFBFBD><1A><1C><1C><1F><1B>(<28>4<> <20><16><10><06><06>6<><13>6<><14>6<>
@<01>#<23>@<01>(<28>+H<>"I<>@<01>
<15>F<EFBFBD><15>t<EFBFBD><15>(+<2B>K<EFBFBD>*<2A>*<2A>+><3E><02>C<><11>)<29>f<EFBFBD>)<29><14>)<29>,$(<28>!)<29><16><1F> $<24> $<24>#<23><1C>-&<26> <0E>-&<26> <15>i<EFBFBD> <20>-&<26><1F>-&<26> <0F> -&<26>
<18> -&<26> <19><13> <0A> -&<26><19><13> <0A>-&<26><18><03>}<7D>-&<26><15>-&<26> <0B>3<EFBFBD><04>9<EFBFBD><15>-&<26>`<15> <0F><15>!&<26>t<EFBFBD>U<EFBFBD>4<EFBFBD><13>9<EFBFBD>-=<3D>'=<3D>!><3E><15> <09><15>$(<28>!)<29><16><1F> $<24> $<24>#<23><1C>OG<01> <15>i<EFBFBD> <20>OG<01><1E>OG<01> <0F>OG<01><18> OG<01>
<19><13> <0A> OG<01> <19><13> <0A> OG<01><18><03>}<7D>OG<01><15>OG<01>
<EFBFBD>OG<01>de3<>\<5C>e3<>P<06><1B>S<EFBFBD>#<23>X<EFBFBD>)><3E><06>5<EFBFBD><13>c<EFBFBD>SV<53><1D>CW<43><06><06>5<EFBFBD><13>:<3A><06>%<25><03>S<EFBFBD>#<23> <0A>2F<32><06>T<01><<3C>T<01>E<EFBFBD>#<23>s<EFBFBD>C<EFBFBD>-<2D>4H<34>T<01>
<07>K<EFBFBD>K<EFBFBD>C<> <09> <20><0F>,<2C> <0B> =<3D> <09> <20><08>
*<2A> <0C>.<2E> <0A>C<><08>
*<2A> <0C>.<2E><07> ,<2C> <09> +<2B><14>R<>><02><07><14>d<EFBFBD>H<EFBFBD>c<EFBFBD>U<EFBFBD>E<EFBFBD>#<23>s<EFBFBD>C<EFBFBD>-<2D>$8<>8<>9<>9<> :<3A><02><14>G<EFBFBD>L<EFBFBD>L<EFBFBD>N<EFBFBD>#<23> <0B><1B>R<EFBFBD>[<5B>[<5B>*:<3A>H<EFBFBD>E<><13><1B>s<EFBFBD><1B>t<EFBFBD><1B> <0B>Q<18>Q<18> <0B>Q<18>h <0B>@<0E>@<0E> <0B>@<0E>F@<01><03>@<01><04>@<01>*!%<25> $<24>#<23> g<10> <10>g<10><18><13> <0A>g<10><19><13> <0A>g<10><18><03>}<7D> g<10>

<EFBFBD> g<10>Z <18><18> $<24> $<24>#<23><1C>%<14> <10>%<14><13>%<14><15> %<14>
<19><13> <0A> %<14> <19><13> <0A> %<14><18><03>}<7D>%<14><15>%<14> <09>%<14>V$(<28><1E> $<24> $<24>#<23><1C>"<06> <10>"<06><16>i<EFBFBD> <20>"<06><18> "<06>
<19><13> <0A> "<06> <19><13> <0A> "<06><18><03>}<7D>"<06><15>"<06>
<EFBFBD>"<06>J <0C>z<EFBFBD><19>$<24>$<24>
"<22><1B>:<3A><1B> <14>C<EFBFBD><18>A<EFBFBD><10>A<EFBFBD>e<EFBFBD>H<EFBFBD> <0E> <1A> <13> <13> <14> &<26> 
<EFBFBD><19><19>#<23>"<22> <10>9<EFBFBD>N<>O<>
<EFBFBD><1B> <0E> 
<EFBFBD>&<26>&<26> ,<2C> %<25> <0F> <13> <1B>_<EFBFBD> -<2D> 
<EFBFBD><1D>,<2C>? <06>D<EFBFBD>B <09><15>K<EFBFBD><16><16>t<EFBFBD><1C><1A> <09>&<26><14>T<EFBFBD>b<EFBFBD>
9<EFBFBD>:<3A>0<>0<>
<EFBFBD>&<26><15><17>/<2F><1A>{<1A><>o<13><17><16>J<EFBFBD><17>s<00>3 M%<00>%M0<03>/M0