From 19a7a837dcbfcc792755e56b3deb9d3ed576b404 Mon Sep 17 00:00:00 2001 From: Barak Michener Date: Tue, 21 Feb 2012 14:05:44 -0800 Subject: [PATCH] remove fuzzyfinder --- .vim/bundle/vim-fuzzyfinder/.hg/00changelog.i | Bin 57 -> 0 bytes .vim/bundle/vim-fuzzyfinder/.hg/branch | 1 - .vim/bundle/vim-fuzzyfinder/.hg/branchheads.cache | 3 - .vim/bundle/vim-fuzzyfinder/.hg/dirstate | Bin 1064 -> 0 bytes .vim/bundle/vim-fuzzyfinder/.hg/hgrc | 2 - .vim/bundle/vim-fuzzyfinder/.hg/requires | 3 - .../bundle/vim-fuzzyfinder/.hg/store/00changelog.i | Bin 67725 -> 0 bytes .vim/bundle/vim-fuzzyfinder/.hg/store/00manifest.i | Bin 70310 -> 0 bytes .../vim-fuzzyfinder/.hg/store/data/.hgtags.i | Bin 4262 -> 0 bytes .../.hg/store/data/autoload/fuf.vim.i | Bin 36046 -> 0 bytes .../.hg/store/data/autoload/fuf.vim.rej.i | Bin 776 -> 0 bytes .../.hg/store/data/autoload/fuf/allfile.vim.i | Bin 1978 -> 0 bytes .../store/data/autoload/fuf/aroundmrufile.vim.i | Bin 3027 -> 0 bytes .../.hg/store/data/autoload/fuf/bookmark.vim.i | Bin 7623 -> 0 bytes .../.hg/store/data/autoload/fuf/bookmarkdir.vim.i | Bin 1629 -> 0 bytes .../.hg/store/data/autoload/fuf/bookmarkfile.vim.i | Bin 2149 -> 0 bytes .../.hg/store/data/autoload/fuf/buffer.vim.i | Bin 6036 -> 0 bytes .../.hg/store/data/autoload/fuf/buffertag.vim.i | Bin 3770 -> 0 bytes .../.hg/store/data/autoload/fuf/callbackfile.vim.i | Bin 4961 -> 0 bytes .../.hg/store/data/autoload/fuf/callbackitem.vim.i | Bin 4603 -> 0 bytes .../.hg/store/data/autoload/fuf/changelist.vim.i | Bin 4178 -> 0 bytes .../.hg/store/data/autoload/fuf/coveragefile.vim.i | Bin 2941 -> 0 bytes .../.hg/store/data/autoload/fuf/dir.vim.i | Bin 4751 -> 0 bytes .../.hg/store/data/autoload/fuf/file.vim.i | Bin 5703 -> 0 bytes .../.hg/store/data/autoload/fuf/givencmd.vim.i | Bin 4094 -> 0 bytes .../.hg/store/data/autoload/fuf/givendir.vim.i | Bin 4033 -> 0 bytes .../.hg/store/data/autoload/fuf/givenfile.vim.i | Bin 4126 -> 0 bytes .../.hg/store/data/autoload/fuf/help.vim.i | Bin 4539 -> 0 bytes .../.hg/store/data/autoload/fuf/jumplist.vim.i | Bin 4233 -> 0 bytes .../.hg/store/data/autoload/fuf/line.vim.i | Bin 2330 -> 0 bytes .../.hg/store/data/autoload/fuf/mrucmd.vim.i | Bin 5193 -> 0 bytes .../.hg/store/data/autoload/fuf/mrufile.vim.i | Bin 7660 -> 0 bytes .../.hg/store/data/autoload/fuf/quickfix.vim.i | Bin 3646 -> 0 bytes .../.hg/store/data/autoload/fuf/tag.vim.i | Bin 7581 -> 0 bytes .../.hg/store/data/autoload/fuf/taggedfile.vim.i | Bin 7070 -> 0 bytes .../vim-fuzzyfinder/.hg/store/data/doc/fuf.jax.i | Bin 35552 -> 0 bytes .../vim-fuzzyfinder/.hg/store/data/doc/fuf.txt.i | Bin 41653 -> 0 bytes .../.hg/store/data/doc/fuzzyfinder.jax.i | Bin 17640 -> 0 bytes .../.hg/store/data/doc/fuzzyfinder.txt.i | Bin 25717 -> 0 bytes .../.hg/store/data/plugin/fuf.vim.i | Bin 12610 -> 0 bytes .../.hg/store/data/plugin/fuzzyfinder.vim.i | Bin 85835 -> 0 bytes .vim/bundle/vim-fuzzyfinder/.hg/store/fncache | 33 - .vim/bundle/vim-fuzzyfinder/.hg/store/undo | Bin 1102 -> 0 bytes .vim/bundle/vim-fuzzyfinder/.hg/tags.cache | 37 - .vim/bundle/vim-fuzzyfinder/.hg/undo.branch | 1 - .vim/bundle/vim-fuzzyfinder/.hg/undo.dirstate | 0 .vim/bundle/vim-fuzzyfinder/.hgtags | 35 - .vim/bundle/vim-fuzzyfinder/autoload/fuf.vim | 1046 ----------- .../vim-fuzzyfinder/autoload/fuf/bookmarkdir.vim | 163 -- .../vim-fuzzyfinder/autoload/fuf/bookmarkfile.vim | 199 --- .../bundle/vim-fuzzyfinder/autoload/fuf/buffer.vim | 189 -- .../vim-fuzzyfinder/autoload/fuf/buffertag.vim | 300 ---- .../vim-fuzzyfinder/autoload/fuf/callbackfile.vim | 137 -- .../vim-fuzzyfinder/autoload/fuf/callbackitem.vim | 139 -- .../vim-fuzzyfinder/autoload/fuf/changelist.vim | 172 -- .../vim-fuzzyfinder/autoload/fuf/coveragefile.vim | 199 --- .vim/bundle/vim-fuzzyfinder/autoload/fuf/dir.vim | 132 -- .vim/bundle/vim-fuzzyfinder/autoload/fuf/file.vim | 139 -- .../vim-fuzzyfinder/autoload/fuf/givencmd.vim | 123 -- .../vim-fuzzyfinder/autoload/fuf/givendir.vim | 123 -- .../vim-fuzzyfinder/autoload/fuf/givenfile.vim | 121 -- .vim/bundle/vim-fuzzyfinder/autoload/fuf/help.vim | 198 -- .../vim-fuzzyfinder/autoload/fuf/jumplist.vim | 182 -- .vim/bundle/vim-fuzzyfinder/autoload/fuf/line.vim | 135 -- .../bundle/vim-fuzzyfinder/autoload/fuf/mrucmd.vim | 134 -- .../vim-fuzzyfinder/autoload/fuf/mrufile.vim | 234 --- .../vim-fuzzyfinder/autoload/fuf/quickfix.vim | 154 -- .vim/bundle/vim-fuzzyfinder/autoload/fuf/tag.vim | 178 -- .../vim-fuzzyfinder/autoload/fuf/taggedfile.vim | 159 -- .vim/bundle/vim-fuzzyfinder/doc/fuf.jax | 1405 --------------- .vim/bundle/vim-fuzzyfinder/doc/fuf.txt | 1883 -------------------- .vim/bundle/vim-fuzzyfinder/plugin/fuf.vim | 158 -- 72 files changed, 8117 deletions(-) delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/00changelog.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/branch delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/branchheads.cache delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/dirstate delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/hgrc delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/requires delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/00changelog.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/00manifest.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/.hgtags.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.rej.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/allfile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/aroundmrufile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/bookmark.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/bookmarkdir.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/bookmarkfile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/buffer.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/buffertag.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackfile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackitem.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/changelist.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/coveragefile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/dir.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/file.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givencmd.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givendir.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givenfile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/help.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/jumplist.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/line.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/mrucmd.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/mrufile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/quickfix.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/tag.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/taggedfile.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuf.jax.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuf.txt.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.jax.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.txt.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/plugin/fuf.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/data/plugin/fuzzyfinder.vim.i delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/fncache delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/store/undo delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/tags.cache delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/undo.branch delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hg/undo.dirstate delete mode 100644 .vim/bundle/vim-fuzzyfinder/.hgtags delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkdir.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkfile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/buffer.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/buffertag.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackfile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackitem.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/changelist.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/coveragefile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/dir.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/file.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/givencmd.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/givendir.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/givenfile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/help.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/jumplist.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/line.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/mrucmd.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/mrufile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/quickfix.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/tag.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/autoload/fuf/taggedfile.vim delete mode 100644 .vim/bundle/vim-fuzzyfinder/doc/fuf.jax delete mode 100644 .vim/bundle/vim-fuzzyfinder/doc/fuf.txt delete mode 100644 .vim/bundle/vim-fuzzyfinder/plugin/fuf.vim diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/00changelog.i b/.vim/bundle/vim-fuzzyfinder/.hg/00changelog.i deleted file mode 100644 index d3a8311050e54c57c5be7cfe169e60a95768812c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57 zcmWN_K?=Yi3QQd!Bimf6cz1x1Zba`mj7R?{D?T%ZxaF_wVO$rq4T(Q?Nlawa&U;h0r+> zy9Q!4fGgn}3}>xXOu|s;6@gORCE_$#MNxA^F_PB^T4&c=*d(glJtF^1bK@25xKNB{rp@pzr{cF(!a^PKlNuk#w`Tm%b(1+hc{AltkAjQF)oB0o&L zn{MoC?37ilxa!(FpDq8D{<{v$gBT%3WkQFlBsAC z1&_pGdAE`G&;vca6zw)SSZ*>i=0%}VC_EaCM&cCpFla0i$-CDl$ivHT4I?N#JdEMx zN2Bl45BBoq<@NIO+V4g7QPf21V$$fy z9>R2PKKt-;9cC7qFMqFE@FtRdT)vevz4h1FGPE2jl=bA4I2FyAZBH=M6Cf=D%(~1h5cZLV20tsw{k;vu zDHp7KoWshInMvlgJO0QBZVL^0!sE%pW ztxg#3ym}<&^am%6_nR3bR|>1$-tIhDX=>R$yxEz2l~@+Be)qJv-5zf1`v&eo*FIfv zIOIgQ=V@veSip4!o9XWjW)Y=<2;%4`<=(jFxEXu(4DB8NDT4#l4`0ve#%=_6Sx5ZQb z3_;1$`mU4Sc9Y7O+*7LO`NOBhR~48~#^2s6p~+AauwYl;8X$OWYuGivP@Kii_?a8i z3!-eoUn8O=cDx(^%TD+f#wF@WO$voA9n?1hDp z?=FK^Z>}Xzi!YqwwV2y+^0+rBU!l-^j#k(UVMLE%*%+%MBg$kXx8ag3A)MvfREdOu zfbHbl2>(ltjF}YS!wz`sO!IkR{+MmOXW}MN-iR;zte-Gm9Qzoi;J<^D+j$f9K>KEq zEaBlDJ8m9q?Y=bAWV@~Vs{HLW4vFQ#29?QikF&Hky7k-1M)0oj{apT&#ji-?4uryb zgbBzAq&oq_{y>JyoBgNwzVFYb`VM}Tcv^?K@XcuLBlWZ3^A!prG6-}EkwT(Uku)5U zfy5HfXcQGoB@oCY3>l3Z4!_tYge} z;8HyV7=q%2IUL%#z4%mEW zho5VA5XIn>(V3R(d&Bzb*ZsKl;n~9O`_}0dx<<~M28srxcuuVISk;|^wa@Auf3bR+ zojX%xxAyb!TVmtH%7{1D|5UX-dSs|fKn_bGpz7RUi>aH7Ph9TweuG) z{#;#n>c-V;a_=Kb`SWUOcTxCsn%FB>NBGfo?F-(xXQ0}=eqG!l)(qi7f$693m(fdjR1$ltT#{}S#& zduinTbVZs!6*kIl&1~8Zq`%SffM;%qR^@@$A(P1?t4T6E2cs2K2(87nMaIPf@@@~Bo~joyIuxXE;_@yt4@7elmDo@dbvEDOLGAZB z`(~L+7PmQO?d1f#{0;*+aiL83z>y$lu<3oZ2%GE9G1dhlkBPR(+aDbM;aSCJB=26t zZ!5pbp30&%rmct7YDi%3ew{nI_BP-2;`kMJ!uXxIhl_W(CDo64PEL5d>(8llto*Pc zEhW1s;@TGTwT*U$(G9hlN5lJO*(k-z%uR!16%#}-NFnnrGcUxgb6RGRyml|@F`r7~ zPWw#sEq=vy%-YKdlx4_QFi&nSh39fAYT?9vpH}c7#!SQr?V-v+f zYq8n%T>CM^w(qe{+S$=6IkJZD7B7B5yFD0x>xoc$oos3q{02qzaI-F~lP~dqy16#M zbzUJtM&(i`sQJM&A4F|`63^bvqr>MK9kuRQ zJi*;)$3<88o!_+b?m3pH*HPib;Smlqtg(pDmtrg>*R726NWRwy*z^{6rLO{DNf z*QPmkrz=HiwYI)4+8fQL?(wN&M0F{=n|KZ5E%4j-K0i_)KC?!m@D)Z=ww=#GhqbLk zvxOs?mEChsg;j;~tjM_wC$tHPkx9w%$g5exNH-4csd@i-01YXu)RNFF_Y zbg|cYR;klz#zZy6=hCy+9*=CA76$FoU}&zTuo~Vf?!1r9!CAXJ)yi zDhQSf?kP)3A)G!!%Pa`{$SIl`@#?lqeO7nwgrduxu7i({s=~^@DTqWQVF)-Pl?>EZ zJcB?Wl8`tgoeTsYm5L)Xa5x5%fd}P(6?7y#mOw!NOVCk0$$oHKr25n7iVXjKzGUVw zb44&gM1eE|FoZ1(a|ru<6P0D+-0G4&Rf19S2b?a5JT<)p%2o)>v(8qyR@r+B48L*6 zS)U0Av1SX+KCaMf-U3^0^DkcA=ssLFtP=~neBfmDBI(!&|)OUNm8P_{xr zRIrPH{R4?563`eLhK!}7C@3ArWL^r?FR%R05II%A!-qrL*&Mm)C%@ z6@u~xC3qO9CFIwshDKR+Y#G!tmcnQUVuzM|kv&U!i{aVL-_Fhxx+3RAg`;Co ziQ-D~d^KlNF_+Up5zQkk-`|=nIEb>)4J?-(9T2oF8~%`n^Ar5cp4P-wo| z9booA74=lr?g8UhQ6f^da+5F4G)1r8u|^q(!_~R_pBX>Ui*P=1I9_aRCF(TqSVF## zz{E>i{8&ri3z3gcr-q16rra+` z#gh~*mjk4<$ z@~A=T@Rp}7mZ35K5%WO|po;<>l@2UT9DxpW5dr~^C(&t0912CJlaOc}gFwTPaetdI zcqEdD`nR>Yq>#{lYa~1)03ZT!0B|B;2v;2D5blFQ`m2!w&czYU_|4ZS-#HVidh|fq z3c*>z6rFL;FS>@uTws?pQTIZ3vFIk0<SVInj{(LzxeZ%HQj02 z<&i~~?Z&X)vRdB-mXDPRz7PX1Gy|44Q>c4OEVDR-KBqD4^o63WWro=`WKbu2<%;B< zN?7?fLG^{HcOz~XR(;?)C)Z?mcV}X>zV3%;)nJj>ZK{30j_Q{=q+VW-&c!%ht+?&- z7Hg)Gb*6l`xkO;qTy^iW4?_j>Q&-k*Uaz>uhE?*cbgylTe7V3I$L$V8A*|k(>l-u; zr@G?hw|HMLw%JzvgT;hhg{gG$b~7;)g0u`UL@fz(h&pe6M^Wu`$HKydZdSs_)Su%A zqIQ6?6#@f(lxa?GG?>;N9f-bH#UV0oHqJUAuqAA}2(RsiLo$+ULXRIGZY6E}_)NQ4 ztvH+a(VZkIUmkBY9aC+eQpfx~r*pEz$LSeCFEUi_dD@!kCB)!7V$y2nKaIrs8m#Fo z3u=9FDXdZ7Vz7-6u56<_+7MqIUB726$1DeTFAEzJ#8LQKC zRiXD>K|P6&n)F*uoM#{W6703v!ZFF7r)zr`c}HSi;FoZH`SysNS9}G;4DH%aa&~mj zZ4~01>@$96%bLtnmOo77R}cU2QYn>3_jSyIal+SD5=;B_&)Bj6=c5V{!Gz5a9zQfL zmdxh@ki)J?!yI-k!#q`0C9?QL!a8Art*2I>!S$6BLD>qyrDDx{3%X@4G)?lor`TN=&do;zx%DtY+KryNK$GCgTLT~ zZMW{|i;K1Uo~X#OZ7$Y(QD^>9oLcT-hcqTKCJM`~wbcACUC=W1)hgT);<@KYu�Z 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 NE$C!ASd1bn{ujnuyH@}J diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/.hgtags.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/.hgtags.i deleted file mode 100644 index 1edd683cb9e3c3e088e6b259d7d556578a431b94..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4262 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.i deleted file mode 100644 index 3178c2a5ad71761ecc591c5b7be6f1407a9091e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36046 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≥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

8GaV+O#c^gD;vbEAzdzu6 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�pfk(h!XgvzwN>nyBs71AdGRK%0GDk69(p@ zAi=>^syBuI;#~4GIrO1k5oe`}xBoxC*FR40Tn80ar6J(iV>QD4qZm=*sb}P*60&iq zig?tXu2{VM4J(k|uvf$Xzn$dV(Ui3P#>}~MBaf}ycVlN%V}b^&xZ!P&56WV$$8Qug zva^dWD>3Rb_|=g4tyVKpc@Dq2>23eTiLx~p)EaEA%-$}=RXgi}Y}}g5b!UT;imb$1pl`L}0XPdfcr@#uuRjY(A+;a&Ju(LelDczy=xqPDC z#bcHo+;0@5Y@W@{eSGz&=%Ua+R z-X?Ic0B2Ad%pd{8=m4ahKtXxq6Z@rOg$I4i;@2t)i5pLxd3hD2-iIgz6+ix`y;uwd zcq(SE*RYWgPh&sY{2=h70sGfYFC1-;c&fL}UD9qN^X>831K9KzUdtG+Ri$1Mizg!Oa?`1guDJ8+acS`4SooEmLg#`*fcP+8LVkvEL zjbAwQ=1u!w=Fv;f|Npf5nRHumEVyw~H5KgN0$>oqx)Uxy5ob^keW~p|dCitpe?v`; zqIvn{JWJIJygE$h35WCQ8;e|j z&b@ASe%wr%Nh>n1oS(dPvGpIuBgRVL(UNLbu;suR^|ur%fXvJD}(R)x6w2E>Os26;L<`M3th Ry9fD)1^~AuVVPy+0sx{mcbotK diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.rej.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf.vim.rej.i deleted file mode 100644 index 02eb6ef14643c968c8a5889a3955c18a3c106555..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 776 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/aroundmrufile.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/aroundmrufile.vim.i deleted file mode 100644 index 2513e36f95d8ff92d9d2fc4790a19e6e1fb79779..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3027 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 Q;9tko1FdIMo%o6W1ueK`!vFvP diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/bookmark.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/bookmark.vim.i deleted file mode 100644 index b1a08dd7999efc3914d89baf60301e722ab8a8ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7623 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 N>x{R7UE$)4{{fP=2Fm~d diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/buffer.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/buffer.vim.i deleted file mode 100644 index cb9602c721b44b34bb40f36c2e12c97508f3bfff..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6036 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∾}#zjmwVnX=FZ3RZ% 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 I@ExiD0l9$?UjP6A diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackfile.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackfile.vim.i deleted file mode 100644 index 38159b36fa0b6c7b31b1f56d57bffe4999743d1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4961 zcmbVP3piBW*FO_OhKk%uy^N5-V2E5|a!=(J@gmn5gNbG|GZ={?6_s+0P_BipCYK7K z+>*N#igHU46)*Lc;=j)^z5l-NdA{p@p4q>(_p{DgzqQZW>#TuL5DG#D&j|>^6tBoo zI&xZn~^2fbFY~@*&lPmzh}ubE7a#z zC;!lY9%Dfa)80_MBwib-_-7!G@>?IG%N1LT+%f%+%+puY9*cy1C01`vTwGifZ5|Pb zI&ixz?{#p3IQ|s7v7(Z2?9Z0%F6Q{w7xbO_0DIA~vd6cc~(v}v?xt$znUSK_y-q{*L zRF@O5s@D@e%$Icg(kdC1B6k^5I`J^LZpwfa-Sb!_>U8u}S}-LcJ<(Z@4o z&)Vl~ji#nywv;wq8Qf`re*Z}|Ek}anJg&EuA*C!$@b4L#J67Dmv&C6_K+dIb?z(fdM|6W=w%5cx{w~F(dxnn}TqDQz z-7y{)g^%HVHY+>qYJQ`u6Dt^R6cRNk5dD|FU;@90r?*v zokNY(d=k?t*UYX_OG)i^fI4TdwzdU?ip{B$I2On|pmX@dlh>a9Gi zOU8pSUt!KzdDG60Yu#B*_tgj5^-B78&Oat~#W=M}&%StNW;wM);gj^Vxwt@2i1AH7 zb~s{gGzIr0iRjv{F!i+~K%5jC*sUDTBYuYMB)XUs7k~Xk?}=Sc{CYY{{Bk+we&VYe z_O{R0-uN6)Z?mIzS*$GcKF-*#SEo0Av(kGV&84Eb8Jp6&jJtJGGNO+No5V2%5rbDI z?2BX`Qcn{dymk~F#oz@=wHKWw`WNyavz`j}oh%!ySU=~`Kx+OAqFX1+ci1ww>R@@^ z$xxn9OW}J6UtTcaD_n+15cCj6_!ggg>B2H%P1dOqukIxZq86HN-TJ}RL4ciQ-NwN@ zHWKFTQZ=n1J(^gxi&)puq=s$k@zn_5x}kF{Bzk$I^W~8u^J|xNO!q6~O<9|%Puz57 zjF-e%r~CSUhppo3aDf-R1oS$vaDvGMQdrpEIbaPD5)@kSA#-++H_eCQV@72#&1ozK zmBL)%gU9;m1E!vE93*dYfG;(W;z?nX1A~1iT!s~hGayYhoev_f7Chu z@CAip0#)Xcw2ih0SBDGy(h$TS^=ps!F(M5BTW7g@T>yDuTl9KmrLSpscO8FuNqqZc zf8opRKQI4!4n}sCx$WMA^>#vHlk2LL=6R#>q!YHn{#C`3*SjJnO~Nh)BuX|uIg+qh zxk~zm&iiZXT8EwF;(aaF*G)?fPl-co-Ft@bI!@c`tP>kM^SCnk$zPUXy=i%)CbO3Z z2g;hFru%CXPkYR(h*k^%v}1jWX$!33z?XcXoEoi!y2m54CmXY=3`I=I8Xj3eti? z)l=hpJE738dY@6<{mGLo`YeC=m^Utn7hJ2~dN*~H z-+t4DbMjS=W?UTv*jZ#RFHH(W=DSzcQ$3#4_QT+0S&!D+@rJCdf`;+wvbL=KZ|8fH zhUeOn#)X#iQhK+nu~tK$%HxjZa7m$Bo=6G*-Bf+%q zRG?|4QWSoX$KilO=D9z%$?X^yo{4x_8oX~{ACbk+QPR@K%l}T#)j5kP<05%Acp$YuMUfx?Oz0KDIRZ#>2qpX36*aUY8pysK>1q z`sVdeFWW@Pl#%IQ{n|_Z(>XW8n1~$N%WXuI)1Rb@`Uh8nCVpCXMjm?;d(UBODu2c1 z!e*hS#Z33FOaC?AV?66NDwp$kRLv(GaEH_(#B*&oDMDhoH+W^Yw~`1G*<@! zcGjUb4a_PHv6zv*xCbYMZ-y8f7`bvp#qg46OEzkxSI5YIc-@!0p|sz{>TA1g*%60L ze|!?X(8zbu#ZYV0>9Vii z;Xo7z&hT(H74pSl+y1DIfgBT%_EwDNMV#KHc zV6qR9APCM!0hmd?(!k`zo5j%BT8|FC`!ebSA8H-BI$S_Yf&3+c1!1Kmf^rNhp&x}s z4)wt)fdb6b=N331Z*ik-0f5wIq#*OZMa;|q-wdw7&j2y7?}x?)Yj@b!JeqRI7MiW( z>(yy1&*17H0AA;XM|&EKgigIH`b&(1d1bQkvupp^=wV|ewj?QYV69D|LbB5rk)s&T zCVpn+)e=GJRRYV|jHgOQKhS2@j#A z0X6MISC6;lDa>u<=)c0rCf)NjlQ_MEzB=iqn-b*dkD2-6_Q6Uqr>J+qHv0Qd{wbq5 z-T8dQT)$i*%~`uj`rG{kg*AhDkEAoa4JJ5wgoPUsBk}p6jF$ViGS8Q&cKoH6J^zDs zCuXSGhv(fuI3M4{K?`~fAMIJf5CuIr-Iw07@KpO*waUEA4o>Ja9P#QNByMm}f<=e~ zL302F;lnzQj*;M%h%{1>xvIGI&Czwj^emEQTs=_F$zH>;6t7|DM|E{wMLBjUuJ*1e zg$Yg>*RnFxFH0pj+b6lENM^a_CHgx;Bf1I_g;Tg9NuF=!jm0SQOAq4AQ|(UDzL^_2 zSy+;M&sVNZTP4`{7~of zUgX8@Fg0~Z7KCKh8i>G*1Xj-f00@8=UW2g&erw=p%E<0gB}W=RXlhuoU+k_lu1byF zj%fTd2@rsV2(YxpVi^=xFoX8*riDQXp;AJvs5A=Gg3ho2T>$)C!k+}{QvuM|{||@eOJ^MN1}8y3 z6a+VdL5RRTq9AVui|QR{?adH^aw)%%BFbtmxi8;H+^Jr18Zm8ZhC`mZ%@3 zsD#Jr5H#^v4FUmv6DW1?16jH<1oIIz{4F=+!Hy_Qh$8v?n!IX5NY6bd34>bnoS$91 zGWRhq2!b!DAPp=uuvnOqw>~|HLZkR#w{FE!*iPOFAJfh`S9EoUiC#0GV`+5x%{JgwY z?^S8vtJc!i>42+vYT358Ww&ZiEB=eRW&2*Mr@Nn9wyW$`-D53aiAVK>{q`x2b1JgO zR0Kc8Om!druA#wEo^pdYLoz7Xg%J1{g8@=b$ODlelnOv`n46KPk5)A)XXxWdfdZ{j z!cBW1`&TtuQHA(}z@@nk7R3MWrNLtrxu+y_3NZ?*xe#m-43svQBw!{kSD(+Ym9%Gi zKFEF>D7mXuWJrSB=zj)M!5L)GDrf(9t@8T5l(wXXf~@^%4M}FT4THU;-x}tV@12o` zITC4@k9%x_^Bxi!M4W)e=^s|`iAln&th@BSY8;+Q7+&q`yC91-JXjy`C!+oD3C?5* Tu>8MfG6DRP#A6S*D`EZxwuV&L diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackitem.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/callbackitem.vim.i deleted file mode 100644 index b09982af4e2b0ec5e9b8b7b83f73d73965a6e17b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4603 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/changelist.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/changelist.vim.i deleted file mode 100644 index b99befe7693363d604bf077b7f09166c14e3f70b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4178 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 azew<}%^$%OU+}O%F$WerXaz9zkpBU)2^}E- diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/file.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/file.vim.i deleted file mode 100644 index 3972e592cfdb6a44fd38bed3b5bfe6f7d26b6232..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5703 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givencmd.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givencmd.vim.i deleted file mode 100644 index ad50e603675fc0d2dc842ec9c5dc4dd6cf07ff84..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4094 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 E4|Z|;qW}N^ diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givenfile.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/givenfile.vim.i deleted file mode 100644 index 1880f744def23e9804cf54e9746b8ad7e4f70aa5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4126 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/jumplist.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/jumplist.vim.i deleted file mode 100644 index cad772005e73a0c340c9dc76dbee70e0ea32cf6c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4233 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 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/mrufile.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/mrufile.vim.i deleted file mode 100644 index d004f765fb2484206b2920e2f60e3e89c0bc93e9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7660 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 G-~R&CCXBxT diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/tag.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/tag.vim.i deleted file mode 100644 index 319293ed3c6e83be7d0735873c02297027e82ee2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7581 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 O?AY8@fK6e&%l`qCZy^By diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/taggedfile.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/autoload/fuf/taggedfile.vim.i deleted file mode 100644 index 2040c389c95751c2d68a117e339a95aee20896c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7070 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ⅇ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%0A04W2m!?B*A%CnxnF#A2Qr_eA1 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 By^#O_ diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuf.txt.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuf.txt.i deleted file mode 100644 index c7b68f10c6fc12b97b637d5c114afe48241e63c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41653 zcmYg%19&A(&~BV;Y-?lNwr$(CH@59$W81cE+t}FHf6P z4*(zlAizH&Z3h6TO#UAmpzZTNy5`sOgQA7FH1NtMnryJB3n-TA{txp{xn*AbvUFV+ zi9d0D4~KPiFuw`S`9qWdy*#U<9*<;AHNG65&`#>&lrEGY1OlW5u+U$AW4rC)1ia}M z>p?e~nQ%QZ05nrwR`vaz?<%KqgZ$#kWfep z7mp90bzqP`)k74q$hob(a&N0!kws-SXUjU=8+DW9T3>x>gZq35VM{=x$Ozhdm_2bL~^cW@u4=Fw$n@Zp_Zr%w@y;L2Msgr+yO(NI?6s#my&(So|e{VhSWjW^OZ4M zSE!9p*?}9$ZQ8As3MT1YYh*w#nK;c6Lnr!y1BFdIu~Lkq?n;)CMA1Hm6GL0BNhmQG z)MO)6+A&2`?Qpp|1a}a749TQ2z7dt46h#oPGk=61+$OCCZeq-ybYYC_mW{l6^bm^H z=vE2qrTTQfeKi?wAaqNO?mbCo4cdcJwOcTvN|sKeOtnI>YWe=HM%yq0~q zN0aJ!H;uoalIYCgdsDA@)rTEA_Xn4iENIjkDARACyJ5Rw$61?Hi6@yImjDkS*Td;& zU>{P#zPP&3a9X$+z%UG$)E)N^ZSm^1b_5ru0ar8boU(P;ZWho+FcXavzTV|1Sm9?<+c!YxOwyt58>bUY3!>l#0=Gui6(A#c+D41f^tkzo z`Zd_pX-x_<)P_dBNhrj`g;fiXCBE47uR7FT-R6qHP-iDkUC< zkshz6tOQPdk0RJmW&QO@#b7a z*AA)QT8W!LIGQ5nX>qfrjk1=U%|k?24{1ArjI3c}03CB<&Kf^Ixr#Ra@1e5c)4G!e z+UV`Bb5+l*;_;>E+{X_tx*P-R0D@+}8!oeoPl0Oi=17Xa2l$fRmKEM4#i$$CM#~`K zHswspfWXp8JEdSwGS${Co%vb-^}rT@0x0|8Adw6yWFW{D^uap5z*CuM1nL0&+=Y#D zwEYtX?zvW|n0N-TD=a}(d(cV}aGcduB1*)BRfJ#{Xvsv>Iypamy-F=^ECm{M}?M-kyOO8qZu;WjZLD#c5O0l1X-_!BS-l#FXM zUJa(pRfL(+Ye#<=H{)HyJ4tp-Ti=705oJ=p~>XsnI#W$kWi!ZT|&aa`Xqd&P$ zEyUj>2Y^Tgg_x`BYYs7v2XSI8)X56G&Mokk)lNT>vwDVIWFGG_z$BdvRfG>eL>}t% z2dx;gT#2MS50ZdIpC6b^5PmXFJ<=XE49Hl0iphg~o=)AwNKoD3^5tV)TfWC5*G49X z$5+h`vnhohkXpfc)Ea;wfpXiT;Pc$3F>YR1XrzoOe)qfxmBxblJvEIa6Lsc8pysVo zTDY-j>cGtJGLX8NTr0$p9q}2an1CNST3P5lq0DP^Nf-3mTBnjQD19D*zItY&{S?JM z>uDdhTW1&l)cqoOHA}Njr6Jpt*6nv}qTl9euH2*_f#AXCkJFH_B1yi^}AXF2N0zjF!Qm5Jgf8Su6J-6kFxid!}+ivbaKh` zemYkUjcajZ#_CAB15G*ImwWQZ^~`0@lxeJ87ZyTj0QJx-KlXRV|IcTL0Ii?n8VB|RG!NRTOf`_my_v6 zmnfFB1?8_0ux#|lGbBCmE^Pv8Z}@Xt?UEC}<%PhMI9+)c(U?HQb~$*Um>$?eM;~t^ z!Dm)ki}=KMK}G$4VSIZ&QS#R8^IlsNPHTDpoB%Z02pd(*IP1^uc>P!Aw? zWK#Rje2E0>eZ2UhOk>SK^(rIZ1$&RrD?ml@a3d$&>A9rkdEfGx*!un0wpnSz?x1G?oZWb? zO&4Am0;n*@Q(8*QX_P0-pmtwMEQsQ&xkV@h6bAgqo@f{?Ik>4>cT-SY5R$mjz6^33 zz&aGAL3hL#!GnWqpkLd45qGcu1*I@9T>16bKpnWz{W4-bAXbiYK0_1c7`o!p2Jxz% zP}A9*WOs0jO#H5@J8!)nV?@7!)Giuc((1e{6>K9k>~%VFmNw)X1azz^m9pk{0CgtB zCg98A?@BYNqIu#qr>0uMQKv(E;Pqu0)a&r3aBgrG0XL>UjWaSnC>scL0*6T8h*lzd zmR3eVJApQ1=I<)+)4ZLS8D34eAxm_NZpooj2wpgl$W9JoE7$T2xQga?+2>WLj!}j) zJ4+mePg%|mcf{gI<8zkEZJ17FB<8t=rsO~>&McBkX4X;MUYJU6E3tY*t)-AAneFXA zOyY;>6Fjw1mlv303hLcLorY*|X|tLqS$2rTbMODaB`w*0#4kN;>(0I6Le{?Il&(^o zz$1(Ft5;cbJ3$ib@s8?_2N2iFHbSXIG=gQ!Csu}8X^JVM23g-Ys)Alud1Bo99B;zO z8I+fvtI!?@dOrT`B@zcCOf%Rfd_j2gmWUV$ekxrS-fI5vfcg0Xw^Dq`JQ#A{(M*DU zD2-qu%})!bE>ao+E%w8cte^39Ad&kju{-oHgWY~8`imlQK}eot%2*tP*6A4%J;`zNlBRUeSl=55yUDkrFDAB0ae|XjgCFr2}N*La7W? zSSyIqKN3Z~XD0Cr0+=K4};nH z-g>!lb;b-->9`?VM(l*kC7voqh!=}`$kYBz32zEQQSZqZb70_M_&2llY-s?9-gzl} zIKEaSql{`rd}9s}gT57evdB|J&Z$4LndyQYX(|Fp1R^2&sU=K*2lcC&$=j2`O2{Hv z2wi#39F^FVLXY;Up(AZG$kL38qaL-epKjU;VWXc%4rj~TUby`!!8WBjEHZ{S`7_f0 zYd9?a1##(lTrQku%Ae!-#^oWI6treEG&&|#TIJ7bLZi1d(<~Sel!?CYf$y#+H#GGt zZiCrEvK4}TWUaQTMVFXDTJUTXn}b~tvOXWK=#QZ0{ObJ|Z{3SCeB#dHB3<39KA-qa zPT-mSeSX47yFGLV92CFZE4neBEBvPp?s6#-x|U}(G{1+4KADQz__JLleBPSUoP8zu zQv^>n^WW@>?1LXC(pEM*YBUp5%+?)60<}v5SX=(+yb@JqW0HkG7W6US9kO)&jkx}V z=03O1S}wmZ0o)y{!neBBfsVm)OkQ@vf+aMgJG=dexIsD&QOwutiY(u7Y7mv8#Pqw;P>~UIJ<|2F9JH1gnPMD0DuxdV zOZPo+N9}kiloJz+?k6&KKb{r7oB(n*06t;E$1a}GlQ@@%qo0oAzy$iv7`;hwKra2- zP#8P2p+lZN0tqQD>M4^PlK4$8KFEW9Af4%3Ajv-UNx3Q$JZ0U%jlMa5{F6Ey=6*6V zHTxB++b!(!c)%@0Vowc}Jpe%V*#$L`W*|5e^FZmKh=&w;vkVR=*9%hqlu174f zM{QG*m9(dF)VaVES3b?FMCn9`n)SY8LB&!oPP1@WukBu7F1SB2-VcTk?Yf`Q!Yq8w z9c6)v%(5O^vMpA4#(SyR2%=9cu9_-QVG=gZ zLogkD7?38(qK8h`h_L-wO)JV$RzIzz(6G4ISoBg9zA-2WDzS8IZmlYi9^n_+mDKQ? z&^@0~t(f$YIY2=djC*mw5PnnT592yF#=?zZfQ*Pb>1Z68Aq9t^gcI7`?XT51s93c; zuCT68n&MC^BTO#!Ekv1mf75(r;dEdas9mQVeoUSM1F$AeE_gFO;m&D!-bD9Q`oT^D&)Sx zFbTTBTWy$l>Sq`)d4f`03ojfbcHg!ue=d&xWATu|G>?AyBLCk8m7fi=;qRq!Y6iDb zG8kdk!yNBv`CvXG3lEsn)W{`{y1abX`?BV^$NE}w0xKBc#7ZTf;g;{iswiz2ii$usVA-x>y1A1z-zSuMFrn5j^6Dpah z1Q1SZmA)yEM5l?TQkpm?&(>*D5Bq$EWcL!!apsvoi3g^-!R07&G!RP zxJ-Z?$>d-M1H}c65qS5TBZUM+IY7-psHzQ}!(Pl1^{cM)_exAZd`+$L<5!Hm1cxQ@ zJRjXB15cmmjJ3G}R~q#`_%~-tMK4~CSCSyBe?T&X_gfWBDL=kp)Inc`$_GT*u;Fi)DFLGZa70UQiev!02|{9d(( z1Qtf~AJm}uV%UJ+4`}Pw>>l2f4TF*>^ZBZeX=Pl6$4zW==%}a#2U{8dAU}y}DZ|r> zn%3ft)suy0T?8rCzzG8PO4uwagOSfQISnAPEv{2!x|CJ|jGwb3>7w_7`<^98X%dIv z1L5yV_@1}*G zBG=@QG8viwVJVB)j=sO`Z!7Dex<&ZZSaAsr72v*?@Pw9n!zd5kAOvD*X$4kUjXMQ_ zM_K_;uh*WLC>_VT#5~MBTh(@k162R^2^e@Wo{Xme4UvBWiDRWg7=4} z+1I6ET#hLrqqQ&BH7EI7dFS<%Pw=kr!$5G$#^fPJ3T&?X;?J1CQS`DXzMpvq+$c>wP)dj|MtNe&4-A z1^vMl;A#~|`lr)xdaW2{pLDhosUjnEGapL@!`3MN^ggHX8|VHdC$B#z8Kc0D z%GAB%!opoJ=WgTMKYR7_nAfNr=LyseW>$)vY|UDu2)@Q8a^~DN-!tWJ!@Ry=8ZTcU zt5ie=w(7JD!r{ZUI)#0{ry9Ma%@0O(4l-*+$0e4WB*!HMCql*M)6fiOSH>!#sR9SF z@?&?(CR`|A@{)s;aixiew#MU z?aE7OQM&CS0$#hy?nknvI}xjdRdkG~b+wsj(}VMVr`5HYsk^-9>J6fd&ZxqeDL{*j zPc|}(X!VD?E-2Gn$qzrg0Sj#46LjWqPPdBl^78XF3 zxpPOKD!NA%<}k6=aFgF{dAZREwKJI10q}Wg>25b7ClH z8@>8~OiGz=SuU`)m`qrcb(=vT1AO z09s~dmA4{8V`zENd_eZcRXR48yub zIRI01)%nFrbINAK=EMsZc0JI3_SX*Z6yQ9Y7uw_bPktdF@a)3J-fRofGKA!S5E;aPTp|ZDX|TFy?mfy2b!nm9ke;8gLT$AiWvU=cMPwLQ|=DOC>Y$1h&7B5F2*|nTFh`c?--<|rP!luWHV-BYd3!w=m z)`d?E9BT=mamoEy@6sd7md=7_D<3B+`*qTKo16t6Ak~bHaS{XlNh~xUMSDv(EXD;v z&C%5((LCS0Lx2s+m)R^%nM<*2k?=&C&R^PT6 z3%T)A=(Lf?(`T>sS=ou`tUyI{d2wlu)V7L<#9%bc-cY^VQl2f#OaJQ6MliQusGdbS zAwo3O*G}M_Cb=CV*CSkLPFQD8sL7*<>l37~V7%jZjJu=6;1^<m)9In2tu3+*UF+VfRttKH#?UKokO; zHh%7i+`z}c|FgKFXbp{`ESmDHbvD9sz(TdWC3mdDxI9Ajm&Ey5YgYkha+fVBvu=du zF7>*f3<^sGn|tPLq@MpK!H^-p|Hmn>mgYbwN#Y=r>4{N7)lX5HE7T$iAe<)!j4opT zQsZS?4NxZu?zGbu2aZE#D%ljX2h)hQMyQna@==zOeR*wcS>k)jbmglAv^9Z^OOFpTqZG=yTwmu}qsd6Rc}-PKL2egWGh5cWP#k8Z?I3emysWGI3TMDgQe~O) zT<}U)e9A3DFQYy(Xn7cBlBVm92H85k#U2QY$WNj;ba~p}*SRE8S$M34zx;B4sXIEw zo>t1H?T7~vYrk9=b+;!}i9LrUq}mkGI6^#(o(q`crW!J_vvH%7uq7|=YQ67ZGHRcn z0M3_)t6D|)mKB-XZ7^r7E|!I!6cs@^5w@*)$v#fbrW#;OV5o;usUI*E)@dUt6Y|4=H5e@RlrkQrmCmE!JzBV`Z z#bj=>4t7mq4V9q$O==2VSc{>gza%#f)L_*u=yL`q3|{~6*2NodE_&}e$@l@M+c=q4 zUs;I ziiJ%5_q1b0!UYNgSIxX}V3a+~1>=+u_z~Jt`+zPxSCV^Y-i44kAw@r4<-NyC7$PP@ z1~@yW?$QFPMFQiZ#O?rhI`PD-<4+Cb90r^d(uvn;Vrw{MGZNwvO@dst8G;l^3B6kp z4`5Y#|E<7NvEi5*A53<=pbfA)B<9F-o|*%H!xAd9Nx2}18Gw)6(H`rMpfv8gZu8rU z`r7+0=n<5*@LYyCNmWlQ0uov`_u%;SgyOk5fw-dSX57N4}S zchI21!C;1fAgG<)+`jS@|U9V&sOlcK8Bh3QOgF%8xDlZUW>l5c|4Y)&NC)!uU_cz?_iZiLZ@A4L} z|Am~L0%O^SH6t`-x3DR7sOd;B1Vt9{Y#{>glWL%*lvsV1_2HHG zkwmkH^ulZJE659a*x24;Fm1M0`MW>|n`s3Z{> zriaBEft)1?x1_ls5)NgBIAJ~{w)yIIDDgZ0?5tP5i=y6e@_3q)b}{*BJEY>&OkKz& zh6{PuDcxb{o|H;}l|oWC_|-m!pN+`Zsc>DquvAd)J<%>_dr+DLl4DiArL2E4cp(p~ z2(~6!RyO}yz-*BySY&E~F!_s^^$B~?LwEKDa+rO(kefwZCY;on#W%>y+iD!rL1h9) zvcudxoS^L!X-w@8Z5oLJQ75lL$B?6i>^9nI4HeXt;~UI>rbUTbf_ty8g%)MlY*_AV zjF!yyojP$gG53$<#qs8-(+sZ=Hy3nTtm$pP*<778(#j+tvzfG%LNTLxGI)*9nIbP^llmUf|ZsDBT8`w?Sy?5uN;Hmg~tU5>APrBzAE3vvG4|)QSt8 zJepgh!n&eQ;4XFrDr1Euley_({H?iKq7I`M5jsEMo5bIA?YmD--QKchjKQTotjeRP z+&|JdS1L)kFy@axID?r}w`A-{Q{uE5Af79t{z?}B8JXh8D#vm$>`9UbEYZxj!WXnu z$jkIHSQUrLoW#j!byzugU%58Ce5_PsfXS-r(up8Un9en2kGSD7A)qCvWC*O`W0zuW zL~Xh(xnE_{a`puCTtV9d1FQZCyAgq=Fw82mGQE--EOeC^lFd)ZQRuK~ zQU^??I+Uj~29!0cFVjvvTyMCPLkgD_oj?%TK(a$d2@#ua;eQ_J8OX^WuGpk;7R7RL z6!cXl&I+k)I3+^Ly$zhwRDPV0s7}!kD>*EHu20OkGYur%RweD}pd62(_&}|@YY;!F zlu%_6tv9h;E^h%G+mag|)LhD%Smg1|A;jw;%!%5FZLU}PPjYI-pj1UQ&}WRx)VwVCJk{vXv&nHjc~vceY5~IKu~H1dvx`bGHza zW%}36a8cu+!&B>8 zd`&sO&xm%8CQdrz)B!xSpaE2p6`f2j(sh1!d%apU%NdMM!>$vQCN!-1xPsI@GDsz) zMx!hYM8kj#Y1dI658K)J(|13*o*4ud3~K4rv`!7^TG=MDj&xrkqM+jhHdoxe%IOB( z#B&WCfE95BRntw%>CJk-+1iQN{o7-8%QdvkU0!V}drT7U1(*;zP&UV>BEUyHPxYHE{+&mG?B{+;#W&*vk_YV_7BZpgb? z#N?sOvpYSoOq!;e0vGikon|(?+W!OjAL*7^DBo$Z!3V$P5dkt+_-1E} zr3s&63PHaDriz9nC}un~_s87OT=h@11Hws|7O`+PeoS1-jhL$_G)qCKo?PwrwwK{V zx$aPh4whk;4twG+32YGS3UmSU!T4RT{u8k?FOX6UYH{_q8vp4M1HFM6Xgm7JYJslW zHyC4njCGmq0Bn2?x}*mxMK$O5E{wZl$v^T60Lmy3VOekqO+Z14zOLxVwItHS2!0CT zmW|pWtCcrr`FrhBOHj=iuE1nMpaofSe)VVrj7&JBDwf4Qf3hxD|Jpa&b+&K%^Vo}q z5f$C!^c2#p4h@vJttmo{PN1WBcOda@-42;gHsi4v%Gl&NV4@CbM?O&(dJ;dWk4B7d zX)Ebe`A6(8s7vNjRMc&ApS&wQ#$+76IOtytvSwqw9H;4!Ih?uKnDY!YkwOYC%Z-Ba zc$OwD5m&DUcf)`l=&%zT^Z2KbGTbdT8gMe-{OQ5-!E*d7QcruMyS;maK40_#?`De! z_=A5{<$E5;xxXb)763qv$+z`I9bXLiJ%e@AHvFb$L}X-9VqyiUN*Tw;pYZ<>{|UFu zN+oVvBz}1ApJmh#Fn?nyYTtjx!D3S3_wtMJL5c}BbY(QEwzW69JUQ`gMi{%FWQ#A4lK}i^)5YMj2g1Z+qUEnBDHmMqlW7oT!H2`8fJr$J^{n1iNj`K`zA~63WHdQ@bCj*;dB7z5-5qH!Nq;sJZ zxZfN`sDFXj8(FffP8I63l3^pBn738-CXGn4<$QV7Zxg|E7htOrb|-$6hAejEBQpbN zugDHDny#KBp{dQJ7pT&&NFw5ZRCC$R*NM_r*l{6bSDKNzc(NcV8+I7w5AS+Nz~KS; zXqVby=Hk;34P3i_+Ng`%8b@~+fou4IQbeNpf(E8(g!N#rEsC(Hr%~_AwTSS0bzhvA zEq=;UIwGRtk>Afn=KdvsD9U(CvR<2bZ0-Uzq1nzSynbKn^UJ;?FA}i+%s5H%AuGhE zfR=-$P;gVXzKUfAZCRcQwWjk{8Nzu5l`4~jJ+M%CLQs2s>c$w%Y*$`(MYd=(NtfE+Si}^ojfp?=eR|;=f8%I5G=X;!o6ru%(yQJ8p?hU?< zVg%Xm6MKJz`lGUQn9qomd1pUY2F5ob9;2giiIofB)zfO2H}uYWfTXh%jO>Dk(^d*} zWh%Z~q1+x&4qmDJ)cp+4ldo1DnFoekr#Q$+-4iX3wdIxfvP8JW!`<`*`;Jk{wQmV{ z2mnxb`)z$u*B1kQ2e&_v3SE#c6J+OvOhu$f zlyE+O79|o7W`qVxD8h^t1%PWB6`N;znfb+jnt8FfkZH|}s`%9k zNWw7d>juM{DN*MXQ%)78?JMEw+*KQAC)M<-Dm+hke;z)F3x*ZxJE5#_Zx;l@H{8)5 zBSsp5Uyez!S}Bpc%^v%Q4XLN5pjTDlnK7QQUYG{k#(zvhSiA~!T*G#5{P<~Ovy0$3 zL`Xguhu0nW{E|)BeYbh$+0;7+8BRxI_3Tp1MQ%7=!_asDNxRSF`6M-n+#T7$GUg8P zM`kR^CS7!F?(Ut_ZEtHENJ!O6E7(sU+!P~ZKTNxQ*SKX~0hczqszZ`QU)G55Ve=Ah zTT7<=d#)JYKx23S^0iP6VAuv>Y@uw3R7r%C_#~4^cck4Ah4@pz#j;j8v#j*_^&RFmE-yAF z-jBNbS2DUQ=w06Om2fF2;msb<@zvnR?rMvWfFDl5F%HFFdwtAfEYWHCat`Fd(G7d^ zhpo=6{I>GJ&2a*a6(nxh$Erzk%Kflry&kh5-Hd*f_D-)6b;XH~s;3vgu|fXTV#GEmkI+Wjz33G>c%vZ(~*A~J1a6>^_28^0&|%u4@)=R3O!Ke)M2oa&aYlvdDrt2=DLUZWymUTq_r&h_r%g({F~k~0Dy+N|0cTsOM`w#L>|pR zewS)=Bke44R>-adMZ>;0*?*XS$}N*RW*jDf4my~faj=^Y!`HG9*W(f>n2p$?h7bb3 z#W^;5@z+_7MjdrG&${x%hf=YM?vDRC->p$d#moQ@iU_nx+n{H54sP=yn+x86dP@*j z&SW~lTcpl#+`uB;4+c{bRj@UM0vT1CYxI@ifm0J25xEUB@WKHmKZd$R81R0+H*fJb zaZ2-Uwa?a>RN~s;n`sKI_+_oBu7njd#Z(wZrUy9JN~!g4cj;2TCCJ|Yccp`0C&0e1 zw6$OX)Rm;6n1c+-?bmEhUmj5}(>MBm=_~eCrfspAky!-t$nfETKvE=%xCGg`j7J3fBm;T>AxjI3SnITNUDWY&`7NKVGPHYLejAsU#P@fn>! zHgu&06zb%b$CQ#KCW|OQgDG&+4ROvO$CrGsi7sfy0_i)(!XpaCj5kK`_ z5hfUUn08&L1bPztp7H?6}MdEGj+``eHkT%O!|$Ms%N+qy_J0 z!F8B3x^6Kdtt|3G5P4a6X^@lz@X(NVM@B);dr8d0tJ6*m#-vabkm#>R+@W>!MR|3N zr8a!Q2HRoMtYU31idhL{{K?S3iCRF{0>3CuC}f|CJ=OkFwlPRrh&*oyZ}7zF-*r8z zM4GtY06LsNq&@JE=MD9$+?mWme(J%F}$q8S%;)Nr4Q zavg{Tk>G5^7Vf;!)U75M|BgQOo0{jPe|+zsdHK_}8)0Wef#~f`>O8K1=A~_Nt*Vc* z6)zLuzYQ{)#*5*(ixKN|;t+6pLs%Pj^cTh_(21(2$39-I>14oTyV%&M8=u>g*Degw z!|S1k;3cZvS;y_LBi!!ScuMuPn%gWUyL^Ns-cKL=j%!LosCj%Y&8Pl#<*3exf+F%u z1dXf)r!azC!NeGlLpN1NEiWMWgk24fAJ2LWTH`;i4~<$>x`4bhpqJ0CA}euzLoXNR z^D$vmsp5iGNd=!fPoUXuKvm5%qqPme$>*S!Kh;QjNDFeORFg}y4>(>R+W~XYE^)bK zHqO>-&ZUz?otYb!;($oYKAb3Pnx=Yfy@$}(3f-OHTIu7jUO@Jyjl5C_uF`YF8N^10 z^j`Df=r2Us#3=R)YSF}%5x^~hS-0}Pwy36ANet)jUzd**2!AF6t1iyvB+CLV^KE`? zW9!*Dd8t1bnVfVCa`4f97~r%jz=`U2*)O_3HsIGX+6AeT)dm+eSWkGbcgJ?y^NdeF z1zqk&Hipa#em$gqvEV5@EN8reflYb#r~oA^K9I}f)x6LMv zy%e(bg}f9p%pD%#_QZF+o%R?L(+mQ0OVfO|Z^jsGzJ)VIrYiu!tV=Z1QEBg*)oW`#*br>MthNk&J7 z=SRh-B*(|72L;JSN5`io$puHKmiC~6L@2lO$eFwGklFa+K^!yyIS{x>->tDQ|7+9m z%aMO|_3LQti+_AOQb!LBHEu1WFMOtPc!(G>wk)lM^AG)>_;zGQYpf^7J;BefR}Bzy zPU0?JlHu+S*?}QKQsGV^;{Nt7^Ue{3OV;BwpkPva>!cr;pEeBz%CYe1;n(5=*Lfl)GQTrbijnuTP=H zxp|k;)Y0`#^28`!MU`y@o0FjRM8=Ia0gY!a(GS?Q|2$3`;0x4x|=rsI>@?4dpVBEh90Ii8=fiyUWz1x=PPQ_u=b zaBjMZAY68OQ^)I6ZrlAH0M^8R!|=6usQco7H2o!^zQ+!JqG{~cABp1BM#+yCMCQA( zy`q}`F#nWWW>yTh4G=wikS<1RP7!t?zkol16B)m_sH8*zh)TsWOO56DqsYstLt-Km zvX(#N0raT@-~?=eM0(_XfvoqE8IN9u9*xP=`rKfxyhj#dyAUCNLvoz= z#c41{f<~~J)gr?3UI#Vd-#cMC(?zl0sybLbZBNKt-vbbtsT-Y zCQYZC)M}Vyi%OBndgJoA(C+ihV?V|KP%W|3j`)r!Ym{RACLt- z3nQp)T7C?FuxZ=6mzA>-({cj@0hj3jWWCg4@8P_L#!ihgj1NU-E==a}Wzzh*cy&Y(~d{r2*M@OJ%D9(fV2ipiZd{ znL=&})mBK|45qHNKr2vXZLpAY51Ez-AG7B{@Yot2bl^NHLLr5fExHQ^Y75-`A_uuH zRsf5+CBCkEmyT@FUbf^^*n_$^I5?u=uA;}TPRaYDR6g>IHW}rIV_TUrqk@W&*N9a( z)&f>US+|H+E4utLFRGf%!kO^^n8>C&6~#oJaNg^NOW~hWDnp7fEJOM&>H%DZP0nU? zZ}c(w0dlc8&8imrj;Ji4gZZ?emm~+vKDPbWP||n1Q0B-8Kedd!5WCoLx*$Ssf8Zi2 zHEl4}odwdN3U~vP(aISMt>zf!>TQwKAZzCc-=JyPc2FB`N}s>Ldz=c+(<07uAK(~& zMa0U(jbf&`^W$wC?n}<`MGB+49>8vZPx0O{7P(*^ec%J;%A6;nhWsc|#b7J$11g-5 zA?Ir#oS>o8{z`%-b8cpZgg(_fe4b??)tW&orpa>QwyIo4>}9#j&Q6YAco82Qp%iSt z(0Xj!4r??6n`rs_;LiASt7H)^ z)OQdhzbAP>zT8KOdMtJKbrvWh%x(|B+Y#H)vP*M3A7b=r_Xf^i?%er~EROF|008iH zAF|Qwp9KK0@TFnCLvlTq=R!`w2!9y?AsRt_+kODvUge-L)dS;V` z@>R{kAjJz$A&D`{iiP2Wb?T$5E83f;7m|%nTEjfu#=+ah#z05H z9tI77e+&A%jstM2|N9!>S5N<&+*iKNz{fSX!d0|;+xny;5*tn zIDH+^Kz=vFnf5J#;s5};^S`YxTK!`9@BZ_;8tsxJA57M=I!vV?MougB93TE6{u6GQ zlgYA{3w-E9!x3UK;o;4%k8&0fn@gVx7I4%Rp$(V(Tx}CJB&$xWjP?wx7pVNQd&^{Q z*N)GCLLLh50ND=*y#ccElV_Jhe+f0kcKl-9w@tHOq|t+GgOG+$z3GRl! zHI1S;O_?#1Z9_GTz{~wz|3JkZs57xtU-#q3eTCGjqQLyC=ZR5MSawM1)Snq2p7P5g zB=*IklgkLf`eLhEi3V$g#=zV-dJn#F&2~!@&(*a$hKS)jNgg;L{RDYr7cNEH0b4}r zgZy$M^?d>^&Bh|a* z4r0Xp(R18-5NM2yFmYDrulQUZ2RrrSQOl^m7}HX%L2pVP9>0}V7$}L-uzgn!eDOY*$mckl1p=S+3)oZ6l0YANkm zpGLQ3!AR!HH@g@mTy!65eGy%MD`pW?FzT)h5lX6}m*tcN?TvM&R9Fu42)>ba9#l(O z%!9{g4*VY7OxY3FQlv6Ch>dYXXgW$wuXSYkeRm8>5289>j6uH_XmpbUR_*{IphXKR zUI0KJ*=q{`0J|E{!4rB2{m+k#FvpgW!sibgko3W1EhXT^^S=UKx@hj^0E_6A^NCa> zXhNHH3_<9mT+iB;*_Qj`d4=Bjc#I#<>GK52QA6EWDS_1Sfnw_R_)^BQduu)dD6GOLfuD>IExDC(Y1Fsd+ze?4$>0|Epbm|i^~ zBJW>m04X$m{|RBRFAxJv^z5f>{6IvK)6g)Uu02Ao9MegO)c;WoYP=FX10oz0|1v$N zpJp0UYj9g&ZquBpl5baFR8E*ysY9YuU`CWTKi2)ZbA`AA1A54o%Kc?Lbs$8 zEyv{Ra9@fV%8*CsUJU~sNWZ2tshSTK(`L9h92kg4t695` zmP$GqMa|GMvoW{aM!lEMFB=QzFg=i4xVho~RXDzM0PoN*@?J@df-5o|O)lJPq-2!4 zpU^RBncmC?WfkGZoOsrO-sSBuL7cjRE&s1Omvku7Udw?yZLTVcClOWzNBDB?nrkXT z^Vvej`6K9}s1p8Pi3LHN-Y-N2ak7e2W`2SJ`dcNzMrGvd*T3_KwSBZwDjzXE$(+G| zm9x(<3REs3Af@srZTgLC#CiMjJ?!^puZ@7UEy4#rw2ycW{n#`ohM1psg|{HJ)k>JU zLIu(Wu_V=;WJuc}8N=|m70e?lgf%ck^ae!6(~jk~UfhSM0;9e7h-$p*t(xJO4M^5w0u zh!ADzqtLUq=$=8tW3zj7MXnjRONdNz)l916I~8y7*lR5eeF$uhREkE@sjW&3jBpYQ zY}OS%pISyep+@P4Z9gRAqfthZIMr3j+!);MHI6Zvc6d0Sy1KE@@@FP&WOs>*b5M^sOTOl0?xEl0_x?+AqVBP3nU(F6Eg{#{7A$d%7WI@F!(x17ae}of zA;AD)QHM1FoA~xJ`ox?@i?4=?ltQ8Nmpq}A5$xL(mWMRZ>aY#Y47daSLE31mKd=5o zzeD>?{4*xcgMJRp#rzAARZXJr*S8JWO@@P-dicjxv!q)arqFdNy6WEF>|3p{EzMSK zv!fRF2946c*fxJ_`Ns8Df9bR1kJE*_pfwNor$sMLr$>{$3V1}()EeP0G8)|e<~9O| zI5qUYrjbGpk!8F#xqmwq7`Xg`npu2#zRXf7o;eI`!rj$01;UKg4-AKCswUbTbUHSo-rtN=p@ zkQF=gR{;e8Kygg~4tTxDY}aw?X?XZ2rAMJ z*KINU4y=;07L08*=u!-B4Mjyoacm83ZNdN^X9DBy!wK937Jh|b;ryTqO zcoC#(PttMKzz!&!k}%C1SJJ)pMjxLIyUfCN#31`?OJF4e4Yfj#siG$R^xGjW3mLDb)t25S6|)D6&#>`zXXswzLQAE7>T8wQL>UFoQ$%rB{zH| z?o=!2w08JX-cBl%`tkaR$!$~4iT(r zT0^^s>2zwpv3nEfZEpqACiSiDKV^o86K91>sMyCrbf$;bg?A=3*GCixWFh0?PDJjb zh2Z|tV_|`bE(wIQuBsemhDKWz(%_uqRA9@Gpg{C|M?b^7uL1;2hzq^i*s`ylWU$Ts zZT}w;N1z%XOsI4?oprK@YE0|)?Seya^;MqukN=!${|F_H??(uM{@`1Lcg2o;_xf%|S(E7==l+|fv$6nD~ z2We51PyEpOB+yncT(Vuwg+P1$P66$-E(oY4OMwc0lx!&&0$TupIZtp4RKRgi0x*>^ zPXgY5IEt@KJV{IYzSJAX<)0P5V*CTX`AP4lo#)xmMv^*CG!siQa_dZkK1TAXWl&;h zw8nJSbze|5@-*tU%~|#z61x7HdPmtqW?VK6VD0DYvdyZ|(#yU7F~KVuV&-^1yhLM@ z$P6GrQY%O|@-sSw`RGQMt3uu#PU%MJT&X_cLFm@kkzTw1bmK^HRqNXy)sg?r$Y@w0 zrsH|j`oYsDkjw0N2Q@yx{^GGAYWDOD? zdm#`*A$D>skXv4Lel?zvQZ48IZtdak4%#%O8&pc)s}@2ndkArf=fxn)!bKFfJ44ei zO0o=HAbkjn;`w?T9J#bb9ddu++teD%lkVqy4M;L}`uRKp>ll~X=rT>eG1u#t6+3+` z){T*ABt6eDb2(kh({kzFBXdAk{_)$4)wcYE#i>YhR$=5!n&RL1WA++ORJ>^)2;GyQZNWn)uM392 zIMA3&fLovfR$mFhW8ROUFJ*G>@l|E-Tmes8P0XryPx}?)AMni|P7zjw6i17Oot4X7 zvL~ku*NZH}g%*c{!j8HRqoL>VX&y`MTJLC=RYLd^9#y`iZ=nB#>i7(;gJW)HVYQS0 zfF}BAtF*Y8Y8)e;DCo(@ z42nx1q%hG?InESAJ$?0>@uEXj^95uxHylLI(xt5Xqw`yFjg)B?^5R%nz)QMINW)*M zs`ANZ3PvIdD6}UW=lj+1=$##V`K1G)Za-|xMU07E$mY(tVxaU7qC>xxXrtl6uv*~a zp1yK-G%djR)}lAS-k++Ki};69Y92RYH(}^v!5FY$!?z(Z*+7hXqOkUC+;K>!a-J{P zZVYUL_9@)H*Z#TBw_N?u1V4)pZHLn-iqJHwi;$sZnNYQ6`{_sZ6((;vrYyyCmt)+P z;P?kd)$<;PqYcdN1uJ2{@UtHfL`;6+q}@QGRNDJ*2uCZJ&%T9TTkyfNmcstwi!J~H zkHXC)n^5a@#Ai$bM~YWtPhk^0Di9!T<$LbG@d0W503z@}eq+*)BqS(R5*gKJ4r9oR zUM}?t_=odafjrGxJ-4knwM-0|I5w(rWs(@KCGo~IaOe2VGPQZ&%1O-Fs2 zCdI@8xciFN2mVx6Uqg^hiy&;%?w;0JEpR{Lb@7=c2KDYW{Arb$nqm6=JywCCx?<4D z#LTPkv$p?ryEaDei({wYa_mvuf~w^U{rmA{YHt-@g7J%=9SfZ7d%F2W!ff6TF`K_% zD2$M^0j>M_Yzz@yrw@L9wA%DY>2LI^gn-uj@hhd@qb-xtmZ;v0;I=Z^>m8yvG9u{9 ztMAPO$hnbthD}0b@%SH}T(+*~15A1IEvAJ<4H%a~I`WQs5l(@vFMM*671D6S#?d9Xr%FR-~x96KE42mK<$3o3L? z3yJE?jNfhf7Nmt>`!?g$ii{!E%ksmN&+Vm?7{qKGzEIhyt^?X{W`qZyj^C)s4zO_m z_NKvhV(EM=$YRZ>__(%WIfYdc*kMSTHeu&|;!3>Iva=;TdG_Z+N^_x3BHcirjUut{ z0b;F&^8;`*2v8XP$;dZ+9dFb)ZVXczu!B!G-p~3eCTvgcwY+h%-9|X+nwM|d?wS~} zYi_aZ^Gs?G|3hp+N@PLX>s+D*6I?jpd4RAzkir8|>UIq4t$xHe>86mo=i)-zXJU)(7{QJciTSxIO6 zR>1I0ZaXI3nNKO$m+8ft!Hx1=n!1T#LxGDsVbMm(Cu%mcjHf%w;(+V(dt*)Z+baVh zCRo0hWUQI=C3>&o+6ZbsndyZVr3D%r&)ZC-_=I9S%yHM_8}cz`34P1q&{1sw8c1#M5DF* zr|ig~OgSbvY=$E|k5n2n)>eEu_(~^jH>ucc<8>@t{9?fh@<23CyG4QacZ%?CpHMGh zYW)pczZ>NWGG^sCD`@a6EHW;o{|db5V@JAi)EpU5SQrpm!5_A24|BaHURnxpSnBhK zx6M{^meEgu(_ge%ftto|9ckZPb1%z4P$g|_P7v+w$3cbMl!9b2aYTgp!Z#!Pm}aXH zq(9QjeCH|pVF&j}_%RoMR|C%?!-p9|lPS-)xM#C=de?6q8hAPJcJa9B8vY;Vky z46@r#V-IQ$c!G4n8q)t&^7a6Ld_K?(EwDEEsz@4uRZ64(U-U`vgH$cR5S(Yf{9h>e z26TfIOy6N32MQ;jWe7vDMSy1&KB^p!Ndp-BzXH;KQYRIL*s!8@+6+uKk7aN*4N+DJbFDa$WcV43}Ls& z+D6Mj?=DeLhn2;)Ds-n)B`CP0R{2W023ofAk<9B8)!E z>~H;W6f9%8ZU*I%M9*$&q`vm{_Je#IL%?xA(GF|rV=7TCp6r@Non#98An~ZWZ6vli z=(J~^{*U&UG^Jlb#%U=@l%&}~cvu!G_k#gdr&q;7#5U{Cb2gPV2p;iU*{boz(B~7pRBq04T2Eoxo;bowy6KIy{hzyX^T@^>A2^& zyHTN-R`8%O9mm&Es^d*Txt)M2}OAI6Bmc6 z++B0pAwE55zjYp%p8xET^6q5c2=y9NQ4KZ~t6W_uaj$IR&6g*eFQ<(p7eSRdG?p*b zuDnaxpdcSM^bD^Ef}n4xd<}7{gQHadfF1y__IG^)0571=6ktAG&p`BirA!i76yq+j zyV^pNBOw8=`2VZC2PG1KFMtv!3y%QV-xdA3xc~21ny0OqCz-pIE67{~N7MeZ2_3Bb zKy4RGFAK0e=|W~@Z4I&!{~3oG?5~fR0@3wq%Yr`r0bP_}x*VjpgokYkOlq8jY|&Su z?rC^5{);lce#tlANmUuNn(=-w2oGD(DKWme3uo+CRPvO|W3|hkNmrV!#_$JBZw?6h z13C9+haD9n z#AL5+YSKYu4e??YCxmNxDf{VehUeye_s7`J&LQHYeZ++)UlA~ZIATi^;e?tKy*aWW zSuT81mP(+#w;4W!^`woCm0syw6z%9@|2Lu5sFgKvDQ3+V?Nyi3NRe!Un6WNfHw)TeQ8XmQ`Ykq^#*I-y& zDAB%{bI4~X+LzGAbxTcPmNS)ZtIghIo}UG5|H=C>gMOf6FC53jc#4Yi1GbQ}a^8;L zeHvo6v{%O20`ua&x+v5UyfcSZ z3QvLIwt){9-%AaPZGj7-Um%sM5Gt^orG`Gws66BX~Nrq-` zx^tapAs6?ZgS8y zOq*z$Rei5|P_WG4#*fci5__E8aTVuvfXLZg*(dEx3YnB*Yw7J6bzKG@LjqO4SRY7* zzDT)R)OwZq)l+U&j(6T<;|V*lN>am)Ne_N5zDW*q&=cn(JGcpN#X+Q?CyxH~=#1>% zTguJnB=3PsIZpm8`VUa<)Qbi@rL+}aCl*M4Zo|B`06_5WNe!Nh*l8bk6}GJ!&bcXv z_&J+2>xT?pJt%+iz_B*rDP;r*b|mOc{b_m<3b=3&KzlqPDtV)_V3-Qy?{97gW^4X3 zrQu=ie(BId^H<^a(1Zm_lw313+_~O3ooS=M}`OfBQFM_;%oo3!Eyr>Ap-T6>9qv_LW61= zaDR_2PS=EfzQJ35H}C~PwksvbNdEsNNdSNVA<(4&!Uts-{4HkgR%R?@^44VjR_-oL z|Jx1!bEesOkXhP!n1KRAmVbjlI_@-@H)Vgn7jmbAd8&Q8#f@_h69b zZ(_pv@EG>%-drk0kheZvCj~$oDEWIp9uYIMwu@2{Ju%U&qJ;y}%XxJa(o72l8uy*p z%%kl`x5Zr;Y-2R*Z;lbg0=C{-)D0bz^DnsP`rbb}lKso7pZ2)5h$m5M*Of(D@2>)z zE+=6Q!zwmTsO-@vXYE~RW49AnVbo>(fG5=Rxiqm;0rNgwio;|`UlKWYi8U!agVCD2 z#4rbL_2+GcbE=X2jVFu6ofx8;Xz1IV=7p89)_tm2FR0+&r~@WJJTaOGj2-Vm4?QfBs2F*s!_9po!TI*w5F}nxm#YjNYn=*SqCt#HRfx3~w z9O;u4PV7Z5Rai$zh}iw2jcpZ*h}S(E$uVS$@^s<55#OQSeBX)CMCXud&L<|kDAlMb zu^tyfQ#*019iDK{)OEHdjm+g0@@5H}9-^=Su_A8J{_+{Wfc1|b;5Urqr}I~hO>Z1L zH-V)9zyaOgSqcQZgXzHYIis(m3-vLNN3ZfwzaZgzgb_p-_g|d95G2bq6%{GP(VV;C zf-W}2mo%MN>|L#Op`*}XrQqRCt@UqlBu4qZ%MX?X?8^p9{~05}^$r;-gbG<)P_i+{ z5gv|q$*%vRdxQNwu}-uR!4YwfHhdm2492~B#(ji`2Xe`cn8U%VyMyY^@tx*|X$fa! zLC!e^Lt5#j$SQUG$a_HMz>~_A=qXJI{nO|}@~K~zW~(P!-?LzCRBG!I&Bs6fq)#(l ztkF}&>Zn1+F$>7g&x8$apK7Fx_^LCKB6-H$1y>^FLvj?2_2;Xktzf8cirD-$I%vcs zJoyEDe@0*~sW5E)w#;kC)$WD<=p|F5j+A8F3tZ%wCYNpyX;l$8W24L?jL^#ICJ=CP z?AG`(&TL@bP2i&(y?63C3!>`bcf_=!QOHeN`ox>i`e!Z+xQjA~d>CFCHQyZ(Y?w-o z00SpIB;4?c(&98t!<6cHM^u5A(^H)k844}F;am(S({ztici~`R*aqRRx+|NOdSa_z zi82(6f^gy@Mf@OcKDSPPrcJ*yKtuW&#Fv=-raREPQeWoEs5?CS52U}%`Kvnl#u+?Z zKx~jhAG}q9+lU}Q4<2HgIx>56f%*xHv-b(_qvfbh^Au)ZQT_qne6M%HDv+SeQX|%D zEOB!PW(7!_*vNF06gu1PTRhau>93;ta3$Np`C;*tYMe3+3T37T*oA&qpBtHmjx}R< zD9MLD$YNr?!RO)<))5tJ%y#_-&)#dg-h3kUJ)I2;kA9!;w6Tz+fu+4Jh#O{3^wlH3C4=^!y7qBmd?|UK3052(q{%Ubex-*HE&W_wV3YqoWhaJ1YjA8C_nO#YRL(l zH_<6>nJJW}ASxh#3$4zZyxLu&_>9zajycGPnIA#2id7Mv9!N16 zw}J=*VrbEojbrrDS_peUitsv9vjRkSzj0zGfd&a)-+4g_=o%ZKR~=6 zfE_qMtx>0_41lzm$#w`zl{+V%8%N8`ftxbt0WC8>kC2s3Ppiy+i6+%p$ra+^YBzd%5)N!uz;)cH1^ipr#ut!*3i zXUARQ765kQD6n3!f|r7PsB1O;eE2|g@(0|AS{Z6tc6`rRU@wAq}j zqgK?5=qt)U0OH3xaTU zlbY;_+>KY(8)&B_9g9k*A8x$Q3LbKZ?(Q@L!MLlpm%k>Z?P8Y zrDb_21Y+@`xm~9*r*gT|uVT3eFOy@X1A=;tZ4DaV@9`2Et%#-N98JW z4%*cX_O^AmhcT*+W^j&pnTakN%B{ywmWF+)(6%Z4`T6?uLAh6r*vSKACv|y+l;51Dh--}>0 zd3*DHmam^LExT8+Iw0;K4B~x_0u7Uono?tiuTdQ}`ppO4-w(->O_l-+4*?;j&sn=n zAyAey=lb9wGA@4|D9{`}k@!1gKrB$r3?AEYN3E~FFjC0$A%Dik!t!b+Q#HN@QUBuo zJFCJs4a%DRj$jE<_c!BiXg2jZv}C?%V&0t@8d{JAIx2r20~(1R+5lRTg^(qC4-^Rv zVPOH_Q4{BZf5;f*qytSTW)K0E;1;M&00Jyv0^TKh^L$gT*)DUk_GXt{fbdVl>U~A| z2S7%5vbe?|80_TYyvC!t_oaZ^uzkwMk+b#lq2*+#U(YRodS+V^|qz>4Y{U${n%k{MA3E}JqQ8i z)lbYhGXUxR8aYZXRIxfJpIcaVv5}$xUUL_;YB6l6eb6vRoGFMS z#0B&#Pw1X(=L0WAN$=8*U0i042UmUuj?c3)F3oZ@tCLjf!#j#A2{eD;J2W5m+N@fw zM1f52x6MuS+J_}uw{DoSD5S&lJh_PEQ+85X>v%?tlpTV9ywKbZj)@uYxy7UV(btvk z;JXy+<24(2Pwgo+n55BK+Q}7A#!#UX)mI(%Td6sd%*MBGSB0k#frLMXXK62uh;A_uL9-WR)E5w?ZUK)01phwE(#Vd2>?4T8>%%Hyf<#e8fpA3|9uC_?^Ez(mif=_b-NA04CZg;b7-OGNAUthRC<$sxG6j$VPH z954nQQX!C2z<^9}k4<0w9{`Xo^*>$_fo`*bdG&(v-9z+>>GHkzx9y%pVjIg4?|(bv zUtWPA*kTO;tl|I(+wH+BX*d{{Cr>uElaSk9R>gwLf-h2_#6?6tBq;xt<&} zK$*iOOxG6ECH1881ny}8v&$uJLv`0(;-iBm=$HG+k!wEmUua}AEuQooSA~=iIz3S+ z66SJ--kw;SeB}DBz~PV>mepS%iLEy|uGZ?qeBJ>k%LicpRdGF7$FYKO(^Uw+GdrT} zZ+$aq?PbH8=(F}*^;Uaow(Ou=Up6iJM#r+qu4{oVIKKR(i)C(^?#ZH4hk20whlz)N zN9Hd6=$-}t=z=}`R8zkm8#}87HQ_N7p(|r@S+to5Iz)ArkIN;8sDkM7A@h4Tk~iB& z=+9pZijcIfI9y}>P^fk5-T591AwjwDfdpOZp+C%HQ8OvJ-kUHuVR@&_PC`H<_!t~JxAdNhengM*G=^Xt@< zlcSMUQ}~#Q1=S=ch6ve1^xZ!G(wC}7wo0@C(;~4dPw4y~bWCPWli`c-6wLGh6a|a@Al}7I7TRREx7znhXshAc^N^A`@yY7_74JtebjzH&Wr(Q#eZRI9j;&h*&VRT^R4?q zgI$e2;ALBE80W-7r0sDa8E!LN#(=4jL|EG)1^pGS*7nQs5TAL7RwTMoM|tb*3P~bl zN{jHP-7S6*jc$h{yu}N@`VwEXMf)Ad?1S~E81^Y3w^0PaSqpCZY4ADhNNLy-4b3M>P*-RxdY_ zc+*;w-)lSVU-CJ6<9>YM)jnPE@*zUFqC!wm+znSxTX%z$`20I2<*X2<0RH4k&6@>r z-yDiXmF3&8w}%sb-B=v%w0VGbs~q#FvBJAjla!U*l(Qeou%D`e6^L4y));P7OTYP` z-t|uABuW<2Lk{T*qvVR;3aBMljPXkP^OJJDKu+G?iGg=^8?Y%0ig;#NEon>NRfS1G)`LCwDaSbMXR&Nx;8o^P2wyKCE#c_V)=uu%5sPrp34R z!sjjkwV`%>-t+GJyb6+H-~Y!qXkof!H3HHYIkB)jv57P_G&Heh>t+?^wly&nF^o78 zur3i5z$bPwt~9XXH9W4yHxW3lW-r${JT$yIutLe!5h&iIW|O?n&(42G@IF<)tQ3H& zq^c|r$sm&nNdW&HK_l&5u4ZUT)Ek2jUqJtTSjEfrO7sL6LV{G@+y59y1-iinCVDmp zuvF~dlQ=@eGkz>8*gX+ZA`iy?uYiLY(+R}VXwE_?+x;PZ6fCVHNhBUvF0A`7HIObyV%>yh&@U}Cz(TUcCl=4Ec1khn z*lt{x*`-lFAZAg9iGyLJ6XmMG*zi`+u0ZJ+ul_g$uiFFbjEjRIcNxWjY+d= zhq)$iB22!~@)IWrN?-f_pWCEx_>AAg>abX)5t;?YBXjy>(+v<$xWw`uGQ}wqAgmz{ z5xgkMM^S@MB8B-@rFT2w3sC%Wqsvt;1Xzw>P`J7aDqNwled&S0+aY|qEb#6q`@+#R z-cH##i0@)qq)$T^Rd91F(fyMJ62>Glopj(?;{i9UrGoAvhepl=RDES{gKa+CBcwh4 zR6_QCWM~hc%Psn1To>8Y_cUv>BJ?}_2QI|(n=5|~zKaZmFIHv;-kIoMg_SJbGKCf% zy%0^~wU%BQDq`9C4_k$2-utCm45H{#77R3QINJ6#Nz?d3xH#9>Y@?V&&Fcgl9IYa+g1 zNhD2vJy{5SkfF1sfS2U7u&lQq(`PAGK2%OhYH1GbM-6$xyzqgn24x*FXnOZuj zE-@n>_u?WtnU?Zon0afiJ_Al=)KP84+SpFVj8w{hf^Cehk6 zoc@|FHC;O1A=kA#tei!bLtzX;_N!0crh6Nhn4Day!T%WR$}UGD%RG)7!hZXc((;qA z<(ABjz!PhIi1G>iQFGH1saX&)r?*R9>-6vZMi-IesUN?`mhMoyu24hRZg&!VeUZiJ zoutMXm)h_e-8Gjs;G5|`4`HdG?%htkVDSh0&%<{?q0O=k1o;v8H@%ln5od)d63#dv z5nI2wLM&+T8Qn70&%tqK409a^diKyUr2CqqOuzG;xf=M>J1=EJn6VS)#Wj@ACzRn6{ThaDS>7SX;bt&R1D zEm?;}FW01(j$7c3<;FFSQhpmzhCvWk$LA(HFF=jroD?+Ybz+>q1=!(7QIIQPys6Ms zf4i`V6J6(AlfKg_>g;G?a_oD<)&EE+eI4w#fjH1>-3l-U-XT=+nTZeMv>&Sch9F_i z_tF2-|M9|Nh)8@pWs+UR0x?7|v?E)O&{uG<0>fIO-ufU1zcW5KBG{Kc;e({QH74V& z{r>jVQMV_wr7v6bq&dKZ_JT$CN8oUDJ-FA7xL^nXZD@BNURwYlI7Y?;=9u>Fw*xag zgLW^sBV1Ii2o@`OyY#;}f1z(a_uEDg$M7Qm2$UDBht{n`|zHY?RXs>~aMTwJAbWm_YAhAs!epBa3un19R&s_AD^@((I^Sg>) z8jo>rXbgU1CXf<%shEO$d9;67X46%WnzP|tl^~N!Du@nrEQqqvjZ^#999Y-2l8;Kui&B~c=`4F-; z5ey?D*w~8=6e<7oJQTi_fxk#;HxTyryq>AF1uAWn!d_HX?$-lf zAK%Z2pEzgs$9h#`*88|R%8}-SM0is(^10$|kY)?J zu7@t#Iv;DFi$hhhkCq6PCrL;ZjhepT;L&Xk@v?@vWz47;JCDmri2iL8} zx$kE^{_lJ5R@_i}fAPhHcoO}Z_j-qsOhZ*-w;g54xV}p0axr9+>Nz46lL!TR&p`^U z(RLhPMchXo!!LfvsnoxSa-KmiF||9_z;e2XwYsem-~1E?ONApsS*xD{gG?X|B;r1& zs|~NOQ~}z3;lJKj8O^XdQDol~(S&l`iL>S?BB6YPHe3ZINiR+;r5KI#^%;MHvSeCJ zhSw-dXvn0_(SEYP$NGoY+1OgFp8zjw3I$EkybwJF1e#^M9WMsScSEY0-Tnvm3w^OU zxy7;LwphkG1b>Y*R;A1=g)t1}Xo*`kE0HYMo)in*mr9KbV8V!Us?EA$1`hiV3mIRG zl{FlWT>(#aE7`uGlgN|v>>d^BO5zUB)?9pp=2IBgwQQ+F8D5NnS}jQ^jEpcyR#;1< zEM$5-?(sso5_Y?28S%Mh<9Yd-rGD)8EoT*v1N?T}rTH4Bwh9f}I)%D69f#=ixtB|Z z6Yo|nnl38JW(Du*j@2gTz@m2;RXki`N_;-)h9Sz0OOB)+U;(lzqKwU=N-lXLvHM15k;KjJHWY{iWr4bU7xB zKfw!nzy4EH%z{Q<%f{(y`scYqohfQg=6RuRTmWuo;oc-7b157l@Y!}Rk08`Xk**(d zs;HfBS0Xeyh=IEjJ+Asz;+lPN1hX9f2Au^GX)3+cb!T3#1BkI`MmJ1lEDxFZiP#m6 zAqo%y@#SG3UNMHG_pD#;5cQ6~wyB6yKaI2?P9zx69HbsCWIM;v|e`fd#dV3>5_vF*52$o7GYaT8`?iP;j+2%S$MgHZN+v|3PQWUH0lo51cFkOG1r zC#G?7EOJQH7HQQtF-iAn;E3|Bj1lzqQE&vK%-;vYT|>s!rJr7y_YQ>+JctScJ&Es= zaUKLEuFV+&sN-?TmF7Z4hv>!j$t~?T2`J4L15xv-Fq6n1KRu&WoqCx!vC~&*zrs31Q zIb12;CJd9zg98%|d;3(;o=JMfP7~Lg znD@m@<=m$~-K}{HF0D{oIQ+n~fc|4Qq*QZI+w;M8O!DW$V1{ zg=D)Rt7CN0uSE;kN}t>}x!l~-u!@YtBjY~H40;?xPQh)EbH!-4(f%Y4`#flq9B$2N}guT^UZW-%{O!zVaMYk`+676!U|cR@2Sr@%sP~ zf`!q079|GQjgM^lcx|W}iRhoZ551E@OYFJjmXR5PHbi=?~{0&3z#4r8F z-ugY8IvngtanfE6hN~Bp!x6;>=`kbi1ziSBGpl4?0}Uvl#+V z(OP&tY3J<(p1#0A01yuL??eVNfocKpj1N?wOww!Vk2Yg4!V|E6;5jT&{2L+uiwM$w zk~A9MVzQ%g*BKD(8$*7P?t~_Y*VKdmDF+GX`J4W7q*-Os{4ODs2Pf4+sX8`uL z>OCUDNS9Bgq(b@!F2?af-m}R(^zD9Da*_>PiSDOOdZND>Ok>lT zEuV^VDV$Wzn9Qvp2rA*f+Cv5B$j;)WHu88eNA>Z(?KQj)u(L-9s&N<_7*hIbWcjsg z>TtvdK84RD#1X$WPxHYK`r~oK@|c z&*Y7Y5nSblR-MjRGPCyN&Gb2W$Uk4P$?ZMx(tCVKL2tF+<1m+gZ?EBQ6#)wPtB<${$$mz?vF>92+ zIDaAdB<-g0cwgV|*sw5hW8MBQ8sxN`)pU(j8seo)ob7y{=$eb9#Fv*w=jGB8!nW{8 z(G-ChojLpXdatiD>A?Q^iy__85{EIp90%J5^j^VDZYf|@16^waS2G>AbTT5~I*bwm z{4l>LFoZM%k@-5vpfwI2W??Xy$GF>P&g*}hn6D+f@tQhwQz2xC)A(ACMCQ;{EyP5Zg!uy-%6uUYdNgm?|7Yn z?%jz58-LF8_Y$^B=Z!Ek7q!#yV zJ-%GoS5u28v!hKP*yrZSJUz|=7IK@(xP-NDhw;-Lvh;%~)YXx~brf7$MI=2axJF7t ziK=~@75%c((qa8t=qVDhS41)&&OaaJ>^z$!=o`wzo%Gzs6mi(np{UDPXO|hbi(B8E z_p}J1BK^~xAM`Q2ABg$wjT;=56;@U4fMjd?Mlz z6kAr`petzGER{%*p3olG>2fB*c#8=VhC`+Y?L)7@z%2sB!(PN7pWw(Q%yz;63rJ;g zx@~z}XVvOWT&sv}McRbH6|V^pN14(9V*0&zTOW$1xRPyqKrwoTp3l4(MO z7C*04(pyr=ZjmGH&Z=3xZu5nR4L}OJAsUP7P36Krm0#Y#y3Y|CSBkD=a6b@)i zR61cxmaR@zEprbmX$&GjCHYZ&0SnsMfkRV4xeP^|MEnbX>)^|m zKTQ45&hJ(Lx%N)D-WJBntr6AFRF0($D@|oM)c@AxyURL*wi6JPtLGHtTnsyY?4GaH z+&XhaW+2r(nY!RByhyISQ7b%89SB_Lwi)of#~Ou~bYjNAIul`GlpJgk3sL-T%#{{WbR z4fOWa@Sr%sTm)jE!uwB?v(}7F30t;iTQS1uG6mlu#~A;wfYZE>{z8Jpf2jIc1bGV! zyery=4trc8&iE+{zEgje=KGPAH1?6Q#!qU?(+9X#C$HGpsttcB-Wj)2hiQd~o)naO zCC1%|BQVejJv*B+W@O)Q-_p?>gq*IgEYkQ!U-9jW6Y-IUsD#4@Kw+7@Du;rcDu_Zb zYIr$d|K0xcJ$^X0?bwUzUU7x_`c>wYLbgW69hM|<$=~Hpl4H`@%f{nk5t~Us7X;9k zA=+vG(EV-=^rzRTz4jFDvuVvbqt$C@rgSR64n^@3LlMVE>=>ixf+QCFR)B(6QiHf+Hhd?gt6@8(gla(TU1-kN@aCv zLve8ly$;B?cyF7N88EbeS6}SNcA|+&%v*G(*L8XMv)rLb(7C6jnjp{TU#&Mwmlr88 z5})VNF;DYDw~b<$Sg`!0{$6``_OxTeF~(~>RvYd){tqSAhQVjv&}JHMR@-zG`~FyT zs$&L2XPm8t={ByE(YZ7`jApz`U{52#`sE$bPfb1pQg`hyyINS|EG$x{&AdUYQn`T> z#a%_13g5Q>`MDb*?7I$pTfb9Eke<%6RXPAlBGr$};{HjZeY(b&NsdC%G!SK$zx-42 zw&7f8C3Z>K7EtTt$choWUgjALyKA;$$8En;+(W;|q-Wg)qfbpOqa$anUM%!37Y1Q4 zCfF3?J&yJz4PG!hbtXj|D_KmRGegKXq+vX{)h&%TYu?)dJA(JgIBNSv*qK#ka{cQ-${P6&8nOypcH99a#U{eJUIJmHnEON`a&+zO2O*=FdqI-}p8@jw z&890QYyE;-@4S{8j@lt!k-h~-{pVwI4hcyv=MI5Z4Uhh z@2|`Wd8Tz;cn8E^_;W%du*px5Oqz#Jc2*K9BXN1o2EUyw5p59%hw@LhSyshi1>>S? zjw(3zhBgk#=-o9$C_5_AULe{hPK5?bSa7szPSgDL<7n_9dh8b@Gs+|9`C!5fO{R)B zfywp7JFMvcP#3JIHbw#Is2fdhJG4q4AAVHOkdaKXMc^9BA#u z^e#=U#QQe){mp8ikmTp(JOG`;KJJuK-EPam;=o&$#=yp!JFjQD0rE16ox#CjU68(_ z7YE_*o`qlhcN%0*0@*f+y1&hB&{N2d#GhaaTZ_PXCUQO;3u2`WJ*6Or0j>|Qzj*Tp zJ)lsu7D1Ul9Pt5u>R`PaW5bH8gxyjZ$a0Jd%_mn7nYosUD^)FsBjTUa0TKCVs^wwy zx*iptqz%P-_UZ8_j%|i0e*;Y?$(V}F{>jcJy+gqCEK}QH1I0P}RuswqmgGjdI~v%r z6}fj^`X!xu*4JOBp7ajpmyCnSKNftbhfF{|kc|S|t;1kDx)#S&peafJT8RM2QX@mR zIhytP6X8$?^2VicovZ_jp?k2ZPpaSrjs?oTrAOQ^^n#92{SCKRPtx{^sHtI_8b@}J zf-YPV*R>ns9ju36gQbOJV_fa_mhZ7K<4I0pjSJqNiaMK?k#kNWp9|_O2SN~Dq)4b& zPElP+TAL*8>QnE$hl=)QKE|0qUh>f1Jsl;;I%BcA#u4Q4gLZdlE5w4*p=-8SIgF1iM&k`z5Sw}Xmr}8@FMM$8{UmG8^(;mAl!Y&uxlKCl3wn6Q*jOvM z_ey;uJANKy75$UGsbUX2ruLm+v$fzo_A{j3AcXkF03!$mdjxi^$Lb})2`HP%AC13`6R(1hC09f>8rbv0YI=p8Ea}W*!q*@e$2NSKfHfU3 zlOB@YuTj~e*uUr^z*sUw9M`_(7WxuuRbaP{YDlD3(H6_ORMn~}O-q+zR1?U=Ldu5b zue$@KrX*N*dBaUEmACXZD}>u`e=0ew_Si@LsryNKbMP2#HJ|S#YA#>_f&#`K9AW<7 znH6MM5`zH$opfUMysK}9@B^0C4g1kcXu^HyU(7EIJRBq~+mlG)4(=B6cI=T*C@;#& z{idz>B43Q0q(UVZixxgPx;vD`K|4?<#!@_05y?a1vn%qFhGZ)hP2A=4Szl!=Xw z!rr7VIkgO$T9zA7kF5+;>_#gHmPCPVf%UKIioCw;M~gkynd9W^nl54R40nMSlRJEG z+r#<>wR;E_1qlvtJ}Qn*e@rmP>?{$nZWU2Z(N6{EJjHOghQzogU*sf)B8Qd9qwWZg z<;}ArU2LVd=cLQZtEX|m0A6bsFSQ5$fd5;!*JX8H^`JvZsv>68*Y13wjA`XDd_Nsz zLh8sEL3$!oaG~eyeb&h*-czes$ia`{XMA)OdCrmf1e%}ItGfjhJ0pzXpJKHI%v>Ne z06TTivBgRy&i@{h2@K{F5M1s?6VSnIOI7Lo$-Y$4K7ZOt8*>V1e$Obnlc!HYwCn!B zI2CfpbeC-N=-!!mv;Xt{&s(>31wk>&&z*?D?WSN#{`=JG#*=uU z_n$2`3q!k%-&;&nuATEfIerdrIIlNNZVO?xw<&{{c@f%P06l?+42mXrDufy3A)7N)sM&L{M-x;3%QwIzP2vnVFFF=gUKs_ zMwbtN9f;`!xTJ)Wv7;27C+%{Y!S!V-Saa7 zSM&I~zLiEZBs<$4;q=F6j@%0MGT~MrJ9cdXkBqQd|JfX?hC6nQ6?{Wp3R1A^D+k_q zs^aBY`l7!v6yr@fMD{y~x6Ll>%mVEQmd_i2F4M!FMn}5o+J}`f* z!7tvk-#cwD{+qhg&2_W=D)UOg6U=Z0^d5FpxY}cel_G(+}1-~hR6sK~Bk77DNFmw-re^=%hz@~)ybX3007dj~Oc4}hKUfliLevrDC8CY6u#FWf zwMi)?{&=7(0g?W%cxJR~gTS7S^v%1CHIzzrBv~cq#kW>gmZr>jjY(8^#A5lRxtNh2 z7MqlOimjde2#!KSjXa^puN&lK*sH}#q9Ml&?FYa+6w#6@$>x!Z%~^@ zc9R78uLqB6uAjLowe%an>`eW&Ql6`EJ5MnjJm(g7EHhQFy%k;e$$?~oLp1T(j(`i8 zpNFU#q@`Sx{(%JyPXu2%e|#pc{X(a&OU$6u`gpDCfWU8fe=)|>eqGsYsadO9|JW*R z;s@K%6rxdDjmWPgb$Xm-=v}DMz^^Tp+Wjixm8_K@RuJu4SdFva%XH4$T75|_SPGl#m1w}Te6yF z*=L$Hs?2!<4p24XjGD%}tbE4;N9&1AVLHkwLPBBZSP-ev@KF5|tO)#r7K~v35sCkb zHu519L~0yAMvqKvVIBZ)OJ*wz6Nso$gDA4~7*Vcnc}W6a^`X389Sm*-_=g!M93m`j&Ir>uP@+i~CnBC3;{VQ7z7J@Mb5jTlK8{;S9gGYM!3U zihk3b*o?AP!N=g%7sta1h55>Jgk6uXqw&%dfql^_x0V7a8f|pP z=u*Rk(ntKn0r058w*IhDKe`_xpGm8jO?6!2Xh%Ia9^&{BFb5>lrgshAH!=O|hBroS zq|3nBJz9z>>eyHL`1!t)X_il1BXL8L+wPqrilZBV{zuiU$Oz@(Or57@^PD=|AizC- zTATuF5VuE-5$-~I47lT5FNIfatVJa zky1)LROSs5+1H0Z43wQGVmOyfkNdhT#=EUabQJgGk`0A{Bd|ejx);0U1a3`>bs3rk z`w6{A#2d#{XSfM$J!krtROFQioAt|&F!wR27X@cCHUaC|NP z^9{mNO!AF@o*-J=qUdM9&18-_P_4ygY5A|EP3DFYX7{4G1hsYe<-ILSt|$tt zB%)@oGOrXIRT#|yNre{N*s;QS3aurBdx!~*jhH_nPC}WlV^8OF<$gV%N)10QYH7Ty za_ZN#^L~q&%oB9l!Rrt~w3?bXx|f95ki;j|Xxpe=V(>Rjt8Kouf>pNxVC|*TkmK2xBjLGFpKIfjdI=l zPL5wExlp-K^U;@eS{;VViyQ$WkkS788#}?YO!+n^a*y`VcMq!U_I3 zP>N&5a-jKS@X_i1vj}J~9D$bkt{<_xg>Ie}J|0$UYBWk;V!@@SqVEizU zeMw4ilMpJWgj45pH1gc_clnLFE%7DY{2NhEPsW#%%*fZ%oljuc1OLJn2Xh$+?1b>i z6WX&WiQG*;(|GKoUtZ!~;MleQU%;@#l#str5K0<&ge}w`;QAL?=JD?%6dGT<3|ueM zS*>+@vCFqd|5e3de>b9p0ORF3ZDbv9X1w48mkJZ$RAnl@lJfiPlkovl?ooX~KDwQW z$cKpC?=;vp?nfdQ@l+ZRU6JW88hOA7PhWLILB?KL2tq;Tyv`Mcw5H5{e)g}zDQc!k zTg9(3|IwLYaLPCE17L*21IyWg6Qa1k2K_oZ*t?ifIG9t2yMYsMp+(nahbqeXfHU8Q`Su5o^;K z(_3-V2{GVQ?ouSX6oRbZt>_2|U4u%%0YG}Fs046dXww+zw~SLXBiK%ea{S7g)QK-ge-$41(9 zfGDi!;`o(b3+5=46VNF0$>~7m1_iLYI`j?Fj;Q#T*64$KVE46MP>|WBJfsJ{C)fMY zt3-v_tKp6~-E17g&prN^7yd;Q(gRIN-Qd_~F|NJ0E!Ds%vZw&9M^I!Vl zQ}Fq8?zGSqcJS5%Cj|=q$C5Rzv>n(aG&x0&(V<_P8_)pK9I`Bkf~c4HEx=bWwzU_9 z04P~7SAbw^y9!Aaj?E+W(Cg8ilpiCRy_=nXm3gJ$FA$D$phHvQ!cG{TBz-gz5U@8k zF3;rIdoqy4M0{3vq&Q)a43{(K9HQ1$kvz-{9XlY>D}I>N7YtL!0I}E8pgCkM>gZ1+ z&dX&RDo}oFAyoY&DBU>HMNXZKv?4@TSHo|1xx^?m2<;YPgb{0oow3AqezM>a{FlNH Ov@zV~4OND~)%rix&`eGM diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.jax.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.jax.i deleted file mode 100644 index 75ff59f2b0f012466e01708544be40ee7f9e936e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17640 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 Lgq7j%<%lT&ju?$! diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.txt.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/doc/fuzzyfinder.txt.i deleted file mode 100644 index 3946793153ea0c8d03ed47fd5c5ae2748c80d722..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25717 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ℑ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 IB4+*n0MTZEa{vGU diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/data/plugin/fuf.vim.i b/.vim/bundle/vim-fuzzyfinder/.hg/store/data/plugin/fuf.vim.i deleted file mode 100644 index cfc8fd125bc46c73eb4bd4a91d71c27cbd39da0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12610 zcma)i1z1&Gv+y}|mvncxfYL49-5k0bB@}7t?gnY3K~e?jMoLNqq(KA}5d``7KKOq3 z`|tn!-@WrZYi9OlSbJvH+OuY69|#lzg}?zB27!<_-|>*n+rKbSY?A)AnSI#gG3xLO zoHOz_e=O4f%D{`-%|WpJNM8Uy5Orqj5HomiZJ&U2_Y{W@+p!@k$eNi`>X7 zCT#{b7Pp)~KdEd-8cjK7LI-1$_u`)(Z*QC?lpF*~o*C50YRKImxo(V%oDJX2pBxjS zHt!?L))ch!SfzP;NaN$|d-OZwfT5&nhQ{cj4`Xag6KwaqhNJ=U@q>kusdQ#(%Rbok z_SjL9XXdE!jY95IpBeGsHk!@~RF7xR-ssfu;qDRX7z=WK#zFF|3fvedm=CYFfH`SY z>8g4xMr7vi3PKV+%LfHV&35Jys$pbEfx!fa9^T%~-|@;XIu$&AZL~jGkQAma|M}6` ze4NVFMOTQtf((6;WZ9vl@%(4v@8XB3FHqCl36+Xil0P^q$`0|!Y-rm;Th=v>9^U4E zc_$bno~T@doH2ypG|8>vCQD|oaWaE$R?`|vXhlFE%qK2zI-9ET32UdBZTow!7{8<9 zJmbe`pN6;_hD}v|=#u!X!1&0o8vnModm^IItZn>AovvShs$bMPwZjN`UAa8IPU(fv z=tbrsvgn1_+YsUx8k6y|BJ&?d%l6Ht#C{H1E@*1VA5ZA|U?Y&?BSM?pDrNCG&62)E zF#V|_1AR2{$li^%Q~6Xxsdx#$tVx3of)=UnRlG5EH-A)VV@V+|L$pc_yFE*DTsamlRsAQxkR!?}snwE{3#|5~zVd&3zhzZ2rc!iQWZv^t=()Sl?OuZBT z9q^WGJj7hfn>;yMxN2-KyVWS6f%R3{UU0g?DA!MOB(h)RK|-oh#=aj@c#}NKG)KnT zNyxIJL=o%+71I`-T`yGa=3}#zUTT*|t(ouX!!GpSKN}Gw;CBn8$3oX2mU?bb zJYz`%OCS$2eq8HVyR}-Kr|`u@i%QM3MqAaORE&HmCgsVdVfv3Z z^xJ$7UtceGEp(VK7i+85B|olzm6Q7YmM1Rb0^yi(WNu)TkxOaCkkL;@1}&~{W>U4O zEqO6EvB3Pr0}ZC_A598*r%x*!%Jfbo>_r@V9b*V+EID_^Qdp*`VbT#oEHj@EdtgU5 z2mGIQ3k-!~%BNJLnC*!AG)M|;8GH_FL{2-Ud3n>s`caJN&c{vY{}g5^wS-q-Hec{l zAhe)THW%Wjpbg4Fp>g?IQhmgx3EB5i3^WJ0uz#@2FkWRIHM>+e46Q#V((XT(II?1i zu2^HEj=Twb)~L>~Il|ac;O;0f7feyLFR`5?J_gmn$t5_5XrqoIm-lN!3(w(K6xOWy7Hm}m7|74VlBWdIZ{^1@s&g_l z2xeyji+zgA5#;?Xk!?9nUu#APf6h9Ja#%3bUJ>Z(f3z`IkW%DOZD_PtN7_C&R6(xN zP$0iZ^%@pLVF?k;xlFT@k&~7pRA;N(#(G3}4-+|l1aSyAwT18FYCK8+%OSVz)4|R6OSth0i^e0x%cYT0L>hJ5?b>;3<9?$sS0ymLxa!F6Iwy*x z+4~}M+x~pv8}<3^UQQzBep`gV^PRWsVp+&K#LGnX*}yKIEyJp74j&n?_fEW#Ggw&)U**0S2)~!9|YP z>d&K$u&PO$YZ>p>y$wwnzZSzj_o-=_Y5BE!oi=BcIlkFnny2fFj7$~bfPB7MGSi|; zYk)egI;jS2vJ&hdC4G1l;zvF`?$K=*Dlk-`&$ydb9y}fnDT49Y^7*n0@&#Pd(zntR z$uTk6g;j2zArSc{5#^yviBUO32%B?g^T#$UL4-m%NTQw~#-H?k^N!*<6(;=TxmrO= z>bDroyn@G1M(VJLl@ON2pbP1z2;O@v$uq(6p(oCZDuTbJsh?5}*~A1HvB)2S>->@#^Z<%E+z)zy^BUnC1TqFtDCoS; zE_hvI0)jsG4s9_Ssf`9v(Wj#R%D@TSdFb{K>qz?l=)9x3(cqG~rr`dRl(`Zy(0$0h z6!xD8M19q`Wyo)|Ih3ab2SWr9Ae4MezrmSN?he`#2!u4`?*pd*iU2Ala)=fy^_$+Z zjEAw2oa6O*A1v4LuMC{PmEy7lR+QpDDivCCy&6i8IQ}D!l9pS`U|LHPms5=krAq7L zmX)RDXSDu8vYudT7QEZ=24VO6ydFx@i>4Z+r0w%`F4QcvZXpf+ERa(ov|M*)ywAZ6 zmzW`bqTyWYsQsyQF4EYvlOYWeq#=t$qe1;Ww6Bn1u?>igl2OPIop{CwP)$_8;eeMl zArQh@kON>E7>J;SiJUvj%lQmSN>%|{8!o-SBnvY6;Szrl+(L_qo}S{to}Q$dqNKd6 z)R&qr=_xrG*_j6xnkm_Z6~zT^>H0aug}ONz8ODSbnrVe5nk98bMK6ooc9Dpibv|y< zKXP`{s(P-a?3CP@5L(PkGCiY>f}&14F&$&@#Mn-qebqRr)=df;`Z(0L48D^~5x8^{ z*`RjRknwD@{nu1wr-X_4eS8ihD#=>T5Ju`iH*SE(V9FB-2dFPA!^<(Hz;a1hq# zaMBwQhp2fZ@d6R!?+-egDp`q)GbWMIMel2VZ6+l}+74N!LU+{AP?Ju0UdbkXiCSIn)|`z3J-_F4zh#!d%Tf3V9=2?0)uWq7qi$Sjq=O5HBEM zFS|c?jnlIvf1$0Nb0nQxs{eHr`LtGdZzjHc=+&&a6N4a2e0B*n(R5|lu&{mjkD{?5 z)Xbn!&UHUMRaW=YOl6qTps&4NXG(8|UVNv@m_0{fCeIM}=xlL240GU1_^-_m4hutD z7+AGuo_)C;Bb@GmBflPq`~D1#eZpUHAV>Qw-bYmude*l3L-gJ*W=766PJGMzZ>OGz z{^`EBzwOaC8=dtq6rFQn)3pL7oH2N37LdM=V&M<;usIrL`B{-)t0RRburw4U2Nzu- zJY3i}@TmHV^A3TKz5CP9(Hru}AgRhiF}hBgIeWQ!neKi0ZMM@fy5fa>XjKR6bCN0x zzx6K>hrhGsNj>lFyy(|c#^gTkVyvKIJM$c@c%!|+yS@> z{WZ9@7yzt3~mZs+eUBqZ#@cTm-YcsD5-ctIV0|H>3<=l5kM3HxD=+P zwT8L4(0Ys5*xEU|*=l(BIJ&#Bve=8*`Px}H+xlyI**?~U`S{p+xv|jFa?-Mh$#Qv1 zu&@F96HwwEd`2Ze341sPfvf=(1ysUkBvz}amawSxX~^8or$pOr^##|zGJgpUa3X>O zBK{whuyS{Ic7=I4gWAa1y4d>I{!0_!o3X*&!vRsuOV{DQ56Bnnw96T;eZ+hg~~MOUpV$0t&(+T9l~y z)U)r+-uGgg=6wn0R0w8^bpxD~fzVmqi9-^z`D$i0G;e&9AgOvQuD|<-E*h?$UVxpE z6SbUZT55_Bl0D0Ad6BcC`uK>Fvg%~ye#q&46>aYjCoMs1#rr)*)}mZa%w zavG5b|6tqK#$A7cLQe(zH9*EGpXZ(wCw-n+3_TY|f;@IUpa6Y@RR#A{JWwdR{Po#3 zK+!?x+8d&vKNKM4>Av~$B89wq{$rsAd_n%oLEz3^u(h z$*uKKOH*S~aa=_s;uJ&Weroe9KgXPJJ1J>+4qetpTBwYdm3o3qqn@&pv7LGKb7>{J zpn}MNPCa8sV=+~Yr_x$MZqm^ri_}F%k3%%k!K7nTm6dynQ)%*qM_Gvrp>uG08d9pI zlo=3=37JAx6atmPhGU2YV9erQCHDb}0U8tGE`5Npp)6I%<}i?=pb=qBi+%f722S9{ zT)u}4Vr5`pj6@3yV+`oCRXJw+SN%a|%D(g`KiJoIEOR_vs!E5-SJ`G)Z69D*f=Bb0 zSBI7rbt3~kJuql5)}S9YTX5ETa!z)ERtb(!ziuif#6Ff09-6T4+6+>Fdf+()!Vxeq zLG>sZN+Zs&1ybqcOq>n2N3Ogm_Q2fY-vG@M*z={p4T1j{6+D2r7|skL!_qeIWJF%w)POK-B0YtlujL>tvJabhNc0wM}iyxXTZP)ZFfoWo5t^T zwJ#mh?q%kexMhDa2+uFzQUC&Sg}G14eY}K_^-#1;ogd{kVS2j}ta@^J!`!dbSz;>V zT*SYYOyDY2QL?}A!)qr zggG7yQbuXS`@v^Ob8K3ES%_z2HQSQEqDJYNc9fijC_nVa73AdJs-Gjwsz6`m*h&zI z9GTM4Jy;|W{!kgY(OlE5hiN=QV&EV40>Qp{oFltyxFFmB!QDZ4;$%_Yyhm=Re9OVe z>7$^*)|}qYh6P%q{0gu5$MQI@QX0|*u(tA$8fVP3QA+UnZ3C@V z#1d)<(}HP<*978yGC)1-$OZ|M7KairzmRi5?-VI%Uh2Kfu5c!8q`}3b4)Y=#(-tYlxH3jPGP7 zK@3|DLbF3-vaz{4OW66CWz!M3AduV*VKVS>c!}_b1_PSH3pn5k3_iG^rX|ha(T0Xj zT-wc_@VFrq7F8|L7r>?eB2d%yP9VH|1%_tHf2y${a zx3p~dpHB&?qqw;|1Yas{6cjBOnw^b-CV1RxvA$MTQX3mrIp<*=8K0Wf)M!)YP>V&a zO5|Z3o#JBELR~=?=$k}jbpT?qyrI3Pznzj-Bv>ioPd}EmMzj)OVqvx~9jve+t_rKI znf=HyHa?H6d>Cr`qc;dbR$8he-h&JwN;DM(wZ?x3VyGctZyd-0JSu?jL3`)9vDMyX zt4+u*M5y!!**>nd%=&MYMa1lwGEi9{ufIa7@vG&KZc1j&B0(!N*OnikALyLXw&G7s z=*Y3t?2Sk)`i13Y7L92kMbjIfxbZ%Js0Dv4TxosW3g_wdwJf2ni_u8QtD0)p%eTu9 zC}oTkalWLU^!n(Y%76ZN@cn;+0Sr>K9nSaa}U+2;hiIMVKNVE zxh^_^`9sb78&|i*(2#8(e*jsm%ZVyTIIR?Tqs5 zru5Y&X3Uv4rt)0xV}yx@?@)|KL(5gpUib?prUgbRc^ejKDaJ@GpQnc*rAl|1OP!&j z2&mva;MD>^3NY+%w+2cGT;Br?JHL(@U2?F;@~**t>Vv8IM}PH=Iw<^KfG!1OY{2** zQUjQ;k2_el0Oedz_?Yl9xB9*u`B?VS z#nQLmljFI3bUbnROT&5;2nReztE;QVEA74w&HBYOGfQXVik;7&QFo1PSDpEEh=mq= zFTNc-sj&RrL-E671223^Jkwlb_7Q7@@hl=;Wg|gB9%a2p8%`)jJB=4q;?oAs*8y@L z_Isb!xi4}VMgqBIU;GX!e6ZHKTkr9F#Cw@@U5_FTA)Y?Kzw&`(mh?u4@sYpN_iD?{ zUt}o@yL^}47O>xRKNDuin_aQGv{C2KMO8f_>&+rjFu&5e8)C*cc&_{To?t7p>~lxH z`<0cH`HpF;%)oV?xOp>(x+o&E9=} z6ta-F30PkY3q5m@p=cL#xE7L`SYM3>>%}DnGl!rOq zZRGFf(X&fr-)9>TROO&kQmVNBvLGQYQhfp^wGT-!>%~r3^l;v2AifW6^~z&i+uC8t zW!J#Kh-lV#G+#4Rz3YP$1!{*krFF&eBd+CUT>IU+MMA!6ANsn{7_H#tZ~tbS z4ElSw^vzrC($^XzAtLs6N-tmiG>@X^hW%v`yDW9oI# z`FOChC07Kwi$c<7=TG?S(EIrvC!%!qH&K&uH47Y5&Kv%#qYINZQuP5p9UKGKK2{b! zLnx?e-C_3TN*X(VPJ43Jj`fRzFm7#LXGdoEFtgz%ZeW*W-Wjo(9|hQXW4T$$uWj|k zD;~BFI;lmCCGq+AbB!hwNH8=9T2roAWPOr6@W4E<*UxhmF17GMN!ribZSgwhBh=QQ zPRHrKCU)gz>>Yu`ODNibemZooCW;&+ExULrbT@p1{Gh&ULl|+^*zY18)ONO`|3#QC%M(CANGVF;~OKQ@!3@io#(9f>f)1d)29>z;<|52 zzGyyL6nX3vosvc;eP4T8J~v6_TTziDp_W?13Ym1xVil93b|jMHs=dvx??U?5Nvqml za2s#pg;Q=J)P)YDU~D7pgGacJKu9dSi*-V{0 z&7I60hMzTrz*+MHXgzq0D{%qo3x*dq);X4!Z#1qqHpb5%7qPhCf9N&n@jl?)d|%u% zM8N7^Y2Sk^z)BIN0mZISonTX+P}N~=W>?{2pB$gkY3PLsWroT)c|8hp(n=2PG;!3^ zD>Jb(2U@{0T23%WJ1wV18AH1|gmFAyWbug2l#=moAMB%Y$52Yo?2r&Pl)b0{O$F9+ zeH-FTLgz~7Z9{f@V$t1QV#W*`=IzpIXZE={R@RbetNY7C+NnjdAsb1l*}7?lx=N*i z(vb*|$WEVD&^WRjxQSYTTfi<108p@zKn%J?ML(q|ekyKp#ap^l1~xe& z3EUw86tb~!`}-mn`v3C*=YHB zc^`1`^YZc1>cX6Dy&W8B)s=J4YHXcLYG~QzH2Yh zSN71f7)>7075)*`6i<60zUQ4PRNa^b-Tvnce&6r;ozMqS@x0A;DUJ`!GNbfUv|Bp~ zEFAew+d{z5az;e=VHbAgJny@=c>hRol-@tR(Rz~ES9Wi)R?(TIh(>Dp{<(Reh;p-B`9M`*SKGx^(RWIW zFxXUG&!KY>&&fM$oml(&YurE4b&n^X7{%mi_~G~eCYxvYe83$Io0Upyp{612ANnP$ zvazCGvY5uk9)32WxScAUgY_xH3unHk&u{NNi)SglIqNN>cmBeWA(hBtU%~qZ!k=61 zl|ltJY4?sg#?19o9BG$a> zif&9JC7E%lQaZ56G4p{Gs#KtjB8TD}M0~D@gGZ_mGWP&gK5kO!@b!+_4cZlYx0&qP zigtPEu6$Ve_uy$k^edEh`^a`$<}Xnbh;B~n=g+2hk+0uy`14|1wnTTm^rR4CMOw9% z%?sAP=iBy3`k~tqXK+lmVs2$%@D*lY%C}r_D^P;(0`QIk+sGKsL7=n%B?q?=M@;hD zhm=`jiVU9(RfhjiQxxOg#YjNl4ycEK1or5kE6NBs*9*+me|Hbc08k2WuFpLN`Q@6j zk1HNoZfz6Z+-hWy!lUj#{|k?xxkEiYKl4IDUy*h01s0m;|Hc@G#F*I ze{S;($*hY+s?vlI=62}xE>T>=fEf(IMu72p(~JHw!i z0Hp*SAlo%6_Gz{zbD-i7Iq-ZVq2l^0(3tx#@XIUH(Qqc>!%HL*BUCxH6t8qura9&| z{75ZkxF`MetqGA_w}9)28?*l@Q`gjy+i%ulYBBVn2;%xpgHz@pD9@T0oB71C#I077 zgomXi|GVsQcRPaconu;`KY~tM@2h5cYM-4_$Y4g?H@C{uE^FxQ8Vnx8D$r(dEGfdx z)33%tY#iZuJ5?6?EUUEI3eS?|fu|JCu;)~Y3Csqs_eU((EmY_=bv;3GgN5SDVVzxeE@+cy!$!shBO@9s zY*lT7HcswO9#?CPeh(NhozB>;Z#T~*XR{-IZnvRv-oJmb@K(s< zYJ{xb)VX6pz`Djyyg0k(kWA3(P>5Rh8k%ZbnBlX&?8vg-X&NTk4HNk6+iN|%ej=gv zBDjKqQ)q(6;xy{Bj+3apX1L(#Aq5)Ob18?q#ODStUNxFGq=sBVGJpt>~QA!pw zK3dd2>TR#w6$QTsD-|RP2r}TBYHuhYH6%1mv5V_Bv5I?$_&5hA1n;J+DwwK^HF)u? zB4SI&izg+aCiy10dED}oFG`Ltr%vazw)ITm8HKt@ydS++F)Ds$8|UxVFv#z$jg;m) zDqCH_~4-j|A+Ct3QQYC8gIX;Hk@|+UrjckVO9l`pAQAz zEZQ)T19)}-(SVvfkELy;4r6~y=xodXs9yE`S>P8OxX51woN#k$?z6n4s2<+=mb25H znbhSDwOcLAzXOvOF?k=l7E!eeEN%6xAIw+Xe*hzD8jR5BiD&o>=?!u3L0yjwZ$CkP zyy*Et+&3^LK#`I2rfj$|DB#*qNCwx;=4`#o_EHW_MSwjGxw~(TU?7@h5tBGcmr)3( z5XsR4#~Fcp(f^eVAxK^^yhzOyVX5RFbVUm)qElLVJ%Rvxu$P_ za|JEp$6692ta>)$nSke;w@s!m>i;NEbv^Td?cc`pJ?!L3dWTkAA?#dcYP z5ANZEV-TvHaQgIwhh1D@YEOf&k&g7%aM-gS?>Ts_B&Aj)X-H9T)lVfl3@-C6d~r`Q zX(-rk5o24y*ZLaw+PS4lX;>+QK~XU)gdA}XrFe!}O5w6N=>tBOiHV@)K8egM6Qpn# ziD!nDxI5RTL$FWnHh7h&a>_kfefUwxAxhpQ)}>C-+p)CYUxP22RwFm;c<3xbR;EVK zf2Eh9w84(i&Ke=}R`iqFVO^Sk9-!sWXg74ru!?7-E&2WO=`r!fwN`H_1J{=hNQ3|g z1vp|j2Z3?|los3=1{FggsM#5V<4dne#y5w>SF#RW?qu#Tc+TKy17F!jfp1vtWp~}x zB*VDarsZv<8fWCZta~X{#|C^gsv|;<_Gdew{aCs3@Nf|93qc_kRVwh4k)8*x zO$A_q_nlr)Zh+E(7IaMOTK+u4559VPTdQDofh^^ZH5JM5Q7l^}^3#!J}$Mc3oo zpHkTtv>a|Lwojc(nK=0({nsB*9n%*G(4u zT{1Y9Beu`T=kg3GC10E2TZ?&4@K%A<2L(U!x(uhS~|jKm-FpU{{UZ3%eG z7+f%1W(_wPYf0p8E`L*V5SlVCuJHEq7N0=Iji(}<;mci&{w5ZK?2V60n%>%&@$G~E zOY3($q6Vj8O>KtU5tV*3u0C_j{a3Tz8Hu~m5iP#wu~^WX*BbH4#)M3ILP=blHs6h}DHB zo?x^%y7`Xpp96`cj`KU2I}8N9Sv8;&O^A9@ta1?)i}jd~$k?$phO4Y3{#efAgIcnP znt4iNDziFEWrfFAs_x(y9$(bDLwIC+$&D3(FL+H^8$-Ddc*0+4%PcI1ryaAkcBJXP z9>r<5LU>k(M5ENuv)wpHwA1=&kt*T62c?JL3iClIOZBxhUEC`c zY$fW2;jeEfwu7zo0*rYoAqKCXkFih}&AcM989cEHLBbw4ZJe!{IBqrg{Vu(YU!k(> zO!YF+8Y+UblO8e8?OlSO5B`BQ(Le;lFUfpOZ8yNnf9 z3c8mG{>ceS0PJP)J9k5Y5){G+E=+-pYU`AG7c8>4Em*uloc^VPa`2tZ9rnvh*Mu)j zkk3;3I+U`77ro^X2{$2rizi)sZLT`!?6?Y*NGf`&QXFsl8PeKNvmf>o5hWf=nx`j0 z>%aXWFExTc;6gajMmn_R%nHyrZK5?+mEY=TS@lwE(|2~T=UA1+_lTtXJ})V)XEP$G zcGVef$i{K4lizFd!}8$8{e^)*b4#?ySKBbA$MBduB)#?M+2)d?jo9P82<@PWwl%|! z)APe7ej~BdDSQ>fO(WJR0<+E_MFETvBZAr9DW0BU%%HayKVJG@tZP=x%&hNja#DX& zY8YtyUAI|QBwKWN$=OvL*gQAv`p3&zO(#adMJqyKYSP+Em7T-nI4NsXNhh*W;R#ee z3gbC{YaUQWLm6&q0N=ZKD1?FLo&+(D zXaOtLsQ!Hz5y|0NNUUJ}j#Zn15u)MqlIw6Wp<~w1j@~hQ-+ARWF{*wTu6ez@q)l_J z@*^(C!OUUTxf!+zV!TR4&A;m7U?_!gQwL;pU1Bw~D!gh#HVS)4Ex#J~%2|@nGp!WM zwSCywe%9(dulkdDtlolt?_}(P_Xm1mVhaaDYy28ZI=roPPQ3-?3P&D{nlCG5FL0~(tv82UyH-}Sy~spDQz+A|!j&b)Vkb?%pSTbJpf7O; zq`n*TZw)x{px}YM`ns5a#@}|Y&8jE`uXf#=F#+}`!&fSdXf_V6yZ7tS=@`ZS>_{vO zGM^l%Uz66zgTAz)3a~1Xe#iH-BeCqFy#w1Ep5F#Wh%&{x92=M(Y6`f8U!rHx>>tiM zRf}B?e1PAb9-c^pHbhe$QhcqD0}g<1JkLFow2vR1(r3DBm~x%^iUgt-AoAL-}cV--b?6@-CisV4=6nv#Gzr) zn=lNILep?Q&&#VrMSfm*gN&3Z=!K!V%^4G0qK`l?*I<;E1H!*a4bO@KBMEU~ zXn$MVFA8fzoCe=m+mdrc6y)umM*^^66-B9KKZzRQTV9zyQpj}jV-O+uCtbe^)VB}W z9wOo5Gr5MGZ>J!Z3jN1qsy()FSq~%O+<6IDC#kC?%R1)JTE=L~#~9-Z$IEugk4msu zDP+2#R9>*g)E_ejJtwt0O(l4iH_h4Dkx@i^7o{_hMLuaQsDwLLQMZhdbts5$JJUjE zga$qYum_uoqkXn*M()1xCJlrsP#mrzVeHu2gKO{mn}SrF*k$RrM0Yv9zuAA4W^NTW zR_y3n^cvZUA$*81R5zVP4T0DTWr0@S2sKoWP zx5d!b@IndJU*S+))T2KZFMH}^omA!kM-!*n)tV!)4!|y@v(wW+TNXB4tPo^;7Rru7 zT@7|Y_VpU`f=&d=!yY+A-9hk^MI#4L+^^C`%m)SaI`c{d-mfp1G1+61Q`J;HCo3|e zBvkL4gTsMAMT6u+XoKB3G86RM@!+*QB80O)b&GNwYw^h_sP;~ z0{`Adwh%>{(yO3@08LjK4`y3*7y3b3J~o@-es6CdFHY4h3u5}qO-i7H2`mxZpH&N~ zM}d2pkr`m=SpjeC$2nnSAf2w_wXc&*$iiGa9TBImYZ9O)H0NDUjGARFLdhtgT8)4b z*KWM1HeUxD6Xcu*z2n=1L3t9&AtvxcjwcIEf69EzahCH(b~w9I&9nX#sAfA%{2MzV zJ@O2hWQ519JA9l{K+ksaj>_5wPH#84Co<;q072WHy)l0W_{&!`Us}N^Azic?rAL4Q z!2XOk4H{W6MsgaPj+LW_luHaKcwRgmW-Shif9PdPUYI1?6p~+1$t2A4;fj$qv)xRD z1w7n(<);F;R%%a`#Ctfbzp$VYlcbGQ)Q^D!;x>2%OC$$V6augUfaP>O(AK!$7Sm8--k2Njg5VUe`mJqb?fXHZ&o>1Aj(} zH;6K;s1WOy4Ty9c>N{p9V0@%HBX^j`4-4Y6^~_8-CA4OH^3Mg1;4WL5!D++U9!KqY&sPogN!r~?vZ?$@Xl*g#8jq&Fx( z_LRA^ z^k64ZO*|1(PAY!Ih0@)A{|K$>R|e1&$P*NT$|sq@y37Tk2hDJ?ZPNLk&tZ6QEZuoUa2EbX7OvU##sy>E zYi-`g0cJr{glK_^+BM5vq&eay+KHY~CSE^U1vtj{6>hIeiS5w`KO)7Ix(#_Pne@&Q z{6e)B(nsEz1sX}Ojb)CKRx$^PQl>?X5;8vVPh~_#M%9nIYNKiHbc?}z*JA8S>-knl zqY7#00D0tLI$}OATob?*bC8MJH|I4{u!5nm6716!eGr?)#Uh#-XR_ac@J*2aNi}9I z{7g<+(Zd)ryPhfF;C!?VAZ(!f;?0?2eOj|_SRsG1=qt#VrNkEc!^;d)+i9U0BCgwj zs7p>5+2@QA8RZ(@1r{6`)!jlqQL3mCy}h@I_iYNUzVJI0B(LIGRt+;cM8rID2EWl~d`$lo0#<|7MFk+}HSlKrQ7z%R_ulbpz!7lB@h>5yf_ z&R@t(PyOYDF@kI*vLsJB=Jeo{YNp|Q1fr6j1GCkHCKVPFIz)1!Sy2OBsC-^?;z~Yi zAo`fD4{;#=`A@9I?G+mzW=GSoA+&`6w!pLKEQ%Fo$4<}6@um@AFkQZ9e~s~UJ3pT$ ztp^3`KOS3O1(%%BvR*z`c$ihTop!~t1+(L|iCHqo$CQ|()6xU@xgJ3=lrw@^iY=tq zMMQ2Ms$>bDWyr(oaafciLuYtq#rZXLp&tzm%Y>FZbVR*Mx z7=%}S-&O?Q9(P{^KW5Q?Csf~j#=?!#qDn1!dxwwH7?DaMtwX6Kdr52QK(U6SIaWl-~sZ@9+9>=(!~q`8+wpHqXoN4 zJsR80j%(M&cAOPtb_r^ij#8wPsT ztZdXH44UKiw0E-ouRL;w8aFolN+h)0BT!`;60BVR^ zJ^4*H0KGUI3w_>{q{}kC7XQus4-ox{=+Mba^qx7j7Lj@#S<`8Fvq9AWh$-U%_kq_5 z;EvQ|8fyMs*>eG+f~hO%3ahi+8M+K{H`mZ%Er+*xhhh@?_1B)zR}vA=qd!@?w_0a@W4k-t94+I1WZrKwgc6>{OvA^* z^V@M$8bYO5p%K)+&0SNXTl}sll%Dpj4dP9BxmsvHO@yc=@!iq%qkkD@gPfA`?)-;L#e^1$A$|e_WN%9hb;Mp%OoLS`+8@t9ZS;AKlsP7^LlbK5dV@UOk)GkXPL-!ffW1>xP z8_{Yq5i`f6^0Qa&&OXG`U)GmMsCfFLR;X@XE|kSp&K zkrdQ>I0E^C%m{gMI+7XU%LY)%TXD2bhIRa=V4kxF)t%r5XOPF)F|jg-`H8qMiHU_a z3-IcRpUqI(H{m&YfQ_V6+99*xCeVL}O|Wr@-yk=iy!h;JbB|)G#r$L7r7Ai?*m2Vv z9{gp5Xh?}cQu}Ew>roVM!(;Ah%)K0>i)(T=!k8|(CFPhOrYgtN$y=7mzucDuDB>nE z>L2n%91`R33}f0!4|UWVTJ9;xzR4s+c^O)pXU(2xz7@?FKcKYH9PW@hNz?OXF;&95ZSq9s!V1jfWa2JS`QeO^3LQI6se>KMBEKM*yyaoH= zhx>!)jddM&w7aTz=cGxgH(YfC1`D*x7LuKl z=|N=>vUiUfw@nSH%ZfF&k4X~_l8O62or zuZXM41@AF%VI3UNByB~8)03Ah*)*{d*QNvGBeX`X08<}dRE8htIBQgT_Qm(1r5jDU z5boU|9-%z#sjp71XESkBl5;TQeSLqxAnN{8v;rKih86)BLtvE$Tny#?EfOL__|6mC zA_HxVSX{*y%RKmC?1pSiP}m;u!WvE>@E_MB^2U zJ2g&&Vv2}^Dn=^UlBS$}8lynjnyzq)Y0`h|IX~gtm>eomz63}mxk}2Zqaq5WtW%Qv zf9>exZd$5v9^AAip(2@?dnPi$FApY>bT@@3qK?p`T^n#@npsCqYSn)Iik6Twoh%xv zD;=53i!ffvIL?Y0}bR$(iqWTURlNSVYNZR!AbZ)SJMe%DQ5+IZNqJJWhV{?O^{qsf%pcL|HR$Z{$hpTp4}Q<=%EJLs(P5# zXXZZ0DqN(-g{9AL|KX4Fy#T?!AvIe&wa7$AU`4-Qa!Bfn*i{587ojt|wusLBZ8`)V zyb}rM@6{G7#YV%tuEB~g_rbNKB}`J^&1&@s?8N53`cMeJwAON<+HbqG_R(mn$(vgu z;Pv}`#I5I=_pltm5~+~{swZu+c}o%;R{AK*#M>H4+38*1*jY~ZevwE93HruEiSo>c zYsn~DCf{n$!o?QeK{UK$kF(XvC+PYa*{(rfB91T9DFvUlVliP|sqa`e@50=~R7o9R zAWE!4um!&R5kgMJmZH)GJiv4rn*Ne4x$*h&dcV}XwE>}z5c|CC>+VD7`&IM&<)Ylw<$_O3Wuip@I9yI9KFcY!qcfaeNvpn)Fw?%L=JkO;l zSf%Sd2`s*AXTypx8sSc!@HFk)=5`2%vM|q)n!x#_Jk%s01ERFF>R779f;i5mY0k|w zii=5Lx0kPd;su?%&pPnD9XTflS6I+ze3{+ujt#pV&&=W_CP^b<)Cv8@EYNPe-0R!P z&Ewm>j_0cPK!7-(Xz$0l;U_1a?@B>XZ5b8B&!R59NqHfKvl`CK4Or>`~Z20j$;P2qX%1&r5UxhL51YYnhkFH@K*yt6E=5(kBhN~d+f zkHyMnyqL10Oy`d-JlRCTsa``dtl9d2P1-19mvf0Y@5lc35jP*dQz{9(9 zCt4#l ziq(r+OF0NPY%b%Xnc@LdIM(*I!&4*+bwS}$LFPLEvAR1&o~U2{2=aYjAdpJu+X}{T ze{l1QD4_>tdvMmCSNt3m%ZAbJZC=9@W}|HTlpdv$Rcncsv(LJ!T#}KK@|u&h&`UP{ z2q1BAB8&Fp)IrN18<$?R-HCLPrK`}9q2*D4wY^fV#^Au%Gh#P9&YS~ou$epTXB6U8 zK`l!@wXXOiB%e85FLpKi!|4tc4nn03ZJnG0QfK%pE=gyEy8 zZb#a@08}+Ad`Q}1Q7*fIs!fJQ`ahSttgzo1|&+n0IMW<(g5tZ zEAT8hBZG3Fe7)IT=^@#&ZJ17Uf-xwMDk)Af|n~zY_Y8(KWUoIuNyi> z-e{W3JxkQnvhWO~gwv(|Tfs38o3eGqYcCTW(pl9~jaYcO=kAsKF1N|H>37yyI|BFH z8(PonSbx5=2(h%*U%0-^H$CD8R~C8Q1(0h%c90y7zFR_L`PwcSX*r9RZJW0920-T> z3DpZup*dU+8!VVu$!{Or5`oUy#M6yI0SIVAF$QR-K=y6j9QxdYUxBr&Kv;QR)H~XI z#c=8xqNWOrUN*GzMoKX@>Vdu|GKvK6l$GIes6@b?>-<=>F#>|3ktu5;i{mr3ltpPq zXhL0P$U;)?i`>wjMv(43KN3hEwes1j(1iUAOwGq-B-6ampBqi$-k$y&%uH zSn;UgR~Qy4#n-XlRcbyR>yFk0HerI-E+O7%aleD4-7M59x9zV;;uVAUR_($98rUGK zqp>H$uvsDW%&Fsa#A(Vx&_o;~=giL*$TNU&Hf^ilwf2m&n8*Tww2Ppi_$VK0*Drk6 zY<;elO5N+%U#6J2krz%DRHYVHdDGbjX#AOL;J(2C^i!1y0fc!amx&rg_y+9AJP_h$w3JcqAi8CRYM;ja$uy{nxHt6G@s*wKh)-eyL~k3F;Xuuhy`3d^)C0gmhnr?VW%^ZxE$}-+pe8^2Ys`Kmm&N;$s+uH9kBsNpVf;v zJV@Mih5W}^4^=1Q>?>0~WhOr}AgwTG69YatD(k7@6Cx3kbXUHDFJrXqS!bU7jPo$Y z{7_JCV0hFf&C}6GOkRPAjsMNN*&j5U)VFql=?}7Wlwx6Ih3{rLVf5ZZu~uW|11Wxh z9`dhyWNR8f^$?QYUt5j^X~fN#0jyhg<tT$7C_MXU4r=w^t& zOoA0gFC!{wxvk=fJaz|Dyh#G5Tn|$tX{yi1=D6x?$UMm+ZFvubH;Z@JKt7N*7qw{Dl)W3IPaRaY5+>KWfkEJ5qs#X8yx5FR%jw$L4xOIE%P1=XXtKK zi&pHjxNd%zg*<<*^{#TIIC+CaTagcy!2{GSd4O2?UfIRIHo)@Hf~<>Rp>aAjbjl*y z?o>P(*7JnI`A!PWc?$Y$UV;{&6&5lp#wrXaIido0_(P7q2R@nsIfhgHk8bF?LOb?B zs%otrQ^*oq?dC(~W|M`9R&!U;8EBMQZo@BxGE-u!MZiU%-0#*N`j*nC4Wol*c zOYTy3$6)H*%WA!Y9-p7An@Ss>^Ax@Ez|r?Mr%s=PDWDyYYfQu&G_?f`Z3X=kz?6)4o&4hiiYCA@O zwiS!^I*7(`88S_wITm<5*`PmcG)twRM9etJk9d)$<_8MmZ5#sM{q2pW8_Q!2(gz7S zPQ6({(FB`0^g(10J__B(aFBjY0|Ct4tRs46pUCEBE3=!4Bz=qe8D$c=5P z!5z7R{7Y`3l4z5%4;9&*&)CK}B{i8Z*G_GYMDZe!RkplH-GV(%$gGru9Mwot;i_iI(6OxdMk=QDgl!6HtJAWsaw zp!de&HN<0bCu$l)Tt{QJ2Hg~ih1BI)uZ63m7Ctm^RZ#cn+XcgG55&q2be0`$UHGX6 zfpibPsjoOEB2A^~IYL<#iS*@>d>P#|*oiYSN8Rjn-PU<-D5(?E ztSYbBvDe@%dMWquj&oi32;sw$IBY^#hdhZ& z(+aYklS!7ivzTQVRtkB;4UZ9`} zX&QUQY=EExp59giC}cvf37?i&#$>UY0J8o`p>(greN5059h6Sp{@HXW-3+1rl!E-a z1IKjv1du&;M+96Y2I~|{b>%Hm_qT1hxaN93SWGIxY44X+zhUQnR7`j41V`3gjP{9PKj+>ZPnY(D*Bx+!Ou# z>=fn3IGd575?DZKy|GwkE%U$=&4Xvr|2eg%HzSQpnYSAXLYP>&Bfq42k>kv=dtZSwu}e0~D39HFyZ?}Lge zM|I0$2pB|_h-5xJFjx9AL zxG*@iI7&%o$1%YwGFPESxj-4Gg5l^-| zOQI(Oi5yMxlhsnBGSxt&k_(_Sxm6WmG1c##Jv#3|ddqDE`oVju(p!v!;mtWOUj1X2 zUF?ciDYLkvwNZ=~@((9NUoHre2$EbNY^-;)h(+x5JITG?uakJR@Cz6k6KiklvB|65OmR_VO&s z2Pc4u7!2q&oPcXmjYlk(Z_PL~2}%yEPN2v@<(h8jF!ImCfKJ=q_b;_Zu<2%kdz3Y@^NBmCn@-&Fig? z!RvHPev&YO=jW>ho4I_u6sZXS%i^wc`)8q)_xYUP@BrgW-0*kR{`<=;2(MvrPNmVT zLc`qV!TyQ7wZoQs}Vu!_Dn?-pGVXtJa*DL5qZ98+(A}RcN=X> zI|-Y^jStjyBF`6caLayO494!g*I}Zr@5YLmB>45mMbWCYes& zg#~O`yd{~QiG0KNAZi`lG-yrG9Gx;ATQiQaQQt zvU&vaVG+Ai&C}ue^$F3qz%V<6NIyK-TEE3yvd8(d@Sgirz@_yT3=6(M?E|LxcU)a_ zktk*oa5TN;Nns41)}CB+me`Jc1pZNEwNpIq+nt0<+bm0&pYO&`O{S)$>`+=PB{^7^ z-7=yy^a&^{K1`OSKkXJB017+A`C!%(IU2(7KQC57)+Mt_BfaO9GTQB5ld-oWSREg# z!l}q@ZO;*|ZTIE;ryjkTYm}vR)lcDRTm|Me53)?YSN5~nBB3!Mt1M_hu4qwy?V+MT zD6JPZA={A`AXin3*KTe>G9Z(3JAv-0B8#Jf5^SmcGxN1-H1u+_u%sQ zsg>hqRdwg)BHIXX>y=PO;U;n2Wmp>T{0%KK?HvH=z$V>W8tv*-!sXL-9Im#c+x7@6*E#!!#{(Uz$N2-es0th+MWqgif zi#cQ4yhTB)VQK<2XuY>D>0{}WVA(>RXTO7k@RQsbx% zszg@CA3~Epx`C>KBCW6!xUg>oP%68Y0ef{hRna!TAR z6BrG;)@YRTuXmy>MrsMbBJ?Z;og0(A9mImTk?RA=pp8bN-y2tXi`fDV*gvq%O!s|e zO)gA>bfPckRa*2ZZxLia5BO<4KN@`ct&abw{XJ*io7#A`?7fR4v%T@C*@%X3V}jFQVfK0 zp6$Z2pOHkk?+ZM^=jXWSKaul0Iqa7$AtX^CJX!7}ty3dCFl;B4>nPgpW`(Yo6nOeo zDkzmnUx12^>%$kcQ;T;w1h(yV7|57)@|YE{eI&wIFs+TPMQ6+pR34B%kW0bxTxWsfOU;+#c?`kN5oF$Hs3N)6T0gm zW7#OUIc+8d>{fEB!EmuaI@W7oC3Dksk99`kkE@WVF!RMxzd#V$KWhV}u?7@5=!Q2LAaV(1s8 zPFToAUV+8(TjxW83F&tDjB02y5NbN9>A^J7Xz*CSrY<&R)3@wBp(SznXu{}+R#ei4 zV&Vb=fG~dPmASyKo2oXoHwtun2kT_dVGO0c`|uJ3GpSQdR~o(j!Zu%&(lzYwLSVRU zaf@S>ud0F51**0>VZ3UyI%o^j7$!KyhpX9sJYHc~EtRWO18ryFxH~{JuQ4IKhOQT` zT$(fZtPEZ6>@sR!^EW5Tm~$9#vtO zP@9Raj=$EJ8)GhA0WKiplBHsJT|)npMZ4$eK`;~%)g5+DR!A}Maz;J#ohivDrF4)R zh*evz+&2dn3n)*=2O`@4hZ8{qz& z6CcxM*lFB!!#J&LikM&qXL=9^>wd}`kIAeIW(W;Q{;gCEb_~WE{&A*{XftnYW*)-w z`S4MgqY4%FYnWLr`@jgZdHLWFC8*}v)q$U*n!;Pe(WSFii$)1a)|MLirO(CvcDq?D zg~dfBw_lfjEIgIZeLgTMbpFYf=NrudeOunf!F0o23m$B8wftrp_-g*_`Zz?)V`2_Y z>ot~+`vtP=S4(XNsIE*#UT3Vj{^U!UgqLM*o=a25D1>_?SUi>mjRmqQ3)0Wm2K&Z) z<6DB-CO_RT#WoFSnb?@>W^`tMA$o35=^*eoNIrfpn|qLvCFd_|y{RodVhieSTFF0G zcN{jxZTC#3#AU}lsWv-*WtLw1S+TEU-ha2O%JGAh-u8gB1=dWrhTp_h(9Vm|Doa}~ zEuxVk=O13jH>djK2Ms;_Eo(3m$c@a}4tZ3TEm#&cuHT`1>Mwbva*{jT?Jm+Bg1+%3 z8U5r`_YiOnKk&ulE&@~NIqF3RlU99cYxJKy`y9-oi+Bw@10Yk~AGY~JWxLH?m26lW zqFIEN#ChX)6WjUh1HK$tSu%(fTYe638*hCXUi)|`!Vn;M8oHA0s}UUSHXQcuA0Atw z{+@VuAi#hsVzK*(4npSl6cmK2d9`GzYrzd~4|y+TufqAWHm_s)K@Jn4M;C{0#+Aoq96I=9WoEcQ4x(0$B7JA^Y>UGnGa(SRUoD>%;UV(5Etdg&%X2Dq#4|*r z(s!(>eM2qpk0W?UgENrt4=XI;sD99;HJCshPKj0w99=c zFC!nshm*pSaVCqS&YT&6^5wWa(sYW2MmiVEf@@pCB$k_^@f~`c%EKzM2ssfCoez2Z zo9JvjNtY%kSxfLH+hUnrlpEImZ^~~4|8ETCT*HjA-S^m_Z#HE7lQ!Khp*t#Z&wJlO z2DBFw9$M(H1iVPemsGv|y_C&9lMlLitRl2X&qBp`bqbPZf0-LGVkHyys#BW7eoc&) zRLX=6qVbM0e<(tt-wHKdE;-A+%3D7Se^(motpyyL3Vbu7Xw7tUo^iI|-}x`z6jU9& zu$)9@87Swp|6zNJ=~;=c@~%aDTiye^lTdSxS{L+u^4=K}JWl0fj|~oXi;7)^2WL1K z6n#TREYRS6y>rW(^GS}_SyQ$-At4g>(-6vfoFX7K)W|$k(dLFDA9xq9!gIpjRq1hp zHJ9^YNFU~9Le|x(xfwlzKOn41dg$2^|bE zYs?Eb4l^I0n%LyAhxz-^;+E*@TXx2CqHz&*(z8)HQEVV#L=i1`XxU@E1^| z(KHVagIcd-{l=-HVUbx@0TTv<61kI*E6S%mEh2X82xu4{w*elQB}(`qffJd8_ioGb z3vx1E(3q=Y>h(*>&-w$gNa=%h&nUG^|3G~Lp5|9)8tAN45 zWtf>{ad4(6njjm_6~%@Xfkhslx12ST5|t3}VAwdmE-@z^+xVj@cKuB4RFFqVZ#9p| z^sOn4HZ);Aat z@JwDH)yq1m)XjT60Gh8U2)|QRL8*j!)m7V~+mJRkBW%%rZ&X#wP0Z<5b#h#YB^sm@ zmT@Yyx~(j(m{D9N>#Q^Z3mhh+E}9)kzVR*$RH(-^h&9&74dgd-GB62uG`C;u91z0K54?q!#i6r+g_V$YP3 zH{S8r4?pK#J4t=Qz3oa1`{sk-34^?aGT61wUi!_0a;ui_)Q^0=jg`r{m4n!_7fUrmfxA zYhH>F`p&3!=5BL9l?Q8KB(@^_E8i{%hq~CPx(u&N#oguw$p;I9q^dw_2IAlHT_YuM zr~x37KkjL)7W!>+D$@Cgl~f8qq9JCVc{E$S9U!kgV%T93-O!BF%YGl#g%9hgE-lF* z`wJ=IKOYh-y_eMqA3ln+K=uXk@o`_fN-6E4Uvd z#0jk6>x_ILu{j<>i=t@IS#Sc@$(=BX9vchD&&GynK_tbnlAA)vo%%WW_GVh#Tby;# zQq5&q;m@iLpD3L3-QC)}dwvr6jeW|j&VMOn+ChI+2Gs(!n(=?Mt8&3aVcNI2G_oUuU2Z=I`N zd@zRkQ(d*$E2X@B&57`fSnO)1&k$ElSYazvDy-`JjWDeY?fa2?tUN(wtBoeU%Nwzf zrw>I5$uyT(bqJM)F{2Z0rtsYA0SfgDxK{;xoPP0eiQLUb#_6Su&J^R?F>>|}U8RH? z@Gjfr>$59#&IAuuWhy|_(%t$YlE-Us9-2qAzB_PZb9m9dBe}q3*GMH2aR= z4PMHD3sj*gqwVD!4`S=cSd~)rmJkH#fz_8n@Hq?)juWl!41Xz9K-QH#(58w}?+m6# z5nw)URPmZUK?o#|!q>~|Mf3_jE|96Nq#$epq}@TGSrnp&@ml zz)8Lt3{~O*fWu%jz(1^6NKL(Asu33jZh>9B=t71!Iy@bcjz>g^cYf%^j9avN=Wl0( zUOt^M>B=)Y9nr9EQsGgYo5~O7I_qRI7RSvswA8*DYo?b0xK6B}+6Vro6(Ig4`^LLU^z4j{@!_`EE z^Y*7egF&CtRRMAG;saJ(Ty37jIzNRZL$XD8mOg2JLX! z0Y7CN)^88D&f^V`A}WRB>=WryltX2jZQcFr4%3Ju@qxx1PA%(=u#Em=G|F3} z)uBwlzdkP(!;7{K8r5(JpQcdm^EKN2tNH1^;OTx|6w8D)AP=w!_|*3Wa|J4wj3M8F zT>@@hj(pL*k5~h1Bl&t;_S*B{_TT+d$9H>Hb@E<%>SX37j^DP96nbOYw?|0~-DeTD zCS#)!xX!f4f}7@HS;e`g7WCUaFQid)udPewLZErDfkH-Ln}cp76Z)K_`qsod@zX=W zZDvfK=h}YwoU|Lr6Hdo6ohYtcdNOmtcxf(XzS3@^c-#9E;rM16y_NbJW>alViplEE zxE~jG&)7r+;ds5s&6-e2BgP%uzbW3S$|Ck%Rk$>gtbogZ|JEQo^rmQOCI!BT?|#Lb zfTz%XlfZeD^jR~xx_0(D&3D%csWUdSZI3-pIA6Osa?(Ck$H;&ChX%7m=1VAm@Rmw8 zgg;(PNst>+7 zmjA0Xnip#b%>P+{7C-?qU_s-yNgs*_#5;(z*$9MZnA|e}Kd*C({EU1xm#4aSc)EMO znTQBG@cEoJNIZFDX85@Qf>w|3dFy_htge>c$TjD|k|r*iQ0E*phEh&}A2uENHttsm zvS6G_f6_-`ZHaOHD8zX=y^lEqsu2_bc}=SxgBqL_9KL|#TMtQ<;DivCz**x8BsoUp ztzI#6t{#BKiHPvi^KK?jq<|v&(yQMR6HyN5vJ2j@HmG<;vXec^p06l+7OPt$2q{Aj zfx~gAX#@)Ha& zG)I+JRfQQ%&DI91Oq49cTi|Xyp!-MLZLs3|pgG58y60^XLG$t#M%gS6+-kv{j@ul5s=XZoyfF*p?0-e_=u76Wzk4auz%;NbSrZ}vAn&J{Nb^mhB|O)Cw`ETu=?cB@^2Gkpqps!(&$ja)X;G!aQu(e@c0PkVy49Yved zW%f1&{Sqr?9T7`BW5!Y2H0p!xnUfI$8t(7!;VQHzg$CDMi6 zxrC;YCch6^+GD=_ALl=C&mxNwfbL^N74~ahbqB$!YZBOm489r&hB)ChR0OW&E9}l? zzlYTAU4JQxgkWL356hrYKnXXuVhZA<$mYb|9K~}D(`G7!Xuu?X*UhU3TaqyQLNa%d zn6?icw!u;mddioFYlj>g!MF z>+8oUDMCuoQBO@w*DEs4vCOk9D2R_UC_;`;s4yR)gW+c35Fs-!Zf=yMa z!T-nk5B`}VzcvUMg2k4EhK3gPH1!l!)h7HC5KtAMWh!DBA($_yXwepsEg04v$(M?Z z0TOu02Wc7yL?tCVF{&`KC{;-*F)0;3%|JOiF-@~H16t8v09#qDFO>ltq z5J*5&pfS04BdL9pHC)nUWoUFX=}>fK2Tbl^ zZ_l^eLGd>m0DzzW|GQ}Y^?=}i)F1DkMlnu z9s~eL@c!P&5flC!bcCW7?k2{Bwsy{h&US=07EVrtM&<^#W+qOA7Pf?T_Rbb|woZg@ z<|ej;F80O-&VT2f%}oep6jlB{H??!LG5E)zhyJJkr@?=38TuPwFaJpZ0L)(m|7Y6s zoYKw=^aqc?^&Oy(IKsR^%>4fn`#>S1rJIs^fK^mb7F-=i5_2?H$b>Zv6^tV>uW$f+MTp;+@ zt}6e>`5$oo1^~FK{%?+x<(~xn_h)z`{=Yf6zXw&1z+0GH20c24eHHplx4?h!IJCC3ZAI(m{Qw9FvQSMvmVuaIXtDvy4D zrxri8vnMFp&>r$QQ_-9kvam*kyMWqi`+JKN=(3zCYfu-dED#pV=@tUK!@SH0ZRVC& zHAD44Q22Jvu872UbZ3ZfN<_i--f3nPoel-d7e%9yp6k9+vszhjaEMsSB^N9Af_mET z6~cyXb}Hp=ICI0L-^yC6*w$e`X8=9Jf?d7W8p-7G7Lwc`5F7q_(X^Z_YK7;7n$3r| z3!b)Y9=4+_{kn3o>L}(Q$&%K(wlR1oj=?djSC}f|HL0mJj~(_nBt0#@khSf=+Oe`B z=Y<@uZbUi13U~qwij`*kK$EC#2aNTr$|Ki5M~ebb=Jw!kwMkEF%G>B?6X)Z6NIjW0 zCDd%aH_6)BIEgo<1BT!khzxcZqcIWrl?nNW=AmRB`Pc2gq|$>p;A@0lKH3qzp8f58 zIuOV7v&dNmg};H%Y!ujyHcAi${agE&p*UWhs!vQSLbt zv+ptK=!V>7^BfinIg}#e&3e7Q_y+a^q5u9D^F06k4nh9zORp#YmjnN{5>Wqg#Z>{4 z&@Uu=L3?^{fgCoX9qY#2?0=m9z&&eIh0AV%A5oW-Sb!Q74Go1R{IZ`D>4f$-VmLig z1f+Ojdn)d>W^-R`q8me-y+jfrr3WjN3@|D;^xwXBK~z-K22^GFnHz>Qoy_{gjUN(} z`bD#smsbz{r*q_uT#qjRq&-=-@)o4kb@?GI^)4{%$s?4{zTu%hn z!OReGm60*!N#MpbIvrK11f|xaU|IgalF^Q2P?1CEE32nAods!i9OvY!sUqUoWWYU~ zkx*vOePZIwc2MpAW9%z{>S%%nAMWn%8Z>B-;4Z=4-Gc-V?(XjH7F>gSaDo$Df(Q3| zk1yZ<-BsOHT~|%_?9%&orn_fmr)Q?QPPEn?t#v?Rl}{33)qSW z6!D7>SaFA_e&<(OZYeoK2`kNRG@SI89i*F8r_qP~xU|rQ{d&s`AwWMBf&%M)g%;sm zs9%Aus#PQMAOS@*g)CD3V|YQRjB*7tAf%&Z#~!|-!ji7^l(EWug_U2Ur>$)z!ss|G zm;lPw1Y5ha2NEfgAsVWc*U2Xr_Fg32EN=%r7)lwAEJh&LOJcVe>>OXSAvF(Y6M^mc z1D-gHxThn$En$J~@NWQxa2W}gU#LX$DcZNrP>Jt|O1)9b@5I%FN;|zR)MAq6o`Ma) z_yrGcJ_%>%$2C8$05oy0E@Cy!52d4THj-i%rX&tysz>SrG2o=KcgSyc_~7WxqbPsz z-RuyFY`}Up3l7(#1wLPE>$TR7V z2LXfq1ZYto?{Z()*w`&(Hw>5Lymy+%k6kBRGcJ*)JxHb>gviTT;Mym#uedw>_@l8XTU8hb_ zsf4VH))qxtc>1PP6D+K)`)zI%DdDyCQLZxi7`R(ooYoa=@OI5V5Z;BZQ3qJMguo!y^EL-y z_wA>u%o3;ky2&Y)nLy>AaE-43&op4}gJx>)IVFaOIL>Yk?KoN-I|E1SbND>qax+>b z$oYgr?t|vJ0ce>3Zgf8w)cVm@(=um>Q28TM!cQEv4``TFff)5{;Q1 zLcdzue57rHN@|ZSuu~^hu)BEOa>#;XvL}H#>pNBQdwG|8Iu<+ba?v}*8`$CxMwR)? z=G~TkKGaI^i&(PX-w)}9aQ=QVsX2qrsh5xlH5z=b%L(1OKMo_ki_-PN<(sTFWV#l< zp}sQKXYxEk*uc0kcMVWJK1uy`BXtv9gSR|9hAJ|9fi(T%()AVaX=y^~MxK41YO%dm zr!7iuCID;QDe`%PLGcXxW}WVw%k!6aEdJ=a&3H>|3mIXus_a)e@}-UwpK4>)o%{+f zFVT?ROd|pD+V3&X_7o!gno~?^8R>bWvJVU_35x`xBjQOfqKpja^Q@%)xnRF+ykGF$wi)* zMtR9Y)S5*n@~3182DVq-^Dmpf=?|M9xD8HPv(iN`z{(xV33M{bNzzYK_QI($c#6ol z%8jjLbsb2(3h%^(W7FMc&JEVnnY7dwX6!KeVs7TE8Ng)mts0K9ax^`= znmy$@*X7{FUY~ouwW~-k zp1`N%7Ow%d=JTY>P4~m=T~C^BwSwqIp5f)M#4+>Mx7w9GzGr(lF^wIoyNnmwgkTv< z!_bEex#SEwGDrggVcA8ipsr1f5riQ!0f415P!0&Fz=Qzm6DP;2u$Sf2KRpv0^T5T) z&mI}o{yUX>V+8hzs^244#W9JM%AIy^vUDUJ1G$^YW$ZKg9m!ze9J(nv$1<SC_003v<9Y&W&J)?H z$C+uP1wuvJ4M6szEzXZG^J7i@e~gPts^;P4bm+6dtHV8n&Xf;|vL+F4lw?*8DFLO^ z;I{8s3{hcNbO+v-xb~S}Y1j>ARWlYw5iAXfE!5!sqNEcou1SiT{C&!zcisOe&=WvZ|r`bSZ5u?r_W>LETtrk%k{5QwC#5Soq*W$M`rRfYn7 zLce|@PH|XKQq@*8`8dbF^sP+ARxt+F{X7zbEa*8Psl4m!c_uoy8@P6VmK*+waC3kh zxCcKj8*Cu=i(=@fD0`e2!6TZs);*2U4kcU5%DH4tHT`=kC12F&=(8+Yr}O9zFOPBu zcXCf!oI-*RvB#1U4r2S`pBwZZ0XGO_$y956yOB#B&`0#|Ojw6LPdGexuRNV}ZiS~t zf0KPad@f!J9YN~b(_MRoii`h#GitJ0*NDv;GZ3yxW^Y5A4vtxN;tB;++vz{TCqo;KO>5kGya9iX6*6TRo_@~UXqvt^9T}l%s%Ck`N>>}h<0j1Bcp5JY?XJuS=Fc)!7zB#*#r>%Z2 zIQ$-h7j?|(-djKzY1*Bt-7*-s+rAag?&f+!9D_^N^~16=H#q%_vT&NgYRtotN3|qu zqw*j<+eR41eAK8uY?N|F*JvBXaQHq;siwB0x-A0>Y3Ez_u+2$^iilm=Hm28_U{p9YE!iIm=sOPd9VaNB(sE#{I?xM8KJb z`d9>o7;a4~ZAQYY@3|amn|6ZB5LVo}6gCkaNiBVwo7DTf8Qm=QS>_7*G!tS3dRk9S zLq!!_W)EyWxAW6%XtW+0;{FJUnC$DvwwVl*crjNzF^0Qz5AU-x_4&xPOZ<1Cwkm#F zMA_km=g!nLu_k^1PjdEi_E`wBo=b@Hddf}94Hew>Tf+FEaF1m(!~=SnE0059G8d(F)2f z7NMQO%SD#dV!cj_DlIhga*M0wA#zWUKd4GJDs4D>6KTM`P=hd592qgUc9ZK{uay!) zDW66cAH=pJMvNs%49s&n4llWbX;p=-w8OZ+c%7n%TC2*d)LkxraL|Bfv`F#iHm%d>}?~*FhT`3e>c-s+Rjo>Shk5fJr zMjU1qyrh0ylZ@!kuB+(DJZJ@LVfkLBRRwk{nSpN;D?7N}VGybdh5AAYQDM4SCR{nu zhD)&0Q#VgHe{FG}{2LS5czu;JsBbO8e)Ntd>>-s^mt*`=)~W>(n-9`#CUB%ImijxM z)(WrFr`17^IA}68uDUXn^6Pq=q@uR(k+qvjcpRw7f5JLDBn^DCX;roKz1GDtO7;-i z)d^WOb=ydwVt-*@Vux_^J^RC(H?5Co3G+KwAWYQ;YX$VYs=rZ(HqUby60xJx8nhM`ce{uYVP7i2Tc;y3%Mg`eu2p1Yo4AP23I+hOo>5l2xDFDRMaGU z7zNxLJTx`p<%!eTeATl6+1=Mo57yH)xc&nJ|pdbCX};Uo7Q! zR6!)Jop{JMJKlLW*!6X8XP`L;*NCfFp$_?)SVH@VF6DWUsx-y*GX={lT=TsX?Rr}U zGwY>{;pZ+biR5xkkwhs=QO9&xngORT57+}wxjPC?BJ-F0FJ?~)2lq5*>0ouBjz{io zu?~hA09XzOT>}B+*+v3&SigvVD6mps#i}#>N_1gx*cQ)t_pht*jS(2RP(#j!avtpz zHjI{{1y$@rpvbhz?3#z;JTvcUewwj+1tYQA>Og-xDF}O zSknT^aL#aSzeNJrcnoxO0mVd;LRulzU36qZ=oWj@6vB9&Kl7ezC#M&w3_Y4qVNF(h z*NK{W+*L7oVUy)Gd%*^X!ZZ)ku7==!9$x6RRgbh8k3mly3ou0ka zet(pG1s|NeWq!KLQqS=@YptNf$);p$M#@oVz3q|tq(vo{@e%wXoI2<5QSg>#+sFT< zXpjvdSB&E$C;YdBi!-4bs_pOo>q^^8zi4OdsNls`k-WZ&t*PmtdlxKSAJyU9#qvLD zPwCg5nPy2JKG|Y^80u7G=ym6+{_OD*O!vfnC2BI8%x$ea6jgVyvU86#U0=4_*ttk= znm@Chlzqsvq-ead0HCs$~0?alCq*k%?jUVnCU_o%{Qj&q2Q|?TX%?C5F2|8?Ho|2e_0_x!Eyc z+bUo2GSo5@@!wqg|oReA9VfaqUG;($~?)Txv{5(hBx6$$WWSjYVX&3?b zrs@PP!3)DGv3KYTrKaUmfOlqFTpfFQs8g-7LTZ!T7=cIu!+C)s4oO1E6{xwsCG8~^ z{>5b&9^R|$Q4|sc$aoAIRoaU-xXF<)hxz1vP3P_LhAtn=iNk(&ciX^`C@tn;-<& z5WY~#5HwA;Yx|$*Mz2koh}t}qn<5SSijnV#%(FI{=KNXmv}$ThHm*}{i3(~V4DS^F z2-6zQIsRvUm?@c8C?ratE5~eUelfz0!=thmrlbdeQ9(Uj6E<_SPeclH?3!2GBElVfQCBCbb|zZy zvlAe#{H8REW@m#>(PF#NI_|QE1KAv+3b;n z2aaJ{)}d3Oog1rF;(OBkx)E^su|LE99i!AUj_?YQZjNR6Im2@mQS;Nx1g(y=6x>@n z0Z033Q}Dj*d_aJHrpwiStNJr^g!haBY(hrAPT$-OrzmgiJo@8s zX}Py}Q+%nQb$}eIzci7b6?7E!egY3v(AO)swesKhO`ihv`g7x{!z3HhciSRF6~&qx zi^CtlHYo{sttK}Zn7-G&o!-m% z`wP1FA)4NHU~)a1mlXO~^p)(HsT}X4jIZlh&$@*)?+Fjr%y* z?PuRCih%3AmN*71UqUfc`Qc!r0gT5jpZ)DRuF`H|{%7QZ%Z+`(?=S2PFBMbEUh1=5 zmw@g^@vRguO^I|Y7!FC+Du!p#UAFA1UWMH_t+|sg{w(riX%Atvv;Dweg>Y!hkS{h| zh;ddiLPTid((?FO2dembYhoXFxlP-nG7l6M1A^GK6Zk{qFw~~CrHP_*HU(xe*%^kJ z{Ifev?#kravN=gO<;o*p&fyOx>HR)Ba#`R9JV*>A@zYfKcH6`gxv^}aI-^~=Qk|Yx zew><-_zcihNdEZHRLt*!9`H*SMy4jh8AqVPGG=l^{_BN6u%pYafOsPDawD&e1#lDd zt0pU8I%W#`bqB#W^dq|Hb?%zD;e$zDA}v2=sb3?x8U}pD7_-Ilxy`OP%Z|Co#9vJq~Fk*)DVU z(;|z!T(gNKVEm?gCTLV<1t2?QcotenrKKprITbb z4WO-Vc5>AJ^1KnZ%*L2H`92oZ;LoSZgfjDz$pbS*=m;Xs-$s!DD5I;tEjCJ5tO=P+sp4K)|^P87E7P9#4IA>&SUr@VZ z0k@hy`nlg>68(A3Ss_3mK$t zqzD2A7R<2N1Vd!oFa*SD1D*HxME6|8rGYTR+{7`D>FsQy2}35cL|0-zXF+?OfS8T} zNaJ2Vm(DP^m3Z-*sH-`L{x6YjmmioW?V}@kr-Nuq@$}14<8QoQDRxBPmpBs}MYQXS za@Zpg7>+rkHhq7ho3wOFiczkhM}EZSp}*Md?`QE~z{CT0OcFgaoUP?g_jie&X%sai zn`QrrP-JJf>#Z#9b>)Y(%F7s0uaG}i`}{4TKH<)X%?fhO^3?BjEm~W@r_XTDAeRb- z(;2}d7LO&W;F(ofIsU9i2|Wq(_Q!qR^ARdzHBL@f)mSk|l4@}v46X`Pfh#Bn1T0`e z1*zcDQ=UF#3>W7QaoEHU{C4Rb2no4Lp)Io`Q2K^4RcH@dRF+K@5AN+67`aDVCa_%g{TK_=l{+GjEAhQhBfr8A3r}J%3WTUY zq9L>kukz{-T1=D}LVP-BrQ&psOUeBjMKcx{@Z+_03hpy8!o^Ko=|a1DR2Tt*%~bAk zh3>0_Apum#g88Dln;y+CfmXlR^}eh~cL{2VuFg(^wl5xyU^#YudPYva79`XrD8-~* z%PX^k+82M>nHe@8!V{1fV4oU7@5SS;g-CpdKBM6NBU?;DfU$s`YN4E}Vj8Y|b^&)| zE54-@dMi+S-&*=4Kxu`ad!E1Imb11_CN7PPYOK_xNa69L{b18qhRVr#)JtG;8nq*F z?*QB5#%xhjsk60$xgjY;2jckz-^WFTm#7di$t`P24o7MJU}RXqzV?AJ%}d1pCv)$d ztr*C=X3 zzaT19%^pT2wYh^vXeSz-tgOw6EQ6@#6(S+Dyx8^-f|WVzh{@%jb$X7~G8C% zA!ZgcOYMW+pMd;6B zRk^62oPId1pkojZkc^HCFri0>8jts%dtA86Bf{;uv&pgsE9$o$a=R8mln&@yhpgYc zTIBx{K8FUl@V@OV(u@Zc8w|L!ZH?$}J#c{(9aPt`DK%Rz1VQl5@#=uDK`{IuWDtSd zK>h=_Oy|D?#To~SpLbAR*c^0^Kc=Ffu#vIhfq$(1wv1!Ev3gSlDzw>psQN~oeL8mC z7w!?)ho?0k;qmOi)H>8HhJo}dt2{J{~uQ<=p(yFm=8i+Uu$C2Uw9)YRFYY%|4Sb{kU-fC!T(z>Tz zKa{d;Hkop=aJW4G%KNb6aH3RCcEy+`@SWzcJXub;KjZXcF}l7Wyj+in%=b@c!3ml% zco@Fc?3m^9L54D#(epHW%)0}>U!1ceSLn;GiBqIaUq=Quf8nx>UBV_P>d<_@%yD@e zH?@-9L}CgQA=O{u-~lNHNQ6hCosh$`fqP{=8niEngN7=3Fy;RV5af$9Hh>lA?MBU; z?Cw^m1VFLE!{+K$mCZ}T9;#QOu0Foi4g!&_mgoL5O zsPIVZ8anz{=T@H*#~Y+eiH&nR;#ISfvg3<|tJ;c@aR6STq(D0c0JI)J80-dU)AOJl z5b%Ks6I4j-$Ef6Y<L(WWQC|o*f-J7I5<~loOIMT|Pu*WX@7_d@b639xh?+Z4?JvF*rc_pg9*89^1p?R4BWuo=!9&F~VUW>dI-K zM)czq;x3sSr4*A+Y;@%JHq+Yk2ecnd-x>h+#Qb}r4Z`{-cprP(W2 z5jPIP?t1vytTwAi2aK>vnnrx8{YDKLoHiwa;`ZL_>yi(ZHI3}*xvGtNZ#m!v0We{KtY)~@ce+Q&HHuuxS~I{) zCR;R?2+c871Aj8=-O_E(u% zx9eTEo|j$Yi)BcI@+Yi=dbG3Eb7j&-IZSRTI{1|7E~=t9otIRD^0$I$SJZrc2nW>#YLr}Xayb+vTe z{%_N3rCc>?-2(cDu@aZ@=#_GHrg`D~X-YhJh;v{A36fTm!Vwtoa|&s5{Eitjz4vLk zP4()WG>V_B2vVcy5`&e>l_+I>AoYl|WIBi%^u5y5<^Ap7&tYj%)9Qpadfja1zmKRn zu;&Q7E#mxK#&Uo_bWADtArZzH=F2hRhthc2M$@w%#lpBlJ0JvTgsMpm0K zIlF2FCyguSADnf@v_2ZiO;$avj!tAThzxZZyyF;^jr`K^#nOs|8Ii4qGhH;N|Hn!@ zq2{#XN0eQmc!nEb#9Jy6&Eg>ZwcI#NKOb_s_Tgmso)KreAA81x^z~HZ!(gG)SHj>$ z=9h*+g11esO^u6ouHhf@2sCYOW}zL9vMJuxZca!uAif*<(P*$#jNyUxU3sd5181jq z`zg1i=Ii9*L%qd8t{a+ln0QBp6#F2QZ?m1r&Q1}k`TXzrgX?qtEKD~gwD<*#vSV^m z3Jy0%{lGH*=r+z(_@~Z$`~#6YWwvI+Du-U6AD)OSi?={4X(DfYNNd1s<6NDIw1~E} zY&DsGA8Rh~+)1N12fU)izU`jKI0`@0TLtmYH}-2UZuCwCJ4!#ADn_u-+jBCY8hR`eyRVpM`~MP zAR`kQM4rCAC4$T%OVpJJo?Gbkj_S;?7YNg~nYMe+qs)C(;b z)BR6(w-MJbFsE;nr#A_-;Mu1dGUl{$0`TKxgTZoQ-iWG^1xRj3AExkZN@qn)SJdf( z$T<$|3Q)>u3`dcDr0Tv(_@jKeVeciPd0-*AVPh&kGpf9cm|x(1f=p5!Doz92o-j?8R(1N6S@Vhohh~2c#d#3M(Czuot}{3KJK{trt!(M!~ixX zW=XF}!0)b@jB^+vx~piwNK^J^osoz4&-}b$Vo_e8VhetDGAA1^_4Ry6>ATN|f7tV} zXV!liUR0k1NS;mmwcLR@n>>+?Z619V^7%;jSwP*<==y!*?^HJz3s;Mh3-JPzlBMxt zs~zJNZNH#=Q^a3Zpgxnmy_9qJk$Lh_)X<(WmQcS(&=$BY|33guX%c^gV+dgeS<@iiLBlWjej!g2 z(t!i z4aX$A;nG`GeU{17%qy(($Rv81*iFUw@L` zPFkUmVixjG>qQ(f4lN-X-`;STUA@bfb;Rc92Zh;_qoph}rIuSHybk>qm`be* zQY38Trn=)~&bj7Le6JDj_9_P~FS9Re1ws}-$2eb!a6x9JnB!fscrCC&5RJ=%IsOz= z@W#r^7QXNKF4B;hAvZX^Ma)wl{C>BC;&2SE4tbeuuF4xagfnu&(NB`v^&qxR{lg^W zdv{oAef>b(ZSBmABLr><#`&O%4|UOJ1s}m25n{*0(v22AmP9qsD$2XCn8t6Abja@Z z2&WEn(w#h8o;VX+&-Dkj_XYAFptwFCpXI<^2+11O?2Le~dh-QK)6lW+7Q?;Lyb?gQ zc%mpu3hTf$GqxktKDdYCL%4gAEbW@GvOPjwWgwJ-49`Rvgu(OxfDHyv4hW!$01n7p z?{I%QBbZ<_9isQFl2i46%~;_AI!pcopt;6%0-Ye3K|hv>)a)n}@WVu*uuYaFOHsq} zgoSNNg)L7+i^GUok)PuZhDFXr#~C`nCjBsk4?kJ(+84F!JZ7E|6XdO-1l}M9Dy;Zc z!X`A71QG_o=B7wXwffuPL#p^s!rAAUZ7;1+gg!%(|16m*io@Ls=j5My&W~#UH3-N= zkgAV}N+xRe?fmi{&odH(o*#SKhGC7Gh$>x~4dnupx7a!6#F#g~qlpC=|D;mB!1>6m z%JQ+KO`n5t+yYG%b>i_CWjNeN`{nmP6y%R%h*R@f**6RIYHVg2jJ`2Ux3~tD@57$( z5g=?r<98=%7mgp16ugXhFc@MvEFe7Y3TL@@GSN-zzHg0Z?3tah@#wN`63kiY*A>U| z(SH^l=AQL=O(wv6&=07E5a9T1zaKJRWJ=JP7u(NKWvli_jgT4k;;G~ZbM{bPghMr~ z@&X@f>mP){42*k_oK4>r&j9woxrOXsxf25^E=W6re52gh7&^2jPp36%4H1kce9CVJ zO#bq{%`HNw%?(1AdI8X;Us1<%OLJq>GvjJv{kG4w?9IHTZt~p^7eX0;dSmtdf3y89c2G79by=(6Q>+#P~sQy z?np(Cp4?|W9owv;Sq9FiY|ZDnbamu?y3qSk@n@gw3ii5Q)+&--d^cT=sI}cWMM_g?!Gn%sjk219eA1=ga;y zNJ!^+IoR8`r6nObcnCx6Q_Po-IVetI^~m|AspQ!iMHZaLbo9{N&Fksa zyn8JJX^>##P+G^+)2L+xl&NiOfJV!2EDj!d=AB~VPCxu1(0ZZAjSjP1(7Gt5M+_FK zkT8Nws+Nf}>pSlRAEcYC#fpnA`;=1qi{;z}Jw)Q(0ciN7Z1kzh`KEEWZdR(XR&;_5 z-o+R{Bq6>J46tiI;x#)@!k8sWJ*^0iYMd<+nbx6Lysc2P$ub~{+c2WV(Dc`WzA_#u zFD+-J1Rm9n#wk#AgKM`m5cs8C$JujZ+STS}im6L?n!Ne!VLi}9-ErdGz!GgFvurE! z_&gbYlA3*CNPWoFDH>){mgqJl_?nB={%HzgT^mu%k7}>F=gG@%z=g3mWSWY;K3Lk} z_Gjknebn;XEXN`lWP)J8EySB3=OYM6fe9aEv~FO~I_N>FxRzNCB1mpDR-YltoFwh_dlEcP510v4HqFLrjz^yaiTDU>vlzuFG8 z_s71)8;%R9USi)6G9HcrIQlU&j-u!G*b@Ng6B2*P0N!~U?!!u6APTzmIr?c;9(DVFUoH^ zs*pCMo&PBO}Z!vc8aaK zGi^N2dxLF9r{8U)$|ha=dCQ9GtW=vMlJ=8c{tRe*et-R=u!ciyMo;192x(d-YK4y& zi}_vWcd7oe$@Sf+!nV@6W|=L&Imh&6L00-M6SFR`UYDy@kcch+*|&HA0BrxO7*PL0 z08-3gB)5u!i0u$Kj&ukQwz-TLTeQ)CYWc^r!tLVkx4Fm<4IRuv6=YE|)6g(S4)yCP zaZV#BHgenuij9)q(Bpj&jwm?>I0N_i_% zxhDgn#Ok2!Ml20bvtFPZD8VhlJ}Z_n-4pj%4!LuXHbE_;AvgAY;0hWwbiVkA`U<9n zh7can|LqBQfKWy2ZugH3sUA!NEv|*4q!CZjv%@txYQT&Nd;i_l9OmywaKMfO%A51i zYT>Qs%>cm8zYa?Z;2lDcoVMNO8CWJs^KaAr2fJs-pwSz;{#hIPD=eUMXQBr_fCUlS zz!mETIge$I6>?4P!1nle&sx#!7wk4AD};&WW#i*2wIkEo6I68JyBE>vORS(}8!%X% z-^xVHeYAG)nKSXuu#dI9aJ=Sd4QQi(5(5*6TNPldojX*iAJ3|Lpd@Q%!7u3-L2b#v74JZc$N?>}cwvF5R7O$S_bvem0ABo5_ z3PaJq?#(wo;NY00GG@2Jf@zVsk`uL}+&o-aDGePB*Bl4ScbERP^-^jOpl1yvB{K(*!UOe zmsxvN;a7sWWa!|X0Sfcq22hNhI6Vc1aJZtcIC_~nW@SDW%Y|ohyUQ1vmI{X*xy`>ikE&7OsTnxFd zih3$P2|FIahde``I{J|J+66 zTykC8s`u(^d%Bk)-?DxjcTD~9Tt02wSpD_tcix=QiB|d}`uy9|LGhKNp;WnpjslcH zd!G*$2Vnw?$Ef;UY&X|1WQ)w0Jw_HF)37agGmr)VVBh^8Qvrayx*+QzCgJqSaKa>P za&{q|XuobM82#<^Hre~j2Xd7DA8m>BH?IFF^%bYf^~UMU(%-gpyZl)7`@fcikl*Oy z2>@T%TkRiX8EuEIi8A8vHPqb<>~w`4ls*v^|A`STY!w)hvu~ctyhL@>wxe9p#b4ngm zB{I1@Sbf}Lck%e;Sib0A2v!u+{%er$j%u+Fo8>p~5rB%uC-|AT)EBf~lbhqcZ3 zfk>mk)YS6Mf9ngPZ^yE|`+&!?<3PuxUy|hq0Duwzj+E5V)Wp%y_3Z?)-S*qx8-Zhv+h0yvAbsmp%8c*x zH)Ql7(dUM0f1hU@$}_H(Xq$B;QDWc)?h$xO5$@`10Ir z4XyZ`%#8dE9W9ki{hbW`7%|YjXeG71NW)M6ovx!HcRT)0o{|1SN{&HBRWLO>MN20>-GAjuwzm3?FqSiS z2_8OO2N5yt78lnMTkuK61ugVD1Re{Qzg+hgQ*Kw493tY%gHRiw4pSuyRQk`UZ*`~z zR=WLfZ9oGHIY^S&&N)cy1I=OH20vW@P!RTOV?Th$tN#PHOx@@nB!59*tb?s6dg{_m zgGIJpjUh;BE~!;T8uW;6DZ|CaxM>Prv20~$2R5Xn?J8Vsy06=>(4p~;LSrSqu&X&(PR0;GSR2R^g? zZ)11|yiEy`S4*lnTXW2e<|;ZWxVL8FyJ!)C{r~MzU=~acm_UOtF*&K4siPC{^g0je zdnRrsRt8ewd3I7YOIuPdCg55H5bPa67_a~w+W-9o0v+q10=;SI>CTS#f(>0DLmn07 zPlsEcsJH4H_h00e$tc%j)hmekRqqmO_9_0zuqz1lqlN~vFN*izrZ3No4=Ci6 z49*Xyx!)TE7oD{D_q;d?@}cnM~TX!6e)4iUbTVWW>HMk1%F+o_#J7BdCiaaHado7vWj9x)9R?t*; z2+8lJ5SY;sw4LOXPvG^flY84Y;2`x@N1%~z_x-Ic6OdAa#8P;du4o!A*_$Z;@&SoTDKK69bFB(&-KxUCJQ}DQ_~PtnM@p{4C!+L`{Ouu!f8-BzlI;BZ zBfveZ023M_;1XIooCI}=a@1bI-10~=D?&nBk-6lnnT1~6M-k$!-3 zKwtqTT2PV1KbL>HRzzZ)h}m};T`X1fYW4>5{ReKDK?-Bi5UiL{EBE0m`B`|S&iZtB zxd=G^p5cicS zpzh#=%f=A{(=2NzBC)VzFUm#1wxM>E@Kd0AnVPCqbdaSeyvL&5&6yqVz0^+ zScXK#G|l(#f9*?|+x3qe<1ALB;r1B|}dpDISYW3=}+4~C?H zYKChit)^siiJK$w*IEv88(MD=*ey42%_($PrmC8(FzTTcaKKq zA+j(ud?r6c-NM11rKNN{cvoUcCGsBS%dg0)30z(auAdwe;)#`{+cl^#Yq$@-PGgOd zTLoQF0bWV%oE#0_qoEFQQD^4%-sSzXv;wMz@L{W- zB4b0En80 z4R6sP*D5;o1kU02lA!U*?Z<83zgG*PDQAyPYW-QG6!$2WG)5qV*^?BHm=sILkCAN} zOCAox&1J})7HvK=EEH@A$<=dqa=cJ`C<5_Sz#o@gK6WMcr&PMW?w07BC=?o=`{iN~ z|7Bh~mz;9^;sn&qX0^C+AwJJ0Ut^G7sy#2c6h?I`)id}Z2eB<4qxh)WaZ7}A z-ZiPOyEwLWdZAfeG;nD_*_5zw9+?t5DL;F+n}FacoEq}ACEEvy~j zr^O^#CH(3iZ?LmYxtSs*>g-XOB0+mX%%M4DTWAP;fRwV0T= zApi3GC6vI=8OmYch5Y|te?|U39oAcq`Tyv({t3SR0X!G8Lc$m}oA8v)MN;(Ee?!4ZP3Yuq7)XenmGCZHE0-XHk4zi$?r zHidLeCZkM}txubnI%F8{@P$Fq1D=xI@(hJRgGBKs4Mo`y(OBajn}F=tITtA}eSIyT z0eBkw^1}fZL^5OTOsaz2m_M}ecIW@(jzj3kA%p~Qy?O`{lDCB!8hl5+y>Q4@jy5Vg z8km8tObIqd=gcCh|M=~&lL)cCp}dw%SxPKUvfnqNT(ScNqf&)%vFCN%(n_|QH7&YF-Mv41r2$pYBOuOBMn;46WWE;8C>ELhYIw2@}INd?aq+H z>JQtb?AnvMI|VR7W^Y&nc?r}n*0>)qKx#|G9=jC1=hC$A?9l;K3;ImajS z1CE#B_eY^#v)zUE0%S%X^)}YBD5}$uZ}*XpAhtJ1q-ld@Kw5Tv`xFH%1Ebc!{8c^& zkTQS_q*zYI%K}=A@e$1)OCDYQ5zh4F|1e$9mv`uA6NAv#vF>jB4^`~Ut(0s6pA_>J zM=99&DPTfnz{CGIAxN{scPCP(_zOFj>PZ;|2|LPL8KK2y{QG&1j5R68AT^-?%OJ-H zjaQTl^pfXRli*-L8x>;H&|nu@QECav&MGRzC@w(0Q`ndOA>+3+IS@2YRV^lVFNUv? z>1)KMk>v01otd2+{t*X4WI%|t3*ss}-Cx+zNFEvcJ66eF;b9NoaJRw$Sbw=7(R+CK zR1bq{1A|l(_0Vi#10k<0Q@ok`#cwrGJ)QqzV5EfHOi$in#Fx|zP57{c#$ZM(73f>t*DU?c0ODv`(KLFzkggGZ9 zhxLc`M~K+~>z5i-6C=|t^mC0n_nPFpL>J~h0isiM_*{5ToQdOvn`O3!pgXE_$%0wCie8v#FI21TAy3!?z%9gv4U2XOZm7DTK}Si$F` z`c4w&KK*#t3i_P}M2VF;TZ#ZXi%r%m-KQ=TZiYw-*aO%eWIP20mJQ+c;c1zVqj&`v zpGu^L5Ex7zHG_22#|6wq2pR%#-FXV7Vjh#>(1Jc0T|f6DQ;?!>q-{b8QA4~#R zbl@ub8+-ubx1yUG-m^sXNW1jgQoFJu6r+mL^i==lc_V*|ZlGXk3<%Ji^>ssvHO$S8 zO)Gv|?n+4^(boa4fu*Hl0Hd}6C*6g)#l^X)>Hmwjw_uCwcN#!(_u}sE?rz21-QC?? zio3hExEG3Rad(QlQ;Ji#yZrlm@BIXKo+mTe-Pv=JImyW+GnwcrseCPhLZ|skFTDte zW5+Fk9K{57m%U$_PF^t?fW@hb%&d=SDsbSq_rmWh)aP4WcUyMe{DfqCV&byYjqXqybxnfZzTP z09tqYB+v{wk^!C}IK-}GLPiw=4;_Q~wM<01S+sa}0nPs0-DK1t=Z;rCMi?JOih36e zYmn?3EtlsS8{oTUVX^#VmrM#;Qq3hXX$YI9J*KnzmXgG0dHj*@aJZ@@Ib}mUvdts zC^?j(J4SnJye=bouWNRL1-OnXvN&KqC7Oyd8CRa7lqC{BKC$$ddR2Y?}=5S zD^|!RG`ZbdN71?!35P8><4Ood?gZb3WHc)5Kvg1^nRR{TR_}BVZf=xgau*aZzZ_CB ziL>ok&AOW4oMlqkGeE6{=F+jrwj=p8obP@?^Uvu8pZsATh6Py$r+98;3!+6wEsn-9 zvLx)ZN5i|%jxH)$3nV3KY+md3gnrW@Q|I{`z$Y}&%fvnE5TkJ>Q&Z&#->I#1n z)D@=q!aDm?{gGilIFB~FsW5?!N6!)Rn z_Sy44Z-tjV*E!UsSt05nEw@Q9@@5O$%rU6jk&dzcuY)UP8SfB%e#l-kpG;$k#}lf_ z)T8t&4`i+rJ(ExCvAI11uw5@D;g8=CY|IS61HU-q!%R~u&z@ADaATNhTVc%pK$LK_ zx5I~906&wKW#l*PNTZ1jSI^rsd|U@-F!L&44C%7VL7rB^IH$bZ9l;t75VSaFO{bS{ zN6;*q?W04%O|H6pCa_X_$knQ2?1_%)ADb9k%U$GIj$-*5&%DahR=~;Z(y&9)P>NHw z-rJaU$$Q7qF%X+i$8vS!5HnS^*Fk3~s*=Mp4k0;SOCL&}0z3GQgfm=j^$FY46w*?- zcoco_Nz+9tt;B>es9J8g5DT>|cSrFPYbR+On%CNx{DU z(%*Q7Uvz-n{{g^hB(XsTf(0eQ)Yr(IAy)ajJ~x&fRxPhWeFKUv&+g?QqFpjYj{X%2 zgFk3ZbN!s>jenSJp4}JK?~+d2kwSr#Tja*)PLog#IFU*t%vE9SeQ2?F+YHTVU67y> zNBFqN%Xz8C!dZ#hzZQ;D&lq_fks7dXyyi2dlW!iOo3Wuld*u zmMM{A?8UhQiR~8qw!&MM8c_e-*DsBryn%-Y*PSAXzeVhu5%e3K{RUfL* zgvxEqIbMci+1);rGAG51=PfFSqLwGWli5_u^1*|$Jk?it|K#{?(6^>q0-&^l{x`Bk z0HoaiPkI6X$_|vWP>Pz)NQ|5{O=*a3+}Anu&L|A|e>@+=D_0_(1rCe_5GizX?vr2Z zGI&&}HVVV}+zJjC8B`;i>_(8bKv>0Zy$E~yO(sG=FYzj5hM6jR9S{v?n0(`_ScOQI z-{@*a-q;-N=q7#96noSwN8XHW#QF0cPhggl$9aVb&qiUe%OU!07T{Eb(e7qXXBA&l zCd)}WI_b8uMTFD~Xk&my2?oycKtKV`MR#Dp8~_9Xi33;*2n3&G^gG_n=XbyUg&ODk zrK6>@4~~BbU|mlX0q(MrnBBKYZ*_)nV8cW`A$Q4Df@SPQ zi=S0Rn=2+&ADXM)e0XOoXm}A@LYB1?b1leV57POy;HtV~Z$O*{2`9@6;&hBB6(sOU zQu|9#=zX?AZE{Pct72_cor=nOkb_+F|9LZ)JJ6uLu z3c;=qyZ86~ywM{bQ$wOyf?N?SdW$#;Dlb+B<2C=!?P1k}*`mmGWxmmY9*i?$b)hUP zo!7_WHJ3Arvf1oYBu{6w!#S&huWfVkj@-LW5`||0~m4?WZ;Mk ztG55M+^A*ODkUdrfti&9EZv6`hvl@X`*izQrH3@BRG4)82N~4lWnesCheo3zztZ^V zfsjjL0ezG}LO%3R5P<4-C;IP3!T`zzER1)$;_1Y%MnT?MBS{PoSGpouj{mgOf2{HV zy+a;YK!*QYmo;}aHFh$mHs-Z(peH6J)^pQypcT^fH6o`VqtYYwBjG2d`B)$gIsCW= zK&8F=PpuUJe8UaAaiWU%ObC9g+N5>euCf|sNCd6w^1nNN5U*VMcov6#VHAnT2$QRz zKL_Gb)b(HH#T%U>=Oi3Ram9BA!SjDs&t9Vaq)4Wu+EL04ZHYq}%6RL{dSVmr;ws+6 zLPaE z0YF7k`B0HI^HBmI6hhTUJ)F5hO3FftIWYu?i^+FY=If)WZs2^E0ghVVb_u?N9E|y1 z)8c!<)lRHA@BFN(BJe&s%E@vZjwQfdf_)(j5gKvQfomB8)1$$Mp>76`A<|K^h3EoR zLqcrF+c_>0*6BTytn3$K&q9=d@MjGY#nt00q0mW$n=%hCVY4n=g8coX5_ao1LVw&6 z+0>IvCQ5t(a!1c5I`jRhClfTXGDeO@P2K`+Av^d2^t0pFwnxYKz8%LSc!0}M{c7o1 zAc>iK`7gg|_o4~{j8jen*qF~CMl&tqtF3^zt+oWiq_^GZ#Z~-=QW+)ufjLx9F|Wgi z{0X1)6MaH6G&fz{u*>@LS@*9W#Gj)3pu%Isro^@v=G{8I+H)1l_g1}be9}e3Y0EoW zoX%JS(#b!IOO%8~{5}cV2R)lQA{a&X@q-ZMzMkwGeOEe<_DUvfGpwbsW5`~yxGhh1 zpw(NQ4zba#=Iq40a&AYC_gqy_`@B4#Q4s5&r%ZJ3U?rF!vaT@|+T>~OS7)hEW0iW1l8l^>t?3Fm#F<;e-n1@u}rr%H|DY5 zK#KKQs(}wUycCGRi$Fl041qZSNB|Nquwg*9ZG|1zO=?dXG|y>QQ@>Nxk86E!{6m1T zU41ehPXgsqI`2UC!nO~q-O`Blq0 zsV2exs=1?98bh2CpL_f1tZ8TxqjAJC@b+7Y$AI@dLfn&h4|rLQd-z5TBS($Z!4G$P zM;irz3p+4>vxbK!gK#c|qq`Gd8A@)%)84-krB7!C+l2YCkGc&A^}oXrz&=W&Qm8Rv z&y&G>Z0BlhhTSI!Y8c8W@##?x8=h^k1KndI?FdwZ>bo4H1gdH=%xmtkL6?D7D7bkG z?YyW47M>=rWtdd?1}cIW;jVU%Kh}t6H%#5;$PJF^6~9gf-jp#X25g!y6w9A!A;Q3b zii9y&db@&v(B2eA&A7uIw?NG4b^aQ+6<=BNwlFpl^BQ$kO&W6rbBWO?8roq>8caYO z$k18x8<54I6Iz1n9DeZ-o?1Bb>Ir^Nl8ugolc27ogheawtPXkpSf88}$G_iQ8HO@g z)%8iDL_pGBxbuGM$A(kGRlogB8!{CtB+XlVKy^2=v2V-rjcGd9PSO?N92W($rG=^qA~sap@~el{6K^>V4l? z;+!$!#*hVyYNWi{35$a$Yk%c3Ucb5PC_Y2$3OC$&%vo@ewU)y`YUKm=l6+QqX0S-13^$8D#gqR*9GEn9B?%j zFuk52+gPdxg*URt#Suq{KOL_=@q0vD&Vlbq4MN@5w?ctN=XGq^f8n1|0zSHSG_X5^ zfaC%?c>BM8D+!={zz$xltw-XiX7D$oFnns2NCk@i9^T;}&j<0!wU6UN>K8^3*FQop zp|*E{p{_hW4k9ID(oU_OttEq~DBTg{h9%HyG_xMQLd8g`^g^BG7~!XA^(SE55P?K2 zae&I7UKl5+iERsBlnv4({NxvOj}T2D6(zQx9*UG;7Y?e*n%u&f;;MmDwnt0mb7iM! zVeg9Hv%1;Hh7|F#NKPKzQTzsnm89JzmZ&7iGxmE($DGJs25^==0HSw3ia83X+xtfj zV0r~meqi0~aH`@C1lkN>uQ0v^J2N_mA|WpRyf)l@PgT=5Sq%#k%v=d@gwM2%a|zqZ61?> zO+=NP!&ulk_sTnD8ksgu*cpEpy&W>m=Zr2f*u5|I78&_>4xLQ_D0UNZtgy2ZYm73u zQo=hkJL*v_mrQMpOTmZ=RBnJxl4AAd<%>D2@^8-)ZoWx=c&u^JL*kPa>w66z5?Ri7 zMVPz449z2V?}CyaM&B>x2yI^-5$6;ifwlSaq1%B1bnoX62Y=^zLWb>}Lkm*o0^Y14*29-f!Y09jp?k)1LT-CYhP_}08S*;Uw>lE@!N~PN> zS}Z~)eb*wJ0^H@}de(ZcHYGyDP+dJ1=3)XdyD|rti6#i)66i?x62QbPeUTQ!Pi>{0 zG4=jN)kG(&V60{PT6Q%>ain455p0MgvnO_27ra%B%v*8;hS-DCC#_n){X)2DL? zFX<@60o2^7Pont+Fy2q(VV%eZ9H+ZltHlT&>j{tkBSwhLXm1fv@^*B_x2c4`zgU2d z(S`nMXDpl1Pqc8F2Ag88-DzW?ZUi;HW%0*;(Q)I^-VX35-?s-WnY@iL$eMyNUlfRC zzZ(8jwnM(lOs6n3Zd|21Q~^^RT-!wZ`tIcpjG zs0njlJ~;j%z{siA=K$DadncnutqDO@`c-{J{2Yn_Ke4zKOkD@I$iU|qQsjVguePs& zY~+NqjQH{u)G6qGOw;*b7>ijU-7dzb5+#YACxz>(>n3(!#VDtt&vtl)0O`jut+_lL za>{54s`QzWCdM^)RyDK78E;J;#A`1Jzakw9)U`A^;P`WD*f_vo84K+w60>H;mMF9L zy`HDPSy0fSl$D1!lTHX+NG!2siH<;@hT4L{ti@FtzuhI%`z#w3y%?fqllZ)(^_Ja> z$Nc=BgEgQ@7K(Y87oqpA#XdRw!_PuHkm?0V_vf1Ku~HPyk^?_ZUf6Ml zndWZHs%OQqcE1u0-;8&I4KG>zG9e1pIkxDSAsA32Fh&Z&CsN|+pZCyKuBBB@r^XjK zWMlus(u|UNQcp0qTFzw3NP8N?3T-6Io+>%B{odDFHDXUv^cNOmYNZ08TjeL#5P-xH z;%l_r*Q2uYcU1aTM9f&@V%=!sqjAe2hbyezNC(y3U~6y{iZZ0k?d%u;HV_QHT?jIW zog4DrW2QvM>MYUGo4%L3NE|v@#79V-+s39ZI3L|&nN}!jz2qisvEf?W;|I+b)|eRsZ>*HQ3b93_dq;pi(8*%Fys0X-S+n-!Jr@)4Rbs8J z7aTbfeQIl}tRKcJ(^&y4%~#z>SYvav{;IOyAt68`ym0jdO^iCibAN~H0?Wq$*wW&G z6Cn`LVi1tOCcqp3WC2MC*hFoZ2AJnbYM@mV1)$H3t?|@44BkFC{vp6*TxHf~K^Q%6 zSNE+Dx&K5o2V%ZgMg&`_@5@}Ihe&CN&RA*tD#7RkJzL76V6)+DMu05QD@sql&^2WP zo&IcZ-o}RSw16uTs>zvFR1K48)X1mYWaKsN=!%0sg~EIM3N3w2fKYM`FIEUFIUoaJ za?c1WBRit2Jd06C#yj1`r`ZwwqG}EBGnjS5A?gVW_rSV?vD zp~PD%W-CcGci~^AESHX83-Qh;Xjlhip5#8C!I%1WYH{hPGnD;B*{1Q>B>meQnC=q1 zCLH^Um3S(@lJY*l|8;Hk-sRK11ER0eky~X`I_1u-fkpqWqk+>#!(-K5r}FrO>hao7 zJ&|tb%}TH1iN-QQcl1#+x^@-&b~R^ZqluQ9ll8xm-)Ot73R`JPmJd5A_}bCOQ1DB$ys7>Gr}gxa-0 zD9QWl5ALTYf)6>3qG?E{LLZDnZ~`+J!yJ2mhu~4pF3jp3%#CN#+>??~GESm5hCrkI@&--8}OMFgNkT@ zf*9a!h;`F+JO|(X5f+Q|S&mAey6qO!nI2WLqM{t-1aK4Ipy5mHP#d>~v_O&176JK= zCI%+Fv!gfz$Nsazop8U7oeD#5$7$G~>+w(&CAikum>7um{TmS?u@OP02vz<7Wtl_; z#Nh6L!53(_0s?SxP6YT2d^ZOdCgCB%Cy47}zo_m$N{!B=e{lRmfVs8CbPT!_dI0pK zF%pjqaaAXVo5kk}W%5Y&H_Qz3!RqQN7+P6-&pSEe_u?Nuo{|!nU=}4Lk>UbTq{kux zQOcn#`^Y~9qNtBoa~cf<$PL{e>?{bRxKLI@5-wH)?z*mg>pH$g2?j{Av&)KeEj8kp zCedlv(`}^h<0LiY$P|@X-ehE}4=Yz|@AD#sYt+JoARR?pf@zK9QlKGwtI)NxQ>$cA zIH!JIqD|#rG*)~jMQ)z_1n7=wt=v*kY}rJ7OE~IDRP)X_!}Bf~Ny-iF&e&gmHra}w zd885RcR#0kdJ(cNo2N#yhBsI8;8ZG|@Qy@lIGZhZBvG)K?DX2-LH`b*_WqRgg_S`f zDe&EAoBem)jtxH4DT&2m76E3wvn|Q*ZO(024AW;F*ysA(6d5KAwt=YZF1U?>oXLqX zOB~9MdEo=43RFSo5O5rZ*Nu*FHk?O~0?~n6tZQt3u?g1SsfKiq5m>0CmkZoRseTtn zNw#*#u1#&vz9x!md=iuw7AT7HV;%#lUx&KkN{1RRpxQ0d!=mkV^-8%qw**MDUvN72 zhV!Q8qr{TfSuNEdajVsb@WO*lq6v6u`K0J;ZHq!W!u!)`!c>*vE6BN8UIQ>tLjAAi z)Wm)#rxn0P2UvA79az?(PpoFVblU`` zM5?md(|6{CT%g+a&M_k~84!1{gCPoa)%MAqw0Z~EnWuMxMUxZEGNY|vSqKEoiu+%=XdvgX13ptQscD1J|j;yW+VA zRZD5rY{2n2Q6<30IinEkZL7xOMxrH5q~hn(A=?T!LNV~-2ShTP4@Pp5_#L|+EW)t) zVOYFSMg4}4x3IY^#Ng1zYlW%JgPMu2@*>A?r`ohK%#8EO;;g|}du3`y6KbkqZC53I z(Ru}bPq1QY^1<3vP!E~XT&TwIwX<+I$mdB4ZDzs!Y`Onk?=lNh4_Yw4+r;SSde4IW>n%fAl4$E zVP-V|%RNzCn6c^mMI zJp?4}fAhB-YWku{J%@L6&}`% z*XA?~#qr0aN-E;)m#Ev?SJImVwq5Wcbfr*goQcQQ?_-jT1CXqT0K6)9+r<@N@cBI%7CqdHEvJifO{A2Rn@M-!O!gV}7%8rdS` zdT5*U5Rgmf>n#P;p@O*(lmdG!n?*YJ_^w z#q~OGE+OQA1N;90z}q{%0eI%1#MVaLcQb1+eLXg60to27IS=Q#m2MN_;kiK-)SlkD zKZ+CEdB_j=q)k+;mZZ-h9zmu|zI>4392z)tynFZ#7OCfZW<2OWy`#^4aopH=@#sF) zxhyp~f9r)O<&WrN1jC(+_%o#6sW>eZj2Kco=HY46s;-@JQKV3a0_T`kMQ(=0E&JK9 zc$~$278$RHksMgW44~@(AV4{wX8*Hlfq*CjK1%>=2Ko~X!FT9(#uYOezVx^`d!^2< z;e-4C5GBB`o$^106(j?=Tmb?CxX$zJKNjE|R}y%w*!XSZJ!$EF!xT$aHYU82pAI=@ z|9CzKP)dsMfZYm%1)4=2(0#-Zkd!#m+wHnxSU34kgNP5vmoj(yFU&QIy?h94S0gBp zSjF24;#Dvh$Qo8@dx@pmu^PygVS_B6#fn#RtOD+bEWL1Ss0V;G_-bum6>Wtvv13Zx7xeI9Fy9>GOUHgOkv1*XI;rp*4GKlrk z76v-qlvtP)?a`39FrWmGcQ%k^`>z`tgPrIUkaXd!RgHuA0+m7WAu69O9B8FGzn4-Y z4n`b9Htf#-j&b=U>sF{EESe41a;n9^(CYGW(BciiNvH;9)Dse}gu7oU1s+6ANGb?e zs?2a8hRp&*9s32$0YC$gq=6Nhm234Mx9o0d2M7iU``el_FGr_h^T5T~`H+4X@U2?eGqq+=GhxW*|o&=T~mLxv$R9q>V^a1?-+| z@1Ic!)o{jAr3FNN$f$n#SWi%vf>{^LXJ6kR@CMu8s3SQo{a2B*3G((TnUPqx8NjE= zh5ojpR0Ju?vGm`@)e|8{G42Mb0(P1+80vXAZ7--|o8wpJfY+WuUc8D!y~?aqlp{!Y zFb)w&Oa_z=MENl(p+}~U)_!fUz1JJSQBUA3{f3QO>XQ-%c@k?^lsT8Tr92sc zfJ=a5Ss69Lh`o02SAhG)M|tI9Xv|ze4W%l|Yzh^!u}X`nqC5P?a>hW08To5mD;bkU zc4r}mq&|+Xv9R&@Pf+j-S3UC(?X0LIl>5l$-q#5-5uUg!@JO#(W%F7A|mK7+Wf($uQa9j)#toYm)sr~%)Ro?Qt0z{ zg^}P~==E&+s_S7pFLb&4@7qJ*T^m=RbNzc)=-(IUmpY=(`@7J;TyMY6BCiCz;Q4!0 zMED{3k=pW?QkiOs-)q zT2VOaZ&n_ca<*IJ-kdQ+nb<-!DaJ!d&>w2DaMYp6z>BeigS01%4iD>--QO)#Dw_~P zUHdJ3f|7ni*Xgn=qf1$`U3h~ok=fnJvx$RUKjC-N?aS7q-Yg=^+2swl9#2#ATeW8J zkEbRrq^#9E7{Rv|XEi)Ya`eX5z zBrZl@-d5#K?tU3?S<;CM7?GiI6n^la;|NOvsr&RM3V(X7<>k79%_y$ry1nV9boIt~ zWqDC{d5uVG%fp6jMs25I%nE0S`sFo(YmhGrBeZ1-xHP{WOubHL5s*!vP!73v;{@!> z@hnMTuJ{Cw97sQ*u6#pKOHCBiSZEJGCs7tP!PHzAgOenQv#*cpH)p$|83^JTbeZ}( z&*pc{38JmB8dPo3!+w|`YS$U!Pw4N{GpSs_YIqg<(np+ciA*r;Ip zlHiRgm`%E!Kr0#d!)g=?|4w}RG;uG-^C_y2P1A&8WfYZHmXQCOhectG=$tlw|76gK z0{Erx{6t#aBKO$XXJrk_B82S-$XlXDrwy6r*w42%FG?E-vS{@MkIikCxdULmG=pSgjgS}%)?i+Heeaykv_HdbN=>e zmnslzw;Q@qvmoqzlo}gMsK)pe38GuM^Z=e|db)-u#Vw7)M^R~i*yl!Bj$?z`=f^z+ zjN3^>(-!t`1K z0dXaZpl*I@E^|nKq;Q{PM{W_@=|I3!IvGv9YCi7r#VCTiIo6#>gPFYXEJN{|m`8x_ z#h>Cv>s49pm2wIfaYgXfIsCpOxi}F@<>MKT$nBKsG@F4&xX{<$^ifswxFz^i^FZ(c z7w+UyS|S~eBEjxX_d%a*R7oz*<=FwTpOe8^jp@zD*k3FD6p=EQji(}KNLhzoX$%>6 zmLF-|ZO|o!j5tvRclDG+ipwfk5J2TKAk? zF8yodF`-5+mQ{H9`bv(W{}|Ltvx1dqJhQ0k(-?v3ca*@#IFvxW5MRIB_sff;zwa+G6p$BwW=}3z)Q}|}J$Tqi8TVM`gUKt>3DN#~1~Iq) zxkEW4wY!+TB{Z$Cl}E8EV?Z(4B3hL%9t}lQyK4Y?I?U03N4hw;%b18GImtm%iM{Ac zwbVJh^?lPQBPXj8v#{UMkZQWj?}1%oNsIpa@Sk|Jy1)COA>+~z3Ew~AFyAK7VSg|F;(JoEY5k2IL^w@Y@?s5MZ4|dY+nY+R zzANWj(@xCjBw_`~f7ln|iU{byLy1bqD&sMryd{OQpI!$D>bp;mKZ zKwTB3hR*n>(|r)Y7zNsl0 z;^z3Fl1k|3m6ER}3f{Mz+RJbGs3yM|2lr)RoI7I#Ex1{1=dMXeAjQ9lE+`Qf>_Qbq z+{kA%=F&0N)>^7NDR?7dv15>tV44nx{JjsB(T*vzPMPENEmY&l<3u!nLhs4r$p4XR z9+1Fdxr*(_%WK}?zv1Bh`X}D6BUzhg|)ZZgZqevbfb$4L=8L^C_i;hNC|NUIDIVLmjFF1fe~Cmp`iXr z4(NL!1C%a0%pzO?^1E_htz#vrk3UmYB_z>5o)7X7TFC}o1Z8;rtXsr|7Bd_o-Ga#g zs?!VRhL{j6WDv!tqRNw(Z@$ap!E6N|(r}1NiKy4}I&t}@cKx@bgdZZ}cox_;2;;VsN5rSo!tJ z@Gw{k>{oaFSjRbIhm!ejZTf}mXUpW5;?yKrX)p6(%}qI_1#s)L68R;*8A3Adf_vN#sMIvj-|w|Kjj2h|Mv!!41a)`~=Y zw=5AhRrr?n<6U|sukD|!y3fILHfS=i`F4p0eBUw2NfD#mlZNulogG`{VtyYaQu;QK z-|$kmQKsBN%NdN}#Jw3r?Nx|I-45KOc$Ze&iIs{R^hc6ynY#}!w_L6C%yA(y2-8PB zo#)oJkrqrUlAI>|xwcj)n@u`_jH?Nmnv=&cFR9}}O3mevVr1uuB+^m0%!qMbp?r); zttzIZV;xrUNLu{dnwK$nO^nqO{CAoDaU7YXJ6}l*i#hiJMU@zl3e}cOR-($ey)#*? zOSRQUXsVFp{^z=CzYzX>3+3w(k6yf3(6YhaV$TKfIGGr=glF!?!<$$2&&{#Sgl(??uOmF>m$Q z8;nrMvqi^$OuMMK5~OU9*EM&c=#=|BBAJ}V|Hs7WY`ct9b*fY#TJG0!m>s*!Y`3pQ zh@94+=c2z_EzCKoEdanR4ajM2r)sdoB5i84B*(*MngTL1odJ^6>BXxfNsmwQbJPhK~Nk%>if z`l^wT=Ry3i3H^|T#uAo$B0Ns*^p7SZs>_{G)|(_=pL4^J{Ii;*UU#Gfrb-H>zKxb<;ep&nep z1zj=G%fQgvzq9KC)AJyfi!ol*r%mcFB*OJjIojq@3RV95G4pJgjm~WRnD(4GZZ`|L z0bFr?#okcv)aqdC1@)AnhfeG5i7T{S(DUH_(q3q(^6#SdTQYlyz3 z&3@1NJJhfr{kyn$fHyu$t{F1?Y%ubh@%?)w0f;M@QTa@UfMtG&M<_@vN?9dsv(%o- zk-INtbEZlP+{sv$6MM57##gkA)KQ(RFZkx+%P!bNb?d5^yX4Uzuav4`kX%d?zB9KX zAouUu>GRVajFtgEt3w_TK8kZq)77d}n+8Ei-c4P>=aS zM+nNOZG27atcE17vYsIYDo9yak_S`SmwQ14D}% zPc}?at+bESN`d=sj2u^{3IFKVALjV};I0SmAwc`^GQxT$*5IL9`Ww9tjLi znYx^nsHhr^#G}&hq9NbQsD>jVW{@17qJ1sc`(esiRjZhVWaSLqh$Tpk%r#mWA>GXMA$|?`%Y;@Ymo6ID_QxqbCEjbj`sG zQZN>BAVg~X9FEnR(K4dNzheniwau9^4y2_|^B>SN#1KTtTbs%2%<$OVW!bI9SkgD_8v6~cNJ%t3I&kA#!h6`n*{?ZE&SCgkJG-^4LR!c)1YJLw zfL805KPxTnHqR;F=GWGe4opXjPN;{_N<+AUd&_=zy%2`oIY(}H?c-3n8o}Kc{;*Z$ z!gg>{yOpIc!>uuuUrw&*poo=#jZ-*%=#XA^l;gZa;X9kboKV8+@T?>=C_FLzUA+`m zqdrVZB7dxJd0rzCNHha-I8Vm-grfd4dK8vvb~%&MczA@nFhN4(b*K0G+!y+GL{Pw+ zfQI36r34G(UmGk#)A(7Y-?)iY1 zeNOkbWu)E|1L!qj=J3SqFi1=8-A_q$DA@)-Zr~@Q0$+JdvGl?0>hQ4nnbcg37>~)k zZWz3YUYSM{wjBJZ!pRcfpty;KQF_5*-c*n8jHKwaVdX zix2M~HKHvg@Og1uygw_LT4CgovUZ^QuFvMllk5PcBmPGq->2ps#5!Q}!w6B+^wIYN z051&Xj~rm1Du5~gUl?aL+%0$&Z=w$j6gi^P8a?3C0{>gA|HtT+%MsHDH$aRc{-E_6 zR^WmGZb<0Z@eeKD4_spo6FG;X9)nM7!NEI|2)!(Q=HJQSxKcB53b4NeoRTdTzf|)TXDKR!JHZ}_297UHsS(8OU=yhd@aIc#CEG;j{+*UON z1g%DM|M#ogz>$^1*arC#Y(7V*Z=sFs;jOvIXLsv*N#dT46qsB~jB!rmCeGhG-Hw?l zjG1Mz*K2p*zDTr!d;?XE2U8>JEg3mky|__~WV)&(>aS6Fn!Y0T z8?~H?nR%M(2ui&)h$RjMd*n+vLbAr4i0?&}&=i(p+eQX|ZcxpS1C{fL(JU7g?itZ=bm8ncMZW#;Z8%L=vO#+E+(cQb0*G=}w?>AQ2ZqN|M zAZnl}>bQUyv<@(_{n-8n_y9EjDgmXqLt{3at4GWBIqh3xky4A0-_`Yh0}Jp^0B6dU z)c+k6g=iA&1KP?6lO%1Aq@@wxecWU5j|SM zBt9=8OHOyQ|L|Hs^@%NlDt0H8#p9^L$IPtsjNj^RZuR^tRSWb=0>2Y4DJT_sDYmYP zESbbHt`|EZA^e1;Oy;cCX>YA^H`8#k@0jJ!yB$NJ)9m# zS7vXhRb;H{rgFrJz&97bLhm^oRrt$uXUf-Jg8U%MRmC5RUjx~N8EJZC%9|L8vQv55 zZBV{WS!Df6vtMonGs`JLpu_AURe?;@w6^Z~6hw79S*x`ny{`)*-FVou1^0(VAKe&S zm_}Rl9Ivpda|{kW`TaCl0bM?|_p|z^^km3>B#=Lve@}x&P``c?_ON<2M5a#&r44$D zRwhiu0}TM-g1-ECWc45Whrm_<{RTK!0s_$XsQmG`!-;5QX6w!IBy3|z;|)=-f{cKE zwf_fzPNOF82-rQ0sQC_EYOU50zou0Rok$Oc#t}Egkt? z&CzXpR&JTyJ@SBzL80VFX73vo96yEKhtK#_p(*5Vg&1&}n9Qy9&o-z_R@7R(@|hg8 zTo%2EqFSbc8|<_&xzDK*JMO5&5}DaLps7W}9$&#Zn~RZ{kvv0<*4qZ`ufZcj&ezav zX5ZfO$G?k-Ic0+LC)Q&;2_%AoSxrHdsFdDfSM-wggj4Y8k4+!?w5GD}*PF(qjv zV(Xx~>qKJrC|Neav@8y9$aJl0aXPoRw<}job6qm@`E;>t=|%p27o53zNP~QX8b(zK zbSK+Pw_1dNxfM)9Rz59}OTH}HPliHK!6_0onbfvjQU!xjnr-z}yHfh9GjGopK1Cds z$}C^~xmfuUp`C-B;#irnm$PAuab@GPz^8WWEU|8eb^T$!Q&Tv(IOl=hNIU2iV>Hmp z0$prJrT1@*+3jMz?9AWQxDZX+-X}-JltAGNdTH@XM=u7obM4dz?ch z(n|6RD{@kuQ`Xfh^+XNcxV(AD-X$BUJ0YmcBbx{wwR&|XOkEUZ`LYXt$VnG{5)oLo zTEAfQ_xl@-I*0V@A}N`(RG@&cLqmYCcAVrXx1R5k8OuCx+xz7Wl4*82HtX{#nX=Fo zXm3BUO%Q~fFb20|o*tX;At=pct`rRyI&DsvGf6>=Qew=JgBF_sd6uH;T%o=1X{2EM z&tD>P=JW#>)tFRe={C}XI+RY(;tOcWqtbKy6;mu!k5G4~`v%BaZ_k;hjGhu)Fcb&R znF1#*UgZ%ir;LBWPUo*t^pBs~J$PZsQsO)oy_u4c`SW7m^6ZR@7f|8UnIzRJt0H&b zK}L`xeSi(TsT+tPOhG_l;DI>+m;#atuwUG!y^pr-feuL;om&n_OKx6yh_=f;) zZR!Gc_!8)Z5+VJF0*kIN`T8e*+~vB?(dZ+Xu-LlMPbt&*u5C^CV=on}+ODm8!XlBv z(#9mg3ISnixvgxbd^G==ichu09;uXXn%LdvsH}3>;kn za6ZpaQk-LE`Er^ECkfdW`esPpqIBoYV*B>>VmT{(3I?s)gL(;N?8vn|((jAmGB(${ zGpGiT`+S@6QA<2W3zR#3NN>Bgp}bt9=Lb4CLj6_MKMr#pHi+TvbTt=Fl%nhS;p=`+ zuFwgw-Je35p{m@SnK;j0(JAbcRB~VpPsix-IVGbz8`5^n6!COO7^@U2mu;DUuyWn-1}nMvH7G<#SE~v3kRdK+`gv%ihccl(zB|9s`HF+9LZy zC`Y=*)O>c3$Q{>iCwY$#9j7si3eWj>wDw&DSppZTz(#H zW|Cr2TvOwaK(T_@p06c4ttSi^0HeLEMO39Z8)SyMvE;76C<`8?#Jceur8%4Rte~@R zxT)GX(F|zjYC7wleB1hcd7qt(fY*TM22`SP17$r_O#%vDnb~-|4xEp8bdoSf@B{L- zxehNjjUSBh0TR;?U&Q8i*@|u3r^u+juk6n{9A36<*wZsLIHMz_)-s%N>431RhJVOT zV*6wqOF;b_V*gkTROMJ;WYmqqWUnMmS^e(RchmQb4f~Rr zLZh%VT**;BqfyW^u!5CPO!Pn`{S?X`KU-Qs`Ns5s{W2zk-KHq}8i%g)#Od^a67u$} z3DCu#f~71;O}uT+{a?7#6R>OF&T_0?IXk1N3dFVih|V0f;;1Azp6F@YVZ}@vv-xY2 zL5Mnk%=mw`b^m`jd&{Ugnx<_O4I11nxVr}k?(Xhx!5xAGceg;$;O_43?(XjH-`;ud z`+48*taJXHVs%x|teV}^HAPQPclFhCUXZXS87#Ty<0R_l(5kc1t8>KT^V3om&G>M2 zXX%WUY#zy4WBt*#Vp&zoBYE=m{NG+=(?%}PRG{1t$0#?_?E@l~)0oK29N zvI*&T<^H5LxpA{X)6?g(%?k(Se?EefsAzCB8{dse9dO`PQB4XG%WvO4KE z(V-MXUJm=ryBtOj@dZvtL+7v`)B7Mj^+npKGmudCvFXG8ZQ|nN08fVdvV{ET*N6?y z@@jaufuv-7xNdiRDktpm>SbFDdJ#QTAW=@r6)Qq03c(94YiZn~eAd~{?^J7+$f!8Y z44TiS-|=Z?9v|@&Cg7_khrVOs9M_vBK`Quvx0cE8KdjM_!7R#k8OTZ`TUMn^uU6HWnqE~^AvkvxEoe;5hhg4f@>*=6+s7j z0H;OEGBemr15)3wD*ESU$Xybe{fs>|u<#W&hICAa%tqV*EXx{q-gw1P6bz0OrK()Q zNtjvb%*TFgw)6`6 z;wbyQuL}vvpA*B)`1WByNm93Cx@o(4Tz?W-AZV1t{ly@YS2jPLFzCY*NzGC)iRfYN z+S({iZyKJkqDmT?Ol%UC@B(KI)83MePDm4VKu<(+U8!4qVi;cvT0dwIPGn6#&3vSo z7)4&wDp|7F(wVYMR~#>~i0wg<T%?(a_?d z8bUH~jN7P0s15$c)yrbNnxJ~1Y$(qw{=#5!s?L6uN-S9y^57NkGM|+R-}FlSIVPx@ zZJcJDLGQH{f zQBWl;Obs{u6WiihP-{?M?nkGO`A{pAqTO^ZkRN??^vcRN+OVC%pU2x8zBut;naPWo zRofn5ucD5>7Ct^i|IAQ)U8>1)#Qp$34BMXQfafZIL@XxMy28W>tIcfo)s$J2#2WE# zD;V#t(rIj6g@S|Bf+=Ii4J% z&cQ59>p<0#(Pr)=6MiV0kNY*Hg1>K~{!84wRtYa7^jN+oYX>$!#k8O?uDpg;l`IG_ z{qkz_Q@2wp)D`S?%Z_hqkmuJ@uCUk{_LkjIg})S3PX@u@&$?y&f_$!? z1XpPaf-$*|yiQWOC1Me`Q6<6XvMH~VAejG$TZjBeB{lsiYG-1=)^GvPX^eFH5PW38Oc`#VU8_B zD9bm5)%y?|Pdn(Gu6_1^^Zc?detqd?rn(X51IFBSavB^)Yb#Tb&rAs~9d4J8x<8BYKUmPEtw zWHBW9b{|=pZ_BxZZ_4>uxZOMDxL#PfwPm zrM3yM)Z|LFN5(UyeY4O#9;b4ulS>(Jq&6A|O~HVb>HtE|0au`c!jk;Wfq<9+qzcdw zkX2u+C>??vG=Ctmqn3R9iXFlIf6PJ}>HC6v<{|lD`q2Cb5=}Yqwm0Wb@2zs+D*z;| zwe~e=z+xWUF-N^j!Ei(PA* zTD7@2-*qudN?oc!bcBLI{@MB`3mOatiNGCXTLuIQ3>pP8PF#WiCr_dhGoCAM6J)0}>_|qsl%yDuBN^mWZJa`^k#BrJ^;Z)y=df9an9+%jUf?E$6N^ zoQB`OPU=cKUGQ~l(sE*^+-^BE3Nhi^H%_E$i!au2_!dVWU`8CR3o;t(7K$3n*zNYy zeyZUlfj{b=LUAL6MJh()v-beJ-DVmKKRbE9om8QoUNaJU3gzMs^yPP z9T@1%S@7d-g+h)ck_n2>V zEDZRT$(*yU9xFzf=~m2%%F`fLLj<(i`ZU?JQC0`|5GOf`oIn`}HHuh{wk5Ob^5+C7 zRvUY{a$39rRDl6U&QC6t)4U8eWASDEW)$?Ro>P$fw~wcPnykD`tJ5WxjpH7NsJC)t zcU+Um$8X$6Fq@<)sch2fm9B)PI7zPvjoTqxW#^gAy`rpM9k!ZUEg6T{h&$txvj$Io!o7DW0q_l=BQe^OD`GVjwS z^K%$wI3}=A>@TzSi?JNjS9Ygy_Y2Y`yhn`vE(m!;K;W8mQ+Slo8W%L@smsZ+eD*_s zY!c7Y{qC`d;*pn$c2?~WTvf#)m?zZLW74pfXIJb(NAfY?l=^toImFzHZW-^Fk@V>q z{#N_=YCLH!$VyX165AK1l$T)@a4KZ>unfQcGU<$MWVX|a_?}a0h3dmg?s5%vHcZ(WwWy+ ztcM49zeO|ep2;~oTh}B)6bVqK=WV}n?c;xkt3s=!sB&VnT$;fCS6sp z_EIa?&c~gA!6Xv@BHuS#`ed*~Sx5YXiZC;Y(S;@LURjryNGx3EhnM#{9KMYJ?VkJQ z5*;db;lKi29ihV(d!B8AM%a`&Maj7ssQAX8K{VIkqp|!66sS8gBf!D}Ms~ zJ!xj-Fp?r}V4I8%CBqT#YOF`SI~pQ~!cg@qk`aw7*j1rZ0dmSKBQ^AgZ?GiI;JnCW zEq?4=EJ-Cnjs{Kb9%|wojcQG33lk#U5^FJig8TraIN@wSp`Z_6N#b~>Q!zIy#4nO~ zlqS;N;zpU!&IvVK4M`-*OIRbdbAObD2O*Cfx>Dbmf-?^i!c$!cWwR@YG$ainvkd`_ z2vLf<;VYJj)9NhAxJen>_RyA?^I^aLBlDHp}G z=E>CJyf13~ysqrtqy0%1pjf)=gXK6Z&DE`d{o3#}SQq9f#Vg9eK8)4|i*P-;lJ(ka zgLzh0bhgoL^F?B_+CFugdjd2f7sdO5Tcv;87;&tDl;4}r|i^Sko7-i++qJ*=e+{SaL1GO zR$sWt))Hr#Nc%N~nUf8k^_hHUBR*sd#;d9iGxb7gkr5vPsy`dmg=m=Kc&Ki zv2AK;PfmBga~gLi74iM9w>GIV#j;hamIC@0q69P5ISAEWfEg2!GGR5pZ6PHK+fS;A6m7s1REa zIH*viiipFUS)%e~tf1^q-1veTKV`$B2DlfYB9pyjj&+dq`Op?e+tA|Jmx0S7n?1J6 z#X(mRu~7aWMnA{Lcm(iQY_`>efd^2_a`r%bzs@Qjw+wRO$D^2-rhgW_Hv17FG3m)qy(8vrgDvH*K~Cf(vv&QhGQ#F!>NSQ=M@L0ZeDE67W}>GGaq?+ z7wa!XyJ3Ob1>%unhfuECu+NY|3@*uPeBEpsdFJXcdG6{xR8$sIbKi%1W&=Rv>)Q&; zw~20PG1H=&*B`r+w?>llz+Bf0&FK~%%U`fw*wtiTZ1rLR|bR#9Y;K&j^m6^JT2L z;OBn$5#K`a9oGW5RzmLcNv)ZfYSRxpgRdut(wE_Hzv2_cr#E-r-OcjcpM3&=89hSd zGtR`;urWlZ?-(>mFG%-%4guk&8owM#|eDmewuYQXY5)aEiHggjbh(H=2B-hH-T zx8KE$-DUCRc{LERN*yLx?^`6ve9V+F(Spja784UtHsz@fQ)c%KBt4^&4}LVEw8#`X z2DevB#pw88=_lZZzp~|Csx`+>RJ}{c>$zkM75?ERFs0diy2HVE-;4P%p?x2!$Lw;u zMzQ9FKjufEVphy|iS6mY?fvRS*Y+V?eOFoN=4o)XYcqLmKjF}GK?OS%jBX0vqM2Tp zIZR_HN9s?AkbY^>z@yhkF7u{uwvKq3g*urbZcAkl69+Cf^Yu+>!LbCIf`F~a8+@$7 zt~#{2Pd%H(!+K0@(q--2b{==SO&-Ec(UjM*NWb^v=ek9?3UG@@Cc*ey{Jz4`ELj6A zPgBJyP0etI(XX+IMENNFp!#w37BL6d9LJ7r5n#OjEG&&FTZ zBe;1rGYiXYt0d($lI<$KxlmEzG4q0+foEhf96j-Dw}H_K$(p;Za#%s}8u6KtV_3LM~|8W7@G~?>$w25ycU#^{GN@w+8PH?^&H*y#J7WEFzbFnNV ztQpS44O>j;58qjIF9M+&VW4XA-5GIp!FGsOPGz1W4}UqHlbzs>X5wvjw%XS#{;m-U z{8SnPE`J08D+d8ZwFBk=WCchXz%Q(7Yeb<>sR-n|e?*Z=-M07J83xAwYW%|hSWO8n zHULnTpx>}mC=DE(k~@U4d3rF}GJisRbNIz!#gTs1MK9zovY65@S;K0=9%dg<6=r8; zz zP|Y02MD}FOkQQDJ4AjKCXFK4$wI@6S@feSX5%s;XvmuLZ2)3%34;G zLzj_KWu3`bEj2(v;Q131PoJeM(WlUv2!DFlAmOm16-VoJS~YF|Ibc+hIxtVN1P0d< z9`icHa;sXgSOUq4I+n<1gVp*ItD++}rk1*PBv~E1bdsJ27Lka`81dIAc2P@`HEX-# zQo4BMuV1Fn%6|*VSv4NR&R#2v=|{gUOjrLSy`8d%Cs51-4h&niS+|6my?>W(mI zjP<4&?fsq2ARE6FcEq3HJtwZt>CevU(S4m_md~|n#g;UNIQKC>8@yzo)3FQX?K8-o zf$xxA8RFO5sv~nJ1ACrfZ8CrCOdI0+?zn}f-5 zv?zYNu8ytsM@U}%xlH-f!2f2Aq$lu0^m0Zd`4e5pshtqp`dUTOj7k}zr2&HYA`yFL zDcC`k87>MG0u26Z~x`;d-KKi`QWfyKB7!_6FA#_NIV$PbknpgcvDpwmu5068cT2q>BcFb5!OK+*(y`zBg+X+v4xd??-hYIk_9=8*TD#9xhn z7+@Vk+>hQ7=Sv({_Fc!AI9nljeAi{eKhEOLHs0o6q07_&tvaEN{} z`X)Q#iDmYEmkjqlnI9j9eJ*SUWVj4WzCpADF(77tO7@s>|2lhgemp0NCpT^hjmM3 zoSF`jlgXmE?ZUe|#xLxZfBa-P#dwCPmoVp905 zmLpx$x^wZ}4LuDmgKv!`Gk&oy_R|gA5H;j0&`wi-hqge~0S5jX$O1U^9gwtu2F}wP z^$vK3aL7C3;FW~47zvRD2gViumjEHIaa};@w;-tKzF;g&(w0j4pOgNZ5;O#8)C3-t zn)NF~HsRAG%KB+-VTqsWC`mIGjMEq_=i z5x8pT?VvC)LX_yx88NbWL@S{zOKZUx(yNtPXGtIuX=Budcg^#qKfWUpOh}uZTf3lw zfkL>0pg}XVPEKP;`ox%16)Muq*8YH|V@;Ir0pAWx_Kk7#g$f9Wc^q$J*}3X(8I#nY zCROD+dHTw?@ig9apsN+4BNn)L=T6is7UrZF6uaZe_NywNPc^Un%d~`dy zB~r_XJdYabd)l42hh$K-kYAbIRxGN*%7dy&;ideOu@VRG507u2wx0M733#GT#TT_N zthFjFdW`4Fdi!s}KR(dt^}&;SIul_#%_-X!!IIXPcB4B{u#D6^zRgi|l&nenvfT=W zy4H)uDi2?I)LOPw)tcM<=BlLZa7=c@><*JA2_hnLQE{bHTP9Mu>N>C$I$@p|1%17@n-UN&1EElD=4K zxXX~bI+*AXKj_VaFu7HEs~wi>Ps$xdq`oi`msjhZztsvt9S$-=zp1Dn4Ihzp2{cYh z<8j#-)s>Cj%i2x(7ah>(elD-=`TTb3R7FmHSAzG+^2e@4mxj@1Ey_cRfrz7h16+Nu zx0vDp6OruGRwo!$Jx2(o_JeKauV2i!8xM3OExg))vV~r&e4680v$<>cyHW)??w8a13BoMJ&iv9Nm#0sBlj2+JbE?%u zmWN$vAa%2cX`4ch(U=)bT0TL(=Kf&y$16~(qa+YCgLNHck7%s!uh++DnOf32C~ynN zn(Pf6`b>wL5b2#LS;BT-iRj0Q!8KT)C+Qc7@(P)MXe-Ey0Q0u+2oF)B%@YG*W#qwl zK4f9|NQhav0U9r#s?&Uv~=qgR8;sqfS{b<|bZe{}8bnHDKlC7d-X=cf0&!LKQ5^@=ZB z?^2v`%^C1GfIg)qh_u`WeB#`dhIqlqe+M zFCLv38w(YyCyAEjk zcU0*1;+c)y0uO9lg$2N#6?LLgsSm`{45zXMeeWEFOtm6kdsUs}Lf(WDJr$dxC`QOi zdX0h;!QVt(*$@lqk+d7Fh4JJJo$xU|Bkap(_zy@MZ~xS?<|_thU=_!};C zmG^?)ea$zz`PF)vkF?>9n7+Yo`JyY68H{o3en?qQVTFJorje>GE!6G7w~Kjs*=MZJ z52^B1h-{w5O5877@~ebSAWWaO*FhEd4T z25DuBxUgXhqWG&Aean|F4|;Vn5!2MU0<(zmo94B{mkQXc%`($UUbn%J#s#}x47xV@ zlQjCJ?hx5FTc#kG${CYL5I)T9>}XUSXqdx;*8mX`)l#pFb$8CF9mAHr+xulQcQLeIaG zsBOBFU(qh04bG33G*4~YNPQK;ws-vfRmu$6n$RSx>`R-uFdkDtHL)B|)4nhO(a*?~ z0Ecrl0IP#XilWu`gUaQ(2YWEr&V%`@{0#G--rzYDdcf@BY4vXd-wI8g-|i~lh01V7 zL9e4&*DC19-cB+h1GF=|(cdhD)mP3!zmQxFY`}~#oZ88e9;}ORXg>W=z}yPGfW0yX zZ?S5oGY4sY!DPL6Vqx^E`;J$Q1KzYQ42THW9*Up^ykmLNpSqocqK3(P)D6uF3+KYJ zX0zl>sQjL~5OI2#bXD_p zu*P;J>FQL4WV;>0tzHY{&80qi%t9pLKu$=Py_EMujbuenjzN6zLjS8zuJWFSL^OZX zuFn%033u9S_y@-JbgRU>qQ3FVklu3*62qD&YP`>0YwT~C_iHtx4)!6v_h10#C5Ot@ z{(amAXPx?QA1YyvhvB7DxVx?Q0D{j0+gq@*QA^xs6n-H$UGm#2O#3=CX$BmDQ)&u_ zfOmv<=IZffi}6FbkY1iKKe=zf&AZPF_v{ zIPTgnna4FcEzv@T`s*btCf#y@uOyoZ@BYtF6&77j1(#pMU#S1CAy~fq+Y5mQ^jrSo z8Ul`hpQ$>)ehaH7E~M_cqCcy=y6vFu-d+3+0ph=XmcJ5s&HwawKvqD3XF)qaKym5+ z(Q^PuUEpt#<>V3R(Lg-CYBL_o?6i!2VQ~6a=dUVYU7MneEdV0d8ByH)3AuF*JWVBB z;a(B#D*I<`gCuk|u|jqtM=B|O6zY;}{TY7aB}>dB_bMkXlsD{-b$BD|bhz28=*8F~ z#`dOih(8=rZx8nPp!?b~yi_W0;t}%j{FXEaXVQ^y$kW@m-b`#erFa=bc%FVqJw?z! z89ky|YP-WBc>=eF*`P`lg70EUj^9(y%If{ByPi~6a@K}%={9xBPAQ^Mg_51fF6s*t zRtm#n7KW)@90;@=APfyKovo@bweYWh)wH@srTWmzXvMVNO^cX5hh3Ww)MRv+c^zoz zO>9!$j(emdN;GqJ$Iw18uL=a;0eX5D#9sUhC zH~(J(ETmALumX&9Wa#pgiXpc_+a@m$3E~t&<@x1>$iLQ6x|IDaGjX}8#{M-LV0@2h z_yO_lt$8X=)=C}#Y?q;b@tez;3!thw6Dyl zLs25)LTjQ5rr__ceCf@g21TO?E$NWQTu^z&*IzoIv^{0wg}k38y>H#zb^4)05s;)w z;X~X=$(!0}kjaBHWT&w{7x}WL?CP^R*?S=K2URgTgt)8-L&wS@fu$Nu99nOWK`iX0 z>_Rv}y%oU+sJfCmOj1#ECBO#!^otwLf;BfHRml>&H6lI?d6&LvAN~C2DvKcz3jdce zM{pWbRO~I56axw~P75xA@&vnX@T%;x{gk3yp!DH(S)n~KR3>DcYih5jjJf+;nnSnm>?%I!lVR41ZA0$7(l$yrfT6hww8!$l~Z|i8KoVVnIJz3m!x&$_m zpPmgZ%+X&QI;O;`o|ZfXhap*)1^JO$fPl5_jaL2jj|}BTkqo32^;T+quLuD1v{##55AaG_O*( zhjOEq?j0h-D-eW4=r}HDJyJZI;^>cJK>bj>%1M8fIri*qU_Tw$e{_LyX@6x_S3A4! zL9zavMX{X{*Pbi*9n}Vo>^a4~3d7GRo_aiQn2BYt(~q&6ZuS&J?*e6gTIC^sHkHZ5 zriF8<+|6kpj?Fp5absuo`5KqOF>?~=y&KMdeHaiDg7fi@H#-5OKG5l3tCqt38?73y zb}&^zb2U^>RDJ(~QU0R`SUrRv!35hak0jiHaESeh1{tQR3dx#wT77X*%5dJ8$j4{! zLm)2AjcQ_(h{qQfD*qQpwD}d0rcKCUYj?U;&tzBPY7ZY_tPa2Vs}fO|`OaEP`5vY2 zmO7L;Kh1b2?1@g&cZDdJsRxrEX)d<3$3nc)Gb!P!t9s2(c+*PAoNWF(?IAgLXBAz@ zrV`#;5KOqhJKKZ;a!__aE4~QK0mucA{?NJftn<2mN9#y<>z zvj5KxI@8)! zKgka6WjLM>p>I2t&kQy4oo8K`CKBN?x{?JY+2;Oq!2s8hC+=Mex$6I^8Ag?up@m;- zT%xf-mA||xu+DO|EfzAuP0m{oVpdJMIBcxkJ(dlQjo9I21@|4f@vEb$%A^ejRAJUP z*zYMRJN0AtOF=qTdY&N@{#Nk6Pd9{&mCZdUthEE{=wX%F4^@@L(cs!ETzbUzzMnIV`cyR-fKlTzbtk^x|hyz;2Bav8Ts-x-x`mF z<>bNtYOIvq2QPd)YuSba9A79}%^p>kmr5>f!Ju##)a9yq1%_bChTP{P+G7G}ysdA4 zO&A5R`tm=MwBJ=~QU#t{RW=6-f7^Lnz?k%h5o|v90x%_GHIc%S%~srV`f5D7NPg zK2?PpAKi2-&NY8{w6Y7-i2Gvljqxu`%+`PI?-VdzMf}g50vDMW0skwW2gzzAi7{>5 z)0T-Uo$jnP^9BD78va`&z#=O-8Mz)t_&d&XHDPW$LzuJ}eRREe%}_}?D9V-`Y8kDP zk>EI|z&CwwC{Rs=bho%Yij|9{PbnfGHPJ{{Kdn7CEOBFzMV4R|h~1?#zf8MHl_#z| zj;{?!B%uv4%bAl%ttyr8op}kkbaTyG##J0Wzedb1#{n>iB-9K@h3L^RXT&owl&Dzs zGO9P`K+7J;4Xv?0dGJfreNWlJh;%i|&u4SxyG1Wao7+DoZhY-J>~KOCn^x04fck40)grvsSh_HSD!?XTNz!AL;AT(|Nw+E`IA&EI+ zEOla)S5yizk4)8=sC(00^iHK3WoJ(lcNL5gPT8T8Hs-SnlXgg;ka zDti`35bpd73Wz5JLW$M!r@*6>g1O-4?dgvXaneQzW)Gt33;V^E4Pe@v`Mo_7z>1DIMH}?sQo~6HP~)>d3pVe&@v<80;okTsfQjqszID9uT zaCCMsAv7>Eu&{A-A~bMzvZXUJCUi7%u&{H21zx@Tp8-O^3aTkF;4y%JgNJ`hZ9O;$ z)g5+mLHE-vFmSaZJ|mX+zXC@AB{Bk%BtV~nkkG`<#K_sngph*E8c+lUAwA)LcTqEP zHKqleq4>|HX@F&vKqCKN74-%jn*x$qoz1W0x5}CN1C*&)>%$5m)!dFlpz{CF-y+oj z$2k9QMH+Ac%KA^m{Qh3^zbobgIPBhK z0fD{zf;d*c5zm!Oe8R52dALv8^Z$DtPy!mN$ZrUMW;d|tYhO@dNvNVCQr2WZcRyST z5*W!6bW6Y&@YT-#dDOvg(mW}Mm6bCR>#uub9KYE6y{Mz$`ph|ngbjXGqbhji*K6a5 znKf9n646Ykv(P_DF4VpdP}?yZ(dLEGDQcN0rdwh&B?r3vsmAk!4f^~VjeGlZ17|h# zY(Zz?S+HLj?^=>l3T}z`zPZm?Lc5%_JDp50s)9vT>|ZOYDC3md z9y}|&FXl=-0!n|#3@&E|#P|~$w8I}OqklJCp;s9QkG$hpa z+oL=63rsXJmGc8vjPQaNoHHpxhTND#Jng->?jMW3UF}MsPU3tAdrwNJAs42_=J4~h4yZ{d|5+^a ztcym(?<2URi>1J7ozNDg@W53>NmRB0-SkBE>-`7%ok@49Z@r;JhCIJ3_%IP#ry-0$ zdZj^0tm_paZ?6AiTg>O38}G@P?H6nAt#szEmr;mq$aHZRBq6nVt~_02+M$9(-^H2| z!UP)Nz9$6E;=ctOl7ip;5O@=|92ghsH%;K01cNJhy+Rr<>sNM1ZE(BM5?p3Lx$YkK z*)aTK;@(UoVl^mg+R(HH$pp2E_3j^&nzEQCBmNLJu34cTmD`XXfjg9FBireBcV`(C z;pA6PmXME4gCWV}LDVJ49wAE2WFi!9W?W6wygGE z>>nj5@*Vi{%B5HGgf~IE8YPZzdWY^F0m_}$E9o?eO@%)i0h@vxUYs@~B5bUG@r`RN zwngCaP8UVk>^U6(W4XZL{%A<;TFcNZV~UT?4jLNW6;iWLq2MuQuH>U?jN@o~8-IIg zdH6I5T2ezUjiSl;!is5`PbAKEpn?gQF|!3oSZvf2U3%HxVYof<7$%QoQN)huW{`y_nzdjcF-u__{(@LGB~b}4lkmk+;E$gN9%F%-?SR^b7Y^XBk<62 z>2~p7lLv6F}Xx6aENAT=ET2frZRU1GMqurmq`zC;CcwoHGIlUNg z>gBgX;Wg}9!Uf{IXu7AZ1#=1Js-mGL6YW`E;ixjj`-m{`1$tKP5HOsqia>@Ro_pV; z`jlT7=*`@Dg_hls36{K^PV81?o2tbkBX7T4E9@aFAN@k{nB*iA%=)n?!3RJzdgqPm zm^w%V!!FLjv{32R!{2;_545FOwdg?&j0l^hv4&oYfvgH=Q{DW$RV=b1!Tm+h`*9Zj zdWRZsO~ezb*%0BG`wih#e(T0A=ORTV(Dt==1!4sv8wYWt^MIx3KOy_ zxQekd6S6Y63XXTkPQ}7{U_*DT3*=ycx9?gGFb5!DAHo{gLJmbP;js&O56^mPl-_>s z%(V@XqW-J#4+8*OE6V{#H!^iSZ*rgs2#`+&S~mN7es<5>3{%VK%TN(dkCQVjb)Akf zvsf&?f%Huf{@m=#)fZ7fLxaUYd&5{qzdDtg#;{J)sU%>(^pA1BcsOVyiooY_dDfjgcI!LHn$xj>s;u2_KBIR| z`1Tu%Q(;hi4~g2MDMpZ7ze#pdkRjY?mJq&|IvyDs#vq?fQVRVW)^)(`3#Ak_2X3?& zlY$C{#MHD;?*u2k?8t&~1km`g?Gzky_+0*IK(h^BGhA}U)k4#@w zY>hIi4kn;G%wICVA2cmsOQ^eFd?=*;Oq&m;cm3=pTrkLVP!HGqC8$B@=PzA)KD zm!ijGY<-~VT<78qh)iN`W3^IY7D6c@?(!=(^4de;tkSmQzXqM3Yva}O`&O({qZxzu zxe$vY!wvs&3J!V3IC>;cIhIw*reXJffU(fz z`xDe|`b2GqL)QYPTFGc~(T{o^zi)YmpmHb?7&-zzLrRgpKffSseMD{|GFe+j0^Q~` z3dq6Q0RGkj%mF9>kiG-`jh#i?Sj;V)ogspe_$|CA^tEBG{jbJ9%q_hwksUR(fyi`3AX%7QS`zZc7A=&k&lM-!ZDht)6H3{E`{Eo z2tWOOpr!=yoLw;>`noPIe$5LDg?HU=wyd^2JhgjXxL#o4nlrIqhB3KN3kaLNg;=hV zjKH|hp_3*zl4{vuL;h67lhq{5kyri|W%eW!`5NTp6^)nHxUySj7gOaQjg89%pOr?4 zEvy?Ug^a=>gpKq-yNzKy?_P;l5KGf4(j?rz7G*D3{32j|wuM1}xSU0qNrLvPkKIAk zjwaMi2UPJApIYEyGmQck0`?y1_qZ`^qT$x)>yVQ@JD=WA9-O1GHCJN4Ay*`|V706D zFfI7E=Xjq~#q>+Eh zwR8uTvDcDBe#m(Pr4p(9yOXRks3ik-O%Nz&B=}V5pm06iPvi7ImM~JNCb>9E=(Zex zHYdRe!@ukQ=HTMwviP>#WLR#eRuEvRmh<`C+blgTA^&k5AFvf4+)9laf*&-A+PSpt zvtJ$RZ{KJHfrAJ5j_1TGRfI>lw1Hh$BRk3WJf)V@u9IoketL$}=!Hb^Nwikcq94C= z&r1#rnz#_kF62TN%(Buhsb3$4etMsLHfjid2zx(7HNqX3?Us_Kij1ZXMy!;sS(B>U zU%)*yY|WdhKEI<*#=D)2JwBf=ulHR~@t>bXPyknFt(jWZq$#;qjEUy(HaB*od@qMb zcrs#E0yOA9>zh&}~A; zQ;%5>?>aK^rdUDjk8lgiZZbe0zK{ZPP{3Ek+P?vDz;3Dy(D_Gy$7V%^8gNV$$vYIy zdlAchApPev4tNQG0ALhTOn`4pD;)bQ`FH#Uss!Io8N@UD8PYrdyv8bKX2tu78i}(^Wv&u5I+g?-9h% z6vF{ae`R&R)0502)As>-eNe6E1Jz)K=tErig?DcNc^+rj`DJ2!Olt2SSmC|?fvLf5 z^o%0K%rjapVLt9*;|4dN?h`4{8kZ_S4&0h!W%q9m1SAL`ZGo2L(@tApBI^LP!2RKV zd-DOW%0&qCkIw%Rphy26Tmna37xNJOz# z!+afPQ}{?e#L}vY_N_a)URFw~kM>*q@wLCr29yNy{gFG(3RP_nqC>89 zB|Wi~f+DkqU-p{;@69a5z1X|_#PcZ`;UzvKkH7x(I@EOg%q`shH$K%$*%y{d1v*1|yEi>)Wt!|!m`eDMt%l}cX+zByE! zlE!q99k?$%ZCuOJS=GFxZZzPZE4Yzj0=AcvWH&qWcss|;Qm4RlKMD=k_A4lYiJ+`M+E^H{`b*`08ZEgAM@c=yK1tlT+p9TM}-)k z;PnCI$0eZlzXbReOd7LE<3}1eD!W#)##8Y%)*8<)4zT73RZ{yVoVZ;0l@mj=$5$;V zkUpF*hq_`C^APp+v&T>o;+zqbH42`PAq6`Mn5mhIcg>AnZP@jBLEL(U&F>VgILKFD z;eNHt&NzL&PH9W7qPVSe#ucm?u7Y`SRp=}Jxc2}Nrn}Kf(QZPV81|zVzt32c?O#df z-gj42O0+VaKF#6S3*OT?U-bpruw>rc#609Drq%nIVp0JFn zr6{5q`fgX68bNn>2R8h&3X_Z}U^!;0Uar>M=z*Z^8v#jS3i(-MhC1werSByPr)v|M}KF1}6$Pw0-mmVJycwg{dZo0E-H);!CulaJ1G z8R3n_Gs&F{;OB6QM^OVyE$uq|H_!;5PEUN?a3G8_!>;-{H9GMp;p|AAzfhhT8Z3D^ zGwPeQ)FPQty;342`&Bj!3_+|{=VNUwJ;`CSH0xthwc^=hSCX!I^v#!RhoP>}$IdEw z;Lz)hB11PCQTv(4HFq+&p=^^5f6;3QaC5t-3v{;@;a!yW-j$(=iq@r(BK-}-66QUySux)ySux)CqQrw?gS0NJxGucc;|5Q-FNF& zz4urBU1z3um)@nPXL_WkXU1Y$>K2+)rqhE`e?ABeZeka0_~%cQ-LVkncqAsOG{W!1 zf5gRpaP+?0TW?9Sl-bWrKrFli5&Rk+Qc=Pm;@RUkA(Xe2L$Q(g*K_prd zFI&`FT2h-XNvDQ(Ot*upMQmgnx+f2SHR0f<_$AN>(D#!TsxQER`H}|4%-{c>LBJBR zzy)T=CeH_m8$n=qX1JqJNIri6G~>IW>2!?n!w$gduhnToVMtlZs4`qkJYPgBTYx_7 zyiDO7x2ejYvUBNd;gnztH^RwWp=U184)ZzWsOeic%XP9%%UDFp?gWw zFL!D1P1!tE;|xt+06eX^&c|qaZ#32qC`+0A?gC-`sVxkXpme_gC)Q}-KG(sigJLe! zbJB{3o-LB&-{t|~x1|;N%-k? zuqnY}`t`5*lQjTfY~-)>qCnUgEMd%!rlyLkm}SCsQ~RC$=PgJtr&pubUpi2aK{r8A zdH`g|6OZqXx+BJ9_?)FQ1A~GPiz9)NHRHV^^Q|y@qlpLQO#W_{#KU5r`-1Pw9bg-B z`xFA;hw5V}j2(Aw5JtDQX2(g;!_!9Rc{}!pv~P%r=Ro}N^Q!U+(-+J|?M9vLVnpZF z@B>r5eOJHc@x?a#70R>6@{C4e!j;wegvzW2@yN(g>R58P`tQvyZ+Nj4D6ta3! z(+}vRpQ+Cth=>PVo*4(wo8eC2aZ8xU2OQHoddYepxa%BJ4Mam~=P6?Mq@M${k|YQh zb}>;X)xh;O;0_BM!yJHYoc~PLfyWjuV9^{Ie9Y{ep}VT1hhzQo?pBNs2AK{_{SSbT zWSX>JAI2!pEkbPLV@n6f2B4f|lr$BRLOzg?bT-klA?--DhU{*)My&3g(lF?B1D4crDY=M9C8~(m36JIq2T< zPBCpww{702#nlF)g+ou1v~`R=8fByhRTh&>iP=;_R{0zFhTRrTZlaXNT+JTB;AJ)BHyTOjlA+-=e#rfFDukgr3e|HYFyrGkSEhppt0N zs^9dvn}k@8l1Q_Oe7AO!uNxZgAk)|tq#Gmum34h_2Wh!!;@~)&=Fa#MQaUVAz*j!l zkJ2|RPP~J?=cepj#xEmHe$Qlh_cX?kd8D#8B4y(my?Wx}!E{|Cc;)RE=NmoE3nv@5 zUVhU(ZexykQD4ktJeh{bkWz`HgYcPcva1^-nN$c_wABU-eJq*-J~f5}8Wmh!Rg@Vl zJA7NS?z9i%!CkX%Uv_J^3!Z7?bK5zB^st?$J%J#w^D))Lo&ND15iMRxLh(Erj>*zV z3ue-cb95dZWlrtGNw)9k>OJ6uA>qg3vqa+CKfDN3wf!QOz9{cMsn`t&r*-{7Upgsy zGAx@i&GFBbcFZd2Le5NVzN4sl5uDmsRT=)7YNQXl`|~J%I{=Q1Y`uAuS4rg={Ul%E z2DTqs#DMz=&2i9Y{~pPYkPirtrOVCg7=}!#E^g5aYwQSH<9=k4+qj(w8Ql;_t5Ct@ zMUtuF{w1zjD-DAIvc#exXcqG*e^2<1|N ztcrMf5hb*k^rADCj(;&io_Ax3Kc9Mtp|N;%urTa7LI%f}VP!TIbRhiMj~eq#tB-H> z)k=$Y;VF>G9dW9;s;xXYrZ2zfBR0>q-q|d4{aX7d&^Zw7`zD}Mp;HlHAS7E=tOT!` zni*$71IG^Unr)6|xl>+i7hHQSR5j;Y0m(a+*W+Ox|M=!HqI|=Xm6TkDd&Y%CK1VgA zb%9_O;f>B(9hpI#c8X(JSlxAyi+(`XIaR12dw^BQJULZJnY@iOpIQRGT^IyBRaf5m zbIZttchm2^U;)<-0X|QJ&E9omC;!h}D6NgeZBPaUii;`$K8s&pFD6=awC{ zmbZ34jX1^>Cg>(7fe|7ak?r$+4SS{xn|i$A#3X{Qn|(+v07;!<}L@3tj_XhtTdweVCF)H zWqW3#riohr@mmcjVk)dFOCb!SV&vhC_`vo{BG1(K#{28zz2;k?m%MDsHh5~9V^L1M zEbN@^jHCzdxBcc>o(1Do_KB{Kb#fU5Jhx7Esf*}nc}w#Zi8|BT2Pn;7#n~{=#YnP} zxO8t@hUB&nA$`R8M!z5a`hj=LCN;q-d>=QRu<4zCe)p8)H&|Hk(U-sQ<5fY&uE4MI zd;?$L>eu+x*zJjE^39%bGu``o-#n`8_2s9Kl?-OcD4c5TiTuZ)XZGQu!Cev8J)PXm zo?{=1X9v9a;Wue%Hz!gOBz*O6BTW~dwkFdh_K!Of&pYXvGQ&xYQuwgJCl%2_o5N&wP7O(YnD zH+NwiH!xtdGB+?tkfxcGrXQP_R;FybVvv|bkd#@b1O>&>NqNad(DB-g^e{Vb1X7vd z6_AS+aC0r7lj2oplqFgqs1G0j^2F!`;7>lwfnz`^h#gRPg(Ohy24)B4xfP zU&7#G^rsJ@8LfnWX4q2=qXnP@K&}Q`z8%TCl3cLXk3ba88R4ZsPV;Yc5i6XWq zie3o>h23h#Jkg%{)4XAgTOs~k`Z2z4{Jf^H^tJ1bf|U)bD!78PY;*^%z9~uwP1?x| zZuBrHumEBQTUta;p?D-@G3zc4yzM3F&0xme8$XE8@fFYxHrmqCJF;K6GLxfjQiS*4 z)rimDyH?6QX#RdDiZ%qaB<|csz~p0pmGSfSE58PyM5g~uKr#rsgA=&~q4%phJA;6d z-P@jnDfn?e_z*mk{2u@u0`;juJw5;$36YGvpa_w;s-ThxH<7ouHxtNo1Obu>gg)rc zY&NDYMCRN!_J$^=Ci-TsUS6JNmUbqlPDFe}jLghTjEtc9do@!hXG?oKA`cJx*B|Hu z0KkhfIEH!z*`bcXS0G3M1rIQPm>F$BLwWnih<&A-Q4TZ~!g9+0)vMf4m$wHUD8R83 zuq)4`U5SI+6-G~snl@K@R#rswEsWe@^;`?hJ16GYzlp;3v*MHwa3*Ll_rn&jFA+^Y z2$F+zF!9dJhQd-PTg96siN<@=yXWqL!@ex+=RM)T{k`%4W1eU+YXXThVM3rgr`PTA zqe2NWLtJx0=kJzG{@Le{ zB&ms_?b6nrE~9Q1%H~|i8c7A50CS%lO!h~K0wi__{}&|Qe844Wg&D9LRR#OyQtRWs zxAv~fi{|fwgAJwg4`XOomvMxdGUPnu?{AO_-oI&j`ldC>xyHIo41lN=45%pPX)0w;FG(LFw}o@d4%+qM#~7oF8u>6wJ+dUF)&lTvtT0_66CTHQ;JzyO1Vv2Qb`VL<3;Dpgws&Su;HHH#c^l5^-@Z4y|>KN6G?5(B~O>Li==40?o%w@-#tKG50$bZjzzO) zd~^WaGq~NRk|FZ7j|znhyYv)QV&svjr$;>G)_96OP+XIWj`r=l+0uwn$o(UG=O4kb z$Z(P(cW-G8`j9iYBbvWpz+0f6Lxo>DBF76M$p~~d3ggfdhcn!>A#+M;_7l^feD6{p zUif-cGhqCNiAsydM5w|^)X+h`%mn^3W{$P(M1H*J8}HDnx2gNimsdh#!~+HyC|k` zm}Hq+VPy*0{g|SA)xu&ds7u4At)^-nOUxQyTdX!xY6O#WnuRi9%~@!qn?dhzNYlE% z;7(J$Pp=^BU4v}die8$BELuDaWy-Fi?_UYo^gPo#P!09T_6xq5Xpl1V`pI3i*VGYm zj#pj$AE>Z0e=;Gi78HBK57@) ze#0C1g&&tvL0w&MJ$jzR*LI$l;{Hjys4wRt*Qb|*XY0x0f?L;g{HbfH@#ozFiHp0R zZ@Qhy#k(N`tbyW$FIYcORhNe-(K?PF{x}6URHH$3^dm5Ochu=lNVz^%$wGw@)>x{) z`_N_jmPs6*?`2PZ;QkhGG`$+-AlL01#q-aj`8NN{y;aTMCCj9&3@2{lIgAz9~eHdz=3N)Ak?cJ9}?7pZnlD}O%SAlf+x7LG%v0s@3-NoLQ? zecLWF>BZwx*jsvNl%I7(9%u{nZAa&0!4Wryl9xLh{^Xux(Vo^2$;jkeJw7a%o&ds4 z2%j!kho^d>vlL#YAGGvKW*KSa`*Z_lpUq6`P@~PHTF8%J7L{t3O{})BZq6zLzjzdw zV8b_SZ(j=eG@TY9HlgRYNG>U#HlRi?SS+Tg@X7O);77B{Xg%lG43T8k9FeCw-FJ(Q zEAP<3n`;TC!^;$IrfPC$Q?a!6CI$%<6;;S2qgRc&HR79+1`)5;SY%+??mrJyIPq}X z3KXNnOsY_0xG0mkbq@8pu%&)sO3cfa*usvok}n)w$RL-7SKiR&Bh!|8v(;2vBYAz&il5*b88}XOOl~C;DRd5X0E1 z1*_p58|fb|F1g(wH3 zoz$vxA~BtLm@EtK9D6h_1TJ}~TYw+EU3ooYaRvxWkh-hzpCGurL#!@K%>H}EtL5Oy7`!9Yil zI?sczK#&FsUSM^`a#^Pl?vT1;aXJJFr+rVUWeKK#rT80x<^+^w!REEx?3s_-t|C%s z8W7Y`=v4}hltt$DhO!)IJ7&!`ZAE_&2vl2O`Bsv9dS8eS?SCGY*!F&VRJ~zL=*qqO zHJJ@%aEoD3iv;j?6c?8(^8#uwij}YNSxao7yM45cDwtwHp_Ie7mA5(~RWJNL^`;sd z#|~DYUw0wx^Ikf@Y8rs+OxhWQm=`;b7ML zDK=BTX4!fCn0^!r9nWE@GoyN?sV=AChV>g7n<&hFJlD2EZbz${eElQ^9KX8t?DB8K zd!~c(E#=inEA1yL41<36lE+1K=qgA6@fBLwMQOZ5S^gK=mipG(gD5` zGaW(5n7s&yC>_lna%_2DWZ#*=9r;U1ym$+ZGD+D+GY@A2jD})lX z+p~LCyx{K~{$WR?XX$HjQ7|5M^QaMMCryVOc^@sa(4sPdG*y}=ZB)dSj6Q>%b9IyQYVBXO#JhE}NJo1g6 zcpuY)?YG5MC$z#3Y_((z$c0NG-7yc96SX0PMPJ_CKeHvE@qArcj`*VxAbzx?f5>Gc zE7Tn^Yx5o37%!Ke_WRp^1WG-1tq}G%9Y#G&ZqN=ye z&?s$c@AxK?1q1LJ9wuUE&>y!V+YRN~-M#$=8PWjtUUI*^!V~a4KO}BR&%}d`_Q1EV zeh)xN(8`dKzq*+L!aiXAP2(1EK8|fZAzARsS~Ol*L)+hE{Y&$TJaXtp_#_s9cz~IY z?QkU2Bxc`tYm$SLq>150Ndvj#jcm z3{<8|LeALzjcD&7nZzw6M^-uhL^?)8_6wfoa2US2q3Erej-U;YrkWycXsV>~3e||P zp;>q3)0&1a?2K&4-?2BvY{*Br8o#@16kl!_ zsb10GVgC{+yI?5qXQYhTa3pDCM(F*B_x04M*>%uqMF+>*EpdgN-9MyzW#D~vr0;N3 z>);n7X|7XKw6>gnr#~xFLN*|S*vOKdLH%;WE#b;O)Gspx@3kOX-H}avql*{AHQPb{ zpZ*j?N8N}ZX#$bngJlXq49W=bJs7e<;WZ;XgR}Hg$P%dD3Uu|=tMe;E1iM?jQv8iT z88NRdk!*-J@-rPpg?!%51*cz2;(O?Zi0OwQW-694|i1E({ma6j=_8Ph4v+ zk$BstP~&?a2#=cAJ!2pDwm*20gs(`C{zBdH9L*!t7Eaw)ztQ4<4j>peoT9Kfm>(kO zw24o|Z<(LS6fN5$n5r6?I<`SLOD>)uY<(!6Kx_3Zia)CKaip?mX$w? z@Tomze8M;-(YV${;QUAKuT`E{=gJ>$mG!KO(d!pwMxF(US(7!m4Zes@YQb)59DZ{Q zo)N3zd0z+EcGJ<;>j$A9%y3;tC4Z&1_?Bi6o3fPL6IP}>Wo?x~ULBHGC64gVP;d?W z8C&`DiSL3_b9U^C)|zn3gZR_lI(-!fi}!gvZ(nmHjAv82kyBnggFWHaf*?0&qXF^j zs|g``&tLCj$DNa1)W7t^z)zG{cniJ&nJ=p{LFEL9%mFSfKygq3>-$@7azNM@6#T3_ z(49ruf6>X!OJ}E?TVnRf`40T0c|~AN=aEPSVgY6dA)#l{8y8fd%sCvLFo+XfF6VaX zSQSwr6T8-9XwM9Txh+JDg!rl1A}9%GD$rY@Ng}e(=tMVaN3RjhIVF?QrRB&xZ$l-O z6y$6WX+8(#+V)DBHO%1{MXx-V8A)r1!c^0KXp2@YZA4gZ+^1biif^?u!el_prf`dB zRW&+`T`B!gQ;c>pG4gr1aY4N1H+EVb`7iv=N7$3q;ksL6U-`yoawF$KKVwLQm2Gr( zmk2~m;}4>PO&VpeU(<}+e>F5}8MQa^aGjnbo^DdukOa&64V{-agqt^rZ>%i9|Kbdn zwKrt>*tm+`=xbv~;GIP77C@Kt;TMAUrWok3&|{KcklLFgYTk|Mt}E5BD<@h;%`1G2(^BnwbIHUnoxv`r!+=V z;6@5P(+hoEv}#Ko7vL?>XD+DRMszcWMIgw7{?;TKrX%D$C>%XKDa;jM5;(y+o}!;|wPN9C;^+#AQeCQ$%bLA^B{guD14?+wmF$2jTMZiFWpsnC)*( zdSADQ9ccQy%i8@=+VY`_XqLHTL@CUlh?K%?$<$PLOt+|+ksO=V2^S7q1nP=GdyozL zDRFV6g{7$tB#2Mr778^A4#hK^Wtg7*7ek{J#2t6`w5S$llXv8%v&nnM_)=PKbxrRl1J@yS!6es$O& z?p=mRaZ4kOZLuSKmW%IfGL5mHcOh#?N&6T#LgN&7^BZ7(C zq)Oo%%S|zahP&F5=ZJ?q411J#`*Y-BN3$drE+ipt`xKG2e-s#F|27bJvKgwPf5=@!1Iv)e$w+W>z5vFQ+f8|DB>T?ZJ*2 zOl?adez@VgS*O7?+f)LHE|GC0;dchk_4hNy^vHMC&sEA7Vqff7L(#_X+un$swQh2$ zT>Mb`S-A<^LAhHT49_?nnzjdMtNpC{dbgZ-^5Sc+z*@|v@t~lhWme9uw+VFnGk?6| z3+&2sulj-e?WV~SEI5onu(+Tq0f6(@HNl{p0#FD93vSdwIe*LeMba&e#-VO%?*n@1 zGuV&w-vHW-U;U%~nizUdkuZYmp?U`#odiY-&O2R=ufQ4+Q3y^sYe;OPaLz>exxU>* zE&@6VG2VSN7wh3R=Z}KRcB0`(_?@>OOl-FBsUq8`qSN+}=mH@}J3%uJ-u@R75_i%< zpY7p@<-;;BG2(~txt)HmR;x4o)`22&-vMy1(T2*6I*hE~Zg);XtLKF3^`}5k;bk#e zl9QA@F<};~1t*Aq{CYY9E;@WIzsM%01b~=dw=Hy`7Nn@T?O9 zuV-h3=#dxdo8I%xJm}bLF}P!?0{Yt@yQR8k@oL4hHadGP*m8!~PUT!FG!b)Z!Ai1| zoP!fY$qO5XV}4z*R_{pR`9%0A+y+tC98B!!j}=Z**eM#{W-XMCoHHRDStFEluvWzh zj`XGt1TV~i_^&otT-e|go|}>P7;)~ zW$$**WIu2_-^TS@y}?e(AhP1s)b-~6ZqZuqXbYrRAtS}JMv@%}+dnzf99PbI;}#>< zEC`2*PH&BQ_o>9%5);P)aRb8exqMPc`%9SKPkl?kp4K$iRzV5EmYND{PC!0YLD~uI zLJ>aeiQsWFlnXxmds%BA)7+CvW1&sIkPk!EgWpxNyfYdh_X%~cXAnKB1OgV^W81fO z?lCYnIt_uySAVeM+~LTM9sDB3+8_>!5I9}1q;pRT*j_FXh(CU5fB(VnnUnAVKW+|E z>p`RW-1bv>eeMo!a<31`l)eAK58oFh%njKV`?)z_f$~819z?&prRZHZZMuXFVUULa0t>+TtEsJMy{( zt96dmZ9W+*$Sob2g|3a$q~kNIk#oo*MA@EtL^_H#v5waHR>XVa9?am=I{e3Y2Dpc7 zG$H=3=y2CT5r^JjKlrwE7_s-~$oVYFY^kqV&*J6g~%`!LM6wt;hZNz{?YF<(vhdW9|wm z7ZpoyvgOCGyd_WBu!&Q*tD+);^R?W=P$O}k^_s)?kA6q%FQhmtab%U!XQRB(-cSC~ zp*hb$C_U*aP>lt|p$6Am5T*dY4b9>Pq5Qz!hDUGw4JVxfrkhud;ePGDS@rwnavN zXPOi#^+!`bL6lopFPbBkClGLFwn_@KC0Zg_Lg^K3@Q9I{3ElxQTo>GOz^wrK& zs$YyeZr|oGLP%&I`uPuhK8}3MyYoK(^r;!Q_u=~;gLpcX%v|#RchL4tU-1?-Q;n}u zrxgfNxlUcN8Z>AhzX)98%m9W}K~3p2rwNYt7s7kd4nOX9jxFQ2_XkIuER zhB*NHbW5)QN*SdrKw6>8t4cFu(ZR|wl-q@5`4NP#`2a(fs6tGUPV6Kj_8ol8atfi=8o~2fzbdwoQkg(DAom!H-BY!|A?wQ%m6nHs3fm7F z)5iZK9I@6cLEC6s4;`y*-+ejRU2BzsGG&b+EXhO@h8belUiZu1;1Z#~`evX!JAvfv z=RgXYb)NW1jfd)tyge<1<@cehCV{|=t(|VYGGU0m+mYhv-~it7c7$d3oH(-Pq7RYI z$&2vjX}k`g|YJ|~wie}Q8K0S3_mubo7<`nc$E`%CCu}qb1Uwp| z2tsmEnyB(+pk;rD_2(m6WiOTLrQaBveCRGT=#kd+Mmy9j&`LYI{o{YLaykMkX+S)% z_XhyD5Axpq`dab;0I(${7+grVRu-^p-X~e=Oq^uZ(~ZWN;Hy;prFlgjIljt`c595t zrfPH#q0$LKNwU=f%_yVD1rp6JRsnC@J}{y{qaVo7iVO4FB_aYz?W7WKw04P@)LH4`;PsV7;47TCdp8S_)|$m z%`&kjVE#N3aX8NJF`emWG>od}h+fm!#SHJRxWf25oO<|2wTd6oQ6)9kXsrFzBm{R& za}VTRtW0G~;)RaNyCJrLgt9V!@TP9-%mt)UeBOj>HjA1Dia%>n>B%oq#2%O&e>3nh zWVYSfqEY$6Mh4IxO0-ppi>zUBcDJH+{C1i+(P`=;p5{7h_jR*lmZtOT_b4f!P8yiu zv$tmQEq?PCck{D1Pzx`U-|XiirBo!Q?pGq(lAxx@CN}AyZT8emKj3?stEH_}x~2Ty zvF(6)h)aBdoCz~417$Uk!1Xo5r$BDDuzyPc_<0Dplr%Q>^60K80s1X9;lIW}s^&-N z%KW8yMPRQX1J2Rj-b)>QO+2fyguukS#Kye9I3X>+L?I2cx}Z;a#F&tf z$#0QiAzCx{Uk`lR+odQgDH|+LRZ~?hGu=gZ ziV7vg2?*%RyGjZYauZ{UAkQn<@c^@-IXSx!KUZ+ z4Xwy((H6cJrS*X0sDp}i(}HM3l%!sy@r1wlfuh4n9g**OiFy438^8nL&5#Vib<%5> z4SX3l_#ZL=jaUHTU>RhiK)Ysr z?0)=JU>1htB`_#;@Bhyb@bx87y%^gFk^xr8%O`oq=#t9PWaZu=^Fzvzg%T_YBT40~ zA&y(1&s#)QhpV<9UphbR#6^6Juz<*sROl!F!Nc|zMSP+tUb>^g#LHBdPZW1fqj^IR zq2U+8T7m5Tp@NoElv&HC4mw?XMa+e2+U_^eI<<1@dMIr2MZVY1{NIaN{D#`7U;=xl z>CP7s+;O=AKwJTdIbV4*|BnQLdnpm%1Vww-AEZVp@4C;p@m&XZFSgm`A-q!mjs6D} zF8trBF!etwOb-x6Aix0qHy|;15dC_z-oMKpShlZhTEvl~w4V+0x7eX%NuL5RK5oQ` zzf%8={=aM{=KU|(#K!s$HbsgE&_MqUNb-+j{9hHR1wD@hg{bHk6?{y#`!O{PYUHPm zqEcIqt$&)NerZ;+H#Qu}8?Bi()5`xdw}qeQK+)kza~8|KL5)w4FWpJn2+ z@jqY{6nH(}cRg_VkgvL#cWNgI^oQ);`9Dv8C57XfMsfN=9Kvsu!x(BgiXjatIb;~f zaml|#lf;7EoOk7b!jCg+B7xyOUV*N26L`uo^V)M>m@6Dd`D zK$rXbr09s)pMnTaPr{?!NO|Xj!n4Y}Xwt|Y>6LEeKxNu*!2-FbdhIm$lU|&q#zpG8 z5#m8JqzJS>NaIFh)kjH5DT{x@CjGw`T5wYtoUK! z?RU7L;m&=*bOzom#^k}i(mq-N%43i6X%WtI{ z@OHhc(3!6D8|;%jtI*M2w9?)PXHfbmTAuH?d#HIZnR{`?%$2ivSaNR~x(g(Wk+VJ% z8olfXhKm#1OhQwwh_$!asfJ1YY{HRm*^layz(aiuoVj3t(|xGEJ`O+oJ~rm4ZBPC{ zy9`Ye^t;8t3qmq&pg=Aj(Wd_6%4&=Dq=eG$8+GM5|3y6f+-3}~6+G1z>&M$dfWa zFA?hR2)gd!zJ$N~-U3Y<8O6l@C)v&HSGK=79C3X}g1ZVatSx;iRw(+M{7~JtHk3bU zAsqx~!&glqcHadS0%ri}vN1M9vD8;2QuJA`|?~e(N-br&~!Ck}T+!n%r zu*NQRrsrn4LrXO7o#H+xxO8|MZg5$tpoQ%z7P=pZA37^dmnTGRCIqC0qaEtv5c=ho zuq@+o&AoIYDMEcb?&vYe>OLEuDD}RP*+7{A-UDrRIoM>qF%zy!T}p(R>xrfdS;>dg zv&LuzJ>388SMW1oH;i;t6KROxfSmlO%WRLY^-?S@~cXOZ2B2U`yfJKo|BA^@rl7rl7KyU%d$bUu; z4WRp2a7Ie6J%uz*T?!E_kke_(U||`OE&hx8^%ZbcHS0ap90di1A<{iiWN&` zaw+iQ72#6ZZDlh|59hly)>W!~zEs#npO|7J3O_CUSw^+3ZYyu! zQ`D19fB|PTF(}nQ3WL|QgLbNV_(v3tpeJ!)ad8V1$4@S zqC&hPEb1c>iLP!kLJ=KXeF-H?D^^J%5k<4e2R@3Al8}qEe9&ZcWYDts(4`r?WU|n< z1#)l^fphmR$CgxmE>1weE*lfrK^;i(>OTb#{14unLC@pCypI#0+oVQ@!yc7?x-uI? z$*T0A{>K^qFZU35AZv*t=;nX$WM^h%{(pF~11a%eztsm~06eV)hE`BW05eb`-~?-w z{KxbAOFQOA{Qf^23;eHD%qtZr`X71^jsLq&4mK9eKb@QcAjFseFVI3D1wtV(-#?-{ zHRyBHXCXUF$4DVPzepjaDj_RJCnG_tC3!gtdckB3J;s$x7pI zxxzcvRy8j0bjnavt7O1^j{gLC&?nx39?+5y3EMk(I$4@qxDZhqQxP#UGIG#?A}%5o zLu*rK3riw7No5I15kYtoc+fl2pzzNy2S^2401N`qx9)FVuK<7!5KaQ~5Fd_tL+$Ju zT<&h~Yr`V!VRgOUeG|}HLgT4u*`j;AIfyxAU z{s9c1Kp`2-j-Uc+VAyt3v2Cs|jlblQGrd97*(=502(+I=91~JMBf2ol0s8y5xrc)g z?gl>~ddBS0BFQOV%JDmJAt^pUFD7ArZOUi5h<;e@a_AlKyy@7<6O@i4z`-gCog2jB zoI!QAB&M>GVr?E#7)eCXS>X<`89jr__+m7XbSWjG_k6lt`^)0)(Qns3#kT*+Jde*pIP*m3{> diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/fncache b/.vim/bundle/vim-fuzzyfinder/.hg/store/fncache deleted file mode 100644 index bf1aa9b..0000000 --- a/.vim/bundle/vim-fuzzyfinder/.hg/store/fncache +++ /dev/null @@ -1,33 +0,0 @@ -data/.hgtags.i -data/autoload/fuf.vim.i -data/autoload/fuf.vim.rej.i -data/autoload/fuf/allfile.vim.i -data/autoload/fuf/aroundmrufile.vim.i -data/autoload/fuf/bookmark.vim.i -data/autoload/fuf/bookmarkdir.vim.i -data/autoload/fuf/bookmarkfile.vim.i -data/autoload/fuf/buffer.vim.i -data/autoload/fuf/buffertag.vim.i -data/autoload/fuf/callbackfile.vim.i -data/autoload/fuf/callbackitem.vim.i -data/autoload/fuf/changelist.vim.i -data/autoload/fuf/coveragefile.vim.i -data/autoload/fuf/dir.vim.i -data/autoload/fuf/file.vim.i -data/autoload/fuf/givencmd.vim.i -data/autoload/fuf/givendir.vim.i -data/autoload/fuf/givenfile.vim.i -data/autoload/fuf/help.vim.i -data/autoload/fuf/jumplist.vim.i -data/autoload/fuf/line.vim.i -data/autoload/fuf/mrucmd.vim.i -data/autoload/fuf/mrufile.vim.i -data/autoload/fuf/quickfix.vim.i -data/autoload/fuf/tag.vim.i -data/autoload/fuf/taggedfile.vim.i -data/doc/fuf.jax.i -data/doc/fuf.txt.i -data/doc/fuzzyfinder.jax.i -data/doc/fuzzyfinder.txt.i -data/plugin/fuf.vim.i -data/plugin/fuzzyfinder.vim.i diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/store/undo b/.vim/bundle/vim-fuzzyfinder/.hg/store/undo deleted file mode 100644 index 5de47291cc6575790173e23118b9175bb20eac0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1102 zcma)5TXMr749s^9W4Mw60?X#%67V=VeJB~%?IaQXMB3E~X(go^Ay{0F)eE1T9Q4!%CjXB%I!71vqEO;b*>p6id)Pl@9I_{pG)f28lsuR`A&-k3glm(;99{W=L9RXe^3w&T3^ jVBUTm?=yJ6-wXv^UHgV{B>ylMS1g6s8~=$PyxnsTZ~}ns diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/tags.cache b/.vim/bundle/vim-fuzzyfinder/.hg/tags.cache deleted file mode 100644 index 514e44e..0000000 --- a/.vim/bundle/vim-fuzzyfinder/.hg/tags.cache +++ /dev/null @@ -1,37 +0,0 @@ -329 4014e500fb8d90e4906fb63b500c67dab92fdd9e 3b8d45ee3174b5163a5978766f8ad7595a9a35c7 - -8b503e03294bfee2391550ea1c25d9abe619d947 2.9 -ab897fc2f4c1bb5d30918a925bcc123bab59a79f 2.8 -1bdf383f40c90ed71dc4aaa25ca50e9afc1d95ea 3.2 -747edb3f3b4c187fcd38aac896fc8d8a107b8e1c 3.3 -e8bcbf4bf440ad14602cb8d11f2c15447a38df60 3.0 -ea42cdfe7cdd635d5965b4dc6edda0ae5e374f38 3.1 -cf9f65e5dd9e06fbdd28864fbe62fc0688afd02d 2.7 -12fd426abbc05bbacb1b24aab95dd1f7961df865 2.6 -1117ddd9a19b525c324b10b4911dcd67fb89eb66 4.1 -7d7aa8a1c62c41d3064125e7f9dafddd31c9bb78 4.0 -dee72a3e6790d6859454653b8eec56b37359247a 4.2 -ca56346d327bbcb61ba47dfc9e9cf31792b78cec 2.19 -1c1996f7dc544ac58ce3690093de1aea968dcad6 2.18 -96c547a54644878708a2155f33cb5547fe3cbf70 2.22.0 -b72936ccf5a96340dcfd6742b574a35313642c70 2.22.1 -2ce20535b10cde9c8c76f23a5ce66a6b64cc8775 2.22.2 -910105ab1b8eda365c4074fc272dc564dfe0f4bb 2.14 -29e0f8d83208931bd7a3b0d50f8c6aff26189e1e 2.13 -ae392ea7870399aa91b1f227fb851c35373778aa 2.12 -1d04353cf94a95da831add20bcae270f52e0df5d 2.11 -7423b8e0af6b25e3c86c2e5285951a32d45cff85 2.10 -eca54ee53e9c4e8a26585d882fb3cb63938aedbd 2.21.0 -2acd9f721c0ee8852c8a2f5d2764a1ddafd01b95 2.17 -3dfda50187099bda28dec2035b9d0197cc3e60ee 2.16 -5830ee92a86aea9e19e87c94ef4e07babd80e02a 2.15 -6686856c4cd7a3ba0a35edaf333f78d06609ed48 4.1.1 -1934aa0f4065b702c379f3b7abc4bda1526eeffe 2.22.3 -fe1572fcdfedd27cf816dbb533acfa403ad626a6 2.6.1 -23cf697e42ec871e391a097c811f2337c1a3b4a0 2.6.2 -13463a6e73364f373618b322ff509266bfc33e35 3.4 -90d30a932a172df9e8d94333092440db668fa301 2.8.1 -8a46435f4532a77102eff580e2be44c9737ec89f 4.2.2 -672cfc1651da9e8fb2025846fb7c4a8fb6c9aa98 4.2.1 -21629b1a14f4b86396898532dee5e58ca0843082 3.5 -adcae4f87ad44e9ed1d864acf69d8b1c232fe68c 2.20 diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/undo.branch b/.vim/bundle/vim-fuzzyfinder/.hg/undo.branch deleted file mode 100644 index 331d858..0000000 --- a/.vim/bundle/vim-fuzzyfinder/.hg/undo.branch +++ /dev/null @@ -1 +0,0 @@ -default \ No newline at end of file diff --git a/.vim/bundle/vim-fuzzyfinder/.hg/undo.dirstate b/.vim/bundle/vim-fuzzyfinder/.hg/undo.dirstate deleted file mode 100644 index e69de29..0000000 diff --git a/.vim/bundle/vim-fuzzyfinder/.hgtags b/.vim/bundle/vim-fuzzyfinder/.hgtags deleted file mode 100644 index 8c702c9..0000000 --- a/.vim/bundle/vim-fuzzyfinder/.hgtags +++ /dev/null @@ -1,35 +0,0 @@ -12fd426abbc05bbacb1b24aab95dd1f7961df865 2.6 -fe1572fcdfedd27cf816dbb533acfa403ad626a6 2.6.1 -23cf697e42ec871e391a097c811f2337c1a3b4a0 2.6.2 -cf9f65e5dd9e06fbdd28864fbe62fc0688afd02d 2.7 -ab897fc2f4c1bb5d30918a925bcc123bab59a79f 2.8 -90d30a932a172df9e8d94333092440db668fa301 2.8.1 -8b503e03294bfee2391550ea1c25d9abe619d947 2.9 -7423b8e0af6b25e3c86c2e5285951a32d45cff85 2.10 -1d04353cf94a95da831add20bcae270f52e0df5d 2.11 -ae392ea7870399aa91b1f227fb851c35373778aa 2.12 -29e0f8d83208931bd7a3b0d50f8c6aff26189e1e 2.13 -910105ab1b8eda365c4074fc272dc564dfe0f4bb 2.14 -5830ee92a86aea9e19e87c94ef4e07babd80e02a 2.15 -3dfda50187099bda28dec2035b9d0197cc3e60ee 2.16 -2acd9f721c0ee8852c8a2f5d2764a1ddafd01b95 2.17 -1c1996f7dc544ac58ce3690093de1aea968dcad6 2.18 -ca56346d327bbcb61ba47dfc9e9cf31792b78cec 2.19 -adcae4f87ad44e9ed1d864acf69d8b1c232fe68c 2.20 -eca54ee53e9c4e8a26585d882fb3cb63938aedbd 2.21.0 -96c547a54644878708a2155f33cb5547fe3cbf70 2.22.0 -b72936ccf5a96340dcfd6742b574a35313642c70 2.22.1 -2ce20535b10cde9c8c76f23a5ce66a6b64cc8775 2.22.2 -1934aa0f4065b702c379f3b7abc4bda1526eeffe 2.22.3 -e8bcbf4bf440ad14602cb8d11f2c15447a38df60 3.0 -ea42cdfe7cdd635d5965b4dc6edda0ae5e374f38 3.1 -1bdf383f40c90ed71dc4aaa25ca50e9afc1d95ea 3.2 -747edb3f3b4c187fcd38aac896fc8d8a107b8e1c 3.3 -13463a6e73364f373618b322ff509266bfc33e35 3.4 -21629b1a14f4b86396898532dee5e58ca0843082 3.5 -7d7aa8a1c62c41d3064125e7f9dafddd31c9bb78 4.0 -1117ddd9a19b525c324b10b4911dcd67fb89eb66 4.1 -6686856c4cd7a3ba0a35edaf333f78d06609ed48 4.1.1 -dee72a3e6790d6859454653b8eec56b37359247a 4.2 -672cfc1651da9e8fb2025846fb7c4a8fb6c9aa98 4.2.1 -8a46435f4532a77102eff580e2be44c9737ec89f 4.2.2 diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf.vim deleted file mode 100644 index fe9e6eb..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf.vim +++ /dev/null @@ -1,1046 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - - -" returns list of paths. -" An argument for glob() is normalized in order to avoid a bug on Windows. -function fuf#glob(expr) - " Substitutes "\", because on Windows, "**\" doesn't include ".\", - " but "**/" include "./". I don't know why. - return split(glob(substitute(a:expr, '\', '/', 'g')), "\n") -endfunction - -" -function fuf#countModifiedFiles(files, time) - return len(filter(copy(a:files), 'getftime(expand(v:val)) > a:time')) -endfunction - -" -function fuf#getCurrentTagFiles() - return sort(filter(map(tagfiles(), 'fnamemodify(v:val, '':p'')'), 'filereadable(v:val)')) -endfunction - -" -function fuf#mapToSetSerialIndex(in, offset) - for i in range(len(a:in)) - let a:in[i].index = i + a:offset - endfor - return a:in -endfunction - -" -function fuf#updateMruList(mrulist, newItem, maxItem, exclude) - let result = copy(a:mrulist) - let result = filter(result,'v:val.word !=# a:newItem.word') - let result = insert(result, a:newItem) - if len(a:exclude) - let result = filter(result, 'v:val.word !~ a:exclude') - endif - return result[0 : a:maxItem - 1] -endfunction - -" takes suffix number. if no digits, returns -1 -function fuf#suffixNumber(str) - let s = matchstr(a:str, '\d\+$') - return (len(s) ? str2nr(s) : -1) -endfunction - -" "foo/bar/buz/hoge" -> { head: "foo/bar/buz/", tail: "hoge" } -function fuf#splitPath(path) - let head = matchstr(a:path, '^.*[/\\]') - return { - \ 'head' : head, - \ 'tail' : a:path[strlen(head):] - \ } -endfunction - -" "foo/.../bar/...hoge" -> "foo/.../bar/../../hoge" -function fuf#expandTailDotSequenceToParentDir(pattern) - return substitute(a:pattern, '^\(.*[/\\]\)\?\zs\.\(\.\+\)\ze[^/\\]*$', - \ '\=repeat(".." . l9#getPathSeparator(), len(submatch(2)))', '') -endfunction - -" -function fuf#formatPrompt(prompt, partialMatching, otherString) - let indicator = escape((a:partialMatching ? '!' : '') . a:otherString, '\') - return substitute(a:prompt, '[]', indicator, 'g') -endfunction - -" -function fuf#getFileLines(file) - let bufnr = (type(a:file) ==# type(0) ? a:file : bufnr('^' . a:file . '$')) - let lines = getbufline(bufnr, 1, '$') - if !empty(lines) - return lines - endif - return l9#readFile(a:file) -endfunction - -" -function fuf#makePreviewLinesAround(lines, indices, page, maxHeight) - let index = ((empty(a:indices) ? 0 : a:indices[0]) - \ + a:page * a:maxHeight) % len(a:lines) - if empty(a:lines) || a:maxHeight <= 0 - return [] - endif - let beg = max([0, index - a:maxHeight / 2]) - let end = min([beg + a:maxHeight, len(a:lines)]) - let beg = max([0, end - a:maxHeight]) - let lines = [] - for i in range(beg, end - 1) - let mark = (count(a:indices, i) ? '>' : ' ') - call add(lines, printf('%s%4d ', mark, i + 1) . a:lines[i]) - endfor - return lines -endfunction - -" a:file: a path string or a buffer number -function fuf#makePreviewLinesForFile(file, count, maxHeight) - let lines = fuf#getFileLines(a:file) - if empty(lines) - return [] - endif - let bufnr = (type(a:file) ==# type(0) ? a:file : bufnr('^' . a:file . '$')) - if exists('s:bufferCursorPosMap[bufnr]') - let indices = [s:bufferCursorPosMap[bufnr][1] - 1] - else - let indices = [] - endif - return fuf#makePreviewLinesAround( - \ lines, indices, a:count, a:maxHeight) -endfunction - -" -function fuf#echoWarning(msg) - call l9#echoHl('WarningMsg', a:msg, '[fuf] ', 1) -endfunction - -" -function fuf#echoError(msg) - call l9#echoHl('ErrorMsg', a:msg, '[fuf] ', 1) -endfunction - -" -function fuf#openBuffer(bufNr, mode, reuse) - if a:reuse && ((a:mode ==# s:OPEN_TYPE_SPLIT && - \ l9#moveToBufferWindowInCurrentTabpage(a:bufNr)) || - \ (a:mode ==# s:OPEN_TYPE_VSPLIT && - \ l9#moveToBufferWindowInCurrentTabpage(a:bufNr)) || - \ (a:mode ==# s:OPEN_TYPE_TAB && - \ l9#moveToBufferWindowInOtherTabpage(a:bufNr))) - return - endif - execute printf({ - \ s:OPEN_TYPE_CURRENT : '%sbuffer' , - \ s:OPEN_TYPE_SPLIT : '%ssbuffer' , - \ s:OPEN_TYPE_VSPLIT : 'vertical %ssbuffer', - \ s:OPEN_TYPE_TAB : 'tab %ssbuffer' , - \ }[a:mode], a:bufNr) -endfunction - -" -function fuf#openFile(path, mode, reuse) - let bufNr = bufnr('^' . a:path . '$') - if bufNr > -1 - call fuf#openBuffer(bufNr, a:mode, a:reuse) - else - execute { - \ s:OPEN_TYPE_CURRENT : 'edit ' , - \ s:OPEN_TYPE_SPLIT : 'split ' , - \ s:OPEN_TYPE_VSPLIT : 'vsplit ' , - \ s:OPEN_TYPE_TAB : 'tabedit ', - \ }[a:mode] . fnameescape(fnamemodify(a:path, ':~:.')) - endif -endfunction - -" -function fuf#openTag(tag, mode) - execute { - \ s:OPEN_TYPE_CURRENT : 'tjump ' , - \ s:OPEN_TYPE_SPLIT : 'stjump ' , - \ s:OPEN_TYPE_VSPLIT : 'vertical stjump ', - \ s:OPEN_TYPE_TAB : 'tab stjump ' , - \ }[a:mode] . a:tag -endfunction - -" -function fuf#openHelp(tag, mode) - execute { - \ s:OPEN_TYPE_CURRENT : 'help ' , - \ s:OPEN_TYPE_SPLIT : 'help ' , - \ s:OPEN_TYPE_VSPLIT : 'vertical help ', - \ s:OPEN_TYPE_TAB : 'tab help ' , - \ }[a:mode] . a:tag -endfunction - -" -function fuf#prejump(mode) - execute { - \ s:OPEN_TYPE_CURRENT : '' , - \ s:OPEN_TYPE_SPLIT : 'split' , - \ s:OPEN_TYPE_VSPLIT : 'vsplit' , - \ s:OPEN_TYPE_TAB : 'tab split', - \ }[a:mode] -endfunction - -" -function fuf#compareRanks(i1, i2) - if exists('a:i1.ranks') && exists('a:i2.ranks') - for i in range(min([len(a:i1.ranks), len(a:i2.ranks)])) - if a:i1.ranks[i] > a:i2.ranks[i] - return +1 - elseif a:i1.ranks[i] < a:i2.ranks[i] - return -1 - endif - endfor - endif - return 0 -endfunction - -" -function fuf#makePathItem(fname, menu, appendsDirSuffix) - let pathPair = fuf#splitPath(a:fname) - let dirSuffix = (a:appendsDirSuffix && isdirectory(expand(a:fname)) - \ ? l9#getPathSeparator() - \ : '') - return { - \ 'word' : a:fname . dirSuffix, - \ 'wordForPrimaryHead': s:toLowerForIgnoringCase(pathPair.head), - \ 'wordForPrimaryTail': s:toLowerForIgnoringCase(pathPair.tail), - \ 'wordForBoundary' : s:toLowerForIgnoringCase(s:getWordBoundaries(pathPair.tail)), - \ 'wordForRefining' : s:toLowerForIgnoringCase(a:fname . dirSuffix), - \ 'wordForRank' : s:toLowerForIgnoringCase(pathPair.tail), - \ 'menu' : a:menu, - \ } -endfunction - -" -function fuf#makeNonPathItem(word, menu) - let wordL = s:toLowerForIgnoringCase(a:word) - return { - \ 'word' : a:word, - \ 'wordForPrimary' : wordL, - \ 'wordForBoundary': s:toLowerForIgnoringCase(s:getWordBoundaries(a:word)), - \ 'wordForRefining': wordL, - \ 'wordForRank' : wordL, - \ 'menu' : a:menu, - \ } -endfunction - -" -function fuf#makePatternSet(patternBase, interpreter, partialMatching) - let MakeMatchingExpr = function(a:partialMatching - \ ? 's:makePartialMatchingExpr' - \ : 's:makeFuzzyMatchingExpr') - let [primary; refinings] = split(a:patternBase, g:fuf_patternSeparator, 1) - let elements = call(a:interpreter, [primary]) - let primaryExprs = map(elements.matchingPairs, 'MakeMatchingExpr(v:val[0], v:val[1])') - let refiningExprs = map(refinings, 's:makeRefiningExpr(v:val)') - return { - \ 'primary' : elements.primary, - \ 'primaryForRank': elements.primaryForRank, - \ 'filteringExpr' : join(primaryExprs + refiningExprs, ' && '), - \ } -endfunction - -" -function fuf#enumExpandedDirsEntries(dir, exclude) - let entries = fuf#glob(a:dir . '*') + fuf#glob(a:dir . '.*') - " removes "*/." and "*/.." - call filter(entries, 'v:val !~ ''\v(^|[/\\])\.\.?$''') - call map(entries, 'fuf#makePathItem(v:val, "", 1)') - if len(a:exclude) - call filter(entries, 'v:val.word !~ a:exclude') - endif - return entries -endfunction - -" -function fuf#mapToSetAbbrWithSnippedWordAsPath(items) - let maxLenStats = {} - call map(a:items, 's:makeFileAbbrInfo(v:val, maxLenStats)') - let snippedHeads = - \ map(maxLenStats, 's:getSnippedHead(v:key[: -2], v:val)') - return map(a:items, 's:setAbbrWithFileAbbrData(v:val, snippedHeads)') -endfunction - -" -function fuf#setAbbrWithFormattedWord(item, abbrIndex) - let lenMenu = (exists('a:item.menu') ? len(a:item.menu) + 2 : 0) - let abbrPrefix = (exists('a:item.abbrPrefix') ? a:item.abbrPrefix : '') - let a:item.abbr = abbrPrefix . a:item.word - if a:abbrIndex - let a:item.abbr = printf('%4d: ', a:item.index) . a:item.abbr - endif - let a:item.abbr = l9#snipTail(a:item.abbr, g:fuf_maxMenuWidth - lenMenu, s:ABBR_SNIP_MASK) - return a:item -endfunction - -" -function s:onCommandPre() - for m in filter(copy(fuf#getModeNames()), 'fuf#{v:val}#requiresOnCommandPre()') - call fuf#{m}#onCommandPre(getcmdtype() . getcmdline()) - endfor - " lets last entry become the newest in the history - call histadd(getcmdtype(), getcmdline()) - " this is not mapped again (:help recursive_mapping) - return "\" -endfunction - -" -let s:modeNames = [] - -" -function fuf#addMode(modeName) - if count(g:fuf_modesDisable, a:modeName) > 0 - return - endif - call add(s:modeNames, a:modeName) - call fuf#{a:modeName}#renewCache() - call fuf#{a:modeName}#onInit() - if fuf#{a:modeName}#requiresOnCommandPre() - " cnoremap has a problem, which doesn't expand cabbrev. - cmap onCommandPre() - endif -endfunction - -" -function fuf#getModeNames() - return s:modeNames -endfunction - -" -function fuf#defineLaunchCommand(CmdName, modeName, prefixInitialPattern, tempVars) - if empty(a:tempVars) - let preCmd = '' - else - let preCmd = printf('call l9#tempvariables#setList(%s, %s) | ', - \ string(s:TEMP_VARIABLES_GROUP), string(a:tempVars)) - endif - execute printf('command! -range -bang -narg=? %s %s call fuf#launch(%s, %s . , len())', - \ a:CmdName, preCmd, string(a:modeName), a:prefixInitialPattern) -endfunction - -" -function fuf#defineKeyMappingInHandler(key, func) - " hacks to be able to use feedkeys(). - execute printf( - \ 'inoremap %s =fuf#getRunningHandler().%s ? "" : ""', - \ a:key, a:func) -endfunction - -" -let s:oneTimeVariables = [] - -" -function fuf#setOneTimeVariables(...) - let s:oneTimeVariables += a:000 -endfunction - -" -function fuf#launch(modeName, initialPattern, partialMatching) - if exists('s:runningHandler') - call fuf#echoWarning('FuzzyFinder is running.') - endif - if count(fuf#getModeNames(), a:modeName) == 0 - echoerr 'This mode is not available: ' . a:modeName - return - endif - let s:runningHandler = fuf#{a:modeName}#createHandler(copy(s:handlerBase)) - let s:runningHandler.stats = fuf#loadDataFile(s:runningHandler.getModeName(), 'stats') - let s:runningHandler.partialMatching = a:partialMatching - let s:runningHandler.bufNrPrev = bufnr('%') - let s:runningHandler.lastCol = -1 - let s:runningHandler.windowRestoringCommand = winrestcmd() - call s:runningHandler.onModeEnterPre() - " NOTE: updatetime is set, because in Buffer-Tag mode on Vim 7.3 on Windows, - " Vim keeps from triggering CursorMovedI for updatetime after system() is - " called. I don't know why. - call fuf#setOneTimeVariables( - \ ['&completeopt', 'menuone'], - \ ['&ignorecase', 0], - \ ['&updatetime', 10], - \ ) - if s:runningHandler.getPreviewHeight() > 0 - call fuf#setOneTimeVariables( - \ ['&cmdheight', s:runningHandler.getPreviewHeight() + 1]) - endif - call l9#tempvariables#setList(s:TEMP_VARIABLES_GROUP, s:oneTimeVariables) - let s:oneTimeVariables = [] - call s:activateFufBuffer() - augroup FufLocal - autocmd! - autocmd CursorMovedI call s:runningHandler.onCursorMovedI() - autocmd InsertLeave nested call s:runningHandler.onInsertLeave() - augroup END - for [key, func] in [ - \ [ g:fuf_keyOpen , 'onCr(' . s:OPEN_TYPE_CURRENT . ')' ], - \ [ g:fuf_keyOpenSplit , 'onCr(' . s:OPEN_TYPE_SPLIT . ')' ], - \ [ g:fuf_keyOpenVsplit , 'onCr(' . s:OPEN_TYPE_VSPLIT . ')' ], - \ [ g:fuf_keyOpenTabpage , 'onCr(' . s:OPEN_TYPE_TAB . ')' ], - \ [ '' , 'onBs()' ], - \ [ '' , 'onBs()' ], - \ [ '' , 'onDeleteWord()' ], - \ [ g:fuf_keyPreview , 'onPreviewBase(1)' ], - \ [ g:fuf_keyNextMode , 'onSwitchMode(+1)' ], - \ [ g:fuf_keyPrevMode , 'onSwitchMode(-1)' ], - \ [ g:fuf_keySwitchMatching, 'onSwitchMatching()' ], - \ [ g:fuf_keyPrevPattern , 'onRecallPattern(+1)' ], - \ [ g:fuf_keyNextPattern , 'onRecallPattern(-1)' ], - \ ] - call fuf#defineKeyMappingInHandler(key, func) - endfor - " Starts Insert mode and makes CursorMovedI event now. Command prompt is - " needed to forces a completion menu to update every typing. - call setline(1, s:runningHandler.getPrompt() . a:initialPattern) - call s:runningHandler.onModeEnterPost() - call feedkeys("A", 'n') " startinsert! does not work in InsertLeave event handler - redraw -endfunction - -" -function fuf#loadDataFile(modeName, dataName) - if !s:dataFileAvailable - return [] - endif - let lines = l9#readFile(l9#concatPaths([g:fuf_dataDir, a:modeName, a:dataName])) - return map(lines, 'eval(v:val)') -endfunction - -" -function fuf#saveDataFile(modeName, dataName, items) - if !s:dataFileAvailable - return -1 - endif - let lines = map(copy(a:items), 'string(v:val)') - return l9#writeFile(lines, l9#concatPaths([g:fuf_dataDir, a:modeName, a:dataName])) -endfunction - -" -function fuf#getDataFileTime(modeName, dataName) - if !s:dataFileAvailable - return -1 - endif - return getftime(expand(l9#concatPaths([g:fuf_dataDir, a:modeName, a:dataName]))) -endfunction - -" -function s:createDataBufferListener(dataFile) - let listener = { 'dataFile': a:dataFile } - - function listener.onWrite(lines) - let [modeName, dataName] = split(self.dataFile, l9#getPathSeparator()) - let items = map(filter(a:lines, '!empty(v:val)'), 'eval(v:val)') - call fuf#saveDataFile(modeName, dataName, items) - echo "Data files updated" - return 1 - endfunction - - return listener -endfunction - -" -function s:createEditDataListener() - let listener = {} - - function listener.onComplete(dataFile, method) - let bufName = '[fuf-info]' - let lines = l9#readFile(l9#concatPaths([g:fuf_dataDir, a:dataFile])) - call l9#tempbuffer#openWritable(bufName, 'vim', lines, 0, 0, 0, - \ s:createDataBufferListener(a:dataFile)) - endfunction - - return listener -endfunction - -" -function s:getEditableDataFiles(modeName) - let dataFiles = fuf#{a:modeName}#getEditableDataNames() - call filter(dataFiles, 'fuf#getDataFileTime(a:modeName, v:val) != -1') - return map(dataFiles, 'l9#concatPaths([a:modeName, v:val])') -endfunction - -" -function fuf#editDataFile() - let dataFiles = map(copy(fuf#getModeNames()), 's:getEditableDataFiles(v:val)') - let dataFiles = l9#concat(dataFiles) - call fuf#callbackitem#launch('', 0, '>Mode>', s:createEditDataListener(), dataFiles, 0) -endfunction - -" -function fuf#getRunningHandler() - return s:runningHandler -endfunction - -" -function fuf#onComplete(findstart, base) - return s:runningHandler.onComplete(a:findstart, a:base) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:TEMP_VARIABLES_GROUP = expand(':p') -let s:ABBR_SNIP_MASK = '...' -let s:OPEN_TYPE_CURRENT = 1 -let s:OPEN_TYPE_SPLIT = 2 -let s:OPEN_TYPE_VSPLIT = 3 -let s:OPEN_TYPE_TAB = 4 - -" a:pattern: 'str' -> '\V\.\*s\.\*t\.\*r\.\*' -function s:makeFuzzyMatchingExpr(target, pattern) - let wi = '' - for c in split(a:pattern, '\zs') - if wi =~# '[^*?]$' && c !~ '[*?]' - let wi .= '*' - endif - let wi .= c - endfor - return s:makePartialMatchingExpr(a:target, wi) -endfunction - -" a:pattern: 'str' -> '\Vstr' -" 'st*r' -> '\Vst\.\*r' -function s:makePartialMatchingExpr(target, pattern) - let patternMigemo = s:makeAdditionalMigemoPattern(a:pattern) - if a:pattern !~ '[*?]' && empty(patternMigemo) - " NOTE: stridx is faster than regexp matching - return 'stridx(' . a:target . ', ' . string(a:pattern) . ') >= 0' - endif - return a:target . ' =~# ' . - \ string(l9#convertWildcardToRegexp(a:pattern)) . patternMigemo -endfunction - -" -function s:makeRefiningExpr(pattern) - if g:fuf_fuzzyRefining - let expr = s:makeFuzzyMatchingExpr('v:val.wordForRefining', a:pattern) - else - let expr = s:makePartialMatchingExpr('v:val.wordForRefining', a:pattern) - endif - if a:pattern =~# '\D' - return expr - else - return '(' . expr . ' || v:val.index == ' . string(a:pattern) . ')' - endif -endfunction - -" -function s:makeAdditionalMigemoPattern(pattern) - if !g:fuf_useMigemo || a:pattern =~# '[^\x01-\x7e]' - return '' - endif - return '\|\m' . substitute(migemo(a:pattern), '\\_s\*', '.*', 'g') -endfunction - -" -function s:interpretPrimaryPatternForPathTail(pattern) - let pattern = fuf#expandTailDotSequenceToParentDir(a:pattern) - let pairL = fuf#splitPath(s:toLowerForIgnoringCase(pattern)) - return { - \ 'primary' : pattern, - \ 'primaryForRank': pairL.tail, - \ 'matchingPairs' : [['v:val.wordForPrimaryTail', pairL.tail],], - \ } -endfunction - -" -function s:interpretPrimaryPatternForPath(pattern) - let pattern = fuf#expandTailDotSequenceToParentDir(a:pattern) - let patternL = s:toLowerForIgnoringCase(pattern) - let pairL = fuf#splitPath(patternL) - if g:fuf_splitPathMatching - let matches = [ - \ ['v:val.wordForPrimaryHead', pairL.head], - \ ['v:val.wordForPrimaryTail', pairL.tail], - \ ] - else - let matches = [ - \ ['v:val.wordForPrimaryHead . v:val.wordForPrimaryTail', patternL], - \ ] - endif - return { - \ 'primary' : pattern, - \ 'primaryForRank': pairL.tail, - \ 'matchingPairs' : matches, - \ } -endfunction - -" -function s:interpretPrimaryPatternForNonPath(pattern) - let patternL = s:toLowerForIgnoringCase(a:pattern) - return { - \ 'primary' : a:pattern, - \ 'primaryForRank': patternL, - \ 'matchingPairs' : [['v:val.wordForPrimary', patternL],], - \ } -endfunction - -" -function s:getWordBoundaries(word) - return substitute(a:word, '\a\zs\l\+\|\zs\A', '', 'g') -endfunction - -" -function s:toLowerForIgnoringCase(str) - return (g:fuf_ignoreCase ? tolower(a:str) : a:str) -endfunction - -" -function s:setRanks(item, pattern, exprBoundary, stats) - "let word2 = substitute(a:eval_word, '\a\zs\l\+\|\zs\A', '', 'g') - let a:item.ranks = [ - \ s:evaluateLearningRank(a:item.word, a:stats), - \ -s:scoreSequentialMatching(a:item.wordForRank, a:pattern), - \ -s:scoreBoundaryMatching(a:item.wordForBoundary, - \ a:pattern, a:exprBoundary), - \ a:item.index, - \ ] - return a:item -endfunction - -" -function s:evaluateLearningRank(word, stats) - for i in range(len(a:stats)) - if a:stats[i].word ==# a:word - return i - endif - endfor - return len(a:stats) -endfunction - -" range of return value is [0.0, 1.0] -function s:scoreSequentialMatching(word, pattern) - if empty(a:pattern) - return str2float('0.0') - endif - let pos = stridx(a:word, a:pattern) - if pos < 0 - return str2float('0.0') - endif - let lenRest = len(a:word) - len(a:pattern) - pos - return str2float(pos == 0 ? '0.5' : '0.0') + str2float('0.5') / (lenRest + 1) -endfunction - -" range of return value is [0.0, 1.0] -function s:scoreBoundaryMatching(wordForBoundary, pattern, exprBoundary) - if empty(a:pattern) - return str2float('0.0') - endif - if !eval(a:exprBoundary) - return 0 - endif - return (s:scoreSequentialMatching(a:wordForBoundary, a:pattern) + 1) / 2 -endfunction - -" -function s:highlightPrompt(prompt) - syntax clear - execute printf('syntax match %s /^\V%s/', g:fuf_promptHighlight, escape(a:prompt, '\/')) -endfunction - -" -function s:highlightError() - syntax clear - syntax match Error /^.*$/ -endfunction - -" -function s:expandAbbrevMap(pattern, abbrevMap) - let result = [a:pattern] - for [pattern, subs] in items(a:abbrevMap) - let exprs = result - let result = [] - for expr in exprs - let result += map(copy(subs), 'substitute(expr, pattern, escape(v:val, ''\''), "g")') - endfor - endfor - return l9#unique(result) -endfunction - -" -function s:makeFileAbbrInfo(item, maxLenStats) - let head = matchstr(a:item.word, '^.*[/\\]\ze.') - let a:item.abbr = { 'head' : head, - \ 'tail' : a:item.word[strlen(head):], - \ 'key' : head . '.', - \ 'prefix' : printf('%4d: ', a:item.index), } - if exists('a:item.abbrPrefix') - let a:item.abbr.prefix .= a:item.abbrPrefix - endif - let len = len(a:item.abbr.prefix) + len(a:item.word) + - \ (exists('a:item.menu') ? len(a:item.menu) + 2 : 0) - if !exists('a:maxLenStats[a:item.abbr.key]') || len > a:maxLenStats[a:item.abbr.key] - let a:maxLenStats[a:item.abbr.key] = len - endif - return a:item -endfunction - -" -function s:getSnippedHead(head, baseLen) - return l9#snipMid(a:head, len(a:head) + g:fuf_maxMenuWidth - a:baseLen, s:ABBR_SNIP_MASK) -endfunction - -" -function s:setAbbrWithFileAbbrData(item, snippedHeads) - let lenMenu = (exists('a:item.menu') ? len(a:item.menu) + 2 : 0) - let abbr = a:item.abbr.prefix . a:snippedHeads[a:item.abbr.key] . a:item.abbr.tail - let a:item.abbr = l9#snipTail(abbr, g:fuf_maxMenuWidth - lenMenu, s:ABBR_SNIP_MASK) - return a:item -endfunction - -" -let s:FUF_BUF_NAME = '[fuf]' - -" -function s:activateFufBuffer() - " lcd . : To avoid the strange behavior that unnamed buffer changes its cwd - " if 'autochdir' was set on. - lcd . - let cwd = getcwd() - call l9#tempbuffer#openScratch(s:FUF_BUF_NAME, 'fuf', [], 1, 0, 1, {}) - resize 1 " for issue #21 - " lcd ... : countermeasure against auto-cd script - lcd `=cwd` - setlocal nocursorline " for highlighting - setlocal nocursorcolumn " for highlighting - setlocal omnifunc=fuf#onComplete - redraw " for 'lazyredraw' - if exists(':AcpLock') - AcpLock - elseif exists(':AutoComplPopLock') - AutoComplPopLock - endif -endfunction - -" -function s:deactivateFufBuffer() - if exists(':AcpUnlock') - AcpUnlock - elseif exists(':AutoComplPopUnlock') - AutoComplPopUnlock - endif - call l9#tempbuffer#close(s:FUF_BUF_NAME) -endfunction - -" }}}1 -"============================================================================= -" s:handlerBase {{{1 - -let s:handlerBase = {} - -"----------------------------------------------------------------------------- -" PURE VIRTUAL FUNCTIONS {{{2 -" -" " -" s:handler.getModeName() -" -" " -" s:handler.getPrompt() -" -" " -" s:handler.getCompleteItems(patternSet) -" -" " -" s:handler.onOpen(word, mode) -" -" " Before entering FuzzyFinder buffer. This function should return in a short time. -" s:handler.onModeEnterPre() -" -" " After entering FuzzyFinder buffer. -" s:handler.onModeEnterPost() -" -" " After leaving FuzzyFinder buffer. -" s:handler.onModeLeavePost(opened) -" -" }}}2 -"----------------------------------------------------------------------------- - -" -function s:handlerBase.concretize(deriv) - call extend(self, a:deriv, 'error') - return self -endfunction - -" -function s:handlerBase.addStat(pattern, word) - let stat = { 'pattern' : a:pattern, 'word' : a:word } - call filter(self.stats, 'v:val !=# stat') - call insert(self.stats, stat) - let self.stats = self.stats[0 : g:fuf_learningLimit - 1] -endfunction - -" -function s:handlerBase.getMatchingCompleteItems(patternBase) - let MakeMatchingExpr = function(self.partialMatching - \ ? 's:makePartialMatchingExpr' - \ : 's:makeFuzzyMatchingExpr') - let patternSet = self.makePatternSet(a:patternBase) - let exprBoundary = s:makeFuzzyMatchingExpr('a:wordForBoundary', patternSet.primaryForRank) - let stats = filter( - \ copy(self.stats), 'v:val.pattern ==# patternSet.primaryForRank') - let items = self.getCompleteItems(patternSet.primary) - " NOTE: In order to know an excess, plus 1 to limit number - let items = l9#filterWithLimit( - \ items, patternSet.filteringExpr, g:fuf_enumeratingLimit + 1) - return map(items, - \ 's:setRanks(v:val, patternSet.primaryForRank, exprBoundary, stats)') -endfunction - -" -function s:handlerBase.onComplete(findstart, base) - if a:findstart - return 0 - elseif !self.existsPrompt(a:base) - return [] - endif - call s:highlightPrompt(self.getPrompt()) - let items = [] - for patternBase in s:expandAbbrevMap(self.removePrompt(a:base), g:fuf_abbrevMap) - let items += self.getMatchingCompleteItems(patternBase) - if len(items) > g:fuf_enumeratingLimit - let items = items[ : g:fuf_enumeratingLimit - 1] - call s:highlightError() - break - endif - endfor - if empty(items) - call s:highlightError() - else - call sort(items, 'fuf#compareRanks') - if g:fuf_autoPreview - call feedkeys("\\\=fuf#getRunningHandler().onPreviewBase(0) ? '' : ''\", 'n') - else - call feedkeys("\\", 'n') - endif - let self.lastFirstWord = items[0].word - endif - return items -endfunction - -" -function s:handlerBase.existsPrompt(line) - return strlen(a:line) >= strlen(self.getPrompt()) && - \ a:line[:strlen(self.getPrompt()) -1] ==# self.getPrompt() -endfunction - -" -function s:handlerBase.removePrompt(line) - return a:line[(self.existsPrompt(a:line) ? strlen(self.getPrompt()) : 0):] -endfunction - -" -function s:handlerBase.restorePrompt(line) - let i = 0 - while i < len(self.getPrompt()) && i < len(a:line) && self.getPrompt()[i] ==# a:line[i] - let i += 1 - endwhile - return self.getPrompt() . a:line[i : ] -endfunction - -" -function s:handlerBase.onCursorMovedI() - if !self.existsPrompt(getline('.')) - call setline('.', self.restorePrompt(getline('.'))) - call feedkeys("\", 'n') - elseif col('.') <= len(self.getPrompt()) - " if the cursor is moved before command prompt - call feedkeys(repeat("\", len(self.getPrompt()) - col('.') + 1), 'n') - elseif col('.') > strlen(getline('.')) && col('.') != self.lastCol - " if the cursor is placed on the end of the line and has been actually moved. - let self.lastCol = col('.') - let self.lastPattern = self.removePrompt(getline('.')) - call feedkeys("\\", 'n') - endif -endfunction - -" -function s:handlerBase.onInsertLeave() - unlet s:runningHandler - let tempVars = l9#tempvariables#getList(s:TEMP_VARIABLES_GROUP) - call l9#tempvariables#end(s:TEMP_VARIABLES_GROUP) - call s:deactivateFufBuffer() - call fuf#saveDataFile(self.getModeName(), 'stats', self.stats) - execute self.windowRestoringCommand - let fOpen = exists('s:reservedCommand') - if fOpen - call self.onOpen(s:reservedCommand[0], s:reservedCommand[1]) - unlet s:reservedCommand - endif - call self.onModeLeavePost(fOpen) - if exists('self.reservedMode') - call l9#tempvariables#setList(s:TEMP_VARIABLES_GROUP, tempVars) - call fuf#launch(self.reservedMode, self.lastPattern, self.partialMatching) - endif -endfunction - -" -function s:handlerBase.onCr(openType) - if pumvisible() - call feedkeys(printf("\\=fuf#getRunningHandler().onCr(%d) ? '' : ''\", - \ a:openType), 'n') - return - endif - if !empty(self.lastPattern) - call self.addStat(self.lastPattern, self.removePrompt(getline('.'))) - endif - if !self.isOpenable(getline('.')) - " To clear i_ expression (fuf#getRunningHandler().onCr...) - echo '' - return - endif - let s:reservedCommand = [self.removePrompt(getline('.')), a:openType] - call feedkeys("\", 'n') " stopinsert behavior is strange... -endfunction - -" -function s:handlerBase.onBs() - call feedkeys((pumvisible() ? "\\" : "\"), 'n') -endfunction - -" -function s:getLastBlockLength(pattern, patternIsPath) - let separatorPos = strridx(a:pattern, g:fuf_patternSeparator) - if separatorPos >= 0 - return len(a:pattern) - separatorPos - endif - if a:patternIsPath && a:pattern =~# '[/\\].' - return len(matchstr(a:pattern, '[^/\\]*.$')) - endif - return len(a:pattern) -endfunction - -" -function s:handlerBase.onDeleteWord() - let pattern = self.removePrompt(getline('.')[ : col('.') - 2]) - let numBs = s:getLastBlockLength(pattern, 1) - call feedkeys((pumvisible() ? "\" : "") . repeat("\", numBs), 'n') -endfunction - -" -function s:handlerBase.onPreviewBase(repeatable) - if self.getPreviewHeight() <= 0 - return - elseif !pumvisible() - return - elseif !self.existsPrompt(getline('.')) - let word = self.removePrompt(getline('.')) - elseif !exists('self.lastFirstWord') - return - else - let word = self.lastFirstWord - endif - redraw - if a:repeatable && exists('self.lastPreviewInfo') && self.lastPreviewInfo.word ==# word - let self.lastPreviewInfo.count += 1 - else - let self.lastPreviewInfo = {'word': word, 'count': 0} - endif - let lines = self.makePreviewLines(word, self.lastPreviewInfo.count) - let lines = lines[: self.getPreviewHeight() - 1] - call map(lines, 'substitute(v:val, "\t", repeat(" ", &tabstop), "g")') - call map(lines, 'strtrans(v:val)') - call map(lines, 'l9#snipTail(v:val, &columns - 1, s:ABBR_SNIP_MASK)') - echo join(lines, "\n") -endfunction - -" -function s:handlerBase.onSwitchMode(shift) - let modes = copy(fuf#getModeNames()) - call map(modes, '{ "ranks": [ fuf#{v:val}#getSwitchOrder(), v:val ] }') - call filter(modes, 'v:val.ranks[0] >= 0') - call sort(modes, 'fuf#compareRanks') - let self.reservedMode = self.getModeName() - for i in range(len(modes)) - if modes[i].ranks[1] ==# self.getModeName() - let self.reservedMode = modes[(i + a:shift) % len(modes)].ranks[1] - break - endif - endfor - call feedkeys("\", 'n') " stopinsert doesn't work. -endfunction - -" -function s:handlerBase.onSwitchMatching() - let self.partialMatching = !self.partialMatching - let self.lastCol = -1 - call setline('.', self.restorePrompt(self.lastPattern)) - call feedkeys("\", 'n') - "call self.onCursorMovedI() -endfunction - -" -function s:handlerBase.onRecallPattern(shift) - let patterns = map(copy(self.stats), 'v:val.pattern') - if !exists('self.indexRecall') - let self.indexRecall = -1 - endif - let self.indexRecall += a:shift - if self.indexRecall < 0 - let self.indexRecall = -1 - elseif self.indexRecall >= len(patterns) - let self.indexRecall = len(patterns) - 1 - else - call setline('.', self.getPrompt() . patterns[self.indexRecall]) - call feedkeys("\", 'n') - endif -endfunction - -" }}}1 -"============================================================================= -" INITIALIZATION {{{1 - -augroup FufGlobal - autocmd! - autocmd BufLeave * let s:bufferCursorPosMap[bufnr('')] = getpos('.') -augroup END - -let s:bufferCursorPosMap = {} - -" -let s:DATA_FILE_VERSION = 400 - -" -function s:checkDataFileCompatibility() - if empty(g:fuf_dataDir) - let s:dataFileAvailable = 0 - return - endif - let versionPath = l9#concatPaths([g:fuf_dataDir, 'VERSION']) - let lines = l9#readFile(versionPath) - if empty(lines) - call l9#writeFile([s:DATA_FILE_VERSION], versionPath) - let s:dataFileAvailable = 1 - elseif str2nr(lines[0]) == s:DATA_FILE_VERSION - let s:dataFileAvailable = 1 - else - call fuf#echoWarning(printf( - \ "=======================================================\n" . - \ " Existing data files for FuzzyFinder is no longer \n" . - \ " compatible with this version of FuzzyFinder. Remove \n" . - \ " %-53s\n" . - \ "=======================================================\n" , - \ string(g:fuf_dataDir))) - call l9#inputHl('Question', 'Press Enter') - let s:dataFileAvailable = 0 - endif -endfunction - -call s:checkDataFileCompatibility() - -" }}}1 -"============================================================================= -" vim: set fdm=marker: - diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkdir.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkdir.vim deleted file mode 100644 index 01585ff..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkdir.vim +++ /dev/null @@ -1,163 +0,0 @@ -"============================================================================= -" Copyright (c) 2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#bookmarkdir#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#bookmarkdir#getSwitchOrder() - return g:fuf_bookmarkdir_switchOrder -endfunction - -" -function fuf#bookmarkdir#getEditableDataNames() - return ['items'] -endfunction - -" -function fuf#bookmarkdir#renewCache() -endfunction - -" -function fuf#bookmarkdir#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#bookmarkdir#onInit() - call fuf#defineLaunchCommand('FufBookmarkDir', s:MODE_NAME, '""', []) - command! -bang -narg=? FufBookmarkDirAdd call s:bookmark() -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') -let s:OPEN_TYPE_DELETE = -1 - -" -function s:bookmark(word) - let item = { - \ 'time' : localtime(), - \ } - - let item.path = l9#inputHl('Question', '[fuf] Directory to bookmark:', - \ fnamemodify(getcwd(), ':p:~'), 'dir') - if item.path !~ '\S' - call fuf#echoWarning('Canceled') - return - endif - let item.word = l9#inputHl('Question', '[fuf] Bookmark as:', - \ fnamemodify(getcwd(), ':p:~')) - if item.word !~ '\S' - call fuf#echoWarning('Canceled') - return - endif - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - call insert(items, item) - call fuf#saveDataFile(s:MODE_NAME, 'items', items) -endfunction - -" -function s:findItem(items, word) - for item in a:items - if item.word ==# a:word - return item - endif - endfor - return {} -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_bookmarkdir_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return 0 -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return [] -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - if a:mode ==# s:OPEN_TYPE_DELETE - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - call filter(items, 'v:val.word !=# a:word') - call fuf#saveDataFile(s:MODE_NAME, 'items', items) - let self.reservedMode = self.getModeName() - return - else - let item = s:findItem(fuf#loadDataFile(s:MODE_NAME, 'items'), a:word) - if !empty(item) - execute ':cd ' . fnameescape(item.path) - endif - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - call fuf#defineKeyMappingInHandler(g:fuf_bookmarkdir_keyDelete, - \ 'onCr(' . s:OPEN_TYPE_DELETE . ')') - let self.items = fuf#loadDataFile(s:MODE_NAME, 'items') - call map(self.items, 'fuf#makeNonPathItem(v:val.word, strftime(g:fuf_timeFormat, v:val.time))') - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkfile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkfile.vim deleted file mode 100644 index 12ac80f..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/bookmarkfile.vim +++ /dev/null @@ -1,199 +0,0 @@ -"============================================================================= -" Copyright (c) 2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#bookmarkfile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#bookmarkfile#getSwitchOrder() - return g:fuf_bookmarkfile_switchOrder -endfunction - -" -function fuf#bookmarkfile#getEditableDataNames() - return ['items'] -endfunction - -" -function fuf#bookmarkfile#renewCache() -endfunction - -" -function fuf#bookmarkfile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#bookmarkfile#onInit() - call fuf#defineLaunchCommand('FufBookmarkFile', s:MODE_NAME, '""', []) - command! -bang -narg=? FufBookmarkFileAdd call s:bookmarkHere() - command! -bang -narg=0 -range FufBookmarkFileAddAsSelectedText call s:bookmarkHere(l9#getSelectedText()) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') -let s:OPEN_TYPE_DELETE = -1 - -" opens a:path and jumps to the line matching to a:pattern from a:lnum within -" a:range. if not found, jumps to a:lnum. -function s:jumpToBookmark(path, mode, pattern, lnum) - call fuf#openFile(a:path, a:mode, g:fuf_reuseWindow) - call cursor(s:getMatchingLineNumber(getline(1, '$'), a:pattern, a:lnum), 0) - normal! zvzz -endfunction - -" -function s:getMatchingLineNumber(lines, pattern, lnumBegin) - let l = min([a:lnumBegin, len(a:lines)]) - for [l0, l1] in map(range(0, g:fuf_bookmarkfile_searchRange), - \ '[l + v:val, l - v:val]') - if l0 <= len(a:lines) && a:lines[l0 - 1] =~# a:pattern - return l0 - elseif l1 >= 0 && a:lines[l1 - 1] =~# a:pattern - return l1 - endif - endfor - return l -endfunction - -" -function s:getLinePattern(lnum) - return '\C\V\^' . escape(getline(a:lnum), '\') . '\$' -endfunction - -" -function s:bookmarkHere(word) - if !empty(&buftype) || expand('%') !~ '\S' - call fuf#echoWarning('Can''t bookmark this buffer.') - return - endif - let item = { - \ 'word' : (a:word =~# '\S' ? substitute(a:word, '\n', ' ', 'g') - \ : pathshorten(expand('%:p:~')) . '|' . line('.') . '| ' . getline('.')), - \ 'path' : expand('%:p'), - \ 'lnum' : line('.'), - \ 'pattern' : s:getLinePattern(line('.')), - \ 'time' : localtime(), - \ } - let item.word = l9#inputHl('Question', '[fuf] Bookmark as:', item.word) - if item.word !~ '\S' - call fuf#echoWarning('Canceled') - return - endif - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - call insert(items, item) - call fuf#saveDataFile(s:MODE_NAME, 'items', items) -endfunction - -" -function s:findItem(items, word) - for item in a:items - if item.word ==# a:word - return item - endif - endfor - return {} -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_bookmarkfile_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let item = s:findItem(fuf#loadDataFile(s:MODE_NAME, 'items'), a:word) - let lines = fuf#getFileLines(item.path) - if empty(lines) - return [] - endif - let index = s:getMatchingLineNumber(lines, item.pattern, item.lnum) - 1 - return fuf#makePreviewLinesAround( - \ lines, [index], a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - if a:mode ==# s:OPEN_TYPE_DELETE - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - call filter(items, 'v:val.word !=# a:word') - call fuf#saveDataFile(s:MODE_NAME, 'items', items) - let self.reservedMode = self.getModeName() - return - else - let item = s:findItem(fuf#loadDataFile(s:MODE_NAME, 'items'), a:word) - if !empty(item) - call s:jumpToBookmark(item.path, a:mode, item.pattern, item.lnum) - endif - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - call fuf#defineKeyMappingInHandler(g:fuf_bookmarkfile_keyDelete, - \ 'onCr(' . s:OPEN_TYPE_DELETE . ')') - let self.items = fuf#loadDataFile(s:MODE_NAME, 'items') - call map(self.items, 'fuf#makeNonPathItem(v:val.word, strftime(g:fuf_timeFormat, v:val.time))') - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffer.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffer.vim deleted file mode 100644 index 08b954a..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffer.vim +++ /dev/null @@ -1,189 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#buffer#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#buffer#getSwitchOrder() - return g:fuf_buffer_switchOrder -endfunction - -" -function fuf#buffer#getEditableDataNames() - return [] -endfunction - -" -function fuf#buffer#renewCache() -endfunction - -" -function fuf#buffer#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#buffer#onInit() - call fuf#defineLaunchCommand('FufBuffer', s:MODE_NAME, '""', []) - augroup fuf#buffer - autocmd! - autocmd BufEnter * call s:updateBufTimes() - autocmd BufWritePost * call s:updateBufTimes() - augroup END -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') -let s:OPEN_TYPE_DELETE = -1 - -let s:bufTimes = {} - -" -function s:updateBufTimes() - let s:bufTimes[bufnr('%')] = localtime() -endfunction - -" -function s:makeItem(nr) - let fname = (empty(bufname(a:nr)) - \ ? '[No Name]' - \ : fnamemodify(bufname(a:nr), ':p:~:.')) - let time = (exists('s:bufTimes[a:nr]') ? s:bufTimes[a:nr] : 0) - let item = fuf#makePathItem(fname, strftime(g:fuf_timeFormat, time), 0) - let item.index = a:nr - let item.bufNr = a:nr - let item.time = time - let item.abbrPrefix = s:getBufIndicator(a:nr) . ' ' - return item -endfunction - -" -function s:getBufIndicator(bufNr) - if !getbufvar(a:bufNr, '&modifiable') - return '[-]' - elseif getbufvar(a:bufNr, '&modified') - return '[+]' - elseif getbufvar(a:bufNr, '&readonly') - return '[R]' - else - return ' ' - endif -endfunction - -" -function s:compareTimeDescending(i1, i2) - return a:i1.time == a:i2.time ? 0 : a:i1.time > a:i2.time ? -1 : +1 -endfunction - -" -function s:findItem(items, word) - for item in a:items - if item.word ==# a:word - return item - endif - endfor - return {} -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_buffer_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let item = s:findItem(self.items, a:word) - if empty(item) - return [] - endif - return fuf#makePreviewLinesForFile(item.bufNr, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - " not use bufnr(a:word) in order to handle unnamed buffer - let item = s:findItem(self.items, a:word) - if empty(item) - " do nothing - elseif a:mode ==# s:OPEN_TYPE_DELETE - execute item.bufNr . 'bdelete' - let self.reservedMode = self.getModeName() - else - call fuf#openBuffer(item.bufNr, a:mode, g:fuf_reuseWindow) - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - call fuf#defineKeyMappingInHandler(g:fuf_buffer_keyDelete, - \ 'onCr(' . s:OPEN_TYPE_DELETE . ')') - let self.items = range(1, bufnr('$')) - call filter(self.items, 'buflisted(v:val) && v:val != self.bufNrPrev && v:val != bufnr("%")') - call map(self.items, 's:makeItem(v:val)') - if g:fuf_buffer_mruOrder - call sort(self.items, 's:compareTimeDescending') - call fuf#mapToSetSerialIndex(self.items, 1) - endif - let self.items = fuf#mapToSetAbbrWithSnippedWordAsPath(self.items) -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffertag.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffertag.vim deleted file mode 100644 index 392b996..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/buffertag.vim +++ /dev/null @@ -1,300 +0,0 @@ -"============================================================================= -" Copyright (c) 2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#buffertag#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#buffertag#getSwitchOrder() - return g:fuf_buffertag_switchOrder -endfunction - -" -function fuf#buffertag#getEditableDataNames() - return [] -endfunction - -" -function fuf#buffertag#renewCache() - let s:tagItemsCache = {} - let s:tagDataCache = {} -endfunction - -" -function fuf#buffertag#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#buffertag#onInit() - call fuf#defineLaunchCommand('FufBufferTag', s:MODE_NAME, '""', - \ [['g:fuf_buffertag_forAll', 0]]) - call fuf#defineLaunchCommand('FufBufferTagAll', s:MODE_NAME, '""', - \ [['g:fuf_buffertag_forAll', 1]]) - call fuf#defineLaunchCommand('FufBufferTagWithCursorWord', s:MODE_NAME, - \ 'expand('''')', [['g:fuf_buffertag_forAll', 0]]) - call fuf#defineLaunchCommand('FufBufferTagAllWithCursorWord', s:MODE_NAME, - \ 'expand('''')', [['g:fuf_buffertag_forAll', 1]]) - call fuf#defineLaunchCommand('FufBufferTagWithSelectedText', s:MODE_NAME, - \ 'l9#getSelectedText()', [['g:fuf_buffertag_forAll', 0]]) - call fuf#defineLaunchCommand('FufBufferTagAllWithSelectedText', s:MODE_NAME, - \ 'l9#getSelectedText()', [['g:fuf_buffertag_forAll', 1]]) - call l9#defineVariableDefault('g:fuf_buffertag_forAll', 0) " private option - " the following settings originate from taglist.vim - call l9#defineVariableDefault('g:fuf_buffertag__asm' , '--language-force=asm --asm-types=dlmt') - call l9#defineVariableDefault('g:fuf_buffertag__aspperl' , '--language-force=asp --asp-types=fsv') - call l9#defineVariableDefault('g:fuf_buffertag__aspvbs' , '--language-force=asp --asp-types=fsv') - call l9#defineVariableDefault('g:fuf_buffertag__awk' , '--language-force=awk --awk-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__beta' , '--language-force=beta --beta-types=fsv') - call l9#defineVariableDefault('g:fuf_buffertag__c' , '--language-force=c --c-types=dgsutvf') - call l9#defineVariableDefault('g:fuf_buffertag__cpp' , '--language-force=c++ --c++-types=nvdtcgsuf') - call l9#defineVariableDefault('g:fuf_buffertag__cs' , '--language-force=c# --c#-types=dtncEgsipm') - call l9#defineVariableDefault('g:fuf_buffertag__cobol' , '--language-force=cobol --cobol-types=dfgpPs') - call l9#defineVariableDefault('g:fuf_buffertag__eiffel' , '--language-force=eiffel --eiffel-types=cf') - call l9#defineVariableDefault('g:fuf_buffertag__erlang' , '--language-force=erlang --erlang-types=drmf') - call l9#defineVariableDefault('g:fuf_buffertag__expect' , '--language-force=tcl --tcl-types=cfp') - call l9#defineVariableDefault('g:fuf_buffertag__fortran' , '--language-force=fortran --fortran-types=pbceiklmntvfs') - call l9#defineVariableDefault('g:fuf_buffertag__html' , '--language-force=html --html-types=af') - call l9#defineVariableDefault('g:fuf_buffertag__java' , '--language-force=java --java-types=pcifm') - call l9#defineVariableDefault('g:fuf_buffertag__javascript', '--language-force=javascript --javascript-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__lisp' , '--language-force=lisp --lisp-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__lua' , '--language-force=lua --lua-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__make' , '--language-force=make --make-types=m') - call l9#defineVariableDefault('g:fuf_buffertag__pascal' , '--language-force=pascal --pascal-types=fp') - call l9#defineVariableDefault('g:fuf_buffertag__perl' , '--language-force=perl --perl-types=clps') - call l9#defineVariableDefault('g:fuf_buffertag__php' , '--language-force=php --php-types=cdvf') - call l9#defineVariableDefault('g:fuf_buffertag__python' , '--language-force=python --python-types=cmf') - call l9#defineVariableDefault('g:fuf_buffertag__rexx' , '--language-force=rexx --rexx-types=s') - call l9#defineVariableDefault('g:fuf_buffertag__ruby' , '--language-force=ruby --ruby-types=cfFm') - call l9#defineVariableDefault('g:fuf_buffertag__scheme' , '--language-force=scheme --scheme-types=sf') - call l9#defineVariableDefault('g:fuf_buffertag__sh' , '--language-force=sh --sh-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__csh' , '--language-force=sh --sh-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__zsh' , '--language-force=sh --sh-types=f') - call l9#defineVariableDefault('g:fuf_buffertag__slang' , '--language-force=slang --slang-types=nf') - call l9#defineVariableDefault('g:fuf_buffertag__sml' , '--language-force=sml --sml-types=ecsrtvf') - call l9#defineVariableDefault('g:fuf_buffertag__sql' , '--language-force=sql --sql-types=cFPrstTvfp') - call l9#defineVariableDefault('g:fuf_buffertag__tcl' , '--language-force=tcl --tcl-types=cfmp') - call l9#defineVariableDefault('g:fuf_buffertag__vera' , '--language-force=vera --vera-types=cdefgmpPtTvx') - call l9#defineVariableDefault('g:fuf_buffertag__verilog' , '--language-force=verilog --verilog-types=mcPertwpvf') - call l9#defineVariableDefault('g:fuf_buffertag__vim' , '--language-force=vim --vim-types=avf') - call l9#defineVariableDefault('g:fuf_buffertag__yacc' , '--language-force=yacc --yacc-types=l') -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:parseTagLine(line) - " tag W:\Win32\SRC7\NCSIM\NCVW32\CUBEFACE.H /^#define CUBEFACE_H$/;" macro line:4 - let fields = matchlist(a:line, '\v^([^\t]+)\t(.+)\t\/\^(.+)\$\/\;\"\t(.+)\tline\:(\d+)') - if empty(fields) - return {} - endif - return { - \ 'tag' : fields[1], - \ 'fname' : fields[2], - \ 'pattern': fields[3], - \ 'kind' : fields[4], - \ 'lnum' : str2nr(fields[5]), - \ } -endfunction - -" -let s:TEMP_VARIABLES_GROUP = expand(':p') - -" -function s:getFileType(bufNr) - let ft = getbufvar(a:bufNr, '&filetype') - if !empty(ft) || bufloaded(a:bufNr) - return ft - endif - let ft = getbufvar(a:bufNr, 'fuf_buffertag_filetype') - if !empty(ft) - return ft - endif - call l9#tempvariables#set(s:TEMP_VARIABLES_GROUP, '&eventignore', 'FileType') - call l9#tempvariables#set(s:TEMP_VARIABLES_GROUP, '&filetype', &filetype) - " from taglist.vim - execute 'doautocmd filetypedetect BufRead ' . bufname(a:bufNr) - let ft = &filetype - call l9#tempvariables#end(s:TEMP_VARIABLES_GROUP) - call setbufvar(a:bufNr, 'fuf_buffertag_filetype', ft) - return ft -endfunction - -" -function s:makeCtagsCmd(bufNr) - let ft = s:getFileType(a:bufNr) - if !exists('g:fuf_buffertag__{ft}') - return '' - endif - " - let cmd = join([g:fuf_buffertag_ctagsPath, - \ '-f - --sort=no --excmd=pattern --fields=nKs', - \ g:fuf_buffertag__{ft}, - \ shellescape(fnamemodify(bufname(a:bufNr), ':p'))]) - return cmd -endfunction - -" -function s:getTagItems(bufNr) - let cmd = s:makeCtagsCmd(a:bufNr) - if empty(cmd) - return [] - elseif !exists('s:tagItemsCache[cmd]') || - \ s:tagItemsCache[cmd].time < getftime(expand(bufname(a:bufNr))) - let items = split(system(cmd), "\n") - if v:shell_error - call fuf#echoError([cmd] + items) - throw "Command error" - endif - call map(items, 's:parseTagLine(v:val)') - call filter(items, '!empty(v:val)') - let s:tagItemsCache[cmd] = { - \ 'time' : localtime(), - \ 'items' : items, - \ } - endif - return s:tagItemsCache[cmd].items -endfunction - -" -function s:makeItem(tag, itemMap) - let menu = fnamemodify(a:itemMap[a:tag][0].fname, ':t') - \ . ' [' . a:itemMap[a:tag][0].kind . ']' - if len(a:itemMap[a:tag]) > 1 - let menu .= ' (' . len(a:itemMap[a:tag]) . ')' - endif - let item = fuf#makeNonPathItem(a:tag, menu) - return item -endfunction - -" -function s:getTagData(bufNrs) - let key = join([0] + sort(copy(a:bufNrs)), "\n") - let bufNames = map(copy(a:bufNrs), 'bufname(v:val)') - if !exists('s:tagDataCache[key]') || - \ fuf#countModifiedFiles(bufNames, s:tagDataCache[key].time) > 0 - let itemMap = {} - for item in l9#concat(map(copy(a:bufNrs), 's:getTagItems(v:val)')) - if !exists('itemMap[item.tag]') - let itemMap[item.tag] = [] - endif - call add(itemMap[item.tag], item) - endfor - let items = sort(keys(itemMap)) - call map(items, 's:makeItem(v:val, itemMap)') - call fuf#mapToSetSerialIndex(items, 1) - call map(items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - let s:tagDataCache[key] = { - \ 'time' : localtime(), - \ 'itemMap': itemMap, - \ 'items' : items, - \ } - endif - return [s:tagDataCache[key].items, s:tagDataCache[key].itemMap] -endfunction - -" -function s:jumpToTag(item, mode) - call fuf#openFile(a:item.fname, a:mode, g:fuf_reuseWindow) - call cursor(a:item.lnum, 1) - normal! zvzz -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_buffertag_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return 0 -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return [] -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - if !exists('self.itemMap[a:word][0]') - call fuf#echoError('Definition not found:' . a:word) - return - elseif len(self.itemMap[a:word]) == 1 - let i = 0 - else - let list = map(fuf#mapToSetSerialIndex(copy(self.itemMap[a:word]), 1), - \ 'printf(" %2d: %s|%d| [%s] %s",v:val.index, fnamemodify(v:val.fname, ":~:."), v:val.lnum, v:val.kind, v:val.pattern)') - let i = inputlist(['Select a definition of "' . a:word . '":'] + list) - 1 - endif - if 0 <= i && i < len(self.itemMap[a:word]) - call s:jumpToTag(self.itemMap[a:word][i], a:mode) - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - if g:fuf_buffertag_forAll - let bufNrs = filter(range(1, bufnr('$')), 'buflisted(v:val)') - else - let bufNrs = [self.bufNrPrev] - endif - let [self.items, self.itemMap] = s:getTagData(bufNrs) -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackfile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackfile.vim deleted file mode 100644 index fedf0cf..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackfile.vim +++ /dev/null @@ -1,137 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#callbackfile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#callbackfile#getSwitchOrder() - return -1 -endfunction - -" -function fuf#callbackfile#getEditableDataNames() - return [] -endfunction - -" -function fuf#callbackfile#renewCache() - let s:cache = {} -endfunction - -" -function fuf#callbackfile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#callbackfile#onInit() -endfunction - -" -function fuf#callbackfile#launch(initialPattern, partialMatching, prompt, exclude, listener) - let s:prompt = (empty(a:prompt) ? '>' : a:prompt) - let s:exclude = a:exclude - let s:listener = a:listener - call fuf#launch(s:MODE_NAME, a:initialPattern, a:partialMatching) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:enumItems(dir) - let key = getcwd() . g:fuf_ignoreCase . s:exclude . "\n" . a:dir - if !exists('s:cache[key]') - let s:cache[key] = fuf#enumExpandedDirsEntries(a:dir, s:exclude) - if isdirectory(a:dir) - call insert(s:cache[key], fuf#makePathItem(a:dir . '.', '', 0)) - endif - call fuf#mapToSetSerialIndex(s:cache[key], 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:cache[key]) - endif - return s:cache[key] -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(s:prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return a:enteredPattern =~# '[^/\\]$' -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPathTail', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - let items = copy(s:enumItems(fuf#splitPath(a:patternPrimary).head)) - return filter(items, 'bufnr("^" . v:val.word . "$") != self.bufNrPrev') -endfunction - -" -function s:handler.onOpen(word, mode) - call s:listener.onComplete(a:word, a:mode) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) - if !a:opened && exists('s:listener.onAbort()') - call s:listener.onAbort() - endif -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackitem.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackitem.vim deleted file mode 100644 index 118ee08..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/callbackitem.vim +++ /dev/null @@ -1,139 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#callbackitem#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#callbackitem#getSwitchOrder() - return -1 -endfunction - -" -function fuf#callbackitem#getEditableDataNames() - return [] -endfunction - -" -function fuf#callbackitem#renewCache() -endfunction - -" -function fuf#callbackitem#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#callbackitem#onInit() -endfunction - -" -function fuf#callbackitem#launch(initialPattern, partialMatching, prompt, listener, items, forPath) - let s:prompt = (empty(a:prompt) ? '>' : a:prompt) - let s:listener = a:listener - let s:forPath = a:forPath - let s:items = copy(a:items) - if s:forPath - call map(s:items, 'fuf#makePathItem(v:val, "", 1)') - call fuf#mapToSetSerialIndex(s:items, 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:items) - else - call map(s:items, 'fuf#makeNonPathItem(v:val, "")') - call fuf#mapToSetSerialIndex(s:items, 1) - call map(s:items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - endif - call fuf#launch(s:MODE_NAME, a:initialPattern, a:partialMatching) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(s:prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - if s:forPath - return g:fuf_previewHeight - endif - return 0 -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - let parser = (s:forPath - \ ? 's:interpretPrimaryPatternForPath' - \ : 's:interpretPrimaryPatternForNonPath') - return fuf#makePatternSet(a:patternBase, parser, self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - if s:forPath - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) - endif - return [] -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:items -endfunction - -" -function s:handler.onOpen(word, mode) - call s:listener.onComplete(a:word, a:mode) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) - if !a:opened && exists('s:listener.onAbort()') - call s:listener.onAbort() - endif -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/changelist.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/changelist.vim deleted file mode 100644 index 545f6ca..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/changelist.vim +++ /dev/null @@ -1,172 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#changelist#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#changelist#getSwitchOrder() - return g:fuf_changelist_switchOrder -endfunction - -" -function fuf#changelist#getEditableDataNames() - return [] -endfunction - -" -function fuf#changelist#renewCache() -endfunction - -" -function fuf#changelist#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#changelist#onInit() - call fuf#defineLaunchCommand('FufChangeList', s:MODE_NAME, '""', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getChangesLines() - redir => result - :silent changes - redir END - return split(result, "\n") -endfunction - -" -function s:parseChangesLine(line) - " return matchlist(a:line, '^\(.\)\s\+\(\d\+\)\s\(.*\)$') - let elements = matchlist(a:line, '\v^(.)\s*(\d+)\s+(\d+)\s+(\d+)\s*(.*)$') - if empty(elements) - return {} - endif - return { - \ 'prefix': elements[1], - \ 'count' : elements[2], - \ 'lnum' : elements[3], - \ 'text' : printf('|%d:%d|%s', elements[3], elements[4], elements[5]), - \ } -endfunction - -" -function s:makeItem(line) - let parsed = s:parseChangesLine(a:line) - if empty(parsed) - return {} - endif - let item = fuf#makeNonPathItem(parsed.text, '') - let item.abbrPrefix = parsed.prefix - let item.lnum = parsed.lnum - return item -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_changelist_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let items = filter(copy(self.items), 'v:val.word ==# a:word') - if empty(items) - return [] - endif - let lines = fuf#getFileLines(self.bufNrPrev) - return fuf#makePreviewLinesAround( - \ lines, [items[0].lnum - 1], a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#prejump(a:mode) - let older = 0 - for line in reverse(s:getChangesLines()) - if stridx(line, '>') == 0 - let older = 1 - endif - let parsed = s:parseChangesLine(line) - if !empty(parsed) && parsed.text ==# a:word - if parsed.count != 0 - execute 'normal! ' . parsed.count . (older ? 'g;' : 'g,') . 'zvzz' - endif - break - endif - endfor -endfunction - -" -function s:handler.onModeEnterPre() - let self.items = s:getChangesLines() -endfunction - -" -function s:handler.onModeEnterPost() - call map(self.items, 's:makeItem(v:val)') - call filter(self.items, '!empty(v:val)') - call reverse(self.items) - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: - diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/coveragefile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/coveragefile.vim deleted file mode 100644 index 1471ef8..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/coveragefile.vim +++ /dev/null @@ -1,199 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#coveragefile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#coveragefile#getSwitchOrder() - return g:fuf_coveragefile_switchOrder -endfunction - -" -function fuf#coveragefile#getEditableDataNames() - return ['coverages'] -endfunction - -" -function fuf#coveragefile#renewCache() - let s:cache = {} -endfunction - -" -function fuf#coveragefile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#coveragefile#onInit() - call fuf#defineLaunchCommand('FufCoverageFile', s:MODE_NAME, '""', []) - call l9#defineVariableDefault('g:fuf_coveragefile_name', '') " private option - command! -bang -narg=0 FufCoverageFileRegister call s:registerCoverage() - command! -bang -narg=? FufCoverageFileChange call s:changeCoverage() -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:enumItems() - let key = join([getcwd(), g:fuf_ignoreCase, g:fuf_coveragefile_exclude, - \ g:fuf_coveragefile_globPatterns], "\n") - if !exists('s:cache[key]') - let s:cache[key] = l9#concat(map(copy(g:fuf_coveragefile_globPatterns), - \ 'fuf#glob(v:val)')) - call filter(s:cache[key], 'filereadable(v:val)') " filter out directories - call map(s:cache[key], 'fuf#makePathItem(fnamemodify(v:val, ":~:."), "", 0)') - if len(g:fuf_coveragefile_exclude) - call filter(s:cache[key], 'v:val.word !~ g:fuf_coveragefile_exclude') - endif - call fuf#mapToSetSerialIndex(s:cache[key], 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:cache[key]) - endif - return s:cache[key] -endfunction - -" -function s:registerCoverage() - let patterns = [] - while 1 - let pattern = l9#inputHl('Question', '[fuf] Glob pattern for coverage ( and end):', - \ '', 'file') - if pattern !~ '\S' - break - endif - call add(patterns, pattern) - endwhile - if empty(patterns) - call fuf#echoWarning('Canceled') - return - endif - echo '[fuf] patterns: ' . string(patterns) - let name = l9#inputHl('Question', '[fuf] Coverage name:') - if name !~ '\S' - call fuf#echoWarning('Canceled') - return - endif - let coverages = fuf#loadDataFile(s:MODE_NAME, 'coverages') - call insert(coverages, {'name': name, 'patterns': patterns}) - call fuf#saveDataFile(s:MODE_NAME, 'coverages', coverages) -endfunction - -" -function s:createChangeCoverageListener() - let listener = {} - - function listener.onComplete(name, method) - call s:changeCoverage(a:name) - endfunction - - return listener -endfunction - -" -function s:changeCoverage(name) - let coverages = fuf#loadDataFile(s:MODE_NAME, 'coverages') - if a:name !~ '\S' - let names = map(copy(coverages), 'v:val.name') - call fuf#callbackitem#launch('', 0, '>Coverage>', s:createChangeCoverageListener(), names, 0) - return - else - let name = a:name - endif - call filter(coverages, 'v:val.name ==# name') - if empty(coverages) - call fuf#echoError('Coverage not found: ' . name) - return - endif - call fuf#setOneTimeVariables( - \ ['g:fuf_coveragefile_globPatterns', coverages[0].patterns], - \ ['g:fuf_coveragefile_name' , a:name] - \ ) - FufCoverageFile -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - let nameString = (empty(g:fuf_coveragefile_name) ? '' - \ : '[' . g:fuf_coveragefile_name . ']') - return fuf#formatPrompt(g:fuf_coveragefile_prompt, self.partialMatching, - \ nameString) -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openFile(a:word, a:mode, g:fuf_reuseWindow) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - " NOTE: Comparing filenames is faster than bufnr('^' . fname . '$') - let bufNamePrev = fnamemodify(bufname(self.bufNrPrev), ':~:.') - let self.items = copy(s:enumItems()) - call filter(self.items, 'v:val.word !=# bufNamePrev') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/dir.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/dir.vim deleted file mode 100644 index 5316093..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/dir.vim +++ /dev/null @@ -1,132 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#dir#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#dir#getSwitchOrder() - return g:fuf_dir_switchOrder -endfunction - -" -function fuf#dir#getEditableDataNames() - return [] -endfunction - -" -function fuf#dir#renewCache() - let s:cache = {} -endfunction - -" -function fuf#dir#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#dir#onInit() - call fuf#defineLaunchCommand('FufDir' , s:MODE_NAME, '""', []) - call fuf#defineLaunchCommand('FufDirWithFullCwd' , s:MODE_NAME, 'fnamemodify(getcwd(), '':p'')', []) - call fuf#defineLaunchCommand('FufDirWithCurrentBufferDir', s:MODE_NAME, 'expand(''%:~:.'')[:-1-len(expand(''%:~:.:t''))]', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:enumItems(dir) - let key = getcwd() . g:fuf_ignoreCase . g:fuf_dir_exclude . "\n" . a:dir - if !exists('s:cache[key]') - let s:cache[key] = fuf#enumExpandedDirsEntries(a:dir, g:fuf_dir_exclude) - call filter(s:cache[key], 'v:val.word =~# ''[/\\]$''') - if isdirectory(a:dir) - call insert(s:cache[key], fuf#makePathItem(a:dir . '.', '', 0)) - endif - call fuf#mapToSetSerialIndex(s:cache[key], 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:cache[key]) - endif - return s:cache[key] -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_dir_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return a:enteredPattern =~# '[^/\\]$' -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPathTail', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesAround( - \ fuf#glob(fnamemodify(a:word, ':p') . '*'), - \ [], a:count, self.getPreviewHeight()) - return -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:enumItems(fuf#splitPath(a:patternPrimary).head) -endfunction - -" -function s:handler.onOpen(word, mode) - execute ':cd ' . fnameescape(a:word) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/file.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/file.vim deleted file mode 100644 index 1569192..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/file.vim +++ /dev/null @@ -1,139 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#file#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#file#getSwitchOrder() - return g:fuf_file_switchOrder -endfunction - -" -function fuf#file#getEditableDataNames() - return [] -endfunction - -" -function fuf#file#renewCache() - let s:cache = {} -endfunction - -" -function fuf#file#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#file#onInit() - call fuf#defineLaunchCommand('FufFile' , s:MODE_NAME, '""', []) - call fuf#defineLaunchCommand('FufFileWithFullCwd' , s:MODE_NAME, 'fnamemodify(getcwd(), '':p'')', []) - call fuf#defineLaunchCommand('FufFileWithCurrentBufferDir', s:MODE_NAME, 'expand(''%:~:.'')[:-1-len(expand(''%:~:.:t''))]', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:enumItems(dir) - let key = join([getcwd(), g:fuf_ignoreCase, g:fuf_file_exclude, a:dir], "\n") - if !exists('s:cache[key]') - let s:cache[key] = fuf#enumExpandedDirsEntries(a:dir, g:fuf_file_exclude) - call fuf#mapToSetSerialIndex(s:cache[key], 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:cache[key]) - endif - return s:cache[key] -endfunction - -" -function s:enumNonCurrentItems(dir, bufNrPrev, cache) - let key = a:dir . 'AVOIDING EMPTY KEY' - if !exists('a:cache[key]') - " NOTE: Comparing filenames is faster than bufnr('^' . fname . '$') - let bufNamePrev = bufname(a:bufNrPrev) - let a:cache[key] = - \ filter(copy(s:enumItems(a:dir)), 'v:val.word !=# bufNamePrev') - endif - return a:cache[key] -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_file_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return a:enteredPattern =~# '[^/\\]$' -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPathTail', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:enumNonCurrentItems( - \ fuf#splitPath(a:patternPrimary).head, self.bufNrPrev, self.cache) -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openFile(a:word, a:mode, g:fuf_reuseWindow) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - let self.cache = {} -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givencmd.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givencmd.vim deleted file mode 100644 index d59178c..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givencmd.vim +++ /dev/null @@ -1,123 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#givencmd#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#givencmd#getSwitchOrder() - return -1 -endfunction - -" -function fuf#givencmd#getEditableDataNames() - return [] -endfunction - -" -function fuf#givencmd#renewCache() -endfunction - -" -function fuf#givencmd#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#givencmd#onInit() -endfunction - -" -function fuf#givencmd#launch(initialPattern, partialMatching, prompt, items) - let s:prompt = (empty(a:prompt) ? '>' : a:prompt) - let s:items = copy(a:items) - call map(s:items, 'fuf#makeNonPathItem(v:val, "")') - call fuf#mapToSetSerialIndex(s:items, 1) - call map(s:items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - call fuf#launch(s:MODE_NAME, a:initialPattern, a:partialMatching) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(s:prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return 0 -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return [] -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:items -endfunction - -" -function s:handler.onOpen(word, mode) - if a:word[0] =~# '[:/?]' - call histadd(a:word[0], a:word[1:]) - endif - call feedkeys(a:word . "\", 'n') -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givendir.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givendir.vim deleted file mode 100644 index e654d85..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givendir.vim +++ /dev/null @@ -1,123 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#givendir#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#givendir#getSwitchOrder() - return -1 -endfunction - -" -function fuf#givendir#getEditableDataNames() - return [] -endfunction - -" -function fuf#givendir#renewCache() -endfunction - -" -function fuf#givendir#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#givendir#onInit() -endfunction - -" -function fuf#givendir#launch(initialPattern, partialMatching, prompt, items) - let s:prompt = (empty(a:prompt) ? '>' : a:prompt) - let s:items = map(copy(a:items), 'substitute(v:val, ''[/\\]\?$'', "", "")') - let s:items = map(s:items, 'fuf#makePathItem(v:val, "", 0)') - call fuf#mapToSetSerialIndex(s:items, 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(s:items) - call fuf#launch(s:MODE_NAME, a:initialPattern, a:partialMatching) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(s:prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesAround( - \ fuf#glob(fnamemodify(a:word, ':p') . '*'), - \ [], a:count, self.getPreviewHeight()) - return -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:items -endfunction - -" -function s:handler.onOpen(word, mode) - execute ':cd ' . fnameescape(a:word) -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givenfile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givenfile.vim deleted file mode 100644 index 5419ff8..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/givenfile.vim +++ /dev/null @@ -1,121 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#givenfile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#givenfile#getSwitchOrder() - return -1 -endfunction - -" -function fuf#givenfile#getEditableDataNames() - return [] -endfunction - -" -function fuf#givenfile#renewCache() -endfunction - -" -function fuf#givenfile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#givenfile#onInit() -endfunction - -" -function fuf#givenfile#launch(initialPattern, partialMatching, prompt, items) - let s:prompt = (empty(a:prompt) ? '>' : a:prompt) - let s:items = map(copy(a:items), 'fuf#makePathItem(v:val, "", 0)') - call fuf#mapToSetSerialIndex(s:items, 1) - call map(s:items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - call fuf#launch(s:MODE_NAME, a:initialPattern, a:partialMatching) -endfunction - - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(s:prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openFile(a:word, a:mode, g:fuf_reuseWindow) -endfunction - - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/help.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/help.vim deleted file mode 100644 index 8f03e36..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/help.vim +++ /dev/null @@ -1,198 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#help#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#help#getSwitchOrder() - return g:fuf_help_switchOrder -endfunction - -" -function fuf#help#getEditableDataNames() - return [] -endfunction - -" -function fuf#help#renewCache() - let s:cache = {} -endfunction - -" -function fuf#help#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#help#onInit() - call fuf#defineLaunchCommand('FufHelp' , s:MODE_NAME, '""', []) - call fuf#defineLaunchCommand('FufHelpWithCursorWord', s:MODE_NAME, 'expand('''')', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getCurrentHelpTagFiles() - let prefix = 'doc' . l9#getPathSeparator() - let tagFiles = split(globpath(&runtimepath, prefix . 'tags' ), "\n") - \ + split(globpath(&runtimepath, prefix . 'tags-??'), "\n") - return sort(map(tagFiles, 'fnamemodify(v:val, ":p")')) -endfunction - -" -function s:parseHelpTagEntry(line, tagFile) - let elements = split(a:line, "\t") - if len(elements) != 3 || elements[0][0] ==# '!' - return {} - endif - let suffix = matchstr(a:tagFile, '-\zs..$') - if empty(suffix) - let suffix = '@en' - else - let suffix = '@' . suffix - endif - let dir = fnamemodify(a:tagFile, ':h') . l9#getPathSeparator() - return { - \ 'word' : elements[0] . suffix, - \ 'path' : dir . elements[1], - \ 'pattern': elements[2][1:], - \ } -endfunction - -" -function s:getHelpTagEntries(tagFile) - let names = map(l9#readFile(a:tagFile), 's:parseHelpTagEntry(v:val, a:tagFile)') - return filter(names, '!empty(v:val)') -endfunction - -" -function s:parseHelpTagFiles(tagFiles, key) - let cacheName = 'cache-' . l9#hash224(a:key) - let cacheTime = fuf#getDataFileTime(s:MODE_NAME, cacheName) - if cacheTime != -1 && fuf#countModifiedFiles(a:tagFiles, cacheTime) == 0 - return fuf#loadDataFile(s:MODE_NAME, cacheName) - endif - let items = l9#unique(l9#concat(map(copy(a:tagFiles), 's:getHelpTagEntries(v:val)'))) - let items = map(items, 'extend(v:val, fuf#makeNonPathItem(v:val.word, ""))') - call fuf#mapToSetSerialIndex(items, 1) - let items = map(items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - call fuf#saveDataFile(s:MODE_NAME, cacheName, items) - return items -endfunction - -" -function s:enumHelpTags(tagFiles) - if !len(a:tagFiles) - return [] - endif - let key = join([g:fuf_ignoreCase] + a:tagFiles, "\n") - if !exists('s:cache[key]') || fuf#countModifiedFiles(a:tagFiles, s:cache[key].time) - let s:cache[key] = { - \ 'time' : localtime(), - \ 'items' : s:parseHelpTagFiles(a:tagFiles, key) - \ } - endif - return s:cache[key].items -endfunction - -" -function s:getMatchingIndex(lines, pattern) - if empty(a:pattern) - return -1 - endif - for i in range(len(a:lines)) - if stridx(a:lines[i], a:pattern) >= 0 - return i - endif - endfor - return -1 -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_help_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let items = filter(copy(s:enumHelpTags(self.tagFiles)), 'v:val.word ==# a:word') - if empty(items) - return [] - endif - let lines = fuf#getFileLines(items[0].path) - let index = s:getMatchingIndex(lines, items[0].pattern) - return [items[0].path . ':'] + fuf#makePreviewLinesAround( - \ lines, (index < 0 ? [] : [index]), a:count, self.getPreviewHeight() - 1) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:enumHelpTags(self.tagFiles) -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openHelp(a:word, a:mode) -endfunction - -" -function s:handler.onModeEnterPre() - let self.tagFiles = s:getCurrentHelpTagFiles() -endfunction - -" -function s:handler.onModeEnterPost() -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/jumplist.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/jumplist.vim deleted file mode 100644 index ddbb1ab..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/jumplist.vim +++ /dev/null @@ -1,182 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#jumplist#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#jumplist#getSwitchOrder() - return g:fuf_jumplist_switchOrder -endfunction - -" -function fuf#jumplist#getEditableDataNames() - return [] -endfunction - -" -function fuf#jumplist#renewCache() -endfunction - -" -function fuf#jumplist#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#jumplist#onInit() - call fuf#defineLaunchCommand('FufJumpList', s:MODE_NAME, '""', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getJumpsLines() - redir => result - :silent jumps - redir END - return split(result, "\n") -endfunction - -" -function s:parseJumpsLine(line, bufnrPrev) - "return matchlist(a:line, '^\(.\)\s\+\(\d\+\)\s\(.*\)$') - let elements = matchlist(a:line, '\v^(.)\s*(\d+)\s+(\d+)\s+(\d+)\s*(.*)$') - if empty(elements) - return {} - endif - let linePrevBuffer = join(getbufline(a:bufnrPrev, elements[3])) - if stridx(linePrevBuffer, elements[5]) >= 0 - let fname = bufname(a:bufnrPrev) - let text = elements[5] - else - let fname = elements[5] - let text = join(getbufline('^' . elements[5] . '$', elements[3])) - endif - return { - \ 'prefix': elements[1], - \ 'count' : elements[2], - \ 'lnum' : elements[3], - \ 'fname' : fname, - \ 'text' : printf('%s|%d:%d|%s', fname, elements[3], elements[4], text), - \ } -endfunction - -" -function s:makeItem(line, bufnrPrev) - let parsed = s:parseJumpsLine(a:line, a:bufnrPrev) - if empty(parsed) - return {} - endif - let item = fuf#makeNonPathItem(parsed.text, '') - let item.abbrPrefix = parsed.prefix - let item.lnum = parsed.lnum - let item.fname = parsed.fname - return item -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_jumplist_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let items = filter(copy(self.items), 'v:val.word ==# a:word') - if empty(items) - return [] - endif - let lines = fuf#getFileLines(items[0].fname) - return fuf#makePreviewLinesAround( - \ lines, [items[0].lnum - 1], a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#prejump(a:mode) - let older = 0 - for line in reverse(s:getJumpsLines()) - if stridx(line, '>') == 0 - let older = 1 - endif - let parsed = s:parseJumpsLine(line, self.bufNrPrev) - if !empty(parsed) && parsed.text ==# a:word - if parsed.count != 0 - execute 'normal! ' . parsed.count . (older ? "\" : "\") . 'zvzz' - endif - break - endif - endfor -endfunction - -" -function s:handler.onModeEnterPre() - let self.items = s:getJumpsLines() -endfunction - -" -function s:handler.onModeEnterPost() - call map(self.items, 's:makeItem(v:val, self.bufNrPrev)') - call filter(self.items, '!empty(v:val)') - call reverse(self.items) - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: - diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/line.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/line.vim deleted file mode 100644 index 60447b5..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/line.vim +++ /dev/null @@ -1,135 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#line#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#line#getSwitchOrder() - return g:fuf_line_switchOrder -endfunction - -" -function fuf#line#getEditableDataNames() - return [] -endfunction - -" -function fuf#line#renewCache() -endfunction - -" -function fuf#line#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#line#onInit() - call fuf#defineLaunchCommand('FufLine', s:MODE_NAME, '""', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') -let s:OPEN_TYPE_DELETE = -1 - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_line_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let items = filter(copy(self.items), 'v:val.word ==# a:word') - if empty(items) - return [] - endif - let lines = fuf#getFileLines(self.bufNrPrev) - return fuf#makePreviewLinesAround( - \ lines, [items[0].index - 1], a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#prejump(a:mode) - call filter(self.items, 'v:val.word ==# a:word') - if empty(self.items) - return - execute 'cc ' . self.items[0].index - endif - call cursor(self.items[0].index, 0) - normal! zvzz -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - let tab = repeat(' ', getbufvar(self.bufNrPrev, '&tabstop')) - let self.items = getbufline(self.bufNrPrev, 1, '$') - let lnumFormat = '%' . len(string(len(self.items) + 1)) . 'd|' - for i in range(len(self.items)) - let self.items[i] = printf(lnumFormat, i + 1) - \ . substitute(self.items[i], "\t", tab, 'g') - endfor - call map(self.items, 'fuf#makeNonPathItem(v:val, "")') - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 0)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrucmd.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrucmd.vim deleted file mode 100644 index 58632ce..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrucmd.vim +++ /dev/null @@ -1,134 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#mrucmd#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#mrucmd#getSwitchOrder() - return g:fuf_mrucmd_switchOrder -endfunction - -" -function fuf#mrucmd#getEditableDataNames() - return ['items'] -endfunction - -" -function fuf#mrucmd#renewCache() -endfunction - -" -function fuf#mrucmd#requiresOnCommandPre() - return 1 -endfunction - -" -function fuf#mrucmd#onInit() - call fuf#defineLaunchCommand('FufMruCmd', s:MODE_NAME, '""', []) -endfunction - -" -function fuf#mrucmd#onCommandPre(cmd) - if getcmdtype() =~# '^[:/?]' - call s:updateInfo(a:cmd) - endif -endfunction - - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:updateInfo(cmd) - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - let items = fuf#updateMruList( - \ items, { 'word' : a:cmd, 'time' : localtime() }, - \ g:fuf_mrucmd_maxItem, g:fuf_mrucmd_exclude) - call fuf#saveDataFile(s:MODE_NAME, 'items', items) -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_mrucmd_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return 0 -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return [] -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call s:updateInfo(a:word) - call histadd(a:word[0], a:word[1:]) - call feedkeys(a:word . "\", 'n') -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - let self.items = fuf#loadDataFile(s:MODE_NAME, 'items') - call map(self.items, 'fuf#makeNonPathItem(v:val.word, strftime(g:fuf_timeFormat, v:val.time))') - call fuf#mapToSetSerialIndex(self.items, 1) - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrufile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrufile.vim deleted file mode 100644 index f90b9e3..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/mrufile.vim +++ /dev/null @@ -1,234 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#mrufile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#mrufile#getSwitchOrder() - return g:fuf_mrufile_switchOrder -endfunction - -" -function fuf#mrufile#getEditableDataNames() - return ['items', 'itemdirs'] -endfunction - -" -function fuf#mrufile#renewCache() - let s:cache = {} - let s:aroundCache = {} -endfunction - -" -function fuf#mrufile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#mrufile#onInit() - call fuf#defineLaunchCommand('FufMruFile', s:MODE_NAME, '""', []) - call fuf#defineLaunchCommand('FufMruFileInCwd', s:MODE_NAME, - \ '""', [['g:fuf_mrufile_underCwd', 1]]) - call l9#defineVariableDefault('g:fuf_mrufile_underCwd', 0) " private option - call l9#defineVariableDefault('g:fuf_mrufile_searchAroundLevel', -1) " private option - augroup fuf#mrufile - autocmd! - autocmd BufEnter * call s:updateData() - autocmd BufWritePost * call s:updateData() - augroup END -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') -let s:OPEN_TYPE_EXPAND = -1 - -" -function s:updateData() - if !empty(&buftype) || !filereadable(expand('%')) - return - endif - let items = fuf#loadDataFile(s:MODE_NAME, 'items') - let items = fuf#updateMruList( - \ items, { 'word' : expand('%:p'), 'time' : localtime() }, - \ g:fuf_mrufile_maxItem, g:fuf_mrufile_exclude) - call fuf#saveDataFile(s:MODE_NAME, 'items', items) - call s:removeItemFromCache(expand('%:p')) - let itemDirs = fuf#loadDataFile(s:MODE_NAME, 'itemdirs') - let itemDirs = fuf#updateMruList( - \ itemDirs, { 'word' : expand('%:p:h') }, - \ g:fuf_mrufile_maxItemDir, g:fuf_mrufile_exclude) - call fuf#saveDataFile(s:MODE_NAME, 'itemdirs', itemDirs) -endfunction - -" -function s:removeItemFromCache(word) - for items in values(s:cache) - if exists('items[a:word]') - unlet items[a:word] - endif - endfor -endfunction - -" returns empty value if invalid item -function s:formatItemUsingCache(item) - if a:item.word !~ '\S' - return {} - endif - if !exists('s:cache[a:item.word]') - if filereadable(a:item.word) - let s:cache[a:item.word] = fuf#makePathItem( - \ fnamemodify(a:item.word, ':p:~'), strftime(g:fuf_timeFormat, a:item.time), 0) - else - let s:cache[a:item.word] = {} - endif - endif - return s:cache[a:item.word] -endfunction - -" -function s:expandSearchDir(dir, level) - let dirs = [a:dir] - let dirPrev = a:dir - for i in range(a:level) - let dirPrev = l9#concatPaths([dirPrev, '*']) - call add(dirs, dirPrev) - endfor - let dirPrev = a:dir - for i in range(a:level) - let dirPrevPrev = dirPrev - let dirPrev = fnamemodify(dirPrev, ':h') - if dirPrevPrev ==# dirPrev - break - endif - call add(dirs, dirPrev) - endfor - return dirs -endfunction - -" -function s:listAroundFiles(dir) - if !exists('s:aroundCache[a:dir]') - let s:aroundCache[a:dir] = [a:dir] + - \ fuf#glob(l9#concatPaths([a:dir, '*' ])) + - \ fuf#glob(l9#concatPaths([a:dir, '.*'])) - call filter(s:aroundCache[a:dir], 'filereadable(v:val)') - call map(s:aroundCache[a:dir], 'fuf#makePathItem(fnamemodify(v:val, ":~"), "", 0)') - if len(g:fuf_mrufile_exclude) - call filter(s:aroundCache[a:dir], 'v:val.word !~ g:fuf_mrufile_exclude') - endif - endif - return s:aroundCache[a:dir] -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - let cwdString = (g:fuf_mrufile_underCwd ? '[CWD]' : '') - let levelString = (g:fuf_mrufile_searchAroundLevel < 0 ? '' - \ : '[Around:' . g:fuf_mrufile_searchAroundLevel . ']') - return fuf#formatPrompt(g:fuf_mrufile_prompt, self.partialMatching, cwdString . levelString) -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - if a:mode ==# s:OPEN_TYPE_EXPAND - let nextLevel = (self.searchAroundLevel < 0 ? 0 : self.searchAroundLevel + 1) - call fuf#setOneTimeVariables(['g:fuf_mrufile_searchAroundLevel', nextLevel]) - let self.reservedMode = self.getModeName() - return - else - call fuf#openFile(a:word, a:mode, g:fuf_reuseWindow) - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - let self.searchAroundLevel = g:fuf_mrufile_searchAroundLevel - call fuf#defineKeyMappingInHandler(g:fuf_mrufile_keyExpand, - \ 'onCr(' . s:OPEN_TYPE_EXPAND . ')') - if self.searchAroundLevel < 0 - let self.items = fuf#loadDataFile(s:MODE_NAME, 'items') - call map(self.items, 's:formatItemUsingCache(v:val)') - else - let self.items = fuf#loadDataFile(s:MODE_NAME, 'itemdirs') - call map(self.items, 's:expandSearchDir(v:val.word, g:fuf_mrufile_searchAroundLevel)') - let self.items = l9#concat(self.items) - let self.items = l9#unique(self.items) - call map(self.items, 's:listAroundFiles(v:val)') - let self.items = l9#concat(self.items) - endif - " NOTE: Comparing filenames is faster than bufnr('^' . fname . '$') - let bufNamePrev = fnamemodify(bufname(self.bufNrPrev), ':p:~') - call filter(self.items, '!empty(v:val) && v:val.word !=# bufNamePrev') - if g:fuf_mrufile_underCwd - let cwd = fnamemodify(getcwd(), ':p:~') - call filter(self.items, 'stridx(v:val.word, cwd) == 0') - endif - call fuf#mapToSetSerialIndex(self.items, 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(self.items) -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/quickfix.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/quickfix.vim deleted file mode 100644 index dd5d67c..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/quickfix.vim +++ /dev/null @@ -1,154 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#quickfix#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#quickfix#getSwitchOrder() - return g:fuf_quickfix_switchOrder -endfunction - -" -function fuf#quickfix#getEditableDataNames() - return [] -endfunction - -" -function fuf#quickfix#renewCache() -endfunction - -" -function fuf#quickfix#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#quickfix#onInit() - call fuf#defineLaunchCommand('FufQuickfix', s:MODE_NAME, '""', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getJumpsLines() - redir => result - :silent jumps - redir END - return split(result, "\n") -endfunction - -" -function s:parseJumpsLine(line) - return matchlist(a:line, '^\(.\)\s\+\(\d\+\)\s\(.*\)$') -endfunction - -" -function s:makeItem(qfItem) - if !a:qfItem.valid - return {} - endif - let item = fuf#makeNonPathItem( - \ printf('%s|%d:%d|%s', bufname(a:qfItem.bufnr), a:qfItem.lnum, - \ a:qfItem.col, matchstr(a:qfItem.text, '\s*\zs.*\S')) - \ , '') - let item.bufnr = a:qfItem.bufnr - let item.lnum = a:qfItem.lnum - return item -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_quickfix_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - let items = filter(copy(self.items), 'v:val.word ==# a:word') - if empty(items) - return [] - endif - let lines = fuf#getFileLines(items[0].bufnr) - return fuf#makePreviewLinesAround( - \ lines, [items[0].lnum - 1], a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#prejump(a:mode) - call filter(self.items, 'v:val.word ==# a:word') - if !empty(self.items) - execute 'cc ' . self.items[0].index - endif -endfunction - -" -function s:handler.onModeEnterPre() -endfunction - -" -function s:handler.onModeEnterPost() - let self.items = getqflist() - call map(self.items, 's:makeItem(v:val)') - call fuf#mapToSetSerialIndex(self.items, 1) - call filter(self.items, 'exists("v:val.word")') - call map(self.items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: - diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/tag.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/tag.vim deleted file mode 100644 index 362cabf..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/tag.vim +++ /dev/null @@ -1,178 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#tag#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#tag#getSwitchOrder() - return g:fuf_tag_switchOrder -endfunction - -" -function fuf#tag#getEditableDataNames() - return [] -endfunction - -" -function fuf#tag#renewCache() - let s:cache = {} -endfunction - -" -function fuf#tag#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#tag#onInit() - call fuf#defineLaunchCommand('FufTag' , s:MODE_NAME, '""', []) - call fuf#defineLaunchCommand('FufTagWithCursorWord', s:MODE_NAME, 'expand('''')', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getTagNames(tagFile) - let names = map(l9#readFile(a:tagFile), 'matchstr(v:val, ''^[^!\t][^\t]*'')') - return filter(names, 'v:val =~# ''\S''') -endfunction - -" -function s:parseTagFiles(tagFiles, key) - let cacheName = 'cache-' . l9#hash224(a:key) - let cacheTime = fuf#getDataFileTime(s:MODE_NAME, cacheName) - if cacheTime != -1 && fuf#countModifiedFiles(a:tagFiles, cacheTime) == 0 - return fuf#loadDataFile(s:MODE_NAME, cacheName) - endif - let items = l9#unique(l9#concat(map(copy(a:tagFiles), 's:getTagNames(v:val)'))) - let items = map(items, 'fuf#makeNonPathItem(v:val, "")') - call fuf#mapToSetSerialIndex(items, 1) - let items = map(items, 'fuf#setAbbrWithFormattedWord(v:val, 1)') - call fuf#saveDataFile(s:MODE_NAME, cacheName, items) - return items -endfunction - -" -function s:enumTags(tagFiles) - if !len(a:tagFiles) - return [] - endif - let key = join([g:fuf_ignoreCase] + a:tagFiles, "\n") - if !exists('s:cache[key]') || fuf#countModifiedFiles(a:tagFiles, s:cache[key].time) - let s:cache[key] = { - \ 'time' : localtime(), - \ 'items' : s:parseTagFiles(a:tagFiles, key) - \ } - endif - return s:cache[key].items -endfunction - -" -function s:getMatchingIndex(lines, cmd) - if a:cmd !~# '\D' - return str2nr(a:cmd) - endif - let pattern = matchstr(a:cmd, '^\/\^\zs.*\ze\$\/$') - if empty(pattern) - return -1 - endif - for i in range(len(a:lines)) - if a:lines[i] ==# pattern - return i - endif - endfor - return -1 -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_tag_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForNonPath', - \ self.partialMatching) -endfunction - -" 'cmd' is '/^hoge hoge$/' or line number -function s:handler.makePreviewLines(word, count) - let tags = taglist('^' . a:word . '$') - if empty(tags) - return [] - endif - let i = a:count % len(tags) - let title = printf('(%d/%d) %s', i + 1, len(tags), tags[i].filename) - let lines = fuf#getFileLines(tags[i].filename) - let index = s:getMatchingIndex(lines, tags[i].cmd) - return [title] + fuf#makePreviewLinesAround( - \ lines, (index < 0 ? [] : [index]), 0, self.getPreviewHeight() - 1) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return s:enumTags(self.tagFiles) -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openTag(a:word, a:mode) -endfunction - -" -function s:handler.onModeEnterPre() - let self.tagFiles = fuf#getCurrentTagFiles() -endfunction - -" -function s:handler.onModeEnterPost() - let &l:tags = join(self.tagFiles, ',') -endfunction - -" -function s:handler.onModeLeavePost(opened) - let &l:tags = '' -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/taggedfile.vim b/.vim/bundle/vim-fuzzyfinder/autoload/fuf/taggedfile.vim deleted file mode 100644 index 74652fc..0000000 --- a/.vim/bundle/vim-fuzzyfinder/autoload/fuf/taggedfile.vim +++ /dev/null @@ -1,159 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -"============================================================================= -" LOAD GUARD {{{1 - -if !l9#guardScriptLoading(expand(':p'), 0, 0, []) - finish -endif - -" }}}1 -"============================================================================= -" GLOBAL FUNCTIONS {{{1 - -" -function fuf#taggedfile#createHandler(base) - return a:base.concretize(copy(s:handler)) -endfunction - -" -function fuf#taggedfile#getSwitchOrder() - return g:fuf_taggedfile_switchOrder -endfunction - -" -function fuf#taggedfile#getEditableDataNames() - return [] -endfunction - -" -function fuf#taggedfile#renewCache() - let s:cache = {} -endfunction - -" -function fuf#taggedfile#requiresOnCommandPre() - return 0 -endfunction - -" -function fuf#taggedfile#onInit() - call fuf#defineLaunchCommand('FufTaggedFile', s:MODE_NAME, '""', []) -endfunction - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS/VARIABLES {{{1 - -let s:MODE_NAME = expand(':t:r') - -" -function s:getTaggedFileList(tagfile) - execute 'cd ' . fnamemodify(a:tagfile, ':h') - let result = map(l9#readFile(a:tagfile), 'matchstr(v:val, ''^[^!\t][^\t]*\t\zs[^\t]\+'')') - call map(l9#readFile(a:tagfile), 'fnamemodify(v:val, ":p")') - cd - - call map(l9#readFile(a:tagfile), 'fnamemodify(v:val, ":~:.")') - return filter(result, 'v:val =~# ''[^/\\ ]$''') -endfunction - -" -function s:parseTagFiles(tagFiles, key) - let cacheName = 'cache-' . l9#hash224(a:key) - let cacheTime = fuf#getDataFileTime(s:MODE_NAME, cacheName) - if cacheTime != -1 && fuf#countModifiedFiles(a:tagFiles, cacheTime) == 0 - return fuf#loadDataFile(s:MODE_NAME, cacheName) - endif - let items = l9#unique(l9#concat(map(copy(a:tagFiles), 's:getTaggedFileList(v:val)'))) - call map(items, 'fuf#makePathItem(v:val, "", 0)') - call fuf#mapToSetSerialIndex(items, 1) - call fuf#mapToSetAbbrWithSnippedWordAsPath(items) - call fuf#saveDataFile(s:MODE_NAME, cacheName, items) - return items -endfunction - -" -function s:enumTaggedFiles(tagFiles) - if !len(a:tagFiles) - return [] - endif - let key = join([getcwd(), g:fuf_ignoreCase] + a:tagFiles, "\n") - if !exists('s:cache[key]') || fuf#countModifiedFiles(a:tagFiles, s:cache[key].time) - let s:cache[key] = { - \ 'time' : localtime(), - \ 'items' : s:parseTagFiles(a:tagFiles, key) - \ } - endif - return s:cache[key].items -endfunction - -" }}}1 -"============================================================================= -" s:handler {{{1 - -let s:handler = {} - -" -function s:handler.getModeName() - return s:MODE_NAME -endfunction - -" -function s:handler.getPrompt() - return fuf#formatPrompt(g:fuf_taggedfile_prompt, self.partialMatching, '') -endfunction - -" -function s:handler.getPreviewHeight() - return g:fuf_previewHeight -endfunction - -" -function s:handler.isOpenable(enteredPattern) - return 1 -endfunction - -" -function s:handler.makePatternSet(patternBase) - return fuf#makePatternSet(a:patternBase, 's:interpretPrimaryPatternForPath', - \ self.partialMatching) -endfunction - -" -function s:handler.makePreviewLines(word, count) - return fuf#makePreviewLinesForFile(a:word, a:count, self.getPreviewHeight()) -endfunction - -" -function s:handler.getCompleteItems(patternPrimary) - return self.items -endfunction - -" -function s:handler.onOpen(word, mode) - call fuf#openFile(a:word, a:mode, g:fuf_reuseWindow) -endfunction - -" -function s:handler.onModeEnterPre() - let self.tagFiles = fuf#getCurrentTagFiles() -endfunction - -" -function s:handler.onModeEnterPost() - " NOTE: Comparing filenames is faster than bufnr('^' . fname . '$') - let bufNamePrev = fnamemodify(bufname(self.bufNrPrev), ':p:~:.') - " NOTE: Don't do this in onModeEnterPre() - " because that should return in a short time. - let self.items = copy(s:enumTaggedFiles(self.tagFiles)) - call filter(self.items, 'v:val.word !=# bufNamePrev') -endfunction - -" -function s:handler.onModeLeavePost(opened) -endfunction - -" }}}1 -"============================================================================= -" vim: set fdm=marker: diff --git a/.vim/bundle/vim-fuzzyfinder/doc/fuf.jax b/.vim/bundle/vim-fuzzyfinder/doc/fuf.jax deleted file mode 100644 index 403872f..0000000 --- a/.vim/bundle/vim-fuzzyfinder/doc/fuf.jax +++ /dev/null @@ -1,1405 +0,0 @@ -*fuf.jax* バッファ/ファイル/その他を、あいまい検索 - - Copyright (c) 2007-2010 Takeshi NISHIDA - -FuzzyFinder *fuzzyfinder* *fuf* - -概要 |fuf-introduction| -インストール |fuf-installation| -使い方 |fuf-usage| -モード |fuf-modes| -詳細なトピック |fuf-detailed-topics| -コマンド |fuf-commands| -オプション |fuf-options| -VIMRC の例 |fuf-vimrc-example| -SPECIAL THANKS |fuf-thanks| -CHANGELOG |fuf-changelog| -あばうと |fuf-about| - -============================================================================== -概要 *fuf-introduction* - -FuzzyFinder はバッファ/ファイル/コマンド/ブックマーク/タグに素早くアクセスする -ための手段を提供します。入力されたパターンから変換されたあいまいパターンまたは -部分一致パターンで検索を行います。 - - 入力パターン あいまいパターン 部分一致パターン ~ -> - abc *a*b*c* *abc* - dir/file dir/*f*i*l*e* dir/*file* - d*r/file d*r/*f*i*l*e* d*r/*file* - ../**/s ../**/*s* ../**/*s* - (** : 再帰検索) -< -次のような場面で有用です: - - "./AhLongLongLongLongLongFile.txt" - "./AhLongLongLongLongLongName.txt" - "./OhLongLongLongLongLongFile.txt" - "./OhLongLongLongLongLongName.txt" <- 欲しいファイル :-O - -"ON" と入力すれば "OhLongLongLongLongLongName.txt" が選択できます. :-D - -FuzzyFinder が検索できる対象は次の通りです: - - バッファ - - ファイル - - ディレクトリ - - 最近使ったファイル - - 最近使ったファイルの近くのファイル - - 最近使ったコマンドライン - - ブックマークされたファイル - - ブックマークされたディレクトリ - - タグ - - タグファイルに含まれるファイル - - ジャンプリスト - - チェンジリスト - - バッファの行 - - quickfix - - ヘルプ - -FuzzyFinder は ファイルを検索したりアイテムを選択するシステムを利用するための -API も提供します。 - -FuzzyFinder はマルチバイト文字をサポートしています。 - - -============================================================================== -インストール *fuf-installation* - -ZIPファイルをランタイムディレクトリに展開します。 - -以下のようにファイルが配置されるはずです。 -> - <ランタイムディレクトリ>/plugin/fuf.vim - <ランタイムディレクトリ>/doc/fuf.txt - ... -< -もしランタイムディレクトリが多数のプラグインでごちゃごちゃになるのが嫌なら、各 -プラグインを個別のディレクトリに配置し、そのディレクトリのパスを 'runtimepath' -に追加してください。アンインストールも楽になります。 - -その後、ヘルプを有効にするためにタグファイルを更新してください。詳しくは -|add-local-help|を参照してください。 - -必要なもの: ~ - -- L9 library (vimscript #3252) - - -============================================================================== -使い方 *fuf-usage* - -次のコマンドで FuzzyFinder を起動します: - - コマンド モード ~ - |:FufBuffer| - Buffer モード (|fuf-buffer-mode|) - |:FufFile| - File モード (|fuf-file-mode|) - |:FufCoverageFile| - Coverage-File モード (|fuf-coveragefile-mode|) - |:FufDir| - Directory モード (|fuf-dir-mode|) - |:FufMruFile| - MRU-File モード (|fuf-mrufile-mode|) - |:FufMruCmd| - MRU-Command モード (|fuf-mrucmd-mode|) - |:FufBookmarkFile| - Bookmark-File モード (|fuf-bookmarkfile-mode|) - |:FufBookmarkDir| - Bookmark-Dir モード (|fuf-bookmarkdir-mode|) - |:FufTag| - Tag モード (|fuf-tag-mode|) - |:FufBufferTag| - Buffer-Tag モード (|fuf-buffertag-mode|) - |:FufTaggedFile| - Tagged-File モード (|fuf-taggedfile-mode|) - |:FufJumpList| - Jump-List モード (|fuf-jumplist-mode|) - |:FufChangeList| - Change-List モード (|fuf-changelist-mode|) - |:FufQuickfix| - Quickfix モード (|fuf-quickfix-mode|) - |:FufLine| - Line モード (|fuf-line-mode|) - |:FufHelp| - Help モード (|fuf-help-mode|) - -これらのコマンドを押しやすいキーにマッピングすることを推奨します。 - -これらのコマンドを実行するとパターンを入力するための1行のバッファを開き、イン -サートモードを開始します。 - -FuzzyFinder は入力されたパターンにマッチするアイテムを検索し、それを補完メニュ -ーに表示します。パターンマッチングの詳細は|fuf-search-patterns|を参照してくだ -さい。 - -多くのアイテムがマッチングする場合、FuzzyFinder はレスポンスを向上させるために -列挙するアイテムの数(|g:fuf_enumeratingLimit|)を制限し、その際、入力されたパタ -ーンを"Error" グループでハイライトします。 - -補完メニューの最初のアイテムは自動的に選択状態になります。 - - で入力パターンからカーソル前の、ディレクトリ名などのひとかたまりを削除す -ることができます。 - - (|g:fuf_keyPrevPattern|) と (|g:fuf_keyNextPattern|) で、履歴から -過去に入力したパターンを呼び出すことができます。 - -いろいろな方法で、選択されたアイテムを開くことができます: - - (|g:fuf_keyOpen|) - 直前のウィンドウで開きます。 - (|g:fuf_keyOpenSplit|) - ウィンドウを分割して開きます。 - (|g:fuf_keyOpenVsplit|) - ウィンドウを垂直分割して開きます。 - (|g:fuf_keyOpenTabpage|) - 別のタブページで開きます。 - -キャンセルして直前のウィンドウに戻るには、インサートモードを抜けてください。 - - (|g:fuf_keySwitchMatching|) で、検索方法をあいまいマッチングまたは -部分一致マッチングに交互に切り替えることができます。 - - (|g:fuf_keyNextMode|) と (|g:fuf_keyPrevMode|) で、インサートモー -ドを抜けることなくカレントモードを切り替えることが出来ます。 - -いくつかのモードでは、選択されたアイテムを (|g:fuf_keyPreview|) でプレビ -ューすることができます。同じアイテムでキーを繰り返すことで別の情報を表示させる -ことができます。プレビューをサポートするモードを起動すると、コマンドラインの高 -さが|g:fuf_previewHeight|になります。この機能は|g:fuf_previewHeight|が0ではな -い場合、有効になります。 - - -============================================================================== -モード *fuf-modes* - - *fuf-buffer-mode* -Buffer モード ~ - -このモードはバッファを選択して開くインターフェースを提供します。 - -Buffer モード中に (|g:fuf_buffer_keyDelete|) を押すと選択したバッファを -削除することができます。 - - *fuf-file-mode* -File モード ~ - -このモードはファイルツリーからファイルを検索して開くインターフェースを提供しま -す。 - - *fuf-coveragefile-mode* -Coverage-File モード ~ - -このモードはあらかじめ設定した検索対象の全ファイルからファイルを選択して開くイ -ンターフェースを提供します。 - -デフォルトではカレントディレクトリ以下の全ファイルを列挙します。 -(|g:fuf_coveragefile_globPatterns|) - -他の検索対象を検索したい場合、|FufCoverageFileRegister|コマンドで新しい検索対 -象を登録し、|FufCoverageFileChange|コマンドで検索対象を選択して Coverage-File -モードを起動します。 - -加えて、|fuf#setOneTimeVariables()|関数を使う方法もあります。 - - -例: .hと.cファイルだけ検索する: -> - call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', ['**/*.h', '**/*.c']]) - \ | FufCoverageFile -< -例: デフォルトの検索対象に加えてホームディレクトリも検索する: -> - call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', g:fuf_coveragefile_globPatterns + ['~/**/.*', '~/**/*']]) - \ | FufCoverageFile -< - - *fuf-dir-mode* -Directory モード ~ - -このモードはファイルツリーからディレクトリを検索してカレントディレクトリを変更 -するインターフェースを提供します。 - - *fuf-mrufile-mode* -MRU-File モード ~ - -このモードは最近使ったファイルを選択して開くインターフェースを提供します。 - -このモード中に (|g:fuf_mrufile_keyExpand|) を押すと、最近使ったファイル -の付近にあるファイルを検索します。このキーを押す毎に、検索範囲をディレクトリツ -リーの上下に1階層ずつ広げます。 - -|BufEnter| と |BufWritePost| で行う処理がパフォーマンス上の問題を起こしうるの -で、デフォルトでは無効化するモードに指定されています。(|g:fuf_modesDisable|) - -See also: |FufMruFileInCwd| - - *fuf-mrucmd-mode* -MRU-Command モード ~ - -このモードは最近使ったコマンドラインを選択して開くインターフェースを提供します -。 -このモードに必要な、コマンドラインモードの のマッピングに副作用があるので、 -、デフォルトでは無効化するモードに指定されています。(|g:fuf_modesDisable|) - - *fuf-bookmarkfile-mode* -Bookmark-File モード ~ - -このモードは事前に追加したブックマークを選択してその行へジャンプするインターフ -ェースを提供します。 - -|:FufBookmarkFileAdd|コマンドでカーソルのある行をブックマークに追加できます。 -このコマンドを実行すると、ブックマーク名の入力を求められます。 - -FuzzyFinder はジャンプする行番号を調整します。ブックマークされた行がブックマー -クされたときのパターンとマッチしない場合、FuzzyFinder はブックマークされた位置 -の周辺でマッチする行を探します。なのでブックマークした行が多少移動していたとし -ても、そこでジャンプすることができます。ブックマークした行番号へ調整せずにジャ -ンプしたい場合、|g:fuf_bookmarkfile_searchRange|を 0 に設定してください。 - -このモード中に (|g:fuf_bookmarkfile_keyDelete|) を押すと選択したブックマ -ークを削除することができます。 - - *fuf-bookmarkdir-mode* -Bookmark-Dir モード ~ - -このモードは事前に追加したブックマークを選択してカレントディレクトリを変更する -するインターフェースを提供します。 - -|:FufBookmarkDirAdd|コマンドでディレクトリをブックマークに追加できます。このコ -マンドを実行すると、ディレクトリのパスとブックマーク名の入力を求められます。 - -このモード中に (|g:fuf_bookmarkdir_keyDelete|) を押すと選択したブックマ -ークを削除することができます。 - - *fuf-tag-mode* -Tag モード ~ - -このモードはタグを選択してその定義へジャンプするインターフェースを提供します。 - -以下は を置き換えるマッピングです。 -> - noremap :FufTagWithCursorWord! -< - - *fuf-buffertag-mode* -Buffer-Tag モード ~ - -このモードはカレントバッファまたは全バッファのタグを選択してその定義へジャンプ -するインターフェースを提供します。 - -タグのリストはFuzzyFinderの起動時にその場で作成されるので、前もってtagsファイ -ルを作成する必要はありません。 - -|FufBufferTag|はカレントバッファを対象にし、|FufBufferTagAll|は全バッファを対 -象にします。 - -以下は を置き換えるマッピングです: -> - nnoremap :FufBufferTagWithCursorWord! - vnoremap :FufBufferTagAllWithSelectedText! -< -または -> - nnoremap :FufBufferTagAllWithCursorWord! - vnoremap :FufBufferTagAllWithSelectedText! -< -このモードは taglist.vim (vimscript #273) にインスパイアされました。コードも参 -考にしています。 - - *fuf-taggedfile-mode* -Tagged-File モード ~ - -このモードはタグファイルに含まれるファイルを選択して開くインターフェースを提供 -します。 - - *fuf-jumplist-mode* -Jump-List モード ~ - -このモードはカレントウィンドウの|jumplist|から選択した位置へジャンプするインタ -ーフェースを提供します。 - - *fuf-changelist-mode* -Change-List モード ~ - -このモードはカレントバッファの|changelist|から選択した位置へジャンプするインタ -ーフェースを提供します。 - - *fuf-quickfix-mode* -Quickfix モード ~ - -このモードは|quickfix|リストから選択した位置へジャンプするインターフェースを提 -供します。 - - *fuf-line-mode* -Line モード ~ - -このモードはカレントバッファの行を選択してジャンプするインターフェースを提供し -ます。 - - *fuf-help-mode* -Help モード ~ - -このモードはヘルプタグを選択してそのヘルプページへジャンプするインターフェース -を提供します。 - - *fuf-givenfile-mode* -Given-File モード ~ - -このモードは与えられたリストから選択されたファイルを開く API を提供します。 - -API 関数: -> - function fuf#givenfile#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - FuzzyFinder 起動直後に挿入される文字列 - partialMatching - あいまい検索ではなく部分一致検索を行うか - prompt - プロンプト文字列 - items - アイテムのリスト - -利用例: -> - " ドットファイルを開く - call fuf#givenfile#launch('', 0, '>', split(glob('~/.*'), "\n")) -< - - *fuf-givendir-mode* -Given-Directory モード ~ - -このモードは与えられたリストから選択されたディレクトリにカレントディレクトリを -変更する API を提供します。 - -API 関数: -> - function fuf#givendir#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - FuzzyFinder 起動直後に挿入される文字列 - partialMatching - あいまい検索ではなく部分一致検索を行うか - prompt - プロンプト文字列 - items - アイテムのリスト - - -利用例: -> - " ランタイムディレクトリのどれかをカレントディレクトリにする - call fuf#givendir#launch('', 0, '>', split(&runtimepath, ',')) -< - - *fuf-givencmd-mode* -Given-Command モード ~ - -このモードは与えられたリストから選択されたコマンドを実行する API を提供します。 - -選択されたコマンドは feedkeys() によって実行されるので、ノーマルモードでの一連 -のキー入力をエミュレートさせることも可能です。 - -API 関数: -> - function fuf#givencmd#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - FuzzyFinder 起動直後に挿入される文字列 - partialMatching - あいまい検索ではなく部分一致検索を行うか - prompt - プロンプト文字列 - items - アイテムのリスト - - -利用例: -> - function GetAllCommands() - redir => commands - silent command - redir END - return map((split(commands, "\n")[3:]), - \ '":" . matchstr(v:val, ''^....\zs\S*'')') - endfunction - - " ユーザー定義コマンドを選択して実行 - call fuf#givencmd#launch('', 0, '>', GetAllCommands()) - -< - - *fuf-callbackfile-mode* -Callback-File モード ~ - -このモードはファイルを検索して選択されたファイルパスを得る API を提供します。 - -API 関数: -> - function fuf#callbackfile#launch( - \ initialPattern, partialMatching, prompt, exclude, listener) -< - initialPattern - FuzzyFinder 起動直後に挿入される文字列 - partialMatching - あいまい検索ではなく部分一致検索を行うか - prompt - プロンプト文字列 - exclude - 補完リストから除外したいアイテムの正規表現パターン - listener - 'onComplete' と 'onAbort' を持つ|Dictionary|。これ - らは FuzzyFinder 終了時に呼ばれます。 - listener.onComplete(item, method) は選択が完了したと - き、選択されたアイテム名とオープン方式番号の2引数と - 共に呼ばれます。listener.onAbort() は選択を中止した - ときに呼ばれます。 - -利用例: -> - let listener = {} - - function listener.onComplete(item, method) - echo "Item: " . a:item . "\nMethod: " . a:method - endfunction - - function listener.onAbort() - echo "Abort" - endfunction - - " カレントディレクトリからファイルを選択 - call fuf#callbackfile#launch('', 0, '>', '', listener) - - " ホームディレクトリからファイルを選択 - call fuf#callbackfile#launch('~/', 0, '>', '', listener) -< - - *fuf-callbackitem-mode* -Callback-Item モード ~ - -このモードは与えられたリストから選択されたアイテムを得るための API を提供しま -す。 - -API 関数: -> - function fuf#callbackitem#launch( - \ initialPattern, partialMatching, prompt, listener, items, forPath) -< - initialPattern - FuzzyFinder 起動直後に挿入される文字列 - partialMatching - あいまい検索ではなく部分一致検索を行うか - prompt - プロンプト文字列 - listener - 'onComplete' と 'onAbort' を持つ|Dictionary|。これ - らは FuzzyFinder 終了時に呼ばれます。 - listener.onComplete(item, method) は選択が完了したと - き、選択されたアイテム名とオープン方式番号の2引数と - 共に呼ばれます。listener.onAbort() は選択を中止した - ときに呼ばれます。 - items - アイテムのリスト - forPath - ファイル選択に特化したマッチングを利用するか - -利用例: -> - let listener = {} - - function listener.onComplete(item, method) - echo "Item: " . a:item . "\nMethod: " . a:method - endfunction - - function listener.onAbort() - echo "Abort" - endfunction - - " 与えられたリストからアイテムを選択 - call fuf#callbackitem#launch('', 0, '>', listener, ['ed', 'vi', 'vim'], 0) - - " 与えられたリストからファイルを選択 - call fuf#callbackitem#launch('', 0, '>', listener, ['../foo/bar', 'baz'], 1) -< - -============================================================================== -詳細なトピック *fuf-detailed-topics* - - *fuf-setting-one-time-option* *fuf#setOneTimeVariables()* -一回限りのオプションの設定 ~ - -次回の FuzzyFinder 用に一回限りのオプションを設定したいとき、 -|fuf#setOneTimeVariables()|関数が役に立ちます。この関数は次のようにして使いま -す: -> - call fuf#setOneTimeVariables(['g:fuf_ignoreCase', 0], ['&lines', 50]) -< -この関数は 0 個以上の引数を取り、各々は変数名と値のペアです。指定されたオプシ -ョンは次回 FuzzyFinder が起動したときに実際に設定され、終了するときに復元され -ます。 - - *fuf-search-patterns* -検索パターン ~ - -検索パターンとして、一つのプライマリパターンと0個以上の絞り込みパターンを入力 -することができます。入力パターンは ";" (|g:fuf_patternSeparator|) で区切られ、 -最初のパターンがプライマリパターンになり、残りのパターンが絞り込みパターンにな -ります。 -> - プライマリ 絞り込み 絞り込み - |----------| |-------| |----| - >MruFile>bookmark.vim;autoload/;/home/ -< -プライマリパターンにマッチしたアイテムのリストを別のパターンで絞り込むために、 -絞り込みパターンを利用します。 - -プライマリパターンでは、あいまいマッチングと部分一致マッチングのうち、選択され -た方を行います。絞り込みパターンでは、デフォルトで部分一致マッチングを行います -。(|g:fuf_fuzzyRefining|) - -絞り込みパターンとして数値を入力した場合、アイテムのインデックスに対しても -マッチングします。 - -ファイルパスの静的な集合を対象とするモード (Buffer, MRU-File モードなど。File, -Directory モードなどではない) で|g:fuf_splitPathMatching|が真の場合、プライマ -リパターンのマッチングは head 部とtail 部に分けて行われます。 -> - head tail - |------||-----| - foo/bar/baz.vim - - あいまいマッチング例: - +----------------+---------+---------+---------+ - | item \ pattern | foo/bar | foo/ | bar | - +----------------+---------+---------+---------+ - | foo/bar | match | match | match | - | foo/abc | unmatch | match | unmatch | - | abc/bar | unmatch | unmatch | match | - | foobar | unmatch | unmatch | match | - | foooo/barrrr | match | match | match | - | foooo/fooooo | unmatch | match | unmatch | - +----------------+---------+---------+---------+ -< -上記のケースで、絞り込みパターンはパス全体に対してマッチングできます。 - - *fuf-sorting-of-completion-items* -補完アイテムのソート ~ - -FuzzyFinder は幾つかのルールに従って補完アイテムをソートします。 - -パターン全体が一部分にぴったりマッチするアイテムは優先されます。例えば、パター -ン "bc" ではアイテム "abc" は "bac" より優先されます。 - -このケースで、マッチする部分が先頭であるアイテムはそうでないアイテムより優先さ -れます。例えばパターン "foo" ではアイテム "foobar" は"barfoo" より優先されます -。 - -マッチング位置より後の文字数が少ないほど優先されます。例えばパターン "bar" で -はアイテム"foobar" は"foobarbaz"より優先されます。 - -単語の境界文字にだけマッチングするアイテムは優先されます。 例えば、パターン -"fb" ではアイテム"fooBarBaz" や "foo_bar_baz" などが優先されます。 - -加えて、FuzzyFinder には学習システムがあります。現在のパターンで、過去に補完さ -れたことのあるアイテムを優先します。 - - *fuf-reusing-window* -目的のバッファ/ファイルが開かれているウィンドウの再利用 ~ - -ウィンドウを分割してバッファ/ファイルを開くときに、現在のタブページでそれが開 -かれているウィンドウが見つかった場合、そこへ移動します。別のタブページでバッフ -ァ/ファイルを開くときに、他のタブページでそれが開かれているウィンドウが見つか -った場合、そこへ移動します。 - -常にバッファ/ファイルを新ウィンドウで開きたい場合、'reuse_window'オプションで -この機能を無効にすることができます。 - - *fuf-hiding-menu* -補完メニューの一時非表示 ~ - - で補完メニューを閉じることができます。また、で再度開くことがで -きます。 - - *fuf-abbreviation* *fuf-multiple-search* -短縮入力及び複合検索 ~ - -|g:fuf_abbrevMap|を設定することで、全モードで短縮入力と複合検索が利用できます。 - -例えば次のように設定したとします: -> - let g:fuf_abbrevMap = { - \ "^doc:" : [ - \ "~/project/**/doc/", - \ ".vim/doc/", - \ ], - \ } -< -そして File モードで "doc:txt" と入力すると、次の2つのパターンの検索結果を複合 -します: - - "~/project/**/doc/*t*x*t*" - ".vim/doc/*t*x*t*" - - *fuf-data-file* -データファイル ~ - -FuzzyFinder は補完統計、MRUデータ、ブックマークなどを|g:fuf_dataDir|以下のファ -イルに書き込みます。 - -|:FufEditDataFile|コマンドはデータファイルの編集を補助します。このコマンドを実 -行すると、データファイルを無名バッファに読み込みます。:write などで書き込みを -行うと、データファイルを更新します。 - - *fuf-cache* -キャッシュ ~ - -一旦キャッシュが生成されると、レスポンスを向上させるため自動的には更新されませ -ん。これを更新するには|:FufRenewCache|コマンドを実行してください。 - - *fuf-dot-sequence* -ドット列で親ディレクトリへ移動 ~ - -ドット列を入力することで親ディレクトリを上がっていくことができます。パス区切り -文字直後のドット列は "../" の列に展開されます。 - - ドット列 展開パターン ~ - /.. /../ - /... /../../ - /.... /../../../ - - *fuf-how-to-add-mode* -モードの追加方法 ~ - -"mymode" モードを追加するには、ソースファイルを autoload/fuf/mymode.vim に置き -、 fuf#addMode('mymode') を呼びます。 - - *fuf-migemo* -Migemo とは ~ - -以下のページを参照してください。 - - http://0xcc.net/migemo/ - - http://www.kaoriya.net/#CMIGEMO - - -============================================================================== -コマンド *fuf-commands* - -See also: |fuf-vimrc-example| - - *:FufBuffer* -:FufBuffer [{pattern}] - Buffer モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufFile* -:FufFile [{pattern}] - File モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufFileWithFullCwd* -:FufFileWithFullCwd [{pattern}] - カレントディレクトリのフルパスを初期パターンとする以外は|:FufFile|と同 - じです。 - - *:FufFileWithCurrentBufferDir* -:FufFileWithCurrentBufferDir [{pattern}] - カレントバッファのディレクトリを初期パターンとする以外は|:FufFile|と同 - じです。 - - *:FufDir* -:FufDir [{pattern}] - Directory モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufDirWithFullCwd* -:FufDirWithFullCwd [{pattern}] - カレントディレクトリのフルパスを初期パターンとする以外は|:FufDir|と同 - じです。 - - *:FufDirWithCurrentBufferDir* -:FufDirWithCurrentBufferDir [{pattern}] - カレントバッファのディレクトリを初期パターンとする以外は|:FufDir|と同 - じです。 - - *:FufMruFile* -:FufMruFile [{pattern}] - MRU-File モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufMruFileInCwd* -:FufMruFileInCwd [{pattern}] - カレントディレクトリ内のファイルのみを対象とする以外は - |:FufMruFile|と同じです。 - - *:FufMruCmd* -:FufMruCmd [{pattern}] - MRU-Command モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufBookmarkFile* -:FufBookmarkFile [{pattern}] - Bookmark-File モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufBookmarkDir* -:FufBookmarkDir [{pattern}] - Bookmark-Dir モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufTag* -:FufTag [{pattern}] - Tag モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufTagWithCursorWord* -:FufTagWithCursorWord [{pattern}] - カーソル下の単語を初期パターンとする以外は|:FufTag|と同じです。 - - *:FufBufferTag* -:FufBufferTag[!] [{pattern}] - Buffer-Tag モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufBufferTagAll* -:FufBufferTagAll[!] [{pattern}] - カレントバッファだけでなく他の全てのバッファからもタグを集める以外は - |:FufBufferTag|と同じです。 - - *:FufBufferTagWithCursorWord* -:FufBufferTagWithCursorWord[!] [{pattern}] - カーソル下の単語を初期パターンとする以外は|:FufBufferTag|と同じです。 - - *:FufBufferTagAllWithCursorWord* -:FufBufferTagAllWithCursorWord[!] [{pattern}] - カーソル下の単語を初期パターンとする以外は|:FufBufferTagAll|と同じです - 。 - - *:FufBufferTagWithSelectedText* -:FufBufferTagWithSelectedText[!] [{pattern}] - 最後に選択したテキストを初期パターンとする以外は|:FufBufferTag|と同じ - です。 - - *:FufBufferTagAllWithSelectedText* -:FufBufferTagAllWithSelectedText[!] [{pattern}] - 最後に選択したテキストを初期パターンとする以外は|:FufBufferTagAll|と同 - じです。 - - *:FufTaggedFile* -:FufTaggedFile [{pattern}] - Tagged-File モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufJumpList* -:FufJumpList [{pattern}] - Jump-List モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufChangeList* -:FufChangeList [{pattern}] - Change-List モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufQuickfix* -:FufQuickfix [{pattern}] - Quickfix モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufLine* -:FufLine [{pattern}] - Line モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufHelp* -:FufHelp[!] [{pattern}] - Help モードを起動します。 - - ! 修飾子を付けて実行した場合、あいまい検索ではなく部分一致検索を行うよ - うになります。 - - FuzzyFinder 起動後に {pattern} が挿入されます。 - - *:FufEditDataFile* -:FufEditDataFile - データファイルを編集するためのバッファを開きます。詳しくは - |fuf-data-file|を参照してください。 - - *:FufCoverageFileRegister* -:FufCoverageFileRegister - Coverage-File モードで検索される、新しい検索対象を登録します。最初に - ~/* のような glob パターンを入力します。 を入力するまでパターン - を追加することができます。次に対象名を入力します。 - - See also: |glob()|, |fuf-coveragefile-mode| - - *:FufCoverageFileChange* -:FufCoverageFileChange [{name}] - |FufCoverageFileRegister|コマンドで登録されている中から選択された検索 - 対象でCoverage-File モードを起動します。 - - 対象名が与えられた場合、選択プロセスは飛ばされます。 - - See also: |fuf-coveragefile-mode| - - *:FufBookmarkFileAdd* -:FufBookmarkFileAdd [{name}] - カーソル行をブックマークに追加します。 - - See also: |fuf-bookmarkfile-mode| - - *:FufBookmarkFileAddAsSelectedText* -:FufBookmarkFileAddAsSelectedText - 最後に選択されたテキストをブックマーク名とする以外は - |:FufBookmarkFileAdd|と同じです。 - - *:FufBookmarkDirAdd* -:FufBookmarkDirAdd [{name}] - ディレクトリをブックマークに追加します。 - - See also: |fuf-bookmarkdir-mode| - - *:FufRenewCache* -:FufRenewCache - 補完アイテムを作り直すためにキャッシュを削除します。詳しくは - |fuf-cache|を参照してください。 - - -============================================================================== -オプション *fuf-options* - - *fuf-options-for-all-modes* -全モード用 ~ - - *g:fuf_modesDisable* > - let g:fuf_modesDisable = [ 'mrufile', 'mrucmd', ] -< - 無効にするモード名のリスト。これに含まれるモードは初期化されず、イベン - トの処理も行われません。 - - *g:fuf_keyOpen* > - let g:fuf_keyOpen = '' -< - 補完を確定し、バッファ/ファイルを直前のウィンドウで開くキー。 - - *g:fuf_keyOpenSplit* > - let g:fuf_keyOpenSplit = '' -< - 補完を確定し、バッファ/ファイルを直前のウィンドウを分割して開くキー。 - - *g:fuf_keyOpenVsplit* > - let g:fuf_keyOpenVsplit = '' -< - 補完を確定し、バッファ/ファイルを直前のウィンドウを垂直分割して開くキ - ー。 - - *g:fuf_keyOpenTabpage* > - let g:fuf_keyOpenTabpage = '' -< - 補完を確定し、バッファ/ファイルを別タブページ開くキー。 - - *g:fuf_keyPreview* > - let g:fuf_keyPreview = '' -< - 選択されている補完アイテムの情報をコマンドライン領域に表示するキー。プ - レビューをサポートするモードでのみ作用します。 - - *g:fuf_keyNextMode* > - let g:fuf_keyNextMode = '' -< - 次のモードに切り替えるキー。 - - *g:fuf_keyPrevMode* > - let g:fuf_keyPrevMode = '' -< - 前のモードに切り替えるキー。 - - *g:fuf_keyPrevPattern* > - let g:fuf_keyPrevPattern = '' -< - 履歴から前の入力パターンを呼び出すキー。 - - *g:fuf_keyNextPattern* > - let g:fuf_keyNextPattern = '' -< - 履歴から次の入力パターンを呼び出すキー。 - - *g:fuf_keySwitchMatching* > - let g:fuf_keySwitchMatching = '' -< - あいまいマッチングと部分一致マッチングを切り替えるキー。 - - *g:fuf_dataDir* > - let g:fuf_dataDir = '~/.vim-fuf-data' -< - データファイルを置くディレクトリのパス。空文字列を設定するとファイルへ - の書き込みは行われなくなります。 - - *g:fuf_abbrevMap* > - let g:fuf_abbrevMap = {} -< - |Dictionary|型でそれぞれの値は|List|型です。入力されたテキストの、キー - にマッチする部分が対応する値に展開されます。 - - *g:fuf_patternSeparator* > - let g:fuf_patternSeparator = ';' -< - 入力パターンをプライマリパターンと絞り込みパターン列に区切る文字列。 - - *g:fuf_promptHighlight* > - let g:fuf_promptHighlight = 'Question' -< - プロンプトをハイライトするグループ名。 - - *g:fuf_ignoreCase* > - let g:fuf_ignoreCase = 1 -< - 真なら、大文字小文字を無視します。 - - *g:fuf_splitPathMatching* > - let g:fuf_splitPathMatching = 1 -< - 真なら、プライマリパターンのマッチングは head 部とtail 部に分けて行わ - れます。 - - See also: |fuf-search-patterns| - - *g:fuf_fuzzyRefining* > - let g:fuf_fuzzyRefining = 0 -< - 真なら、絞り込みパターンについて部分一致マッチングの代わりにあいまいマ - ッチングが行われます。 - - See also: |fuf-search-patterns| - - *g:fuf_reuseWindow* > - let g:fuf_reuseWindow = 1 -< - 真なら、すでに開かれているバッファを開くとき、目的のバッファを含むウィ - ンドウを再利用します。 - - *g:fuf_timeFormat* > - let g:fuf_timeFormat = '(%Y-%m-%d %H:%M:%S)' -< - アイテムが登録された日時の書式を設定します。書式の詳細は|strftime()|を - 参照してください。 - - *g:fuf_learningLimit* > - let g:fuf_learningLimit = 100 -< - 保持する補完統計データのモード毎の上限値です。 - - *g:fuf_enumeratingLimit* > - let g:fuf_enumeratingLimit = 50 -< - レスポンスを向上させるため、補完アイテムの列挙をこの数に達した時点で打 - ち切ります。 - - *g:fuf_maxMenuWidth* > - let g:fuf_maxMenuWidth = 78 -< - 長い補完アイテムは、この長さに収まるよう省略して表示します。 - - *g:fuf_previewHeight* > - let g:fuf_previewHeight = 0 -< - プレビューをサポートするモードを起動したとき、'cmdheight'がこの値に設 - 定されます。選択されている補完アイテムの情報がコマンドライン領域に表示 - されます。0 ならプレビュー機能は無効になります。 - - *g:fuf_autoPreview* > - let g:fuf_autoPreview = 0 -< - 真ならプレビューを自動的に表示します。 - - *g:fuf_useMigemo* > - let g:fuf_useMigemo = 0 -< - 真なら migemo を利用します。 - - *fuf-options-for-buffer-mode* -Buffer モード用 ~ - - *g:fuf_buffer_prompt* > - let g:fuf_buffer_prompt = '>Buffer[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_buffer_switchOrder* > - let g:fuf_buffer_switchOrder = 10 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_buffer_mruOrder* > - let g:fuf_buffer_mruOrder = 1 -< - 真なら、最後に使った時間順に補完アイテムをソートします。 - - *g:fuf_buffer_keyDelete* > - let g:fuf_buffer_keyDelete = '' -< - 選択したバッファを削除するキー。 - - *fuf-options-for-file-mode* -File モード用 ~ - - *g:fuf_file_prompt* > - let g:fuf_file_prompt = '>File[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_file_switchOrder* > - let g:fuf_file_switchOrder = 20 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_file_exclude* > - let g:fuf_file_exclude = '\v\~$|\.(o|exe|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - 補完リストから除外したいアイテムの正規表現パターン。 - - *fuf-options-for-coveragefile-mode* -Coverage-File モード用 ~ - - *g:fuf_coveragefile_prompt* > - let g:fuf_coveragefile_prompt = '>CoverageFile[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_coveragefile_switchOrder* > - let g:fuf_coveragefile_switchOrder = 30 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_coveragefile_exclude* > - let g:fuf_coveragefile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - 補完リストから除外したいアイテムの正規表現パターン。 - - *g:fuf_coveragefile_globPatterns* > - let g:fuf_coveragefile_globPatterns = ['**/.*', '**/*'] -< - 検索されるファイルパスを得るためのglobパターンのリスト。 - - *fuf-options-for-dir-mode* -Directory モード用 ~ - - *g:fuf_dir_prompt* > - let g:fuf_dir_prompt = '>Dir[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_dir_switchOrder* > - let g:fuf_dir_switchOrder = 40 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_dir_exclude* > - let g:fuf_dir_exclude = '\v(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - 補完リストから除外したいアイテムの正規表現パターン。 - - *fuf-options-for-mrufile-mode* -MRU-File モード用 ~ - - *g:fuf_mrufile_prompt* > - let g:fuf_mrufile_prompt = '>MRU-File[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_mrufile_switchOrder* > - let g:fuf_mrufile_switchOrder = 50 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_mrufile_exclude* > - let g:fuf_mrufile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|^(\/\/|\\\\|\/mnt\/|\/media\/)' -< - 補完リストから除外したいアイテムの正規表現パターン。 - - *g:fuf_mrufile_maxItem* > - let g:fuf_mrufile_maxItem = 200 -< - 保持するMRUアイテムの上限値。 - - *g:fuf_mrufile_maxItemDir* > - let g:fuf_mrufile_maxItemDir = 50 -< - 保持するMRUアイテムの親ディレクトリ(周辺検索で使われる)の上限値。 - - *g:fuf_mrufile_keyExpand* > - let g:fuf_mrufile_keyExpand = '' -< - 検索する範囲を広げるキー。 - - *fuf-options-for-mrucmd-mode* -MRU-Cmd モード用 ~ - - *g:fuf_mrucmd_prompt* > - let g:fuf_mrucmd_prompt = '>MRU-Cmd[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_mrucmd_switchOrder* > - let g:fuf_mrucmd_switchOrder = 60 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_mrucmd_exclude* > - let g:fuf_mrucmd_exclude = '^$' -< - 補完リストから除外したいアイテムの正規表現パターン。 - - *g:fuf_mrucmd_maxItem* > - let g:fuf_mrucmd_maxItem = 200 -< - 保持するMRUアイテムの上限値。 - - *fuf-options-for-bookmarkfile-mode* -Bookmark-File モード用 ~ - - *g:fuf_bookmarkfile_prompt* > - let g:fuf_bookmarkfile_prompt = '>BookmarkFile[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_bookmarkfile_switchOrder* > - let g:fuf_bookmarkfile_switchOrder = 70 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_bookmarkfile_searchRange* > - let g:fuf_bookmarkfile_searchRange = 400 -< - ジャンプするとき、ブックマークした位置からこの行数の範囲内でブックマー - クしたときのパターンとマッチする行を探します。 - - *g:fuf_bookmarkfile_keyDelete* > - let g:fuf_bookmarkfile_keyDelete = '' -< - 選択したブックマークを削除するキー。 - - *fuf-options-for-bookmarkdir-mode* -Bookmark-Dir モード用 ~ - - *g:fuf_bookmarkdir_prompt* > - let g:fuf_bookmarkdir_prompt = '>BookmarkDir[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_bookmarkdir_switchOrder* > - let g:fuf_bookmarkdir_switchOrder = 80 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_bookmarkdir_keyDelete* > - let g:fuf_bookmarkdir_keyDelete = '' -< - 選択したブックマークを削除するキー。 - - *fuf-options-for-tag-mode* -Tag モード用 ~ - - *g:fuf_tag_prompt* > - let g:fuf_tag_prompt = '>Tag[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_tag_switchOrder* > - let g:fuf_tag_switchOrder = 90 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-buffertag-mode* -For Buffer-Tag モード用 ~ - - *g:fuf_buffertag_prompt* > - let g:fuf_buffertag_prompt = '>Buffer-Tag[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_buffertag_switchOrder* > - let g:fuf_buffertag_switchOrder = 100 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *g:fuf_buffertag_ctagsPath* > - let g:fuf_buffertag_ctagsPath = 'ctags' -< - Ctagsの実行ファイルのパス - - *fuf-options-for-taggedfile-mode* -Tagged-File モード用 ~ - - *g:fuf_taggedfile_prompt* > - let g:fuf_taggedfile_prompt = '>Tagged-File[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_taggedfile_switchOrder* > - let g:fuf_taggedfile_switchOrder = 110 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-jumplist-mode* -Jump-List モード用 ~ - - *g:fuf_jumplist_prompt* > - let g:fuf_jumplist_prompt = '>Jump-List[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_jumplist_switchOrder* > - let g:fuf_jumplist_switchOrder = 120 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-changelist-mode* -Change-List モード用 ~ - - *g:fuf_changelist_prompt* > - let g:fuf_changelist_prompt = '>Change-List[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_changelist_switchOrder* > - let g:fuf_changelist_switchOrder = 130 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-quickfix-mode* -Quickfix モード用 ~ - - *g:fuf_quickfix_prompt* > - let g:fuf_quickfix_prompt = '>Quickfix[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_quickfix_switchOrder* > - let g:fuf_quickfix_switchOrder = 140 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-line-mode* -Line モード用 ~ - - *g:fuf_line_prompt* > - let g:fuf_line_prompt = '>Line[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_line_switchOrder* > - let g:fuf_line_switchOrder = 150 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - *fuf-options-for-help-mode* -Help モード用 ~ - - *g:fuf_help_prompt* > - let g:fuf_help_prompt = '>Help[]>' -< - プロンプト文字列。"[]" はインジケータに置換されます。 - - *g:fuf_help_switchOrder* > - let g:fuf_help_switchOrder = 160 -< - 次/前のモードに切り替えるときの、モードの順位です。負数ならこのモード - には切り替えません。 - - -============================================================================== -vimrc の例 *fuf-vimrc-example* - -> - let g:fuf_modesDisable = [] - let g:fuf_mrufile_maxItem = 400 - let g:fuf_mrucmd_maxItem = 400 - nnoremap sj :FufBuffer - nnoremap sk :FufFileWithCurrentBufferDir - nnoremap sK :FufFileWithFullCwd - nnoremap s :FufFile - nnoremap sl :FufCoverageFileChange - nnoremap sL :FufCoverageFileChange - nnoremap s :FufCoverageFileRegister - nnoremap sd :FufDirWithCurrentBufferDir - nnoremap sD :FufDirWithFullCwd - nnoremap s :FufDir - nnoremap sn :FufMruFile - nnoremap sN :FufMruFileInCwd - nnoremap sm :FufMruCmd - nnoremap su :FufBookmarkFile - nnoremap s :FufBookmarkFileAdd - vnoremap s :FufBookmarkFileAddAsSelectedText - nnoremap si :FufBookmarkDir - nnoremap s :FufBookmarkDirAdd - nnoremap st :FufTag - nnoremap sT :FufTag! - nnoremap s :FufTagWithCursorWord! - nnoremap s, :FufBufferTag - nnoremap s< :FufBufferTag! - vnoremap s, :FufBufferTagWithSelectedText! - vnoremap s< :FufBufferTagWithSelectedText - nnoremap s} :FufBufferTagWithCursorWord! - nnoremap s. :FufBufferTagAll - nnoremap s> :FufBufferTagAll! - vnoremap s. :FufBufferTagAllWithSelectedText! - vnoremap s> :FufBufferTagAllWithSelectedText - nnoremap s] :FufBufferTagAllWithCursorWord! - nnoremap sg :FufTaggedFile - nnoremap sG :FufTaggedFile! - nnoremap so :FufJumpList - nnoremap sp :FufChangeList - nnoremap sq :FufQuickfix - nnoremap sy :FufLine - nnoremap sh :FufHelp - nnoremap se :FufEditDataFile - nnoremap sr :FufRenewCache -< - -============================================================================== -あばうと *fuf-about* *fuf-contact* *fuf-author* - -作者: Takeshi NISHIDA -ライセンス: MIT Licence -URL: http://www.vim.org/scripts/script.php?script_id=1984 - http://bitbucket.org/ns9tks/vim-fuzzyfinder/ - -バグや要望など ~ - -こちらへどうぞ: http://bitbucket.org/ns9tks/vim-fuzzyfinder/issues/ - -============================================================================== - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim/bundle/vim-fuzzyfinder/doc/fuf.txt b/.vim/bundle/vim-fuzzyfinder/doc/fuf.txt deleted file mode 100644 index 2e36831..0000000 --- a/.vim/bundle/vim-fuzzyfinder/doc/fuf.txt +++ /dev/null @@ -1,1883 +0,0 @@ -*fuf.txt* buffer/file/command/tag/etc explorer with fuzzy matching. - - Copyright (c) 2007-2010 Takeshi NISHIDA - -FuzzyFinder *fuzzyfinder* *fuf* - -INTRODUCTION |fuf-introduction| -INSTALLATION |fuf-installation| -USAGE |fuf-usage| -MODES |fuf-modes| -DETAILED TOPICS |fuf-detailed-topics| -COMMANDS |fuf-commands| -OPTIONS |fuf-options| -VIMRC EXAMPLE |fuf-vimrc-example| -SPECIAL THANKS |fuf-thanks| -CHANGELOG |fuf-changelog| -ABOUT |fuf-about| - -============================================================================== -INTRODUCTION *fuf-introduction* - -FuzzyFinder provides convenient ways to quickly reach the -buffer/file/command/bookmark/tag you want. FuzzyFinder searches with the -fuzzy/partial pattern to which it converted an entered pattern. - - Entered pattern Fuzzy pattern Partial pattern ~ -> - abc *a*b*c* *abc* - dir/file dir/*f*i*l*e* dir/*file* - d*r/file d*r/*f*i*l*e* d*r/*file* - ../**/s ../**/*s* ../**/*s* - (** allows searching a directory tree.) -< -You will be happy when: - - "./AhLongLongLongLongLongFile.txt" - "./AhLongLongLongLongLongName.txt" - "./OhLongLongLongLongLongFile.txt" - "./OhLongLongLongLongLongName.txt" <- you want :O - -Type "ON" and "OhLongLongLongLongLongName.txt" will be selected. :D - -FuzzyFinder can search: - - - buffers - - files - - directories - - most recently used files - - files around most recently used files - - most recently used command-lines - - bookmarked files - - bookmarked directories - - tags - - files which are included in current tagfiles - - jump list - - change list - - buffer lines - - quickfix - - help - -FuzzyFinder also provides APIs to use its system of searching files or -selecting items. - -FuzzyFinder supports multibyte characters. - - -============================================================================== -INSTALLATION *fuf-installation* - -Put all files into your runtime directory. If you have the zip file, extract -it to your runtime directory. - -You should place the files as follows: -> - /plugin/fuf.vim - /doc/fuf.txt - ... -< -If you are disgusted to make your runtime directory confused with a lot of -plugins, put each of the plugins into a directory individually and just add -the directory path to 'runtimepath'. It's easy to uninstall plugins. - -Then update your help tags files to enable help for this plugin. See -|add-local-help| for details. - -Requirements: ~ - -- L9 library (vimscript #3252) - - -============================================================================== -USAGE *fuf-usage* - -You can launch FuzzyFinder by the following commands: - - Command Mode ~ - |:FufBuffer| - Buffer mode (|fuf-buffer-mode|) - |:FufFile| - File mode (|fuf-file-mode|) - |:FufCoverageFile| - Coverage-File mode (|fuf-coveragefile-mode|) - |:FufDir| - Directory mode (|fuf-dir-mode|) - |:FufMruFile| - MRU-File mode (|fuf-mrufile-mode|) - |:FufMruCmd| - MRU-Command mode (|fuf-mrucmd-mode|) - |:FufBookmarkFile| - Bookmark-File mode (|fuf-bookmarkfile-mode|) - |:FufBookmarkDir| - Bookmark-Dir mode (|fuf-bookmarkdir-mode|) - |:FufTag| - Tag mode (|fuf-tag-mode|) - |:FufBufferTag| - Buffer-Tag mode (|fuf-buffertag-mode|) - |:FufTaggedFile| - Tagged-File mode (|fuf-taggedfile-mode|) - |:FufJumpList| - Jump-List mode (|fuf-jumplist-mode|) - |:FufChangeList| - Change-List mode (|fuf-changelist-mode|) - |:FufQuickfix| - Quickfix mode (|fuf-quickfix-mode|) - |:FufLine| - Line mode (|fuf-line-mode|) - |:FufHelp| - Help mode (|fuf-help-mode|) - -It is recommended to map these commands. - -These commands open 1-line buffer to enter search pattern and start insert -mode. - -FuzzyFinder searchs for matching items with an entered pattern and shows them -in a completion menu. For more details on pattern matching, see -|fuf-search-patterns|. - -If there are a lot of matching items, FuzzyFinder limits the number of -enumerating items (|g:fuf_enumeratingLimit|) to speed up a response time, and -highlights the pattern with "Error" group. - -The first item in the completion menu will be selected automatically. - -Typing deletes one block of an entered pattern before the cursor, like a -directory name. - -with (|g:fuf_keyPrevPattern|) and (|g:fuf_keyNextPattern|), You -can recall patterns which have been entered before from history. - -You can open a selected item in various ways: - - (|g:fuf_keyOpen|) - opens in a previous window. - (|g:fuf_keyOpenSplit|) - opens in a split window. - (|g:fuf_keyOpenVsplit|) - opens in a vertical-split window. - (|g:fuf_keyOpenTabpage|) - opens in a new tab page. - -To cancel and return to previous window, just leave Insert mode. - -With (|g:fuf_keySwitchMatching|), You can switch search method -between fuzzy matching and partial matching. - -With (|g:fuf_keyNextMode|) and (|g:fuf_keyPrevMode|), You can -switch current mode without leaving Insert mode . - -You can preview selected item with (|g:fuf_keyPreview|) in some modes. -Repeating the key on the same item shows another information. The height -of command-line area is changed to |g:fuf_previewHeight| when you launch a -mode supporting preview. This feature is available when |g:fuf_previewHeight| -is not 0. - - -============================================================================== -MODES *fuf-modes* - - *fuf-buffer-mode* -Buffer mode ~ - -This mode provides an interface to select a buffer from a list of existing -buffers and open it. - -Press (|g:fuf_buffer_keyDelete|) in this mode and selected buffer will -be deleted. - - *fuf-file-mode* -File mode ~ - -This mode provides an interface to search a file tree for a file and open it. - - *fuf-coveragefile-mode* -Coverage-File mode ~ - -This mode provides an interface to select a file from all files of a preset -coverage and open it. - -By default, This mode lists all files under the current working directory -recursively. (|g:fuf_coveragefile_globPatterns|) - -If you want to search other coverage, execute |FufCoverageFileRegister| -command to register new search coverage and |FufCoverageFileChange| command to -choose a search coverage and launch Coverage-File mode. - -In addition, there is another way to change a search coverage with -|fuf#setOneTimeVariables()| function. - -Example: search only .h and .c files: -> - call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', ['**/*.h', '**/*.c']]) - \ | FufCoverageFile -< -Example: search your home directory in addition to the default coverage: -> - call fuf#setOneTimeVariables(['g:fuf_coveragefile_globPatterns', g:fuf_coveragefile_globPatterns + ['~/**/.*', '~/**/*']]) - \ | FufCoverageFile -< - - *fuf-dir-mode* -Directory mode ~ - -This mode provides an interface to search a file tree for a directory and -change the current directory. - - *fuf-mrufile-mode* -MRU-File mode ~ - -This mode provides an interface to select a file from the most recently used -files and open it. - -Press (|g:fuf_mrufile_keyExpand|) in this mode and files around the most -recently used files are listed. Each time the key is pressed, the search range -are expanded one level along the directory tree upwardly/downwardly. - -This mode is set to disable by default (|g:fuf_modesDisable|) because -processes for this mode in |BufEnter| and |BufWritePost| could cause -Performance issue. - -See also: |FufMruFileInCwd| - - *fuf-mrucmd-mode* -MRU-Command mode ~ - -This mode provides an interface to select a command from the most recently -used commands and execute it. - -This mode is set to disable by default (|g:fuf_modesDisable|) because mapping - of Command-line mode required by this mode has side effects. - - *fuf-bookmarkfile-mode* -Bookmark-File mode ~ - -This mode provides an interface to select one of the bookmarks you have added -beforehand and jump there. - -You can add a cursor line to bookmarks by |:FufBookmarkFileAdd| command. -Execute that command and you will be prompted to enter a bookmark name. - -FuzzyFinder adjusts a line number for jump. If a line of bookmarked position -does not match to a pattern when the bookmark was added, FuzzyFinder searches -a matching line around bookmarked position. So you can jump to a bookmarked -line even if the line is out of bookmarked position. If you want to jump to -bookmarked line number without the adjustment, set -|g:fuf_bookmarkfile_searchRange| option to 0. - -Press (|g:fuf_bookmarkfile_keyDelete|) in this mode and selected -bookmark will be deleted. - - *fuf-bookmarkdir-mode* -Bookmark-Dir mode ~ - -This mode provides an interface to select one of the bookmarks you have added -beforehand and change the current directory. - -You can add a directory to bookmarks by |:FufBookmarkDirAdd| command. Execute -that command and you will be prompted to enter a directory path and a -bookmark name. - -Press (|g:fuf_bookmarkdir_keyDelete|) in this mode and selected bookmark -will be deleted. - - *fuf-tag-mode* -Tag mode ~ - -This mode provides an interface to select a tag and jump to the definition of -it. - -Following mapping is a replacement for : -> - noremap :FufTagWithCursorWord! -< - - *fuf-buffertag-mode* -Buffer-Tag mode ~ - -This mode provides an interface to select a tag of current buffer or all -buffers and jump to the definition of it. - -Tag list is instantly created when FuzzyFinder is launched, so there is no -need to make tags file in advance. - -|FufBufferTag| covers current buffer and |FufBufferTagAll| covers all buffers. - -Following mapping is a replacement for : -> - nnoremap :FufBufferTagWithCursorWord! - vnoremap :FufBufferTagAllWithSelectedText! -< -or -> - nnoremap :FufBufferTagAllWithCursorWord! - vnoremap :FufBufferTagAllWithSelectedText! -< -This mode is inspired by taglist.vim (vimscript #273) and refered its codes. - - *fuf-taggedfile-mode* -Tagged-File mode ~ - -This mode provides an interface to select one of the files which are included -in current tagfiles and open it. - - *fuf-jumplist-mode* -Jump-List mode ~ - -This mode provides an interface to select one from the |jumplist| of the -current window and jump there. - - *fuf-changelist-mode* -Change-List mode ~ - -This mode provides an interface to select one from the |changelist| of the -current buffer and jump there. - - *fuf-quickfix-mode* -Quickfix mode ~ - -This mode provides an interface to select one from the |quickfix| list and -jump there. - - *fuf-line-mode* -Line mode ~ - -This mode provides an interface to select a line from current buffer and jump -there. - - *fuf-help-mode* -Help mode ~ - -This mode provides an interface to select a help tag and jump to the help -page. - - *fuf-givenfile-mode* -Given-File mode ~ - -This mode provides an API to open a selected file from a given list. - -API function: -> - function fuf#givenfile#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - String which is inserted after launching - FuzzyFinder. - partialMatching - If non-zero, enable partial matching instead of - fuzzy matching. - prompt - Prompt string - items - List of items. - -Example of use: -> - " Open one of your dotfiles. - call fuf#givenfile#launch('', 0, '>', split(glob('~/.*'), "\n")) -< - - *fuf-givendir-mode* -Given-Directory mode ~ - -This mode provides an API to change current working directory to a selected -one from a given list. - -API function: -> - function fuf#givendir#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - String which is inserted after launching - FuzzyFinder. - partialMatching - If non-zero, enable partial matching instead of - fuzzy matching. - prompt - Prompt string - items - List of items. - - -Example of use: -> - " Change current working directory to one of your runtime directory. - call fuf#givendir#launch('', 0, '>', split(&runtimepath, ',')) -< - - *fuf-givencmd-mode* -Given-Command mode ~ - -This mode provides an API to execute a selected command from a given list. - -A selected command is executed by |feedkeys()|, so it is able to emulate a -series of key input in Normal mode. - -API function: -> - function fuf#givencmd#launch( - \ initialPattern, partialMatching, prompt, items) -< - initialPattern - String which is inserted after launching - FuzzyFinder. - partialMatching - If non-zero, enable partial matching instead of - fuzzy matching. - prompt - Prompt string - items - List of items. - - -Example of use: -> - function GetAllCommands() - redir => commands - silent command - redir END - return map((split(commands, "\n")[3:]), - \ '":" . matchstr(v:val, ''^....\zs\S*'')') - endfunction - - " execute one of the user-defined commands - call fuf#givencmd#launch('', 0, '>', GetAllCommands()) - -< - - *fuf-callbackfile-mode* -Callback-File mode ~ - -This mode provides an API to find and get a file path which is selected by an -user. - -API function: -> - function fuf#callbackfile#launch( - \ initialPattern, partialMatching, prompt, exclude, listener) -< - initialPattern - String which is inserted after launching - FuzzyFinder. - partialMatching - If non-zero, enable partial matching instead of - fuzzy matching. - prompt - Prompt string. - exclude - Regexp pattern for items which you want to exclude - from completion list. - listener - |Dictionary| which has 'onComplete' and 'onAbort'. - They are called at the end of FuzzyFinder. - listener.onComplete(item, method) is called with 2 - arguments which are a name of selected item and a - number of open method when completed. - listener.onAbort() is called when aborted. - -Example of use: -> - let listener = {} - - function listener.onComplete(item, method) - echo "Item: " . a:item . "\nMethod: " . a:method - endfunction - - function listener.onAbort() - echo "Abort" - endfunction - - " Find a file from current working directory. - call fuf#callbackfile#launch('', 0, '>', '', listener) - - " Find a file from home directory. - call fuf#callbackfile#launch('~/', 0, '>', '', listener) -< - - *fuf-callbackitem-mode* -Callback-Item mode ~ - -This mode provides an API to get an item which is selected from a given list -by an user. - -API function: -> - function fuf#callbackitem#launch( - \ initialPattern, partialMatching, prompt, listener, items, forPath) -< - initialPattern - String which is inserted after launching - FuzzyFinder. - partialMatching - If non-zero, enable partial matching instead of - fuzzy matching. - prompt - Prompt string - listener - |Dictionary| which has 'onComplete' and 'onAbort'. - They are called at the end of FuzzyFinder. - listener.onComplete(item, method) is called with 2 - arguments which are a name of selected item and a - number of open method when completed. - listener.onAbort() is called when aborted. - items - List of items. - forPath - If non-zero, use a matching method for files. - -Example of use: -> - let listener = {} - - function listener.onComplete(item, method) - echo "Item: " . a:item . "\nMethod: " . a:method - endfunction - - function listener.onAbort() - echo "Abort" - endfunction - - " Select an item from a given list. - call fuf#callbackitem#launch('', 0, '>', listener, ['ed', 'vi', 'vim'], 0) - - " Select a file from a given list. - call fuf#callbackitem#launch('', 0, '>', listener, ['../foo/bar', 'baz'], 1) -< - -============================================================================== -DETAILED TOPICS *fuf-detailed-topics* - - *fuf-setting-one-time-option* *fuf#setOneTimeVariables()* -Setting One-Time Options ~ - -If you want to set one-time options only for the next FuzzyFinder, -|fuf#setOneTimeVariables()| function will be of help. This function is used as -follows: -> - call fuf#setOneTimeVariables(['g:fuf_ignoreCase', 0], ['&lines', 50]) -< -This function takes 0 or more arguments and each of them is a pair of a -variable name and its value. Specified options will be set practically next -time FuzzyFinder is launched, and restored when FuzzyFinder is closed. - - *fuf-search-patterns* -Search Patterns ~ - -You can enter one primary pattern and zero or more refining patterns as search -patterns. An entered pattern is separated by ";" (|g:fuf_patternSeparator|), -and the first pattern is a primary pattern and the rest of patterns is a -refining pattern. -> - primary refining refining - |----------| |-------| |----| - >MruFile>bookmark.vim;autoload/;/home/ -< -A refining pattern is used to narrow down the list of matching items by -another pattern. - -With a primary pattern, FuzzyFinder does fuzzy matching or partial matching, -which you specified. With a refining pattern, FuzzyFinder does partial -matching by default. (|g:fuf_fuzzyRefining|) - -When you enter a number as refining pattern, it also can match the index of -each item. - -In a mode which targets a static set of file paths (such as Buffer or MRU-File -mode, not File or Directory) and |g:fuf_splitPathMatching| is non-zero, -matching with a primary pattern is divided into head part and tail part and -done individually. -> - head tail - |------||-----| - foo/bar/baz.vim - - fuzzy matching example: - +----------------+---------+---------+---------+ - | item \ pattern | foo/bar | foo/ | bar | - +----------------+---------+---------+---------+ - | foo/bar | match | match | match | - | foo/abc | unmatch | match | unmatch | - | abc/bar | unmatch | unmatch | match | - | foobar | unmatch | unmatch | match | - | foooo/barrrr | match | match | match | - | foooo/fooooo | unmatch | match | unmatch | - +----------------+---------+---------+---------+ -< -refining pattern can match anywhere on each path in the above case. - - *fuf-sorting-of-completion-items* -Sorting Of Completion Items ~ - -FuzzyFinder sorts completion items with some rules. - -An item, one part of which is matched with a whole pattern, is placed upper. -E.g., with the pattern "bc", the item "abc" is placed upper than "bac". - -In the above case, items, each having matching part at the head of itself, are -placed upper than others. E.g., with the pattern "foo", the item "foobar" is -placed upper than "foobarbaz". - -And the shorter the length of the item after matching position puts it higher. -E.g., with the pattern "bar", the item "foobar" is placed upper than -"foobarbaz". - -If a pattern matches an item at only word boundaries of it, the item is placed -upper. E.g., with a pattern "fb", items such as "fooBarBaz" and "foo_bar_baz" -is placed upper. - -Plus, FuzzyFinder has a learning system. An item which has been completed in -the past with current pattern is placed upper. - - *fuf-reusing-window* -Reusing Of A Window Containing Target Buffer/File ~ - -If a window containing target buffer is found in current tab page when -FuzzyFinder is going to open the buffer in a split new window, move to it. If -a window containing target buffer is found in other tab page when FuzzyFinder -is going to open the buffer in a new tab page, move to it. - -You can disable that feature via 'reuse_window' options if always want to open -a buffer in a new window. - - *fuf-hiding-menu* -To Hide The Completion Menu Temporarily In FuzzyFinder ~ - -You can close it by and reopen it by . - - *fuf-abbreviation* *fuf-multiple-search* -Abbreviations And Multiple Search ~ - -You can use abbreviations and multiple search in all modes by setting -|g:fuf_abbrevMap| option. - -For example, set as below: -> - let g:fuf_abbrevMap = { - \ "^doc:" : [ - \ "~/project/**/doc/", - \ ".vim/doc/", - \ ], - \ } -< -and enter "doc:txt" in File mode, then FuzzyFinder searches by the following -patterns: - - "~/project/**/doc/*t*x*t*" - ".vim/doc/*t*x*t*" - -and show concatenated search results. - - *fuf-data-file* -Data File ~ - -FuzzyFinder writes completion statistics, MRU data, bookmark, etc to files -under |g:fuf_dataDir|. - -|:FufEditDataFile| command is helpful in editing your data files. This command -reads the data file in new unnamed buffer. Write the buffer and the data file -will be updated. - - *fuf-cache* -Cache ~ - -Once a cache was created, It is not automatically updated to speed up the -response time by default. To update it, use |:FufRenewCache| command. - - *fuf-dot-sequence* -Going Up Parent Directories With Dot Sequence ~ - -You can go up parent directories with entering dot sequence. Dot sequence -after a path separator is expanded to "../" sequence. - - Dot sequence Expanded pattern ~ - /.. /../ - /... /../../ - /.... /../../../ - - *fuf-how-to-add-mode* -How To Add Mode ~ - -To add "mymode" mode, put the source file at autoload/fuf/mymode.vim and call -fuf#addMode("mymode") . - - *fuf-migemo* -What Is Migemo ~ - -Migemo is a search method for Japanese language. - - -============================================================================== -COMMANDS *fuf-commands* - -See also: |fuf-vimrc-example| - - *:FufBuffer* -:FufBuffer[!] [{pattern}] - Launchs Buffer mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufFile* -:FufFile[!] [{pattern}] - Launchs File mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufFileWithFullCwd* -:FufFileWithFullCwd[!] [{pattern}] - Is mostly the same as |:FufFile|, except that initial pattern is a - full path of current working directory. - - *:FufFileWithCurrentBufferDir* -:FufFileWithCurrentBufferDir[!] [{pattern}] - Is mostly the same as |:FufFile|, except that initial pattern is a - path of directory current buffer is in. - - *:FufCoverageFile* -:FufCoverageFile[!] [{pattern}] - Launchs Coverage-File mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufDir* -:FufDir[!] [{pattern}] - Launchs Directory mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufDirWithFullCwd* -:FufDirWithFullCwd[!] [{pattern}] - Is mostly the same as |:FufDir|, except that initial pattern is a full - path of current working directory. - - *:FufDirWithCurrentBufferDir* -:FufDirWithCurrentBufferDir[!] [{pattern}] - Is mostly the same as |:FufDir|, except that initial pattern is a path - of directory current buffer is in. - - *:FufMruFile* -:FufMruFile[!] [{pattern}] - Launchs MRU-File mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufMruFileInCwd* -:FufMruFileInCwd[!] [{pattern}] - Is mostly the same as |:FufMruFile|, except that files - only in current working directory are listed. - - *:FufMruCmd* -:FufMruCmd[!] [{pattern}] - Launchs MRU-Command mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufBookmarkFile* -:FufBookmarkFile[!] [{pattern}] - Launchs Bookmark-File mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufBookmarkDir* -:FufBookmarkDir[!] [{pattern}] - Launchs Bookmark-Dir mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufTag* -:FufTag[!] [{pattern}] - Launchs Tag mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufTagWithCursorWord* -:FufTagWithCursorWord[!] [{pattern}] - Is mostly the same as |:FufTag|, except that initial pattern is the - word under the cursor. - - *:FufBufferTag* -:FufBufferTag[!] [{pattern}] - Launchs Buffer-Tag mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufBufferTagAll* -:FufBufferTagAll[!] [{pattern}] - Is mostly the same as |:FufBufferTag|, except that tags are gathered - from all other buffers in addition to the current one. - - *:FufBufferTagWithCursorWord* -:FufBufferTagWithCursorWord[!] [{pattern}] - Is mostly the same as |:FufBufferTag|, except that initial pattern is - the word under the cursor. - - *:FufBufferTagAllWithCursorWord* -:FufBufferTagAllWithCursorWord[!] [{pattern}] - Is mostly the same as |:FufBufferTagAll|, except that initial pattern - is the word under the cursor. - - *:FufBufferTagWithSelectedText* -:FufBufferTagWithSelectedText[!] [{pattern}] - Is mostly the same as |:FufBufferTag|, except that initial pattern is - the last selected text. - - *:FufBufferTagAllWithSelectedText* -:FufBufferTagAllWithSelectedText[!] [{pattern}] - Is mostly the same as |:FufBufferTagAll|, except that initial pattern - is the last selected text. - - *:FufTaggedFile* -:FufTaggedFile[!] [{pattern}] - Launchs Tagged-File mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufJumpList* -:FufJumpList[!] [{pattern}] - Launchs Jump-List mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufChangeList* -:FufChangeList[!] [{pattern}] - Launchs Change-List mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufQuickfix* -:FufQuickfix[!] [{pattern}] - Launchs Quickfix mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufLine* -:FufLine[!] [{pattern}] - Launchs Line mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufHelp* -:FufHelp[!] [{pattern}] - Launchs Help mode. - - If a command was executed with a ! modifier, it does partial matching - instead of fuzzy matching. - - {pattern} will be inserted after launching FuzzyFinder. - - *:FufEditDataFile* -:FufEditDataFile - Opens a buffer for editing your data files. See |fuf-data-file| for - details. - - *:FufCoverageFileRegister* -:FufCoverageFileRegister - Registers new search coverage to be searched in Coverage-File mode. - First, input glob patterns, like ~/* . You can add patterns unless - typing . Next, input coverage name. - - See also: |glob()|, |fuf-coveragefile-mode| - - *:FufCoverageFileChange* -:FufCoverageFileChange [{name}] - Launchs Coverage-File mode with a chosen coverage, registered with - |FufCoverageFileRegister| command. - - If location name is given, the choise process will be skipped. - - See also: |fuf-coveragefile-mode| - - *:FufBookmarkFileAdd* -:FufBookmarkFileAdd [{name}] - Adds a cursor line to bookmarks. - - See also: |fuf-bookmarkfile-mode| - - *:FufBookmarkFileAddAsSelectedText* -:FufBookmarkFileAddAsSelectedText - Is mostly the same as |:FufBookmarkFileAdd|, except that initial - pattern is the last selected one. - - *:FufBookmarkDirAdd* -:FufBookmarkDirAdd [{name}] - Adds a directory to bookmarks. - - See also: |fuf-bookmarkdir-mode| - - *:FufRenewCache* -:FufRenewCache - Removes caches to renew completion items. See |fuf-cache| for details. - - -============================================================================== -OPTIONS *fuf-options* - - *fuf-options-for-all-modes* -For All Modes ~ - - *g:fuf_modesDisable* > - let g:fuf_modesDisable = [ 'mrufile', 'mrucmd', ] -< - List of mode names to disable. - - Modes which are listed will never be initialized and never handle any - event. - - *g:fuf_keyOpen* > - let g:fuf_keyOpen = '' -< - Key mapped to select completion item or finish input and open a - buffer/file in previous window. - - *g:fuf_keyOpenSplit* > - let g:fuf_keyOpenSplit = '' -< - Key mapped to select completion item or finish input and open a - buffer/file in split new window - - *g:fuf_keyOpenVsplit* > - let g:fuf_keyOpenVsplit = '' -< - Key mapped to select completion item or finish input and open a - buffer/file in vertical-split new window. - - *g:fuf_keyOpenTabpage* > - let g:fuf_keyOpenTabpage = '' -< - - Key mapped to select completion item or finish input and open a - buffer/file in a new tab page. - - *g:fuf_keyPreview* > - let g:fuf_keyPreview = '' -< - - Key mapped to show information of selected completion item on - command-line area. This key makes sense only in modes supporting - preview. - - *g:fuf_keyNextMode* > - let g:fuf_keyNextMode = '' -< - Key mapped to switch to next mode. - - *g:fuf_keyPrevMode* > - let g:fuf_keyPrevMode = '' -< - Key mapped to switch to previous mode. - - *g:fuf_keyPrevPattern* > - let g:fuf_keyPrevPattern = '' -< - Key mapped to recall previous entered patten from history. - - *g:fuf_keyNextPattern* > - let g:fuf_keyNextPattern = '' -< - Key mapped to recall next entered patten from history. - - *g:fuf_keySwitchMatching* > - let g:fuf_keySwitchMatching = '' -< - Key mapped to switch between fuzzy matching and partial matching. - - *g:fuf_dataDir* > - let g:fuf_dataDir = '~/.vim-fuf-data' -< - Directory path to which data files is put. If empty string, - FuzzyFinder does not write data files. - - *g:fuf_abbrevMap* > - let g:fuf_abbrevMap = {} -< - |Dictionary|. Each value must be a |List|. All matchs of a - key in entered text is expanded with the value. - - *g:fuf_patternSeparator* > - let g:fuf_patternSeparator = ';' -< - String which sparates a input pattern into a primary pattern and - refining patterns. - - *g:fuf_promptHighlight* > - let g:fuf_promptHighlight = 'Question' -< - a highlight group name for a prompt string. - - *g:fuf_ignoreCase* > - let g:fuf_ignoreCase = 1 -< - If non-zero, FuzzyFinder ignores case in search patterns. - - *g:fuf_splitPathMatching* > - let g:fuf_splitPathMatching = 1 -< - If non-zero, matching with a primary pattern is divided into head part - and tail part and done individually. - - See also: |fuf-search-patterns| - - *g:fuf_fuzzyRefining* > - let g:fuf_fuzzyRefining = 0 -< - If non-zero, fuzzy matching is done with refining pattern instead of - partial matching. - - See also: |fuf-search-patterns| - - *g:fuf_reuseWindow* > - let g:fuf_reuseWindow = 1 -< - If non-zero and when FuzzyFinder opens a buffer which has already been - opened, it reuses a window containing the target buffer. - - *g:fuf_timeFormat* > - let g:fuf_timeFormat = '(%Y-%m-%d %H:%M:%S)' -< - String to format time string. See |strftime()| for details. - - *g:fuf_learningLimit* > - let g:fuf_learningLimit = 100 -< - Ceiling for the number of completion statistics to be stored. - - *g:fuf_enumeratingLimit* > - let g:fuf_enumeratingLimit = 50 -< - To speed up the response time, FuzzyFinder ends enumerating completion - items when found over this. - - *g:fuf_maxMenuWidth* > - let g:fuf_maxMenuWidth = 78 -< - If a length of a completion item is more than this, it is snipped in - completion menu. - - *g:fuf_previewHeight* > - let g:fuf_previewHeight = 0 -< - 'cmdheight' is set to this when a mode supporting preview is launched. - Information of selected completion item will be shown on command-line - area. If zero, preview feature is disabled. - - *g:fuf_autoPreview* > - let g:fuf_autoPreview = 0 -< - If non-zero, previews will be shown automatically. - - *g:fuf_useMigemo* > - let g:fuf_useMigemo = 0 -< - If non-zero, FuzzyFinder uses Migemo. - - *fuf-options-for-buffer-mode* -For Buffer Mode ~ - - *g:fuf_buffer_prompt* > - let g:fuf_buffer_prompt = '>Buffer[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_buffer_switchOrder* > - let g:fuf_buffer_switchOrder = 10 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_buffer_mruOrder* > - let g:fuf_buffer_mruOrder = 1 -< - If non-zero, completion items is sorted in order of recently used. - - *g:fuf_buffer_keyDelete* > - let g:fuf_buffer_keyDelete = '' -< - Key mapped to delete selected buffer. - - *fuf-options-for-file-mode* -For File Mode ~ - - *g:fuf_file_prompt* > - let g:fuf_file_prompt = '>File[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_file_switchOrder* > - let g:fuf_file_switchOrder = 20 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_file_exclude* > - let g:fuf_file_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - Regexp pattern for items which you want to exclude from completion - list. - - *fuf-options-for-coveragefile-mode* -For Coverage-File Mode ~ - - *g:fuf_coveragefile_prompt* > - let g:fuf_coveragefile_prompt = '>CoverageFile[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_coveragefile_switchOrder* > - let g:fuf_coveragefile_switchOrder = 30 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_coveragefile_exclude* > - let g:fuf_coveragefile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|swp)$|(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - Regexp pattern for items which you want to exclude from completion - list. - - *g:fuf_coveragefile_globPatterns* > - let g:fuf_coveragefile_globPatterns = ['**/.*', '**/*'] -< - List of glob patterns to get file paths to be searched. - - See also: |glob()| - - *fuf-options-for-dir-mode* -For Directory Mode ~ - - *g:fuf_dir_prompt* > - let g:fuf_dir_prompt = '>Dir[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_dir_switchOrder* > - let g:fuf_dir_switchOrder = 40 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_dir_exclude* > - let g:fuf_dir_exclude = '\v(^|[/\\])\.(hg|git|bzr)($|[/\\])' -< - Regexp pattern for items which you want to exclude from completion - list. - - *fuf-options-for-mrufile-mode* -For MRU-File Mode ~ - - *g:fuf_mrufile_prompt* > - let g:fuf_mrufile_prompt = '>MRU-File[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_mrufile_switchOrder* > - let g:fuf_mrufile_switchOrder = 50 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_mrufile_exclude* > - let g:fuf_mrufile_exclude = '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|^(\/\/|\\\\|\/mnt\/|\/media\/)' -< - Regexp pattern for items which you want to exclude from completion - list. - - *g:fuf_mrufile_maxItem* > - let g:fuf_mrufile_maxItem = 200 -< - Ceiling for the number of MRU items to be stored. - - *g:fuf_mrufile_maxItemDir* > - let g:fuf_mrufile_maxItemDir = 50 -< - Ceiling for the number of parent directories of MRU items to be - stored, which are used for around search. - - *g:fuf_mrufile_keyExpand* > - let g:fuf_mrufile_keyExpand = '' -< - Key mapped to expand search range. - - *fuf-options-for-mrucmd-mode* -For MRU-Cmd Mode ~ - - *g:fuf_mrucmd_prompt* > - let g:fuf_mrucmd_prompt = '>MRU-Cmd[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_mrucmd_switchOrder* > - let g:fuf_mrucmd_switchOrder = 60 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_mrucmd_exclude* > - let g:fuf_mrucmd_exclude = '^$' -< - Regexp pattern for items which you want to exclude from completion - list. - - *g:fuf_mrucmd_maxItem* > - let g:fuf_mrucmd_maxItem = 200 -< - This is the ceiling for the number of MRU items to be stored. - - *fuf-options-for-bookmarkfile-mode* -For Bookmark-File Mode ~ - - *g:fuf_bookmarkfile_prompt* > - let g:fuf_bookmarkfile_prompt = '>BookmarkFile[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_bookmarkfile_switchOrder* > - let g:fuf_bookmarkfile_switchOrder = 70 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_bookmarkfile_searchRange* > - let g:fuf_bookmarkfile_searchRange = 400 -< - Number of lines which FuzzyFinder searches a matching line from - bookmarked position within. - - *g:fuf_bookmarkfile_keyDelete* > - let g:fuf_bookmarkfile_keyDelete = '' -< - Key mapped to delete selected bookmark. - - *fuf-options-for-bookmarkdir-mode* -For Bookmark-Dir Mode ~ - - *g:fuf_bookmarkdir_prompt* > - let g:fuf_bookmarkdir_prompt = '>BookmarkDir[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_bookmarkdir_switchOrder* > - let g:fuf_bookmarkdir_switchOrder = 80 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_bookmarkdir_keyDelete* > - let g:fuf_bookmarkdir_keyDelete = '' -< - Key mapped to delete selected bookmark. - - *fuf-options-for-tag-mode* -For Tag Mode ~ - - *g:fuf_tag_prompt* > - let g:fuf_tag_prompt = '>Tag[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_tag_switchOrder* > - let g:fuf_tag_switchOrder = 90 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-buffertag-mode* -For Buffer-Tag Mode ~ - - *g:fuf_buffertag_prompt* > - let g:fuf_buffertag_prompt = '>Buffer-Tag[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_buffertag_switchOrder* > - let g:fuf_buffertag_switchOrder = 100 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *g:fuf_buffertag_ctagsPath* > - let g:fuf_buffertag_ctagsPath = 'ctags' -< - Executable file path of Ctags. - - *fuf-options-for-taggedfile-mode* -For Tagged-File Mode ~ - - *g:fuf_taggedfile_prompt* > - let g:fuf_taggedfile_prompt = '>Tagged-File[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_taggedfile_switchOrder* > - let g:fuf_taggedfile_switchOrder = 110 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-jumplist-mode* -For Jump-List Mode ~ - - *g:fuf_jumplist_prompt* > - let g:fuf_jumplist_prompt = '>Jump-List[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_jumplist_switchOrder* > - let g:fuf_jumplist_switchOrder = 120 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-changelist-mode* -For Change-List Mode ~ - - *g:fuf_changelist_prompt* > - let g:fuf_changelist_prompt = '>Change-List[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_changelist_switchOrder* > - let g:fuf_changelist_switchOrder = 130 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-quickfix-mode* -For Quickfix Mode ~ - - *g:fuf_quickfix_prompt* > - let g:fuf_quickfix_prompt = '>Quickfix[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_quickfix_switchOrder* > - let g:fuf_quickfix_switchOrder = 140 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-line-mode* -For Line Mode ~ - - *g:fuf_line_prompt* > - let g:fuf_line_prompt = '>Line[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_line_switchOrder* > - let g:fuf_line_switchOrder = 150 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - *fuf-options-for-help-mode* -For Help Mode ~ - - *g:fuf_help_prompt* > - let g:fuf_help_prompt = '>Help[]>' -< - Prompt string. "[]" will be substituted with indicators. - - *g:fuf_help_switchOrder* > - let g:fuf_help_switchOrder = 160 -< - Number of order for switching to the next/previous mode. If negative - number, Fuzzyfinder never switches to this mode. - - -============================================================================== -VIMRC EXAMPLE *fuf-vimrc-example* - -> - let g:fuf_modesDisable = [] - let g:fuf_mrufile_maxItem = 400 - let g:fuf_mrucmd_maxItem = 400 - nnoremap sj :FufBuffer - nnoremap sk :FufFileWithCurrentBufferDir - nnoremap sK :FufFileWithFullCwd - nnoremap s :FufFile - nnoremap sl :FufCoverageFileChange - nnoremap sL :FufCoverageFileChange - nnoremap s :FufCoverageFileRegister - nnoremap sd :FufDirWithCurrentBufferDir - nnoremap sD :FufDirWithFullCwd - nnoremap s :FufDir - nnoremap sn :FufMruFile - nnoremap sN :FufMruFileInCwd - nnoremap sm :FufMruCmd - nnoremap su :FufBookmarkFile - nnoremap s :FufBookmarkFileAdd - vnoremap s :FufBookmarkFileAddAsSelectedText - nnoremap si :FufBookmarkDir - nnoremap s :FufBookmarkDirAdd - nnoremap st :FufTag - nnoremap sT :FufTag! - nnoremap s :FufTagWithCursorWord! - nnoremap s, :FufBufferTag - nnoremap s< :FufBufferTag! - vnoremap s, :FufBufferTagWithSelectedText! - vnoremap s< :FufBufferTagWithSelectedText - nnoremap s} :FufBufferTagWithCursorWord! - nnoremap s. :FufBufferTagAll - nnoremap s> :FufBufferTagAll! - vnoremap s. :FufBufferTagAllWithSelectedText! - vnoremap s> :FufBufferTagAllWithSelectedText - nnoremap s] :FufBufferTagAllWithCursorWord! - nnoremap sg :FufTaggedFile - nnoremap sG :FufTaggedFile! - nnoremap so :FufJumpList - nnoremap sp :FufChangeList - nnoremap sq :FufQuickfix - nnoremap sy :FufLine - nnoremap sh :FufHelp - nnoremap se :FufEditDataFile - nnoremap sr :FufRenewCache -< - -============================================================================== -SPECIAL THANKS *fuf-thanks* - -- Vincent Wang -- Ingo Karkat -- Nikolay Golubev -- Brian Doyle -- id:secondlife -- Nathan Neff - - -============================================================================== -CHANGELOG *fuf-changelog* - -4.2.2: - - Fixed a bug that unloaded buffers weren't covered by FufBufferTagAll. - -4.2.1: - - Improved response of Buffer-Tag mode. - - Fixed a bug that buffers which had been opened weren't listed in - Coverage-File mode - - Fixed a bug that tag entries including tab characters weren't parsed - correctly in Coverage-File mode - -4.2: - - L9 library (vimscript #3252) version 1.1 is required. - - Added Buffer-Tag mode, inspired by taglist.vim (vimscript #273). - - Added :FufMruFileInCwd command. - -4.1.1: - - Fixed a bug causing a error in MRU-File mode. - -4.1: - - Added Bookmark-Dir mode. - - Added Bookmark-File mode and removed Bookmark mode. - - Changed the filename to store data of Coverage-File mode, from - '~/.vim-fuf-data/coveragefile/items' to - '~/.vim-fuf-data/coveragefile/coverages' . - - Fixed a bug that floating point numbers weren't evaluated correctly and - caused errors on some non-English locales. - - Removed Around-MRU-File mode and integrated its feature to MRU-File mode. - -4.0: - - From this version, L9 library (vimscript #3252) is required. - - Added Coverage-File mode for users wanting something like TextMate's - command-t. (But I've never used it.) - - Added Around-MRU-File mode. (Too slow. There is room for improvement.) - - Added new feature which deletes selected buffer with FuzzyFinder and - g:fuf_buffer_keyDelete option. - - Added new feature which allows to set one-time options/variables with - fuf#setOneTimeVariables() function. - - Added g:fuf_dataDir option and removed g:fuf_infoFile, - g:g:fuf_tag_cache_dir, g:fuf_taggedfile_cache_dir, and - g:fuf_help_cache_dir options. - - Added :FufEditDataFile command and removed :FufEditInfo command. - - Added g:fuf_fuzzyRefining option. - - Added new feature which is auto-preview and g:fuf_autoPreview option. - - Changed the default value of g:fuf_previewHeight to 0 in order to disable - preview feature. There is an unfixable problem which is caused by a Vim's - bug. - - Changed the default value of g:fuf_modesDisable option. - - Changed the default value of g:fuf_*_switchOrder options. - - Improved speed of changing buffers. - - Improved the way to add user-defined mode. - - Fixed a bug that FuzzyFinder caused reseting window layout. - - Removed g:fuf_smartBs option. Use instead. - -3.5: - - Added Line mode. - - Added Help mode. - - Added key mapping to switch between fuzzy matching and partial matching. - - Changed the default values of g:fuf_file_exclude for ignoring "*.dll". - - Changed Tag mode and Tagged-File mode to cache parsed data to files in - "~/.vim-fuf-cache/". - - Fixed a bug that repeating preview key produced no effect. - - Fixed a bug that File mode and Directory mode didn't list items in a - directory whose name includes uppercase characters. (Thanks, ryo7000) - -3.4: - - Added new feature which makes it possible to preview selected completion - item. - - Changed matching rules and added g:fuf_splitPathMatching. - - Changed sorting rules. - - Changed the default values of g:fuf_file_exclude and g:fuf_dir_exclude in - order to ignore ".hg", ".git", and ".bzr" directories. - - Changed the default value of g:fuf_mrufile_exclude in order to ignore - network files (\\*) on Windows and ignore /mnt/* and /media/* on Unix like - systems. - - Fixed a bug that an exclude pattern of File, Dir, and Callback-File mode - can't be changed. - -3.3: - - Added Jump-List mode, Change-List mode, and Quickfix mode which enable - jumps with jump list, change list, and quickfix list. - - Added new feature which deletes selected bookmark with FuzzyFinder and - g:fuf_bookmark_keyDelete option. - - Changed default values of g:fuf_keyPrevPattern. - - Changed to show error message when incompatible with a installed vim. - -3.2: - - Added g:fuf_promptHighlight option to integrate such options for each - mode. - - Changed APIs of Given-File, Given-Directory, Given-Command, Callback-File, - and Callback-Item modes to be able to set a prompt string. - - Changed default values of g:fuf_keyPrevPattern and g:fuf_keyNextPattern. - - Fixed a bug that MRU-File data was not updated When a file was opened with - FuzzyFinder. - - Fixed a bug with scoring matchings for sorting. Thanks to Vincent. - - Brought back the removed feature which is switching to an other mode in - FuzzyFinder. - -3.1: - - Added new feature to recall patterns which have been entered before from - history. - -3.0: - - Redesigned the whole plugin for improvements of maintainability and - performance. "fuzzyfinder" is abbreviated to "fuf" in the sorce code and - filenames. All commands and options are renamed. - - Added new feature which is refining pattern. - - Improved the rules for sorting completion items. Thanks to the suggestion - by Nathan, the rule for boundary matching was implemented. - - Changed to open one line buffer of FuzzyFinder with :topleft command - instead of :leftabove. The window will alway appear at the top and occupy - the full with of the vim window. Thanks to Jan Christoph. - - Changed default filename of information file. - - Changed MRU-File mode and MRU-Command mode to be disabled by default - due to performance and side effect issues. - - Removed the feature which is switching to an other mode in FuzzyFinder. - - Removed the feature which is temporarily switching 'ignorecase' in - FuzzyFinder. - -2.22.3: - - Fixed a bug that Fuzzyfinder could not open files with '$' in the name on - Windows. - -2.22.2: - - Changed to consider a length of a date/time string when abbreviates long - completion items. - - Fixed a bug that '**/' pattern did not search for files directly under the - current working directory in File mode. Thanks to Martin for reporting. - -2.22.1: - - Fixed a bug that Fuzzyfinder could not expand abbreviations to patterns - including '\' correctly. - - Fixed to show item number in Given-File, Given-Directory, and - Given-Command mode. - -2.22.0: - - More improved the abbreviation method for long completion items. - - Added Given-File mode for third-party script to select a file from a given - list and open. - - Added Given-Directory mode for third-party script to select a directory - from a given list and change current working directory to it. - - Added Given-Command mode for third-party script to select a command from a - given list and execute. - - Changed ways to launch Callback-File mode and Callback-item mode. - -2.21.0: - - Improved a method of trimming long completion items. Thanks to Andy, - pyrhockz, and Nathan. - - Changed not to map command-line for MRU-Command mode if - g:FuzzyFinderOptions.MruCmd.mode_available is set 0 before loading - fuzzyfinder.vim. - - Added Callback-File mode and Callback-Item mode for third-party script to - find a file/directory or an item from a given list using Fuzzyfinder. - - Changed not to append ".." to a completion menu in File/Directory mode. - Use dot sequence feature. - - Changed default value of g:FuzzyFinderOptions.File.excluded_path option. - - Changed default value of g:FuzzyFinderOptions.Dir.excluded_path option. - - Fixed a bug that couldn't jump to a tag. Thanks to Thinca. - -2.20: - - Added help files which are doc/fuzzyfinder.txt and doc/fuzzyfinder.jax. - - Fixed a bug that an error occurs if current directory included spaces. - Thanks id:cho45 and id:secondlife. - - Implemented a feature to reuse a window containing target buffer. - - Added g:FuzzyFinderOptions.Buffer.reuse_window option. - - Added g:FuzzyFinderOptions.File.reuse_window option. - - Added g:FuzzyFinderOptions.MruFile.reuse_window option. - - Added g:FuzzyFinderOptions.Bookmark.reuse_window option. - - Added g:FuzzyFinderOptions.TaggedFile.reuse_window option. - - Changed to use 'omnifunc' instead of 'completefunc'. Now you can use - to delete all entered characters. - - Changed default value of g:FuzzyFinderOptions.Base.key_open_tab option. - - Changed default value of g:FuzzyFinderOptions.Base.key_next_mode option. - - Changed default value of g:FuzzyFinderOptions.Base.key_prev_mode option. - - Changed default value of g:FuzzyFinderOptions.Base.key_ignore_case option. - - Changed to truncate long completion items from the head instead of tail. - - Added g:FuzzyFinderOptions.Base.max_menu_width option instead of - g:FuzzyFinderOptions.Base.trim_length option. - - Added :FuzzyFinderFileWithFullCwd command. - - Added :FuzzyFinderFileWithCurrentBufferDir command. - - Added :FuzzyFinderDirWithFullCwd command. - - Added :FuzzyFinderDirWithCurrentBufferDir command. - - Added :FuzzyFinderTagWithCursorWord command. - - Renamed :FuzzyFinderRemoveCache command to :FuzzyFinderRenewCache. - -2.19: - - Changed MRU-File mode that always formats completion items to be relative - to the home directory. - - Fixed a bug that a file was opened in an unintended window with Tag List - plugin. Thanks Alexey. - - Fixed a bug that garbage characters were entered when switched current - mode. Thanks id:lugecy. - -2.18: - - Improved rules for the sorting of completion items. - - Changed not to learn a completion if an entered pattern is empty. - - Fixed a bug that Buffer mode did not work. Thanks ryo7000. - -2.17: - - Introduced a learning system for the sorting of completion items. - - Added g:FuzzyFinderOptions.Base.learning_limit option. - - Changed the specification of the information file. Please remove your - information file for Fuzzyfinder. - -2.16: - - Improved response time by caching in MRU-File mode. - - Fixed a bug in Bookmark mode that Fuzzyfinder did not jump to the - Bookmarked line number when Bookmarked pattern was not found. - -2.15: - - Added Bookmark mode. - - Removed Favorite-file mode. Use Bookmark mode instead. - - Fixed not to record a entry of input() in MRU-Command mode. - -2.14: - - Changed to show buffer status in Buffer mode. - - Fixed a bug that an error occurs when nonexistent buffer-name was entered - in Buffer mode. Thanks Maxim Kim. - - Added 'enumerating_limit' option. Thanks id:secondlife. - - Removed 'matching_limit' option. Use 'enumerating_limit' instead. - -2.13: - - Fixed a bug that a directory disappeared when a file in that directory was - being opened in File/Mru-File mode. - -2.12: - - Changed to be able to show completion items in the order of recently used - in Buffer mode. - - Added g:FuzzyFinderOptions.Buffer.mru_order option. - -2.11: - - Changed that a dot sequence of entered pattern is expanded to parent - directories in File/Dir mode. - E.g.: "foo/...bar" -> "foo/../../bar" - - Fixed a bug that a prompt string was excessively inserted. - -2.10: - - Changed not to show a current buffer in a completion menu. - - Fixed a bug that a filename to open was not been escaped. - - Added 'prompt' option. - - Added 'prompt_highlight' option. - - Removed g:FuzzyFinderOptions.MruFile.no_special_buffer option. - -2.9: - - Enhanced behavior in Fuzzyfinder and added 'smart_bs' option. - - Fixed a bug that entered pattern was not been escaped. - - Fixed not to insert "zv" with "c/pattern" command in Normal mode. - - Avoid the slow down problem caused by filereadable() check for the MRU - information in BufEnter/BufWritePost. - -2.8.1: - - Fixed a bug caused by the non-escaped buffer name "[Fuzzyfinder]". - - Fixed a command to open in a new tab page in Buffer mode. -2.8: - - Added 'trim_length' option. - - Added 'switch_order' option. - - Fixed a bug that entered command did not become the newest in the history. - - Fixed a bug that folds could not open with in a command-line when - searching. - - Removed 'excluded_indicator' option. Now a completion list in Buffer mode - is the same as a result of :buffers. - -2.7: - - Changed to find an item whose index is matched with the number suffixed - with entered pattern. - - Fixed the cache bug after changing current directory in File mode. - -2.6.2: - - Fixed not to miss changes in options when updates the MRU information. - -2.6.1: - - Fixed a bug related to floating-point support. - - Added support for GetLatestVimScripts. - -2.6: - - Revived MRU-command mode. The problem with a command-line abbreviation was - solved. - - Changed the specification of the information file. - - Added :FuzzyFinderEditInfo command. - -2.5.1: - - Fixed to be able to match "foo/./bar" by "foo/**/bar" in File mode. - - Fixed to be able to open a space-containing file in File mode. - - Fixed to honor the current working directory properly in File mode. - -2.5: - - Fixed the bug that a wrong initial text is entered after switching to a - next mode. - - Fixed the bug that it does not return to previous window after leaving - Fuzzyfinder one. - -2.4: - - Fixed the bug that Fuzzyfinder fails to open a file caused by auto-cd - plugin/script. - -2.3: - - Added a key mapping to open items in a new tab page and - g:FuzzyFinderOptions.Base.key_open_tab option. - - Changed to show Fuzzyfinder window above last window even if 'splitbelow' - was set. - - Changed to set nocursorline and nocursorcolumn in Fuzzyfinder. - - Fixed not to push up a buffer number unlimitedly. - -2.2: - - Added new feature, which is the partial matching. - - Fixed the bug that an error occurs when "'" was entered. - -2.1: - - Restructured the option system AGAIN. Sorry :p - - Changed to inherit a typed text when switching a mode without leaving - Insert mode. - - Changed commands which launch explorers to be able to take a argument for - initial text. - - Changed to complete file names by relative path and not full path in the - buffer/mru-file/tagged-file mode. - - Changed to highlight a typed text when the completion item was not found - or the completion process was aborted. - - Changed to create caches for each tag file and not working directory in - the tag/tagged-file mode. - - Fixed the bug that the buffer mode couldn't open a unnamed buffer. - - Added 'matching_limit' option. - - Removed 'max_match' option. Use 'matching_limit' option instead. - - Removed 'initial_text' option. Use command argument instead. - - Removed the MRU-command mode. - -2.0: - - Added the tag mode. - - Added the tagged-file mode. - - Added :FuzzyFinderRemoveCache command. - - Restructured the option system. many options are changed names or default - values of some options. - - Changed to hold and reuse caches of completion lists by default. - - Changed to set filetype 'fuzzyfinder'. - - Disabled the MRU-command mode by default because there are problems. - - Removed FuzzyFinderAddMode command. - -1.5: - - Added the directory mode. - - Fixed the bug that it caused an error when switch a mode in Insert mode. - - Changed g:FuzzyFinder_KeySwitchMode type to a list. - -1.4: - - Changed the specification of the information file. - - Added the MRU-commands mode. - - Renamed :FuzzyFinderAddFavorite command to :FuzzyFinderAddFavFile. - - Renamed g:FuzzyFinder_MruModeVars option to g:FuzzyFinder_MruFileModeVars. - - Renamed g:FuzzyFinder_FavoriteModeVars option to - g:FuzzyFinder_FavFileModeVars. - - Changed to show registered time of each item in MRU/favorite mode. - - Added 'timeFormat' option for MRU/favorite modes. - -1.3: - - Fixed a handling of multi-byte characters. - -1.2: - - Added support for Migemo. (Migemo is Japanese search method.) - -1.1: - - Added the favorite mode. - - Added new features, which are abbreviations and multiple search. - - Added 'abbrevMap' option for each mode. - - Added g:FuzzyFinder_MruModeVars['ignoreSpecialBuffers'] option. - - Fixed the bug that it did not work correctly when a user have mapped - or . - -1.0: - - Added the MRU mode. - - Added commands to add and use original mode. - - Improved the sorting algorithm for completion items. - - Added 'initialInput' option to automatically insert a text at the - beginning of a mode. - - Changed that 'excludedPath' option works for the entire path. - - Renamed some options. - - Changed default values of some options. - - Packed the mode-specific options to dictionaries. - - Removed some options. - -0.6: - - Fixed some bugs. - -0.5: - - Improved response by aborting processing too many items. - - Changed to be able to open a buffer/file not only in previous window but - also in new window. - - Fixed a bug that recursive searching with '**' does not work. - - Added g:FuzzyFinder_CompletionItemLimit option. - - Added g:FuzzyFinder_KeyOpen option. - -0.4: - - Improved response of the input. - - Improved the sorting algorithm for completion items. It is based on the - matching level. 1st is perfect matching, 2nd is prefix matching, and 3rd - is fuzzy matching. - - Added g:FuzzyFinder_ExcludePattern option. - - Removed g:FuzzyFinder_WildIgnore option. - - Removed g:FuzzyFinder_EchoPattern option. - - Removed g:FuzzyFinder_PathSeparator option. - - Changed the default value of g:FuzzyFinder_MinLengthFile from 1 to 0. - -0.3: - - Added g:FuzzyFinder_IgnoreCase option. - - Added g:FuzzyFinder_KeyToggleIgnoreCase option. - - Added g:FuzzyFinder_EchoPattern option. - - Changed the open command in a buffer mode from ":edit" to ":buffer" to - avoid being reset cursor position. - - Changed the default value of g:FuzzyFinder_KeyToggleMode from to - because does not work on some CUI environments. - - Changed to avoid being loaded by Vim before 7.0. - - Fixed a bug with making a fuzzy pattern which has '\'. - -0.2: - - A bug it does not work on Linux is fixed. - -0.1: - - First release. - - -============================================================================== -ABOUT *fuf-about* *fuf-contact* *fuf-author* - -Author: Takeshi NISHIDA -Licence: MIT Licence -URL: http://www.vim.org/scripts/script.php?script_id=1984 - http://bitbucket.org/ns9tks/vim-fuzzyfinder/ - -Bugs/Issues/Suggestions/Improvements ~ - -Please submit to http://bitbucket.org/ns9tks/vim-fuzzyfinder/issues/ . - -============================================================================== - vim:tw=78:ts=8:ft=help:norl: diff --git a/.vim/bundle/vim-fuzzyfinder/plugin/fuf.vim b/.vim/bundle/vim-fuzzyfinder/plugin/fuf.vim deleted file mode 100644 index 9826dab..0000000 --- a/.vim/bundle/vim-fuzzyfinder/plugin/fuf.vim +++ /dev/null @@ -1,158 +0,0 @@ -"============================================================================= -" Copyright (c) 2007-2010 Takeshi NISHIDA -" -" GetLatestVimScripts: 1984 1 :AutoInstall: FuzzyFinder -"============================================================================= -" LOAD GUARD {{{1 - -try - if !l9#guardScriptLoading(expand(':p'), 702, 101, []) - finish - endif -catch /E117/ - echoerr '***** L9 library must be installed! *****' - finish -endtry - -" }}}1 -"============================================================================= -" LOCAL FUNCTIONS {{{1 - -" -function s:initialize() - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_modesDisable' , [ 'mrufile', 'mrucmd', ]) - call l9#defineVariableDefault('g:fuf_keyOpen' , '') - call l9#defineVariableDefault('g:fuf_keyOpenSplit' , '') - call l9#defineVariableDefault('g:fuf_keyOpenVsplit' , '') - call l9#defineVariableDefault('g:fuf_keyOpenTabpage' , '') - call l9#defineVariableDefault('g:fuf_keyPreview' , '') - call l9#defineVariableDefault('g:fuf_keyNextMode' , '') - call l9#defineVariableDefault('g:fuf_keyPrevMode' , '') - call l9#defineVariableDefault('g:fuf_keyPrevPattern' , '') - call l9#defineVariableDefault('g:fuf_keyNextPattern' , '') - call l9#defineVariableDefault('g:fuf_keySwitchMatching', '') - call l9#defineVariableDefault('g:fuf_dataDir' , '~/.vim-fuf-data') - call l9#defineVariableDefault('g:fuf_abbrevMap' , {}) - call l9#defineVariableDefault('g:fuf_patternSeparator' , ';') - call l9#defineVariableDefault('g:fuf_promptHighlight' , 'Question') - call l9#defineVariableDefault('g:fuf_ignoreCase' , 1) - call l9#defineVariableDefault('g:fuf_splitPathMatching', 1) - call l9#defineVariableDefault('g:fuf_fuzzyRefining' , 0) - call l9#defineVariableDefault('g:fuf_smartBs' , 1) - call l9#defineVariableDefault('g:fuf_reuseWindow' , 1) - call l9#defineVariableDefault('g:fuf_timeFormat' , '(%Y-%m-%d %H:%M:%S)') - call l9#defineVariableDefault('g:fuf_learningLimit' , 100) - call l9#defineVariableDefault('g:fuf_enumeratingLimit' , 50) - call l9#defineVariableDefault('g:fuf_maxMenuWidth' , 78) - call l9#defineVariableDefault('g:fuf_previewHeight' , 0) - call l9#defineVariableDefault('g:fuf_autoPreview' , 0) - call l9#defineVariableDefault('g:fuf_useMigemo' , 0) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_buffer_prompt' , '>Buffer[]>') - call l9#defineVariableDefault('g:fuf_buffer_switchOrder', 10) - call l9#defineVariableDefault('g:fuf_buffer_mruOrder' , 1) - call l9#defineVariableDefault('g:fuf_buffer_keyDelete' , '') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_file_prompt' , '>File[]>') - call l9#defineVariableDefault('g:fuf_file_switchOrder', 20) - call l9#defineVariableDefault('g:fuf_file_exclude' , '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|(^|[/\\])\.(hg|git|bzr)($|[/\\])') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_coveragefile_prompt' , '>CoverageFile[]>') - call l9#defineVariableDefault('g:fuf_coveragefile_switchOrder', 30) - call l9#defineVariableDefault('g:fuf_coveragefile_exclude' , '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|(^|[/\\])\.(hg|git|bzr)($|[/\\])') - call l9#defineVariableDefault('g:fuf_coveragefile_globPatterns', ['**/.*', '**/*']) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_dir_prompt' , '>Dir[]>') - call l9#defineVariableDefault('g:fuf_dir_switchOrder', 40) - call l9#defineVariableDefault('g:fuf_dir_exclude' , '\v(^|[/\\])\.(hg|git|bzr)($|[/\\])') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_mrufile_prompt' , '>MRU-File[]>') - call l9#defineVariableDefault('g:fuf_mrufile_switchOrder', 50) - call l9#defineVariableDefault('g:fuf_mrufile_exclude' , '\v\~$|\.(o|exe|dll|bak|orig|sw[po])$|^(\/\/|\\\\|\/mnt\/|\/media\/)') - call l9#defineVariableDefault('g:fuf_mrufile_maxItem' , 200) - call l9#defineVariableDefault('g:fuf_mrufile_maxItemDir' , 50) - call l9#defineVariableDefault('g:fuf_mrufile_keyExpand' , '') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_mrucmd_prompt' , '>MRU-Cmd[]>') - call l9#defineVariableDefault('g:fuf_mrucmd_switchOrder', 60) - call l9#defineVariableDefault('g:fuf_mrucmd_exclude' , '^$') - call l9#defineVariableDefault('g:fuf_mrucmd_maxItem' , 200) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_bookmarkfile_prompt' , '>Bookmark-File[]>') - call l9#defineVariableDefault('g:fuf_bookmarkfile_switchOrder', 70) - call l9#defineVariableDefault('g:fuf_bookmarkfile_searchRange', 400) - call l9#defineVariableDefault('g:fuf_bookmarkfile_keyDelete' , '') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_bookmarkdir_prompt' , '>Bookmark-Dir[]>') - call l9#defineVariableDefault('g:fuf_bookmarkdir_switchOrder', 80) - call l9#defineVariableDefault('g:fuf_bookmarkdir_keyDelete' , '') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_tag_prompt' , '>Tag[]>') - call l9#defineVariableDefault('g:fuf_tag_switchOrder', 90) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_buffertag_prompt' , '>Buffer-Tag[]>') - call l9#defineVariableDefault('g:fuf_buffertag_switchOrder', 100) - call l9#defineVariableDefault('g:fuf_buffertag_ctagsPath' , 'ctags') - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_taggedfile_prompt' , '>Tagged-File[]>') - call l9#defineVariableDefault('g:fuf_taggedfile_switchOrder', 110) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_jumplist_prompt' , '>Jump-List[]>') - call l9#defineVariableDefault('g:fuf_jumplist_switchOrder', 120) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_changelist_prompt' , '>Change-List[]>') - call l9#defineVariableDefault('g:fuf_changelist_switchOrder', 130) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_quickfix_prompt' , '>Quickfix[]>') - call l9#defineVariableDefault('g:fuf_quickfix_switchOrder', 140) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_line_prompt' , '>Line[]>') - call l9#defineVariableDefault('g:fuf_line_switchOrder', 150) - "--------------------------------------------------------------------------- - call l9#defineVariableDefault('g:fuf_help_prompt' , '>Help[]>') - call l9#defineVariableDefault('g:fuf_help_switchOrder', 160) - "--------------------------------------------------------------------------- - command! -bang -narg=0 FufEditDataFile call fuf#editDataFile() - command! -bang -narg=0 FufRenewCache call s:renewCachesOfAllModes() - "--------------------------------------------------------------------------- - call fuf#addMode('buffer') - call fuf#addMode('file') - call fuf#addMode('coveragefile') - call fuf#addMode('dir') - call fuf#addMode('mrufile') - call fuf#addMode('mrucmd') - call fuf#addMode('bookmarkfile') - call fuf#addMode('bookmarkdir') - call fuf#addMode('tag') - call fuf#addMode('buffertag') - call fuf#addMode('taggedfile') - call fuf#addMode('jumplist') - call fuf#addMode('changelist') - call fuf#addMode('quickfix') - call fuf#addMode('line') - call fuf#addMode('help') - call fuf#addMode('givenfile') - call fuf#addMode('givendir') - call fuf#addMode('givencmd') - call fuf#addMode('callbackfile') - call fuf#addMode('callbackitem') - "--------------------------------------------------------------------------- -endfunction - -" -function s:renewCachesOfAllModes() - for m in fuf#getModeNames() - call fuf#{m}#renewCache() - endfor -endfunction - -" }}}1 -"============================================================================= -" INITIALIZATION {{{1 - -call s:initialize() - -" }}}1 -"============================================================================= -" vim: set fdm=marker: