bg|GddZGddZGddZGddZGdd ZGd d ZGd d ZGddZGddZddZ dZ dS)cteZdZd=dZdZdZdZd>dZd>dZd>d Z d>d Z d Z d Z d Z dZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZdZd Z d!Z!d"Z"d#Z#d$Z$d%Z%d&Z&d'Z'd(Z(d)Z)d*Z*d+Z+d,Z,d-Z-d.Z.d/Z/d0Z0d1Z1d2Z2d3Z3d4Z4d5Z5d6Z6d7Z7d8Z8d9Z9d:Z:d;Z;d<Z)r r_rootpickledumpsr>r-rr>s rset_default_tagzNode2Inter.set_default_tagsM ? $(./55dob6IJJJCCCF rc r|jdi||||dSr1)rr4r")rrr7s rspanzNode2Inter.spans=$  rc |jr5|jd}||n|}|j||dSrE)r copyupdater/rR)rr7rAs rrzNode2Inter.span_beginsh ? #((**A HHTNNNNA q!!! rc|j}|j|fi|jd|j|dSrE)r>r=r poprRrQs rr"zNode2Inter.span_endsVh33tr2333  rc ji}g}t|D]?\}}|ds|||< ||dd|f@|rgd}|D]\}}|dkrDt dt t |jdz |}|j||d<O|dkr||d<[|dr|dxxd z cc<|dxx|z cc<|ds|t||d <|j j |fi|dS) Nfont_)NNsizerrfamily font) listitems startswithr/r<minlenrrYtuplerr=)rr>r7okwds fontspecsr$r%rbs rr=zNode2Inter.tag_configsr && - -DAq<<(( -a  !ABB%,,,,  (###D! ! !1;;As3t~#6#6q#8!<<==A"nQ/DGG(]]DGGAw'Q3GGGqLGGGG7  !$KKE&MC))5)))))rc\|js|jr|}|sdS|dd}|dd}d|vr|dd}d|v|jrU|jrN|j|jfi|jd|j|jdd<|d|_| |n| }| d}|dkr|d|jdvrm| |d|dz|j|jfi|jd|jdd=|||dzd}|r| |d|_dS) NrKra z r:r;rr) rr lstripreplacerr=r>r rRr/ expandtabsfind)rtextidxs rrqzNode2Inter.textsz " %{{}} <<c**D<<c**D$,,||D#..$,, ,4#: ,@@DOB,?@@@262I#J/$$&&&*+' KK    ??$$D))D//CbyyZ4?2+>>> D#a%L)))@@DOB,?@@@OB' 3$$&&&CEFF| " D!!!rct|jj}|jD]#} ||#|$rY wxYwdSr')r ReportedErrorchildrenr!)rrEchs r_visit_childrenzNode2Inter._visit_childrens] H "-  B  $      s -55ct|jdd}d|z }dd|zz }dd|zz }|||d||dS)Nr )r font_boldr@r6)intr>r8)rrnrr@r6s r _visit_hxzNode2Inter._visit_hxso   E !a%Z QU  $&,  . . . . .rc`|||ddzdSNrr)rrTrIrrs r visit_bigzNode2Inter.visit_big/ $$++k":":Q"> ?????rc|ddz}|ddz}|||||dddS)Nlmargin1$rmargin)rlmargin2rr@r6rIr8)rrlmarginrs rvisit_blockquotezNode2Inter.visit_blockquotesd++j))B.++i((2- !!       rc|j}|dkrA|d|d|dS|d|z|dS)Nnbspr) invisibler.z4I do not know how to render this character code: %r.)argrrr/r"error)rrcodes r visit_charzNode2Inter.visit_charsx~~ 6>> OOaO ( ( ( KK    MMOOOOO JJFMt U U U U UrcH|||jjdS)N)r)rTr codefamilyrs r visit_codezNode2Inter.visit_codes# $DH$7 88888rcdSr'r2rs r visit_commentzNode2Inter.visit_comment rc0||dSr'r8rs rvisit_dlzNode2Inter.visit_dl  rc0||dSr'rrs rvisit_dtzNode2Inter.visit_dt rrcf|ddz}||||dS)Nrrrrr)rrrs rvisit_ddzNode2Inter.visit_dds6++j))B. ':::::rc0||dSr'rxrs r visit_definezNode2Inter.visit_defines T"""""rc0||dSr'rrs r visit_divzNode2Inter.visit_divrrc0||dSr'rrs rvisit_documentzNode2Inter.visit_document T"""""rcN|j|d|||_dS)Nz"Duplicate document lang directive.) document_langrrs rvisit_document_langzNode2Inter.visit_document_langs.   ) JJ;T B B B!rcN|j|d|||_dS)Nz#Duplicate document title directive.)document_titlerrs rvisit_document_titlezNode2Inter.visit_document_title#s.   * JJsd;;DA  %$,  BY       rc6||dddS)Nr)r@r6rrs rvisit_pzNode2Inter.visit_p_s  !155555rc|xjdz c_|||jjdd|xjdzc_dS)Nrr)rr@r6)rr8r rrs r visit_prezNode2Inter.visit_prebsM a  48#6Q  0 0 0 a rc`|||ddz dSrrrs r visit_smallzNode2Inter.visit_smallhrrc0||dSr'rrs r visit_spanzNode2Inter.visit_spanks $rc0||dSr'rrs r visit_stringzNode2Inter.visit_stringnrrc4||ddS)Nr)r|rrs r visit_strongzNode2Inter.visit_strongq $! $$$$$rc|||ddz |ddz dSNrroffsetr`)rrrrs r visit_subzNode2Inter.visit_subtQ $ KK 44q8X..2      rc|||ddz |ddzdSrrrs r visit_supzNode2Inter.visit_supzrrc&t||dSr')Tablers r visit_tablezNode2Inter.visit_tables dD rcdSr'r2rs rvisit_tdzNode2Inter.visit_tdrrcdSr'r2rs rvisit_thzNode2Inter.visit_thrrcdSr'r2rs rvisit_trzNode2Inter.visit_trrrcd||j||dSr')rqrrxrs r visit_textzNode2Inter.visit_texts0 $( T"""""rc4||ddS)Nr) underlinerrs rvisit_uzNode2Inter.visit_urrcp|xjdz c_|||xjdzc_dSrC)rr8rs rvisit_ulzNode2Inter.visit_uls5     rc4||ddSrrrs r visit_varzNode2Inter.visit_varrrr')r)=__name__ __module__ __qualname__rrr(r/r8r3r5rIr?rRrTrr"r=rqrxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr2rrrr/s))))$    ---$$$$     *00000000   ***6B . . .@@@   UUU999   ;;;######""" ### '''###''',,,---,666 @@@###%%%              ###%%% '''''rrcReZdZd dZdZdZdZdZdZdZ d Z d Z d Z d Z dS) SimulTextNc\||_||_gg|_i|_g|_i|_dSr')rr linesr- textntagsfonts)rrr s rrzSimulText.__init__s2 T   rc|dksJ|d}|jd|d|f|ddD]}|j||fg |j||fdS)Nr+rKr:rr)splitr r/r )rposrqr-r lines rr,zSimulText.insertse|||| 4   2uQx.///!""I . .D J  d|n - - - - tTl+++++rc R||jvr||j|krdS||j|<dSr')r-rr>r7s rr=zSimulText.tag_configs3 $)   # 6 6 F #rct|jddkr2|jddds|j|j|dSdS)Nr:rr)rgr rYr wrap_linesrLs rfinalizezSimulText.finalizesh tz"~  ! # #DJrN1,=a,@ # JNN    : ! OO      " !rcXd}|jD]}||}||kr|} |S)Nr)r  text_width)rr rws r get_widthzSimulText.get_widths=J  D%%A5yy rc|t|jkrdS|j|}|D]:\}}|d|||D]}|j|fi|j|;dSr*)rgr r,r=r-)rrlineidxrrwr-r>s rreplayzSimulText.replays c$*oo % % Fz'" 6 6JR JJub$ ' ' ' 6 6s55din5555 6 6 6rcgg}|D][\}}|d}|D]>}|r|d||f|dr|g?\|S)Nrar:)rr/)rrwordsrqr-wtextwts r split_wordzSimulText.split_words % %JD$JJsOOE % %1"I$$b$Z0009%LL$$$  %  rcd}d}g}|D]q\}}|D]/}||jvr$d|j|vr|j|d}n0J||kr|r|||f|}g}||r|r|||fd} |D]L\}}|j|} | d|} | | z } M| S)Nrbrr])r-r/rmakefontmeasurejoin) rr rbsublinesubfontsrwr-r>newfontr fms rrzSimulText.text_widths)!  HB  $)##$)C.(@(@"inV4GEq$5OOWdO444 NN2      - OOWdO , , ,'  OWd!!$''A "'''**++A QJEE rc|jD]T}d}d}|D]G\}}||vr|d||}d}||||fgz }|rnH|rnU|s|}|S)Nrr)r indexrr)rrrrfoundrqr-s rwidth_tozSimulText.width_tosJ  DAE $   t4<< 1D!1!1 12DET__tTl^444E   !  Arc ||}||jkr|j|dS||}d}|t |krt ||}||}||jkrd}|dzt |krG||d|dz}||jkrn|dz }|dzt |kGd}|t ||dkrv||d|dz ||dd|||dfgz}||jkrn$|dz }|t ||dkv|j|d|dz ||dd|dz ||dfgz||jd|jksJ||d|dz d||dfg}||}||jk|dz }|t |krpd|ddfg}||} |||z| z}||jkrn0||| z|dz }|t |kp|j||t |kdSdS)Nrrr`r:ra)rr r r/r!rgrcextend) rrrriprejr$spacewords r wrap_linezSimulText.wrap_lines OOD ! !  ?? J  d # # # F%% #e**nnuQx..C$$Adj.. !ec#hh&&DQqSD 22A4:~~FA !ec#hh&&3s1vay>>))DQqSD c!fQimSVAY%?$@@BBA4:~~FA 3s1vay>>))  !!#dqsd)Aq $1Q3$Q/K.L"LMMMtz"~66$*DDDDAq !A#$$Q34OOC((3dj..6 FAc%jj..s2wqz*+QxOOC%K$$677tz>>JJut|,,,FAc%jj.. J  c " " "Q#e**nnnnnnrcV|j}g|_|D]}||dSr')r r6)rr rs rrzSimulText.wrap_lines9s>   ! !D NN4  ! !rr')rrrrr,r=rrrr!rr.r6rr2rrrrs,,, 666   6&1#1#1#f!!!!!rrc:eZdZdZdZdZdZdZd dZdZ dS) TableCellc||_|j|_|jj|_|jj|_|jj|_i|_|||_|dSr') rowtableparentr rr#set_attributesrgen_out)rr;rs rrzTableCell.__init__AsaY j' ;?;? ''--  rc|jd}|dkr|d|zzdf|_dS|dkr |df|_dS|dkr||zdf|_dS|dkri|j|jd}t |jddd z }|||zz|z df|_dS|d kr|d|zzdf|_dSt d |z) Naligncenter?leftrightrcharoff%Y@justifyInvalid align: %s)r#tabstoprr.floatrstrip ValueError)rrr rArcos rrAzTableCell.alignMs 7# H  #e)OX6DLLL f__=DLLL g  Iw/DLLL f__!!$*V"455Atz),33C8899%?B"U(N1,f5DLLL i  #e)OX6DLLL05899 9rc|jd}|j}|dkrd|zd|zz d|zd|zz}}n|dkrd|}}n|dkr||z |}}n|dkrc|j|jd}t |jdd d z }||z|z }||z}n|d krd|}}nt d |z||fS) NrArBrCrDrrErrFrGrHrIrJ)r#r rr.rLrMrN)rr rAmywidthlrrrOs r get_edgeszTableCell.get_edges_s  7#* H  ;w.e cGm0KqAA f__wqAA g  7?EqAA f__!!$*V"455Atz),33C8899%?BU QAG AA i  eqAA05899 9!t rc|j|_t|jj|_|jSr')rrr rgr numlinesrLs rrzTableCell.get_widthts2X'')) DHN++ zrc|j}|jdkrd}nd}||d<|jj|d<d|d<|\}}|D] \}}|||< |S)NthrBrDrArz50%rF)r#r>r decimal_pointr)rrarAr#r$r%s rr>zTableCell.set_attributesysz J 8t  EEE' H*& ) &&(( e  DAqAaDD rNct|j||_t|jd|j|j|}|jjd}|jj dkrd|d<|j di||j || |j |dS)N)r r:rXrr|r2)rrrrr r=r rVrr>rr4r"rr)rr n2ir7s rr?zTableCell.gen_outsTXU3334485III{%b)..00 9=D !D  S!!!   rcJ||jkrdS||dSr')r r?)rr s r wrap_to_widthzTableCell.wrap_to_widths, DJ   F Urr') rrrrrArTrr>r?r^r2rrr9r9@s   :::$*  "rr9c&eZdZdZdZdZdZdS)TableRowc||_||_d|_g|_|\}}||_||dSrC)r<rrVcellsrr#children_accept)rr<rr#s rrzTableRow.__init__sT    &&(( e  T"""""rcZt||}|j|dSr')r9rbr/)rrcells rnew_cellzTableRow.new_cells-t$$ $rc0||dSr'rfrs rrzTableRow.visit_td drc0||dSr'rhrs rrzTableRow.visit_thrirN)rrrrrfrrr2rrr`r`sP # # #   rr`c,eZdZdZdZdZdZdZdS)rc,||_||_d|_g|_|d|d|_||d}|}|j }|j }||kr|t|j z gt|j z}d}ttt|j } t|j D]9\} }||| kr(||| |z z }||| <| | :t!|t| z }| D]} || xx|z cc<|x}|_ |jD].} d} | jD]"} | || | dz } #/|jD]h} d} d}| jD]Z} || }| ||jz||||| zz }| dz } t)| j| j| _[i|jD]\} t| jD]C} g}| jD]} || jt1|}| dkrZ| |jdurK| jdjj| jdjjdddd}ni}| |jdur | dkrd|d<t9|t9|z}| jD]?} |jdd |f| j|j| @|jj|fd |i|| E^|!dS) Nr)r@rirrr;r+rltabs)"r=rcaptionrowsr3rIrrc columnifywidthsspacingsrgrcrange enumerateremover}rbr^rAr<rVr0rKrhrr-r strr,rr=r?r5)rr=rWidthrrqrrgwextraothersr1r;colrertabstopstabkwdstabtags rrzTable.__init__s    A&&&}}Z00  T""" NN  = u99#dk***+C ,<,<N>NOOrc"i|_i|_dSr')memotagmemorLs rrzRecordingInter.clearmemoIs  rc|jr|j|jt |j}d|j}|j||}|jr5|j ||j |n9||f}|j||}|j |g|_dSdS)Nr]) rr setdefaultlasttagrgr%rFLATTEXTrr/)rr>rqtts rflushzRecordingInter.flushMs = ,))$,DL8I8IJJC774=))D9''d33D} ( ##C((( ##D))))$YY))"b11 ##B'''DMMM  rc|dksJt|dksJ|d}||jkr|||_|j|dS)Nr+rr)rgrrrr/)rrrqr-r>s rr,zRecordingInter.insert[she||||4yyA~~~~1g $,   JJLLLDL T"""""rc ||jrmd}|t|jkrR|j|}|j|dz}|d||f|dz }|t|jkRn%|jD]\}}|d||ft |jD]y\}}|jrRi}d}|t|kr,||dz|||<|dz }|t|k,|j |fi|^|j |fit|z|j D]6}| drt||t||7dS)Nrrr+r`_gsl_)rrrgrr,rcrrdFLATKWDSr=dict__dict__rer rF)rrr1r>rqkwdlistr7r$s rplayzRecordingInter.playes = 0Ac$,''''l1o|AaC( 5$///Q c$,'''' "\ 0 0 T 5$////"4#3#9#9#;#;<< 5 5NS'} 5#g,,&&'.qs|D$FA#g,,&&s++d++++s44d7mm4444 2 2A||G$$ 2Qa 0 0111 2 2rc|t|jD]+}|dvr%|dst ||,dS)Nrr)rrcrkeysredelattr)rr$s rprepare_for_picklez!RecordingInter.prepare_for_picklesl dm((**++ ! !A2221<<;P;P2a    ! !rc g}t|D]\}}|j||}|j||}|jr+||||m||f}|j||}||t |}|j||}|j|t|j}||j vr|j ||ksJdS||j |<dSr') rcrdrrrr/rhrrgr)rr>r7rr$r%kvs rr=zRecordingInter.tag_configsA&& # #DAq $$Q**A $$Q**A} #q!!!q!!!!TY))"b11r""""..)&&w88l%%c3t|+<+<== $" " "#C(G333333$+D S ! ! !r)rrrrrrrrrrrr,rrr=r2rrrr:sHHHGPPP   ###2228!!!,,,,,rrceZdZdZdZdS) TextInterc j||_||_dD]!}t||t||"dS)N)configr, tag_delete)rwidr rF)rrrrGs rrzTextInter.__init__sL  4 4D D$T 2 2 3 3 3 3  4 4rc d|vr,|d=|d|jdx|d<|d<|jj|fi|dS)Nr background foreground)getrr=rs rr=zTextInter.tag_configsj $  [!6:hhdh|47676 6D l!3 C((4(((((rN)rrrrr=r2rrrrs2 4 4 4)))))rrc"eZdZdZdZdZdZdZdS)TkConfigr)rrr{timescourier.N)rrrrrrrrYr2rrrrs'I.IJJMMMrrc6eZdZdZdZdZddZ d dZdS) _GLUECLAMP_) z_parent:SpecNodesz_parent.SpecNodes:node_of_taciz _parent.SpecNodes:node_of_stringz_parent.Main:ReportedErrorz _parent:Htmlz _root:picklez _root.md5:md5z_root:osz_root:rez _root:stringz _root:tkinterctij}|fd}|S)Nc|vr|Sd}d}t|dkrd|dvrd}d|dvrd}jj|d|d||}||<|S) Nnormalromanr`bolditalicrr)r_r^weightslant)rgtkinterrbFont)rbrrr)r rs rr#z+_GLUECLAMP_._get_makefont..makefontsu}}T{"FE4yy1}}T!W$$#FtAw&&$E !&&d1gDG(.e'==AE$KHr)rTkwithdraw)rrootr#r s` @r _get_makefontz_GLUECLAMP_._get_makefontsL|         rctSr')rrLs r _get_tkconfigz_GLUECLAMP_._get_tkconfigs zzrNc<||j}t||||dSr')tkconfigr)rrinterrs r node2interz_GLUECLAMP_.node2inters)  }H4uh/////rrc |j} |r| |}|V|=|;t|5} | }dddn #1swxYwY||d}||j|||r:t} ||| | | Sd} |6|j j |} | ddkr | ddz} |j jjj|ddj}d |d <d |d <|d fd| s|r|r|} ned} ||d} t| } | t-|}||kr| | } | n#t2$rYnwxYw| t} ||| | t| d} | || | | dn#t2$rYnwxYw| n#| wxYw| |n|||t;|dd}|r*||t;|dd}|r |d|d <S)Nrnostripz.gslrz.gscUntitledr]datarstate Times -12rb c,Sr'quit)eventr*s rz+_GLUECLAMP_.gsltextviewer..s!&&((rzutf-8rr_gsl_tk_geometrydisabled)!rOloadsopenreadnode_of_stringHtml node2filerrrospathsplitextrNguppyetctextView TextViewerbindmd5encodedigestrgloadcloseIOErrorwritedumprrFtitleiconnamegeometry)rr=filenamerqr htmloutfileinpickle inrecorder outrecorderrOr)rScachespr% textdigesttdrrr*s @r gsltextviewerz_GLUECLAMP_.gsltextviewers  0h//J <|'h(1 vvxx(((((((((((((((&&tQ&77D  " I  k 2 2 2    A OOD! $ $ $ " " "H  &&x00B!u1 J  ) 4 4 JR 5 ) ) J' &  {2222333  %J % "!XXdkk'&:&:;;BBDD U AJ00BZ''"KKNNGGIIII D9&((AOOD!,,,((***UC((A"1GGJ///#KK1a0000 '!!! D!   FF1IIII OOD! $ $ $<..   GGENNN JJu   10$77  ! JJx ' sMAAA)H HH&J;J8 J J8J  J88Kr')NNNNNrrr)rrr _imports_rrrr r2rrrrsw I,0000 [_ !""#WWWWWWrrNc ddlm}|jj}|j}|t |jjj|}|j}| |d}|jj |dt}| |||| |jjjj ddj}d |d <d |d <|d fdt-||} || |dS)Nr)Rootrrz /tmp/x.htmltestr]rrrrrbrc,Sr'r)rrs rrztest_string..Zsr)rr gslTextrF_parentr testdatarrrrrrrrrrNrrrrrrmainloop) srGr rmeTrtrqtirs @r test_stringrCs[ $&&, C By BJO,d 3 3 A  Q  * *DJOdM222AMM$ 4466DMMOOO 8>  & 1 1 f2 2  ' DMDLIIk4444555 2t  BFF2JJJMMOOOOOrc.d}d}t|dS)Nlong_wrapping_tables html_tablesrG)rrs rr r bs# !D DTr)NN) rrr9r`rrrrrrr r2rrrs^k'k'k'k'k'k'k'k'\ `!`!`!`!`!`!`!`!F]]]]]]]]@.@@@@@@@@Fa,a,a,a,a,a,a,a,H)))))))),DDDDDDDDN>r