Loading ...
Sorry, an error occurred while loading the content.

How to do dynamic syntax highlighting

Expand Messages
  • zlel
    Cross reference multiple search patterns dynamically. You need vim 7.0 and above for this but it comes in handy. Convert ^R and ^M to their equivalent control
    Message 1 of 2 , Feb 3, 2009
    • 0 Attachment
      Cross reference multiple search patterns dynamically.
      You need vim 7.0 and above for this but it comes in handy.
      Convert ^R and ^M to their equivalent control codes or grab the mime64
      from the bottom of the mail.

      :if (!exists("g:hicount"))
      :let g:hicount=0
      :let g:hilite = {}
      :hi M0 guibg=red
      :hi M1 guibg=green
      :hi M2 guibg=blue
      :hi M3 guibg=cyan
      :hi M4 guibg=magenta
      :hi M5 guibg=yellow
      :hi M6 guibg=gray
      :hi M7 guibg=orange
      :hi M8 guibg=purple
      :hi M9 guibg=violet
      :hi M10 guibg=red
      :hi M11 guibg=green
      :hi M12 guibg=blue
      :hi M13 guibg=cyan
      :hi M14 guibg=magenta
      :hi M15 guibg=yellow
      :hi M16 guibg=gray
      :hi M17 guibg=orange
      :hi M18 guibg=purple
      :hi M19 guibg=violet
      :endif
      :function! SynMatch(index, pattern)
      :let @a=a:pattern
      :if (a:index==0)
      :normal :syn match M0 "^Ra"^M
      :endif
      :if (a:index==1)
      :normal :syn match M1 "^Ra"^M
      :endif
      :if (a:index==2)
      :normal :syn match M2 "^Ra"^M
      :endif
      :if (a:index==3)
      :normal :syn match M3 "^Ra"^M
      :endif
      :if (a:index==4)
      :normal :syn match M4 "^Ra"^M
      :endif
      :if (a:index==5)
      :normal :syn match M5 "^Ra"^M
      :endif
      :if (a:index==6)
      :normal :syn match M6 "^Ra"^M
      :endif
      :if (a:index==7)
      :normal :syn match M7 "^Ra"^M
      :endif
      :if (a:index==8)
      :normal :syn match M8 "^Ra"^M
      :endif
      :if (a:index==9)
      :normal :syn match M9 "^Ra"^M
      :endif
      :if (a:index==10)
      :normal :syn match M10 "^Ra^M
      :endif
      :if (a:index==11)
      :normal :syn match M11 "^Ra"^M
      :endif
      :if (a:index==12)
      :normal :syn match M12 "^Ra"^M
      :endif
      :if (a:index==13)
      :normal :syn match M13 "^Ra"^M
      :endif
      :if (a:index==14)
      :normal :syn match M14 "^Ra"^M
      :endif
      :if (a:index==15)
      :normal :syn match M15 "^Ra"^M
      :endif
      :if (a:index==16)
      :normal :syn match M16 "^Ra"^M
      :endif
      :if (a:index==17)
      :normal :syn match M17 "^Ra"^M
      :endif
      :if (a:index==18)
      :normal :syn match M18 "^Ra"^M
      :endif
      :if (a:index==19)
      :normal :syn match M19 "^Ra"^M
      :endif
      :endfunction
      :function! SynClear(index)
      :if (a:index==0)
      :syn clear M0
      :endif
      :if (a:index==1)
      :syn clear M1
      :endif
      :if (a:index==2)
      :syn clear M2
      :endif
      :if (a:index==3)
      :syn clear M3
      :endif
      :if (a:index==4)
      :syn clear M4
      :endif
      :if (a:index==5)
      :syn clear M5
      :endif
      :if (a:index==6)
      :syn clear M6
      :endif
      :if (a:index==7)
      :syn clear M7
      :endif
      :if (a:index==8)
      :syn clear M8
      :endif
      :if (a:index==9)
      :syn clear M9
      :endif
      :if (a:index==10)
      :syn clear M10
      :endif
      :if (a:index==11)
      :syn clear M11
      :endif
      :if (a:index==12)
      :syn clear M12
      :endif
      :if (a:index==13)
      :syn clear M13
      :endif
      :if (a:index==14)
      :syn clear M14
      :endif
      :if (a:index==15)
      :syn clear M15
      :endif
      :if (a:index==16)
      :syn clear M16
      :endif
      :if (a:index==17)
      :syn clear M17
      :endif
      :if (a:index==18)
      :syn clear M18
      :endif
      :if (a:index==19)
      :syn clear M19
      :endif
      :endfunction
      :map <c-h> :unlet g:hilite[g:hicount]^M:let @a=g:hicount^M:let
      dummy=SynClear(g:hicount)^M:let g:hicount=(g:hicount+19)%20^M:echo
      "Next Level:" g:hicount^M
      :vmap <c-h> y::let g:hicount=(g:hicount+1)%20^M:let g:hilite[g:hicount]
      ="\\V".escape(@", "\\")^M:let dummy=SynClear(g:hicount)^M:let
      dummy=SynMatch(g:hicount,g:hilite[g:hicount])^M:echo "Next Level:"
      g:hicount^M
      :au BufEnter * :normal :syn clear^M:for index in keys(g:hilite)^M:let
      dummy=SynMatch(index, g:hilite[index])^M:endfor^M


      begin-base64 644 .vimrc
      IlZJTVJDICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aW06dHc9
      MDpzdHM9ODp0cz04Om5vZXhwYW5kdGFiOgoiZWRkaWUga2hvbyBlZSBsZWsg
      ICAgICAgICAgICAgPD4gbGFzdCB1cGRhdGVkIDogIFR1ZSBGZWIgIDMgMjA6
      MTY6MzEgMjAwOQoKCiItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSoKIgkJCQkJ
      CSAgICAgICBDb21tYW5kIFN1bW1hcnkgCiJGMQk6IGRpc2FibGUgaGVscDsg
      bWFrZSBpdCBlc2MgaGF0ZSBpdCB3aGVuIGkgcHJlc3MgZjEgaW5zdGVhZCBv
      ZiBlc2MKIkY4CTogU3BlbGwgY2hlY2sKIkY5CTogQ2xlYXIgaGlnaGxpZ2h0
      CiJjLWgJOiBoaWdobGlnaHQgYmxvY2tlZCBvciB1bmhsaWdodCBoaWdobGln
      aHRlZCB0ZXh0CiJjLUgJOiBjbGVhciBoaWdobGlnaHQKIkYzCTogcmVwZWF0
      IGxhc3QgZmluZAoiY3RybC11CTogKHUpbmRlcmxpbmUKImN0cmwtdAk6ICh0
      KWV4dHdpZHRoIHRvZ2dsZSBiZXR3ZWVuIDcwIGFuZCAwCiJjdHJsLWUJOiBk
      cmF3IGxpbmUgdG8gdGhlIChlKW5kCiJhbHQtSQk6IGJsb2NrIHQoaSl0bGUK
      ImN0cmwtcAk6IChwKWFyYWdyYXBoIHNlcGFyYXRvciBsaW5lCiIsbQk6ICht
      KWF4aW1pc2Ugd2luZG93IGhlaWdodAoiLHBybgk6IChwcilpKG4pdCBjdXJy
      ZW50IGZpbGUKIixnCTogKGcpZW5lcmF0ZSAucHMgb3V0cHV0IGZyb20gLnRl
      eCBmaWxlCiIsaXQJOiAoaSluc2VydCAodClpbWUgYW5kIGRhdGUKIixkaWN0
      CTogKGRpYylpb25hcnkgb24gKHQpYWIKIix2aW1yYwk6IHJlcmVhZCAodmlt
      cmMpCiItbAk6IChsKWlzdCBmaWxlcy4gdXNlIHVwL2Rvd24vbGVmdC9yaWdo
      dC9xIHRvIGJyb3dzZSBmaWxlcwoiYXUJPiBtYWtlZmlsZSBlZGl0aW5nCiJh
      dQk+IGZvciB0eXBlc2NyaXB0CiJhdQk+IHNldHVwIHRhYnN0b3BzIGV0YyBm
      b3IgcHJvZ3JhbW1pbmcKImF1CT4gdXBkYXRlIHRpbWUgc3RhbXAgImxhc3Qg
      ZWRpdGVkIDoiIGluIHNvdXJjZSBmaWxlLiBjYWxscyAsaXQKIixjCTogKGMp
      b21tZW50IHRvZ2dsZSBmb3IgcHJvZ3JhbW1pbmcgdG9nZ2xlICIvLyIKIixk
      CTogKGQpZWJ1ZyB0b2dnbGU7IHByaW50IGZpbGVuYW1lIGFuZCBsaW5lIG51
      bWJlciBhdCBldmVyeSBsaW5lIG9yIG5vdAoiLGlkCTogKGkpbnNlcnQgQyBm
      dW5jdGlvbiAoZCllY2xhcmF0aW9ucyBoZXJlLiAKIkYJOiAoRilpbmQgQyBk
      ZWZpbml0aW9uIChmb3IgdXNlIHdpdGggQ1RhZ3MpCiJhdQk+IFRleHR3aWR0
      aCAwIGZvciBodG1sCiJhdQk+IHdyYXAgaHRtbAoiLGlkCTogKGkpbnNlcnQg
      KGQpZWNsYXJhdGlvbnMsIHN1bW1hcmlzZSAudmltcmMKImF1CT4gdXBkYXRl
      IHRpbWUgc3RhbXAgaWYgZm91bmQgaW4gLnZpbXJjCiJQdXNoCT4gUHVzaChr
      ZXksIHZhbHVlKQlhZGQgdmFsdWUgdG8gZzpoYXNoIHN0YWNrCiJQb3AJPiBQ
      b3Aoa2V5KQkJcG9wIHZhbHVlIGZyb20gZzpoYXNoIHN0YWNrCiJJbmMJPiBJ
      bmMoY291bnRlcm5hbWUpOwlsZXQgZzpjb3VudGVycz17fSB0byByZXNldAoi
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qCgoKCQkJCQkJICAgICAgIi0tLS0t
      LS0tLS0tLS0tLQoJCQkJCQkgICAgICAic3RhbmRhcmQgc3R1ZmY6CgkJCQkJ
      CSAgICAgICItLS0tLS0tLS0tLS0tLS0KCgo6dmVyc2lvbiA1LjMKOnNldCBm
      bz10Y3FtbjJCCjpzZXQgdGV4dHdpZHRoPTcwCjpzZXQgbm93cmFwCjpzZXQg
      YnM9Mgo6c2V0IGxhc3RzdGF0dXM9Mgo6c2V0IHN3PTgKOnNldCB0cz04Cjpz
      ZXQgc3RzPTgKOnNldCBhaQo6c2V0IHJ1bGVyCjpzZXQgZXhwYW5kdGFiCjpz
      ZXQgc2htPWF0CjptYXAgJyBgCjpzZXQgaWMKOnNldCBub2hscwo6c3ludGF4
      IG9mZgo6c2V0IGJyb3dzZWRpcj1idWZmZXIKCgkJCQkJCSAgICItLS0tLS0t
      LS0tLS0tLS0tLS0KCQkJCQkJICAgIiBKYXBhbmVzZSBzdXBwb3J0OiAKCQkJ
      CQkJICAgIi0tLS0tLS0tLS0tLS0tLS0tLQppZiBoYXMoJ2ljb252JykKICBz
      ZXQgZmlsZWVuY29kaW5ncyYKICBzZXQgZmlsZWVuY29kaW5ncys9YXNjaWks
      dWNzLTJsZSx1Y3MtMgogIGxldCBzOmVuY19ldWMgPSAnZXVjLWpwJwogIGxl
      dCBzOmVuY19qaXMgPSAnaXNvLTIwMjItanAnCiAgIiBpY29udoKqSklTWDAy
      MTOCyZHOiZ6CtYLEgqKC6YKpgvCDYINGg2KDTgogIGlmIGljb252KCJceDg3
      XHg2NFx4ODdceDZhIiwgJ2NwOTMyJywgJ2V1Yy1qaXN4MDIxMycpID09IyAi
      XHhhZFx4YzVceGFkXHhjYiIKICAgIGxldCBzOmVuY19ldWMgPSAnZXVjLWpp
      c3gwMjEzLGV1Yy1qcCcKICAgIGxldCBzOmVuY19qaXMgPSAnaXNvLTIwMjIt
      anAtMycKICBlbmRpZgogICIgZmlsZWVuY29kaW5nc4LwjVySegogIGxldCAm
      ZmlsZWVuY29kaW5ncyA9ICZmaWxlZW5jb2RpbmdzLicsJy5zOmVuY19qaXMu
      Jyx1dGYtOCcKICBpZiAmZW5jb2RpbmcgPX4jICdeZXVjLVwlKGpwXHxqaXN4
      MDIxM1wpJCcKICAgIHNldCBmaWxlZW5jb2RpbmdzKz1jcDkzMgogICAgbGV0
      ICZlbmNvZGluZyA9IHM6ZW5jX2V1YwogIGVsc2UKICAgIGxldCAmZmlsZWVu
      Y29kaW5ncyA9ICZmaWxlZW5jb2RpbmdzLicsJy5zOmVuY19ldWMKICBlbmRp
      ZgogICIgkuiQlILwj4iVqgogIHVubGV0IHM6ZW5jX2V1YwogIHVubGV0IHM6
      ZW5jX2ppcwplbmRpZgoJCQkJCQkgIi0tLS0tLS0tLS0tLS0tLS0tLS0tCgkJ
      CQkJCSAiZm9yIGdlbmVyYWwgZWRpdGluZzoKCQkJCQkJICItLS0tLS0tLS0t
      LS0tLS0tLS0tLQoKIkYxCTogZGlzYWJsZSBoZWxwOyBtYWtlIGl0IGVzYyBo
      YXRlIGl0IHdoZW4gaSBwcmVzcyBmMSBpbnN0ZWFkIG9mIGVzYwoiLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tCjptYXAgPEYxPiA8ZXNjPgo6aW1hcCA8RjE+
      IDxlc2M+CgoKIkY4CTogU3BlbGwgY2hlY2sKIkY5CTogQ2xlYXIgaGlnaGxp
      Z2h0CiItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KOm5vcmVtYXAgPEY4PiA6
      c3luIGNsZWFyDTolIWlzcGVsbCAtbA06Zy8uKi9ub3JtYWwgJHYweTpzeW4g
      bWF0Y2ggc3BlbGwgL1w8FhYSIlw+LxYWDQ11OmhpIHNwZWxsIHRlcm09Ym9s
      ZCBndWk9Ym9sZCBjdGVybT1ib2xkDQo6bm9yZW1hcCA8Rjk+IDpzeW4gY2xl
      YXINCgoKImMtaAk6IGhpZ2hsaWdodCBibG9ja2VkIG9yIHVuaGxpZ2h0IGhp
      Z2hsaWdodGVkIHRleHQKImMtSAk6IGNsZWFyIGhpZ2hsaWdodAoiLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tCjppZiAoIWV4aXN0cygiZzpoaWNvdW50Iikp
      Cgk6bGV0IGc6aGljb3VudD0wCgk6bGV0IGc6aGlsaXRlID0ge30KCTpoaSBN
      MCBndWliZz1yZWQKCTpoaSBNMSBndWliZz1ncmVlbgoJOmhpIE0yIGd1aWJn
      PWJsdWUKCTpoaSBNMyBndWliZz1jeWFuCgk6aGkgTTQgZ3VpYmc9bWFnZW50
      YQoJOmhpIE01IGd1aWJnPXllbGxvdwoJOmhpIE02IGd1aWJnPWdyYXkKCTpo
      aSBNNyBndWliZz1vcmFuZ2UKCTpoaSBNOCBndWliZz1wdXJwbGUKCTpoaSBN
      OSBndWliZz12aW9sZXQKCTpoaSBNMTAgZ3VpYmc9cmVkCgk6aGkgTTExIGd1
      aWJnPWdyZWVuCgk6aGkgTTEyIGd1aWJnPWJsdWUKCTpoaSBNMTMgZ3VpYmc9
      Y3lhbgoJOmhpIE0xNCBndWliZz1tYWdlbnRhCgk6aGkgTTE1IGd1aWJnPXll
      bGxvdwoJOmhpIE0xNiBndWliZz1ncmF5Cgk6aGkgTTE3IGd1aWJnPW9yYW5n
      ZQoJOmhpIE0xOCBndWliZz1wdXJwbGUKCTpoaSBNMTkgZ3VpYmc9dmlvbGV0
      CjplbmRpZgo6ZnVuY3Rpb24hIFN5bk1hdGNoKGluZGV4LCBwYXR0ZXJuKQoJ
      OmxldCBAYT1hOnBhdHRlcm4KCTppZiAoYTppbmRleD09MCkgCgkJOm5vcm1h
      bCA6c3luIG1hdGNoIE0wICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09
      MSkgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE0xICISYSINCgk6ZW5kaWYKCTpp
      ZiAoYTppbmRleD09MikgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE0yICISYSIN
      Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MykgCgkJOm5vcm1hbCA6c3luIG1h
      dGNoIE0zICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09NCkgCgkJOm5v
      cm1hbCA6c3luIG1hdGNoIE00ICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRl
      eD09NSkgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE01ICISYSINCgk6ZW5kaWYK
      CTppZiAoYTppbmRleD09NikgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE02ICIS
      YSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09NykgCgkJOm5vcm1hbCA6c3lu
      IG1hdGNoIE03ICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09OCkgCgkJ
      Om5vcm1hbCA6c3luIG1hdGNoIE04ICISYSINCgk6ZW5kaWYKCTppZiAoYTpp
      bmRleD09OSkgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE05ICISYSINCgk6ZW5k
      aWYKCTppZiAoYTppbmRleD09MTApIAoJCTpub3JtYWwgOnN5biBtYXRjaCBN
      MTAgIhJhDQoJOmVuZGlmCgk6aWYgKGE6aW5kZXg9PTExKSAKCQk6bm9ybWFs
      IDpzeW4gbWF0Y2ggTTExICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09
      MTIpIAoJCTpub3JtYWwgOnN5biBtYXRjaCBNMTIgIhJhIg0KCTplbmRpZgoJ
      OmlmIChhOmluZGV4PT0xMykgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE0xMyAi
      EmEiDQoJOmVuZGlmCgk6aWYgKGE6aW5kZXg9PTE0KSAKCQk6bm9ybWFsIDpz
      eW4gbWF0Y2ggTTE0ICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTUp
      IAoJCTpub3JtYWwgOnN5biBtYXRjaCBNMTUgIhJhIg0KCTplbmRpZgoJOmlm
      IChhOmluZGV4PT0xNikgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE0xNiAiEmEi
      DQoJOmVuZGlmCgk6aWYgKGE6aW5kZXg9PTE3KSAKCQk6bm9ybWFsIDpzeW4g
      bWF0Y2ggTTE3ICISYSINCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTgpIAoJ
      CTpub3JtYWwgOnN5biBtYXRjaCBNMTggIhJhIg0KCTplbmRpZgoJOmlmIChh
      OmluZGV4PT0xOSkgCgkJOm5vcm1hbCA6c3luIG1hdGNoIE0xOSAiEmEiDQoJ
      OmVuZGlmCjplbmRmdW5jdGlvbgo6ZnVuY3Rpb24hIFN5bkNsZWFyKGluZGV4
      KQoJOmlmIChhOmluZGV4PT0wKSAKCQk6c3luIGNsZWFyIE0wCgk6ZW5kaWYK
      CTppZiAoYTppbmRleD09MSkgCgkJOnN5biBjbGVhciBNMQoJOmVuZGlmCgk6
      aWYgKGE6aW5kZXg9PTIpIAoJCTpzeW4gY2xlYXIgTTIKCTplbmRpZgoJOmlm
      IChhOmluZGV4PT0zKSAKCQk6c3luIGNsZWFyIE0zCgk6ZW5kaWYKCTppZiAo
      YTppbmRleD09NCkgCgkJOnN5biBjbGVhciBNNAoJOmVuZGlmCgk6aWYgKGE6
      aW5kZXg9PTUpIAoJCTpzeW4gY2xlYXIgTTUKCTplbmRpZgoJOmlmIChhOmlu
      ZGV4PT02KSAKCQk6c3luIGNsZWFyIE02Cgk6ZW5kaWYKCTppZiAoYTppbmRl
      eD09NykgCgkJOnN5biBjbGVhciBNNwoJOmVuZGlmCgk6aWYgKGE6aW5kZXg9
      PTgpIAoJCTpzeW4gY2xlYXIgTTgKCTplbmRpZgoJOmlmIChhOmluZGV4PT05
      KSAKCQk6c3luIGNsZWFyIE05Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTAp
      IAoJCTpzeW4gY2xlYXIgTTEwCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTEp
      IAoJCTpzeW4gY2xlYXIgTTExCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTIp
      IAoJCTpzeW4gY2xlYXIgTTEyCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTMp
      IAoJCTpzeW4gY2xlYXIgTTEzCgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTQp
      IAoJCTpzeW4gY2xlYXIgTTE0Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTUp
      IAoJCTpzeW4gY2xlYXIgTTE1Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTYp
      IAoJCTpzeW4gY2xlYXIgTTE2Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTcp
      IAoJCTpzeW4gY2xlYXIgTTE3Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTgp
      IAoJCTpzeW4gY2xlYXIgTTE4Cgk6ZW5kaWYKCTppZiAoYTppbmRleD09MTkp
      IAoJCTpzeW4gY2xlYXIgTTE5Cgk6ZW5kaWYKOmVuZGZ1bmN0aW9uCjptYXAg
      PGMtaD4gOnVubGV0IGc6aGlsaXRlW2c6aGljb3VudF0NOmxldCBAYT1nOmhp
      Y291bnQNOmxldCBkdW1teT1TeW5DbGVhcihnOmhpY291bnQpDTpsZXQgZzpo
      aWNvdW50PShnOmhpY291bnQrMTkpJTIwDTplY2hvICJOZXh0IExldmVsOiIg
      ZzpoaWNvdW50DQo6dm1hcCA8Yy1oPiB5OjpsZXQgZzpoaWNvdW50PShnOmhp
      Y291bnQrMSklMjANOmxldCBnOmhpbGl0ZVtnOmhpY291bnRdPSJcXFYiLmVz
      Y2FwZShAIiwgIlxcIikNOmxldCBkdW1teT1TeW5DbGVhcihnOmhpY291bnQp
      DTpsZXQgZHVtbXk9U3luTWF0Y2goZzpoaWNvdW50LGc6aGlsaXRlW2c6aGlj
      b3VudF0pDTplY2hvICJOZXh0IExldmVsOiIgZzpoaWNvdW50DQo6YXUgQnVm
      RW50ZXIgKiA6bm9ybWFsIDpzeW4gY2xlYXINOmZvciBpbmRleCBpbiBrZXlz
      KGc6aGlsaXRlKQ06bGV0IGR1bW15PVN5bk1hdGNoKGluZGV4LCBnOmhpbGl0
      ZVtpbmRleF0pDTplbmRmb3INCgoJCgoKIkYzCTogcmVwZWF0IGxhc3QgZmlu
      ZAoiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjptYXAgPEYzPiAvDQoKCiJj
      dHJsLXUJOiAodSluZGVybGluZQoiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      CjptYXAgFSA6bGV0IEBhPSZlbmMNOnNldCBlbmM9bGF0aW4xDXl5cDpzL4FA
      LyAgL2VnDTpzL1teIF4JXS8tL2cNOnMvLSAtLy0tLS9nZQ06cy8tIC0vLS0t
      L2dlDWowOmxldCAmZW5jPUBhDQo6aW1hcCAVIBsVMGkKCgoiIHJlbSBjdHJs
      LWQJOiBleGl0CiIgcmVtIGN0cmwteAk6IGV4aXQKIi0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLQoiOm1hcCAEIDppZiBzdHJsZW4oYnVmZmVyX25hbWUoIiUi
      KSkhPTAgFnwgeCAWfCBlbHNlIBZ8IHEhIBZ8IGVuZGlmDQoiOmltYXAgBCAb
      BAoiOm1hcCAYIAQKIjppbWFwIBggBAoKCiJjdHJsLXQJOiAodClleHR3aWR0
      aCB0b2dnbGUgYmV0d2VlbiA3MCBhbmQgMAoiLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tCjptYXAgFCA6bGV0ICZ0dz03MC0mdHcNOmVjaG8gIlRFWFRXSURU
      SCBOT1cgSVMgIi4mdHcNCjppbWFwIBQgG21hFCdhYQoKCiJjdHJsLWUJOiBk
      cmF3IGxpbmUgdG8gdGhlIChlKW5kCiItLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0KOm1hcCAFIDpzL1sgXSokLyAvDSQ6d2hpbGUgdmlydGNvbCgiLiIpPCZ0
      dxZ8cy8kLy0vZxZ8ZXhlICJub3JtYWwgJCIWfGVuZHcNCjppbWFwIAUgG21h
      BSdhYQoKCiJhbHQtSQk6IGJsb2NrIHQoaSl0bGUKIi0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLQo6bWFwICxpYnQgOmNlDTpzL14uLi89PS8NJDpsZXQgQGE9
      cmVwZWF0KCIgIiwgJnR3IC0gMSAtIHZpcnRjb2woIiQiKSkuIj09Ig0kImFw
      Cjp2bWFwIDxhLUk+IDxFU0M+OmxldCBAYj1saW5lKCIuIikNZ3ZvPEVTQz46
      bGV0IEBjPWxpbmUoIi4iKQ1ndjpnLy4qL25vcm1hbCAsaWJ0DTpsZXQgQGQ9
      bWF4KFtAYiwgQGNdKQ06bm9ybWFsIEBkRw0QOnMvLS89L2cNOmxldCBAZD1t
      YXgoW0BiLCBAY10pDXl5OmxldCBAZD1taW4oW0BiLCBAY10pDTpub3JtYWwg
      QGRHDVtwOmxldCBAZD1tYXgoW0BiLCBAY10pKzINOm5vcm1hbCBAZEcNCjpt
      YXAgPGEtST4gVjxFU0M+OmxldCBAYj1saW5lKCIuIikNZ3ZvPEVTQz46bGV0
      IEBjPWxpbmUoIi4iKQ1ndjpnLy4qL25vcm1hbCAsaWJ0DTpsZXQgQGQ9bWF4
      KFtAYiwgQGNdKQ06bm9ybWFsIEBkRw0QOnMvLS89L2cNOmxldCBAZD1tYXgo
      W0BiLCBAY10pDXl5OmxldCBAZD1taW4oW0BiLCBAY10pDTpub3JtYWwgQGRH
      DVtwOmxldCBAZD1tYXgoW0BiLCBAY10pKzINOm5vcm1hbCBAZEcNCgoKImN0
      cmwtcAk6IChwKWFyYWdyYXBoIHNlcGFyYXRvciBsaW5lCiItLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0KOm1hcCAQIG8FCC0bCjppbWFwIBAgGxAkYQoKCiIs
      bQk6IChtKWF4aW1pc2Ugd2luZG93IGhlaWdodAoiLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tCjptYXAgLG0gF18KCgoiLHBybgk6IChwcilpKG4pdCBjdXJy
      ZW50IGZpbGUKIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo6aWYgaGFzKCJ3
      aW4zMiIpCjptYXAgLHBybiA6bGV0IEBhPUAlDSEhYzpcd2luZG93c1xOT1RF
      UEFELkVYRSAvcCAiEmEiDQo6ZWxzZQo6bWFwICxwcm4gOncgIXByIC1mIC1v
      NSAtbDUwIC13NzAgXHxscHIgLVBscDENCjplbmRpZgoKCiIsZwk6IChnKWVu
      ZXJhdGUgLnBzIG91dHB1dCBmcm9tIC50ZXggZmlsZQoiLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tCjphdSBCdWZFbnRlciAqLnRleCA6bWFwICxnIDp3DToh
      bGF0ZXggJQ06IWR2aXBzIC1vICU8LnBzICU8LmR2aQ0gCgoKIixpdAk6IChp
      KW5zZXJ0ICh0KWltZSBhbmQgZGF0ZQoiLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tCjptYXAgLGl0IDpsZXQgQGE9c3RyZnRpbWUoIiVjIikNImFwCgoKIixk
      aWN0CTogKGRpYylpb25hcnkgb24gKHQpYWIKIi0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLQo6bWFwICxkaWN0IDpsZXQgaGFzaD17fQ06JXMvXCguXHstXH1c
      KVx0XCguKlwpL1w9UHVzaChzdWJtYXRjaCgxKSwgc3VibWF0Y2goMikpLw11
      CgoKIix2aW1yYwk6IHJlcmVhZCAodmltcmMpCiItLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0KOm1hcCAsdmltcmMgOnNvICRWSU0vX3ZpbXJjDQoKCiItbAk6
      IChsKWlzdCBmaWxlcy4gdXNlIHVwL2Rvd24vbGVmdC9yaWdodC9xIHRvIGJy
      b3dzZSBmaWxlcwoiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjptYXAgLWwg
      Om1hcCAsLCwsZ2V0IDFHVkd4OnIhbHMWFhYNOmxldCBAYT1saXN0ZXJ0ZW1w
      FhYWDTp3IRYWFhJhFhYWDTpsZXQgQGE9Y3VybGluZRYWFg06bm9ybWFsIBYW
      FhJhRxYWFg06bGV0IGlzZGlyPTEWFhYNDTptYXAgLCwsLHNlZSA6ZSEgPGNm
      aWxlPhYWFg06bGV0IGlzZGlyPTAWFhYNOnNldCBybxYWFg0NOm1hcCAWFhY8
      cmlnaHQ+IDppZiBpc2Rpcj09MRYWFg06bGV0IGN1cmxpbmU9bGluZSgiLiIp
      FhYWDTpub3JtYWwgLCwsLHNlZRYWFg06bGV0IEBhPSIWFhYSJSIWFhYNOmlm
      IGlzZGlyZWN0b3J5KCIWFhYSYSIpFhYWDTpjZCAWFhYSYRYWFg06bGV0IGN1
      cmxpbmU9MhYWFg06bm9ybWFsICwsLCxnZXQWFhYNOmVuZGlmFhYWDTplbmRp
      ZhYWFg0WFhYNDTptYXAgFhYWPGxlZnQ+IDppZiBpc2Rpcj09MRYWFg06bGV0
      IGN1cmxpbmU9MRYWFg06Y2QgLi4WFhYNOmxldCBjdXJsaW5lPTIWFhYNOm5v
      cm1hbCAsLCwsZ2V0FhYWDTplbmRpZhYWFg06bGV0IEBhPWxpc3RlcnRlbXAW
      FhYNOmUhFhYWEmEWFhYNLCwsLGdldDpsZXQgQGE9Y3VybGluZRYWFg06bm9y
      bWFsIBYWFhJhRxYWFg0NOm1hcCBxIDFHOmxldCBAYT1saXN0ZXJ0ZW1wFhYW
      DTpsZXQgQGM9ZGVsZXRlKCIWFhYSYSIpFhYWDTp1bm1hcCAsLCwsZ2V0FhYW
      DTp1bm1hcCAsLCwsc2VlFhYWDTp1bm1hcCAWFhYWFhYWFhYWFhYWFhY8cmln
      aHQ+FhYWDTp1bm1hcCAWFhYWFhYWFhYWFhYWFhY8bGVmdD4WFhYNOnVubWFw
      IHEWFhYNOnEhFhYWDQ0NOmxldCBjdXJsaW5lPTEWDTpsZXQgbGlzdGVydGVt
      cD10ZW1wbmFtZSgpFg06bGV0IEBhPWxpc3RlcnRlbXAWDTpuZXcWDTpsZXQg
      aXNkaXI9MBYNLG0sLCwsZ2V0OmxldCBAYT1jdXJsaW5lFg06bm9ybWFsIBYS
      YUcWDTplY2hvICJFRERJRSdTIEZJTEUgTElTVCBGT1IgVklNIg0NCjppZiBo
      YXMoIndpbjMyIikKOm1hcCAtbCA6bWFwICwsLCxnZXQgMUdWR3g6ciFkaXIv
      YhYWFg06bGV0IEBhPWxpc3RlcnRlbXAWFhYNOnchFhYWEmEWFhYNOmxldCBA
      YT1jdXJsaW5lFhYWDTpub3JtYWwgFhYWEmFHFhYWDTpsZXQgaXNkaXI9MRYW
      Fg0NOm1hcCAsLCwsc2VlIDplISA8Y2ZpbGU+FhYWDTpsZXQgaXNkaXI9MBYW
      Fg06c2V0IHJvFhYWDQ06bWFwIBYWFjxyaWdodD4gOmlmIGlzZGlyPT0xFhYW
      DTpsZXQgY3VybGluZT1saW5lKCIuIikWFhYNOm5vcm1hbCAsLCwsc2VlFhYW
      DTpsZXQgQGE9IhYWFhIlIhYWFg06aWYgaXNkaXJlY3RvcnkoIhYWFhJhIikW
      FhYNOmNkIBYWFhJhFhYWDTpsZXQgY3VybGluZT0yFhYWDTpub3JtYWwgLCws
      LGdldBYWFg06ZW5kaWYWFhYNOmVuZGlmFhYWDRYWFg0NOm1hcCAWFhY8bGVm
      dD4gOmlmIGlzZGlyPT0xFhYWDTpsZXQgY3VybGluZT0xFhYWDTpjZCAuLhYW
      Fg06bGV0IGN1cmxpbmU9MhYWFg06bm9ybWFsICwsLCxnZXQWFhYNOmVuZGlm
      FhYWDTpsZXQgQGE9bGlzdGVydGVtcBYWFg06ZSEWFhYSYRYWFg0sLCwsZ2V0
      OmxldCBAYT1jdXJsaW5lFhYWDTpub3JtYWwgFhYWEmFHFhYWDQ06bWFwIHEg
      MUc6bGV0IEBhPWxpc3RlcnRlbXAWFhYNOmxldCBAYz1kZWxldGUoIhYWFhJh
      IikWFhYNOnVubWFwICwsLCxnZXQWFhYNOnVubWFwICwsLCxzZWUWFhYNOnVu
      bWFwIBYWFhYWFhYWFhYWFhYWFjxyaWdodD4WFhYNOnVubWFwIBYWFhYWFhYW
      FhYWFhYWFjxsZWZ0PhYWFg06dW5tYXAgcRYWFg06cSEWFhYNDQ06bGV0IGN1
      cmxpbmU9MRYNOmxldCBsaXN0ZXJ0ZW1wPXRlbXBuYW1lKCkWDTpsZXQgQGE9
      bGlzdGVydGVtcBYNOm5ldxYNOmxldCBpc2Rpcj0wFg0sbSwsLCxnZXQ6bGV0
      IEBhPWN1cmxpbmUWDTpub3JtYWwgFhJhRxYNOmVjaG8gIkVERElFJ1MgRklM
      RSBMSVNUIEZPUiBWSU0iDQ0KOmVuZGlmCgoKCQkJCQkJICAgICAiLS0tLS0t
      LS0tLS0tLS0tLQoJCQkJCQkgICAgICJmb3IgcHJvZ3JhbW1pbmc6CgkJCQkJ
      CSAgICAgIi0tLS0tLS0tLS0tLS0tLS0KCiJhdQk+IG1ha2VmaWxlIGVkaXRp
      bmcKIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo6YXUgQnVmRW50ZXIgbWFr
      ZWZpbGUgOnNldCBub2V4cGFuZHRhYgo6YXUgQnVmRW50ZXIgbWFrZWZpbGUg
      OnNldCB0dz0wCgoKImF1CT4gZm9yIHR5cGVzY3JpcHQKIi0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLQo6YXUgQnVmRW50ZXIgdHlwZXNjcmlwdCA6JXMvDS8v
      Z2UKOmF1IEJ1ZkVudGVyIHR5cGVzY3JpcHQgOiVzLy4ILy9nZQo6YXUgQnVm
      RW50ZXIgdHlwZXNjcmlwdCA6JXMvW14gLX5dLy9nZQo6YXUgQnVmRW50ZXIg
      dHlwZXNjcmlwdCA6dwoKCiJhdQk+IHNldHVwIHRhYnN0b3BzIGV0YyBmb3Ig
      cHJvZ3JhbW1pbmcKIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo6YXUgQnVm
      RW50ZXIgKi5qYXZhLCouY3BwLCouY2MsKi5jLCouaCwqLmNscCwqLnNjbSA6
      c2V0IHRzPTQKOmF1IEJ1ZkVudGVyICouamF2YSwqLmNwcCwqLmNjLCouYywq
      LmgsKi5jbHAsKi5zY20gOnNldCBzdHM9NAo6YXUgQnVmRW50ZXIgKi5qYXZh
      LCouY3BwLCouY2MsKi5jLCouaCwqLmNscCwqLnNjbSA6c2V0IHN3PTQgCjph
      dSBCdWZFbnRlciAqLmphdmEsKi5jcHAsKi5jYywqLmMsKi5oLCouY2xwLCou
      c2NtIDpzZXQgbm9pYwo6YXUgQnVmRW50ZXIgKi5qYXZhLCouY3BwLCouY2Ms
      Ki5jLCouaCwqLmNscCwqLnNjbSA6c2V0IHNtCjphdSBCdWZFbnRlciAqLmph
      dmEsKi5jcHAsKi5jYywqLmMsKi5oLCouY2xwLCouc2NtIDpzZXQgdHc9MAoK
      CiJhdQk+IHVwZGF0ZSB0aW1lIHN0YW1wICJsYXN0IGVkaXRlZCA6IiBpbiBz
      b3VyY2UgZmlsZS4gY2FsbHMgLGl0CiItLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0KOmF1IEJ1ZldyaXRlUHJlICouamF2YSwqLmNwcCwqLmNjLCouYywqLmgs
      Ki5jbHAsKi5zY20gOm5vcm1hbCBteAo6YXUgQnVmV3JpdGVQcmUgKi5qYXZh
      LCouY3BwLCouY2MsKi5jLCouaCwqLmNscCwqLnNjbSA6bm9ybWFsIE1teQo6
      YXUgQnVmV3JpdGVQcmUgKi5qYXZhLCouY3BwLCouY2MsKi5jLCouaCwqLmNs
      cCwqLnNjbSA6Zy9sYXN0LiplZGl0W146XSo6L25vcm1hbCAvbGFzdC4qZWRp
      dFteOl0qOi9lDURhOiAbLGl0CjphdSBCdWZXcml0ZVByZSAqLmphdmEsKi5j
      cHAsKi5jYywqLmMsKi5oLCouY2xwLCouc2NtIDpub3JtYWwgJ3kKOmF1IEJ1
      ZldyaXRlUHJlICouamF2YSwqLmNwcCwqLmNjLCouYywqLmgsKi5jbHAsKi5z
      Y20gOm5vcm1hbCAneAogCgoiLGMJOiAoYylvbW1lbnQgdG9nZ2xlIGZvciBw
      cm9ncmFtbWluZyB0b2dnbGUgIi8vIgoiLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tCjphdSBCdWZFbnRlciAqLmphdmEsKi5jcHAsKi5jYywqLmMsKi5oIDpt
      YXAgLGMgMGkvLyAbajouLTFzL1svXVsvXVsgXVsvXVsvXVsgXS8vDWoKCgoi
      LGQJOiAoZCllYnVnIHRvZ2dsZTsgcHJpbnQgZmlsZW5hbWUgYW5kIGxpbmUg
      bnVtYmVyIGF0IGV2ZXJ5IGxpbmUgb3Igbm90CiItLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0KOmF1IEJ1ZkVudGVyICouY3BwIDptYXAgLGQgVmlCOnMvXi4q
      XFMuKiQvXC8qREVCVUcqXC9jb3V0PDxfX0ZJTEVfXzw8IjoiPDxfX0xJTkVf
      Xzw8IlxcbiI7XC8qREVCVUcqXC9cMA1ndjpzL1wvXCpERUJVRy4qREVCVUcu
      KkRFQlVHLipERUJVR1wqXC8vL2cNCjphdSBCdWZFbnRlciAqLmMsKi5jYyA6
      bWFwICxkIFZpQjpzL14uKlxTLiokL1wvKkRFQlVHKlwvcHJpbnRmKCIlczol
      c1xuIixfX0ZJTEVfXyxfX0xJTkVfXyk7XC8qREVCVUcqXC9cMA1ndjpzL1wv
      XCpERUJVRy4qREVCVUcuKkRFQlVHLipERUJVR1wqXC8vL2cNCgoKIixpZAk6
      IChpKW5zZXJ0IEMgZnVuY3Rpb24gKGQpZWNsYXJhdGlvbnMgaGVyZS4gCiIJ
      YXNzdW1lZCB0aGF0IGFsbCBmdW5jaXRvbnMgYW5kIG9ubHkgZnVuY3Rpb25z
      IGhhdmUgYSAieyIgb24gCiIJdGhlIGxpbmUgZm9sbG93aW5nIHRoZSBkZWZp
      bml0aW9uLiBjb2xsZWN0cyBmdW5jdGlvbiAKIglkZWZpbml0aW9ucyBmcm9t
      IGRlY2xhcmF0aW9ucy4KIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo6YXUg
      QnVmRW50ZXIgKi5jcHAsKi5jYywqLmMsKi5oIDptYXAgLGlkIG1hOi4sJGcv
      Xlt7XS9ub3JtYWwgPygWFg1WLykWFg15J2FwMC8pFhYWDWE7FhYWG21hDQoK
      CiJGCTogKEYpaW5kIEMgZGVmaW5pdGlvbiAoZm9yIHVzZSB3aXRoIENUYWdz
      KQoiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjphdSBCdWZFbnRlciAqLmNw
      cCwqLmNjLCouYywqLmggOmxldCB0YWdzdGF0ZT0wCjphdSBCdWZFbnRlciAq
      LmNwcCwqLmNjLCouYywqLmggOm1hcCBndCAdCjphdSBCdWZFbnRlciAqLmNw
      cCwqLmNjLCouYywqLmggOm1hcCAsLCxnZXR0YWcgOncNbUpndCxtOmxldCB0
      YWdzdGF0ZT0xDQo6YXUgQnVmRW50ZXIgKi5jcHAsKi5jYywqLmMsKi5oIDpt
      YXAgLCwsY2xvc2V0YWcgJ0poOmxldCB0YWdzdGF0ZT0wDQo6YXUgQnVmRW50
      ZXIgKi5jcHAsKi5jYywqLmMsKi5oIDptYXAgRiA6aWYgdGFnc3RhdGU9PTEN
      IDpub3JtYWwgLCwsY2xvc2V0YWcgDSBlbHNlIA0gbm9ybWFsICwsLGdldHRh
      ZyANIGVuZGlmDQ0KCgoJCQkJCQkgICAgICAiLS0tLS0tLS0tLS0tLS0tCgkJ
      CQkJCSAgICAgICJmb3IgaHRtbCBmaWxlczoKCQkJCQkJICAgICAgIi0tLS0t
      LS0tLS0tLS0tLQoKCiJhdQk+IFRleHR3aWR0aCAwIGZvciBodG1sCiItLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0KOmF1IEJ1ZkVudGVyICouaHRtbCA6c2V0
      IHR3PTAKCgoiYXUJPiB3cmFwIGh0bWwKIi0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLQo6YXUgQnVmRW50ZXIgKi5odG1sIDpzZXQgbm93cmFwCjphdSBCdWZF
      bnRlciAqLmh0bWwgOnN5bnRheCBvZmYKCgoJCQkJCSAgICAgICAiLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLQoJCQkJCSAgICAgICAiZm9yIGVkaXRpbmcgbXkg
      LnZpbXJjOgoJCQkJCSAgICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoK
      CiIsaWQJOiAoaSluc2VydCAoZCllY2xhcmF0aW9ucywgc3VtbWFyaXNlIC52
      aW1yYwoiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCjphdSBCdWZFbnRlciAu
      dmltcmMsX3ZpbXJjIDptYXAgLGlkIDFHLyJbLV0qWypdJA1qalYvDWtka21h
      OmcvXiJcUypcdFs+Ol0uKiQvbm9ybWFsIHl5J2FwbWENCgoKImF1CT4gdXBk
      YXRlIHRpbWUgc3RhbXAgaWYgZm91bmQgaW4gLnZpbXJjCiItLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0KOmF1IEJ1ZldyaXRlUHJlIC52aW1yYyxfdmltcmMg
      Om5vcm1hbCBteAo6YXUgQnVmV3JpdGVQcmUgLnZpbXJjLF92aW1yYyA6bm9y
      bWFsIE1teQo6YXUgQnVmV3JpdGVQcmUgLnZpbXJjLF92aW1yYyA6Zy9eImVk
      ZGllW148XSpbPF1bPl0gbGFzdCB1cGRhdGUvbm9ybWFsIDpzL1wobGFzdCB1
      cGRhdGVbXjpdKjpcKS4qL1wxICAvZQ0kLGl0CiJub3JtYWwgMGkgGy9sYXN0
      IHVwZGF0ZQ0vOg1hICAbdiRoeCxpdDB4CjphdSBCdWZXcml0ZVByZSAudmlt
      cmMsX3ZpbXJjIDpub3JtYWwgJ3kKOmF1IEJ1ZldyaXRlUHJlIC52aW1yYyxf
      dmltcmMgOm5vcm1hbCAneAoKCgoJCQkJCQkJICAgIi0tLS0tLS0tLS0KCQkJ
      CQkJCSAgICIgZnVuY3Rpb25zCgkJCQkJCQkgICAiLS0tLS0tLS0tLQoiUHVz
      aAk+IFB1c2goa2V5LCB2YWx1ZSkJYWRkIHZhbHVlIHRvIGc6aGFzaCBzdGFj
      awoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmZ1bmN0aW9uISBQdXNoKGtl
      eSwgdmFsdWUpCQoJaWYgYTprZXkhPSIiCgkJaWYgIWV4aXN0cygiZzpoYXNo
      IikJCgkJCWxldCBnOmhhc2g9e30KCQllbmRpZgoJCWxldCBnOmhhc2hbYTpr
      ZXldPWE6dmFsdWUKCQlyZXR1cm4gYTprZXkuIj0iLmE6dmFsdWUKCWVuZGlm
      CmVuZGZ1bmN0aW9uCgoKIlBvcAk+IFBvcChrZXkpCQlwb3AgdmFsdWUgZnJv
      bSBnOmhhc2ggc3RhY2sKIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpmdW5j
      dGlvbiEgUG9wKGtleSkJCglpZiBleGlzdHMoImc6aGFzaFthOmtleV0iKQkK
      CQlyZXR1cm4gZzpoYXNoW2E6a2V5XQoJZW5kaWYKCXJldHVybiAiIgplbmRm
      dW5jdGlvbgoKCiJJbmMJPiBJbmMoY291bnRlcm5hbWUpOwlsZXQgZzpjb3Vu
      dGVycz17fSB0byByZXNldAoiIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
      LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmZ1
      bmN0aW9uISBJbmMoY291bnRlcm5hbWUpCglpZiAhZXhpc3RzKCJnOmNvdW50
      ZXJzIikJCgkJbGV0IGc6Y291bnRlcnM9e30KCWVuZGlmCglpZiAhZXhpc3Rz
      KCJnOmNvdW50ZXJzW2E6Y291bnRlcm5hbWVdIikJCgkJbGV0IGc6Y291bnRl
      cnNbYTpjb3VudGVybmFtZV0gPSAwCgllbmRpZgoJbGV0IGc6Y291bnRlcnNb
      YTpjb3VudGVybmFtZV0gPSBnOmNvdW50ZXJzW2E6Y291bnRlcm5hbWVdICsg
      MQoJcmV0dXJuIGc6Y291bnRlcnNbYTpjb3VudGVybmFtZV0KZW5kZnVuY3Rp
      b24K
      ====


      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Ingo Karkat
      ... There s a plugin named mark.vim (http://www.vim.org/scripts/script.php?script_id=1238) that does this, too. (And it provides many useful mappings, etc.)
      Message 2 of 2 , Feb 3, 2009
      • 0 Attachment
        On 03-Feb-09 12:51, zlel wrote:
        > Cross reference multiple search patterns dynamically.
        > You need vim 7.0 and above for this but it comes in handy.
        > Convert ^R and ^M to their equivalent control codes or grab the mime64
        > from the bottom of the mail.
        > ...

        There's a plugin named mark.vim
        (http://www.vim.org/scripts/script.php?script_id=1238) that does this, too. (And
        it provides many useful mappings, etc.) Have you seen it?

        -- regards, ingo

        --
        -- Ingo Karkat -- /^-- /^-- /^-- /^-- /^-- /^-- http://ingo-karkat.de/ --
        --
        Through trail an error, I finally managed to write a signature.


        --~--~---------~--~----~------------~-------~--~----~
        You received this message from the "vim_dev" maillist.
        For more information, visit http://www.vim.org/maillist.php
        -~----------~----~----~----~------~----~------~--~---
      Your message has been successfully submitted and would be delivered to recipients shortly.