From 75f19248239fe8b15793497fb57d7841b733c1c3 Mon Sep 17 00:00:00 2001 From: Adam Waldenberg Date: Sat, 7 Nov 2015 14:18:24 +0100 Subject: [PATCH] Added BootStrap3 to the archive and improved format.py (#28). We now use more external resources in the normal HTML output (cdnjs). This makes the generated HTML substantially smaller. Also took the opportunity to add a comment about the slightly modified tablesorter.js plug in that we are using. --- gitinspector/format.py | 25 +++++++++++++++++++------ gitinspector/html/bootstrap.zip | Bin 0 -> 31869 bytes gitinspector/html/html.header | 8 +++++--- 3 files changed, 24 insertions(+), 9 deletions(-) create mode 100644 gitinspector/html/bootstrap.zip diff --git a/gitinspector/format.py b/gitinspector/format.py index ef751be..5c14c57 100644 --- a/gitinspector/format.py +++ b/gitinspector/format.py @@ -69,12 +69,11 @@ def output_header(repos): if __selected_format__ == "html" or __selected_format__ == "htmlembedded": base = basedir.get_basedir() html_header = __output_html_template__(base + "/html/html.header") - tablesorter_js = __get_zip_file_content__("jquery.tablesorter.min.js", - "/html/jquery.tablesorter.min.js.zip").encode("latin-1", "replace") - tablesorter_js = tablesorter_js.decode("utf-8", "ignore") - flot_js = __get_zip_file_content__("jquery.flot.js") - pie_js = __get_zip_file_content__("jquery.flot.pie.js") - resize_js = __get_zip_file_content__("jquery.flot.resize.js") + + # The version of the table sorter is a modified version with support for the "euro" sign removed from the code. + # This is because it's been found that on Windows environments it can cause trouble with certain character maps. + tablesorter_js = __get_zip_file_content__("jquery.tablesorter.min.js", "/html/jquery.tablesorter.min.js.zip"). \ + encode("latin-1", "replace").decode("utf-8", "ignore") logo_file = open(base + "/html/gitinspector_piclet.png", "rb") logo = logo_file.read() @@ -83,8 +82,20 @@ def output_header(repos): if __selected_format__ == "htmlembedded": jquery_js = ">" + __get_zip_file_content__("jquery.js") + flot_js = ">" + __get_zip_file_content__("jquery.flot.js") + pie_js = ">" + __get_zip_file_content__("jquery.flot.pie.js") + resize_js = ">" + __get_zip_file_content__("jquery.flot.resize.js") + bootstrap_js = ">" + __get_zip_file_content__("bootstrap.min.js", "/html/bootstrap.zip") + bootstrap_css = "" % \ + __get_zip_file_content__("bootstrap.min.css", "/html/bootstrap.zip") else: jquery_js = " src=\"https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js\">" + flot_js = " src=\"https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.min.js\">" + pie_js = " src=\"https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.pie.min.js\">" + resize_js = " src=\"https://cdnjs.cloudflare.com/ajax/libs/flot/0.8.3/jquery.flot.resize.min.js\">" + bootstrap_js = " src=\"https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.5/js/bootstrap.min.js\">" + bootstrap_css = "" print(html_header.format(title=_("Repository statistics for '{0}'").format(repos_string), jquery=jquery_js, @@ -92,6 +103,8 @@ def output_header(repos): jquery_flot=flot_js, jquery_flot_pie=pie_js, jquery_flot_resize=resize_js, + bootstrap=bootstrap_js, + bootstrap_css=bootstrap_css, logo=logo.decode("utf-8", "replace"), logo_text=_("The output has been generated by {0} {1}. The statistical analysis tool" " for git repositories.").format( diff --git a/gitinspector/html/bootstrap.zip b/gitinspector/html/bootstrap.zip new file mode 100644 index 0000000000000000000000000000000000000000..517021ea92f977c558df1a881bf2d5b80666921d GIT binary patch literal 31869 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

c>bbaLW2Qn?Lk zq$c%L!S8(T+3J*yGUZXuTv>ZP9I*@mBc6Kg`lMYTCMnJoR*p_pLct68`bfG-D^#&; zOUtfpbiEBB%OoiO%=+ zSUl!klYP-#^qt=}v2F1D*6F72f?Vb9jcxOE!siFcUVc4|S}$WBl)Drpc z$yIJHx^MfN@7ox)@5w2Hm$<~)SV=+mkrV&8b68zpHB^~uBwBD))L<*bTY5eoPp&Q5 zw z3z2zXS&0a(sq(&r#>pG)l0y@Ed}A!akX!x1oT7g@ZHx-L4-_EzxiBIDGRv)|oGcwu z$8zQ_tMbbO&6xWir`)%ul@JuYpA~6bD3A%0x8~3@hDpb+JAq<1*yar7P&ME&l+9Iy ztp2$ZV}jNEou5&`aW2q$yU&P{eW%Dl5Am!@5i~mb+D&>C7vg>c;wc9!cafYx>1~A> zh`*l}uNxVo2UH6sFM4Oz$gKt>iHj1GYa?H`4|lKw&?GteRPmn~iV)!^Qqji}z5gU0<-OEb4*6h*`lJ8|HRe+vH?|v%K!G6L{mJp- z{ll7NE%VWBIlonon+}P`*S=#8mrOW8s{M6m&+pu?UNbXo!G)EkFXiK8w_8@DV3e1l zvp@g&apgp*CeYUmJ5mdj2lfI)I7<3us#RCDJiW-h5ptWIW*^JU!w@bxGP*J$*Xuj+w8R0V)e5rS&rUwW>p*Uk;sqeys^ac_5uJ!&%|03 z&ZY?az$6d77&ZQlMF6J{F9fqnc3^2%=Npc@f+9J1Za35@x-FoneD0(B){ zml4>?$OsW^M=Ov;J0U}OvyC_j%tpH@bg08TE72;o$A{s8A$r=bPT@=rQvx!F`*S%! z99oP)8mL2!E-}Eu4&vWe+~OI}t|yTawH{)9LfgE*Tu!G8o~tOkCob|Y6q%>8h!gp0 z`@H6aGN;n!S{J5xxCMP*;ApRcbw;K*o(wZ`0Ldgk0PuZojy6J;@yX;Eo{!*^LZT^9 zvPE4!Sfb8pKj(k`jFekNof>^?m+0Y>oyO1N=3O1rlb7)oK#Gl!rCfVWh(fB4H+Mz+ zxDUt7>XMmWn22NLKCHCL9r@LhxjctcmVk+B&_2uq8B&?terVw#^G|YP_y9m>> zx}zERr-j^(wao_^*}P`6x_S8JeQZ+cQdvEgHNL?On;nXf0SmZ>v=T@E0cmliS{Kcq z5M*3}@Q+Dbb^t&qY6B3qXBBLnplSlJiSsB50R?1iXxJMT61dFu(+*>oIgH7@11#v! zZ$3w+M*!)B1Mm|hU6-S$_&CNKF@G8*++0_e#le~0*bykR;=qIInql;EdJiX*E16dD zQkHS$MiPy2F4!ZKAX@;noCs<(`=qf}u>byBkw}?Mg-H5T-TZUub>TD?O4qfNzj#35 zJ^>H$bkk`l+B;ET!(73q&6FwUwcHo9zr85Crl9N5U%v9HN+1(ZLm?UF`nUC(RD7xQ z#HQocdic4XKbP5%*w{8*YTLW{aao}SZXb+B0a0f?sfW&Xb|5k3rRXf0mPU?Z-`0F$ zY?f#OAOp)h1~gx)SN}xE8)c6>r@+rInSAeQ^hhi@8*N>Xro1Outw_bnRh1H}(I^eN zb6S4*9&-&SbbA!m9l1vMi5%JKlek$f=X@R&_tr>vxbgR$n#U{N9N` z1)m-|b{U{+V4;Gjh+;w%I~e&<;SV^pG8{B+ z%lblb&;%A*sf|&Gm67;%{(RmzF>;hTJYsX#rUm+$))Jkk>zWs$z?+n9oo36q@stJL zxjfeRb!#F=Oq2m`2~7bN;|m3@0~1B?^n0OyPbe>zVyfoW3X#63+dl;3L8&AGb#k?t z?xs}YZ*?Z`e})8KYV0HdPleez^P>)KQafPZw(#;TcJQTkPgEucU2&Dbs5p}gO=!+V zu)2VotVVW+i}BypfqvnIY$Vq%YGIz@CJzX_Ywf6*!>J5(wBW|4mYK!K_BviZ^sYJ+ z0+1Y=C^^%ytWIe+Kv7>Y{l)(x$PnfOn|!?_nvn}TbBU^@jmYhm=mS_!_HtCOqQOBQt8X3sf1L@K(=^8G~PeN zz!?nAcdr@xv;S~ZEJmdpGJ;WL22F>^Ca`m$qgm^*h)RdU~Ny(;>2)F1MW z=cj9VND(84Mo9Sid_3g%81MLm%oYZ4TM9K?wvcm&rdtUXA56C0&%C{|&@KQ~qXzxb ze$6L+2fS~}g|rM=m6GNe73%0OtUkw~UUYHFBNqVZbdq>AL_UezeUkWoeT6t`{|tj* zi3ICp#mbd?263EY;W?qLMaxae$M}w7Uh5#{v)5j9!vS;0M8P(aEV^8EMKKH!u!taz ztuygPxL;P?J{2oFy8G(~pgof!M6=&71Ls@C<2``PxXFKxIrmD2WKrIUG%N=o$BAqv zPW;08@u>LSUi|rK-kQum-Tv!h;BXQx-58HT9`N;8)9bdv;ZpYJxhmnO0);ecP;9(d zD6e2Spsga%R~GR7$&w_4Ssl@Wb#ure&al!!?>+~c2&_;D!ZZ;GUd;suRlWhF-Ox}* z1Q&19+uF4Z&_s*|j4^n?R@vqVwY`Cmw7GLlqa;umO|9iO9jBmV*Z)V-7_|KQLBt_7 zCO%_BEr+RapNL95oxx!B^dKs^9YmiZiQEpZZvU_OpkRCkLpDu~jw2Y_F`HnE8Op0#}rWhO{A#H{6-F@av3)sf_|K*a|SBpVR0 z782~g>Uzf@O~R&4yNzkvp0;hI+vc=w+vc=w+ctNeA7AYIJ-b^KRT&j=of%Po zuBbRGGY?y^#1L#PE$y@w1Mu$5I%5T^!t zEgKCAWhL7wa*(S2A|N}fd51#DQ3YBCN`I|P=gACIW0)B`Y?ZqV1a10dZDdS6Xu@;B zUYO#qAa2&o$gis~fq%BquHZdomxAO_x3MhGDl{^H2^M0S z?bPg=VVaR^H$G)~(`T7#U6HZU(JcS0)Cu(;XF4jhSV?5t!Jn?Rq@HCi#Gaf)sMHcB z1+_g%&lnVZ_w<=mTS|k593UmL8f`Ol<3KOK>FszOv4%t#LZ%>eeRR*Ao{z*My*WXt z<#s1b6#%YJ`fJUZo_tB6$C{SEDgqLq0zXg4?J*pF-+157ipP^INr)Qd;U(>wY#T3& zf07rV5SS+;!{f0Oas0|4d%|aNg{x^(Yq0r%``G07|@ z0_doZgv?%Ka*WeqhNImm{-kE&DmPHCB%W-lCVR>#^?+*+G$y??6b0dX1^q}|#y@b+ za+6ZI_&vSYEhl@9xs&Uudf%;%x0)OGk?o@C5iNe;l3vmp=`0$##l??qHe)YmnAq>R z%KWX3K#vZJvcwB|x+#hUhnGfBTrT+C#fSaCI!;dO7oDjCt=QL10qPpi+9D$xacjsA zty5i{i$2P;bLM63?iytm{Fj6!kSa=HyJyWUcfD28Mbe2RVeMx0eDU3bwy(2l)g8G< z=GBDRH-^mjnexcK{e?w|2{Rix9ju0a5iw227{7%<330H@rvTscOfled;XHO34WT0> z7fCXuJ1EjzPL!0(@owj*Xj(r3Z!s~)f%@$4Ce{QSan*{#%=vM3S`^EQF>k$m6&J4- z$=Q!!hYF{D3dKyA?%Ra?HIl86$H{JqHw_ky+a@|WE78rG=rC^11;In`Ky>C8^eOZ{ zPU|5>73YhIyCJQ@%w~nD2G3?(J3`QrWeOd^R!H23cT1a_I;nM)*5v)1_hp{ub1hlw z!rxFkv`4(O4CA<+Fz7xWjYcq$c^=sa_fZj?EG>&kSuVyU%HbydX z7?cFAAS3>4zy);PUG#P0ZmD$lEOLcJCsi}HE9wAbs)DnSCE#HM=nuK{c`Vin=No?4 z-`)}%6z9rKZqzD2%9c!gcH(a;Cb>w7EwFoyDE#u1UtsqbhZqZ*8vOdWhGyOQfl2uu zwTh2yH> zSsvG8yt)z7O=U-??SL~HbvLk^LFl zskVx?Y(RC@hF)J-+N>RSF9^0eAI{4z@ckpd6cUFS7RN_=d!i>-65gK_TS;QseRLIF z;7O3z5pcd_rE5d|c0NAgg7`7eV3@o*zYTZHk8?&eo7MCvz4`munkR$Y9E<|1-7s8w_cyT^6jc4Fi*LU-B0H9^n{C+ zSI{|-rPa6X8)w*mL3+@HLp$yl6R;t(xFTU$;gt(VW^>h5_k06NI$}y>So7wW=5>;fPPXLXXyWkiQvbQ6y`z`6P4EWE4OD~s4>vRmGYmrIxl0y^6r(VHu~YUR-(F-i)t zxX**DwJ`&h5U;$tyJp#>{)#5Xe~cuA2II-R-!f=v65V1en@ZeTB4mHD5xb?$jKE7t zaC~io?0m+cv09jrvz`qu?B%5a1b=J6!h&Z)YzINNJITYNP#RB7Vo6=ZW@>&hYD{wf z?+y5EJIO|8x^21^IgKi98LxL4Hx<_%=U@^1LgP5jNTh{N#*`{ze}WUFLYCIcU6h)^ z7MBA<`c-Gt!)g)szxd+euv#h7tF|1d|Mk0}=Z%yGo`t7&*P8BI5SB59!QMb_Q=rSj%bM*5wnohtp4ma0qPmIj8 z8ba;9Ve!&3qY-L{Z!}>-orh2vVvMQq7^a^mF2AI{$TQhF={xIP6{b6IIOlu(M12As zm+?50X4{zME@Hb>P8YFCU4lM-Oz3+4es_rnSMNk%TFmz5u@Qz=%96{qUq&V@mZ79+ zyAF>no+6|5MD&1p0+>Zzm`JRvVOZk;_AG!HV=6N{gOa=P;G?g?sq>M&w1oO=q0pvF z=@n4p;ETEHzuXO$;-OJ3Q%5&3^|b zA%;$-vie3v?;R@OxzWXYwC{oQ)=nfH2Qa{B4&srt3+aJxgRt*~ z_VFpC&g+7LK*A2T!ky8-x||Q*a7qezO$(2ez%0?cb(#rY#*9Lt=lBFoKvt%i;(u z->Cs%regvM*%RBzZ*XxNA^hGMd3SM5E*PX)*vpT3 z`C+?=X=8uQKg@1Y`?CF7<-Yb1FvhjIW)N>;qdew4imcj?kv%`!@aSP7OZ(S-f0VA~ z3B%=*do5f7oqTHKA71wB&%IE${20)qG#IP^S>uMXO+))1moMk(+{b(#uF=Zc*@YwH z2SNS}4I}W-mj|`Rs0ZiUM_)qSF#S662Q?#%H$lViM7trDj@9%Vuz8bDtPj-!znU<$ zyNCME_M^F>+xC5iiW;>7p5xKn;IRG40b@jY* zNR#T(p1qh0wwaF7@@WFY+!{F)R&H&y%*HyO7S5{1)|W7A#VoyUeyN+B@f}ei$ZByH zDBUl?(M?IA*Jfwk)kRd*t-%$gQ=-m6qM6t=+XU*K#V8%WA{vm|X~UlVrmcedHopNpk$QmqBl!!3Zi7I+x0C&1N^9d#T=I8;h8OD_Y* zA5qnkYhkW$l!*O8;4Rd!7m9FY++%&rNV7()WX%94=P;z$tc+ezCiE;*IiS>hu4rX! zF@VB$P54zy5-LsE{+|iGrx6&Ow&=DHL}7LB#%^&i^J~4hxZ;aIy2+bpd#G6VlSd1_Uc)=9Y`7!@kq z1s5uwU&QZHdSupL{WJ#k#*R51{`1c&qWu&l7gZ(}YV)#(2xiR8SyNDYZ9OSJ^gc|3 z@le*m6~uwrUCZa|=ndDOy31@0zh9VJmJs31PRy~2Z8eKWH+F>Nl~*$uOiV`)zA>Er zUQ(VTAx)!dfYuWLn9b{i4kBv@`R=DPY)~rmr8>m#W3F&!EWs0eEM*{0)LLz z2<061O%gv8NIMhCIlQRX6D9}02_fBmE&HaVZnEPfNpN|?Et=E+Rz(Ha-xJ_L{Z!bM z4jUrfT^;7uMIb@{9h6|GQj0AQwOE)SWfXiGvvzgEso~w$-|YjB5WT)#$t84^@)?IS z-ST`n%J+%qhszapdNa!WW9TEqo7~fAAt*;BJkE!p5`N0**PB*7tqs{qUhQWq;3mSQ zHh!cATdR`&{NqCH2#67(6NrAgrSNFj(+#qZPL2Xox8&S=oQ_B;mJ~pm&s~3j&N?lx z(Z1)BSl(KrkIm{tl_22&BzCRWG#3ndD!2C@CwA%~RkhcYU%RWDAV;PglUlThW!qVt zM`jzTF@b^1BIiW`Y=}rV*9}s}a8)S+M^Z`>Z=R zTyjr{K=jyGB1Vz%yCe*)&j;Hug1>v{`w?KC();6b(chiIz^LdH_RSZL?Emo2dx0BG zBO^q&yjh~zKgNcW9oLwX`Zzk#xxJx+Q}{Z-WY=yej|NS%4q6d#BHCceQfZy=;zuVp z+_f5B>msFo47#)!_UX=b`0i3@P{9{f4|QeNg-~IHy8}z*^dUMEocWABGSOPB_iP`5 zzc)25q0vQ0Md{70^G;;)e$`~bASIz_v*dbSl1Bwpn^!6?T8x)$d7$xtPcW)zmKQDzOG|1zJ%Cf~3#dYW z)f0qj3W-C^Irtl!Vmzn@AV1zC>X7yr(#A}Ui9wXahUJ)rHlqxk)(p3%42_fV0 z6s2?;v>(-?Zb8F6qI2Lc4Qw^onX220G(5tuD4Q_UrM)IId52U$n`;ClCko6XqXw$z71_f<*P(zu>(m35VcxCNt4 zdCIx%iqJ~QMo?e44AX?Uz*LeA9c)@6Y6P%I@3Qm3JFOQ$n0&sEVlAF0&_Hc;?q3?S zF~?`|t6s%_9(8Krwt|&ZBnsD~eeF;`#&B9&0n1tb(6g?VF|Svih|T;2nTT5nz|Kc? z!s^|T-jPkZgm#_O7hl8eM9P#4wqn#BZcMSKI&nUG0`(|+Jt6)PEl3%hVftxTKlIG% zf**emAGGa$f4NHZ<+nL|(UaFb8xmu;o}rmjW-KWiAnjKdT2u*M)CABFSyBmE>TuEk zTLMHD@ttP>4qUEy^4$}jkeEw3Goe{=h=4O7#pzb{oO+TS&-YzsuaM!9U9&)GEd^hU zSG(tFWUqO_Vp!ugB699mDbA2ePFu4z9cH!Uw+M?^bNAi1;u%!5kZ@Ud+Mb_a)(KDC zU2Rg{gfEva^ir5{WKGcsZkUw4At7ZF)O}9L|EYM3fY0nL{KZ9fIq%v9>O8@-4jNj> z0-&)d`qj)zY^VjA+FK2sw2pn6SG@rM*JK^RN4grVkFcVQ{_<1;V@_Ii7s8d-+QmG{ z8*=OfO9jqEVr&OOUNPmxjoRX5AfMw9K)!bv5@m-RiZ4ZB;^bBc>NQGf9u!gOsu$10 zyvjjx9LNqGj;m2qxlu|^>1F+xe?s{Gk51CFP>5k!ZbUW8hApTW!^>c~w2N zHnDI*MlZiT@la9qt0i-@2fGWqi|>vd(5#h}T`h`MUQak}2Q}@>zw@P0bRo;?VdCrS z`|GEhuf0vWQVP}iUJ@OWH?H~Yj}fFz;M9(fo=whNvH z9?547?P8B(X2+W=X~qB(3vG`HEmfIYYsYLr33YO<*A4L*i4< zlaw`@f74_k-6t|CQlijX8PM-}ws*p-e(ej@NqM)St=@M(|Kb%Yy!{qO`bt&B0G}8~C8Fu- zl$!~|dO5{-(>u6(KJ5j9nZ2B@TRcpyVz&8GUCOp7Mo(Y^j6N8W&CEbKu}D<*8z`XgB8jCIZ$6 zKBVL(w^K{>QfJ{$%y1AfenNmZl+p_&IMXhRNLDj7pS)kETf~OX_*M@nR~I(&mOXByX@qb4xEM%vuOETH z_hXA(&j-u18UL9Afv(5r`N%C-Ti~RY!29Ql`4ehJFL!XPW~>tTF7cu|MpJ57Alju* zGz4t^^L$C#J?{(&b)T#kt%oPU+#)TQSRVi`eU36d0dY?n7F0XR79zoul{IM!?Z0lL zLG#(TYvPCYuiK0>|b1la7RZyqp!gDP!^H16p+jt zdpYPAvhOmm&AYFJk$y-5-^a_38Ty{WuJqK@+>_`a5a@m-+JhYD3(~!>e}9O9{9$S> zzyx=R^j%=EO~PCr1m5b*sr^wr%!zcB*{a{XTWkG;y0u!K(ErtjtOYhJ8$&wqK=X?9 z6|VVq!U-oEuOfAtGK*fdz&y93s_`MN)!D!%d>zO?q+V#i3Cw0wCk4*x>XU0H3;Mse ze9}QHo-j@qGmMB>=3oxR(p;A7V|yKzZX&;_pLLqCBF2kQrQ6HN1X9OBbIVL1W{#CO zR+eIG%~n1Bwo289EmB*fV0W=$iw2`{^^%va1$uPK6N{OfenBK{!XB@!A1lI^|mu;s6JDnZ*CQBSVtKX0*Sll=lVD>^#Lo%_d!<4WRr*~z%RN^q#Q1vx}0a{*VlaEapgQ-qD2mg-cla&fBq>?CD3M+T&ag(in>*3GO&nW}Y& zcL92WvF#O5x>cNBNgI?Y(s5fL-HjGdxyRETW^6ddoyY}3<{hpjo3=3Ii^HxuC>J}( zTQ~%Xcjp@Q&Jp;h#?C_;^9J4&{l$rXqFTB2#f?-Cft;gKoyW8(zvQ!1Q)gXPUxL); zh@r=A#=$iWM?>kfvaali70oH;e-ECaU!=5Y2hjrOS*S*Uz@loN;(;pgA%4zaPPQya zjSi~5gU<$AObWC~m1fvD@GhZr$A+ZgcZdXsnGYL7;^R>icxiUU)L;~;GI-5PZ6;R; z-=KVweMdX0-mXoKplV=`xcjDoqr0T!SC_Igm;KUWd#f&L+%Di8v}Swi=Bd2*>7oqC zrAFAlW^>5n%UA?7jM1g~G}Zf)?}gRJAG)2EQNt)jzF7Ia{R&eQWkb+KCjr znHCQn#m?Z^Drr=A&j^~}`y_i-kT)&F4P%^H0A|77xmv~SY+H=AQWS49v?ZrN| z(vv7Bg-c&=;;|^7KNEZ@Aa|X)k6GGLO>Gg*w&fSzWOJLIXzZ4F3I*}{Hy!Xk9FsdH z)ag)~e=1x|0#X^-;n&^=>jIJ1k;P&WHAyV&Jy!fr;euzjW7O{D&=Yf-gh|D?jD_^$ zP#QV&=>{Z_{(wEX77_JZv&C;W67pnO6lsRM`vaY+7b9`Hjo}%d-}6ktoaeBVs{r~el!47-ZfX@>y}(Dm6;E<33^AV}XBHhFLJy$?9|7|d>p#{4ic+8sD0eJx ztg_dt@0+&_L26!iowbRJ3ENs$L33v(YscVHW)7M5Hbce(J(c@~r)_&ZnVVbo>7jOX z3MGHt)iTf}GVEILM(Av0_Gq;ndWunmW}VQxOlIV{J#r7NgYs)Ig1P~$GwKtMdvmdv zo7RAa9mL^AiNyIx@vaEXJ=hb; zgs#rMPRRBHeYS|;xV-Lt&FQYn!9X<{{ogOxs3Ij;^bXlS3mjt&bMI$*E3!xDOw+k& zlwPTKFPT?3aMp@Le8sYv&mj5Ate@onHp)o56ftKyBK=((Uiv#!#D2?g-wK~GvYq^4 z)<1qrj{;5fmIPDVz;E)PX$C&I>xjN^S81kF!(x4jWOruFjV2Je+^GSU^#^m&a;Q!u zC`qJ-`=BABI7qLG6j=k|i6$g6*jdO|$a|8YPFvxl4=cwx(~X@qoL6m$9XsVb-o~7?J_8ZFGj$V-znVeQG^`ncJtN&$n1BZG zsj?Br!?{5RG-Mxa!lg+0)&?QsF?(xYP=3rqs_*w3p&RXv8N&$vh$0sWB%K&&<^sHg$%UvvIDo-*rIvhkETthz$iWr0(EscLh6}$9v3Wj zo5=;VvYwg|5(Kf*cGQ0Ae0SN6Jsz1{uQ5uE+Ih1ZkqWP5Rp97UZ(LHABC@~hkR%Jd z5fn>Kuea+v3isDV1vHBx9)HYok%RV>e#bl`u93spPt_~2QZ0;Wc*q`Kl_#3==lw9` ztzpmXkuxgH7QT0VjCX8;D!B_O3haRXvo|@DhCgE_t7vc=v(&6L+pPqe8$tPQvb~$e z@O;%H_%ZPkYBZl{Wxzqt+M#IAAS6?5?BIU>JJ&Tj4ZXp}{J7?sGAC1M=vVsP;H0V6fE6@#mD?1gZ|X(4W|-6^UAo z*_1c@Rk-+)r@I*?-$yeEXjKz+sj&z|*Am`JZ43Eqv2z%1!HSmJk-MV7&PW*Q$o5B} z;iw^n6o4)S0R{>SIUXVvrfz&40?YIyby9E!> z0v8a&5NVhvl9ITQqEOR`6h`%PPqOJ4yC1i62uXZulG(EwxP>kQwhZT~JKN@7TQo0G zE#GnZGahDESaiPB3JY7ilRfBHTKd@BzV;!v-jgD9aTxsV1Bd<0m4%YA&wS+aBO?Av z9!JQF8M5_n@6FP*nF!L@Fgn1GhI4(0hb%PBXdXe3pA*UX?cs2sxDci9!^h1B%j7^I zW0#drb;c#9mmSi%(ITv zI0E>FNv)p#6?~nKw%G}q>NVZOOn5_MuzT9bi;P-uNyXUjhIsrK%Xz&u!LNIcrMf*8 zQxJuO=bE!Tj{b-}T2zeUjn@-G41~-eiIuMz@NE8f-K>4&`rKZr>HVC4uSM#V6_0I{ zj}?qT-@0`nYNY|CzcdU$n8rHSLpl!{<6yczOP#jUcp$a>RTDYmrx6!#a9&VGjM5Mg z3&k~wDlLHvTTH3hp*+4@A}KGM(LscWH&ry{~>$Tr!8Kxg2+Nk;9=6+jU zjImkgZ>+T$zFgGI{)g(zNJP%H0PY$K-@4DQSWq=eo|q@e0^qiUIoxC4@fIHl$wVZr zp`sXt{j0hMnQy5Z4I5%a)3Zvs2_t>a1>F)^f?{!vP1QB|2a%R2p3F6ylpp7g`Db)X z^Hm}*fvB-wn3=&mui*M6F{=6_RSl4Q=XhUZAt}8WP0l+xusH}lZkq$TKUytWJ+<5g zWw`^N3GTw*&piP8X7tDxa4y>U^`P#+x)^{3tU+c{bY%?{4Dy*O4Xg%vb<;x81c}b* zF#Z)6{epzaQeq0PQ=h#E=&}Ki6j9WeoiB5EI$37+rB5f*EOUPa)PQ4zb;P}iETrn< zrxwgR1L^WlBC?ez^uLDmmXd-?3*8O9W(-XuIW!CAl*iyB<+n~@jUymq$nP-?JUATC z_G`CjqlmK;;&SwRCB@YUYjaTERV-n!I?L+biWQ9c&Q{ zv7Q(hkoMf}mkTes_pw#&9@wwbwGxviD8-PlJREIU(^#f$p-z94`WlXgzUGVK(O=ES z?ab6Pw;DE>`d}8)M^aT+q}Fw=YL+9D0>~VxRUnInmNwrpMHu3P-P~HWtlxPfF6c#q zM*6X%?dM5-za@Pd`6}Mz52yGbZ;P5cEqv42aOW0i%2XVg!Y-%rkIAWDPDl>{-hXX)#9P6%Zh*;xFB z5wYs8g|{-;d;m-1RbL&AWd1KVcbRSj64C-Zt- zzQPN^hor40L=7lR;ld*WU@f%QR8ue)>Unwk0S`8!aO4nFM6fjVz(%V~!hTP(QU z!KJ_Y+`;TLn6BG2YYZG@v}RZ?a#boSEy=OaHim=pUb7ljLMVdn<^Ea>B|a%IVR^DF zPp`1!*g@2>`>M8R39@;#4bJ$3R0RQW&}_7MPHL$=gl0Sl;`d~er-dTfNVO0JjYwml zH-pUZ@QxAw1fek+p9U5modR_FQyGm;z9pQa5bmG(ZAubf+-j)IPcM%NVcc(<=oA|7 z^WBWmo3En2ot|JU0T%OHAqQ+F0I4uzN~yJ$JwfRpl-@B|$HT7x3w zxsUPOCTL@VNoYbWP`a~(+`+sr*LhhU1)QfHgwcLrSVYX>!gEf}S1alYj2ubi@EhTe z0f%Ttdxi-LMerS}Wa7eCIt4NF)Grhj`PU?&%2^0rm1Thrs?Dhr7@r`CEH?}a3~Y=- z0Hd?EOUFne$L$hzM#t5@2Rc+5gZL8XUk$jRx#Rn# zHh%f=4$p1B?<2U+h|*dmvP|Hf&UsO-HGS++#1LFum-g>2b*+ejkc^z1{8Bax(mamv za=Bjo*=SG^MVMmiQ#oYJHegeY*2B{Y__yp|VBHFmb;4$w>5C|fCBwA6a?7YPJxc)T zzWZGSDO-a{+ANKS#>wW&BC42_{Yw5>*L^Y=GAaOFRiqJZ4~8C&uK}!?Hpxn=UG+0AFGd5&17 zpIBWYzkIQhRw6!?({e0a=&ZBJ0kWQrCXSl{V5gXjod@;j?VDr>yTaC%mp6*+o>ffF zg;PtgYCErU8Ca#1oXoyrC7f8|=cE}5g`)*i-k|@LIROK;akpL?HW9ymBtDtfF{a&U*hzO(Ki9J}b7XNT6?#h({r zNYr*Yt0N@1A&sfZd{4SV?M6ZfEHM*i60D1NoYg2pu63pnN*S)GS~5}J!}aakTV-eGD*eiP zy=EdRm$$p@4xMSHQytThZ-$jen;k`*qfaYO{2HqN&A1o~247&mXA5FP;yQyz*WHon~)SA7`$dhijMbTXTmrMbX zUZa`yV2!!j-|*So3qYD)W3$lRO#QVYhlnlF$hEjBbG~U*gajurYSKPE(%{4}s44~_ zeEo1S4nxD|CyQBd?jVIOpU@{Lk41)dB54JiwzJNXm>Z0m>dO|@(Jfltq%U_G4tmO# zH7{78a;-i(Z<#Cqlv-JuCO|=~yY|i}<_33Vqe_#p_#?L;WCdI2cWx6TM5_-%x$>#jG>Nq49ED}pWuQFhQ3yY=xw!?TT z);e2Xtm_}UMK)6ISaU%+V31{oX-|kgOGsK)u0<d+wm9o@PZdT@9Bn(c#dqk+78Yq^`m)=!i^qZ~x=g^xu`#~9TC(In4H1^1bafZg1DT9)G zDL)fywD-JtRe5fkG-nkNES$7VZhW7=-6SBNL${T9Z$ytpTDfUgT+3jmysr&xJ&@8owdRK#FGq9!)*^w;YT`9dcn(fp+B4+SVlgdo)mA+-XS~6ma8Z-J`lhJ=!_JsvzZqU+hCV zZRh8A7Z1m;PhOI7L5>fuO+aMu&0qpocNeyI9!`3(KqFVLj?;t>GP^=^9DbY$-cG*iLcxdBYAG%@!*w zgu6O)Es{sb71SaSsLopro7_WzxfZ3}I3wRtWyd8%s)^9+PjlzBwP~FrFGt>1z}DBn zj*^j74wr1K2^UMyvx*_I3TU5x*wZI%Qov3E0;VS^j^7Z_k9+JF)M9}5%jh6@1U`aK zb=(=D$Mit*#lTGoT{3#gzT{VPMvtbiR(&W_w9OF|5{g)(;1=2L^DR(jTvROq+(^SH ztq1a9|IIb%ds$mZF^mMHX_hLMn&WW<57t?Q7$OVpkbAGfsxFYJ^oo6!IFphsH$|RJ zDY+lzUiys$q&^M!lyf-gk>nC*vR(rYg)DmuekR3_Jl$gUANY?7g_gdY_^8Guhg71l zBELG-qiim7D?y&UygbS1UNjirvGCQr@v`(lr>>*tRjgK{OT!{q{r9<#%`8q(csmqN zPVc^*f$4dDWNSMYKdW!gcH@|Wy~LR^Ym}9VDX0qC2arNFq5m| z5^?(-6C+=gg5{xU>P#vo^c7z=76+v-DZdV(B<(Qw8~vwkv+%ieh6QQ~=B0Rl(kJFm z=oGdYHr?TlG4{Rt(=Dy1i!o6GrvEG>tZ_Jyd%4_*2{W>4N?5LVV-FpGkXTw#yh2>y zd>D!`NtT~8b1|JpY~0_+MUIU&*lnBgcRTW*Dy6YbafR%m1Cm;@6vrW#fUhT~pHNIb zHpAW*+`v9@3`{sFEIJ89s`HzBi;X0fQro^;X}!G&X+-8@lF2qf)6KHecAov%O@}6x zGJ1JI)st_!pLs*}WCOlZ;)AlN_*=!+ST2&BJfz$b-fe&I3_LP z1=qAN`NIK$E{~&j@5SbM)ZIc3nTRq*yMAu2niRi@8@bF$<@L3@*)N(uhj$*dN zKiKN`)+pnA(>g-S!j*2j7SS^1*2~MhJdv+C!$lKh(t4x=i&sBlIZ72)#z~8m|4fEQ zMM5*(Zz{KJ;O#Aw5mkW5n8IaD>Ne^W0QhUq3{d%GP-&5}q91WB1C|f-heC_p_oE?| zs~QdJ!wyD-9u2Rs=pHeRntfrND}MP@;FqlHu07aNHb97P7Bai?*N$0f9aSEwcjQMP zX^=({&yO~~TdWr^NlHsAr)llGK`YUD3+(*YIStrgx4_#uOwZUOMILC?n`~}z&rqE? z^zTRrlY@-6+=-1x2nG$KeqH+-R&$ZptiPkF*u8#kTR7QRBP$!3zDb6i)}KlEJ@H1| z4Yzugp>NPRWrIPJ4hExPOZ#%f6PH$v*9|Ts!ssv!)ag?PIMt`wZTJ^rO=~WSQ zNXy&bb(?dKa~laz(0e1?5}scD&cUO@zDBbk;(Z-EAMMytRj0Nnz{Myc+)J0&sCfndoYv+IE&E0dr2a zy->rG8Z6h0mO(?H;e@VkoRQ~ic=C?lK}}ey$dEiV z!GG#Zl>YehHzCKM_%1W;sc&+h?oi1VnbXaXeg6s)9^!B*1odWeWqQPu7?$X>#$UMY zRYvhVq;bN3ue$APEvE3OBJC^tL}(=98wmQQ^v)V16n%HPudHZR7IK+Dn1l8Gv=;4_ z^$EaJNmMT7OOd!89!S-uhcrUvo!S6W#g5{~BA|${>X}7AGka&`I#9mnm>?-ju!9v< zqnk1jpAu5}eP{TJ!m}DUNS3rPF{C`M{gRm7@N>(3=K^_+caR%_ke^$Si~r8>soVqd zgB+3NBDGD$Qw;hvtG{ZAZ>`T^lVNJ0zfp?z)6%OUE%tP0>n7_07c5s~+1;7fx^dxq z(KWcC%FU|axM<8rXyAR9|*cogwPtcqAdB$wH%Q%Te>@*Xa$S<_ z4LGwXhe>e)9 zJILRfkc&z{H^f~h0z1c`b^KtsP{adAR%%D&dIc=}lHR1)!)-C3{zW^aSEq4jN$Oi`)fjzcEt>M(Zxaio>tRI1P4j`0dQz-xL@=X=##K4NfeM z>mkb7VmcD{M|Fb+GVRTSO)D*am@cMoXNE~QaFmbQ2|7fqFx2a}+tsYr3tt~{(x6Tn zhT}v->1FR;(mJ11WSO1n528xoGG^a!DvG+DGj0-6#V03^_HES(RUAG|G zA>!{q3!3UC8OWMkY{xPU=d74?@r2hb0Bq@?7H6ixs95_FRUjfv=gU~-O;6L$yu($uG@c#xv{?GFN2#W%8{=vKd zA6Vr7PV(Q_y8oSo74Cl|`Trnx|1JOT(yjk3w^#jdxuuhWG&sb6R)GCGKmJ8)um3## EFHNaWQvd(} literal 0 HcmV?d00001 diff --git a/gitinspector/html/html.header b/gitinspector/html/html.header index 8cba24f..922e049 100644 --- a/gitinspector/html/html.header +++ b/gitinspector/html/html.header @@ -5,9 +5,11 @@ {title} - - - + +