ÿØÿà JFIF    ÿÛ „ !.%+&8&+/1555$;@;4?.451 4,$,44444444444414444444444444444444444444444444444444ÿÀ  á á" ÿÄ     ÿÄ ?    !1AQaq"2‘¡±ÁðBRbrÑá#‚’¢²3S CñÿÄ   ÿÄ !    !1QAa‘2ÿÚ   ? 5˜Z¯V¦cø)›t/? z¨±>Õ5€¶‹Á¤·¼z¼Ü¬+ñ®v¤¨_ˆR­BFn©—˜ý®ç̝P8gýt·ÉSTŦˆìät?þé¼íìN/Þa)ì–í6ô… Ï¿øÃj´¿KÇü]ÿ ªô¹-eKànëÕHTx}ýSÜ›ÿ ”7Ø×&µ<¦  ¥ÑO¶[Ù¯ä¨ÞÃÿ PZ-¬;#õ|•oaÿ ©CìÞz3˜öː/¤­ñTûIØ}š^ mÓ%ªxˆ¥ÉŸu=Z+ISe¿45™¼u;ú&WØ÷€æßQ™®{|íx*TC“#ZŠìZ§²‹ 6pv…³¿¡äª*áZÐ%ÒOáˆo"x«OHk w±æ+¬V(kMúŸ5Vö«$ ÁrÏbàb57/luR ¸ÑÛj Òµì`Мq­û žICÀÊ•©4€Âcà¨Ï€O´<èÐ:›ù(Ë^L8þ‘ÍÌ#¸Ð_Ì©ÙK(Öz 4¬û+¸;ü’V’84‘¬ÃŽ:[â‡ÔÌáõp¢~§ªlæ£ö{®G>J¼"°‡7¯ÆÉèßû ‹É‹§ÁòÃýâßî ^ƾÙõ‹×óH#«LP½ïX=xÑÍ$|W?•~• îëÔ©ª‹ {ÝT…Kÿ ”hûâá)J*ö˜–ÔU;iÇ€/ ÆþjóZ\ýwØ=Ìm ºèËL9 ýèÆð/¨’¥öo=nË.%Îì ŽÕ¯È|{Oj²ƒE6e/ßdÄõ²Ìâ1O®ò×TsəԸhOMýíMˆ¿¼H˜l²,7Â¥#MF/Úf°Ö½± ¸–dr‹NýÊ íjqx{œÉ ä-È ¦ øÄër¨q°ð †nцýÑÄÆ’mä…n<0È™;ÁÝá¯ÁZƒ7FÀmì­ É&9ˆîéi¶ùN§Y• ÃZãAâ?•‡©‰ , ó¾IŸŠc1 4â&y­&pŠ­6;M À 0¹qç»p.á …ŸÅáK@%6·y6ƒ‰3?”úºŽ‰éX5ªPT §µ!=Mž«Ú½‹ÅgÂSâÉaþÓoö–¯ÁÔìR>5éÿ üs¶ÆUcÌ kÇR ]ÿ ù¬¼«VŽ;Â|‡~¢¦”ÏŰæ {L™Õ°Óv¹ò¸írޡעCÃ!íVÕ {¶»sŒNPg/ "uÕbkm²“$ďå¿é¹§°½æz¯6 †s¿!s–wÚÝ“™Œ °.ûj>·+™Òa…©Œ&rÝÎtÛë긪Ît’LAVp%c Úý[ÄzJ¾ÇàXXç@˜ó<êL]·T˜¾¥1Ó©V‡g´æ½¦Ý@¹óø!_@´ÞâSÁ —S3™•& ]@JHÚý©ZŽ €×æÔr»Áf!‡yÞ4Mv*èÓã_{‘åóUuљØ«Oïé*®EvÑ Œ÷‡U \"㪒ÍK+À 4“M¡ï:0¥5í!'<@î´”>Ç»&Z–ïCCV˜Ì5Šo&îhè.žû |ÓK©h$s6KìŒëã)¹hI¦GïOåóI;ììü#É$Š0…Ææ¥TØ.5­¾gn´ “ÂÖ\:hœ89G)J@„}œ:’Ò{/Š"¦_Æ×7Æ3VÇŠÊa]ÚŒÙ€Ä–=®uÁßâACZƒ§§£ Qnâ:«,×{tyø¬iÛcœÜÄ€H½ÄÍCk´÷šß .W'b¤Íåh]÷€=,Žv×cÚEÚHXJX¶îo¨FÒtèöŸ>ªª6[J®Fµ£sGÁeqõfe\íjÒÐïÄÐGˆe1Ø‹.Ø”‘Ëuø Y­ˆÜ ŽG|zùªüMpDnQWÄ”%JŠ™)â*p@Örš«ÕT2Ð%ˆG#ª„ ·¤!°ŸOTÂT¸aÚ%4&h™LµšØüÐ.F¿²ÐÞ_Ç‚¾ÅÃaÜ÷09Æ q€öy˜v‡85õN÷]¬äѼóS{°_MެúÔ#°Ç¸0åÞè2ëôPcvÆw9®ií1Ä8F™˜à‰´+‰Ik1òÝ7“Ñ×ÒsÝ\x‚h`ÞÑ`ó"|µEcý£n˜h`}GÞ !±ù²Ápü²ß6 0ïi󜵩SÈÇ7˜-ÕURO˜¦´f$ªž-Í6(œ}<„ éc øs]ŽŽ„*—¾ ìdŽ„)méª\¿êÎIg¾ØÞ~I#C/¼¼´EÁÈŽi8“©õådô·>euä ƒ'Ê×लR1ÉJE1ÐAát`t;ÇР%Ý<‡¥„ÍÆ`×Oyó)õiI€ñQaŸ4Ûù\áàaÃÔ¹HÃu¹*k€¦<„e S‡&õÏ B!ŽhüÞ`yj}mªf×\¿ Ç~æ­9‡û\՞Ǖg²1Žû5V7 !àöšm° c`ܬøÇìµÒ'P"?…´Ö,"§^•õލsÔ)6˜sæéÍR¼ ò|Sl”‹7 nPW Gòú÷½§O¯‡„l¡kSÞŒr½PÊ@æ¢pŽ-mÿ #Ÿ˜Àº¶Áä¦;ïÔæ$1££`“Õ>„—·ž)ßð³ñ#Ï Ô$¶œ‰ÊE‹À;÷º ¯«P:Ñ”8–IÊtpÞ3ª“>ê“þës4ò2OÏÕ­±zô†Õ§‰.÷ä¸;¿˜“'œ›žª}«Œ{ª±Ì 9ÔóÞÕ‡0 $íWV3Üì¬ —@kÝ4@¿r¼±½¬™›?øØæ´'Áé®CË3-g$˜ö‡×auÚi´Žp/êÛ æF›Ú2v‹ã¿¿,nB1̨ƃqÞa5͝@&Æû“él÷ \C²½UÍc ¯k×¢U ÖéQå™—-r wô ÞÏ<Ò=&=ÿ Ôê Òêˈt,i—;LîÜ á¸*ÚÃ1$êL•LÍ <É)ýÐà’ ;F™{ƒ™˜€&'}‚ãÄK`¡ÞT@I;®žZóè‚s’7®°›+§O­Åq©é»²9<Ô J ¼9O’HL»Ùïì¸rk¼Ž_ý‘TŸu[²ßÚŒ·ü÷B%¯E ŸÔX5êO´ Ç•€’I0 ÉJX` ñ¹õ%;µŸD‘«´€àwÒ™U ûئžÖö\×®×´8 ½‡ºÐÆÓ§?Àkmœ=;d5*@-ì0F Rªýš[Ü6âö̃ڸr*KA9· u*µæ£?U¸Âêí†8@¦X4 e-ò„0s{ HâUpU?¼mñRa°®a%Ð'tÉ×’\¾ÊÉ]t›h>·(Ë@R¼¡Ãt h}’O÷au<+nT…Ö…MӐ??Óe95 q>í/;&JSû °¯ÊéÞ øƒ*Ã2½Ài&:nôUl=¾¿5eˆ3”ñc|Ú2V”>„»&eE;«ÚäC p¢Û úy 9š[ŒÌx¼擼A&DåÒ¯ˆ¤ÀÌ;"˜ ÏQä¸åhÊ}Ûq«Û0WžÒ|»€ø®öCm5•\ÇÀ§Pe3£]0ÃàLDÉ‰1øªxjgwT‚÷¿LΨK‹›ùs—xˆÜ±µ kæ¸f‰‰ÜGk/LÛØ6d9ò¶ùA{ƒA3š/¬D¬khÓk‰`˜"㯒r¿±Óã jx‡°e}<Ñø\3y:'À•/h½Í€Ç4~g ?Û(¼]v‘ªlKÎâ~?O‚W%{Ì:“'©úNq¾›úo(X’¥¯ˆ nFê{Ç€ü?º'ë ø‹ì Þ09ŒÌç9Æ —ËC`j@ÓÄ(+a‹un¸#ÂꟋ{K`‘ÑÍÍ'à´»/Û,KW;Þ4²þð ï Nm|~fGÏ(…³Ã)«1ö­Õ ¥‡¨©ƒÃ™ü-s=à=U66Ï«Ýc蓦W¹íž®›nÔ%êÇìŒ<#Ü×84ån®Ð ÒåOC` ñânÑs‡¢ç 1õ%Îhì½Ã½® e:ݼUZo™`  ÅZŸŒÊ«ê1ÏÄo$q¹Þ€©ˆhÐÉä¯ñ[!…Ú˜àJ:x2$Íß&PåT£6ç— ‡Í*4Ýšçjÿ ‰É nófÐ ó(L5C•åÆ\rMÒ@ò }y-W}™üýVù—ú¢=Ù”c®‘< M ž ´Phr ¦©TD ‘ù.$´÷O‡‘V2Æò.=IUŒ=ž‡â¬i™aþÓåÙ?òUø'ØÖ•.~* šTŒ!•-×áºTâ®ä#õü'´ eýlYÅÓeÕKÂrT"CÚ@u!Óxƒ{š3€}1¿(r}%«nËamjÑ%ÑNEò v ˜à  σöK³,*º.àzù¨™Ó ÚçâU¦*¿ 9{%Ö¹ njûdaXöb) kÛÆ±ûÓ\°M7ˆÂ=û›ç¿Ã‚­V»Cg–8ÙêE- j)k$º`Ã-ùEýeBÆÇ]c¡°ñty&Òd0nõ'¡W+ƒ*|–øµFa\GQªEAÔp5\Ǽ·¼Ç8·õ -â§Ú[ ‡ uZeÖ 3}×d'+¹:ð+K†Û®s!Ï$úe€<Û”x)1»a­¡LC]¸µík…ÚàA»AYº{†ªS[¦5HÒ7ù --,ísòDØ€èk ÞÀîÜ ò@â( ËNˆë›4ô½•/¦o‡€Û7 ê•ÆêòðÜy'Án½µ á˜ݦ ndeo…[ì¶Ê,¥R³Ä=À±—–ß;£™´ñSâ*g§”ïaið‘Jå~™ÓÞ ß³Õ¢»8x埒²52>AÊb&-÷\7´éÄù€T˜,w;3{ï˜k…à¹ÄqÀ«œ{€\ ˆ¾[´¨јr &Úé„Ívˆ±8†¿]|¬ņ4I×pÞS1ÈÖz‰#Ìv‡G!YNògñ:màTz¢Ý1ô©^O=~ë|5Bã™ç•¼µõ•bÆ@úÕS¬ÈŒ#¬zünrŸ û” Z²•èðV"ÁHÚý©wÝ €7¼Ìu1hÑa3Éä û f$o¿É ™Ú›ÝçnpÒ3äÌ3†Í§,Äï]$‰/pê †«À¼¸e9­Æê_C]žƒ·ý·frÁN«, E=›Çq -‰öŒ:aÏ¿±í&£Í:-} 84‘ÿ eƒQÑeëSsuiA ³g㟥ú£?ÿ ʼn*”“÷aühe:ÊWa@ÒÞk±eØ] F Ô—r.åä˜ @ö¥ªZoÐýYL·¥S²G/‡ñ <~*ZÆ´è>JlòàÛÆ½ÿ 窘ìGN¢:I®KšJp/`íIÁÀõ#Ä-€ö­šµŒoF4|ÆQØÆ@Ì|£Ô…¢À{9˜è½Üó›€ôYÒÎYsið;ís¤€à²ˆ‚4qÉVŒI$ ‰"° æµ8cXGjœˏ¡Aâý•ËÜ¢ûï e·çLx']á"oÅÎê3¯Ç—¹”ó0nå‚âg{Œñ> S´˜îè°g238‚ãköÝfÚd´6Ò€;ò÷±¢™¼›º ¢Æ'¥Ðx'e¬ç ]bÈÆV¢ó‹kýBO ðÊâ$Ÿ!×T 3Mýמ žìٍàÌü‘8÷€àæØ8æ©6‰©L´«…oãpð„~Çk‰!ñ;‹”ÛžÍ àž±z Ÿôû øŸÝužÏ;ÿ #|u6™Þ¬ÚˆÐõA4¶â|ôl|Ê2ŽÇ¤ÝÅÇY.<#Aí.k§hóF‚”Y; M½Ö4hŸ4&›­¿tès´%FìL¥£Ãk‰ÇT¤haÁ¤ÚxfÉ`ÑìË›>i 3t‚:,–+^÷´–{Û–Nxi"x‘Ûg î¨>¥Õ܁ùZH,2Û“:8xÊ¢Çí9.É-Ìâã-=çjwµS˜dütžçwýGòú®®ûº_ˆýx$–¡ãøO EÚÛÏ÷R„×w+3£Á£öUMyR²¹âŒ°š›¸Ñãò9§Ó_Dl+Ùßc›úšGÅÌc†Ž!Ko=¶.‘Îÿ c²(2®V mª.ÿ ¹B›¹å ù„öŸSV>™ü¯$y:G¢Z×àøúdî¹û­·ýÇ´:•c LÍõi_‹ö+ÎæGÊè>OŠ•äž´§Þ{X}¨1ÚTc›»Qþ•êô°t¿OP?eæ~É{5]•ÙR£r5†nZ\ã@ &îJõ ¾àC°þV>fé¥/ü5ñÊIº_é5 ;e­h<@ Ä&æÃëE%;X,ÒãÆÞ`Oò¦kŸm#˜!ÀyÄ¢| óLšò¥Ä` ¶R=|ÈCâh5ò3DˆïF†ðÒ#ÅìÛœ?¸yhBãœí ZxßÎÄhºRK„`Þödvײ™ÀÈÑÒgŒuY w³%†ƒÓzõ ÖÏp‚dH®¦A´ù§»ÓÇMæ~)ˆð‡û:ù&Ä •vGD´À n ݇¼Ö8Fö óáà£~Ë¥x`oK|Ä?fxiØü%pìR>éò+Û±éÎ>núlFŤ'tq8LZÏvÃ?„¡ß±È⽆¯³íü@x|PöUäèØã¡ð‚ŒAìÏ"vÍwóŸÍ{ ý0.z È•Ö{,N¡£¡ŸKÕÙž>Ýœþ ÍÀ°<×EA!Å‚D™IúOÍ¡>ôG}Â` ÍßkÜL™Ž Þð™ {IøF²¹òQ3&!ÃÂÞz.d&Ï-sH¸,Ôõ˜ŽP€ 77ˆÝ¼ÊëÜw =cÕ Ú,ØÐ5ÎYÐ)ì´öœgŒ[¤ßv㙑8心>h]§µháYš£²ºÑ.{Ï7Sð•?´~×SÃKýJÛ˜ ™Íäiúu<µX¶1õ^kâçIÑ£sZ4h>j*ÔšD:4­¿_ ÷¸ Õxæÿ ¸?Mù _•­ÊÐ ä ÷ý ÑwL œ­ïnTkÛUÍN©ë:¦fV ¶ÜÔÜMªÅâA½–¿R×TXš-%iTÊT•‡Ù‚JôϐZxWÑè‰f‰òG º ×Õû2aZ7OU3[“×AT–ÞŒ…-‘¤”Ì ì&(ˆ¿­•ƒkï’:ðY¦W‘ Å)“†‘˜³Åtcø˜ñTÂwÚÇ4|üLÇªí–v- qˆèU qPE.†â‘˜µ Æ,ÐÅs]8¾„oúÑ i>ÜxxÈó)ƒ ´æÁâØ$À‰vžŸf$Ž |ãw;ÀÁIJ»b` {¦Ó¤Ú$©YÀ‘n@Óïž«9J¼êG m¤ ܯ¹ÌW4€ÐÒÅÛ‡#褕Ÿn-?í|с¥÷Ú¹¬'´ÞÜ9ÓK `hê£SÄSà?7—Wí_´…óB›»:=Ãïq`<8ñÓŒÑlú2d¬ê³£hÖ[l|$vÝro~'R®‰§°ñmY ͧäP |PUª¹·:3Œ[Û{Xÿ ºâ@‚W–Äé u‚ ¯´*=íή.pûÒdt @G‰¬ s¸ ëÉücr ÞæÑ¨Ê@>¤¢Ö±. Þ'¯°ÌME[YéïĵÂCå½ Ué©Áû'Ê9%eÔðNU”ë‘ÌsD3/®+UI˜9h.WC”빓$#:pz:YÓ ¿xž* ³$Í +$kñAŠ‹†¢ Uê>¸)_š¬÷©ßAÂÔb9ÇU ¯¾á•9¯ÏÏ÷O÷¼¼Fähal1‰3Ì[Ïr•´UCksNÐ] R‘¸¥H+§Šé†c©vÖÞ0iÓ76s†î!§=ß ¼~Ô'°Ãmäoäš³ªøi1úÉ)³yV8 CLÄØÁ‘WYïi€H6ÖÑiámø^ÈY´°Ñ7¥Û*—Ñ©L«Qƒï—Ùrÿ ›£Ð*š¸ˆL©ˆ$ˆ ÷¾D§9È®«qbqC)–ˆïv´çñsÑVT­Ø, <àïºÀO«Jý·õ àfPìð .wFšir´þ’2_Y *Æ€x\« ì€9š@ Ž|F⇥ˆkZ@hÖÄ0t¿-<“‹qµ¾*ZL¤Ú)&BJpÓF5=$„at*Zš$’ÑtdûÝRI1 2މ$€$I$#‰SÞ’Hë¬ï;Á$¡t$’`<(ñÇt)$‡Ð.Êf¢X’Kt=Éé$‚ˆªè¢oÝëòI%Rgcª÷ŠyI%¡‰ÿ !ñ)´õ $¤ Ô’IIGÿÙ" Vim syntax file " Language: cdrdao(1) TOC file " Previous Maintainer: Nikolai Weibull " Latest Revision: 2007-05-10 if exists("b:current_syntax") finish endif let s:cpo_save = &cpo set cpo&vim syn keyword cdrtocTodo \ contained \ TODO \ FIXME \ XXX \ NOTE syn cluster cdrtocCommentContents \ contains= \ cdrtocTodo, \ @Spell syn cluster cdrtocHeaderFollowsInitial \ contains= \ cdrtocHeaderCommentInitial, \ cdrtocHeaderCatalog, \ cdrtocHeaderTOCType, \ cdrtocHeaderCDText, \ cdrtocTrack syn match cdrtocHeaderBegin \ nextgroup=@cdrtocHeaderFollowsInitial \ skipwhite skipempty \ '\%^' let s:mmssff_pattern = '\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\>' let s:byte_pattern = '\<\%([01]\=\d\{1,2}\|2\%([0-4]\d\|5[0-5]\)\)\>' let s:length_pattern = '\%(\%([0-5]\d\|\d\):\%([0-5]\d\|\d\):\%([0-6]\d\|7[0-5]\|\d\)\|\d\+\)\>' function s:def_comment(name, nextgroup) execute 'syn match' a:name \ 'nextgroup=' . a:nextgroup . ',' . a:name \ 'skipwhite skipempty' \ 'contains=@cdrtocCommentContents' \ 'contained' \ "'//.*$'" execute 'hi def link' a:name 'cdrtocComment' endfunction function s:def_keywords(name, nextgroup, keywords) let comment_group = a:name . 'FollowComment' execute 'syn keyword' a:name \ 'nextgroup=' . a:nextgroup . ',' . comment_group \ 'skipwhite skipempty' \ 'contained' \ join(a:keywords) call s:def_comment(comment_group, a:nextgroup) endfunction function s:def_keyword(name, nextgroup, keyword) call s:def_keywords(a:name, a:nextgroup, [a:keyword]) endfunction " NOTE: Pattern needs to escape any “@”s. function s:def_match(name, nextgroup, pattern) let comment_group = a:name . 'FollowComment' execute 'syn match' a:name \ 'nextgroup=' . a:nextgroup . ',' . comment_group \ 'skipwhite skipempty' \ 'contained' \ '@' . a:pattern . '@' call s:def_comment(comment_group, a:nextgroup) endfunction function s:def_region(name, nextgroup, start, skip, end, matchgroup, contains) let comment_group = a:name . 'FollowComment' execute 'syn region' a:name \ 'nextgroup=' . a:nextgroup . ',' . comment_group \ 'skipwhite skipempty' \ 'contained' \ 'matchgroup=' . a:matchgroup \ 'contains=' . a:contains \ 'start=@' . a:start . '@' \ (a:skip != "" ? ('skip=@' . a:skip . '@') : "") \ 'end=@' . a:end . '@' call s:def_comment(comment_group, a:nextgroup) endfunction call s:def_comment('cdrtocHeaderCommentInitial', '@cdrtocHeaderFollowsInitial') call s:def_keyword('cdrtocHeaderCatalog', 'cdrtocHeaderCatalogNumber', 'CATALOG') call s:def_match('cdrtocHeaderCatalogNumber', '@cdrtocHeaderFollowsInitial', '"\d\{13\}"') call s:def_keywords('cdrtocHeaderTOCType', '@cdrtocHeaderFollowsInitial', ['CD_DA', 'CD_ROM', 'CD_ROM_XA']) call s:def_keyword('cdrtocHeaderCDText', 'cdrtocHeaderCDTextStart', 'CD_TEXT') " TODO: Actually, language maps aren’t required by TocParser.g, but let’s keep " things simple (and in agreement with what the manual page says). call s:def_match('cdrtocHeaderCDTextStart', 'cdrtocHeaderCDTextLanguageMap', '{') call s:def_keyword('cdrtocHeaderCDTextLanguageMap', 'cdrtocHeaderLanguageMapStart', 'LANGUAGE_MAP') call s:def_match('cdrtocHeaderLanguageMapStart', 'cdrtocHeaderLanguageMapLanguageNumber', '{') call s:def_match('cdrtocHeaderLanguageMapLanguageNumber', 'cdrtocHeaderLanguageMapColon', '\<[0-7]\>') call s:def_match('cdrtocHeaderLanguageMapColon', 'cdrtocHeaderLanguageMapCountryCode,cdrtocHeaderLanguageMapCountryCodeName', ':') syn cluster cdrtocHeaderLanguageMapCountryCodeFollow \ contains= \ cdrtocHeaderLanguageMapLanguageNumber, \ cdrtocHeaderLanguageMapEnd call s:def_match('cdrtocHeaderLanguageMapCountryCode', \ '@cdrtocHeaderLanguageMapCountryCodeFollow', \ s:byte_pattern) call s:def_keyword('cdrtocHeaderLanguageMapCountryCodeName', \ '@cdrtocHeaderLanguageMapCountryCodeFollow', \ 'EN') call s:def_match('cdrtocHeaderLanguageMapEnd', \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', \ '}') call s:def_keyword('cdrtocHeaderLanguage', 'cdrtocHeaderLanguageNumber', 'LANGUAGE') call s:def_match('cdrtocHeaderLanguageNumber', 'cdrtocHeaderLanguageStart', '\<[0-7]\>') call s:def_match('cdrtocHeaderLanguageStart', \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', \ '{') syn cluster cdrtocHeaderCDTextData \ contains= \ cdrtocHeaderCDTextDataString, \ cdrtocHeaderCDTextDataBinaryStart call s:def_keywords('cdrtocHeaderCDTextItem', \ '@cdrtocHeaderCDTextData', \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', \ 'ARRANGER', 'MESSAGE', 'DISC_ID', 'GENRE', 'TOC_INFO1', \ 'TOC_INFO2', 'UPC_EAN', 'ISRC', 'SIZE_INFO']) call s:def_region('cdrtocHeaderCDTextDataString', \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', \ '"', \ '\\\\\|\\"', \ '"', \ 'cdrtocHeaderCDTextDataStringDelimiters', \ 'cdrtocHeaderCDTextDataStringSpecialChar') syn match cdrtocHeaderCDTextDataStringSpecialChar \ contained \ display \ '\\\%(\o\o\o\|["\\]\)' call s:def_match('cdrtocHeaderCDTextDataBinaryStart', \ 'cdrtocHeaderCDTextDataBinaryInteger', \ '{') call s:def_match('cdrtocHeaderCDTextDataBinaryInteger', \ 'cdrtocHeaderCDTextDataBinarySeparator,cdrtocHeaderCDTextDataBinaryEnd', \ s:byte_pattern) call s:def_match('cdrtocHeaderCDTextDataBinarySeparator', \ 'cdrtocHeaderCDTextDataBinaryInteger', \ ',') call s:def_match('cdrtocHeaderCDTextDataBinaryEnd', \ 'cdrtocHeaderCDTextItem,cdrtocHeaderLanguageEnd', \ '}') call s:def_match('cdrtocHeaderLanguageEnd', \ 'cdrtocHeaderLanguage,cdrtocHeaderCDTextEnd', \ '}') call s:def_match('cdrtocHeaderCDTextEnd', \ 'cdrtocTrack', \ '}') syn cluster cdrtocTrackFollow \ contains= \ @cdrtocTrackFlags, \ cdrtocTrackCDText, \ cdrtocTrackPregap, \ @cdrtocTrackContents call s:def_keyword('cdrtocTrack', 'cdrtocTrackMode', 'TRACK') call s:def_keywords('cdrtocTrackMode', \ 'cdrtocTrackSubChannelMode,@cdrtocTrackFollow', \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) call s:def_keywords('cdrtocTrackSubChannelMode', \ '@cdrtocTrackFollow', \ ['RW', 'RW_RAW']) syn cluster cdrtocTrackFlags \ contains= \ cdrtocTrackFlagNo, \ cdrtocTrackFlagCopy, \ cdrtocTrackFlagPreEmphasis, \ cdrtocTrackFlag call s:def_keyword('cdrtocTrackFlagNo', \ 'cdrtocTrackFlagCopy,cdrtocTrackFlagPreEmphasis', \ 'NO') call s:def_keyword('cdrtocTrackFlagCopy', '@cdrtocTrackFollow', 'COPY') call s:def_keyword('cdrtocTrackFlagPreEmphasis', '@cdrtocTrackFollow', 'PRE_EMPHASIS') call s:def_keywords('cdrtocTrackFlag', \ '@cdrtocTrackFollow', \ ['TWO_CHANNEL_AUDIO', 'FOUR_CHANNEL_AUDIO']) call s:def_keyword('cdrtocTrackFlag', 'cdrtocTrackISRC', 'ISRC') call s:def_match('cdrtocTrackISRC', \ '@cdrtocTrackFollow', \ '"[[:upper:][:digit:]]\{5}\d\{7}"') call s:def_keyword('cdrtocTrackCDText', 'cdrtocTrackCDTextStart', 'CD_TEXT') call s:def_match('cdrtocTrackCDTextStart', 'cdrtocTrackCDTextLanguage', '{') call s:def_keyword('cdrtocTrackCDTextLanguage', 'cdrtocTrackCDTextLanguageNumber', 'LANGUAGE') call s:def_match('cdrtocTrackCDTextLanguageNumber', 'cdrtocTrackCDTextLanguageStart', '\<[0-7]\>') call s:def_match('cdrtocTrackCDTextLanguageStart', \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', \ '{') syn cluster cdrtocTrackCDTextData \ contains= \ cdrtocTrackCDTextDataString, \ cdrtocTrackCDTextDataBinaryStart call s:def_keywords('cdrtocTrackCDTextItem', \ '@cdrtocTrackCDTextData', \ ['TITLE', 'PERFORMER', 'SONGWRITER', 'COMPOSER', 'ARRANGER', \ 'MESSAGE', 'ISRC']) call s:def_region('cdrtocTrackCDTextDataString', \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', \ '"', \ '\\\\\|\\"', \ '"', \ 'cdrtocTrackCDTextDataStringDelimiters', \ 'cdrtocTrackCDTextDataStringSpecialChar') syn match cdrtocTrackCDTextDataStringSpecialChar \ contained \ display \ '\\\%(\o\o\o\|["\\]\)' call s:def_match('cdrtocTrackCDTextDataBinaryStart', \ 'cdrtocTrackCDTextDataBinaryInteger', \ '{') call s:def_match('cdrtocTrackCDTextDataBinaryInteger', \ 'cdrtocTrackCDTextDataBinarySeparator,cdrtocTrackCDTextDataBinaryEnd', \ s:byte_pattern) call s:def_match('cdrtocTrackCDTextDataBinarySeparator', \ 'cdrtocTrackCDTextDataBinaryInteger', \ ',') call s:def_match('cdrtocTrackCDTextDataBinaryEnd', \ 'cdrtocTrackCDTextItem,cdrtocTrackCDTextLanguageEnd', \ '}') call s:def_match('cdrtocTrackCDTextLanguageEnd', \ 'cdrtocTrackCDTextLanguage,cdrtocTrackCDTextEnd', \ '}') call s:def_match('cdrtocTrackCDTextEnd', \ 'cdrtocTrackPregap,@cdrtocTrackContents', \ '}') call s:def_keyword('cdrtocTrackPregap', 'cdrtocTrackPregapMMSSFF', 'PREGAP') call s:def_match('cdrtocTrackPregapMMSSFF', \ '@cdrtocTrackContents', \ s:mmssff_pattern) syn cluster cdrtocTrackContents \ contains= \ cdrtocTrackSubTrack, \ cdrtocTrackMarker syn cluster cdrtocTrackContentsFollow \ contains= \ @cdrtocTrackContents, \ cdrtocTrackIndex, \ cdrtocTrack call s:def_keywords('cdrtocTrackSubTrack', \ 'cdrtocTrackSubTrackFileFilename', \ ['FILE', 'AUDIOFILE']) call s:def_region('cdrtocTrackSubTrackFileFilename', \ 'cdrtocTrackSubTrackFileStart', \ '"', \ '\\\\\|\\"', \ '"', \ 'cdrtocTrackSubTrackFileFilenameDelimiters', \ 'cdrtocTrackSubTrackFileFilenameSpecialChar') syn match cdrtocTrackSubTrackFileFilenameSpecialChar \ contained \ display \ '\\\%(\o\o\o\|["\\]\)' call s:def_match('cdrtocTrackSubTrackFileStart', \ 'cdrtocTrackSubTrackFileLength,@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_match('cdrtocTrackSubTrackFileLength', \ '@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentDatafileFilename', 'DATAFILE') call s:def_region('cdrtocTrackSubTrackDatafileFilename', \ 'cdrtocTrackSubTrackDatafileLength', \ '"', \ '\\\\\|\\"', \ '"', \ 'cdrtocTrackSubTrackDatafileFilenameDelimiters', \ 'cdrtocTrackSubTrackDatafileFilenameSpecialChar') syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar \ contained \ display \ '\\\%(\o\o\o\|["\\]\)' call s:def_match('cdrtocTrackDatafileLength', \ '@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackContentFifoFilename', 'DATAFILE') call s:def_region('cdrtocTrackSubTrackFifoFilename', \ 'cdrtocTrackSubTrackFifoLength', \ '"', \ '\\\\\|\\"', \ '"', \ 'cdrtocTrackSubTrackFifoFilenameDelimiters', \ 'cdrtocTrackSubTrackFifoFilenameSpecialChar') syn match cdrtocTrackSubTrackdatafileFilenameSpecialChar \ contained \ display \ '\\\%(\o\o\o\|["\\]\)' call s:def_match('cdrtocTrackFifoLength', \ '@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_keyword('cdrtocTrackSubTrack', 'cdrtocTrackSilenceLength', 'SILENCE') call s:def_match('cdrtocTrackSilenceLength', \ '@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_keyword('cdrtocTrackSubTrack', \ 'cdrtocTrackSubTrackZeroDataMode,' . \ 'cdrtocTrackSubTrackZeroDataSubChannelMode,' . \ 'cdrtocTrackSubTrackZeroDataLength', \ 'ZERO') call s:def_keywords('cdrtocTrackSubTrackZeroDataMode', \ 'cdrtocTrackSubTrackZeroSubChannelMode,cdrtocTrackSubTrackZeroDataLength', \ ['AUDIO', 'MODE1', 'MODE1_RAW', 'MODE2', 'MODE2_FORM1', \ 'MODE2_FORM2', 'MODE2_FORM_MIX', 'MODE2_RAW']) call s:def_keywords('cdrtocTrackSubTrackZeroDataSubChannelMode', \ 'cdrtocTrackSubTrackZeroDataLength', \ ['RW', 'RW_RAW']) call s:def_match('cdrtocTrackSubTrackZeroDataLength', \ '@cdrtocTrackContentsFollow', \ s:length_pattern) call s:def_keyword('cdrtocTrackMarker', \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerStartMMSSFF', \ 'START') call s:def_match('cdrtocTrackMarkerStartMMSSFF', \ '@cdrtocTrackContentsFollow', \ s:mmssff_pattern) call s:def_keyword('cdrtocTrackMarker', \ '@cdrtocTrackContentsFollow,cdrtocTrackMarkerEndMMSSFF', \ 'END') call s:def_match('cdrtocTrackMarkerEndMMSSFF', \ '@cdrtocTrackContentsFollow', \ s:mmssff_pattern) call s:def_keyword('cdrtocTrackIndex', 'cdrtocTrackIndexMMSSFF', 'INDEX') call s:def_match('cdrtocTrackIndexMMSSFF', \ 'cdrtocTrackIndex,cdrtocTrack', \ s:mmssff_pattern) delfunction s:def_region delfunction s:def_match delfunction s:def_keyword delfunction s:def_keywords delfunction s:def_comment syn sync fromstart hi def link cdrtocKeyword Keyword hi def link cdrtocHeaderKeyword cdrtocKeyword hi def link cdrtocHeaderCDText cdrtocHeaderKeyword hi def link cdrtocDelimiter Delimiter hi def link cdrtocCDTextDataBinaryEnd cdrtocDelimiter hi def link cdrtocHeaderCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd hi def link cdrtocNumber Number hi def link cdrtocCDTextDataBinaryInteger cdrtocNumber hi def link cdrtocHeaderCDTextDataBinaryInteger cdrtocCDTextDataBinaryInteger hi def link cdrtocCDTextDataBinarySeparator cdrtocDelimiter hi def link cdrtocHeaderCDTextDataBinarySeparator cdrtocCDTextDataBinarySeparator hi def link cdrtocCDTextDataBinaryStart cdrtocDelimiter hi def link cdrtocHeaderCDTextDataBinaryStart cdrtocCDTextDataBinaryStart hi def link cdrtocString String hi def link cdrtocCDTextDataString cdrtocString hi def link cdrtocHeaderCDTextDataString cdrtocCDTextDataString hi def link cdrtocCDTextDataStringDelimiters cdrtocDelimiter hi def link cdrtocHeaderCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters hi def link cdrtocCDTextDataStringSpecialChar SpecialChar hi def link cdrtocHeaderCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar hi def link cdrtocCDTextEnd cdrtocDelimiter hi def link cdrtocHeaderCDTextEnd cdrtocCDTextEnd hi def link cdrtocType Type hi def link cdrtocCDTextItem cdrtocType hi def link cdrtocHeaderCDTextItem cdrtocCDTextItem hi def link cdrtocHeaderCDTextLanguageMap cdrtocHeaderKeyword hi def link cdrtocCDTextStart cdrtocDelimiter hi def link cdrtocHeaderCDTextStart cdrtocCDTextStart hi def link cdrtocHeaderCatalog cdrtocHeaderKeyword hi def link cdrtocHeaderCatalogNumber cdrtocString hi def link cdrtocComment Comment hi def link cdrtocHeaderCommentInitial cdrtocComment hi def link cdrtocHeaderLanguage cdrtocKeyword hi def link cdrtocLanguageEnd cdrtocDelimiter hi def link cdrtocHeaderLanguageEnd cdrtocLanguageEnd hi def link cdrtocHeaderLanguageMapColon cdrtocDelimiter hi def link cdrtocIdentifier Identifier hi def link cdrtocHeaderLanguageMapCountryCode cdrtocNumber hi def link cdrtocHeaderLanguageMapCountryCodeName cdrtocIdentifier hi def link cdrtocHeaderLanguageMapEnd cdrtocDelimiter hi def link cdrtocHeaderLanguageMapLanguageNumber cdrtocNumber hi def link cdrtocHeaderLanguageMapStart cdrtocDelimiter hi def link cdrtocLanguageNumber cdrtocNumber hi def link cdrtocHeaderLanguageNumber cdrtocLanguageNumber hi def link cdrtocLanguageStart cdrtocDelimiter hi def link cdrtocHeaderLanguageStart cdrtocLanguageStart hi def link cdrtocHeaderTOCType cdrtocType hi def link cdrtocTodo Todo hi def link cdrtocTrackKeyword cdrtocKeyword hi def link cdrtocTrack cdrtocTrackKeyword hi def link cdrtocTrackCDText cdrtocTrackKeyword hi def link cdrtocTrackCDTextDataBinaryEnd cdrtocHeaderCDTextDataBinaryEnd hi def link cdrtocTrackCDTextDataBinaryInteger cdrtocHeaderCDTextDataBinaryInteger hi def link cdrtocTrackCDTextDataBinarySeparator cdrtocHeaderCDTextDataBinarySeparator hi def link cdrtocTrackCDTextDataBinaryStart cdrtocHeaderCDTextDataBinaryStart hi def link cdrtocTrackCDTextDataString cdrtocHeaderCDTextDataString hi def link cdrtocTrackCDTextDataStringDelimiters cdrtocCDTextDataStringDelimiters hi def link cdrtocTrackCDTextDataStringSpecialChar cdrtocCDTextDataStringSpecialChar hi def link cdrtocTrackCDTextEnd cdrtocCDTextEnd hi def link cdrtocTrackCDTextItem cdrtocCDTextItem hi def link cdrtocTrackCDTextStart cdrtocCDTextStart hi def link cdrtocLength cdrtocNumber hi def link cdrtocTrackDatafileLength cdrtocLength hi def link cdrtocTrackFifoLength cdrtocLength hi def link cdrtocPreProc PreProc hi def link cdrtocTrackFlag cdrtocPreProc hi def link cdrtocTrackFlagCopy cdrtocTrackFlag hi def link cdrtocSpecial Special hi def link cdrtocTrackFlagNo cdrtocSpecial hi def link cdrtocTrackFlagPreEmphasis cdrtocTrackFlag hi def link cdrtocTrackISRC cdrtocTrackFlag hi def link cdrtocTrackIndex cdrtocTrackKeyword hi def link cdrtocMMSSFF cdrtocLength hi def link cdrtocTrackIndexMMSSFF cdrtocMMSSFF hi def link cdrtocTrackCDTextLanguage cdrtocTrackKeyword hi def link cdrtocTrackCDTextLanguageEnd cdrtocLanguageEnd hi def link cdrtocTrackCDTextLanguageNumber cdrtocLanguageNumber hi def link cdrtocTrackCDTextLanguageStart cdrtocLanguageStart hi def link cdrtocTrackContents StorageClass hi def link cdrtocTrackMarker cdrtocTrackContents hi def link cdrtocTrackMarkerEndMMSSFF cdrtocMMSSFF hi def link cdrtocTrackMarkerStartMMSSFF cdrtocMMSSFF hi def link cdrtocTrackMode Type hi def link cdrtocTrackPregap cdrtocTrackContents hi def link cdrtocTrackPregapMMSSFF cdrtocMMSSFF hi def link cdrtocTrackSilenceLength cdrtocLength hi def link cdrtocTrackSubChannelMode cdrtocPreProc hi def link cdrtocTrackSubTrack cdrtocTrackContents hi def link cdrtocFilename cdrtocString hi def link cdrtocTrackSubTrackDatafileFilename cdrtocFilename hi def link cdrtocTrackSubTrackDatafileFilenameDelimiters cdrtocTrackSubTrackDatafileFilename hi def link cdrtocSpecialChar SpecialChar hi def link cdrtocTrackSubTrackDatafileFilenameSpecialChar cdrtocSpecialChar hi def link cdrtocTrackSubTrackDatafileLength cdrtocLength hi def link cdrtocTrackSubTrackFifoFilename cdrtocFilename hi def link cdrtocTrackSubTrackFifoFilenameDelimiters cdrtocTrackSubTrackFifoFilename hi def link cdrtocTrackSubTrackFifoFilenameSpecialChar cdrtocSpecialChar hi def link cdrtocTrackSubTrackFifoLength cdrtocLength hi def link cdrtocTrackSubTrackFileFilename cdrtocFilename hi def link cdrtocTrackSubTrackFileFilenameDelimiters cdrtocTrackSubTrackFileFilename hi def link cdrtocTrackSubTrackFileFilenameSpecialChar cdrtocSpecialChar hi def link cdrtocTrackSubTrackFileLength cdrtocLength hi def link cdrtocTrackSubTrackFileStart cdrtocLength hi def link cdrtocTrackSubTrackZeroDataLength cdrtocLength hi def link cdrtocTrackSubTrackZeroDataMode Type hi def link cdrtocTrackSubTrackZeroDataSubChannelMode cdrtocPreProc hi def link cdrtocTrackSubTrackdatafileFilenameSpecialChar cdrtocSpecialChar let b:current_syntax = "cdrtoc" let &cpo = s:cpo_save unlet s:cpo_save