=========================================================== .___ __ __ _________________ __ __ __| _/|__|/ |_ / ___\_` __ \__ \ | | \/ __ | | \\_ __\ / /_/ > | \// __ \| | / /_/ | | || | \___ /|__| (____ /____/\____ | |__||__| /_____/ \/ \/ grep rough audit - static analysis tool v2.8 written by @Wireghoul =================================[justanotherhacker.com]=== php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shBrushDelphi.js-23- { php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shBrushDelphi.js:24: var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shBrushDelphi.js-25- 'case char class comp const constructor currency destructor div do double ' + ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shCore.js-16- */ php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shCore.js:17:eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('K M;I(M)1S 2U("2a\'t 4k M 4K 2g 3l 4G 4H");(6(){6 r(f,e){I(!M.1R(f))1S 3m("3s 15 4R");K a=f.1w;f=M(f.1m,t(f)+(e||""));I(a)f.1w={1m:a.1m,19:a.19?a.19.1a(0):N};H f}6 t(f){H(f.1J?"g":"")+(f.4s?"i":"")+(f.4p?"m":"")+(f.4v?"x":"")+(f.3n?"y":"")}6 B(f,e,a,b){K c=u.L,d,h,g;v=R;5K{O(;c--;){g=u[c];I(a&g.3r&&(!g.2p||g.2p.W(b))){g.2q.12=e;I((h=g.2q.X(f))&&h.P===e){d={3k:g.2b.W(b,h,a),1C:h};1N}}}}5v(i){1S i}5q{v=11}H d}6 p(f,e,a){I(3b.Z.1i)H f.1i(e,a);O(a=a||0;a<f.L;a++)I(f[a]===e)H a;H-1}M=6(f,e){K a=[],b=M.1B,c=0,d,h;I(M.1R(f)){I(e!==1d)1S 3m("2a\'t 5r 5I 5F 5B 5C 15 5E 5p");H r(f)}I(v)1S 2U("2a\'t W 3l M 59 5m 5g 5x 5i");e=e||"";O(d={2N:11,19:[],2K:6(g){H e.1i(g)>-1},3d:6(g){e+=g}};c<f.L;)I(h=B(f,c,b,d)){a.U(h.3k);c+=h.1C[0].L||1}Y I(h=n.X.W(z[b],f.1a(c))){a.U(h[0]);c+=h[0].L}Y{h=f.3a(c);I(h==="[")b=M.2I;Y I(h==="]")b=M.1B;a.U(h);c++}a=15(a.1K(""),n.Q.W(e,w,""));a.1w={1m:f,19:d.2N?d.19:N};H a};M.3v="1.5.0";M.2I=1;M.1B=2;K C=/\\$(?:(\\d\\d?|[$&`\'])|{([$\\w]+)})/g,w=/[^5h]+|([\\s\\S])(?=[\\s\\S]*\\1)/g,A=/^(?:[?*+]|{\\d+(?:,\\d*)?})\\??/,v=11,u=[],n={X:15.Z.X,1A:15.Z.1A,1C:1r.Z.1C,Q:1r.Z.Q,1e:1r.Z.1e},x=n.X.W(/()??/,"")[1]===1d,D=6(){K f=/^/g;n.1A.W(f,"");H!f.12}(),y=6(){K f=/x/g;n.Q.W("x",f,"");H!f.12}(),E=15.Z.3n!==1d,z={};z[M.2I]=/^(?:\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S]))/;z[M.1B]=/^(?:\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\29-26-f]{2}|u[\\29-26-f]{4}|c[A-3o-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??)/;M.1h=6(f,e,a,b){u.U({2q:r(f,"g"+(E?"y":"")),2b:e,3r:a||M.1B,2p:b||N})};M.2n=6(f,e){K a=f+"/"+(e||"");H M.2n[a]||(M.2n[a]=M(f,e))};M.3c=6(f){H r(f,"g")};M.5l=6(f){H f.Q(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g,"\\\\$&")};M.5e=6(f,e,a,b){e=r(e,"g"+(b&&E?"y":""));e.12=a=a||0;f=e.X(f);H b?f&&f.P===a?f:N:f};M.3q=6(){M.1h=6(){1S 2U("2a\'t 55 1h 54 3q")}};M.1R=6(f){H 53.Z.1q.W(f)==="[2m 15]"};M.3p=6(f,e,a,b){O(K c=r(e,"g"),d=-1,h;h=c.X(f);){a.W(b,h,++d,f,c);c.12===h.P&&c.12++}I(e.1J)e.12=0};M.57=6(f,e){H 6 a(b,c){K d=e[c].1I?e[c]:{1I:e[c]},h=r(d.1I,"g"),g=[],i;O(i=0;i<b.L;i++)M.3p(b[i],h,6(k){g.U(d.3j?k[d.3j]||"":k[0])});H c===e.L-1||!g.L?g:a(g,c+1)}([f],0)};15.Z.1p=6(f,e){H J.X(e[0])};15.Z.W=6(f,e){H J.X(e)};15.Z.X=6(f){K e=n.X.1p(J,14),a;I(e){I(!x&&e.L>1&&p(e,"")>-1){a=15(J.1m,n.Q.W(t(J),"g",""));n.Q.W(f.1a(e.P),a,6(){O(K c=1;c<14.L-2;c++)I(14[c]===1d)e[c]=1d})}I(J.1w&&J.1w.19)O(K b=1;b<e.L;b++)I(a=J.1w.19[b-1])e[a]=e[b];!D&&J.1J&&!e[0].L&&J.12>e.P&&J.12--}H e};I(!D)15.Z.1A=6(f){(f=n.X.W(J,f))&&J.1J&&!f[0].L&&J.12>f.P&&J.12--;H!!f};1r.Z.1C=6(f){M.1R(f)||(f=15(f));I(f.1J){K e=n.1C.1p(J,14);f.12=0;H e}H f.X(J)};1r.Z.Q=6(f,e){K a=M.1R(f),b,c;I(a&&1j e.58()==="3f"&&e.1i("${")===-1&&y)H n.Q.1p(J,14);I(a){I(f.1w)b=f.1w.19}Y f+="";I(1j e==="6")c=n.Q.W(J,f,6(){I(b){14[0]=1f 1r(14[0]);O(K d=0;d<b.L;d++)I(b[d])14[0][b[d]]=14[d+1]}I(a&&f.1J)f.12=14[14.L-2]+14[0].L;H e.1p(N,14)});Y{c=J+"";c=n.Q.W(c,f,6(){K d=14;H n.Q.W(e,C,6(h,g,i){I(g)5b(g){24"$":H"$";24"&":H d[0];24"`":H d[d.L-1].1a(0,d[d.L-2]);24"\'":H d[d.L-1].1a(d[d.L-2]+d[0].L);5a:i="";g=+g;I(!g)H h;O(;g>d.L-3;){i=1r.Z.1a.W(g,-1)+i;g=1Q.3i(g/10)}H(g?d[g]||"":"$")+i}Y{g=+i;I(g<=d.L-3)H d[g];g=b?p(b,i):-1;H g>-1?d[g+1]:h}})})}I(a&&f.1J)f.12=0;H c};1r.Z.1e=6(f,e){I(!M.1R(f))H n.1e.1p(J,14);K a=J+"",b=[],c=0,d,h;I(e===1d||+e<0)e=5D;Y{e=1Q.3i(+e);I(!e)H[]}O(f=M.3c(f);d=f.X(a);){I(f.12>c){b.U(a.1a(c,d.P));d.L>1&&d.P<a.L&&3b.Z.U.1p(b,d.1a(1));h=d[0].L;c=f.12;I(b.L>=e)1N}f.12===d.P&&f.12++}I(c===a.L){I(!n.1A.W(f,"")||h)b.U("")}Y b.U(a.1a(c));H b.L>e?b.1a(0,e):b};M.1h(/\\(\\?#[^)]*\\)/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"});M.1h(/\\((?!\\?)/,6(){J.19.U(N);H"("});M.1h(/\\(\\?<([$\\w]+)>/,6(f){J.19.U(f[1]);J.2N=R;H"("});M.1h(/\\\\k<([\\w$]+)>/,6(f){K e=p(J.19,f[1]);H e>-1?"\\\\"+(e+1)+(3R(f.2S.3a(f.P+f[0].L))?"":"(?:)"):f[0]});M.1h(/\\[\\^?]/,6(f){H f[0]==="[]"?"\\\\b\\\\B":"[\\\\s\\\\S]"});M.1h(/^\\(\\?([5A]+)\\)/,6(f){J.3d(f[1]);H""});M.1h(/(?:\\s+|#.*)+/,6(f){H n.1A.W(A,f.2S.1a(f.P+f[0].L))?"":"(?:)"},M.1B,6(){H J.2K("x")});M.1h(/\\./,6(){H"[\\\\s\\\\S]"},M.1B,6(){H J.2K("s")})})();1j 2e!="1d"&&(2e.M=M);K 1v=6(){6 r(a,b){a.1l.1i(b)!=-1||(a.1l+=" "+b)}6 t(a){H a.1i("3e")==0?a:"3e"+a}6 B(a){H e.1Y.2A[t(a)]}6 p(a,b,c){I(a==N)H N;K d=c!=R?a.3G:[a.2G],h={"#":"1c",".":"1l"}[b.1o(0,1)]||"3h",g,i;g=h!="3h"?b.1o(1):b.5u();I((a[h]||"").1i(g)!=-1)H a;O(a=0;d&&a<d.L&&i==N;a++)i=p(d[a],b,c);H i}6 C(a,b){K c={},d;O(d 2g a)c[d]=a[d];O(d 2g b)c[d]=b[d];H c}6 w(a,b,c,d){6 h(g){g=g||1P.5y;I(!g.1F){g.1F=g.52;g.3N=6(){J.5w=11}}c.W(d||1P,g)}a.3g?a.3g("4U"+b,h):a.4y(b,h,11)}6 A(a,b){K c=e.1Y.2j,d=N;I(c==N){c={};O(K h 2g e.1U){K g=e.1U[h];d=g.4x;I(d!=N){g.1V=h.4w();O(g=0;g<d.L;g++)c[d[g]]=h}}e.1Y.2j=c}d=e.1U[c[a]];d==N&&b!=11&&1P.1X(e.13.1x.1X+(e.13.1x.3E+a));H d}6 v(a,b){O(K c=a.1e("\\n"),d=0;d<c.L;d++)c[d]=b(c[d],d);H c.1K("\\n")}6 u(a,b){I(a==N||a.L==0||a=="\\n")H a;a=a.Q(/</g,"&1y;");a=a.Q(/ {2,}/g,6(c){O(K d="",h=0;h<c.L-1;h++)d+=e.13.1W;H d+" "});I(b!=N)a=v(a,6(c){I(c.L==0)H"";K d="";c=c.Q(/^(&2s;| )+/,6(h){d=h;H""});I(c.L==0)H d;H d+\'<17 1g="\'+b+\'">\'+c+"</17>"});H a}6 n(a,b){a.1e("\\n");O(K c="",d=0;d<50;d++)c+=" ";H a=v(a,6(h){I(h.1i("\\t")==-1)H h;O(K g=0;(g=h.1i("\\t"))!=-1;)h=h.1o(0,g)+c.1o(0,b-g%b)+h.1o(g+1,h.L);H h})}6 x(a){H a.Q(/^\\s+|\\s+$/g,"")}6 D(a,b){I(a.P<b.P)H-1;Y I(a.P>b.P)H 1;Y I(a.L<b.L)H-1;Y I(a.L>b.L)H 1;H 0}6 y(a,b){6 c(k){H k[0]}O(K d=N,h=[],g=b.2D?b.2D:c;(d=b.1I.X(a))!=N;){K i=g(d,b);I(1j i=="3f")i=[1f e.2L(i,d.P,b.23)];h=h.1O(i)}H h}6 E(a){K b=/(.*)((&1G;|&1y;).*)/;H a.Q(e.3A.3M,6(c){K d="",h=N;I(h=b.X(c)){c=h[1];d=h[2]}H\'<a 2h="\'+c+\'">\'+c+"</a>"+d})}6 z(){O(K a=1E.36("1k"),b=[],c=0;c<a.L;c++)a[c].3s=="20"&&b.U(a[c]);H b}6 f(a){a=a.1F;K b=p(a,".20",R);a=p(a,".3O",R);K c=1E.4i("3t");I(!(!a||!b||p(a,"3t"))){B(b.1c);r(b,"1m");O(K d=a.3G,h=[],g=0;g<d.L;g++)h.U(d[g].4z||d[g].4A);h=h.1K("\\r");c.39(1E.4D(h));a.39(c);c.2C();c.4C();w(c,"4u",6(){c.2G.4E(c);b.1l=b.1l.Q("1m","")})}}I(1j 3F!="1d"&&1j M=="1d")M=3F("M").M;K e={2v:{"1g-27":"","2i-1s":1,"2z-1s-2t":11,1M:N,1t:N,"42-45":R,"43-22":4,1u:R,16:R,"3V-17":R,2l:11,"41-40":R,2k:11,"1z-1k":11},13:{1W:"&2s;",2M:R,46:11,44:11,34:"4n",1x:{21:"4o 1m",2P:"?",1X:"1v\\n\\n",3E:"4r\'t 4t 1D O: ",4g:"4m 4B\'t 51 O 1z-1k 4F: ",37:\'<!4T 1z 4S "-//4V//3H 4W 1.0 4Z//4Y" "1Z://2y.3L.3K/4X/3I/3H/3I-4P.4J"><1z 4I="1Z://2y.3L.3K/4L/5L"><3J><4N 1Z-4M="5G-5M" 6K="2O/1z; 6J=6I-8" /><1t>6L 1v</1t></3J><3B 1L="25-6M:6Q,6P,6O,6N-6F;6y-2f:#6x;2f:#6w;25-22:6v;2O-3D:3C;"><T 1L="2O-3D:3C;3w-32:1.6z;"><T 1L="25-22:6A-6E;">1v</T><T 1L="25-22:.6C;3w-6B:6R;"><T>3v 3.0.76 (72 73 3x)</T><T><a 2h="1Z://3u.2w/1v" 1F="38" 1L="2f:#3y">1Z://3u.2w/1v</a></T><T>70 17 6U 71.</T><T>6T 6X-3x 6Y 6D.</T></T><T>6t 61 60 J 1k, 5Z <a 2h="6u://2y.62.2w/63-66/65?64=5X-5W&5P=5O" 1L="2f:#3y">5R</a> 5V <2R/>5U 5T 5S!</T></T></3B></1z>\'}},1Y:{2j:N,2A:{}},1U:{},3A:{6n:/\\/\\*[\\s\\S]*?\\*\\//2c,6m:/\\/\\/.*$/2c,6l:/#.*$/2c,6k:/"([^\\\\"\\n]|\\\\.)*"/g,6o:/\'([^\\\\\'\\n]|\\\\.)*\'/g,6p:1f M(\'"([^\\\\\\\\"]|\\\\\\\\.)*"\',"3z"),6s:1f M("\'([^\\\\\\\\\']|\\\\\\\\.)*\'","3z"),6q:/(&1y;|<)!--[\\s\\S]*?--(&1G;|>)/2c,3M:/\\w+:\\/\\/[\\w-.\\/?%&=:@;]*/g,6a:{18:/(&1y;|<)\\?=?/g,1b:/\\?(&1G;|>)/g},69:{18:/(&1y;|<)%=?/g,1b:/%(&1G;|>)/g},6d:{18:/(&1y;|<)\\s*1k.*?(&1G;|>)/2T,1b:/(&1y;|<)\\/\\s*1k\\s*(&1G;|>)/2T}},16:{1H:6(a){6 b(i,k){H e.16.2o(i,k,e.13.1x[k])}O(K c=\'<T 1g="16">\',d=e.16.2x,h=d.2X,g=0;g<h.L;g++)c+=(d[h[g]].1H||b)(a,h[g]);c+="</T>";H c},2o:6(a,b,c){H\'<2W><a 2h="#" 1g="6e 6h\'+b+" "+b+\'">\'+c+"</a></2W>"},2b:6(a){K b=a.1F,c=b.1l||"";b=B(p(b,".20",R).1c);K d=6(h){H(h=15(h+"6f(\\\\w+)").X(c))?h[1]:N}("6g");b&&d&&e.16.2x[d].2B(b);a.3N()},2x:{2X:["21","2P"],21:{1H:6(a){I(a.V("2l")!=R)H"";K b=a.V("1t");H e.16.2o(a,"21",b?b:e.13.1x.21)},2B:6(a){a=1E.6j(t(a.1c));a.1l=a.1l.Q("47","")}},2P:{2B:6(){K a="68=0";a+=", 18="+(31.30-33)/2+", 32="+(31.2Z-2Y)/2+", 30=33, 2Z=2Y";a=a.Q(/^,/,"");a=1P.6Z("","38",a);a.2C();K b=a.1E;b.6W(e.13.1x.37);b.6V();a.2C()}}}},35:6(a,b){K c;I(b)c=[b];Y{c=1E.36(e.13.34);O(K d=[],h=0;h<c.L;h++)d.U(c[h]);c=d}c=c;d=[];I(e.13.2M)c=c.1O(z());I(c.L===0)H d;O(h=0;h<c.L;h++){O(K g=c[h],i=a,k=c[h].1l,j=3W 0,l={},m=1f M("^\\\\[(?<2V>(.*?))\\\\]$"),s=1f M("(?<27>[\\\\w-]+)\\\\s*:\\\\s*(?<1T>[\\\\w-%#]+|\\\\[.*?\\\\]|\\".*?\\"|\'.*?\')\\\\s*;?","g");(j=s.X(k))!=N;){K o=j.1T.Q(/^[\'"]|[\'"]$/g,"");I(o!=N&&m.1A(o)){o=m.X(o);o=o.2V.L>0?o.2V.1e(/\\s*,\\s*/):[]}l[j.27]=o}g={1F:g,1n:C(i,l)};g.1n.1D!=N&&d.U(g)}H d},1M:6(a,b){K c=J.35(a,b),d=N,h=e.13;I(c.L!==0)O(K g=0;g<c.L;g++){b=c[g];K i=b.1F,k=b.1n,j=k.1D,l;I(j!=N){I(k["1z-1k"]=="R"||e.2v["1z-1k"]==R){d=1f e.4l(j);j="4O"}Y I(d=A(j))d=1f d;Y 6H;l=i.3X;I(h.2M){l=l;K m=x(l),s=11;I(m.1i("<![6G[")==0){m=m.4h(9);s=R}K o=m.L;I(m.1i("]]\\>")==o-3){m=m.4h(0,o-3);s=R}l=s?m:l}I((i.1t||"")!="")k.1t=i.1t;k.1D=j;d.2Q(k);b=d.2F(l);I((i.1c||"")!="")b.1c=i.1c;i.2G.74(b,i)}}},2E:6(a){w(1P,"4k",6(){e.1M(a)})}};e.2E=e.2E;e.1M=e.1M;e.2L=6(a,b,c){J.1T=a;J.P=b;J.L=a.L;J.23=c;J.1V=N};e.2L.Z.1q=6(){H J.1T};e.4l=6(a){6 b(j,l){O(K m=0;m<j.L;m++)j[m].P+=l}K c=A(a),d,h=1f e.1U.5Y,g=J,i="2F 1H 2Q".1e(" ");I(c!=N){d=1f c;O(K k=0;k<i.L;k++)(6(){K j=i[k];g[j]=6(){H h[j].1p(h,14)}})();d.28==N?1P.1X(e.13.1x.1X+(e.13.1x.4g+a)):h.2J.U({1I:d.28.17,2D:6(j){O(K l=j.17,m=[],s=d.2J,o=j.P+j.18.L,F=d.28,q,G=0;G<s.L;G++){q=y(l,s[G]);b(q,o);m=m.1O(q)}I(F.18!=N&&j.18!=N){q=y(j.18,F.18);b(q,j.P);m=m.1O(q)}I(F.1b!=N&&j.1b!=N){q=y(j.1b,F.1b);b(q,j.P+j[0].5Q(j.1b));m=m.1O(q)}O(j=0;j<m.L;j++)m[j].1V=c.1V;H m}})}};e.4j=6(){};e.4j.Z={V:6(a,b){K c=J.1n[a];c=c==N?b:c;K d={"R":R,"11":11}[c];H d==N?c:d},3Y:6(a){H 1E.4i(a)},4c:6(a,b){K c=[];I(a!=N)O(K d=0;d<a.L;d++)I(1j a[d]=="2m")c=c.1O(y(b,a[d]));H J.4e(c.6b(D))},4e:6(a){O(K b=0;b<a.L;b++)I(a[b]!==N)O(K c=a[b],d=c.P+c.L,h=b+1;h<a.L&&a[b]!==N;h++){K g=a[h];I(g!==N)I(g.P>d)1N;Y I(g.P==c.P&&g.L>c.L)a[b]=N;Y I(g.P>=c.P&&g.P<d)a[h]=N}H a},4d:6(a){K b=[],c=2u(J.V("2i-1s"));v(a,6(d,h){b.U(h+c)});H b},3U:6(a){K b=J.V("1M",[]);I(1j b!="2m"&&b.U==N)b=[b];a:{a=a.1q();K c=3W 0;O(c=c=1Q.6c(c||0,0);c<b.L;c++)I(b[c]==a){b=c;1N a}b=-1}H b!=-1},2r:6(a,b,c){a=["1s","6i"+b,"P"+a,"6r"+(b%2==0?1:2).1q()];J.3U(b)&&a.U("67");b==0&&a.U("1N");H\'<T 1g="\'+a.1K(" ")+\'">\'+c+"</T>"},3Q:6(a,b){K c="",d=a.1e("\\n").L,h=2u(J.V("2i-1s")),g=J.V("2z-1s-2t");I(g==R)g=(h+d-1).1q().L;Y I(3R(g)==R)g=0;O(K i=0;i<d;i++){K k=b?b[i]:h+i,j;I(k==0)j=e.13.1W;Y{j=g;O(K l=k.1q();l.L<j;)l="0"+l;j=l}a=j;c+=J.2r(i,k,a)}H c},49:6(a,b){a=x(a);K c=a.1e("\\n");J.V("2z-1s-2t");K d=2u(J.V("2i-1s"));a="";O(K h=J.V("1D"),g=0;g<c.L;g++){K i=c[g],k=/^(&2s;|\\s)+/.X(i),j=N,l=b?b[g]:d+g;I(k!=N){j=k[0].1q();i=i.1o(j.L);j=j.Q(" ",e.13.1W)}i=x(i);I(i.L==0)i=e.13.1W;a+=J.2r(g,l,(j!=N?\'<17 1g="\'+h+\' 5N">\'+j+"</17>":"")+i)}H a},4f:6(a){H a?"<4a>"+a+"</4a>":""},4b:6(a,b){6 c(l){H(l=l?l.1V||g:g)?l+" ":""}O(K d=0,h="",g=J.V("1D",""),i=0;i<b.L;i++){K k=b[i],j;I(!(k===N||k.L===0)){j=c(k);h+=u(a.1o(d,k.P-d),j+"48")+u(k.1T,j+k.23);d=k.P+k.L+(k.75||0)}}h+=u(a.1o(d),c()+"48");H h},1H:6(a){K b="",c=["20"],d;I(J.V("2k")==R)J.1n.16=J.1n.1u=11;1l="20";J.V("2l")==R&&c.U("47");I((1u=J.V("1u"))==11)c.U("6S");c.U(J.V("1g-27"));c.U(J.V("1D"));a=a.Q(/^[ ]*[\\n]+|[\\n]*[ ]*$/g,"").Q(/\\r/g," ");b=J.V("43-22");I(J.V("42-45")==R)a=n(a,b);Y{O(K h="",g=0;g<b;g++)h+=" ";a=a.Q(/\\t/g,h)}a=a;a:{b=a=a;h=/<2R\\s*\\/?>|&1y;2R\\s*\\/?&1G;/2T;I(e.13.46==R)b=b.Q(h,"\\n");I(e.13.44==R)b=b.Q(h,"");b=b.1e("\\n");h=/^\\s*/;g=4Q;O(K i=0;i<b.L&&g>0;i++){K k=b[i];I(x(k).L!=0){k=h.X(k);I(k==N){a=a;1N a}g=1Q.4q(k[0].L,g)}}I(g>0)O(i=0;i<b.L;i++)b[i]=b[i].1o(g);a=b.1K("\\n")}I(1u)d=J.4d(a);b=J.4c(J.2J,a);b=J.4b(a,b);b=J.49(b,d);I(J.V("41-40"))b=E(b);1j 2H!="1d"&&2H.3S&&2H.3S.1C(/5s/)&&c.U("5t");H b=\'<T 1c="\'+t(J.1c)+\'" 1g="\'+c.1K(" ")+\'">\'+(J.V("16")?e.16.1H(J):"")+\'<3Z 5z="0" 5H="0" 5J="0">\'+J.4f(J.V("1t"))+"<3T><3P>"+(1u?\'<2d 1g="1u">\'+J.3Q(a)+"</2d>":"")+\'<2d 1g="17"><T 1g="3O">\'+b+"</T></2d></3P></3T></3Z></T>"},2F:6(a){I(a===N)a="";J.17=a;K b=J.3Y("T");b.3X=J.1H(a);J.V("16")&&w(p(b,".16"),"5c",e.16.2b);J.V("3V-17")&&w(p(b,".17"),"56",f);H b},2Q:6(a){J.1c=""+1Q.5d(1Q.5n()*5k).1q();e.1Y.2A[t(J.1c)]=J;J.1n=C(e.2v,a||{});I(J.V("2k")==R)J.1n.16=J.1n.1u=11},5j:6(a){a=a.Q(/^\\s+|\\s+$/g,"").Q(/\\s+/g,"|");H"\\\\b(?:"+a+")\\\\b"},5f:6(a){J.28={18:{1I:a.18,23:"1k"},1b:{1I:a.1b,23:"1k"},17:1f M("(?<18>"+a.18.1m+")(?<17>.*?)(?<1b>"+a.1b.1m+")","5o")}}};H e}();1j 2e!="1d"&&(2e.1v=1v);',62,441,'||||||function|||||||||||||||||||||||||||||||||||||return|if|this|var|length|XRegExp|null|for|index|replace|true||div|push|getParam|call|exec|else|prototype||false|lastIndex|config|arguments|RegExp|toolbar|code|left|captureNames|slice|right|id|undefined|split|new|class|addToken|indexOf|typeof|script|className|source|params|substr|apply|toString|String|line|title|gutter|SyntaxHighlighter|_xregexp|strings|lt|html|test|OUTSIDE_CLASS|match|brush|document|target|gt|getHtml|regex|global|join|style|highlight|break|concat|window|Math|isRegExp|throw|value|brushes|brushName|space|alert|vars|http|syntaxhighlighter|expandSource|size|css|case|font|Fa|name|htmlScript|dA|can|handler|gm|td|exports|color|in|href|first|discoveredBrushes|light|collapse|object|cache|getButtonHtml|trigger|pattern|getLineHtml|nbsp|numbers|parseInt|defaults|com|items|www|pad|highlighters|execute|focus|func|all|getDiv|parentNode|navigator|INSIDE_CLASS|regexList|hasFlag|Match|useScriptTags|hasNamedCapture|text|help|init|br|input|gi|Error|values|span|list|250|height|width|screen|top|500|tagName|findElements|getElementsByTagName|aboutDialog|_blank|appendChild|charAt|Array|copyAsGlobal|setFlag|highlighter_|string|attachEvent|nodeName|floor|backref|output|the|TypeError|sticky|Za|iterate|freezeTokens|scope|type|textarea|alexgorbatchev|version|margin|2010|005896|gs|regexLib|body|center|align|noBrush|require|childNodes|DTD|xhtml1|head|org|w3|url|preventDefault|container|tr|getLineNumbersHtml|isNaN|userAgent|tbody|isLineHighlighted|quick|void|innerHTML|create|table|links|auto|smart|tab|stripBrs|tabs|bloggerMode|collapsed|plain|getCodeLinesHtml|caption|getMatchesHtml|findMatches|figureOutLineNumbers|removeNestedMatches|getTitleHtml|brushNotHtmlScript|substring|createElement|Highlighter|load|HtmlScript|Brush|pre|expand|multiline|min|Can|ignoreCase|find|blur|extended|toLowerCase|aliases|addEventListener|innerText|textContent|wasn|select|createTextNode|removeChild|option|same|frame|xmlns|dtd|twice|1999|equiv|meta|htmlscript|transitional|1E3|expected|PUBLIC|DOCTYPE|on|W3C|XHTML|TR|EN|Transitional||configured|srcElement|Object|after|run|dblclick|matchChain|valueOf|constructor|default|switch|click|round|execAt|forHtmlScript|token|gimy|functions|getKeywords|1E6|escape|within|random|sgi|another|finally|supply|MSIE|ie|toUpperCase|catch|returnValue|definition|event|border|imsx|constructing|one|Infinity|from|when|Content|cellpadding|flags|cellspacing|try|xhtml|Type|spaces|2930402|hosted_button_id|lastIndexOf|donate|active|development|keep|to|xclick|_s|Xml|please|like|you|paypal|cgi|cmd|webscr|bin|highlighted|scrollbars|aspScriptTags|phpScriptTags|sort|max|scriptScriptTags|toolbar_item|_|command|command_|number|getElementById|doubleQuotedString|singleLinePerlComments|singleLineCComments|multiLineCComments|singleQuotedString|multiLineDoubleQuotedString|xmlComments|alt|multiLineSingleQuotedString|If|https|1em|000|fff|background|5em|xx|bottom|75em|Gorbatchev|large|serif|CDATA|continue|utf|charset|content|About|family|sans|Helvetica|Arial|Geneva|3em|nogutter|Copyright|syntax|close|write|2004|Alex|open|JavaScript|highlighter|July|02|replaceChild|offset|83'.split('|'),0,{})) ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shLegacy.js-16- */ php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/shLegacy.js:17:eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--){d[e(c)]=k[c]||e(c)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('3 u={8:{}};u.8={A:4(c,k,l,m,n,o){4 d(a,b){2 a!=1?a:b}4 f(a){2 a!=1?a.E():1}c=c.I(":");3 g=c[0],e={};t={"r":K};M=1;5=8.5;9(3 j R c)e[c[j]]="r";k=f(d(k,5.C));l=f(d(l,5.D));m=f(d(m,5.s));o=f(d(o,5.Q));n=f(d(n,5["x-y"]));2{P:g,C:d(t[e.O],k),D:d(t[e.N],l),s:d({"r":r}[e.s],m),"x-y":d(4(a,b){9(3 h=T S("^"+b+"\\\\[(?<q>\\\\w+)\\\\]$","U"),i=1,p=0;p<a.7;p++)6((i=h.J(a[p]))!=1)2 i.q;2 1}(c,"G"),n)}},F:4(c,k,l,m,n,o){4 d(){9(3 a=H,b=0;b<a.7;b++)6(a[b]!==1){6(z a[b]=="L"&&a[b]!="")2 a[b]+"";6(z a[b]=="X"&&a[b].q!="")2 a[b].q+""}2 1}4 f(a,b,h){h=12.13(h);9(3 i=0;i<h.7;i++)h[i].V("15")==b&&a.Y(h[i])}3 g=[];f(g,c,"Z");f(g,c,"W");6(g.7!==0)9(c=0;c<g.7;c++){3 e=g[c],j=d(e.B["14"],e.10,e.B.v,e.v);6(j!==1){j=u.8.A(j,k,l,m,n,o);8.11(j,e)}}}};',62,68,'|null|return|var|function|defaults|if|length|SyntaxHighlighter|for|||||||||||||||||value|true|collapse|reverse|dp|language||first|line|typeof|parseParams|attributes|gutter|toolbar|toString|HighlightAll|firstline|arguments|split|exec|false|string|result|nocontrols|nogutter|brush|ruler|in|XRegExp|new|gi|getAttribute|textarea|object|push|pre|className|highlight|document|getElementsByTagName|class|name'.split('|'),0,{})) ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/syntaxhighlighter.js:1:!function(e){function t(n){if(r[n])return r[n].exports;var s=r[n]={exports:{},id:n,loaded:!1};return e[n].call(s.exports,s,s.exports,t),s.loaded=!0,s.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}([function(e,t,r){"use strict";function n(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t["default"]=e,t}function s(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0});var i=r(1);Object.keys(i).forEach(function(e){"default"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return i[e]}})});var o=r(52),a=s(o),c=s(i),l=r(53),u=n(l);r(54),(0,a["default"])(function(){return c["default"].highlight(u.object(window.syntaxhighlighterConfig||{}))})},function(e,t,r){"use strict";function n(e){window.alert("SyntaxHighlighter\n\n"+e)}function s(e,t){var r=m.vars.discoveredBrushes,s=null;if(null==r){r={};for(var i in m.brushes){var o=m.brushes[i],a=o.aliases;if(null!=a){o.className=o.className||o.aliases[0],o.brushName=o.className||i.toLowerCase();for(var c=0,l=a.length;l>c;c++)r[a[c]]=i}}m.vars.discoveredBrushes=r}return s=m.brushes[r[e]],null==s&&t&&n(m.config.strings.noBrush+e),s}function i(e){var t="<![CDATA[",r="]]>",n=l.trim(e),s=!1,i=t.length,o=r.length;0==n.indexOf(t)&&(n=n.substring(i),s=!0);var a=n.length;return n.indexOf(r)==a-o&&(n=n.substring(0,a-o),s=!0),s?n:e}Object.defineProperty(t,"__esModule",{value:!0});var o=r(2),a=r(5),c=r(9)["default"],l=r(10),u=r(11),g=r(17),d=r(18),p=r(19),f=r(20),m={Match:a.Match,Highlighter:r(22),config:r(18),regexLib:r(3).commonRegExp,vars:{discoveredBrushes:null,highlighters:{}},brushes:{},findElements:function(e,t){var r=t?[t]:l.toArray(document.getElementsByTagName(m.config.tagName)),n=(m.config,[]);if(r=r.concat(g.getSyntaxHighlighterScriptTags()),0===r.length)return n;for(var s=0,i=r.length;i>s;s++){var a={target:r[s],params:o.defaults(o.parse(r[s].className),e)};null!=a.params.brush&&n.push(a)}return n},highlight:function(e,t){var r,n=m.findElements(e,t),l="innerHTML",h=null,x=m.config;if(0!==n.length)for(var b=0,y=n.length;y>b;b++){var h,w,v,t=n[b],S=t.target,_=t.params,C=_.brush;null!=C&&(h=s(C),h&&(_=o.defaults(_||{},p),_=o.defaults(_,d),1==_["html-script"]||1==p["html-script"]?(h=new f(s("xml"),h),C="htmlscript"):h=new h,v=S[l],x.useScriptTags&&(v=i(v)),""!=(S.title||"")&&(_.title=S.title),_.brush=C,v=u(v,_),w=a.applyRegexList(v,h.regexList,_),r=new c(v,w,_),t=g.create("div"),t.innerHTML=r.getHtml(),_.quickCode&&g.attachEvent(g.findElement(t,".code"),"dblclick",g.quickCodeHandler),""!=(S.id||"")&&(t.id=S.id),S.parentNode.replaceChild(t,S)))}}},h=0;t["default"]=m;var x=t.registerBrush=function(e){return m.brushes["brush"+h++]=e["default"]||e};t.clearRegisteredBrushes=function(){m.brushes={},h=0};x(r(23)),x(r(24)),x(r(22)),x(r(25)),x(r(26)),x(r(27)),x(r(28)),x(r(29)),x(r(30)),x(r(31)),x(r(32)),x(r(33)),x(r(34)),x(r(35)),x(r(36)),x(r(37)),x(r(38)),x(r(39)),x(r(40)),x(r(41)),x(r(42)),x(r(43)),x(r(44)),x(r(45)),x(r(46)),x(r(47)),x(r(48)),x(r(49)),x(r(50)),x(r(51))},function(e,t,r){"use strict";function n(e){return e.replace(/-(\w+)/g,function(e,t){return t.charAt(0).toUpperCase()+t.substr(1)})}function s(e){var t=o[e];return null==t?e:t}var i=r(3).XRegExp,o={"true":!0,"false":!1};e.exports={defaults:function(e,t){for(var r in t||{})e.hasOwnProperty(r)||(e[r]=e[n(r)]=t[r]);return e},parse:function(e){for(var t,r={},o=i("^\\[(?<values>(.*?))\\]$"),a=0,c=i("(?<name>[\\w-]+)\\s*:\\s*(?<value>[\\w%#-]+|\\[.*?\\]|\".*?\"|'.*?')\\s*;?","g");null!=(t=i.exec(e,c,a));){var l=t.value.replace(/^['"]|['"]$/g,"");if(null!=l&&o.test(l)){var u=i.exec(l,o);l=u.values.length>0?u.values.split(/\s*,\s*/):[]}l=s(l),r[t.name]=r[n(t.name)]=l,a=t.index+t[0].length}return r}}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}Object.defineProperty(t,"__esModule",{value:!0}),t.commonRegExp=t.XRegExp=void 0;var s=r(4),i=n(s);t.XRegExp=i["default"];t.commonRegExp={multiLineCComments:(0,i["default"])("/\\*.*?\\*/","gs"),singleLineCComments:/\/\/.*$/gm,singleLinePerlComments:/#.*$/gm,doubleQuotedString:/"([^\\"\n]|\\.)*"/g,singleQuotedString:/'([^\\'\n]|\\.)*'/g,multiLineDoubleQuotedString:(0,i["default"])('"([^\\\\"]|\\\\.)*"',"gs"),multiLineSingleQuotedString:(0,i["default"])("'([^\\\\']|\\\\.)*'","gs"),xmlComments:(0,i["default"])("(<|<)!--.*?--(>|>)","gs"),url:/\w+:\/\/[\w-.\/?%&=:@;#]*/g,phpScriptTags:{left:/(<|<)\?(?:=|php)?/g,right:/\?(>|>)/g,eof:!0},aspScriptTags:{left:/(<|<)%=?/g,right:/%(>|>)/g},scriptScriptTags:{left:/(<|<)\s*script.*?(>|>)/gi,right:/(<|<)\/\s*script\s*(>|>)/gi}}},function(e,t){"use strict";function r(e,t,r,n,s){var i;if(e[v]={captureNames:t},s)return e;if(e.__proto__)e.__proto__=w.prototype;else for(i in w.prototype)e[i]=w.prototype[i];return e[v].source=r,e[v].flags=n?n.split("").sort().join(""):n,e}function n(e){return _.replace.call(e,/([\s\S])(?=[\s\S]*\1)/g,"")}function s(e,t){if(!w.isRegExp(e))throw new TypeError("Type RegExp expected");var s=e[v]||{},i=o(e),c="",l="",u=null,g=null;return t=t||{},t.removeG&&(l+="g"),t.removeY&&(l+="y"),l&&(i=_.replace.call(i,new RegExp("["+l+"]+","g"),"")),t.addG&&(c+="g"),t.addY&&(c+="y"),c&&(i=n(i+c)),t.isInternalOnly||(void 0!==s.source&&(u=s.source),null!=s.flags&&(g=c?n(s.flags+c):s.flags)),e=r(new RegExp(e.source,i),a(e)?s.captureNames.slice(0):null,u,g,t.isInternalOnly)}function i(e){return parseInt(e,16)}function o(e){return D?e.flags:_.exec.call(/\/([a-z]*)$/i,RegExp.prototype.toString.call(e))[1]}function a(e){return!(!e[v]||!e[v].captureNames)}function c(e){return parseInt(e,10).toString(16)}function l(e,t){var r,n=e.length;for(r=0;n>r;++r)if(e[r]===t)return r;return-1}function u(e,t){return H.call(e)==="[object "+t+"]"}function g(e,t,r){return _.test.call(r.indexOf("x")>-1?/^(?:\s+|#.*|\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/:/^(?:\(\?#[^)]*\))*(?:[?*+]|{\d+(?:,\d*)?})/,e.slice(t))}function d(e){for(;e.length<4;)e="0"+e;return e}function p(e,t){var r;if(n(t)!==t)throw new SyntaxError("Invalid duplicate regex flag "+t);for(e=_.replace.call(e,/^\(\?([\w$]+)\)/,function(e,r){if(_.test.call(/[gy]/,r))throw new SyntaxError("Cannot use flag g or y in mode modifier "+e);return t=n(t+r),""}),r=0;r<t.length;++r)if(!F[t.charAt(r)])throw new SyntaxError("Unknown regex flag "+t.charAt(r));return{pattern:e,flags:t}}function f(e){var t={};return u(e,"String")?(w.forEach(e,/[^\s,]+/,function(e){t[e]=!0}),t):e}function m(e){if(!/^[\w$]$/.test(e))throw new Error("Flag must be a single character A-Za-z0-9_$");F[e]=!0}function h(e,t,r,n,s){for(var i,o,a=L.length,c=e.charAt(r),l=null;a--;)if(o=L[a],!(o.leadChar&&o.leadChar!==c||o.scope!==n&&"all"!==o.scope||o.flag&&-1===t.indexOf(o.flag))&&(i=w.exec(e,o.regex,r,"sticky"))){l={matchLength:i[0].length,output:o.handler.call(s,i,n,t),reparse:o.reparse};break}return l}function x(e){S.astral=e}function b(e){RegExp.prototype.exec=(e?C:_).exec,RegExp.prototype.test=(e?C:_).test,String.prototype.match=(e?C:_).match,String.prototype.replace=(e?C:_).replace,String.prototype.split=(e?C:_).split,S.natives=e}function y(e){if(null==e)throw new TypeError("Cannot convert null or undefined to object");return e}function w(e,t){var n,i,o,a,c,l={hasNamedCapture:!1,captureNames:[]},u=k,g="",d=0;if(w.isRegExp(e)){if(void 0!==t)throw new TypeError("Cannot supply flags when copying a RegExp");return s(e)}if(e=void 0===e?"":String(e),t=void 0===t?"":String(t),w.isInstalled("astral")&&-1===t.indexOf("A")&&(t+="A"),R[e]||(R[e]={}),!R[e][t]){for(n=p(e,t),a=n.pattern,c=n.flags;d<a.length;){do n=h(a,c,d,u,l),n&&n.reparse&&(a=a.slice(0,d)+n.output+a.slice(d+n.matchLength));while(n&&n.reparse);n?(g+=n.output,d+=n.matchLength||1):(i=w.exec(a,T[u],d,"sticky")[0],g+=i,d+=i.length,"["===i&&u===k?u=I:"]"===i&&u===I&&(u=k))}R[e][t]={pattern:_.replace.call(g,/\(\?:\)(?:[*+?]|\{\d+(?:,\d*)?})?\??(?=\(\?:\))|^\(\?:\)(?:[*+?]|\{\d+(?:,\d*)?})?\??|\(\?:\)(?:[*+?]|\{\d+(?:,\d*)?})?\??$/g,""),flags:_.replace.call(c,/[^gimuy]+/g,""),captures:l.hasNamedCapture?l.captureNames:null}}return o=R[e][t],r(new RegExp(o.pattern,o.flags),o.captures,e,t)}var v="xregexp",S={astral:!1,natives:!1},_={exec:RegExp.prototype.exec,test:RegExp.prototype.test,match:String.prototype.match,replace:String.prototype.replace,split:String.prototype.split},C={},E={},R={},L=[],k="default",I="class",T={"default":/\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\d*|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|\(\?[:=!]|[?*+]\?|{\d+(?:,\d*)?}\??|[\s\S]/,"class":/\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\dA-Fa-f]{2}|u(?:[\dA-Fa-f]{4}|{[\dA-Fa-f]+})|c[A-Za-z]|[\s\S])|[\s\S]/},O=/\$(?:{([\w$]+)}|(\d\d?|[\s\S]))/g,N=void 0===_.exec.call(/()??/,"")[1],A=function(){var e=!0;try{new RegExp("","u")}catch(t){e=!1}return e}(),P=function(){var e=!0;try{new RegExp("","y")}catch(t){e=!1}return e}(),D=void 0!==/a/.flags,F={g:!0,i:!0,m:!0,u:A,y:P},H={}.toString;w.prototype=new RegExp,w.version="3.1.0-dev",w.addToken=function(e,t,r){r=r||{};var n,i=r.optionalFlags;if(r.flag&&m(r.flag),i)for(i=_.split.call(i,""),n=0;n<i.length;++n)m(i[n]);L.push({regex:s(e,{addG:!0,addY:P,isInternalOnly:!0}),handler:t,scope:r.scope||k,flag:r.flag,reparse:r.reparse,leadChar:r.leadChar}),w.cache.flush("patterns")},w.cache=function(e,t){return E[e]||(E[e]={}),E[e][t]||(E[e][t]=w(e,t))},w.cache.flush=function(e){"patterns"===e?R={}:E={}},w.escape=function(e){return _.replace.call(y(e),/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")},w.exec=function(e,t,r,n){var i,o,a="g",c=!1;return c=P&&!!(n||t.sticky&&n!==!1),c&&(a+="y"),t[v]=t[v]||{},o=t[v][a]||(t[v][a]=s(t,{addG:!0,addY:c,removeY:n===!1,isInternalOnly:!0})),o.lastIndex=r=r||0,i=C.exec.call(o,e),n&&i&&i.index!==r&&(i=null),t.global&&(t.lastIndex=i?o.lastIndex:0),i},w.forEach=function(e,t,r){for(var n,s=0,i=-1;n=w.exec(e,t,s);)r(n,++i,e,t),s=n.index+(n[0].length||1)},w.globalize=function(e){return s(e,{addG:!0})},w.install=function(e){e=f(e),!S.astral&&e.astral&&x(!0),!S.natives&&e.natives&&b(!0)},w.isInstalled=function(e){return!!S[e]},w.isRegExp=function(e){return"[object RegExp]"===H.call(e)},w.match=function(e,t,r){var n,i,o=t.global&&"one"!==r||"all"===r,a=(o?"g":"")+(t.sticky?"y":"")||"noGY";return t[v]=t[v]||{},i=t[v][a]||(t[v][a]=s(t,{addG:!!o,addY:!!t.sticky,removeG:"one"===r,isInternalOnly:!0})),n=_.match.call(y(e),i),t.global&&(t.lastIndex="one"===r&&n?n.index+n[0].length:0),o?n||[]:n&&n[0]},w.matchChain=function(e,t){return function r(e,n){var s,i=t[n].regex?t[n]:{regex:t[n]},o=[],a=function(e){if(i.backref){if(!(e.hasOwnProperty(i.backref)||+i.backref<e.length))throw new ReferenceError("Backreference to undefined group: "+i.backref);o.push(e[i.backref]||"")}else o.push(e[0])};for(s=0;s<e.length;++s)w.forEach(e[s],i.regex,a);return n!==t.length-1&&o.length?r(o,n+1):o}([e],0)},w.replace=function(e,t,r,n){var i,o=w.isRegExp(t),a=t.global&&"one"!==n||"all"===n,c=(a?"g":"")+(t.sticky?"y":"")||"noGY",l=t;return o?(t[v]=t[v]||{},l=t[v][c]||(t[v][c]=s(t,{addG:!!a,addY:!!t.sticky,removeG:"one"===n,isInternalOnly:!0}))):a&&(l=new RegExp(w.escape(String(t)),"g")),i=C.replace.call(y(e),l,r),o&&t.global&&(t.lastIndex=0),i},w.replaceEach=function(e,t){var r,n;for(r=0;r<t.length;++r)n=t[r],e=w.replace(e,n[0],n[1],n[2]);return e},w.split=function(e,t,r){return C.split.call(y(e),t,r)},w.test=function(e,t,r,n){return!!w.exec(e,t,r,n)},w.uninstall=function(e){e=f(e),S.astral&&e.astral&&x(!1),S.natives&&e.natives&&b(!1)},w.union=function(e,t){var r,n,s,i,o=/(\()(?!\?)|\\([1-9]\d*)|\\[\s\S]|\[(?:[^\\\]]|\\[\s\S])*]/g,a=[],c=0,l=function(e,t,s){var i=n[c-r];if(t){if(++c,i)return"(?<"+i+">"}else if(s)return"\\"+(+s+r);return e};if(!u(e,"Array")||!e.length)throw new TypeError("Must provide a nonempty array of patterns to merge");for(i=0;i<e.length;++i)s=e[i],w.isRegExp(s)?(r=c,n=s[v]&&s[v].captureNames||[],a.push(_.replace.call(w(s.source).source,o,l))):a.push(w.escape(s));return w(a.join("|"),t)},C.exec=function(e){var t,r,n,i=this.lastIndex,o=_.exec.apply(this,arguments);if(o){if(!N&&o.length>1&&l(o,"")>-1&&(r=s(this,{removeG:!0,isInternalOnly:!0}),_.replace.call(String(e).slice(o.index),r,function(){var e,t=arguments.length;for(e=1;t-2>e;++e)void 0===arguments[e]&&(o[e]=void 0)})),this[v]&&this[v].captureNames)for(n=1;n<o.length;++n)t=this[v].captureNames[n-1],t&&(o[t]=o[n]);this.global&&!o[0].length&&this.lastIndex>o.index&&(this.lastIndex=o.index)}return this.global||(this.lastIndex=i),o},C.test=function(e){return!!C.exec.call(this,e)},C.match=function(e){var t;if(w.isRegExp(e)){if(e.global)return t=_.match.apply(this,arguments),e.lastIndex=0,t}else e=new RegExp(e);return C.exec.call(e,y(this))},C.replace=function(e,t){var r,n,s,i=w.isRegExp(e);return i?(e[v]&&(n=e[v].captureNames),r=e.lastIndex):e+="",s=u(t,"Function")?_.replace.call(String(this),e,function(){var r,s=arguments;if(n)for(s[0]=new String(s[0]),r=0;r<n.length;++r)n[r]&&(s[0][n[r]]=s[r+1]);return i&&e.global&&(e.lastIndex=s[s.length-2]+s[0].length),t.apply(void 0,s)}):_.replace.call(null==this?this:String(this),e,function(){var e=arguments;return _.replace.call(String(t),O,function(t,r,s){var i;if(r){if(i=+r,i<=e.length-3)return e[i]||"";if(i=n?l(n,r):-1,0>i)throw new SyntaxError("Backreference to undefined group "+t);return e[i+1]||""}if("$"===s)return"$";if("&"===s||0===+s)return e[0];if("`"===s)return e[e.length-1].slice(0,e[e.length-2]);if("'"===s)return e[e.length-1].slice(e[e.length-2]+e[0].length);if(s=+s,!isNaN(s)){if(s>e.length-3)throw new SyntaxError("Backreference to undefined group "+t);return e[s]||""}throw new SyntaxError("Invalid token "+t)})}),i&&(e.global?e.lastIndex=0:e.lastIndex=r),s},C.split=function(e,t){if(!w.isRegExp(e))return _.split.apply(this,arguments);var r,n=String(this),s=[],i=e.lastIndex,o=0;return t=(void 0===t?-1:t)>>>0,w.forEach(n,e,function(e){e.index+e[0].length>o&&(s.push(n.slice(o,e.index)),e.length>1&&e.index<n.length&&Array.prototype.push.apply(s,e.slice(1)),r=e[0].length,o=e.index+r)}),o===n.length?(!_.test.call(e,"")||r)&&s.push(""):s.push(n.slice(o)),e.lastIndex=i,s.length>t?s.slice(0,t):s},w.addToken(/\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\dA-Fa-f]{4}|{[\dA-Fa-f]+})|x(?![\dA-Fa-f]{2}))/,function(e,t){if("B"===e[1]&&t===k)return e[0];throw new SyntaxError("Invalid escape "+e[0])},{scope:"all",leadChar:"\\"}),w.addToken(/\\u{([\dA-Fa-f]+)}/,function(e,t,r){var n=i(e[1]);if(n>1114111)throw new SyntaxError("Invalid Unicode code point "+e[0]);if(65535>=n)return"\\u"+d(c(n));if(A&&r.indexOf("u")>-1)return e[0];throw new SyntaxError("Cannot use Unicode code point above \\u{FFFF} without flag u")},{scope:"all",leadChar:"\\"}),w.addToken(/\[(\^?)]/,function(e){return e[1]?"[\\s\\S]":"\\b\\B"},{leadChar:"["}),w.addToken(/\(\?#[^)]*\)/,function(e,t,r){return g(e.input,e.index+e[0].length,r)?"":"(?:)"},{leadChar:"("}),w.addToken(/\s+|#.*/,function(e,t,r){return g(e.input,e.index+e[0].length,r)?"":"(?:)"},{flag:"x"}),w.addToken(/\./,function(){return"[\\s\\S]"},{flag:"s",leadChar:"."}),w.addToken(/\\k<([\w$]+)>/,function(e){var t=isNaN(e[1])?l(this.captureNames,e[1])+1:+e[1],r=e.index+e[0].length;if(!t||t>this.captureNames.length)throw new SyntaxError("Backreference to undefined group "+e[0]);return"\\"+t+(r===e.input.length||isNaN(e.input.charAt(r))?"":"(?:)")},{leadChar:"\\"}),w.addToken(/\\(\d+)/,function(e,t){if(!(t===k&&/^[1-9]/.test(e[1])&&+e[1]<=this.captureNames.length)&&"0"!==e[1])throw new SyntaxError("Cannot use octal escape or backreference to undefined group "+e[0]);return e[0]},{scope:"all",leadChar:"\\"}),w.addToken(/\(\?P?<([\w$]+)>/,function(e){if(!isNaN(e[1]))throw new SyntaxError("Cannot use integer as capture name "+e[0]);if("length"===e[1]||"__proto__"===e[1])throw new SyntaxError("Cannot use reserved word as capture name "+e[0]);if(l(this.captureNames,e[1])>-1)throw new SyntaxError("Cannot use same name for multiple groups "+e[0]);return this.captureNames.push(e[1]),this.hasNamedCapture=!0,"("},{leadChar:"("}),w.addToken(/\((?!\?)/,function(e,t,r){return r.indexOf("n")>-1?"(?:":(this.captureNames.push(null),"(")},{optionalFlags:"n",leadChar:"("}),e.exports=w},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6);Object.keys(n).forEach(function(e){"default"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return n[e]}})});var s=r(7);Object.keys(s).forEach(function(e){"default"!==e&&Object.defineProperty(t,e,{enumerable:!0,get:function(){return s[e]}})})},function(e,t){"use strict";function r(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}Object.defineProperty(t,"__esModule",{value:!0});var n=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();t.Match=function(){function e(t,n,s){r(this,e),this.value=t,this.index=n,this.length=t.length,this.css=s,this.brushName=null}return n(e,[{key:"toString",value:function(){return this.value}}]),e}()},function(e,t,r){"use strict";function n(e,t){var r=[];t=t||[];for(var n=0,o=t.length;o>n;n++)"object"===s(t[n])&&(r=r.concat((0,i.find)(e,t[n])));return r=(0,i.sort)(r),r=(0,i.removeNested)(r),r=(0,i.compact)(r)}Object.defineProperty(t,"__esModule",{value:!0});var s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};t.applyRegexList=n;var i=r(8)},function(e,t,r){"use strict";function n(e,t){function r(e,t){return e[0]}for(var n=null,s=[],i=t.func?t.func:r,o=0;n=c.XRegExp.exec(e,t.regex,o);){var l=i(n,t);"string"==typeof l&&(l=[new a.Match(l,n.index,t.css)]),s=s.concat(l),o=n.index+n[0].length}return s}function s(e){function t(e,t){return e.index<t.index?-1:e.index>t.index?1:e.length<t.length?-1:e.length>t.length?1:0}return e.sort(t)}function i(e){var t,r,n=[];for(t=0,r=e.length;r>t;t++)e[t]&&n.push(e[t]);return n}function o(e){for(var t=0,r=e.length;r>t;t++)if(null!==e[t])for(var n=e[t],s=n.index+n.length,i=t+1,r=e.length;r>i&&null!==e[t];i++){var o=e[i];if(null!==o){if(o.index>s)break;o.index==n.index&&o.length>n.length?e[t]=null:o.index>=n.index&&o.index<s&&(e[i]=null)}}return e}Object.defineProperty(t,"__esModule",{value:!0}),t.find=n,t.sort=s,t.compact=i,t.removeNested=o;var a=r(6),c=r(3)},function(e,t){"use strict";function r(e,t){for(var r=e.toString();r.length<t;)r="0"+r;return r}function n(e){return e.split(/\r?\n/)}function s(e){var t,r,n,s={};for(t=e.highlight||[],"function"!=typeof t.push&&(t=[t]),n=0,r=t.length;r>n;n++)s[t[n]]=!0;return s}function i(e,t,r){var i=this;i.opts=r,i.code=e,i.matches=t,i.lines=n(e),i.linesToHighlight=s(r)}Object.defineProperty(t,"__esModule",{value:!0}),t["default"]=i,i.prototype={wrapLinesWithCode:function(e,t){if(null==e||0==e.length||"\n"==e||null==t)return e;var r,s,i,o,a,c=this,l=[];for(e=e.replace(/</g,"<"),e=e.replace(/ {2,}/g,function(e){for(i="",o=0,a=e.length;a-1>o;o++)i+=c.opts.space;return i+" "}),r=n(e),o=0,a=r.length;a>o;o++)s=r[o],i="",s.length>0&&(s=s.replace(/^( | )+/,function(e){return i=e,""}),s=0===s.length?i:i+'<code class="'+t+'">'+s+"</code>"),l.push(s);return l.join("\n")},processUrls:function(e){var t=/(.*)((>|<).*)/,r=/\w+:\/\/[\w-.\/?%&=:@;#]*/g;return e.replace(r,function(e){var r="",n=null;return(n=t.exec(e))&&(e=n[1],r=n[2]),'<a href="'+e+'">'+e+"</a>"+r})},figureOutLineNumbers:function(e){var t,r,n=[],s=this.lines,i=parseInt(this.opts.firstLine||1);for(t=0,r=s.length;r>t;t++)n.push(t+i);return n},wrapLine:function(e,t,r){var n=["line","number"+t,"index"+e,"alt"+(t%2==0?1:2).toString()];return this.linesToHighlight[t]&&n.push("highlighted"),0==t&&n.push("break"),'<div class="'+n.join(" ")+'">'+r+"</div>"},renderLineNumbers:function(e,t){var n,s,i=this,o=i.opts,a="",c=i.lines.length,l=parseInt(o.firstLine||1),u=o.padLineNumbers;for(1==u?u=(l+c-1).toString().length:1==isNaN(u)&&(u=0),s=0;c>s;s++)n=t?t[s]:l+s,e=0==n?o.space:r(n,u),a+=i.wrapLine(s,n,e);return a},getCodeLinesHtml:function(e,t){for(var r=this,s=r.opts,i=n(e),o=(s.padLineNumbers,parseInt(s.firstLine||1)),a=s.brush,e="",c=0,l=i.length;l>c;c++){var u=i[c],g=/^( |\s)+/.exec(u),d=null,p=t?t[c]:o+c;null!=g&&(d=g[0].toString(),u=u.substr(d.length),d=d.replace(" ",s.space)),0==u.length&&(u=s.space),e+=r.wrapLine(c,p,(null!=d?'<code class="'+a+' spaces">'+d+"</code>":"")+u)}return e},getTitleHtml:function(e){return e?"<caption>"+e+"</caption>":""},getMatchesHtml:function(e,t){function r(e){var t=e?e.brushName||u:u;return t?t+" ":""}var n,s,i,o,a=this,c=0,l="",u=a.opts.brush||"";for(i=0,o=t.length;o>i;i++)n=t[i],null!==n&&0!==n.length&&(s=r(n),l+=a.wrapLinesWithCode(e.substr(c,n.index-c),s+"plain")+a.wrapLinesWithCode(n.value,s+n.css),c=n.index+n.length+(n.offset||0));return l+=a.wrapLinesWithCode(e.substr(c),r()+"plain")},getHtml:function(){var e,t,r,n=this,s=n.opts,i=n.code,o=n.matches,a=["syntaxhighlighter"];return s.collapse===!0&&a.push("collapsed"),t=s.gutter!==!1,t||a.push("nogutter"),a.push(s.className),a.push(s.brush),t&&(e=n.figureOutLineNumbers(i)),r=n.getMatchesHtml(i,o),r=n.getCodeLinesHtml(r,e),s.autoLinks&&(r=n.processUrls(r)),r='\n <div class="'+a.join(" ")+'">\n <table border="0" cellpadding="0" cellspacing="0">\n '+n.getTitleHtml(s.title)+"\n <tbody>\n <tr>\n "+(t?'<td class="gutter">'+n.renderLineNumbers(i)+"</td>":"")+'\n <td class="code">\n <div class="container">'+r+"</div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n "}}},function(e,t){"use strict";function r(e){return e.split(/\r?\n/)}function n(e,t){for(var n=r(e),s=0,i=n.length;i>s;s++)n[s]=t(n[s],s);return n.join("\n")}function s(e){return(e||"")+Math.round(1e6*Math.random()).toString()}function i(e,t){var r,n={};for(r in e)n[r]=e[r];for(r in t)n[r]=t[r];return n}function o(e){return e.replace(/^\s+|\s+$/g,"")}function a(e){return Array.prototype.slice.apply(e)}function c(e){var t={"true":!0,"false":!1}[e];return null==t?e:t}e.exports={splitLines:r,eachLine:n,guid:s,merge:i,trim:o,toArray:a,toBoolean:c}},function(e,t,r){"use strict";var n=r(12),s=r(13),i=r(14),o=r(15),a=r(16);e.exports=function(e,t){e=n(e,t),e=s(e,t),e=i(e,t),e=o.unindent(e,t);var r=t["tab-size"];return e=t["smart-tabs"]===!0?a.smart(e,r):a.regular(e,r)}},function(e,t){"use strict";e.exports=function(e,t){return e.replace(/^[ ]*[\n]+|[\n]*[ ]*$/g,"").replace(/\r/g," ")}},function(e,t){"use strict";e.exports=function(e,t){var r=/<br\s*\/?>|<br\s*\/?>/gi;return t.bloggerMode===!0&&(e=e.replace(r,"\n")),e}},function(e,t){"use strict";e.exports=function(e,t){var r=/<br\s*\/?>|<br\s*\/?>/gi;return t.stripBrs===!0&&(e=e.replace(r,"")),e}},function(e,t){"use strict";function r(e){return/^\s*$/.test(e)}e.exports={unindent:function(e){var t,n,s,i,o=e.split(/\r?\n/),a=/^\s*/,c=1e3;for(s=0,i=o.length;i>s&&c>0;s++)if(t=o[s],!r(t)){if(n=a.exec(t),null==n)return e;c=Math.min(n[0].length,c)}if(c>0)for(s=0,i=o.length;i>s;s++)r(o[s])||(o[s]=o[s].substr(c));return o.join("\n")}}},function(e,t){"use strict";function r(e,t,r){return e.substr(0,t)+n.substr(0,r)+e.substr(t+1,e.length)}for(var n="",s=0;50>s;s++)n+=" ";e.exports={smart:function(e,t){var n,s,i,o,a=e.split(/\r?\n/),c=" ";for(i=0,o=a.length;o>i;i++)if(n=a[i],-1!==n.indexOf(c)){for(s=0;-1!==(s=n.indexOf(c));)n=r(n,s,t-s%t);a[i]=n}return a.join("\n")},regular:function(e,t){return e.replace(/\t/g,n.substr(0,t))}}},function(e,t){"use strict";function r(){for(var e=document.getElementsByTagName("script"),t=[],r=0;r<e.length;r++)("text/syntaxhighlighter"==e[r].type||"syntaxhighlighter"==e[r].type)&&t.push(e[r]);return t}function n(e,t){return-1!=e.className.indexOf(t)}function s(e,t){n(e,t)||(e.className+=" "+t)}function i(e,t){e.className=e.className.replace(t,"")}function o(e,t,r,n){function s(e){e=e||window.event,e.target||(e.target=e.srcElement,e.preventDefault=function(){this.returnValue=!1}),r.call(n||window,e)}e.attachEvent?e.attachEvent("on"+t,s):e.addEventListener(t,s,!1)}function a(e,t,r){if(null==e)return null;var n,s,i=1!=r?e.childNodes:[e.parentNode],o={"#":"id",".":"className"}[t.substr(0,1)]||"nodeName";if(n="nodeName"!=o?t.substr(1):t.toUpperCase(),-1!=(e[o]||"").indexOf(n))return e;for(var c=0,l=i.length;i&&l>c&&null==s;c++)s=a(i[c],t,r);return s}function c(e,t){return a(e,t,!0)}function l(e,t,r,n,s){var i=(screen.width-r)/2,o=(screen.height-n)/2;s+=", left="+i+", top="+o+", width="+r+", height="+n,s=s.replace(/^,/,"");var a=window.open(e,t,s);return a.focus(),a}function u(e){return document.getElementsByTagName(e)}function g(e){var t,r,n=u(e.tagName);if(e.useScriptTags)for(t=u("script"),r=0;r<t.length;r++)t[r].type.match(/^(text\/)?syntaxhighlighter$/)&&n.push(t[r]);return n}function d(e){return document.createElement(e)}function p(e){var t=e.target,r=c(t,".syntaxhighlighter"),n=c(t,".container"),l=document.createElement("textarea");if(n&&r&&!a(n,"textarea")){s(r,"source");for(var u=n.childNodes,g=[],d=0,p=u.length;p>d;d++)g.push(u[d].innerText||u[d].textContent);g=g.join("\r"),g=g.replace(/\u00a0/g," "),l.readOnly=!0,l.appendChild(document.createTextNode(g)),n.appendChild(l),l.focus(),l.select(),o(l,"blur",function(e){l.parentNode.removeChild(l),i(r,"source")})}}e.exports={quickCodeHandler:p,create:d,popup:l,hasClass:n,addClass:s,removeClass:i,attachEvent:o,findElement:a,findParentElement:c,getSyntaxHighlighterScriptTags:r,findElementsToHighlight:g}},function(e,t){"use strict";e.exports={space:" ",useScriptTags:!0,bloggerMode:!1,stripBrs:!1,tagName:"pre"}},function(e,t){"use strict";e.exports={"class-name":"","first-line":1,"pad-line-numbers":!1,highlight:null,title:null,"smart-tabs":!0,"tab-size":4,gutter:!0,"quick-code":!0,collapse:!1,"auto-links":!0,unindent:!0,"html-script":!1}},function(e,t,r){(function(t){"use strict";function n(e,t){function r(e,t){for(var r=0,n=e.length;n>r;r++)e[r].index+=t}function n(e,n){function o(e){l=l.concat(e)}var a,c=e.code,l=[],u=i.regexList,g=e.index+e.left.length,d=i.htmlScript;a=s(c,u),r(a,g),o(a),null!=d.left&&null!=e.left&&(a=s(e.left,[d.left]),r(a,e.index),o(a)),null!=d.right&&null!=e.right&&(a=s(e.right,[d.right]),r(a,e.index+e[0].lastIndexOf(e.right)),o(a));for(var p=0,f=l.length;f>p;p++)l[p].brushName=t.brushName;return l}var i,o=new e;if(null!=t){if(i=new t,null==i.htmlScript)throw new Error("Brush wasn't configured for html-script option: "+t.brushName);o.regexList.push({regex:i.htmlScript.code,func:n}),this.regexList=o.regexList}}var s=r(5).applyRegexList;e.exports=n}).call(t,r(21))},function(e,t){"use strict";function r(){g&&l&&(g=!1,l.length?u=l.concat(u):d=-1,u.length&&n())}function n(){if(!g){var e=o(r);g=!0;for(var t=u.length;t;){for(l=u,u=[];++d<t;)l&&l[d].run();d=-1,t=u.length}l=null,g=!1,a(e)}}function s(e,t){this.fun=e,this.array=t}function i(){}var o,a,c=e.exports={};!function(){try{o=setTimeout}catch(e){o=function(){throw new Error("setTimeout is not defined")}}try{a=clearTimeout}catch(e){a=function(){throw new Error("clearTimeout is not defined")}}}();var l,u=[],g=!1,d=-1;c.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)t[r-1]=arguments[r];u.push(new s(e,t)),1!==u.length||g||o(n,0)},s.prototype.run=function(){this.fun.apply(null,this.array)},c.title="browser",c.browser=!0,c.env={},c.argv=[],c.version="",c.versions={},c.on=i,c.addListener=i,c.once=i,c.off=i,c.removeListener=i,c.removeAllListeners=i,c.emit=i,c.binding=function(e){throw new Error("process.binding is not supported")},c.cwd=function(){return"/"},c.chdir=function(e){throw new Error("process.chdir is not supported")},c.umask=function(){return 0}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var i=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),o=r(9),a=n(o),c=r(3),l=r(5);e.exports=function(){function e(){s(this,e)}return i(e,[{key:"getKeywords",value:function(e){var t=e.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"|");return"\\b(?:"+t+")\\b"}},{key:"forHtmlScript",value:function(e){var t={end:e.right.source};e.eof&&(t.end="(?:(?:"+t.end+")|$)"),this.htmlScript={left:{regex:e.left,css:"script"},right:{regex:e.right,css:"script"},code:(0,c.XRegExp)("(?<left>"+e.left.source+")(?<code>.*?)(?<right>"+t.end+")","sgi")}}},{key:"getHtml",value:function(e){var t=arguments.length<=1||void 0===arguments[1]?{}:arguments[1],r=(0,l.applyRegexList)(e,this.regexList),n=new a["default"](e,r,t);return n.getHtml()}}]),e}()},function(e,t,r){"use strict";function n(){var e="after before beginning continue copy each end every from return get global in local named of set some that the then times to where whose with without",t="first second third fourth fifth sixth seventh eighth ninth tenth last front back middle",r="activate add alias ask attachment boolean class constant delete duplicate empty exists id integer list make message modal modified new no pi properties quit real record remove rest result reveal reverse run running save string word yes";this.regexList=[{regex:/(--|#).*$/gm,css:"comments"},{regex:/\(\*(?:[\s\S]*?\(\*[\s\S]*?\*\))*[\s\S]*?\*\)/gm,css:"comments"},{regex:/"[\s\S]*?"/gm,css:"string"},{regex:/(?:,|:|¬|'s\b|\(|\)|\{|\}|«|\b\w*»)/g,css:"color1"},{regex:/(-)?(\d)+(\.(\d)?)?(E\+(\d)+)?/g,css:"color1"},{regex:/(?:&(amp;|gt;|lt;)?|=|� |>|<|≥|>=|≤|<=|\*|\+|-|\/|÷|\^)/g,css:"color2"},{regex:/\b(?:and|as|div|mod|not|or|return(?!\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\b/g,css:"keyword"},{regex:/\b\d+(st|nd|rd|th)\b/g,css:"keyword"},{regex:/\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\b/g,css:"color3"},{regex:/\b(?:adding folder items to|after receiving|clipboard info|set the clipboard to|(the )?clipboard|entire contents|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|return(ed)?|second(?! item)(s)?|list (disks|folder)|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|starting at|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\b/g, php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/syntaxhighlighter.js:2:css:"color4"},{regex:/\b(?:tracks|paragraph|text item(s)?)\b/g,css:"classes"},{regex:/\b(?:AppleScript|album|video kind|grouping|length|text item delimiters|quoted form|POSIX path(?= of))\b/g,css:"properties"},{regex:/\b(?:run|exists|count)\b/g,css:"commandNames"},{regex:/\b(?:POSIX (file|path))\b/g,css:"additionClasses"},{regex:/\b(?:message|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|regexp|string result|using( delimiters)?|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor))\b/g,css:"additionParameterNames"},{regex:/\b(?:display(ing| (alert|dialog|mode))?|choose( ((remote )?application|color|folder|from list|URL))?|(do( shell)?|load|run|store) script|re_compile|find text)\b/g,css:"additionCommandNames"},{regex:/\b(?:xxx)\b/g,css:"parameterNames"},{regex:/\b(?:true|false|none)\b/g,css:"enumeratedValues"},{regex:new RegExp(this.getKeywords(r),"gm"),css:"color3"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"}]}var s=r(22);r(3).commonRegExp;n.prototype=new s,n.aliases=["applescript"],e.exports=n},function(e,t,r){"use strict";function n(){var e="class interface function package",t="-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape extends false final finally flash_proxy for get if implements import in include Infinity instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null Null Number Object object_proxy override parseFloat parseInt private protected public return set static String super switch this throw true try typeof uint undefined unescape use void while with";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,css:"value"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"color3"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"},{regex:new RegExp("var","gm"),css:"variable"},{regex:new RegExp("trace","gm"),css:"color1"}],this.forHtmlScript(i.scriptScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["actionscript3","as3"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e,t){var r=[];return null!=e.here_doc&&r.push(new a(e.here_doc,e.index+e[0].indexOf(e.here_doc),"string")),null!=e.full_tag&&r.push(new a(e.full_tag,e.index,"preprocessor")),null!=e.end_tag&&r.push(new a(e.end_tag,e.index+e[0].lastIndexOf(e.end_tag),"preprocessor")),r}var t="if fi then elif else for do done until while break continue case esac function return in eq ne ge le",r="alias apropos awk basename base64 bash bc bg builtin bunzip2 bzcat bzip2 bzip2recover cal cat cd cfdisk chgrp chmod chown chrootcksum clear cmp comm command cp cron crontab crypt csplit cut date dc dd ddrescue declare df diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format free fsck ftp gawk gcc gdb getconf getopts grep groups gunzip gzcat gzip hash head history hostname id ifconfig import install join kill less let ln local locate logname logout look lpc lpr lprint lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools mv nasm nc ndisasm netstat nice nl nohup nslookup objdump od open op passwd paste pathchk ping popd pr printcap printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown sleep sort source split ssh strace strings su sudo sum symlink sync tail tar tee test time times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir vi watch wc whereis which who whoami Wget xargs xxd yes chsh zcat";this.regexList=[{regex:/^#!.*$/gm,css:"preprocessor bold"},{regex:/\/[\w-\/]+/gm,css:"plain"},{regex:i.singleLinePerlComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"},{regex:new RegExp(this.getKeywords(r),"gm"),css:"functions"},{regex:new o("(?<full_tag>(<|<){2}(?<tag>\\w+)) .*$(?<here_doc>[\\s\\S]*)(?<end_tag>^\\k<tag>$)","gm"),func:e}]}var s=r(22),i=r(3).commonRegExp,o=r(3).XRegExp,a=r(5).Match;n.prototype=new s,n.aliases=["bash","shell","sh"],e.exports=n},function(e,t,r){"use strict";function n(){var e="Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform XmlValidate Year YesNoFormat",t="cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfwindow cfxml cfzip cfzipparam",r="all and any between cross in join like not null or outer some";this.regexList=[{regex:new RegExp("--(.*)$","gm"),css:"comments"},{regex:i.xmlComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:new RegExp(this.getKeywords(e),"gmi"),css:"functions"},{regex:new RegExp(this.getKeywords(r),"gmi"),css:"color1"},{regex:new RegExp(this.getKeywords(t),"gmi"),css:"keyword"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["coldfusion","cf"],e.exports=n},function(e,t,r){"use strict";function n(){var e="ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM char char16_t char32_t bool short int __int32 __int64 __int8 __int16 long float double __wchar_t clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t __wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler sig_atomic_t size_t _stat __stat64 _stati64 terminate_function time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf va_list wchar_t wctrans_t wctype_t wint_t signed",t="alignas alignof auto break case catch class const constexpr decltype __finally __exception __try const_cast continue private public protected __declspec default delete deprecated dllexport dllimport do dynamic_cast else enum explicit extern if for friend goto inline mutable naked namespace new noinline noreturn nothrow noexcept nullptr register reinterpret_cast return selectany sizeof static static_cast static_assert struct switch template this thread thread_local throw true false try typedef typeid typename union using uuid virtual void volatile whcar_t while",r="assert isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper errno localeconv setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell fwrite getc getchar gets perror printf putc putchar puts remove rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs mbtowc qsort rand realloc srand strtod strtol strtoul system wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr strcmp strcoll strcpy strcspn strerror strlen strncat strncmp strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime clock ctime difftime gmtime localtime mktime strftime time";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/^ *#.*/gm,css:"preprocessor"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"color1 bold"},{regex:new RegExp(this.getKeywords(r),"gm"),css:"functions bold"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword bold"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["cpp","cc","c++","c","h","hpp","h++"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e,t){var r=0==e[0].indexOf("///")?"color1":"comments";return[new o(e[0],e.index,r)]}var t="abstract as base bool break byte case catch char checked class const continue decimal default delegate do double else enum event explicit volatile extern false finally fixed float for foreach get goto if implicit in int interface internal is lock long namespace new null object operator out override params private protected public readonly ref return sbyte sealed set short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual void while var from group by into select let where orderby join on equals ascending descending";this.regexList=[{regex:i.singleLineCComments,func:e},{regex:i.multiLineCComments,css:"comments"},{regex:/@"(?:[^"]|"")*"/g,css:"string"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/^\s*#.*/gm,css:"preprocessor"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"},{regex:/\bpartial(?=\s+(?:class|interface|struct)\b)/g,css:"keyword"},{regex:/\byield(?=\s+(?:return|break)\b)/g,css:"keyword"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp,o=r(5).Match;n.prototype=new s,n.aliases=["c#","c-sharp","csharp"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e){return"\\b([a-z_]|)"+e.replace(/ /g,"(?=:)\\b|\\b([a-z_\\*]|\\*|)")+"(?=:)\\b"}function t(e){return"\\b"+e.replace(/ /g,"(?!-)(?!:)\\b|\\b()")+":\\b"}var r="ascent azimuth background-attachment background-color background-image background-position background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index",n="above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow",s="[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif";this.regexList=[{regex:i.multiLineCComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/\#[a-fA-F0-9]{3,6}/g,css:"value"},{regex:/(-?\d+)(\.\d+)?(px|em|pt|\:|\%|)/g,css:"value"},{regex:/!important/g,css:"color3"},{regex:new RegExp(e(r),"gm"),css:"keyword"},{regex:new RegExp(t(n),"g"),css:"value"},{regex:new RegExp(this.getKeywords(s),"g"),css:"color1"}],this.forHtmlScript({left:/(<|<)\s*style.*?(>|>)/gi,right:/(<|<)\/\s*style\s*(>|>)/gi})}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["css"],e.exports=n},function(e,t,r){"use strict";function n(){var e="abs addr and ansichar ansistring array as asm begin boolean byte cardinal case char class comp const constructor currency destructor div do double downto else end except exports extended false file finalization finally for function goto if implementation in inherited int64 initialization integer interface is label library longint longword mod nil not object of on or packed pansichar pansistring pchar pcurrency pdatetime pextended pint64 pointer private procedure program property pshortstring pstring pvariant pwidechar pwidestring protected public published raise real real48 record repeat set shl shortint shortstring shr single smallint string then threadvar to true try type unit until uses val var varirnt while widechar widestring with word write writeln xor";this.regexList=[{regex:/\(\*[\s\S]*?\*\)/gm,css:"comments"},{regex:/{(?!\$)[\s\S]*?}/gm,css:"comments"},{regex:i.singleLineCComments,css:"comments"},{regex:i.singleQuotedString,css:"string"},{regex:/\{\$[a-zA-Z]+ .+\}/g,css:"color1"},{regex:/\b[\d\.]+\b/g,css:"value"},{regex:/\$[a-zA-Z0-9]+\b/g,css:"value"},{regex:new RegExp(this.getKeywords(e),"gmi"),css:"keyword"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["delphi","pascal","pas"],e.exports=n},function(e,t,r){"use strict";function n(){this.regexList=[{regex:/^\+\+\+ .*$/gm,css:"color2"},{regex:/^\-\-\- .*$/gm,css:"color2"},{regex:/^\s.*$/gm,css:"color1"},{regex:/^@@.*@@.*$/gm,css:"variable"},{regex:/^\+.*$/gm,css:"string"},{regex:/^\-.*$/gm,css:"color3"}]}var s=r(22);r(3).commonRegExp;n.prototype=new s,n.aliases=["diff","patch"],e.exports=n},function(e,t,r){"use strict";function n(){var e="after and andalso band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse query receive rem try when xor module export import define";this.regexList=[{regex:new RegExp("[A-Z][A-Za-z0-9_]+","g"),css:"constants"},{regex:new RegExp("\\%.+","gm"),css:"comments"},{regex:new RegExp("\\?[A-Za-z0-9_]+","g"),css:"preprocessor"},{regex:new RegExp("[a-z0-9_]+:[a-z0-9_]+","g"),css:"functions"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["erl","erlang"],e.exports=n},function(e,t,r){"use strict";function n(){var e="as assert break case catch class continue def default do else extends finally if in implements import instanceof interface new package property return switch throw throws try while public protected private static",t="void boolean byte char short int long float double",r="null",n="allProperties count get size collect each eachProperty eachPropertyName eachWithIndex find findAll findIndexOf grep inject max min reverseEach sort asImmutable asSynchronized flatten intersect join pop reverse subMap toList padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText splitEachLine withReader append encodeBase64 decodeBase64 filterLine transformChar transformLine withOutputStream withPrintWriter withStream withStreams withWriter withWriterAppend write writeLine dump inspect invokeMethod print println step times upto use waitForOrKill getText";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/""".*"""/g,css:"string"},{regex:new RegExp("\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b","gi"),css:"value"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"color1"},{regex:new RegExp(this.getKeywords(r),"gm"),css:"constants"},{regex:new RegExp(this.getKeywords(n),"gm"),css:"functions"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["groovy"],e.exports=n},function(e,t,r){"use strict";function n(){var e="class interface package macro enum typedef extends implements dynamic in for if while else do try switch case catch",t="return break continue new throw cast using import function public private inline static untyped callback true false null Int Float String Void Std Bool Dynamic Array Vector";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/\b([\d]+(\.[\d]+)?|0x[a-f0-9]+)\b/gi,css:"value"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"color3"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"},{regex:new RegExp("var","gm"),css:"variable"},{regex:new RegExp("trace","gm"),css:"color1"},{regex:new RegExp("#if","gm"),css:"comments"},{regex:new RegExp("#elseif","gm"),css:"comments"},{regex:new RegExp("#end","gm"),css:"comments"},{regex:new RegExp("#error","gm"),css:"comments"}];var r,n=["debug","error","cpp","js","neko","php","flash","flash8","flash9","flash10","flash10","mobile","desktop","web","ios","android","iphone"],s=n.length;for(r=0;s-1>=r;r++)this.regexList.push({regex:new RegExp(n[r],"gm"),css:"comments"}),this.regexList.push({regex:new RegExp("!"+n[r],"gm"),css:"comments"});this.forHtmlScript(i.scriptScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["haxe","hx"],e.exports=n},function(e,t,r){"use strict";function n(){var e="abstract assert boolean break byte case catch char class const continue default do double else enum extends false final finally float for goto if implements import instanceof int interface long native new null package private protected public return short static strictfp super switch synchronized this throw throws true transient try void volatile while";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:/\/\*([^\*][\s\S]*?)?\*\//gm,css:"comments"},{regex:/\/\*(?!\*\/)\*[\s\S]*?\*\//gm,css:"preprocessor"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/\b([\d]+(\.[\d]+)?f?|[\d]+l?|0x[a-f0-9]+)\b/gi,css:"value"},{regex:/(?!\@interface\b)\@[\$\w]+\b/g,css:"color1"},{regex:/\@interface\b/g,css:"color2"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"}],this.forHtmlScript({left:/(<|<)%[@!=]?/g,right:/%(>|>)/g})}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["java"],e.exports=n},function(e,t,r){"use strict";function n(){var e="Boolean Byte Character Double Duration Float Integer Long Number Short String Void",t="abstract after and as assert at before bind bound break catch class continue def delete else exclusive extends false finally first for from function if import in indexof init insert instanceof into inverse last lazy mixin mod nativearray new not null on or override package postinit protected public public-init public-read replace return reverse sizeof step super then this throw true try tween typeof var where while with attribute let private readonly static trigger";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.singleQuotedString,css:"string"},{regex:i.doubleQuotedString,css:"string"},{regex:/(-?\.?)(\b(\d*\.?\d+|\d+\.?\d*)(e[+-]?\d+)?|0x[a-f\d]+)\b\.?/gi,css:"color2"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"variable"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["jfx","javafx"],e.exports=n},function(e,t,r){"use strict";function n(){var e="break case catch class continue default delete do else enum export extends false for from as function if implements import in instanceof interface let new null package private protected static return super switch this throw true try typeof var while with yield";this.regexList=[{regex:i.multiLineDoubleQuotedString,css:"string"},{regex:i.multiLineSingleQuotedString,css:"string"},{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:/\s*#.*/gm,css:"preprocessor"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"}],this.forHtmlScript(i.scriptScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["js","jscript","javascript","json"],e.exports=n},function(e,t,r){"use strict";function n(){var e="abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr chroot close closedir connect cos crypt defined delete each endgrent endhostent endnetent endprotoent endpwent endservent eof exec exists exp fcntl fileno flock fork format formline getc getgrent getgrgid getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr getnetbyname getnetent getpeername getpgrp getppid getpriority getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid getservbyname getservbyport getservent getsockname getsockopt glob gmtime grep hex index int ioctl join keys kill lc lcfirst length link listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd oct open opendir ord pack pipe pop pos print printf prototype push quotemeta rand read readdir readline readlink readpipe recv rename reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl semget semop send setgrent sethostent setnetent setpgrp setpriority setprotoent setpwent setservent setsockopt shift shmctl shmget shmread shmwrite shutdown sin sleep socket socketpair sort splice split sprintf sqrt srand stat study substr symlink syscall sysopen sysread sysseek system syswrite tell telldir time times tr truncate uc ucfirst umask undef unlink unpack unshift utime values vec wait waitpid warn write say",t="bless caller continue dbmclose dbmopen die do dump else elsif eval exit for foreach goto if import last local my next no our package redo ref require return sub tie tied unless untie until use wantarray while given when default try catch finally has extends with before after around override augment";this.regexList=[{regex:/(<<|<<)((\w+)|(['"])(.+?)\4)[\s\S]+?\n\3\5\n/g,css:"string"},{regex:/#.*$/gm,css:"comments"},{regex:/^#!.*\n/g,css:"preprocessor"},{regex:/-?\w+(?=\s*=(>|>))/g,css:"string"},{regex:/\bq[qwxr]?\([\s\S]*?\)/g,css:"string"},{regex:/\bq[qwxr]?\{[\s\S]*?\}/g,css:"string"},{regex:/\bq[qwxr]?\[[\s\S]*?\]/g,css:"string"},{regex:/\bq[qwxr]?(<|<)[\s\S]*?(>|>)/g,css:"string"},{regex:/\bq[qwxr]?([^\w({<[])[\s\S]*?\1/g,css:"string"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/(?:&|[$@%*]|\$#)\$?[a-zA-Z_](\w+|::)*/g,css:"variable"},{regex:/\b__(?:END|DATA)__\b[\s\S]*$/g,css:"comments"},{regex:/(^|\n)=\w[\s\S]*?(\n=cut\s*(?=\n)|$)/g,css:"comments"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"functions"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"keyword"}],this.forHtmlScript(i.phpScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["perl","Perl","pl"],e.exports=n},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/syntaxhighlighter.js:3:return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}Object.defineProperty(t,"__esModule",{value:!0});var a=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),c=r(22),l=n(c),u=r(3),g="abs acos acosh addcslashes addslashes array_change_key_case array_chunk array_combine array_count_values array_diff array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill array_filter array_flip array_intersect array_intersect_assoc array_intersect_key array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map array_merge array_merge_recursive array_multisort array_pad array_pop array_product array_push array_rand array_reduce array_reverse array_search array_shift array_slice array_splice array_sum array_udiff array_udiff_assoc array_udiff_uassoc array_uintersect array_uintersect_assoc array_uintersect_uassoc array_unique array_unshift array_values array_walk array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists closedir closelog copy cos cosh count count_chars date decbin dechex decoct deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime strtoupper strtr strval substr substr_compare",d="abstract and array as break case catch cfunction class clone const continue declare default die do else elseif enddeclare endfor endforeach endif endswitch endwhile extends final finally for foreach function global goto if implements include include_once interface instanceof insteadof namespace new old_function or private protected public return require require_once static switch trait throw try use const while xor yield ",p="__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__",f=function(e){function t(){s(this,t);var e=i(this,Object.getPrototypeOf(t).call(this));return e.regexList=[{regex:u.commonRegExp.singleLineCComments,css:"comments"},{regex:u.commonRegExp.multiLineCComments,css:"comments"},{regex:u.commonRegExp.doubleQuotedString,css:"string"},{regex:u.commonRegExp.singleQuotedString,css:"string"},{regex:/\$\w+/g,css:"variable"},{regex:new RegExp(e.getKeywords(g),"gmi"),css:"functions"},{regex:new RegExp(e.getKeywords(p),"gmi"),css:"constants"},{regex:new RegExp(e.getKeywords(d),"gm"),css:"keyword"}],e.forHtmlScript(u.commonRegExp.phpScriptTags),e}return o(t,e),a(t,null,[{key:"aliases",get:function(){return["php"]}}]),t}(l["default"]);t["default"]=f},function(e,t,r){"use strict";function n(){this.regexList=[]}var s=r(22);r(3).commonRegExp;n.prototype=new s,n.aliases=["text","plain"],e.exports=n},function(e,t,r){"use strict";function n(){var e="while validateset validaterange validatepattern validatelength validatecount until trap switch return ref process param parameter in if global: function foreach for finally filter end elseif else dynamicparam do default continue cmdletbinding break begin alias \\? % #script #private #local #global mandatory parametersetname position valuefrompipeline valuefrompipelinebypropertyname valuefromremainingarguments helpmessage ",t=" and as band bnot bor bxor casesensitive ccontains ceq cge cgt cle clike clt cmatch cne cnotcontains cnotlike cnotmatch contains creplace eq exact f file ge gt icontains ieq ige igt ile ilike ilt imatch ine inotcontains inotlike inotmatch ireplace is isnot le like lt match ne not notcontains notlike notmatch or regex replace wildcard",r="write where wait use update unregister undo trace test tee take suspend stop start split sort skip show set send select scroll resume restore restart resolve resize reset rename remove register receive read push pop ping out new move measure limit join invoke import group get format foreach export expand exit enter enable disconnect disable debug cxnew copy convertto convertfrom convert connect complete compare clear checkpoint aggregate add",n=" component description example externalhelp forwardhelpcategory forwardhelptargetname forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsis";this.regexList=[{regex:new RegExp("^\\s*#[#\\s]*\\.("+this.getKeywords(n)+").*$","gim"),css:"preprocessor help bold"},{regex:i.singleLinePerlComments,css:"comments"},{regex:/(<|<)#[\s\S]*?#(>|>)/gm,css:"comments here"},{regex:new RegExp('@"\\n[\\s\\S]*?\\n"@',"gm"),css:"script string here"},{regex:new RegExp("@'\\n[\\s\\S]*?\\n'@","gm"),css:"script string single here"},{regex:new RegExp('"(?:\\$\\([^\\)]*\\)|[^"]|`"|"")*[^`]"',"g"),css:"string"},{regex:new RegExp("'(?:[^']|'')*'","g"),css:"string single"},{regex:new RegExp("[\\$|@|@@](?:(?:global|script|private|env):)?[A-Z0-9_]+","gi"),css:"variable"},{regex:new RegExp("(?:\\b"+r.replace(/ /g,"\\b|\\b")+")-[a-zA-Z_][a-zA-Z0-9_]*","gmi"),css:"functions"},{regex:new RegExp(this.getKeywords(e),"gmi"),css:"keyword"},{regex:new RegExp("-"+this.getKeywords(t),"gmi"),css:"operator value"},{regex:new RegExp("\\[[A-Z_\\[][A-Z0-9_. `,\\[\\]]*\\]","gi"),css:"constants"},{regex:new RegExp("\\s+-(?!"+this.getKeywords(t)+")[a-zA-Z_][a-zA-Z0-9_]*","gmi"),css:"color1"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["powershell","ps","posh"],e.exports=n},function(e,t,r){"use strict";function n(){var e="and assert break class continue def del elif else except exec finally for from global if import in is lambda not or pass raise return try yield while",t="__import__ abs all any apply basestring bin bool buffer callable chr classmethod cmp coerce compile complex delattr dict dir divmod enumerate eval execfile file filter float format frozenset getattr globals hasattr hash help hex id input int intern isinstance issubclass iter len list locals long map max min next object oct open ord pow print property range raw_input reduce reload repr reversed round set setattr slice sorted staticmethod str sum super tuple type type unichr unicode vars xrange zip",r="None True False self cls class_";this.regexList=[{regex:i.singleLinePerlComments,css:"comments"},{regex:/^\s*@\w+/gm,css:"decorator"},{regex:/(['\"]{3})([^\1])*?\1/gm,css:"comments"},{regex:/"(?!")(?:\.|\\\"|[^\""\n])*"/gm,css:"string"},{regex:/'(?!')(?:\.|(\\\')|[^\''\n])*'/gm,css:"string"},{regex:/\+|\-|\*|\/|\%|=|==/gm,css:"keyword"},{regex:/\b\d+\.?\w*/g,css:"value"},{regex:new RegExp(this.getKeywords(t),"gmi"),css:"functions"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"},{regex:new RegExp(this.getKeywords(r),"gm"),css:"color1"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["py","python"],e.exports=n},function(e,t,r){"use strict";function n(){var e="alias and BEGIN begin break case class def define_method defined do each else elsif END end ensure false for if in module new next nil not or raise redo rescue retry return self super then throw true undef unless until when while yield",t="Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ThreadGroup Thread Time TrueClass";this.regexList=[{regex:i.singleLinePerlComments,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/\b[A-Z0-9_]+\b/g,css:"constants"},{regex:/:[a-z][A-Za-z0-9_]*/g,css:"color2"},{regex:/(\$|@@|@)\w+/g,css:"variable bold"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"},{regex:new RegExp(this.getKeywords(t),"gm"),css:"color1"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["ruby","rails","ror","rb"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e){return"\\b([a-z_]|)"+e.replace(/ /g,"(?=:)\\b|\\b([a-z_\\*]|\\*|)")+"(?=:)\\b"}function t(e){return"\\b"+e.replace(/ /g,"(?!-)(?!:)\\b|\\b()")+":\\b"}function r(e,t){return"(?:"+e.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"|"+t+"\\b").replace(/^/,t+"\\b")+")\\b"}var n="ascent azimuth background-attachment background-color background-image background-position background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index zoom",s="above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow",o="[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif",a="important default",c="import extend debug warn if else for while mixin function include content media",l=i;this.regexList=[{regex:l.multiLineCComments,css:"comments"},{regex:l.singleLineCComments,css:"comments"},{regex:l.doubleQuotedString,css:"string"},{regex:l.singleQuotedString,css:"string"},{regex:/\#[a-fA-F0-9]{3,6}/g,css:"value"},{regex:/\b(-?\d+)(\.\d+)?(px|em|rem|pt|\:|\%|)\b/g,css:"value"},{regex:/\$[\w-]+/g,css:"variable"},{regex:new RegExp(r(a,"!"),"g"),css:"color3"},{regex:new RegExp(r(c,"@"),"g"),css:"preprocessor"},{regex:new RegExp(e(n),"gm"),css:"keyword"},{regex:new RegExp(t(s),"g"),css:"value"},{regex:new RegExp(this.getKeywords(o),"g"),css:"color1"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["sass","scss"],e.exports=n},function(e,t,r){"use strict";function n(){var e="val sealed case def true trait implicit forSome import match object null finally super override try lazy for var catch throw type extends class while with new final yield abstract else do if return protected private this package false",t="[_:=><%#@]+";this.regexList=[{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:i.multiLineSingleQuotedString,css:"string"},{regex:i.multiLineDoubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"},{regex:/0x[a-f0-9]+|\d+(\.\d+)?/gi,css:"value"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"},{regex:new RegExp(t,"gm"),css:"keyword"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["scala"],e.exports=n},function(e,t,r){"use strict";function n(){var e="abs avg case cast coalesce convert count current_timestamp current_user day isnull left lower month nullif replace right session_user space substring sum system_user upper user year",t="absolute action add after alter as asc at authorization begin bigint binary bit by cascade char character check checkpoint close collate column commit committed connect connection constraint contains continue create cube current current_date current_time cursor database date deallocate dec decimal declare default delete desc distinct double drop dynamic else end end-exec escape except exec execute false fetch first float for force foreign forward free from full function global goto grant group grouping having hour ignore index inner insensitive insert instead int integer intersect into is isolation key last level load local max min minute modify move name national nchar next no numeric of off on only open option order out output partial password precision prepare primary prior privileges procedure public read real references relative repeatable restrict return returns revoke rollback rollup rows rule schema scroll second section select sequence serializable set size smallint static statistics table temp temporary then time timestamp to top transaction translation trigger true truncate uncommitted union unique update values varchar varying view when where with work",r="all and any between cross in join like not null or outer some";this.regexList=[{regex:/--(.*)$/gm,css:"comments"},{regex:/\/\*([^\*][\s\S]*?)?\*\//gm,css:"comments"},{regex:i.multiLineDoubleQuotedString,css:"string"},{regex:i.multiLineSingleQuotedString,css:"string"},{regex:new RegExp(this.getKeywords(e),"gmi"),css:"color2"},{regex:new RegExp(this.getKeywords(r),"gmi"),css:"color1"},{regex:new RegExp(this.getKeywords(t),"gmi"),css:"keyword"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["sql"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e,t){return"(?:"+e.replace(/^\s+|\s+$/g,"").replace(/\s+/g,"|"+t+"\\b").replace(/^/,t+"\\b")+")\\b"}function t(e,t){for(var r=e[0],n=[],s=0,i=0,a=0;s<r.length-1;){var c=r.substr(s,2);0==a?"/*"==c?(i=s,a++,s+=2):s++:"/*"==c?(a++,s+=2):"*/"==c?(a--,0==a&&n.push(new o(r.substring(i,s+2),i+e.index,t.css)),s+=2):s++}return n}function r(e,t){for(var r=e[0],n=[],s=0,i=0,a=0;s<r.length-1;)0==a?"\\("==r.substr(s,2)?(n.push(new o(r.substring(i,s+2),i+e.index,t.css)),a++,s+=2):s++:("("==r[s]&&a++,")"==r[s]&&(a--,0==a&&(i=s)),s++);return 0==a&&n.push(new o(r.substring(i,r.length),i+e.index,t.css)),n}var n="AbsoluteValuable Any AnyClass Array ArrayBound ArrayBuffer ArrayBufferType ArrayLiteralConvertible ArrayType AutoreleasingUnsafePointer BidirectionalIndex Bit BitwiseOperations Bool C CBool CChar CChar16 CChar32 CConstPointer CConstVoidPointer CDouble CFloat CInt CLong CLongLong CMutablePointer CMutableVoidPointer COpaquePointer CShort CSignedChar CString CUnsignedChar CUnsignedInt CUnsignedLong CUnsignedLongLong CUnsignedShort CVaListPointer CVarArg CWideChar Character CharacterLiteralConvertible Collection CollectionOfOne Comparable ContiguousArray ContiguousArrayBuffer DebugPrintable Dictionary DictionaryGenerator DictionaryIndex DictionaryLiteralConvertible Double EmptyCollection EmptyGenerator EnumerateGenerator Equatable ExtendedGraphemeClusterLiteralConvertible ExtendedGraphemeClusterType ExtensibleCollection FilterCollectionView FilterCollectionViewIndex FilterGenerator FilterSequenceView Float Float32 Float64 Float80 FloatLiteralConvertible FloatLiteralType FloatingPointClassification FloatingPointNumber ForwardIndex Generator GeneratorOf GeneratorOfOne GeneratorSequence Hashable HeapBuffer HeapBufferStorage HeapBufferStorageBase ImplicitlyUnwrappedOptional IndexingGenerator Int Int16 Int32 Int64 Int8 IntEncoder IntMax Integer IntegerArithmetic IntegerLiteralConvertible IntegerLiteralType Less LifetimeManager LogicValue MapCollectionView MapSequenceGenerator MapSequenceView MaxBuiltinFloatType MaxBuiltinIntegerType Mirror MirrorDisposition MutableCollection MutableSliceable ObjectIdentifier OnHeap Optional OutputStream PermutationGenerator Printable QuickLookObject RandomAccessIndex Range RangeGenerator RawByte RawOptionSet RawRepresentable Reflectable Repeat ReverseIndex ReverseRange ReverseRangeGenerator ReverseView Sequence SequenceOf SignedInteger SignedNumber Sink SinkOf Slice SliceBuffer Sliceable StaticString Streamable StridedRangeGenerator String StringElement StringInterpolationConvertible StringLiteralConvertible StringLiteralType UInt UInt16 UInt32 UInt64 UInt8 UIntMax UTF16 UTF32 UTF8 UWord UnicodeCodec UnicodeScalar Unmanaged UnsafeArray UnsafePointer UnsignedInteger Void Word Zip2 ZipGenerator2 abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList",s="as break case class continue default deinit do dynamicType else enum extension fallthrough for func if import in init is let new protocol return self Self static struct subscript super switch Type typealias var where while __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned(safe) unowned(unsafe) weak willSet",a="assignment class_protocol exported final lazy noreturn NSCopying NSManaged objc optional required auto_closure noreturn IBAction IBDesignable IBInspectable IBOutlet infix prefix postfix";this.regexList=[{regex:new RegExp("&[a-z]+;","gi"),css:"plain"},{regex:i.singleLineCComments,css:"comments"},{regex:new RegExp("\\/\\*[\\s\\S]*\\*\\/","g"),css:"comments",func:t},{regex:i.doubleQuotedString,css:"string",func:r},{regex:new RegExp("\\b([\\d_]+(\\.[\\de_]+)?|0x[a-f0-9_]+(\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b","gi"),css:"value"},{regex:new RegExp(this.getKeywords(s),"gm"),css:"keyword"},{regex:new RegExp(e(a,"@"),"gm"),css:"color1"},{regex:new RegExp(this.getKeywords(n),"gm"),css:"color2"},{regex:new RegExp("\\b([a-zA-Z_][a-zA-Z0-9_]*)\\b","gi"),css:"variable"}]}var s=r(22),i=r(3).commonRegExp,o=r(5).Match;n.prototype=new s,n.aliases=["swift"],e.exports=n},function(e,t,r){"use strict";function n(){this.regexList=[{regex:new RegExp("^1..\\d+","gm"),css:"plain bold italic"},{regex:new RegExp("^ok( \\d+)?","gm"),css:"keyword"},{regex:new RegExp("^not ok( \\d+)?","gm"),css:"color3 bold"},{regex:new RegExp("(?!^\\s*)#.*$","gm"),css:"variable bold"},{regex:new RegExp("^#.*$","gm"),css:"comments bold"},{regex:new RegExp("^(?!(not )?ok)[^1].*$","gm"),css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:i.singleQuotedString,css:"string"}]}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["tap","Tap","TAP"],e.exports=n},function(e,t,r){"use strict";function n(){var e="break case catch class continue default delete do else enum export extends false for function if implements import in instanceof interface let new null package private protected static return super switch this throw true try typeof var while with yield any bool declare get module number public set string";this.regexList=[{regex:i.multiLineDoubleQuotedString,css:"string"},{regex:i.multiLineSingleQuotedString,css:"string"},{regex:i.singleLineCComments,css:"comments"},{regex:i.multiLineCComments,css:"comments"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"}],this.forHtmlScript(i.scriptScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["ts","typescript"],e.exports=n},function(e,t,r){"use strict";function n(){var e="AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType Date Decimal Declare Default Delegate Dim DirectCast Do Double Each Else ElseIf End Enum Erase Error Event Exit False Finally For Friend Function Get GetType GoSub GoTo Handles If Implements Imports In Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing NotInheritable NotOverridable Object On Option Optional Or OrElse Overloads Overridable Overrides ParamArray Preserve Private Property Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume Return Select Set Shadows Shared Short Single Static Step Stop String Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until Variant When While With WithEvents WriteOnly Xor";this.regexList=[{regex:/'.*$/gm,css:"comments"},{regex:i.doubleQuotedString,css:"string"},{regex:/^\s*#.*$/gm,css:"preprocessor"},{regex:new RegExp(this.getKeywords(e),"gm"),css:"keyword"}],this.forHtmlScript(i.aspScriptTags)}var s=r(22),i=r(3).commonRegExp;n.prototype=new s,n.aliases=["vb","vbnet"],e.exports=n},function(e,t,r){"use strict";function n(){function e(e,t){var r=e[0],n=o.exec(r,o("(<|<)[\\s\\/\\?!]*(?<name>[:\\w-\\.]+)","xg")),s=[];if(null!=e.attributes)for(var i,c=0,l=o("(?<name> [\\w:.-]+)\\s*=\\s*(?<value> \".*?\"|'.*?'|\\w+)","xg");null!=(i=o.exec(r,l,c));)s.push(new a(i.name,e.index+i.index,"color1")),s.push(new a(i.value,e.index+i.index+i[0].indexOf(i.value),"string")),c=i.index+i[0].length;return null!=n&&s.push(new a(n.name,e.index+n[0].indexOf(n.name),"keyword")),s}this.regexList=[{regex:o("(\\<|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\>|>)","gm"),css:"color2"},{regex:i.xmlComments,css:"comments"},{regex:o("(<|<)[\\s\\/\\?!]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(>|>)","sg"),func:e}]}var s=r(22),i=r(3).commonRegExp,o=r(3).XRegExp,a=r(5).Match;n.prototype=new s,n.aliases=["xml","xhtml","xslt","html","plist"],e.exports=n},function(e,t,r){"use strict";"function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};!function(t,r){e.exports=r()}("domready",function(){var e,t=[],r=document,n=r.documentElement.doScroll,s="DOMContentLoaded",i=(n?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState);return i||r.addEventListener(s,e=function(){for(r.removeEventListener(s,e),i=1;e=t.shift();)e()}),function(e){i?setTimeout(e,0):t.push(e)}})},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=t.string=function(e){return e.replace(/^([A-Z])/g,function(e,t){return t.toLowerCase()}).replace(/([A-Z])/g,function(e,t){return"-"+t.toLowerCase()})};t.object=function(e){var t={};return Object.keys(e).forEach(function(n){return t[r(n)]=e[n]}),t}},function(e,t,r){"use strict";function n(e){return e&&e.__esModule?e:{"default":e}}var s=r(1),i=n(s);window.SyntaxHighlighter=i["default"],"undefined"==typeof window.XRegExp&&(window.XRegExp=r(3).XRegExp)}]); ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/scripts/syntaxhighlighter.js.map:1:{"version":3,"sources":["webpack:///webpack/bootstrap 00377583ca6e7c13ba40","webpack:///./src/index.js","webpack:///./src/core.js","webpack:///./repos/opts-parser/opts-parser.js","webpack:///./repos/syntaxhighlighter-regex/index.js","webpack:///./repos/syntaxhighlighter-regex/xregexp.js","webpack:///./repos/syntaxhighlighter-match/index.js","webpack:///./repos/syntaxhighlighter-match/lib/match.js","webpack:///./repos/syntaxhighlighter-match/lib/apply-regex-list.js","webpack:///./repos/syntaxhighlighter-match/lib/matches.js","webpack:///./repos/syntaxhighlighter-html-renderer/index.js","webpack:///./src/utils.js","webpack:///./src/transformers/index.js","webpack:///./src/transformers/trim.js","webpack:///./src/transformers/blogger_mode.js","webpack:///./src/transformers/strip_brs.js","webpack:///./repos/unindenter/unindenter.js","webpack:///./repos/retabber/retabber.js","webpack:///./src/dom.js","webpack:///./src/config.js","webpack:///./src/defaults.js","webpack:///./src/html_script.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js","webpack:///./repos/brush-base/brush-base.js","webpack:///./repos/brush-applescript/brush.js","webpack:///./repos/brush-as3/brush.js","webpack:///./repos/brush-bash/brush.js","webpack:///./repos/brush-coldfusion/brush.js","webpack:///./repos/brush-cpp/brush.js","webpack:///./repos/brush-csharp/brush.js","webpack:///./repos/brush-css/brush.js","webpack:///./repos/brush-delphi/brush.js","webpack:///./repos/brush-diff/brush.js","webpack:///./repos/brush-erlang/brush.js","webpack:///./repos/brush-groovy/brush.js","webpack:///./repos/brush-haxe/brush.js","webpack:///./repos/brush-java/brush.js","webpack:///./repos/brush-javafx/brush.js","webpack:///./repos/brush-javascript/brush.js","webpack:///./repos/brush-perl/brush.js","webpack:///./repos/brush-php/brush.js","webpack:///./repos/brush-plain/brush.js","webpack:///./repos/brush-powershell/brush.js","webpack:///./repos/brush-python/brush.js","webpack:///./repos/brush-ruby/brush.js","webpack:///./repos/brush-sass/brush.js","webpack:///./repos/brush-scala/brush.js","webpack:///./repos/brush-sql/brush.js","webpack:///./repos/brush-swift/brush.js","webpack:///./repos/brush-tap/brush.js","webpack:///./repos/brush-typescript/brush.js","webpack:///./repos/brush-vb/brush.js","webpack:///./repos/brush-xml/brush.js","webpack:///./~/domready/ready.js","webpack:///./src/dasherize.js"],"names":[],"mappings":"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","file":"syntaxhighlighter.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 00377583ca6e7c13ba40\n **/","import domready from 'domready';\nimport SyntaxHighlighter from './core';\nimport * as dasherize from './dasherize';\n\n// configured through the `--compat` parameter.\nif (COMPAT) {\n require('./compatibility_layer_v3');\n}\n\ndomready(() => SyntaxHighlighter.highlight(dasherize.object(window.syntaxhighlighterConfig || {})));\n\nexport * from './core';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","var\n optsParser = require('opts-parser'),\n match = require('syntaxhighlighter-match'),\n Renderer = require('syntaxhighlighter-html-renderer').default,\n utils = require('./utils'),\n transformers = require('./transformers'),\n dom = require('./dom'),\n config = require('./config'),\n defaults = require('./defaults'),\n HtmlScript = require('./html_script')\n ;\n\nconst sh = {\n Match: match.Match,\n Highlighter: require('brush-base'),\n\n config: require('./config'),\n regexLib: require('syntaxhighlighter-regex').commonRegExp,\n\n /** Internal 'global' variables. */\n vars : {\n discoveredBrushes : null,\n highlighters : {}\n },\n\n /** This object is populated by user included external brush files. */\n brushes : {},\n\n /**\n * Finds all elements on the page which should be processes by SyntaxHighlighter.\n *\n * @param {Object} globalParams Optional parameters which override element's\n * parameters. Only used if element is specified.\n *\n * @param {Object} element Optional element to highlight. If none is\n * provided, all elements in the current document\n * are returned which qualify.\n *\n * @return {Array} Returns list of <code>{ target: DOMElement, params: Object }</code> objects.\n */\n findElements: function(globalParams, element)\n {\n var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)),\n conf = sh.config,\n result = []\n ;\n\n // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n elements = elements.concat(dom.getSyntaxHighlighterScriptTags());\n\n if (elements.length === 0)\n return result;\n\n for (var i = 0, l = elements.length; i < l; i++)\n {\n var item = {\n target: elements[i],\n // local params take precedence over globals\n params: optsParser.defaults(optsParser.parse(elements[i].className), globalParams)\n };\n\n if (item.params['brush'] == null)\n continue;\n\n result.push(item);\n }\n\n return result;\n },\n\n /**\n * Shorthand to highlight all elements on the page that are marked as\n * SyntaxHighlighter source code.\n *\n * @param {Object} globalParams Optional parameters which override element's\n * parameters. Only used if element is specified.\n *\n * @param {Object} element Optional element to highlight. If none is\n * provided, all elements in the current document\n * are highlighted.\n */\n highlight: function(globalParams, element)\n {\n var elements = sh.findElements(globalParams, element),\n propertyName = 'innerHTML',\n brush = null,\n renderer,\n conf = sh.config\n ;\n\n if (elements.length === 0)\n return;\n\n for (var i = 0, l = elements.length; i < l; i++)\n {\n var element = elements[i],\n target = element.target,\n params = element.params,\n brushName = params.brush,\n brush,\n matches,\n code\n ;\n\n if (brushName == null)\n continue;\n\n brush = findBrush(brushName);\n\n if (!brush)\n continue;\n\n // local params take precedence over defaults\n params = optsParser.defaults(params || {}, defaults);\n params = optsParser.defaults(params, config);\n\n // Instantiate a brush\n if (params['html-script'] == true || defaults['html-script'] == true)\n {\n brush = new HtmlScript(findBrush('xml'), brush);\n brushName = 'htmlscript';\n }\n else\n {\n brush = new brush();\n }\n\n code = target[propertyName];\n\n // remove CDATA from <SCRIPT/> tags if it's present\n if (conf.useScriptTags)\n code = stripCData(code);\n\n // Inject title if the attribute is present\n if ((target.title || '') != '')\n params.title = target.title;\n\n params['brush'] = brushName;\n\n code = transformers(code, params);\n matches = match.applyRegexList(code, brush.regexList, params);\n renderer = new Renderer(code, matches, params);\n\n element = dom.create('div');\n element.innerHTML = renderer.getHtml();\n\n // id = utils.guid();\n // element.id = highlighters.id(id);\n // highlighters.set(id, element);\n\n if (params.quickCode)\n dom.attachEvent(dom.findElement(element, '.code'), 'dblclick', dom.quickCodeHandler);\n\n // carry over ID\n if ((target.id || '') != '')\n element.id = target.id;\n\n target.parentNode.replaceChild(element, target);\n }\n }\n}; // end of sh\n\n/**\n * Displays an alert.\n * @param {String} str String to display.\n */\nfunction alert(str)\n{\n window.alert('SyntaxHighlighter\\n\\n' + str);\n};\n\n/**\n * Finds a brush by its alias.\n *\n * @param {String} alias Brush alias.\n * @param {Boolean} showAlert Suppresses the alert if false.\n * @return {Brush} Returns bursh constructor if found, null otherwise.\n */\nfunction findBrush(alias, showAlert)\n{\n var brushes = sh.vars.discoveredBrushes,\n result = null\n ;\n\n if (brushes == null)\n {\n brushes = {};\n\n // Find all brushes\n for (var brushName in sh.brushes)\n {\n var brush = sh.brushes[brushName],\n aliases = brush.aliases\n ;\n\n if (aliases == null) {\n continue;\n }\n\n brush.className = brush.className || brush.aliases[0];\n brush.brushName = brush.className || brushName.toLowerCase();\n\n for (var i = 0, l = aliases.length; i < l; i++) {\n brushes[aliases[i]] = brushName;\n }\n }\n\n sh.vars.discoveredBrushes = brushes;\n }\n\n result = sh.brushes[brushes[alias]];\n\n if (result == null && showAlert)\n alert(sh.config.strings.noBrush + alias);\n\n return result;\n};\n\n/**\n * Strips <![CDATA[]]> from <SCRIPT /> content because it should be used\n * there in most cases for XHTML compliance.\n * @param {String} original Input code.\n * @return {String} Returns code without leading <![CDATA[]]> tags.\n */\nfunction stripCData(original)\n{\n var left = '<![CDATA[',\n right = ']]>',\n // for some reason IE inserts some leading blanks here\n copy = utils.trim(original),\n changed = false,\n leftLength = left.length,\n rightLength = right.length\n ;\n\n if (copy.indexOf(left) == 0)\n {\n copy = copy.substring(leftLength);\n changed = true;\n }\n\n var copyLength = copy.length;\n\n if (copy.indexOf(right) == copyLength - rightLength)\n {\n copy = copy.substring(0, copyLength - rightLength);\n changed = true;\n }\n\n return changed ? copy : original;\n};\n\nlet brushCounter = 0;\n\nexport default sh;\nexport const registerBrush = brush => sh.brushes['brush' + brushCounter++] = brush.default || brush;\nexport const clearRegisteredBrushes = () => {\n sh.brushes = {};\n brushCounter = 0;\n}\n\n/* an EJS hook for `gulp build --brushes` command\n * */\n\n\n registerBrush(require('brush-applescript'));\n\n registerBrush(require('brush-as3'));\n\n registerBrush(require('brush-base'));\n\n registerBrush(require('brush-bash'));\n\n registerBrush(require('brush-coldfusion'));\n\n registerBrush(require('brush-cpp'));\n\n registerBrush(require('brush-csharp'));\n\n registerBrush(require('brush-css'));\n\n registerBrush(require('brush-delphi'));\n\n registerBrush(require('brush-diff'));\n\n registerBrush(require('brush-erlang'));\n\n registerBrush(require('brush-groovy'));\n\n registerBrush(require('brush-haxe'));\n\n registerBrush(require('brush-java'));\n\n registerBrush(require('brush-javafx'));\n\n registerBrush(require('brush-javascript'));\n\n registerBrush(require('brush-perl'));\n\n registerBrush(require('brush-php'));\n\n registerBrush(require('brush-plain'));\n\n registerBrush(require('brush-powershell'));\n\n registerBrush(require('brush-python'));\n\n registerBrush(require('brush-ruby'));\n\n registerBrush(require('brush-sass'));\n\n registerBrush(require('brush-scala'));\n\n registerBrush(require('brush-sql'));\n\n registerBrush(require('brush-swift'));\n\n registerBrush(require('brush-tap'));\n\n registerBrush(require('brush-typescript'));\n\n registerBrush(require('brush-vb'));\n\n registerBrush(require('brush-xml'));\n\n\n/*\n\n */\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/core.js\n **/","var XRegExp = require('syntaxhighlighter-regex').XRegExp;\n\nvar BOOLEANS = {'true': true, 'false': false};\n\nfunction camelize(key)\n{\n return key.replace(/-(\\w+)/g, function(match, word)\n {\n return word.charAt(0).toUpperCase() + word.substr(1);\n });\n}\n\nfunction process(value)\n{\n var result = BOOLEANS[value];\n return result == null ? value : result;\n}\n\nmodule.exports = {\n defaults: function(target, source)\n {\n for(var key in source || {})\n if (!target.hasOwnProperty(key))\n target[key] = target[camelize(key)] = source[key];\n\n return target;\n },\n\n parse: function(str)\n {\n var match,\n key,\n result = {},\n arrayRegex = XRegExp(\"^\\\\[(?<values>(.*?))\\\\]$\"),\n pos = 0,\n regex = XRegExp(\n \"(?<name>[\\\\w-]+)\" +\n \"\\\\s*:\\\\s*\" +\n \"(?<value>\" +\n \"[\\\\w%#-]+|\" + // word\n \"\\\\[.*?\\\\]|\" + // [] array\n '\".*?\"|' + // \"\" string\n \"'.*?'\" + // '' string\n \")\\\\s*;?\",\n \"g\"\n )\n ;\n\n while ((match = XRegExp.exec(str, regex, pos)) != null)\n {\n var value = match.value\n .replace(/^['\"]|['\"]$/g, '') // strip quotes from end of strings\n ;\n\n // try to parse array value\n if (value != null && arrayRegex.test(value))\n {\n var m = XRegExp.exec(value, arrayRegex);\n value = m.values.length > 0 ? m.values.split(/\\s*,\\s*/) : [];\n }\n\n value = process(value);\n result[match.name] = result[camelize(match.name)] = value;\n pos = match.index + match[0].length;\n }\n\n return result;\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/opts-parser/opts-parser.js\n **/","import XRegExp from './xregexp';\n\nexport { XRegExp };\n\nexport const commonRegExp = {\n multiLineCComments : XRegExp('/\\\\*.*?\\\\*/', 'gs'),\n singleLineCComments : /\\/\\/.*$/gm,\n singleLinePerlComments : /#.*$/gm,\n doubleQuotedString : /\"([^\\\\\"\\n]|\\\\.)*\"/g,\n singleQuotedString : /'([^\\\\'\\n]|\\\\.)*'/g,\n multiLineDoubleQuotedString : XRegExp('\"([^\\\\\\\\\"]|\\\\\\\\.)*\"', 'gs'),\n multiLineSingleQuotedString : XRegExp(\"'([^\\\\\\\\']|\\\\\\\\.)*'\", 'gs'),\n xmlComments : XRegExp('(<|<)!--.*?--(>|>)', 'gs'),\n url : /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g,\n phpScriptTags : { left: /(<|<)\\?(?:=|php)?/g, right: /\\?(>|>)/g, 'eof' : true },\n aspScriptTags : { left: /(<|<)%=?/g, right: /%(>|>)/g },\n scriptScriptTags : { left: /(<|<)\\s*script.*?(>|>)/gi, right: /(<|<)\\/\\s*script\\s*(>|>)/gi }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-regex/index.js\n **/","/*!\n * XRegExp 3.1.0-dev\n * <xregexp.com>\n * Steven Levithan (c) 2007-2015 MIT License\n */\n\n/**\n * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and\n * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to\n * make your client-side grepping simpler and more powerful, while freeing you from related\n * cross-browser inconsistencies.\n */\n\n 'use strict';\n\n/* ==============================\n * Private variables\n * ============================== */\n\n // Property name used for extended regex instance data\n var REGEX_DATA = 'xregexp';\n // Optional features that can be installed and uninstalled\n var features = {\n astral: false,\n natives: false\n };\n // Native methods to use and restore ('native' is an ES3 reserved keyword)\n var nativ = {\n exec: RegExp.prototype.exec,\n test: RegExp.prototype.test,\n match: String.prototype.match,\n replace: String.prototype.replace,\n split: String.prototype.split\n };\n // Storage for fixed/extended native methods\n var fixed = {};\n // Storage for regexes cached by `XRegExp.cache`\n var regexCache = {};\n // Storage for pattern details cached by the `XRegExp` constructor\n var patternCache = {};\n // Storage for regex syntax tokens added internally or by `XRegExp.addToken`\n var tokens = [];\n // Token scopes\n var defaultScope = 'default';\n var classScope = 'class';\n // Regexes that match native regex syntax, including octals\n var nativeTokens = {\n // Any native multicharacter token in default scope, or any single character\n 'default': /\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??|[\\s\\S]/,\n // Any native multicharacter token in character class scope, or any single character\n 'class': /\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|[\\s\\S]/\n };\n // Any backreference or dollar-prefixed character in replacement strings\n var replacementToken = /\\$(?:{([\\w$]+)}|(\\d\\d?|[\\s\\S]))/g;\n // Check for correct `exec` handling of nonparticipating capturing groups\n var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined;\n // Check for ES6 `u` flag support\n var hasNativeU = (function() {\n var isSupported = true;\n try {\n new RegExp('', 'u');\n } catch (exception) {\n isSupported = false;\n }\n return isSupported;\n }());\n // Check for ES6 `y` flag support\n var hasNativeY = (function() {\n var isSupported = true;\n try {\n new RegExp('', 'y');\n } catch (exception) {\n isSupported = false;\n }\n return isSupported;\n }());\n // Check for ES6 `flags` prop support\n var hasFlagsProp = /a/.flags !== undefined;\n // Tracker for known flags, including addon flags\n var registeredFlags = {\n g: true,\n i: true,\n m: true,\n u: hasNativeU,\n y: hasNativeY\n };\n // Shortcut to `Object.prototype.toString`\n var toString = {}.toString;\n\n/* ==============================\n * Private functions\n * ============================== */\n\n/**\n * Attaches extended data and `XRegExp.prototype` properties to a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to augment.\n * @param {Array} captureNames Array with capture names, or `null`.\n * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.\n * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.\n * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Augmented regex.\n */\n function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {\n var p;\n\n regex[REGEX_DATA] = {\n captureNames: captureNames\n };\n\n if (isInternalOnly) {\n return regex;\n }\n\n // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value\n if (regex.__proto__) {\n regex.__proto__ = XRegExp.prototype;\n } else {\n for (p in XRegExp.prototype) {\n // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since\n // this is performance sensitive, and enumerable `Object.prototype` or\n // `RegExp.prototype` extensions exist on `regex.prototype` anyway\n regex[p] = XRegExp.prototype[p];\n }\n }\n\n regex[REGEX_DATA].source = xSource;\n // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order\n regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags;\n\n return regex;\n }\n\n/**\n * Removes any duplicate characters from the provided string.\n *\n * @private\n * @param {String} str String to remove duplicate characters from.\n * @returns {String} String with any duplicate characters removed.\n */\n function clipDuplicates(str) {\n return nativ.replace.call(str, /([\\s\\S])(?=[\\s\\S]*\\1)/g, '');\n }\n\n/**\n * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`\n * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing\n * flags g and y while copying the regex.\n *\n * @private\n * @param {RegExp} regex Regex to copy.\n * @param {Object} [options] Options object with optional properties:\n * <li>`addG` {Boolean} Add flag g while copying the regex.\n * <li>`addY` {Boolean} Add flag y while copying the regex.\n * <li>`removeG` {Boolean} Remove flag g while copying the regex.\n * <li>`removeY` {Boolean} Remove flag y while copying the regex.\n * <li>`isInternalOnly` {Boolean} Whether the copied regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Copy of the provided regex, possibly with modified flags.\n */\n function copyRegex(regex, options) {\n if (!XRegExp.isRegExp(regex)) {\n throw new TypeError('Type RegExp expected');\n }\n\n var xData = regex[REGEX_DATA] || {},\n flags = getNativeFlags(regex),\n flagsToAdd = '',\n flagsToRemove = '',\n xregexpSource = null,\n xregexpFlags = null;\n\n options = options || {};\n\n if (options.removeG) {flagsToRemove += 'g';}\n if (options.removeY) {flagsToRemove += 'y';}\n if (flagsToRemove) {\n flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), '');\n }\n\n if (options.addG) {flagsToAdd += 'g';}\n if (options.addY) {flagsToAdd += 'y';}\n if (flagsToAdd) {\n flags = clipDuplicates(flags + flagsToAdd);\n }\n\n if (!options.isInternalOnly) {\n if (xData.source !== undefined) {\n xregexpSource = xData.source;\n }\n // null or undefined; don't want to add to `flags` if the previous value was null, since\n // that indicates we're not tracking original precompilation flags\n if (xData.flags != null) {\n // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are\n // never removed for non-internal regexes, so don't need to handle it\n xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags;\n }\n }\n\n // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to\n // avoid searching for special tokens. That would be wrong for regexes constructed by\n // `RegExp`, and unnecessary for regexes constructed by `XRegExp` because the regex has\n // already undergone the translation to native regex syntax\n regex = augment(\n new RegExp(regex.source, flags),\n hasNamedCapture(regex) ? xData.captureNames.slice(0) : null,\n xregexpSource,\n xregexpFlags,\n options.isInternalOnly\n );\n\n return regex;\n }\n\n/**\n * Converts hexadecimal to decimal.\n *\n * @private\n * @param {String} hex\n * @returns {Number}\n */\n function dec(hex) {\n return parseInt(hex, 16);\n }\n\n/**\n * Returns native `RegExp` flags used by a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {String} Native flags in use.\n */\n function getNativeFlags(regex) {\n return hasFlagsProp ?\n regex.flags :\n // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or\n // concatenation with an empty string) allows this to continue working predictably when\n // `XRegExp.proptotype.toString` is overriden\n nativ.exec.call(/\\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1];\n }\n\n/**\n * Determines whether a regex has extended instance data used to track capture names.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {Boolean} Whether the regex uses named capture.\n */\n function hasNamedCapture(regex) {\n return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);\n }\n\n/**\n * Converts decimal to hexadecimal.\n *\n * @private\n * @param {Number|String} dec\n * @returns {String}\n */\n function hex(dec) {\n return parseInt(dec, 10).toString(16);\n }\n\n/**\n * Returns the first index at which a given value can be found in an array.\n *\n * @private\n * @param {Array} array Array to search.\n * @param {*} value Value to locate in the array.\n * @returns {Number} Zero-based index at which the item is found, or -1.\n */\n function indexOf(array, value) {\n var len = array.length, i;\n\n for (i = 0; i < len; ++i) {\n if (array[i] === value) {\n return i;\n }\n }\n\n return -1;\n }\n\n/**\n * Determines whether a value is of the specified type, by resolving its internal [[Class]].\n *\n * @private\n * @param {*} value Object to check.\n * @param {String} type Type to check for, in TitleCase.\n * @returns {Boolean} Whether the object matches the type.\n */\n function isType(value, type) {\n return toString.call(value) === '[object ' + type + ']';\n }\n\n/**\n * Checks whether the next nonignorable token after the specified position is a quantifier.\n *\n * @private\n * @param {String} pattern Pattern to search within.\n * @param {Number} pos Index in `pattern` to search at.\n * @param {String} flags Flags used by the pattern.\n * @returns {Boolean} Whether the next token is a quantifier.\n */\n function isQuantifierNext(pattern, pos, flags) {\n return nativ.test.call(\n flags.indexOf('x') > -1 ?\n // Ignore any leading whitespace, line comments, and inline comments\n /^(?:\\s+|#.*|\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/ :\n // Ignore any leading inline comments\n /^(?:\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/,\n pattern.slice(pos)\n );\n }\n\n/**\n * Pads the provided string with as many leading zeros as needed to get to length 4. Used to produce\n * fixed-length hexadecimal values.\n *\n * @private\n * @param {String} str\n * @returns {String}\n */\n function pad4(str) {\n while (str.length < 4) {\n str = '0' + str;\n }\n return str;\n }\n\n/**\n * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads\n * the flag preparation logic from the `XRegExp` constructor.\n *\n * @private\n * @param {String} pattern Regex pattern, possibly with a leading mode modifier.\n * @param {String} flags Any combination of flags.\n * @returns {Object} Object with properties `pattern` and `flags`.\n */\n function prepareFlags(pattern, flags) {\n var i;\n\n // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags\n if (clipDuplicates(flags) !== flags) {\n throw new SyntaxError('Invalid duplicate regex flag ' + flags);\n }\n\n // Strip and apply a leading mode modifier with any combination of flags except g or y\n pattern = nativ.replace.call(pattern, /^\\(\\?([\\w$]+)\\)/, function($0, $1) {\n if (nativ.test.call(/[gy]/, $1)) {\n throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0);\n }\n // Allow duplicate flags within the mode modifier\n flags = clipDuplicates(flags + $1);\n return '';\n });\n\n // Throw on unknown native or nonnative flags\n for (i = 0; i < flags.length; ++i) {\n if (!registeredFlags[flags.charAt(i)]) {\n throw new SyntaxError('Unknown regex flag ' + flags.charAt(i));\n }\n }\n\n return {\n pattern: pattern,\n flags: flags\n };\n }\n\n/**\n * Prepares an options object from the given value.\n *\n * @private\n * @param {String|Object} value Value to convert to an options object.\n * @returns {Object} Options object.\n */\n function prepareOptions(value) {\n var options = {};\n\n if (isType(value, 'String')) {\n XRegExp.forEach(value, /[^\\s,]+/, function(match) {\n options[match] = true;\n });\n\n return options;\n }\n\n return value;\n }\n\n/**\n * Registers a flag so it doesn't throw an 'unknown flag' error.\n *\n * @private\n * @param {String} flag Single-character flag to register.\n */\n function registerFlag(flag) {\n if (!/^[\\w$]$/.test(flag)) {\n throw new Error('Flag must be a single character A-Za-z0-9_$');\n }\n\n registeredFlags[flag] = true;\n }\n\n/**\n * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified\n * position, until a match is found.\n *\n * @private\n * @param {String} pattern Original pattern from which an XRegExp object is being built.\n * @param {String} flags Flags being used to construct the regex.\n * @param {Number} pos Position to search for tokens within `pattern`.\n * @param {Number} scope Regex scope to apply: 'default' or 'class'.\n * @param {Object} context Context object to use for token handler functions.\n * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.\n */\n function runTokens(pattern, flags, pos, scope, context) {\n var i = tokens.length,\n leadChar = pattern.charAt(pos),\n result = null,\n match,\n t;\n\n // Run in reverse insertion order\n while (i--) {\n t = tokens[i];\n if (\n (t.leadChar && t.leadChar !== leadChar) ||\n (t.scope !== scope && t.scope !== 'all') ||\n (t.flag && flags.indexOf(t.flag) === -1)\n ) {\n continue;\n }\n\n match = XRegExp.exec(pattern, t.regex, pos, 'sticky');\n if (match) {\n result = {\n matchLength: match[0].length,\n output: t.handler.call(context, match, scope, flags),\n reparse: t.reparse\n };\n // Finished with token tests\n break;\n }\n }\n\n return result;\n }\n\n/**\n * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to\n * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if\n * the Unicode Base addon is not available, since flag A is registered by that addon.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n function setAstral(on) {\n features.astral = on;\n }\n\n/**\n * Enables or disables native method overrides.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n function setNatives(on) {\n RegExp.prototype.exec = (on ? fixed : nativ).exec;\n RegExp.prototype.test = (on ? fixed : nativ).test;\n String.prototype.match = (on ? fixed : nativ).match;\n String.prototype.replace = (on ? fixed : nativ).replace;\n String.prototype.split = (on ? fixed : nativ).split;\n\n features.natives = on;\n }\n\n/**\n * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow\n * the ES5 abstract operation `ToObject`.\n *\n * @private\n * @param {*} value Object to check and return.\n * @returns {*} The provided object.\n */\n function toObject(value) {\n // null or undefined\n if (value == null) {\n throw new TypeError('Cannot convert null or undefined to object');\n }\n\n return value;\n }\n\n/* ==============================\n * Constructor\n * ============================== */\n\n/**\n * Creates an extended regular expression object for matching text with a pattern. Differs from a\n * native regular expression in that additional syntax and flags are supported. The returned object\n * is in fact a native `RegExp` and works with all native methods.\n *\n * @class XRegExp\n * @constructor\n * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.\n * @param {String} [flags] Any combination of flags.\n * Native flags:\n * <li>`g` - global\n * <li>`i` - ignore case\n * <li>`m` - multiline anchors\n * <li>`u` - unicode (ES6)\n * <li>`y` - sticky (Firefox 3+, ES6)\n * Additional XRegExp flags:\n * <li>`n` - explicit capture\n * <li>`s` - dot matches all (aka singleline)\n * <li>`x` - free-spacing and line comments (aka extended)\n * <li>`A` - astral (requires the Unicode Base addon)\n * Flags cannot be provided when constructing one `RegExp` from another.\n * @returns {RegExp} Extended regular expression object.\n * @example\n *\n * // With named capture and flag x\n * XRegExp('(?<year> [0-9]{4} ) -? # year \\n\\\n * (?<month> [0-9]{2} ) -? # month \\n\\\n * (?<day> [0-9]{2} ) # day ', 'x');\n *\n * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)\n * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and\n * // have fresh `lastIndex` properties (set to zero).\n * XRegExp(/regex/);\n */\n function XRegExp(pattern, flags) {\n var context = {\n hasNamedCapture: false,\n captureNames: []\n },\n scope = defaultScope,\n output = '',\n pos = 0,\n result,\n token,\n generated,\n appliedPattern,\n appliedFlags;\n\n if (XRegExp.isRegExp(pattern)) {\n if (flags !== undefined) {\n throw new TypeError('Cannot supply flags when copying a RegExp');\n }\n return copyRegex(pattern);\n }\n\n // Copy the argument behavior of `RegExp`\n pattern = pattern === undefined ? '' : String(pattern);\n flags = flags === undefined ? '' : String(flags);\n\n if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) {\n // This causes an error to be thrown if the Unicode Base addon is not available\n flags += 'A';\n }\n\n if (!patternCache[pattern]) {\n patternCache[pattern] = {};\n }\n\n if (!patternCache[pattern][flags]) {\n // Check for flag-related errors, and strip/apply flags in a leading mode modifier\n result = prepareFlags(pattern, flags);\n appliedPattern = result.pattern;\n appliedFlags = result.flags;\n\n // Use XRegExp's tokens to translate the pattern to a native regex pattern.\n // `appliedPattern.length` may change on each iteration if tokens use `reparse`\n while (pos < appliedPattern.length) {\n do {\n // Check for custom tokens at the current position\n result = runTokens(appliedPattern, appliedFlags, pos, scope, context);\n // If the matched token used the `reparse` option, splice its output into the\n // pattern before running tokens again at the same position\n if (result && result.reparse) {\n appliedPattern = appliedPattern.slice(0, pos) +\n result.output +\n appliedPattern.slice(pos + result.matchLength);\n }\n } while (result && result.reparse);\n\n if (result) {\n output += result.output;\n pos += (result.matchLength || 1);\n } else {\n // Get the native token at the current position\n token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0];\n output += token;\n pos += token.length;\n if (token === '[' && scope === defaultScope) {\n scope = classScope;\n } else if (token === ']' && scope === classScope) {\n scope = defaultScope;\n }\n }\n }\n\n patternCache[pattern][flags] = {\n // Cleanup token cruft: repeated `(?:)(?:)` and leading/trailing `(?:)`\n pattern: nativ.replace.call(output, /\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??(?=\\(\\?:\\))|^\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??|\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??$/g, ''),\n // Strip all but native flags\n flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''),\n // `context.captureNames` has an item for each capturing group, even if unnamed\n captures: context.hasNamedCapture ? context.captureNames : null\n };\n }\n\n generated = patternCache[pattern][flags];\n return augment(\n new RegExp(generated.pattern, generated.flags),\n generated.captures,\n pattern,\n flags\n );\n };\n\n// Add `RegExp.prototype` to the prototype chain\n XRegExp.prototype = new RegExp();\n\n/* ==============================\n * Public properties\n * ============================== */\n\n/**\n * The XRegExp version number as a string containing three dot-separated parts. For example,\n * '2.0.0-beta-3'.\n *\n * @static\n * @memberOf XRegExp\n * @type String\n */\n XRegExp.version = '3.1.0-dev';\n\n/* ==============================\n * Public methods\n * ============================== */\n\n/**\n * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to\n * create XRegExp addons. If more than one token can match the same string, the last added wins.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex object that matches the new token.\n * @param {Function} handler Function that returns a new pattern string (using native regex syntax)\n * to replace the matched token within all future XRegExp regexes. Has access to persistent\n * properties of the regex being built, through `this`. Invoked with three arguments:\n * <li>The match array, with named backreference properties.\n * <li>The regex scope where the match was found: 'default' or 'class'.\n * <li>The flags used by the regex, including any flags in a leading mode modifier.\n * The handler function becomes part of the XRegExp construction process, so be careful not to\n * construct XRegExps within the function or you will trigger infinite recursion.\n * @param {Object} [options] Options object with optional properties:\n * <li>`scope` {String} Scope where the token applies: 'default', 'class', or 'all'.\n * <li>`flag` {String} Single-character flag that triggers the token. This also registers the\n * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.\n * <li>`optionalFlags` {String} Any custom flags checked for within the token `handler` that are\n * not required to trigger the token. This registers the flags, to prevent XRegExp from\n * throwing an 'unknown flag' error when any of the flags are used.\n * <li>`reparse` {Boolean} Whether the `handler` function's output should not be treated as\n * final, and instead be reparseable by other tokens (including the current token). Allows\n * token chaining or deferring.\n * <li>`leadChar` {String} Single character that occurs at the beginning of any successful match\n * of the token (not always applicable). This doesn't change the behavior of the token unless\n * you provide an erroneous value. However, providing it can increase the token's performance\n * since the token can be skipped at any positions where this character doesn't appear.\n * @example\n *\n * // Basic usage: Add \\a for the ALERT control code\n * XRegExp.addToken(\n * /\\\\a/,\n * function() {return '\\\\x07';},\n * {scope: 'all'}\n * );\n * XRegExp('\\\\a[\\\\a-\\\\n]+').test('\\x07\\n\\x07'); // -> true\n *\n * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.\n * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of\n * // character classes only)\n * XRegExp.addToken(\n * /([?*+]|{\\d+(?:,\\d*)?})(\\??)/,\n * function(match) {return match[1] + (match[2] ? '' : '?');},\n * {flag: 'U'}\n * );\n * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'\n * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'\n */\n XRegExp.addToken = function(regex, handler, options) {\n options = options || {};\n var optionalFlags = options.optionalFlags, i;\n\n if (options.flag) {\n registerFlag(options.flag);\n }\n\n if (optionalFlags) {\n optionalFlags = nativ.split.call(optionalFlags, '');\n for (i = 0; i < optionalFlags.length; ++i) {\n registerFlag(optionalFlags[i]);\n }\n }\n\n // Add to the private list of syntax tokens\n tokens.push({\n regex: copyRegex(regex, {\n addG: true,\n addY: hasNativeY,\n isInternalOnly: true\n }),\n handler: handler,\n scope: options.scope || defaultScope,\n flag: options.flag,\n reparse: options.reparse,\n leadChar: options.leadChar\n });\n\n // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and\n // flags might now produce different results\n XRegExp.cache.flush('patterns');\n };\n\n/**\n * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with\n * the same pattern and flag combination, the cached copy of the regex is returned.\n *\n * @memberOf XRegExp\n * @param {String} pattern Regex pattern string.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Cached XRegExp object.\n * @example\n *\n * while (match = XRegExp.cache('.', 'gs').exec(str)) {\n * // The regex is compiled once only\n * }\n */\n XRegExp.cache = function(pattern, flags) {\n if (!regexCache[pattern]) {\n regexCache[pattern] = {};\n }\n return regexCache[pattern][flags] || (\n regexCache[pattern][flags] = XRegExp(pattern, flags)\n );\n };\n\n// Intentionally undocumented\n XRegExp.cache.flush = function(cacheName) {\n if (cacheName === 'patterns') {\n // Flush the pattern cache used by the `XRegExp` constructor\n patternCache = {};\n } else {\n // Flush the regex cache populated by `XRegExp.cache`\n regexCache = {};\n }\n };\n\n/**\n * Escapes any regular expression metacharacters, for use when matching literal strings. The result\n * can safely be used at any point within a regex that uses any flags.\n *\n * @memberOf XRegExp\n * @param {String} str String to escape.\n * @returns {String} String with regex metacharacters escaped.\n * @example\n *\n * XRegExp.escape('Escaped? <.>');\n * // -> 'Escaped\\?\\ <\\.>'\n */\n XRegExp.escape = function(str) {\n return nativ.replace.call(toObject(str), /[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n };\n\n/**\n * Executes a regex search in a specified string. Returns a match array or `null`. If the provided\n * regex uses named capture, named backreference properties are included on the match array.\n * Optional `pos` and `sticky` arguments specify the search start position, and whether the match\n * must start at the specified position only. The `lastIndex` property of the provided regex is not\n * used, but is updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.exec` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Array} Match array with named backreference properties, or `null`.\n * @example\n *\n * // Basic use, with named backreference\n * var match = XRegExp.exec('U+2620', XRegExp('U\\\\+(?<hex>[0-9A-F]{4})'));\n * match.hex; // -> '2620'\n *\n * // With pos and sticky, in a loop\n * var pos = 2, result = [], match;\n * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\\d)>/, pos, 'sticky')) {\n * result.push(match[1]);\n * pos = match.index + match[0].length;\n * }\n * // result -> ['2', '3', '4']\n */\n XRegExp.exec = function(str, regex, pos, sticky) {\n var cacheKey = 'g',\n addY = false,\n match,\n r2;\n\n addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false));\n if (addY) {\n cacheKey += 'y';\n }\n\n regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.match`/`replace`\n r2 = regex[REGEX_DATA][cacheKey] || (\n regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: true,\n addY: addY,\n removeY: sticky === false,\n isInternalOnly: true\n })\n );\n\n r2.lastIndex = pos = pos || 0;\n\n // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.\n match = fixed.exec.call(r2, str);\n\n if (sticky && match && match.index !== pos) {\n match = null;\n }\n\n if (regex.global) {\n regex.lastIndex = match ? r2.lastIndex : 0;\n }\n\n return match;\n };\n\n/**\n * Executes a provided function once per regex match. Searches always start at the beginning of the\n * string and continue until the end, regardless of the state of the regex's `global` property and\n * initial `lastIndex`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Function} callback Function to execute for each match. Invoked with four arguments:\n * <li>The match array, with named backreference properties.\n * <li>The zero-based match index.\n * <li>The string being traversed.\n * <li>The regex object being used to traverse the string.\n * @example\n *\n * // Extracts every other digit from a string\n * var evens = [];\n * XRegExp.forEach('1a2345', /\\d/, function(match, i) {\n * if (i % 2) evens.push(+match[0]);\n * });\n * // evens -> [2, 4]\n */\n XRegExp.forEach = function(str, regex, callback) {\n var pos = 0,\n i = -1,\n match;\n\n while ((match = XRegExp.exec(str, regex, pos))) {\n // Because `regex` is provided to `callback`, the function could use the deprecated/\n // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since\n // `XRegExp.exec` doesn't use `lastIndex` to set the search position, this can't lead\n // to an infinite loop, at least. Actually, because of the way `XRegExp.exec` caches\n // globalized versions of regexes, mutating the regex will not have any effect on the\n // iteration or matched strings, which is a nice side effect that brings extra safety\n callback(match, ++i, str, regex);\n\n pos = match.index + (match[0].length || 1);\n }\n };\n\n/**\n * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with\n * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native\n * regexes are not recompiled using XRegExp syntax.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex to globalize.\n * @returns {RegExp} Copy of the provided regex with flag `g` added.\n * @example\n *\n * var globalCopy = XRegExp.globalize(/regex/);\n * globalCopy.global; // -> true\n */\n XRegExp.globalize = function(regex) {\n return copyRegex(regex, {addG: true});\n };\n\n/**\n * Installs optional features according to the specified options. Can be undone using\n * {@link #XRegExp.uninstall}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.install({\n * // Enables support for astral code points in Unicode addons (implicitly sets flag A)\n * astral: true,\n *\n * // Overrides native regex methods with fixed/extended versions that support named\n * // backreferences and fix numerous cross-browser bugs\n * natives: true\n * });\n *\n * // With an options string\n * XRegExp.install('astral natives');\n */\n XRegExp.install = function(options) {\n options = prepareOptions(options);\n\n if (!features.astral && options.astral) {\n setAstral(true);\n }\n\n if (!features.natives && options.natives) {\n setNatives(true);\n }\n };\n\n/**\n * Checks whether an individual optional feature is installed.\n *\n * @memberOf XRegExp\n * @param {String} feature Name of the feature to check. One of:\n * <li>`natives`\n * <li>`astral`\n * @returns {Boolean} Whether the feature is installed.\n * @example\n *\n * XRegExp.isInstalled('natives');\n */\n XRegExp.isInstalled = function(feature) {\n return !!(features[feature]);\n };\n\n/**\n * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes\n * created in another frame, when `instanceof` and `constructor` checks would fail.\n *\n * @memberOf XRegExp\n * @param {*} value Object to check.\n * @returns {Boolean} Whether the object is a `RegExp` object.\n * @example\n *\n * XRegExp.isRegExp('string'); // -> false\n * XRegExp.isRegExp(/regex/i); // -> true\n * XRegExp.isRegExp(RegExp('^', 'm')); // -> true\n * XRegExp.isRegExp(XRegExp('(?s).')); // -> true\n */\n XRegExp.isRegExp = function(value) {\n return toString.call(value) === '[object RegExp]';\n //return isType(value, 'RegExp');\n };\n\n/**\n * Returns the first matched string, or in global mode, an array containing all matched strings.\n * This is essentially a more convenient re-implementation of `String.prototype.match` that gives\n * the result types you actually want (string instead of `exec`-style array in match-first mode,\n * and an empty array instead of `null` when no matches are found in match-all mode). It also lets\n * you override flag g and ignore `lastIndex`, and fixes browser bugs.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to\n * return an array of all matched strings. If not explicitly specified and `regex` uses flag g,\n * `scope` is 'all'.\n * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all\n * mode: Array of all matched strings, or an empty array.\n * @example\n *\n * // Match first\n * XRegExp.match('abc', /\\w/); // -> 'a'\n * XRegExp.match('abc', /\\w/g, 'one'); // -> 'a'\n * XRegExp.match('abc', /x/g, 'one'); // -> null\n *\n * // Match all\n * XRegExp.match('abc', /\\w/g); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /\\w/, 'all'); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /x/, 'all'); // -> []\n */\n XRegExp.match = function(str, regex, scope) {\n var global = (regex.global && scope !== 'one') || scope === 'all',\n cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY',\n result,\n r2;\n\n regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.exec`/`replace`\n r2 = regex[REGEX_DATA][cacheKey] || (\n regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: !!global,\n addY: !!regex.sticky,\n removeG: scope === 'one',\n isInternalOnly: true\n })\n );\n\n result = nativ.match.call(toObject(str), r2);\n\n if (regex.global) {\n regex.lastIndex = (\n (scope === 'one' && result) ?\n // Can't use `r2.lastIndex` since `r2` is nonglobal in this case\n (result.index + result[0].length) : 0\n );\n }\n\n return global ? (result || []) : (result && result[0]);\n };\n\n/**\n * Retrieves the matches from searching a string using a chain of regexes that successively search\n * within previous matches. The provided `chain` array can contain regexes and or objects with\n * `regex` and `backref` properties. When a backreference is specified, the named or numbered\n * backreference is passed forward to the next regex or returned.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} chain Regexes that each search for matches within preceding results.\n * @returns {Array} Matches by the last regex in the chain, or an empty array.\n * @example\n *\n * // Basic usage; matches numbers within <b> tags\n * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [\n * XRegExp('(?is)<b>.*?</b>'),\n * /\\d+/\n * ]);\n * // -> ['2', '4', '56']\n *\n * // Passing forward and returning specific backreferences\n * html = '<a href=\"http://xregexp.com/api/\">XRegExp</a>\\\n * <a href=\"http://www.google.com/\">Google</a>';\n * XRegExp.matchChain(html, [\n * {regex: /<a href=\"([^\"]+)\">/i, backref: 1},\n * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}\n * ]);\n * // -> ['xregexp.com', 'www.google.com']\n */\n XRegExp.matchChain = function(str, chain) {\n return (function recurseChain(values, level) {\n var item = chain[level].regex ? chain[level] : {regex: chain[level]},\n matches = [],\n addMatch = function(match) {\n if (item.backref) {\n /* Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold\n * the `undefined`s for backreferences to nonparticipating capturing\n * groups. In such cases, a `hasOwnProperty` or `in` check on its own would\n * inappropriately throw the exception, so also check if the backreference\n * is a number that is within the bounds of the array.\n */\n if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) {\n throw new ReferenceError('Backreference to undefined group: ' + item.backref);\n }\n\n matches.push(match[item.backref] || '');\n } else {\n matches.push(match[0]);\n }\n },\n i;\n\n for (i = 0; i < values.length; ++i) {\n XRegExp.forEach(values[i], item.regex, addMatch);\n }\n\n return ((level === chain.length - 1) || !matches.length) ?\n matches :\n recurseChain(matches, level + 1);\n }([str], 0));\n };\n\n/**\n * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string\n * or regex, and the replacement can be a string or a function to be called for each match. To\n * perform a global search and replace, use the optional `scope` argument or include flag g if using\n * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement\n * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared\n * to the native `String.prototype.replace` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * Replacement strings can include special replacement syntax:\n * <li>$$ - Inserts a literal $ character.\n * <li>$&, $0 - Inserts the matched substring.\n * <li>$` - Inserts the string that precedes the matched substring (left context).\n * <li>$' - Inserts the string that follows the matched substring (right context).\n * <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts\n * backreference n/nn.\n * <li>${n} - Where n is a name or any number of digits that reference an existent capturing\n * group, inserts backreference n.\n * Replacement functions are invoked with three or more arguments:\n * <li>The matched substring (corresponds to $& above). Named backreferences are accessible as\n * properties of this first argument.\n * <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).\n * <li>The zero-based index of the match within the total search string.\n * <li>The total string being searched.\n * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not\n * explicitly specified and using a regex with flag g, `scope` is 'all'.\n * @returns {String} New string with one or all matches replaced.\n * @example\n *\n * // Regex search, using named backreferences in replacement string\n * var name = XRegExp('(?<first>\\\\w+) (?<last>\\\\w+)');\n * XRegExp.replace('John Smith', name, '${last}, ${first}');\n * // -> 'Smith, John'\n *\n * // Regex search, using named backreferences in replacement function\n * XRegExp.replace('John Smith', name, function(match) {\n * return match.last + ', ' + match.first;\n * });\n * // -> 'Smith, John'\n *\n * // String search, with replace-all\n * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');\n * // -> 'XRegExp builds XRegExps'\n */\n XRegExp.replace = function(str, search, replacement, scope) {\n var isRegex = XRegExp.isRegExp(search),\n global = (search.global && scope !== 'one') || scope === 'all',\n cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY',\n s2 = search,\n result;\n\n if (isRegex) {\n search[REGEX_DATA] = search[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s\n // `lastIndex` isn't updated *during* replacement iterations\n s2 = search[REGEX_DATA][cacheKey] || (\n search[REGEX_DATA][cacheKey] = copyRegex(search, {\n addG: !!global,\n addY: !!search.sticky,\n removeG: scope === 'one',\n isInternalOnly: true\n })\n );\n } else if (global) {\n s2 = new RegExp(XRegExp.escape(String(search)), 'g');\n }\n\n // Fixed `replace` required for named backreferences, etc.\n result = fixed.replace.call(toObject(str), s2, replacement);\n\n if (isRegex && search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n }\n\n return result;\n };\n\n/**\n * Performs batch processing of string replacements. Used like {@link #XRegExp.replace}, but\n * accepts an array of replacement details. Later replacements operate on the output of earlier\n * replacements. Replacement details are accepted as an array with a regex or string to search for,\n * the replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp\n * replacement text syntax, which supports named backreference properties via `${name}`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} replacements Array of replacement detail arrays.\n * @returns {String} New string with all replacements.\n * @example\n *\n * str = XRegExp.replaceEach(str, [\n * [XRegExp('(?<name>a)'), 'z${name}'],\n * [/b/gi, 'y'],\n * [/c/g, 'x', 'one'], // scope 'one' overrides /g\n * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g\n * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings\n * [/f/g, function($0) {\n * return $0.toUpperCase();\n * }]\n * ]);\n */\n XRegExp.replaceEach = function(str, replacements) {\n var i, r;\n\n for (i = 0; i < replacements.length; ++i) {\n r = replacements[i];\n str = XRegExp.replace(str, r[0], r[1], r[2]);\n }\n\n return str;\n };\n\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * XRegExp.split('a b c', ' ');\n * // -> ['a', 'b', 'c']\n *\n * // With limit\n * XRegExp.split('a b c', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * XRegExp.split('..word1..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', '..']\n */\n XRegExp.split = function(str, separator, limit) {\n return fixed.split.call(toObject(str), separator, limit);\n };\n\n/**\n * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and\n * `sticky` arguments specify the search start position, and whether the match must start at the\n * specified position only. The `lastIndex` property of the provided regex is not used, but is\n * updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.test` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Boolean} Whether the regex matched the provided value.\n * @example\n *\n * // Basic use\n * XRegExp.test('abc', /c/); // -> true\n *\n * // With pos and sticky\n * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false\n * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true\n */\n XRegExp.test = function(str, regex, pos, sticky) {\n // Do this the easy way :-)\n return !!XRegExp.exec(str, regex, pos, sticky);\n };\n\n/**\n * Uninstalls optional features according to the specified options. All optional features start out\n * uninstalled, so this is used to undo the actions of {@link #XRegExp.install}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.uninstall({\n * // Disables support for astral code points in Unicode addons\n * astral: true,\n *\n * // Restores native regex methods\n * natives: true\n * });\n *\n * // With an options string\n * XRegExp.uninstall('astral natives');\n */\n XRegExp.uninstall = function(options) {\n options = prepareOptions(options);\n\n if (features.astral && options.astral) {\n setAstral(false);\n }\n\n if (features.natives && options.natives) {\n setNatives(false);\n }\n };\n\n/**\n * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as\n * regex objects or strings. Metacharacters are escaped in patterns provided as strings.\n * Backreferences in provided regex objects are automatically renumbered to work correctly within\n * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the\n * `flags` argument.\n *\n * @memberOf XRegExp\n * @param {Array} patterns Regexes and strings to combine.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Union of the provided regexes and strings.\n * @example\n *\n * XRegExp.union(['a+b*c', /(dogs)\\1/, /(cats)\\1/], 'i');\n * // -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\n */\n XRegExp.union = function(patterns, flags) {\n var parts = /(\\()(?!\\?)|\\\\([1-9]\\d*)|\\\\[\\s\\S]|\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*]/g,\n output = [],\n numCaptures = 0,\n numPriorCaptures,\n captureNames,\n pattern,\n rewrite = function(match, paren, backref) {\n var name = captureNames[numCaptures - numPriorCaptures];\n\n // Capturing group\n if (paren) {\n ++numCaptures;\n // If the current capture has a name, preserve the name\n if (name) {\n return '(?<' + name + '>';\n }\n // Backreference\n } else if (backref) {\n // Rewrite the backreference\n return '\\\\' + (+backref + numPriorCaptures);\n }\n\n return match;\n },\n i;\n\n if (!(isType(patterns, 'Array') && patterns.length)) {\n throw new TypeError('Must provide a nonempty array of patterns to merge');\n }\n\n for (i = 0; i < patterns.length; ++i) {\n pattern = patterns[i];\n\n if (XRegExp.isRegExp(pattern)) {\n numPriorCaptures = numCaptures;\n captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || [];\n\n // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns\n // are independently valid; helps keep this simple. Named captures are put back\n output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite));\n } else {\n output.push(XRegExp.escape(pattern));\n }\n }\n\n return XRegExp(output.join('|'), flags);\n };\n\n/* ==============================\n * Fixed/extended native methods\n * ============================== */\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to\n * override the native method. Use via `XRegExp.exec` without overriding natives.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Array} Match array with named backreference properties, or `null`.\n */\n fixed.exec = function(str) {\n var origLastIndex = this.lastIndex,\n match = nativ.exec.apply(this, arguments),\n name,\n r2,\n i;\n\n if (match) {\n // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating\n // capturing groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of\n // older IEs. IE 9 in standards mode follows the spec\n if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) {\n r2 = copyRegex(this, {\n removeG: true,\n isInternalOnly: true\n });\n // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed\n // matching due to characters outside the match\n nativ.replace.call(String(str).slice(match.index), r2, function() {\n var len = arguments.length, i;\n // Skip index 0 and the last 2\n for (i = 1; i < len - 2; ++i) {\n if (arguments[i] === undefined) {\n match[i] = undefined;\n }\n }\n });\n }\n\n // Attach named capture properties\n if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {\n // Skip index 0\n for (i = 1; i < match.length; ++i) {\n name = this[REGEX_DATA].captureNames[i - 1];\n if (name) {\n match[name] = match[i];\n }\n }\n }\n\n // Fix browsers that increment `lastIndex` after zero-length matches\n if (this.global && !match[0].length && (this.lastIndex > match.index)) {\n this.lastIndex = match.index;\n }\n }\n\n if (!this.global) {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n this.lastIndex = origLastIndex;\n }\n\n return match;\n };\n\n/**\n * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')`\n * uses this to override the native method.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Boolean} Whether the regex matched the provided value.\n */\n fixed.test = function(str) {\n // Do this the easy way :-)\n return !!fixed.exec.call(this, str);\n };\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to\n * override the native method.\n *\n * @private\n * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.\n * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,\n * the result of calling `regex.exec(this)`.\n */\n fixed.match = function(regex) {\n var result;\n\n if (!XRegExp.isRegExp(regex)) {\n // Use the native `RegExp` rather than `XRegExp`\n regex = new RegExp(regex);\n } else if (regex.global) {\n result = nativ.match.apply(this, arguments);\n // Fixes IE bug\n regex.lastIndex = 0;\n\n return result;\n }\n\n return fixed.exec.call(regex, toObject(this));\n };\n\n/**\n * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and\n * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser\n * bugs in replacement text syntax when performing a replacement using a nonregex search value, and\n * the value of a replacement regex's `lastIndex` property during replacement iterations and upon\n * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note\n * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via\n * `XRegExp.replace` without overriding natives.\n *\n * @private\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * @returns {String} New string with one or all matches replaced.\n */\n fixed.replace = function(search, replacement) {\n var isRegex = XRegExp.isRegExp(search),\n origLastIndex,\n captureNames,\n result;\n\n if (isRegex) {\n if (search[REGEX_DATA]) {\n captureNames = search[REGEX_DATA].captureNames;\n }\n // Only needed if `search` is nonglobal\n origLastIndex = search.lastIndex;\n } else {\n search += ''; // Type-convert\n }\n\n // Don't use `typeof`; some older browsers return 'function' for regex objects\n if (isType(replacement, 'Function')) {\n // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement\n // functions isn't type-converted to a string\n result = nativ.replace.call(String(this), search, function() {\n var args = arguments, i;\n if (captureNames) {\n // Change the `arguments[0]` string primitive to a `String` object that can\n // store properties. This really does need to use `String` as a constructor\n args[0] = new String(args[0]);\n // Store named backreferences on the first argument\n for (i = 0; i < captureNames.length; ++i) {\n if (captureNames[i]) {\n args[0][captureNames[i]] = args[i + 1];\n }\n }\n }\n // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox,\n // Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)\n if (isRegex && search.global) {\n search.lastIndex = args[args.length - 2] + args[0].length;\n }\n // ES6 specs the context for replacement functions as `undefined`\n return replacement.apply(undefined, args);\n });\n } else {\n // Ensure that the last value of `args` will be a string when given nonstring `this`,\n // while still throwing on null or undefined context\n result = nativ.replace.call(this == null ? this : String(this), search, function() {\n // Keep this function's `arguments` available through closure\n var args = arguments;\n return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) {\n var n;\n // Named or numbered backreference with curly braces\n if ($1) {\n // XRegExp behavior for `${n}`:\n // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for\n // for the entire match. Any number of leading zeros may be used.\n // 2. Backreference to named capture `n`, if it exists and is not an\n // integer overridden by numbered capture. In practice, this does not\n // overlap with numbered capture since XRegExp does not allow named\n // capture to use a bare integer as the name.\n // 3. If the name or number does not refer to an existing capturing group,\n // it's an error.\n n = +$1; // Type-convert; drop leading zeros\n if (n <= args.length - 3) {\n return args[n] || '';\n }\n // Groups with the same name is an error, else would need `lastIndexOf`\n n = captureNames ? indexOf(captureNames, $1) : -1;\n if (n < 0) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n return args[n + 1] || '';\n }\n // Else, special variable or numbered backreference without curly braces\n if ($2 === '$') { // $$\n return '$';\n }\n if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00\n return args[0];\n }\n if ($2 === '`') { // $` (left context)\n return args[args.length - 1].slice(0, args[args.length - 2]);\n }\n if ($2 === \"'\") { // $' (right context)\n return args[args.length - 1].slice(args[args.length - 2] + args[0].length);\n }\n // Else, numbered backreference without curly braces\n $2 = +$2; // Type-convert; drop leading zero\n // XRegExp behavior for `$n` and `$nn`:\n // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits.\n // - `$1` is an error if no capturing groups.\n // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead.\n // - `$01` is `$1` if at least one capturing group, else it's an error.\n // - `$0` (not followed by 1-9) and `$00` are the entire match.\n // Native behavior, for comparison:\n // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.\n // - `$1` is a literal `$1` if no capturing groups.\n // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.\n // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.\n // - `$0` is a literal `$0`.\n if (!isNaN($2)) {\n if ($2 > args.length - 3) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n return args[$2] || '';\n }\n // `$` followed by an unsupported char is an error, unlike native JS\n throw new SyntaxError('Invalid token ' + $0);\n });\n });\n }\n\n if (isRegex) {\n if (search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n } else {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n search.lastIndex = origLastIndex;\n }\n }\n\n return result;\n };\n\n/**\n * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')`\n * uses this to override the native method. Use via `XRegExp.split` without overriding natives.\n *\n * @private\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n */\n fixed.split = function(separator, limit) {\n if (!XRegExp.isRegExp(separator)) {\n // Browsers handle nonregex split correctly, so use the faster native method\n return nativ.split.apply(this, arguments);\n }\n\n var str = String(this),\n output = [],\n origLastIndex = separator.lastIndex,\n lastLastIndex = 0,\n lastLength;\n\n // Values for `limit`, per the spec:\n // If undefined: pow(2,32) - 1\n // If 0, Infinity, or NaN: 0\n // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);\n // If negative number: pow(2,32) - floor(abs(limit))\n // If other: Type-convert, then use the above rules\n // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63,\n // unless Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+\n limit = (limit === undefined ? -1 : limit) >>> 0;\n\n XRegExp.forEach(str, separator, function(match) {\n // This condition is not the same as `if (match[0].length)`\n if ((match.index + match[0].length) > lastLastIndex) {\n output.push(str.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < str.length) {\n Array.prototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = match.index + lastLength;\n }\n });\n\n if (lastLastIndex === str.length) {\n if (!nativ.test.call(separator, '') || lastLength) {\n output.push('');\n }\n } else {\n output.push(str.slice(lastLastIndex));\n }\n\n separator.lastIndex = origLastIndex;\n return output.length > limit ? output.slice(0, limit) : output;\n };\n\n/* ==============================\n * Built-in syntax/flag tokens\n * ============================== */\n\n/*\n * Letter escapes that natively match literal characters: `\\a`, `\\A`, etc. These should be\n * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser\n * consistency and to reserve their syntax, but lets them be superseded by addons.\n */\n XRegExp.addToken(\n /\\\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|x(?![\\dA-Fa-f]{2}))/,\n function(match, scope) {\n // \\B is allowed in default scope only\n if (match[1] === 'B' && scope === defaultScope) {\n return match[0];\n }\n throw new SyntaxError('Invalid escape ' + match[0]);\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Unicode code point escape with curly braces: `\\u{N..}`. `N..` is any one or more digit\n * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag\n * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to\n * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior\n * if you follow a `\\u{N..}` token that references a code point above U+FFFF with a quantifier, or\n * if you use the same in a character class.\n */\n XRegExp.addToken(\n /\\\\u{([\\dA-Fa-f]+)}/,\n function(match, scope, flags) {\n var code = dec(match[1]);\n if (code > 0x10FFFF) {\n throw new SyntaxError('Invalid Unicode code point ' + match[0]);\n }\n if (code <= 0xFFFF) {\n // Converting to \\uNNNN avoids needing to escape the literal character and keep it\n // separate from preceding tokens\n return '\\\\u' + pad4(hex(code));\n }\n // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling\n if (hasNativeU && flags.indexOf('u') > -1) {\n return match[0];\n }\n throw new SyntaxError('Cannot use Unicode code point above \\\\u{FFFF} without flag u');\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency.\n * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because\n * character class endings can't be determined.\n */\n XRegExp.addToken(\n /\\[(\\^?)]/,\n function(match) {\n // For cross-browser compatibility with ES3, convert [] to \\b\\B and [^] to [\\s\\S].\n // (?!) should work like \\b\\B, but is unreliable in some versions of Firefox\n return match[1] ? '[\\\\s\\\\S]' : '\\\\b\\\\B';\n },\n {leadChar: '['}\n );\n\n/*\n * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in\n * free-spacing mode (flag x).\n */\n XRegExp.addToken(\n /\\(\\?#[^)]*\\)/,\n function(match, scope, flags) {\n // Keep tokens separated unless the following token is a quantifier\n return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n '' : '(?:)';\n },\n {leadChar: '('}\n );\n\n/*\n * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.\n */\n XRegExp.addToken(\n /\\s+|#.*/,\n function(match, scope, flags) {\n // Keep tokens separated unless the following token is a quantifier\n return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n '' : '(?:)';\n },\n {flag: 'x'}\n );\n\n/*\n * Dot, in dotall mode (aka singleline mode, flag s) only.\n */\n XRegExp.addToken(\n /\\./,\n function() {\n return '[\\\\s\\\\S]';\n },\n {\n flag: 's',\n leadChar: '.'\n }\n );\n\n/*\n * Named backreference: `\\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _,\n * and $ only. Also allows numbered backreferences as `\\k<n>`.\n */\n XRegExp.addToken(\n /\\\\k<([\\w$]+)>/,\n function(match) {\n // Groups with the same name is an error, else would need `lastIndexOf`\n var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1],\n endIndex = match.index + match[0].length;\n if (!index || index > this.captureNames.length) {\n throw new SyntaxError('Backreference to undefined group ' + match[0]);\n }\n // Keep backreferences separate from subsequent literal numbers\n return '\\\\' + index + (\n endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ?\n '' : '(?:)'\n );\n },\n {leadChar: '\\\\'}\n );\n\n/*\n * Numbered backreference or octal, plus any following digits: `\\0`, `\\11`, etc. Octals except `\\0`\n * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches\n * are returned unaltered. IE < 9 doesn't support backreferences above `\\99` in regex syntax.\n */\n XRegExp.addToken(\n /\\\\(\\d+)/,\n function(match, scope) {\n if (\n !(\n scope === defaultScope &&\n /^[1-9]/.test(match[1]) &&\n +match[1] <= this.captureNames.length\n ) &&\n match[1] !== '0'\n ) {\n throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' +\n match[0]);\n }\n return match[0];\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the\n * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style\n * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively\n * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to\n * Python-style named capture as octals.\n */\n XRegExp.addToken(\n /\\(\\?P?<([\\w$]+)>/,\n function(match) {\n // Disallow bare integers as names because named backreferences are added to match\n // arrays and therefore numeric properties may lead to incorrect lookups\n if (!isNaN(match[1])) {\n throw new SyntaxError('Cannot use integer as capture name ' + match[0]);\n }\n if (match[1] === 'length' || match[1] === '__proto__') {\n throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]);\n }\n if (indexOf(this.captureNames, match[1]) > -1) {\n throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]);\n }\n this.captureNames.push(match[1]);\n this.hasNamedCapture = true;\n return '(';\n },\n {leadChar: '('}\n );\n\n/*\n * Capturing group; match the opening parenthesis only. Required for support of named capturing\n * groups. Also adds explicit capture mode (flag n).\n */\n XRegExp.addToken(\n /\\((?!\\?)/,\n function(match, scope, flags) {\n if (flags.indexOf('n') > -1) {\n return '(?:';\n }\n this.captureNames.push(null);\n return '(';\n },\n {\n optionalFlags: 'n',\n leadChar: '('\n }\n );\n\n/* ==============================\n * Expose XRegExp\n * ============================== */\n\n module.exports = XRegExp;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-regex/xregexp.js\n **/","export * from './lib/match';\nexport * from './lib/apply-regex-list';\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/index.js\n **/","export class Match {\n constructor(value, index, css) {\n this.value = value;\n this.index = index;\n this.length = value.length;\n this.css = css;\n this.brushName = null;\n }\n\n toString() {\n return this.value;\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/match.js\n **/","import { find, sort, removeNested, compact } from './matches';\n\n/**\n * Applies all regular expression to the code and stores all found\n * matches in the `this.matches` array.\n */\nexport function applyRegexList(code, regexList)\n{\n let result = [];\n\n regexList = regexList || [];\n\n for (let i = 0, l = regexList.length; i < l; i++) {\n // BUG: length returns len+1 for array if methods added to prototype chain (oising@gmail.com)\n if (typeof regexList[i] === 'object')\n result = result.concat(find(code, regexList[i]));\n }\n\n result = sort(result);\n result = removeNested(result);\n result = compact(result);\n\n return result;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/apply-regex-list.js\n **/","import { Match } from './match';\nimport { XRegExp } from 'syntaxhighlighter-regex';\n\n/**\n * Executes given regular expression on provided code and returns all matches that are found.\n *\n * @param {String} code Code to execute regular expression on.\n * @param {Object} regex Regular expression item info from `regexList` collection.\n * @return {Array} Returns a list of Match objects.\n */\nexport function find(code, regexInfo)\n{\n function defaultAdd(match, regexInfo)\n {\n return match[0];\n };\n\n var index = 0,\n match = null,\n matches = [],\n process = regexInfo.func ? regexInfo.func : defaultAdd,\n pos = 0\n ;\n\n while(match = XRegExp.exec(code, regexInfo.regex, pos))\n {\n var resultMatch = process(match, regexInfo);\n\n if (typeof resultMatch === 'string')\n resultMatch = [new Match(resultMatch, match.index, regexInfo.css)];\n\n matches = matches.concat(resultMatch);\n pos = match.index + match[0].length;\n }\n\n return matches;\n};\n\n/**\n * Sorts matches by index position and then by length.\n */\nexport function sort(matches)\n{\n function sortMatchesCallback(m1, m2)\n {\n // sort matches by index first\n if(m1.index < m2.index)\n return -1;\n else if(m1.index > m2.index)\n return 1;\n else\n {\n // if index is the same, sort by length\n if(m1.length < m2.length)\n return -1;\n else if(m1.length > m2.length)\n return 1;\n }\n\n return 0;\n }\n\n return matches.sort(sortMatchesCallback);\n}\n\nexport function compact(matches)\n{\n var result = [], i, l;\n\n for (i = 0, l = matches.length; i < l; i++)\n if (matches[i])\n result.push(matches[i]);\n\n return result;\n}\n\n/**\n * Checks to see if any of the matches are inside of other matches.\n * This process would get rid of highligted strings inside comments,\n * keywords inside strings and so on.\n */\nexport function removeNested(matches)\n{\n // Optimized by Jose Prado (http://joseprado.com)\n for (var i = 0, l = matches.length; i < l; i++)\n {\n if (matches[i] === null)\n continue;\n\n var itemI = matches[i],\n itemIEndPos = itemI.index + itemI.length\n ;\n\n for (var j = i + 1, l = matches.length; j < l && matches[i] !== null; j++)\n {\n var itemJ = matches[j];\n\n if (itemJ === null)\n continue;\n else if (itemJ.index > itemIEndPos)\n break;\n else if (itemJ.index == itemI.index && itemJ.length > itemI.length)\n matches[i] = null;\n else if (itemJ.index >= itemI.index && itemJ.index < itemIEndPos)\n matches[j] = null;\n }\n }\n\n return matches;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/matches.js\n **/","/**\n * Pads number with zeros until it's length is the same as given length.\n *\n * @param {Number} number Number to pad.\n * @param {Number} length Max string length with.\n * @return {String} Returns a string padded with proper amount of '0'.\n */\nfunction padNumber(number, length)\n{\n var result = number.toString();\n\n while (result.length < length)\n result = '0' + result;\n\n return result;\n};\n\nfunction getLines(str)\n{\n return str.split(/\\r?\\n/);\n}\n\nfunction getLinesToHighlight(opts)\n{\n var results = {},\n linesToHighlight,\n l,\n i\n ;\n\n linesToHighlight = opts.highlight || [];\n\n if (typeof(linesToHighlight.push) !== 'function')\n linesToHighlight = [linesToHighlight];\n\n for (i = 0, l = linesToHighlight.length; i < l; i++)\n results[linesToHighlight[i]] = true;\n\n return results;\n}\n\nexport default function Renderer(code, matches, opts)\n{\n var _this = this;\n\n _this.opts = opts;\n _this.code = code;\n _this.matches = matches;\n _this.lines = getLines(code);\n _this.linesToHighlight = getLinesToHighlight(opts);\n}\n\nRenderer.prototype = {\n /**\n * Wraps each line of the string into <code/> tag with given style applied to it.\n *\n * @param {String} str Input string.\n * @param {String} css Style name to apply to the string.\n * @return {String} Returns input string with each line surrounded by <span/> tag.\n */\n wrapLinesWithCode: function(str, css)\n {\n if (str == null || str.length == 0 || str == '\\n' || css == null)\n return str;\n\n var _this = this,\n results = [],\n lines,\n line,\n spaces,\n i,\n l\n ;\n\n str = str.replace(/</g, '<');\n\n // Replace two or more sequential spaces with leaving last space untouched.\n str = str.replace(/ {2,}/g, function(m)\n {\n spaces = '';\n\n for (i = 0, l = m.length; i < l - 1; i++)\n spaces += _this.opts.space;\n\n return spaces + ' ';\n });\n\n lines = getLines(str);\n\n // Split each line and apply <span class=\"...\">...</span> to them so that leading spaces aren't included.\n for (i = 0, l = lines.length; i < l; i++)\n {\n line = lines[i];\n spaces = '';\n\n if (line.length > 0)\n {\n line = line.replace(/^( | )+/, function(s)\n {\n spaces = s;\n return '';\n });\n\n line = line.length === 0\n ? spaces\n : spaces + '<code class=\"' + css + '\">' + line + '</code>'\n ;\n }\n\n results.push(line);\n }\n\n return results.join('\\n');\n },\n\n /**\n * Turns all URLs in the code into <a/> tags.\n * @param {String} code Input code.\n * @return {String} Returns code with </a> tags.\n */\n processUrls: function(code)\n {\n var gt = /(.*)((>|<).*)/,\n url = /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g\n ;\n\n return code.replace(url, function(m)\n {\n var suffix = '',\n match = null\n ;\n\n // We include < and > in the URL for the common cases like <http://google.com>\n // The problem is that they get transformed into <http://google.com>\n // Where as > easily looks like part of the URL string.\n\n if (match = gt.exec(m))\n {\n m = match[1];\n suffix = match[2];\n }\n\n return '<a href=\"' + m + '\">' + m + '</a>' + suffix;\n });\n },\n\n /**\n * Creates an array containing integer line numbers starting from the 'first-line' param.\n * @return {Array} Returns array of integers.\n */\n figureOutLineNumbers: function(code)\n {\n var lineNumbers = [],\n lines = this.lines,\n firstLine = parseInt(this.opts.firstLine || 1),\n i,\n l\n ;\n\n for (i = 0, l = lines.length; i < l; i++)\n lineNumbers.push(i + firstLine);\n\n return lineNumbers;\n },\n\n /**\n * Generates HTML markup for a single line of code while determining alternating line style.\n * @param {Integer} lineNumber Line number.\n * @param {String} code Line HTML markup.\n * @return {String} Returns HTML markup.\n */\n wrapLine: function(lineIndex, lineNumber, lineHtml)\n {\n var classes = [\n 'line',\n 'number' + lineNumber,\n 'index' + lineIndex,\n 'alt' + (lineNumber % 2 == 0 ? 1 : 2).toString()\n ];\n\n if (this.linesToHighlight[lineNumber])\n classes.push('highlighted');\n\n if (lineNumber == 0)\n classes.push('break');\n\n return '<div class=\"' + classes.join(' ') + '\">' + lineHtml + '</div>';\n },\n\n /**\n * Generates HTML markup for line number column.\n * @param {String} code Complete code HTML markup.\n * @param {Array} lineNumbers Calculated line numbers.\n * @return {String} Returns HTML markup.\n */\n renderLineNumbers: function(code, lineNumbers)\n {\n var _this = this,\n opts = _this.opts,\n html = '',\n count = _this.lines.length,\n firstLine = parseInt(opts.firstLine || 1),\n pad = opts.padLineNumbers,\n lineNumber,\n i\n ;\n\n if (pad == true)\n pad = (firstLine + count - 1).toString().length;\n else if (isNaN(pad) == true)\n pad = 0;\n\n for (i = 0; i < count; i++)\n {\n lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n code = lineNumber == 0 ? opts.space : padNumber(lineNumber, pad);\n html += _this.wrapLine(i, lineNumber, code);\n }\n\n return html;\n },\n\n /**\n * Splits block of text into individual DIV lines.\n * @param {String} code Code to highlight.\n * @param {Array} lineNumbers Calculated line numbers.\n * @return {String} Returns highlighted code in HTML form.\n */\n getCodeLinesHtml: function(html, lineNumbers)\n {\n // html = utils.trim(html);\n\n var _this = this,\n opts = _this.opts,\n lines = getLines(html),\n padLength = opts.padLineNumbers,\n firstLine = parseInt(opts.firstLine || 1),\n brushName = opts.brush,\n html = ''\n ;\n\n for (var i = 0, l = lines.length; i < l; i++)\n {\n var line = lines[i],\n indent = /^( |\\s)+/.exec(line),\n spaces = null,\n lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n ;\n\n if (indent != null)\n {\n spaces = indent[0].toString();\n line = line.substr(spaces.length);\n spaces = spaces.replace(' ', opts.space);\n }\n\n // line = utils.trim(line);\n\n if (line.length == 0)\n line = opts.space;\n\n html += _this.wrapLine(\n i,\n lineNumber,\n (spaces != null ? '<code class=\"' + brushName + ' spaces\">' + spaces + '</code>' : '') + line\n );\n }\n\n return html;\n },\n\n /**\n * Returns HTML for the table title or empty string if title is null.\n */\n getTitleHtml: function(title)\n {\n return title ? '<caption>' + title + '</caption>' : '';\n },\n\n /**\n * Finds all matches in the source code.\n * @param {String} code Source code to process matches in.\n * @param {Array} matches Discovered regex matches.\n * @return {String} Returns formatted HTML with processed mathes.\n */\n getMatchesHtml: function(code, matches)\n {\n function getBrushNameCss(match)\n {\n var result = match ? (match.brushName || brushName) : brushName;\n return result ? result + ' ' : '';\n };\n\n var _this = this,\n pos = 0,\n result = '',\n brushName = _this.opts.brush || '',\n match,\n matchBrushName,\n i,\n l\n ;\n\n // Finally, go through the final list of matches and pull the all\n // together adding everything in between that isn't a match.\n for (i = 0, l = matches.length; i < l; i++)\n {\n match = matches[i];\n\n if (match === null || match.length === 0)\n continue;\n\n matchBrushName = getBrushNameCss(match);\n\n result += _this.wrapLinesWithCode(code.substr(pos, match.index - pos), matchBrushName + 'plain')\n + _this.wrapLinesWithCode(match.value, matchBrushName + match.css)\n ;\n\n pos = match.index + match.length + (match.offset || 0);\n }\n\n // don't forget to add whatever's remaining in the string\n result += _this.wrapLinesWithCode(code.substr(pos), getBrushNameCss() + 'plain');\n\n return result;\n },\n\n /**\n * Generates HTML markup for the whole syntax highlighter.\n * @param {String} code Source code.\n * @return {String} Returns HTML markup.\n */\n getHtml: function()\n {\n var _this = this,\n opts = _this.opts,\n code = _this.code,\n matches = _this.matches,\n classes = ['syntaxhighlighter'],\n lineNumbers,\n gutter,\n html\n ;\n\n if (opts.collapse === true)\n classes.push('collapsed');\n\n gutter = opts.gutter !== false;\n\n if (!gutter)\n classes.push('nogutter');\n\n // add custom user style name\n classes.push(opts.className);\n\n // add brush alias to the class name for custom CSS\n classes.push(opts.brush);\n\n if (gutter)\n lineNumbers = _this.figureOutLineNumbers(code);\n\n // processes found matches into the html\n html = _this.getMatchesHtml(code, matches);\n\n // finally, split all lines so that they wrap well\n html = _this.getCodeLinesHtml(html, lineNumbers);\n\n // finally, process the links\n if (opts.autoLinks)\n html = _this.processUrls(html);\n\n html = `\n <div class=\"${classes.join(' ')}\">\n <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n ${_this.getTitleHtml(opts.title)}\n <tbody>\n <tr>\n ${gutter ? `<td class=\"gutter\">${_this.renderLineNumbers(code)}</td>` : ``}\n <td class=\"code\">\n <div class=\"container\">${html}</div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n `;\n\n return html;\n },\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-html-renderer/index.js\n **/","/**\n * Splits block of text into lines.\n * @param {String} block Block of text.\n * @return {Array} Returns array of lines.\n */\nfunction splitLines(block)\n{\n return block.split(/\\r?\\n/);\n}\n\n/**\n * Executes a callback on each line and replaces each line with result from the callback.\n * @param {Object} str Input string.\n * @param {Object} callback Callback function taking one string argument and returning a string.\n */\nfunction eachLine(str, callback)\n{\n var lines = splitLines(str);\n\n for (var i = 0, l = lines.length; i < l; i++)\n lines[i] = callback(lines[i], i);\n\n return lines.join('\\n');\n}\n\n/**\n * Generates a unique element ID.\n */\nfunction guid(prefix)\n{\n return (prefix || '') + Math.round(Math.random() * 1000000).toString();\n}\n\n/**\n * Merges two objects. Values from obj2 override values in obj1.\n * Function is NOT recursive and works only for one dimensional objects.\n * @param {Object} obj1 First object.\n * @param {Object} obj2 Second object.\n * @return {Object} Returns combination of both objects.\n */\nfunction merge(obj1, obj2)\n{\n var result = {}, name;\n\n for (name in obj1)\n result[name] = obj1[name];\n\n for (name in obj2)\n result[name] = obj2[name];\n\n return result;\n}\n\n/**\n * Removes all white space at the begining and end of a string.\n *\n * @param {String} str String to trim.\n * @return {String} Returns string without leading and following white space characters.\n */\nfunction trim(str)\n{\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Converts the source to array object. Mostly used for function arguments and\n * lists returned by getElementsByTagName() which aren't Array objects.\n * @param {List} source Source list.\n * @return {Array} Returns array.\n */\nfunction toArray(source)\n{\n return Array.prototype.slice.apply(source);\n}\n\n/**\n * Attempts to convert string to boolean.\n * @param {String} value Input string.\n * @return {Boolean} Returns true if input was \"true\", false if input was \"false\" and value otherwise.\n */\nfunction toBoolean(value)\n{\n var result = {\"true\" : true, \"false\" : false}[value];\n return result == null ? value : result;\n}\n\nmodule.exports = {\n splitLines: splitLines,\n eachLine: eachLine,\n guid: guid,\n merge: merge,\n trim: trim,\n toArray: toArray,\n toBoolean: toBoolean\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils.js\n **/","var\n trim = require('./trim'),\n bloggerMode = require('./blogger_mode'),\n stripBrs = require('./strip_brs'),\n unindenter = require('unindenter'),\n retabber = require('retabber')\n ;\n\nmodule.exports = function(code, opts)\n{\n code = trim(code, opts);\n code = bloggerMode(code, opts);\n code = stripBrs(code, opts);\n code = unindenter.unindent(code, opts);\n\n var tabSize = opts['tab-size'];\n code = opts['smart-tabs'] === true ? retabber.smart(code, tabSize) : retabber.regular(code, tabSize);\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/index.js\n **/","module.exports = function(code, opts)\n{\n return code\n // This is a special trim which only removes first and last empty lines\n // and doesn't affect valid leading space on the first line.\n .replace(/^[ ]*[\\n]+|[\\n]*[ ]*$/g, '')\n\n // IE lets these buggers through\n .replace(/\\r/g, ' ')\n ;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/trim.js\n **/","module.exports = function(code, opts) {\n var br = /<br\\s*\\/?>|<br\\s*\\/?>/gi;\n\n if (opts['bloggerMode'] === true)\n code = code.replace(br, '\\n');\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/blogger_mode.js\n **/","module.exports = function(code, opts)\n{\n var br = /<br\\s*\\/?>|<br\\s*\\/?>/gi;\n\n if (opts['stripBrs'] === true)\n code = code.replace(br, '');\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/strip_brs.js\n **/","function isEmpty(str)\n{\n return /^\\s*$/.test(str);\n}\n\nmodule.exports = {\n unindent: function(code)\n {\n var lines = code.split(/\\r?\\n/),\n regex = /^\\s*/,\n min = 1000,\n line,\n matches,\n i,\n l\n ;\n\n // go through every line and check for common number of indents\n for (i = 0, l = lines.length; i < l && min > 0; i++)\n {\n line = lines[i];\n\n if (isEmpty(line))\n continue;\n\n matches = regex.exec(line);\n\n // In the event that just one line doesn't have leading white space\n // we can't unindent anything, so bail completely.\n if (matches == null)\n return code;\n\n min = Math.min(matches[0].length, min);\n }\n\n // trim minimum common number of white space from the begining of every line\n if (min > 0)\n for (i = 0, l = lines.length; i < l; i++)\n if (!isEmpty(lines[i]))\n lines[i] = lines[i].substr(min);\n\n return lines.join('\\n');\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/unindenter/unindenter.js\n **/","var spaces = '';\n\n// Create a string with 1000 spaces to copy spaces from...\n// It's assumed that there would be no indentation longer than that.\nfor (var i = 0; i < 50; i++)\n spaces += ' '; // 20 spaces * 50\n\n// This function inserts specified amount of spaces in the string\n// where a tab is while removing that given tab.\nfunction insertSpaces(line, pos, count)\n{\n return line.substr(0, pos)\n + spaces.substr(0, count)\n + line.substr(pos + 1, line.length) // pos + 1 will get rid of the tab\n ;\n}\n\nmodule.exports = {\n smart: function(code, tabSize)\n {\n var lines = code.split(/\\r?\\n/),\n tab = '\\t',\n line,\n pos,\n i,\n l\n ;\n\n // Go through all the lines and do the 'smart tabs' magic.\n for (i = 0, l = lines.length; i < l; i++)\n {\n line = lines[i];\n\n if (line.indexOf(tab) === -1)\n continue;\n\n pos = 0;\n\n while ((pos = line.indexOf(tab)) !== -1)\n {\n // This is pretty much all there is to the 'smart tabs' logic.\n // Based on the position within the line and size of a tab,\n // calculate the amount of spaces we need to insert.\n line = insertSpaces(line, pos, tabSize - pos % tabSize);\n }\n\n lines[i] = line;\n }\n\n return lines.join('\\n');\n },\n\n regular: function(code, tabSize)\n {\n return code.replace(/\\t/g, spaces.substr(0, tabSize));\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/retabber/retabber.js\n **/","/**\n * Finds all <SCRIPT TYPE=\"text/syntaxhighlighter\" /> elementss.\n * Finds both \"text/syntaxhighlighter\" and \"syntaxhighlighter\"\n * ...in order to make W3C validator happy with subtype and backwardscompatible without subtype\n * @return {Array} Returns array of all found SyntaxHighlighter tags.\n */\nfunction getSyntaxHighlighterScriptTags()\n{\n var tags = document.getElementsByTagName('script'),\n result = []\n ;\n\n for (var i = 0; i < tags.length; i++)\n if (tags[i].type == 'text/syntaxhighlighter' || tags[i].type == 'syntaxhighlighter')\n result.push(tags[i]);\n\n return result;\n};\n\n/**\n * Checks if target DOM elements has specified CSS class.\n * @param {DOMElement} target Target DOM element to check.\n * @param {String} className Name of the CSS class to check for.\n * @return {Boolean} Returns true if class name is present, false otherwise.\n */\nfunction hasClass(target, className)\n{\n return target.className.indexOf(className) != -1;\n}\n\n/**\n * Adds CSS class name to the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className New CSS class to add.\n */\nfunction addClass(target, className)\n{\n if (!hasClass(target, className))\n target.className += ' ' + className;\n}\n\n/**\n * Removes CSS class name from the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className CSS class to remove.\n */\nfunction removeClass(target, className)\n{\n target.className = target.className.replace(className, '');\n}\n\n/**\n * Adds event handler to the target object.\n * @param {Object} obj Target object.\n * @param {String} type Name of the event.\n * @param {Function} func Handling function.\n */\nfunction attachEvent(obj, type, func, scope)\n{\n function handler(e)\n {\n e = e || window.event;\n\n if (!e.target)\n {\n e.target = e.srcElement;\n e.preventDefault = function()\n {\n this.returnValue = false;\n };\n }\n\n func.call(scope || window, e);\n };\n\n if (obj.attachEvent)\n {\n obj.attachEvent('on' + type, handler);\n }\n else\n {\n obj.addEventListener(type, handler, false);\n }\n}\n\n/**\n * Looks for a child or parent node which has specified classname.\n * Equivalent to jQuery's $(container).find(\".className\")\n * @param {Element} target Target element.\n * @param {String} search Class name or node name to look for.\n * @param {Boolean} reverse If set to true, will go up the node tree instead of down.\n * @return {Element} Returns found child or parent element on null.\n */\nfunction findElement(target, search, reverse /* optional */)\n{\n if (target == null)\n return null;\n\n var nodes = reverse != true ? target.childNodes : [ target.parentNode ],\n propertyToFind = { '#' : 'id', '.' : 'className' }[search.substr(0, 1)] || 'nodeName',\n expectedValue,\n found\n ;\n\n expectedValue = propertyToFind != 'nodeName'\n ? search.substr(1)\n : search.toUpperCase()\n ;\n\n // main return of the found node\n if ((target[propertyToFind] || '').indexOf(expectedValue) != -1)\n return target;\n\n for (var i = 0, l = nodes.length; nodes && i < l && found == null; i++)\n found = findElement(nodes[i], search, reverse);\n\n return found;\n}\n\n/**\n * Looks for a parent node which has specified classname.\n * This is an alias to <code>findElement(container, className, true)</code>.\n * @param {Element} target Target element.\n * @param {String} className Class name to look for.\n * @return {Element} Returns found parent element on null.\n */\nfunction findParentElement(target, className)\n{\n return findElement(target, className, true);\n}\n\n/**\n * Opens up a centered popup window.\n * @param {String} url URL to open in the window.\n * @param {String} name Popup name.\n * @param {int} width Popup width.\n * @param {int} height Popup height.\n * @param {String} options window.open() options.\n * @return {Window} Returns window instance.\n */\nfunction popup(url, name, width, height, options)\n{\n var x = (screen.width - width) / 2,\n y = (screen.height - height) / 2\n ;\n\n options += ', left=' + x +\n ', top=' + y +\n ', width=' + width +\n ', height=' + height\n ;\n options = options.replace(/^,/, '');\n\n var win = window.open(url, name, options);\n win.focus();\n return win;\n}\n\nfunction getElementsByTagName(name)\n{\n return document.getElementsByTagName(name);\n}\n\n/**\n * Finds all elements on the page which could be processes by SyntaxHighlighter.\n */\nfunction findElementsToHighlight(opts)\n{\n var elements = getElementsByTagName(opts['tagName']),\n scripts,\n i\n ;\n\n // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n if(opts['useScriptTags'])\n {\n scripts = getElementsByTagName('script');\n\n for (i = 0; i < scripts.length; i++)\n {\n if (scripts[i].type.match(/^(text\\/)?syntaxhighlighter$/))\n elements.push(scripts[i]);\n }\n }\n\n return elements;\n}\n\nfunction create(name)\n{\n return document.createElement(name);\n}\n\n/**\n * Quick code mouse double click handler.\n */\nfunction quickCodeHandler(e)\n{\n var target = e.target,\n highlighterDiv = findParentElement(target, '.syntaxhighlighter'),\n container = findParentElement(target, '.container'),\n textarea = document.createElement('textarea'),\n highlighter\n ;\n\n if (!container || !highlighterDiv || findElement(container, 'textarea'))\n return;\n\n //highlighter = highlighters.get(highlighterDiv.id);\n\n // add source class name\n addClass(highlighterDiv, 'source');\n\n // Have to go over each line and grab it's text, can't just do it on the\n // container because Firefox loses all \\n where as Webkit doesn't.\n var lines = container.childNodes,\n code = []\n ;\n\n for (var i = 0, l = lines.length; i < l; i++)\n code.push(lines[i].innerText || lines[i].textContent);\n\n // using \\r instead of \\r or \\r\\n makes this work equally well on IE, FF and Webkit\n code = code.join('\\r');\n\n // For Webkit browsers, replace nbsp with a breaking space\n code = code.replace(/\\u00a0/g, \" \");\n\n // inject <textarea/> tag\n textarea.readOnly = true; // https://github.com/syntaxhighlighter/syntaxhighlighter/pull/329\n textarea.appendChild(document.createTextNode(code));\n container.appendChild(textarea);\n\n // preselect all text\n textarea.focus();\n textarea.select();\n\n // set up handler for lost focus\n attachEvent(textarea, 'blur', function(e)\n {\n textarea.parentNode.removeChild(textarea);\n removeClass(highlighterDiv, 'source');\n });\n};\n\nmodule.exports = {\n quickCodeHandler: quickCodeHandler,\n create: create,\n popup: popup,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n attachEvent: attachEvent,\n findElement: findElement,\n findParentElement: findParentElement,\n getSyntaxHighlighterScriptTags: getSyntaxHighlighterScriptTags,\n findElementsToHighlight: findElementsToHighlight\n}\n\n\n/** WEBPACK FOOTER **\n ** ./src/dom.js\n **/","module.exports = {\n space: ' ',\n\n /** Enables use of <SCRIPT type=\"syntaxhighlighter\" /> tags. */\n useScriptTags: true,\n\n /** Blogger mode flag. */\n bloggerMode: false,\n\n stripBrs: false,\n\n /** Name of the tag that SyntaxHighlighter will automatically look for. */\n tagName: 'pre'\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config.js\n **/","module.exports = {\n /** Additional CSS class names to be added to highlighter elements. */\n 'class-name': '',\n\n /** First line number. */\n 'first-line': 1,\n\n /**\n * Pads line numbers. Possible values are:\n *\n * false - don't pad line numbers.\n * true - automaticaly pad numbers with minimum required number of leading zeroes.\n * [int] - length up to which pad line numbers.\n */\n 'pad-line-numbers': false,\n\n /** Lines to highlight. */\n 'highlight': null,\n\n /** Title to be displayed above the code block. */\n 'title': null,\n\n /** Enables or disables smart tabs. */\n 'smart-tabs': true,\n\n /** Gets or sets tab size. */\n 'tab-size': 4,\n\n /** Enables or disables gutter. */\n 'gutter': true,\n\n /** Enables quick code copy and paste from double click. */\n 'quick-code': true,\n\n /** Forces code view to be collapsed. */\n 'collapse': false,\n\n /** Enables or disables automatic links. */\n 'auto-links': true,\n\n 'unindent': true,\n\n 'html-script': false\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/defaults.js\n **/","var applyRegexList = require('syntaxhighlighter-match').applyRegexList;\n\nfunction HtmlScript(BrushXML, brushClass)\n{\n var scriptBrush,\n xmlBrush = new BrushXML()\n ;\n\n if (brushClass == null)\n return;\n\n scriptBrush = new brushClass();\n\n if (scriptBrush.htmlScript == null)\n throw new Error('Brush wasn\\'t configured for html-script option: ' + brushClass.brushName);\n\n xmlBrush.regexList.push(\n { regex: scriptBrush.htmlScript.code, func: process }\n );\n\n this.regexList = xmlBrush.regexList;\n\n function offsetMatches(matches, offset)\n {\n for (var j = 0, l = matches.length; j < l; j++)\n matches[j].index += offset;\n }\n\n function process(match, info)\n {\n var code = match.code,\n results = [],\n regexList = scriptBrush.regexList,\n offset = match.index + match.left.length,\n htmlScript = scriptBrush.htmlScript,\n matches\n ;\n\n function add(matches)\n {\n results = results.concat(matches);\n }\n\n matches = applyRegexList(code, regexList);\n offsetMatches(matches, offset);\n add(matches);\n\n // add left script bracket\n if (htmlScript.left != null && match.left != null)\n {\n matches = applyRegexList(match.left, [htmlScript.left]);\n offsetMatches(matches, match.index);\n add(matches);\n }\n\n // add right script bracket\n if (htmlScript.right != null && match.right != null)\n {\n matches = applyRegexList(match.right, [htmlScript.right]);\n offsetMatches(matches, match.index + match[0].lastIndexOf(match.right));\n add(matches);\n }\n\n for (var j = 0, l = results.length; j < l; j++)\n results[j].brushName = brushClass.brushName;\n\n return results;\n }\n};\n\nmodule.exports = HtmlScript;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/html_script.js\n **/","// shim for using process in browser\n\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\n(function () {\n try {\n cachedSetTimeout = setTimeout;\n } catch (e) {\n cachedSetTimeout = function () {\n throw new Error('setTimeout is not defined');\n }\n }\n try {\n cachedClearTimeout = clearTimeout;\n } catch (e) {\n cachedClearTimeout = function () {\n throw new Error('clearTimeout is not defined');\n }\n }\n} ())\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = cachedSetTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n cachedClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n cachedSetTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/** WEBPACK FOOTER **\n ** (webpack)/~/node-libs-browser/~/process/browser.js\n **/","import Renderer from 'syntaxhighlighter-html-renderer';\nimport { XRegExp } from 'syntaxhighlighter-regex';\nimport { applyRegexList } from 'syntaxhighlighter-match';\n\nmodule.exports = class BrushBase {\n /**\n * Converts space separated list of keywords into a regular expression string.\n * @param {String} str Space separated keywords.\n * @return {String} Returns regular expression string.\n */\n getKeywords(str)\n {\n const results = str\n .replace(/^\\s+|\\s+$/g, '')\n .replace(/\\s+/g, '|')\n ;\n\n return `\\\\b(?:${results})\\\\b`;\n }\n\n /**\n * Makes a brush compatible with the `html-script` functionality.\n * @param {Object} regexGroup Object containing `left` and `right` regular expressions.\n */\n forHtmlScript(regexGroup)\n {\n const regex = { 'end': regexGroup.right.source };\n\n if (regexGroup.eof) {\n regex.end = `(?:(?:${regex.end})|$)`;\n }\n\n this.htmlScript = {\n left: { regex: regexGroup.left, css: 'script' },\n right: { regex: regexGroup.right, css: 'script' },\n code: XRegExp(\n \"(?<left>\" + regexGroup.left.source + \")\" +\n \"(?<code>.*?)\" +\n \"(?<right>\" + regex.end + \")\",\n \"sgi\"\n )\n };\n }\n\n getHtml(code, params = {}) {\n const matches = applyRegexList(code, this.regexList);\n const renderer = new Renderer(code, matches, params);\n return renderer.getHtml();\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-base/brush-base.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // AppleScript brush by David Chambers\n // http://davidchambersdesign.com/\n var keywords = 'after before beginning continue copy each end every from return get global in local named of set some that the then times to where whose with without';\n var ordinals = 'first second third fourth fifth sixth seventh eighth ninth tenth last front back middle';\n var specials = 'activate add alias ask attachment boolean class constant delete duplicate empty exists id integer list make message modal modified new no pi properties quit real record remove rest result reveal reverse run running save string word yes';\n\n this.regexList = [\n\n {\n regex: /(--|#).*$/gm,\n css: 'comments'\n },\n\n {\n regex: /\\(\\*(?:[\\s\\S]*?\\(\\*[\\s\\S]*?\\*\\))*[\\s\\S]*?\\*\\)/gm, // support nested comments\n css: 'comments'\n },\n\n {\n regex: /\"[\\s\\S]*?\"/gm,\n css: 'string'\n },\n\n {\n regex: /(?:,|:|¬|'s\\b|\\(|\\)|\\{|\\}|«|\\b\\w*»)/g, // operators\n css: 'color1'\n },\n\n {\n regex: /(-)?(\\d)+(\\.(\\d)?)?(E\\+(\\d)+)?/g, // numbers\n css: 'color1'\n },\n\n {\n regex: /(?:&(amp;|gt;|lt;)?|=|� |>|<|≥|>=|≤|<=|\\*|\\+|-|\\/|÷|\\^)/g,\n css: 'color2'\n },\n\n {\n regex: /\\b(?:and|as|div|mod|not|or|return(?!\\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\\b/g,\n css: 'keyword'\n },\n\n {\n regex: /\\b\\d+(st|nd|rd|th)\\b/g, // ordinals\n css: 'keyword'\n },\n\n {\n regex: /\\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\\b/g,\n css: 'color3'\n },\n\n {\n regex: /\\b(?:adding folder items to|after receiving|clipboard info|set the clipboard to|(the )?clipboard|entire contents|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|return(ed)?|second(?! item)(s)?|list (disks|folder)|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|starting at|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\\b/g,\n css: 'color4'\n },\n\n {\n regex: /\\b(?:tracks|paragraph|text item(s)?)\\b/g,\n css: 'classes'\n },\n\n {\n regex: /\\b(?:AppleScript|album|video kind|grouping|length|text item delimiters|quoted form|POSIX path(?= of))\\b/g,\n css: 'properties'\n },\n\n {\n regex: /\\b(?:run|exists|count)\\b/g,\n css: 'commandNames'\n },\n\n {\n regex: /\\b(?:POSIX (file|path))\\b/g,\n css: 'additionClasses'\n },\n\n {\n regex: /\\b(?:message|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|regexp|string result|using( delimiters)?|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor))\\b/g,\n css: 'additionParameterNames'\n },\n\n {\n regex: /\\b(?:display(ing| (alert|dialog|mode))?|choose( ((remote )?application|color|folder|from list|URL))?|(do( shell)?|load|run|store) script|re_compile|find text)\\b/g,\n css: 'additionCommandNames'\n },\n\n {\n regex: /\\b(?:xxx)\\b/g,\n css: 'parameterNames'\n },\n\n {\n regex: /\\b(?:true|false|none)\\b/g,\n css: 'enumeratedValues'\n },\n\n\n {\n regex: new RegExp(this.getKeywords(specials), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(ordinals), 'gm'),\n css: 'keyword'\n }\n ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['applescript'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-applescript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Created by Peter Atoria @ http://iAtoria.com\n\n var inits = 'class interface function package';\n\n var keywords = '-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' +\n 'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' +\n 'extends false final finally flash_proxy for get if implements import in include Infinity ' +\n 'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' +\n 'Null Number Object object_proxy override parseFloat parseInt private protected public ' +\n 'return set static String super switch this throw true try typeof uint undefined unescape ' +\n 'use void while with';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(inits), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('var', 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp('trace', 'gm'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['actionscript3', 'as3'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-as3/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n function hereDocProcess(match, regexInfo) {\n var result = [];\n\n if (match.here_doc != null)\n result.push(new Match(match.here_doc, match.index + match[0].indexOf(match.here_doc), 'string'));\n\n if (match.full_tag != null)\n result.push(new Match(match.full_tag, match.index, 'preprocessor'));\n\n if (match.end_tag != null)\n result.push(new Match(match.end_tag, match.index + match[0].lastIndexOf(match.end_tag), 'preprocessor'));\n\n return result;\n }\n\n var keywords = 'if fi then elif else for do done until while break continue case esac function return in eq ne ge le';\n var commands = 'alias apropos awk basename base64 bash bc bg builtin bunzip2 bzcat bzip2 bzip2recover cal cat cd cfdisk chgrp chmod chown chroot' +\n 'cksum clear cmp comm command cp cron crontab crypt csplit cut date dc dd ddrescue declare df ' +\n 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' +\n 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' +\n 'free fsck ftp gawk gcc gdb getconf getopts grep groups gunzip gzcat gzip hash head history hostname id ifconfig ' +\n 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' +\n 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' +\n 'mv nasm nc ndisasm netstat nice nl nohup nslookup objdump od open op passwd paste pathchk ping popd pr printcap ' +\n 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' +\n 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' +\n 'sleep sort source split ssh strace strings su sudo sum symlink sync tail tar tee test time ' +\n 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' +\n 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' +\n 'vi watch wc whereis which who whoami Wget xargs xxd yes chsh zcat';\n\n this.regexList = [\n {\n regex: /^#!.*$/gm,\n css: 'preprocessor bold'\n },\n {\n regex: /\\/[\\w-\\/]+/gm,\n css: 'plain'\n },\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(commands), 'gm'),\n css: 'functions'\n },\n {\n regex: new XRegExp(\"(?<full_tag>(<|<){2}(?<tag>\\\\w+)) .*$(?<here_doc>[\\\\s\\\\S]*)(?<end_tag>^\\\\k<tag>$)\", 'gm'),\n func: hereDocProcess\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['bash', 'shell', 'sh'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-bash/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Jen\n // http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus\n\n var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' +\n 'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' +\n 'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' +\n 'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' +\n 'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' +\n 'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' +\n 'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' +\n 'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' +\n 'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' +\n 'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' +\n 'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' +\n 'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' +\n 'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' +\n 'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' +\n 'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' +\n 'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' +\n 'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' +\n 'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' +\n 'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' +\n 'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' +\n 'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' +\n 'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' +\n 'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' +\n 'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' +\n 'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' +\n 'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' +\n 'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' +\n 'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' +\n 'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' +\n 'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' +\n 'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' +\n 'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' +\n 'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' +\n 'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' +\n 'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' +\n 'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' +\n 'XmlValidate Year YesNoFormat';\n\n var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' +\n 'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' +\n 'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' +\n 'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' +\n 'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' +\n 'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' +\n 'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' +\n 'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' +\n 'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' +\n 'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' +\n 'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' +\n 'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' +\n 'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' +\n 'cfwindow cfxml cfzip cfzipparam';\n\n var operators = 'all and any between cross in join like not null or outer some';\n\n this.regexList = [\n {\n regex: new RegExp('--(.*)$', 'gm'),\n css: 'comments'\n },\n {\n regex: regexLib.xmlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(operators), 'gmi'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['coldfusion', 'cf'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-coldfusion/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Copyright 2006 Shin, YoungJin\n\n var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' +\n 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' +\n 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' +\n 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' +\n 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' +\n 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' +\n 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' +\n 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' +\n 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' +\n 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' +\n 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' +\n 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' +\n 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' +\n 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' +\n 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' +\n 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' +\n 'char char16_t char32_t bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' +\n 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' +\n 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' +\n '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' +\n 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' +\n 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' +\n 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' +\n 'va_list wchar_t wctrans_t wctype_t wint_t signed';\n\n var keywords = 'alignas alignof auto break case catch class const constexpr decltype __finally __exception __try ' +\n 'const_cast continue private public protected __declspec ' +\n 'default delete deprecated dllexport dllimport do dynamic_cast ' +\n 'else enum explicit extern if for friend goto inline ' +\n 'mutable naked namespace new noinline noreturn nothrow noexcept nullptr ' +\n 'register reinterpret_cast return selectany ' +\n 'sizeof static static_cast static_assert struct switch template this ' +\n 'thread thread_local throw true false try typedef typeid typename union ' +\n 'using uuid virtual void volatile whcar_t while';\n\n var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint ' +\n 'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' +\n 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' +\n 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' +\n 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' +\n 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' +\n 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' +\n 'fwrite getc getchar gets perror printf putc putchar puts remove ' +\n 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' +\n 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' +\n 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' +\n 'mbtowc qsort rand realloc srand strtod strtol strtoul system ' +\n 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' +\n 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' +\n 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' +\n 'clock ctime difftime gmtime localtime mktime strftime time';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /^ *#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n css: 'color1 bold'\n },\n {\n regex: new RegExp(this.getKeywords(functions), 'gm'),\n css: 'functions bold'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword bold'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['cpp', 'cc', 'c++', 'c', 'h', 'hpp', 'h++'];\nmodule.exports = Brush;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-cpp/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n var keywords = 'abstract as base bool break byte case catch char checked class const ' +\n 'continue decimal default delegate do double else enum event explicit volatile ' +\n 'extern false finally fixed float for foreach get goto if implicit in int ' +\n 'interface internal is lock long namespace new null object operator out ' +\n 'override params private protected public readonly ref return sbyte sealed set ' +\n 'short sizeof stackalloc static string struct switch this throw true try ' +\n 'typeof uint ulong unchecked unsafe ushort using virtual void while var ' +\n 'from group by into select let where orderby join on equals ascending descending';\n\n function fixComments(match, regexInfo) {\n var css = (match[0].indexOf(\"///\") == 0) ? 'color1' : 'comments';\n return [new Match(match[0], match.index, css)];\n }\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n func: fixComments\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: /@\"(?:[^\"]|\"\")*\"/g,\n css: 'string'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /^\\s*#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: /\\bpartial(?=\\s+(?:class|interface|struct)\\b)/g,\n css: 'keyword'\n },\n {\n regex: /\\byield(?=\\s+(?:return|break)\\b)/g,\n css: 'keyword'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['c#', 'c-sharp', 'csharp'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-csharp/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n function getKeywordsCSS(str) {\n return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n };\n\n function getValuesCSS(str) {\n return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n };\n\n var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';\n\n var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double ' +\n 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n this.regexList = [\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\#[a-fA-F0-9]{3,6}/g,\n css: 'value'\n },\n {\n regex: /(-?\\d+)(\\.\\d+)?(px|em|pt|\\:|\\%|)/g,\n css: 'value'\n },\n {\n regex: /!important/g,\n css: 'color3'\n },\n {\n regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getValuesCSS(values), 'g'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(fonts), 'g'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript({\n left: /(<|<)\\s*style.*?(>|>)/gi,\n right: /(<|<)\\/\\s*style\\s*(>|>)/gi\n });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['css'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-css/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +\n 'case char class comp const constructor currency destructor div do double ' +\n 'downto else end except exports extended false file finalization finally ' +\n 'for function goto if implementation in inherited int64 initialization ' +\n 'integer interface is label library longint longword mod nil not object ' +\n 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' +\n 'pint64 pointer private procedure program property pshortstring pstring ' +\n 'pvariant pwidechar pwidestring protected public published raise real real48 ' +\n 'record repeat set shl shortint shortstring shr single smallint string then ' +\n 'threadvar to true try type unit until uses val var varirnt while widechar ' +\n 'widestring with word write writeln xor';\n\n this.regexList = [\n {\n regex: /\\(\\*[\\s\\S]*?\\*\\)/gm,\n css: 'comments'\n },\n {\n regex: /{(?!\\$)[\\s\\S]*?}/gm,\n css: 'comments'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\{\\$[a-zA-Z]+ .+\\}/g,\n css: 'color1'\n },\n {\n regex: /\\b[\\d\\.]+\\b/g,\n css: 'value'\n },\n {\n regex: /\\$[a-zA-Z0-9]+\\b/g,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['delphi', 'pascal', 'pas'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-delphi/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n this.regexList = [\n {\n regex: /^\\+\\+\\+ .*$/gm,\n css: 'color2'\n },\n {\n regex: /^\\-\\-\\- .*$/gm,\n css: 'color2'\n },\n {\n regex: /^\\s.*$/gm,\n css: 'color1'\n },\n {\n regex: /^@@.*@@.*$/gm,\n css: 'variable'\n },\n {\n regex: /^\\+.*$/gm,\n css: 'string'\n },\n {\n regex: /^\\-.*$/gm,\n css: 'color3'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['diff', 'patch'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-diff/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Jean-Lou Dupont\n // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html\n\n // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5\n var keywords = 'after and andalso band begin bnot bor bsl bsr bxor ' +\n 'case catch cond div end fun if let not of or orelse ' +\n 'query receive rem try when xor' +\n // additional\n ' module export import define';\n\n this.regexList = [\n {\n regex: new RegExp(\"[A-Z][A-Za-z0-9_]+\", 'g'),\n css: 'constants'\n },\n {\n regex: new RegExp(\"\\\\%.+\", 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp(\"\\\\?[A-Za-z0-9_]+\", 'g'),\n css: 'preprocessor'\n },\n {\n regex: new RegExp(\"[a-z0-9_]+:[a-z0-9_]+\", 'g'),\n css: 'functions'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['erl', 'erlang'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-erlang/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Andres Almiray\n // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter\n\n var keywords = 'as assert break case catch class continue def default do else extends finally ' +\n 'if in implements import instanceof interface new package property return switch ' +\n 'throw throws try while public protected private static';\n var types = 'void boolean byte char short int long float double';\n var constants = 'null';\n var methods = 'allProperties count get size ' +\n 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' +\n 'findIndexOf grep inject max min reverseEach sort ' +\n 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' +\n 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' +\n 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' +\n 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' +\n 'transformChar transformLine withOutputStream withPrintWriter withStream ' +\n 'withStreams withWriter withWriterAppend write writeLine ' +\n 'dump inspect invokeMethod print println step times upto use waitForOrKill ' +\n 'getText';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\"\"\".*\"\"\"/g,\n css: 'string'\n },\n {\n regex: new RegExp('\\\\b([\\\\d]+(\\\\.[\\\\d]+)?|0x[a-f0-9]+)\\\\b', 'gi'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(types), 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(constants), 'gm'),\n css: 'constants'\n },\n {\n regex: new RegExp(this.getKeywords(methods), 'gm'),\n css: 'functions'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['groovy'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-groovy/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n\n var inits = 'class interface package macro enum typedef extends implements dynamic in for if while else do try switch case catch';\n\n var keywords = 'return break continue new throw cast using import function public private inline static untyped callback true false null Int Float String Void Std Bool Dynamic Array Vector';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(inits), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('var', 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp('trace', 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp('#if', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#elseif', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#end', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#error', 'gm'),\n css: 'comments'\n }\n\t];\n\n //standard compiler conditionals flags\n var flags = [\n\t\t\"debug\", \"error\", \"cpp\", \"js\", \"neko\", \"php\", \"flash\", \"flash8\", \"flash9\", \"flash10\", \"flash10\", \"mobile\", \"desktop\", \"web\", \"ios\", \"android\", \"iphone\"\n\t];\n\n //append the flags to the array with a ! operator\n var i;\n var length = flags.length;\n for (i = 0; i <= length - 1; i++) {\n this.regexList.push({\n regex: new RegExp(flags[i], 'gm'),\n css: 'comments'\n });\n this.regexList.push({\n regex: new RegExp('!' + flags[i], 'gm'),\n css: 'comments'\n });\n }\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\n;\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['haxe', 'hx'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-haxe/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'abstract assert boolean break byte case catch char class const ' +\n 'continue default do double else enum extends ' +\n 'false final finally float for goto if implements import ' +\n 'instanceof int interface long native new null ' +\n 'package private protected public return ' +\n 'short static strictfp super switch synchronized this throw throws true ' +\n 'transient try void volatile while';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n css: 'comments'\n },\n {\n regex: /\\/\\*(?!\\*\\/)\\*[\\s\\S]*?\\*\\//gm,\n css: 'preprocessor'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?f?|[\\d]+l?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: /(?!\\@interface\\b)\\@[\\$\\w]+\\b/g,\n css: 'color1'\n },\n {\n regex: /\\@interface\\b/g,\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t\t];\n\n this.forHtmlScript({\n left: /(<|<)%[@!=]?/g,\n right: /%(>|>)/g\n });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['java'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-java/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Patrick Webster\n // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html\n var datatypes = 'Boolean Byte Character Double Duration ' + 'Float Integer Long Number Short String Void';\n\n var keywords = 'abstract after and as assert at before bind bound break catch class ' + 'continue def delete else exclusive extends false finally first for from ' + 'function if import in indexof init insert instanceof into inverse last ' + 'lazy mixin mod nativearray new not null on or override package postinit ' + 'protected public public-init public-read replace return reverse sizeof ' + 'step super then this throw true try tween typeof var where while with ' + 'attribute let private readonly static trigger';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: /(-?\\.?)(\\b(\\d*\\.?\\d+|\\d+\\.?\\d*)(e[+-]?\\d+)?|0x[a-f\\d]+)\\b\\.?/gi,\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['jfx', 'javafx'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-javafx/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'break case catch class continue ' +\n 'default delete do else enum export extends false ' +\n 'for from as function if implements import in instanceof ' +\n 'interface let new null package private protected ' +\n 'static return super switch ' +\n 'this throw true try typeof var while with yield';\n\n this.regexList = [\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: /\\s*#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n ];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['js', 'jscript', 'javascript', 'json'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-javascript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by David Simmons-Duffin and Marty Kube\n\n var funcs =\n 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' +\n 'chroot close closedir connect cos crypt defined delete each endgrent ' +\n 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' +\n 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' +\n 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' +\n 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' +\n 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' +\n 'getservbyname getservbyport getservent getsockname getsockopt glob ' +\n 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' +\n 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' +\n 'oct open opendir ord pack pipe pop pos print printf prototype push ' +\n 'quotemeta rand read readdir readline readlink readpipe recv rename ' +\n 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' +\n 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' +\n 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' +\n 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' +\n 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' +\n 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' +\n 'undef unlink unpack unshift utime values vec wait waitpid warn write ' +\n // feature\n 'say';\n\n var keywords =\n 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' +\n 'for foreach goto if import last local my next no our package redo ref ' +\n 'require return sub tie tied unless untie until use wantarray while ' +\n // feature\n 'given when default ' +\n // Try::Tiny\n 'try catch finally ' +\n // Moose\n 'has extends with before after around override augment';\n\n this.regexList = [\n {\n regex: /(<<|<<)((\\w+)|(['\"])(.+?)\\4)[\\s\\S]+?\\n\\3\\5\\n/g,\n css: 'string'\n },\n {\n regex: /#.*$/gm,\n css: 'comments'\n },\n {\n regex: /^#!.*\\n/g,\n css: 'preprocessor'\n },\n {\n regex: /-?\\w+(?=\\s*=(>|>))/g,\n css: 'string'\n },\n\n\t\t// is this too much?\n {\n regex: /\\bq[qwxr]?\\([\\s\\S]*?\\)/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?\\{[\\s\\S]*?\\}/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?\\[[\\s\\S]*?\\]/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?(<|<)[\\s\\S]*?(>|>)/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?([^\\w({<[])[\\s\\S]*?\\1/g,\n css: 'string'\n },\n\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /(?:&|[$@%*]|\\$#)\\$?[a-zA-Z_](\\w+|::)*/g,\n css: 'variable'\n },\n {\n regex: /\\b__(?:END|DATA)__\\b[\\s\\S]*$/g,\n css: 'comments'\n },\n {\n regex: /(^|\\n)=\\w[\\s\\S]*?(\\n=cut\\s*(?=\\n)|$)/g,\n css: 'comments'\n },\n\n {\n regex: new RegExp(this.getKeywords(funcs), 'gm'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.phpScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['perl', 'Perl', 'pl'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-perl/brush.js\n **/","import BrushBase from 'brush-base';\nimport {commonRegExp} from 'syntaxhighlighter-regex';\n\nconst functions = 'abs acos acosh addcslashes addslashes ' +\n 'array_change_key_case array_chunk array_combine array_count_values array_diff ' +\n 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill ' +\n 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key ' +\n 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map ' +\n 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product ' +\n 'array_push array_rand array_reduce array_reverse array_search array_shift ' +\n 'array_slice array_splice array_sum array_udiff array_udiff_assoc ' +\n 'array_udiff_uassoc array_uintersect array_uintersect_assoc ' +\n 'array_uintersect_uassoc array_unique array_unshift array_values array_walk ' +\n 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert ' +\n 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress ' +\n 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir ' +\n 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists ' +\n 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct ' +\n 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log ' +\n 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded ' +\n 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents ' +\n 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype ' +\n 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf ' +\n 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname ' +\n 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt ' +\n 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext ' +\n 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set ' +\n 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double ' +\n 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long ' +\n 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault ' +\n 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br ' +\n 'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir ' +\n 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split ' +\n 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes ' +\n 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk ' +\n 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime ' +\n 'strtoupper strtr strval substr substr_compare';\n\nconst keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' +\n 'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final finally for foreach ' +\n 'function global goto if implements include include_once interface instanceof insteadof namespace new ' +\n 'old_function or private protected public return require require_once static switch ' +\n 'trait throw try use const while xor yield ';\n\nconst constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';\n\nexport default class Brush extends BrushBase {\n static get aliases() {\n return ['php'];\n }\n\n constructor() {\n super();\n\n this.regexList = [\n {regex: commonRegExp.singleLineCComments, css: 'comments'},\n {regex: commonRegExp.multiLineCComments, css: 'comments'},\n {regex: commonRegExp.doubleQuotedString, css: 'string'},\n {regex: commonRegExp.singleQuotedString, css: 'string'},\n {regex: /\\$\\w+/g, css: 'variable'},\n {regex: new RegExp(this.getKeywords(functions), 'gmi'), css: 'functions'},\n {regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants'},\n {regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword'}\n ];\n\n this.forHtmlScript(commonRegExp.phpScriptTags);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-php/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n this.regexList = [];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['text', 'plain'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-plain/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Joel 'Jaykul' Bennett, http://PoshCode.org | http://HuddledMasses.org\n var keywords = 'while validateset validaterange validatepattern validatelength validatecount ' +\n 'until trap switch return ref process param parameter in if global: ' +\n 'function foreach for finally filter end elseif else dynamicparam do default ' +\n 'continue cmdletbinding break begin alias \\\\? % #script #private #local #global ' +\n 'mandatory parametersetname position valuefrompipeline ' +\n 'valuefrompipelinebypropertyname valuefromremainingarguments helpmessage ';\n\n var operators = ' and as band bnot bor bxor casesensitive ccontains ceq cge cgt cle ' +\n 'clike clt cmatch cne cnotcontains cnotlike cnotmatch contains ' +\n 'creplace eq exact f file ge gt icontains ieq ige igt ile ilike ilt ' +\n 'imatch ine inotcontains inotlike inotmatch ireplace is isnot le like ' +\n 'lt match ne not notcontains notlike notmatch or regex replace wildcard';\n\n var verbs = 'write where wait use update unregister undo trace test tee take suspend ' +\n 'stop start split sort skip show set send select scroll resume restore ' +\n 'restart resolve resize reset rename remove register receive read push ' +\n 'pop ping out new move measure limit join invoke import group get format ' +\n 'foreach export expand exit enter enable disconnect disable debug cxnew ' +\n 'copy convertto convertfrom convert connect complete compare clear ' +\n 'checkpoint aggregate add';\n\n // I can't find a way to match the comment based help in multi-line comments, because SH won't highlight in highlights, and javascript doesn't support lookbehind\n var commenthelp = ' component description example externalhelp forwardhelpcategory forwardhelptargetname forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsis';\n\n this.regexList = [\n {\n regex: new RegExp('^\\\\s*#[#\\\\s]*\\\\.(' + this.getKeywords(commenthelp) + ').*$', 'gim'),\n css: 'preprocessor help bold'\n },\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: /(<|<)#[\\s\\S]*?#(>|>)/gm,\n css: 'comments here'\n },\n\n {\n regex: new RegExp('@\"\\\\n[\\\\s\\\\S]*?\\\\n\"@', 'gm'),\n css: 'script string here'\n },\n {\n regex: new RegExp(\"@'\\\\n[\\\\s\\\\S]*?\\\\n'@\", 'gm'),\n css: 'script string single here'\n },\n {\n regex: new RegExp('\"(?:\\\\$\\\\([^\\\\)]*\\\\)|[^\"]|`\"|\"\")*[^`]\"', 'g'),\n css: 'string'\n },\n {\n regex: new RegExp(\"'(?:[^']|'')*'\", 'g'),\n css: 'string single'\n },\n\n {\n regex: new RegExp('[\\\\$|@|@@](?:(?:global|script|private|env):)?[A-Z0-9_]+', 'gi'),\n css: 'variable'\n },\n {\n regex: new RegExp('(?:\\\\b' + verbs.replace(/ /g, '\\\\b|\\\\b') + ')-[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n },\n {\n regex: new RegExp('-' + this.getKeywords(operators), 'gmi'),\n css: 'operator value'\n },\n {\n regex: new RegExp('\\\\[[A-Z_\\\\[][A-Z0-9_. `,\\\\[\\\\]]*\\\\]', 'gi'),\n css: 'constants'\n },\n {\n regex: new RegExp('\\\\s+-(?!' + this.getKeywords(operators) + ')[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n css: 'color1'\n },\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['powershell', 'ps', 'posh'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-powershell/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Gheorghe Milas and Ahmad Sherif\n\n var keywords = 'and assert break class continue def del elif else ' +\n 'except exec finally for from global if import in is ' +\n 'lambda not or pass raise return try yield while';\n\n var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' +\n 'chr classmethod cmp coerce compile complex delattr dict dir ' +\n 'divmod enumerate eval execfile file filter float format frozenset ' +\n 'getattr globals hasattr hash help hex id input int intern ' +\n 'isinstance issubclass iter len list locals long map max min next ' +\n 'object oct open ord pow print property range raw_input reduce ' +\n 'reload repr reversed round set setattr slice sorted staticmethod ' +\n 'str sum super tuple type type unichr unicode vars xrange zip';\n\n var special = 'None True False self cls class_';\n\n this.regexList = [\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: /^\\s*@\\w+/gm,\n css: 'decorator'\n },\n {\n regex: /(['\\\"]{3})([^\\1])*?\\1/gm,\n css: 'comments'\n },\n {\n regex: /\"(?!\")(?:\\.|\\\\\\\"|[^\\\"\"\\n])*\"/gm,\n css: 'string'\n },\n {\n regex: /'(?!')(?:\\.|(\\\\\\')|[^\\''\\n])*'/gm,\n css: 'string'\n },\n {\n regex: /\\+|\\-|\\*|\\/|\\%|=|==/gm,\n css: 'keyword'\n },\n {\n regex: /\\b\\d+\\.?\\w*/g,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(special), 'gm'),\n css: 'color1'\n }\n\t\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['py', 'python'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-python/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Erik Peterson.\n\n var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' +\n 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +\n 'self super then throw true undef unless until when while yield';\n\n var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +\n 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +\n 'ThreadGroup Thread Time TrueClass';\n\n this.regexList = [\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b[A-Z0-9_]+\\b/g,\n css: 'constants'\n },\n {\n regex: /:[a-z][A-Za-z0-9_]*/g,\n css: 'color2'\n },\n {\n regex: /(\\$|@@|@)\\w+/g,\n css: 'variable bold'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(builtins), 'gm'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ruby', 'rails', 'ror', 'rb'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-ruby/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n function getKeywordsCSS(str) {\n return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n };\n\n function getValuesCSS(str) {\n return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n };\n\n function getKeywordsPrependedBy(keywords, by) {\n return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n }\n\n var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index zoom';\n\n var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double ' +\n 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n var statements = 'important default';\n var preprocessor = 'import extend debug warn if else for while mixin function include content media';\n\n var r = regexLib;\n\n this.regexList = [\n {\n regex: r.multiLineCComments,\n css: 'comments'\n },\n {\n regex: r.singleLineCComments,\n css: 'comments'\n },\n {\n regex: r.doubleQuotedString,\n css: 'string'\n },\n {\n regex: r.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\#[a-fA-F0-9]{3,6}/g,\n css: 'value'\n },\n {\n regex: /\\b(-?\\d+)(\\.\\d+)?(px|em|rem|pt|\\:|\\%|)\\b/g,\n css: 'value'\n },\n {\n regex: /\\$[\\w-]+/g,\n css: 'variable'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(statements, '!'), 'g'),\n css: 'color3'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(preprocessor, '@'), 'g'),\n css: 'preprocessor'\n },\n {\n regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getValuesCSS(values), 'g'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(fonts), 'g'),\n css: 'color1'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sass', 'scss'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-sass/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Yegor Jbanov and David Bernard.\n\n var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' +\n 'override try lazy for var catch throw type extends class while with new final yield abstract ' +\n 'else do if return protected private this package false';\n\n var keyops = '[_:=><%#@]+';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /0x[a-f0-9]+|\\d+(\\.\\d+)?/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(keyops, 'gm'),\n css: 'keyword'\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['scala'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-scala/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var funcs = 'abs avg case cast coalesce convert count current_timestamp ' +\n 'current_user day isnull left lower month nullif replace right ' +\n 'session_user space substring sum system_user upper user year';\n\n var keywords = 'absolute action add after alter as asc at authorization begin bigint ' +\n 'binary bit by cascade char character check checkpoint close collate ' +\n 'column commit committed connect connection constraint contains continue ' +\n 'create cube current current_date current_time cursor database date ' +\n 'deallocate dec decimal declare default delete desc distinct double drop ' +\n 'dynamic else end end-exec escape except exec execute false fetch first ' +\n 'float for force foreign forward free from full function global goto grant ' +\n 'group grouping having hour ignore index inner insensitive insert instead ' +\n 'int integer intersect into is isolation key last level load local max min ' +\n 'minute modify move name national nchar next no numeric of off on only ' +\n 'open option order out output partial password precision prepare primary ' +\n 'prior privileges procedure public read real references relative repeatable ' +\n 'restrict return returns revoke rollback rollup rows rule schema scroll ' +\n 'second section select sequence serializable set size smallint static ' +\n 'statistics table temp temporary then time timestamp to top transaction ' +\n 'translation trigger true truncate uncommitted union unique update values ' +\n 'varchar varying view when where with work';\n\n var operators = 'all and any between cross in join like not null or outer some';\n\n this.regexList = [\n {\n regex: /--(.*)$/gm,\n css: 'comments'\n },\n {\n regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(operators), 'gmi'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sql'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-sql/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n // Swift brush contributed by Nate Cook\n // http://natecook.com/code/swift-syntax-highlighting\n\n function getKeywordsPrependedBy(keywords, by) {\n return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n }\n\n function multiLineCCommentsAdd(match, regexInfo) {\n var str = match[0],\n result = [],\n pos = 0,\n matchStart = 0,\n level = 0;\n\n while (pos < str.length - 1) {\n var chunk = str.substr(pos, 2);\n if (level == 0) {\n if (chunk == \"/*\") {\n matchStart = pos;\n level++;\n pos += 2;\n } else {\n pos++;\n }\n } else {\n if (chunk == \"/*\") {\n level++;\n pos += 2;\n } else if (chunk == \"*/\") {\n level--;\n if (level == 0) {\n result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n }\n pos += 2;\n } else {\n pos++;\n }\n }\n }\n\n return result;\n }\n\n function stringAdd(match, regexInfo) {\n var str = match[0],\n result = [],\n pos = 0,\n matchStart = 0,\n level = 0;\n\n while (pos < str.length - 1) {\n if (level == 0) {\n if (str.substr(pos, 2) == \"\\\\(\") {\n result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n level++;\n pos += 2;\n } else {\n pos++;\n }\n } else {\n if (str[pos] == \"(\") {\n level++;\n }\n if (str[pos] == \")\") {\n level--;\n if (level == 0) {\n matchStart = pos;\n }\n }\n pos++;\n }\n }\n if (level == 0) {\n result.push(new Match(str.substring(matchStart, str.length), matchStart + match.index, regexInfo.css));\n }\n\n return result;\n };\n\n // \"Swift-native types\" are all the protocols, classes, structs, enums, funcs, vars, and typealiases built into the language\n var swiftTypes = 'AbsoluteValuable Any AnyClass Array ArrayBound ArrayBuffer ArrayBufferType ArrayLiteralConvertible ArrayType AutoreleasingUnsafePointer BidirectionalIndex Bit BitwiseOperations Bool C CBool CChar CChar16 CChar32 CConstPointer CConstVoidPointer CDouble CFloat CInt CLong CLongLong CMutablePointer CMutableVoidPointer COpaquePointer CShort CSignedChar CString CUnsignedChar CUnsignedInt CUnsignedLong CUnsignedLongLong CUnsignedShort CVaListPointer CVarArg CWideChar Character CharacterLiteralConvertible Collection CollectionOfOne Comparable ContiguousArray ContiguousArrayBuffer DebugPrintable Dictionary DictionaryGenerator DictionaryIndex DictionaryLiteralConvertible Double EmptyCollection EmptyGenerator EnumerateGenerator Equatable ExtendedGraphemeClusterLiteralConvertible ExtendedGraphemeClusterType ExtensibleCollection FilterCollectionView FilterCollectionViewIndex FilterGenerator FilterSequenceView Float Float32 Float64 Float80 FloatLiteralConvertible FloatLiteralType FloatingPointClassification FloatingPointNumber ForwardIndex Generator GeneratorOf GeneratorOfOne GeneratorSequence Hashable HeapBuffer HeapBufferStorage HeapBufferStorageBase ImplicitlyUnwrappedOptional IndexingGenerator Int Int16 Int32 Int64 Int8 IntEncoder IntMax Integer IntegerArithmetic IntegerLiteralConvertible IntegerLiteralType Less LifetimeManager LogicValue MapCollectionView MapSequenceGenerator MapSequenceView MaxBuiltinFloatType MaxBuiltinIntegerType Mirror MirrorDisposition MutableCollection MutableSliceable ObjectIdentifier OnHeap Optional OutputStream PermutationGenerator Printable QuickLookObject RandomAccessIndex Range RangeGenerator RawByte RawOptionSet RawRepresentable Reflectable Repeat ReverseIndex ReverseRange ReverseRangeGenerator ReverseView Sequence SequenceOf SignedInteger SignedNumber Sink SinkOf Slice SliceBuffer Sliceable StaticString Streamable StridedRangeGenerator String StringElement StringInterpolationConvertible StringLiteralConvertible StringLiteralType UInt UInt16 UInt32 UInt64 UInt8 UIntMax UTF16 UTF32 UTF8 UWord UnicodeCodec UnicodeScalar Unmanaged UnsafeArray UnsafePointer UnsignedInteger Void Word Zip2 ZipGenerator2 abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList';\n\n var keywords = 'as break case class continue default deinit do dynamicType else enum ' +\n 'extension fallthrough for func if import in init is let new protocol ' +\n 'return self Self static struct subscript super switch Type typealias ' +\n 'var where while __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity ' +\n 'didSet get infix inout left mutating none nonmutating operator override ' +\n 'postfix precedence prefix right set unowned unowned(safe) unowned(unsafe) weak willSet';\n\n var attributes = 'assignment class_protocol exported final lazy noreturn NSCopying NSManaged objc optional required auto_closure noreturn IBAction IBDesignable IBInspectable IBOutlet infix prefix postfix';\n\n\n this.regexList = [\n // html entities\n {\n regex: new RegExp('\\&[a-z]+;', 'gi'),\n css: 'plain'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: new RegExp('\\\\/\\\\*[\\\\s\\\\S]*\\\\*\\\\/', 'g'),\n css: 'comments',\n func: multiLineCCommentsAdd\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string',\n func: stringAdd\n },\n {\n regex: new RegExp('\\\\b([\\\\d_]+(\\\\.[\\\\de_]+)?|0x[a-f0-9_]+(\\\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b', 'gi'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(attributes, '@'), 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(swiftTypes), 'gm'),\n css: 'color2'\n },\n {\n regex: new RegExp('\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b', 'gi'),\n css: 'variable'\n },\n ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['swift'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-swift/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Chad Granum\n this.regexList = [\n {\n regex: new RegExp('^1..\\\\d+', 'gm'),\n css: 'plain bold italic'\n },\n {\n regex: new RegExp('^ok( \\\\d+)?', 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('^not ok( \\\\d+)?', 'gm'),\n css: 'color3 bold'\n },\n {\n regex: new RegExp('(?!^\\\\s*)#.*$', 'gm'),\n css: 'variable bold'\n },\n {\n regex: new RegExp('^#.*$', 'gm'),\n css: 'comments bold'\n },\n {\n regex: new RegExp('^(?!(not )?ok)[^1].*$', 'gm'),\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n ];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['tap', 'Tap', 'TAP'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-tap/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'break case catch class continue ' +\n 'default delete do else enum export extends false ' +\n 'for function if implements import in instanceof ' +\n 'interface let new null package private protected ' +\n 'static return super switch ' +\n 'this throw true try typeof var while with yield' +\n ' any bool declare get module number public set string'; // TypeScript-specific, everything above is common with JavaScript\n\n this.regexList = [\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ts', 'typescript'];\nmodule.exports = Brush;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-typescript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' +\n 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' +\n 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' +\n 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' +\n 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' +\n 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' +\n 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' +\n 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' +\n 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' +\n 'Overloads Overridable Overrides ParamArray Preserve Private Property ' +\n 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' +\n 'Return Select Set Shadows Shared Short Single Static Step Stop String ' +\n 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' +\n 'Variant When While With WithEvents WriteOnly Xor';\n\n this.regexList = [\n {\n regex: /'.*$/gm,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: /^\\s*#.*$/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['vb', 'vbnet'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-vb/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n function process(match, regexInfo) {\n var code = match[0],\n tag = XRegExp.exec(code, XRegExp('(<|<)[\\\\s\\\\/\\\\?!]*(?<name>[:\\\\w-\\\\.]+)', 'xg')),\n result = [];\n\n if (match.attributes != null) {\n var attributes,\n pos = 0,\n regex = XRegExp('(?<name> [\\\\w:.-]+)' +\n '\\\\s*=\\\\s*' +\n '(?<value> \".*?\"|\\'.*?\\'|\\\\w+)',\n 'xg');\n\n while ((attributes = XRegExp.exec(code, regex, pos)) != null) {\n result.push(new Match(attributes.name, match.index + attributes.index, 'color1'));\n result.push(new Match(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));\n pos = attributes.index + attributes[0].length;\n }\n }\n\n if (tag != null)\n result.push(\n new Match(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')\n );\n\n return result;\n }\n\n this.regexList = [\n {\n regex: XRegExp('(\\\\<|<)\\\\!\\\\[[\\\\w\\\\s]*?\\\\[(.|\\\\s)*?\\\\]\\\\](\\\\>|>)', 'gm'),\n css: 'color2'\n },\n {\n regex: regexLib.xmlComments,\n css: 'comments'\n },\n {\n regex: XRegExp('(<|<)[\\\\s\\\\/\\\\?!]*(\\\\w+)(?<attributes>.*?)[\\\\s\\\\/\\\\?]*(>|>)', 'sg'),\n func: process\n }\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['xml', 'xhtml', 'xslt', 'html', 'plist'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-xml/brush.js\n **/","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n if (typeof module != 'undefined') module.exports = definition()\n else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n else this[name] = definition()\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n if (!loaded)\n doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener)\n loaded = 1\n while (listener = fns.shift()) listener()\n })\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn)\n }\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/domready/ready.js\n **/","export const string = value =>\n value\n .replace(/^([A-Z])/g, (_, character) => character.toLowerCase())\n .replace(/([A-Z])/g, (_, character) => '-' + character.toLowerCase());\n\nexport const object = value => {\n const result = {};\n Object.keys(value).forEach(key => result[string(key)] = value[key]);\n return result;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/dasherize.js\n **/"],"sourceRoot":""} ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1584- * perform a global search and replace, use the optional `scope` argument or include flag g if using php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:1585: * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1586- * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1665- * the replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:1666: * replacement text syntax, which supports named backreference properties via `${name}`. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1667- * ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1959- /** php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:1960: * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-1961- * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2024- if ($1) { php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2025: // XRegExp behavior for `${n}`: php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2026- // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2063- $2 = +$2; // Type-convert; drop leading zero php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2064: // XRegExp behavior for `$n` and `$nn`: php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2065: // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2066: // - `$1` is an error if no capturing groups. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2067: // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2068: // - `$01` is `$1` if at least one capturing group, else it's an error. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2069: // - `$0` (not followed by 1-9) and `$00` are the entire match. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2070- // Native behavior, for comparison: php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2071- // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2072: // - `$1` is a literal `$1` if no capturing groups. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2073: // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2074: // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:2075: // - `$0` is a literal `$0`. php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-2076- if (!isNaN($2)) { ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-3830- var keywords = 'if fi then elif else for do done until while break continue case esac function return in eq ne ge le'; php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:3831: var commands = 'alias apropos awk basename base64 bash bc bg builtin bunzip2 bzcat bzip2 bzip2recover cal cat cd cfdisk chgrp chmod chown chroot' + 'cksum clear cmp comm command cp cron crontab crypt csplit cut date dc dd ddrescue declare df ' + 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' + 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' + 'free fsck ftp gawk gcc gdb getconf getopts grep groups gunzip gzcat gzip hash head history hostname id ifconfig ' + 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' + 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' + 'mv nasm nc ndisasm netstat nice nl nohup nslookup objdump od open op passwd paste pathchk ping popd pr printcap ' + 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' + 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' + 'sleep sort source split ssh strace strings su sudo sum symlink sync tail tar tee test time ' + 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' + 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' + 'vi watch wc whereis which who whoami Wget xargs xxd yes chsh zcat'; php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-3832- ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-4086- function Brush() { php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js:4087: var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' + 'case char class comp const constructor currency destructor div do double ' + 'downto else end except exports extended false file finalization finally ' + 'for function goto if implementation in inherited int64 initialization ' + 'integer interface is label library longint longword mod nil not object ' + 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' + 'pint64 pointer private procedure program property pshortstring pstring ' + 'pvariant pwidechar pwidestring protected public published raise real real48 ' + 'record repeat set shl shortint shortstring shr single smallint string then ' + 'threadvar to true try type unit until uses val var varirnt while widechar ' + 'widestring with word write writeln xor'; php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js-4088- ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/js/syntaxhighlighter/src/syntaxhighlighter.js.map:1:{"version":3,"sources":["webpack:///webpack/bootstrap 53ede20729fae3c0cb70","webpack:///./src/index.js","webpack:///./src/core.js","webpack:///./repos/opts-parser/opts-parser.js","webpack:///./repos/syntaxhighlighter-regex/index.js","webpack:///./repos/syntaxhighlighter-regex/xregexp.js","webpack:///./repos/syntaxhighlighter-match/index.js","webpack:///./repos/syntaxhighlighter-match/lib/match.js","webpack:///./repos/syntaxhighlighter-match/lib/apply-regex-list.js","webpack:///./repos/syntaxhighlighter-match/lib/matches.js","webpack:///./repos/syntaxhighlighter-html-renderer/index.js","webpack:///./src/utils.js","webpack:///./src/transformers/index.js","webpack:///./src/transformers/trim.js","webpack:///./src/transformers/blogger_mode.js","webpack:///./src/transformers/strip_brs.js","webpack:///./repos/unindenter/unindenter.js","webpack:///./repos/retabber/retabber.js","webpack:///./src/dom.js","webpack:///./src/config.js","webpack:///./src/defaults.js","webpack:///./src/html_script.js","webpack:///(webpack)/~/node-libs-browser/~/process/browser.js","webpack:///./repos/brush-base/brush-base.js","webpack:///./repos/brush-applescript/brush.js","webpack:///./repos/brush-as3/brush.js","webpack:///./repos/brush-bash/brush.js","webpack:///./repos/brush-coldfusion/brush.js","webpack:///./repos/brush-cpp/brush.js","webpack:///./repos/brush-csharp/brush.js","webpack:///./repos/brush-css/brush.js","webpack:///./repos/brush-delphi/brush.js","webpack:///./repos/brush-diff/brush.js","webpack:///./repos/brush-erlang/brush.js","webpack:///./repos/brush-groovy/brush.js","webpack:///./repos/brush-haxe/brush.js","webpack:///./repos/brush-java/brush.js","webpack:///./repos/brush-javafx/brush.js","webpack:///./repos/brush-javascript/brush.js","webpack:///./repos/brush-perl/brush.js","webpack:///./repos/brush-php/brush.js","webpack:///./repos/brush-plain/brush.js","webpack:///./repos/brush-powershell/brush.js","webpack:///./repos/brush-python/brush.js","webpack:///./repos/brush-ruby/brush.js","webpack:///./repos/brush-sass/brush.js","webpack:///./repos/brush-scala/brush.js","webpack:///./repos/brush-sql/brush.js","webpack:///./repos/brush-swift/brush.js","webpack:///./repos/brush-tap/brush.js","webpack:///./repos/brush-typescript/brush.js","webpack:///./repos/brush-vb/brush.js","webpack:///./repos/brush-xml/brush.js","webpack:///./~/domready/ready.js","webpack:///./src/dasherize.js","webpack:///./src/compatibility_layer_v3.js"],"names":[],"mappings":"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","file":"syntaxhighlighter.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n/** WEBPACK FOOTER **\n ** webpack/bootstrap 53ede20729fae3c0cb70\n **/","import domready from 'domready';\nimport SyntaxHighlighter from './core';\nimport * as dasherize from './dasherize';\n\n// configured through the `--compat` parameter.\nif (COMPAT) {\n require('./compatibility_layer_v3');\n}\n\ndomready(() => SyntaxHighlighter.highlight(dasherize.object(window.syntaxhighlighterConfig || {})));\n\nexport * from './core';\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/index.js\n **/","var\n optsParser = require('opts-parser'),\n match = require('syntaxhighlighter-match'),\n Renderer = require('syntaxhighlighter-html-renderer').default,\n utils = require('./utils'),\n transformers = require('./transformers'),\n dom = require('./dom'),\n config = require('./config'),\n defaults = require('./defaults'),\n HtmlScript = require('./html_script')\n ;\n\nconst sh = {\n Match: match.Match,\n Highlighter: require('brush-base'),\n\n config: require('./config'),\n regexLib: require('syntaxhighlighter-regex').commonRegExp,\n\n /** Internal 'global' variables. */\n vars : {\n discoveredBrushes : null,\n highlighters : {}\n },\n\n /** This object is populated by user included external brush files. */\n brushes : {},\n\n /**\n * Finds all elements on the page which should be processes by SyntaxHighlighter.\n *\n * @param {Object} globalParams Optional parameters which override element's\n * parameters. Only used if element is specified.\n *\n * @param {Object} element Optional element to highlight. If none is\n * provided, all elements in the current document\n * are returned which qualify.\n *\n * @return {Array} Returns list of <code>{ target: DOMElement, params: Object }</code> objects.\n */\n findElements: function(globalParams, element)\n {\n var elements = element ? [element] : utils.toArray(document.getElementsByTagName(sh.config.tagName)),\n conf = sh.config,\n result = []\n ;\n\n // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n elements = elements.concat(dom.getSyntaxHighlighterScriptTags());\n\n if (elements.length === 0)\n return result;\n\n for (var i = 0, l = elements.length; i < l; i++)\n {\n var item = {\n target: elements[i],\n // local params take precedence over globals\n params: optsParser.defaults(optsParser.parse(elements[i].className), globalParams)\n };\n\n if (item.params['brush'] == null)\n continue;\n\n result.push(item);\n }\n\n return result;\n },\n\n /**\n * Shorthand to highlight all elements on the page that are marked as\n * SyntaxHighlighter source code.\n *\n * @param {Object} globalParams Optional parameters which override element's\n * parameters. Only used if element is specified.\n *\n * @param {Object} element Optional element to highlight. If none is\n * provided, all elements in the current document\n * are highlighted.\n */\n highlight: function(globalParams, element)\n {\n var elements = sh.findElements(globalParams, element),\n propertyName = 'innerHTML',\n brush = null,\n renderer,\n conf = sh.config\n ;\n\n if (elements.length === 0)\n return;\n\n for (var i = 0, l = elements.length; i < l; i++)\n {\n var element = elements[i],\n target = element.target,\n params = element.params,\n brushName = params.brush,\n brush,\n matches,\n code\n ;\n\n if (brushName == null)\n continue;\n\n brush = findBrush(brushName);\n\n if (!brush)\n continue;\n\n // local params take precedence over defaults\n params = optsParser.defaults(params || {}, defaults);\n params = optsParser.defaults(params, config);\n\n // Instantiate a brush\n if (params['html-script'] == true || defaults['html-script'] == true)\n {\n brush = new HtmlScript(findBrush('xml'), brush);\n brushName = 'htmlscript';\n }\n else\n {\n brush = new brush();\n }\n\n code = target[propertyName];\n\n // remove CDATA from <SCRIPT/> tags if it's present\n if (conf.useScriptTags)\n code = stripCData(code);\n\n // Inject title if the attribute is present\n if ((target.title || '') != '')\n params.title = target.title;\n\n params['brush'] = brushName;\n\n code = transformers(code, params);\n matches = match.applyRegexList(code, brush.regexList, params);\n renderer = new Renderer(code, matches, params);\n\n element = dom.create('div');\n element.innerHTML = renderer.getHtml();\n\n // id = utils.guid();\n // element.id = highlighters.id(id);\n // highlighters.set(id, element);\n\n if (params.quickCode)\n dom.attachEvent(dom.findElement(element, '.code'), 'dblclick', dom.quickCodeHandler);\n\n // carry over ID\n if ((target.id || '') != '')\n element.id = target.id;\n\n target.parentNode.replaceChild(element, target);\n }\n }\n}; // end of sh\n\n/**\n * Displays an alert.\n * @param {String} str String to display.\n */\nfunction alert(str)\n{\n window.alert('SyntaxHighlighter\\n\\n' + str);\n};\n\n/**\n * Finds a brush by its alias.\n *\n * @param {String} alias Brush alias.\n * @param {Boolean} showAlert Suppresses the alert if false.\n * @return {Brush} Returns bursh constructor if found, null otherwise.\n */\nfunction findBrush(alias, showAlert)\n{\n var brushes = sh.vars.discoveredBrushes,\n result = null\n ;\n\n if (brushes == null)\n {\n brushes = {};\n\n // Find all brushes\n for (var brushName in sh.brushes)\n {\n var brush = sh.brushes[brushName],\n aliases = brush.aliases\n ;\n\n if (aliases == null) {\n continue;\n }\n\n brush.className = brush.className || brush.aliases[0];\n brush.brushName = brush.className || brushName.toLowerCase();\n\n for (var i = 0, l = aliases.length; i < l; i++) {\n brushes[aliases[i]] = brushName;\n }\n }\n\n sh.vars.discoveredBrushes = brushes;\n }\n\n result = sh.brushes[brushes[alias]];\n\n if (result == null && showAlert)\n alert(sh.config.strings.noBrush + alias);\n\n return result;\n};\n\n/**\n * Strips <![CDATA[]]> from <SCRIPT /> content because it should be used\n * there in most cases for XHTML compliance.\n * @param {String} original Input code.\n * @return {String} Returns code without leading <![CDATA[]]> tags.\n */\nfunction stripCData(original)\n{\n var left = '<![CDATA[',\n right = ']]>',\n // for some reason IE inserts some leading blanks here\n copy = utils.trim(original),\n changed = false,\n leftLength = left.length,\n rightLength = right.length\n ;\n\n if (copy.indexOf(left) == 0)\n {\n copy = copy.substring(leftLength);\n changed = true;\n }\n\n var copyLength = copy.length;\n\n if (copy.indexOf(right) == copyLength - rightLength)\n {\n copy = copy.substring(0, copyLength - rightLength);\n changed = true;\n }\n\n return changed ? copy : original;\n};\n\nlet brushCounter = 0;\n\nexport default sh;\nexport const registerBrush = brush => sh.brushes['brush' + brushCounter++] = brush.default || brush;\nexport const clearRegisteredBrushes = () => {\n sh.brushes = {};\n brushCounter = 0;\n}\n\n/* an EJS hook for `gulp build --brushes` command\n * */\n\n\n registerBrush(require('brush-applescript'));\n\n registerBrush(require('brush-as3'));\n\n registerBrush(require('brush-base'));\n\n registerBrush(require('brush-bash'));\n\n registerBrush(require('brush-coldfusion'));\n\n registerBrush(require('brush-cpp'));\n\n registerBrush(require('brush-csharp'));\n\n registerBrush(require('brush-css'));\n\n registerBrush(require('brush-delphi'));\n\n registerBrush(require('brush-diff'));\n\n registerBrush(require('brush-erlang'));\n\n registerBrush(require('brush-groovy'));\n\n registerBrush(require('brush-haxe'));\n\n registerBrush(require('brush-java'));\n\n registerBrush(require('brush-javafx'));\n\n registerBrush(require('brush-javascript'));\n\n registerBrush(require('brush-perl'));\n\n registerBrush(require('brush-php'));\n\n registerBrush(require('brush-plain'));\n\n registerBrush(require('brush-powershell'));\n\n registerBrush(require('brush-python'));\n\n registerBrush(require('brush-ruby'));\n\n registerBrush(require('brush-sass'));\n\n registerBrush(require('brush-scala'));\n\n registerBrush(require('brush-sql'));\n\n registerBrush(require('brush-swift'));\n\n registerBrush(require('brush-tap'));\n\n registerBrush(require('brush-typescript'));\n\n registerBrush(require('brush-vb'));\n\n registerBrush(require('brush-xml'));\n\n\n/*\n\n */\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/core.js\n **/","var XRegExp = require('syntaxhighlighter-regex').XRegExp;\n\nvar BOOLEANS = {'true': true, 'false': false};\n\nfunction camelize(key)\n{\n return key.replace(/-(\\w+)/g, function(match, word)\n {\n return word.charAt(0).toUpperCase() + word.substr(1);\n });\n}\n\nfunction process(value)\n{\n var result = BOOLEANS[value];\n return result == null ? value : result;\n}\n\nmodule.exports = {\n defaults: function(target, source)\n {\n for(var key in source || {})\n if (!target.hasOwnProperty(key))\n target[key] = target[camelize(key)] = source[key];\n\n return target;\n },\n\n parse: function(str)\n {\n var match,\n key,\n result = {},\n arrayRegex = XRegExp(\"^\\\\[(?<values>(.*?))\\\\]$\"),\n pos = 0,\n regex = XRegExp(\n \"(?<name>[\\\\w-]+)\" +\n \"\\\\s*:\\\\s*\" +\n \"(?<value>\" +\n \"[\\\\w%#-]+|\" + // word\n \"\\\\[.*?\\\\]|\" + // [] array\n '\".*?\"|' + // \"\" string\n \"'.*?'\" + // '' string\n \")\\\\s*;?\",\n \"g\"\n )\n ;\n\n while ((match = XRegExp.exec(str, regex, pos)) != null)\n {\n var value = match.value\n .replace(/^['\"]|['\"]$/g, '') // strip quotes from end of strings\n ;\n\n // try to parse array value\n if (value != null && arrayRegex.test(value))\n {\n var m = XRegExp.exec(value, arrayRegex);\n value = m.values.length > 0 ? m.values.split(/\\s*,\\s*/) : [];\n }\n\n value = process(value);\n result[match.name] = result[camelize(match.name)] = value;\n pos = match.index + match[0].length;\n }\n\n return result;\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/opts-parser/opts-parser.js\n **/","import XRegExp from './xregexp';\n\nexport { XRegExp };\n\nexport const commonRegExp = {\n multiLineCComments : XRegExp('/\\\\*.*?\\\\*/', 'gs'),\n singleLineCComments : /\\/\\/.*$/gm,\n singleLinePerlComments : /#.*$/gm,\n doubleQuotedString : /\"([^\\\\\"\\n]|\\\\.)*\"/g,\n singleQuotedString : /'([^\\\\'\\n]|\\\\.)*'/g,\n multiLineDoubleQuotedString : XRegExp('\"([^\\\\\\\\\"]|\\\\\\\\.)*\"', 'gs'),\n multiLineSingleQuotedString : XRegExp(\"'([^\\\\\\\\']|\\\\\\\\.)*'\", 'gs'),\n xmlComments : XRegExp('(<|<)!--.*?--(>|>)', 'gs'),\n url : /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g,\n phpScriptTags : { left: /(<|<)\\?(?:=|php)?/g, right: /\\?(>|>)/g, 'eof' : true },\n aspScriptTags : { left: /(<|<)%=?/g, right: /%(>|>)/g },\n scriptScriptTags : { left: /(<|<)\\s*script.*?(>|>)/gi, right: /(<|<)\\/\\s*script\\s*(>|>)/gi }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-regex/index.js\n **/","/*!\n * XRegExp 3.1.0-dev\n * <xregexp.com>\n * Steven Levithan (c) 2007-2015 MIT License\n */\n\n/**\n * XRegExp provides augmented, extensible regular expressions. You get additional regex syntax and\n * flags, beyond what browsers support natively. XRegExp is also a regex utility belt with tools to\n * make your client-side grepping simpler and more powerful, while freeing you from related\n * cross-browser inconsistencies.\n */\n\n 'use strict';\n\n/* ==============================\n * Private variables\n * ============================== */\n\n // Property name used for extended regex instance data\n var REGEX_DATA = 'xregexp';\n // Optional features that can be installed and uninstalled\n var features = {\n astral: false,\n natives: false\n };\n // Native methods to use and restore ('native' is an ES3 reserved keyword)\n var nativ = {\n exec: RegExp.prototype.exec,\n test: RegExp.prototype.test,\n match: String.prototype.match,\n replace: String.prototype.replace,\n split: String.prototype.split\n };\n // Storage for fixed/extended native methods\n var fixed = {};\n // Storage for regexes cached by `XRegExp.cache`\n var regexCache = {};\n // Storage for pattern details cached by the `XRegExp` constructor\n var patternCache = {};\n // Storage for regex syntax tokens added internally or by `XRegExp.addToken`\n var tokens = [];\n // Token scopes\n var defaultScope = 'default';\n var classScope = 'class';\n // Regexes that match native regex syntax, including octals\n var nativeTokens = {\n // Any native multicharacter token in default scope, or any single character\n 'default': /\\\\(?:0(?:[0-3][0-7]{0,2}|[4-7][0-7]?)?|[1-9]\\d*|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|\\(\\?[:=!]|[?*+]\\?|{\\d+(?:,\\d*)?}\\??|[\\s\\S]/,\n // Any native multicharacter token in character class scope, or any single character\n 'class': /\\\\(?:[0-3][0-7]{0,2}|[4-7][0-7]?|x[\\dA-Fa-f]{2}|u(?:[\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|c[A-Za-z]|[\\s\\S])|[\\s\\S]/\n };\n // Any backreference or dollar-prefixed character in replacement strings\n var replacementToken = /\\$(?:{([\\w$]+)}|(\\d\\d?|[\\s\\S]))/g;\n // Check for correct `exec` handling of nonparticipating capturing groups\n var correctExecNpcg = nativ.exec.call(/()??/, '')[1] === undefined;\n // Check for ES6 `u` flag support\n var hasNativeU = (function() {\n var isSupported = true;\n try {\n new RegExp('', 'u');\n } catch (exception) {\n isSupported = false;\n }\n return isSupported;\n }());\n // Check for ES6 `y` flag support\n var hasNativeY = (function() {\n var isSupported = true;\n try {\n new RegExp('', 'y');\n } catch (exception) {\n isSupported = false;\n }\n return isSupported;\n }());\n // Check for ES6 `flags` prop support\n var hasFlagsProp = /a/.flags !== undefined;\n // Tracker for known flags, including addon flags\n var registeredFlags = {\n g: true,\n i: true,\n m: true,\n u: hasNativeU,\n y: hasNativeY\n };\n // Shortcut to `Object.prototype.toString`\n var toString = {}.toString;\n\n/* ==============================\n * Private functions\n * ============================== */\n\n/**\n * Attaches extended data and `XRegExp.prototype` properties to a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to augment.\n * @param {Array} captureNames Array with capture names, or `null`.\n * @param {String} xSource XRegExp pattern used to generate `regex`, or `null` if N/A.\n * @param {String} xFlags XRegExp flags used to generate `regex`, or `null` if N/A.\n * @param {Boolean} [isInternalOnly=false] Whether the regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Augmented regex.\n */\n function augment(regex, captureNames, xSource, xFlags, isInternalOnly) {\n var p;\n\n regex[REGEX_DATA] = {\n captureNames: captureNames\n };\n\n if (isInternalOnly) {\n return regex;\n }\n\n // Can't auto-inherit these since the XRegExp constructor returns a nonprimitive value\n if (regex.__proto__) {\n regex.__proto__ = XRegExp.prototype;\n } else {\n for (p in XRegExp.prototype) {\n // An `XRegExp.prototype.hasOwnProperty(p)` check wouldn't be worth it here, since\n // this is performance sensitive, and enumerable `Object.prototype` or\n // `RegExp.prototype` extensions exist on `regex.prototype` anyway\n regex[p] = XRegExp.prototype[p];\n }\n }\n\n regex[REGEX_DATA].source = xSource;\n // Emulate the ES6 `flags` prop by ensuring flags are in alphabetical order\n regex[REGEX_DATA].flags = xFlags ? xFlags.split('').sort().join('') : xFlags;\n\n return regex;\n }\n\n/**\n * Removes any duplicate characters from the provided string.\n *\n * @private\n * @param {String} str String to remove duplicate characters from.\n * @returns {String} String with any duplicate characters removed.\n */\n function clipDuplicates(str) {\n return nativ.replace.call(str, /([\\s\\S])(?=[\\s\\S]*\\1)/g, '');\n }\n\n/**\n * Copies a regex object while preserving extended data and augmenting with `XRegExp.prototype`\n * properties. The copy has a fresh `lastIndex` property (set to zero). Allows adding and removing\n * flags g and y while copying the regex.\n *\n * @private\n * @param {RegExp} regex Regex to copy.\n * @param {Object} [options] Options object with optional properties:\n * <li>`addG` {Boolean} Add flag g while copying the regex.\n * <li>`addY` {Boolean} Add flag y while copying the regex.\n * <li>`removeG` {Boolean} Remove flag g while copying the regex.\n * <li>`removeY` {Boolean} Remove flag y while copying the regex.\n * <li>`isInternalOnly` {Boolean} Whether the copied regex will be used only for internal\n * operations, and never exposed to users. For internal-only regexes, we can improve perf by\n * skipping some operations like attaching `XRegExp.prototype` properties.\n * @returns {RegExp} Copy of the provided regex, possibly with modified flags.\n */\n function copyRegex(regex, options) {\n if (!XRegExp.isRegExp(regex)) {\n throw new TypeError('Type RegExp expected');\n }\n\n var xData = regex[REGEX_DATA] || {},\n flags = getNativeFlags(regex),\n flagsToAdd = '',\n flagsToRemove = '',\n xregexpSource = null,\n xregexpFlags = null;\n\n options = options || {};\n\n if (options.removeG) {flagsToRemove += 'g';}\n if (options.removeY) {flagsToRemove += 'y';}\n if (flagsToRemove) {\n flags = nativ.replace.call(flags, new RegExp('[' + flagsToRemove + ']+', 'g'), '');\n }\n\n if (options.addG) {flagsToAdd += 'g';}\n if (options.addY) {flagsToAdd += 'y';}\n if (flagsToAdd) {\n flags = clipDuplicates(flags + flagsToAdd);\n }\n\n if (!options.isInternalOnly) {\n if (xData.source !== undefined) {\n xregexpSource = xData.source;\n }\n // null or undefined; don't want to add to `flags` if the previous value was null, since\n // that indicates we're not tracking original precompilation flags\n if (xData.flags != null) {\n // Flags are only added for non-internal regexes by `XRegExp.globalize`. Flags are\n // never removed for non-internal regexes, so don't need to handle it\n xregexpFlags = flagsToAdd ? clipDuplicates(xData.flags + flagsToAdd) : xData.flags;\n }\n }\n\n // Augment with `XRegExp.prototype` properties, but use the native `RegExp` constructor to\n // avoid searching for special tokens. That would be wrong for regexes constructed by\n // `RegExp`, and unnecessary for regexes constructed by `XRegExp` because the regex has\n // already undergone the translation to native regex syntax\n regex = augment(\n new RegExp(regex.source, flags),\n hasNamedCapture(regex) ? xData.captureNames.slice(0) : null,\n xregexpSource,\n xregexpFlags,\n options.isInternalOnly\n );\n\n return regex;\n }\n\n/**\n * Converts hexadecimal to decimal.\n *\n * @private\n * @param {String} hex\n * @returns {Number}\n */\n function dec(hex) {\n return parseInt(hex, 16);\n }\n\n/**\n * Returns native `RegExp` flags used by a regex object.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {String} Native flags in use.\n */\n function getNativeFlags(regex) {\n return hasFlagsProp ?\n regex.flags :\n // Explicitly using `RegExp.prototype.toString` (rather than e.g. `String` or\n // concatenation with an empty string) allows this to continue working predictably when\n // `XRegExp.proptotype.toString` is overriden\n nativ.exec.call(/\\/([a-z]*)$/i, RegExp.prototype.toString.call(regex))[1];\n }\n\n/**\n * Determines whether a regex has extended instance data used to track capture names.\n *\n * @private\n * @param {RegExp} regex Regex to check.\n * @returns {Boolean} Whether the regex uses named capture.\n */\n function hasNamedCapture(regex) {\n return !!(regex[REGEX_DATA] && regex[REGEX_DATA].captureNames);\n }\n\n/**\n * Converts decimal to hexadecimal.\n *\n * @private\n * @param {Number|String} dec\n * @returns {String}\n */\n function hex(dec) {\n return parseInt(dec, 10).toString(16);\n }\n\n/**\n * Returns the first index at which a given value can be found in an array.\n *\n * @private\n * @param {Array} array Array to search.\n * @param {*} value Value to locate in the array.\n * @returns {Number} Zero-based index at which the item is found, or -1.\n */\n function indexOf(array, value) {\n var len = array.length, i;\n\n for (i = 0; i < len; ++i) {\n if (array[i] === value) {\n return i;\n }\n }\n\n return -1;\n }\n\n/**\n * Determines whether a value is of the specified type, by resolving its internal [[Class]].\n *\n * @private\n * @param {*} value Object to check.\n * @param {String} type Type to check for, in TitleCase.\n * @returns {Boolean} Whether the object matches the type.\n */\n function isType(value, type) {\n return toString.call(value) === '[object ' + type + ']';\n }\n\n/**\n * Checks whether the next nonignorable token after the specified position is a quantifier.\n *\n * @private\n * @param {String} pattern Pattern to search within.\n * @param {Number} pos Index in `pattern` to search at.\n * @param {String} flags Flags used by the pattern.\n * @returns {Boolean} Whether the next token is a quantifier.\n */\n function isQuantifierNext(pattern, pos, flags) {\n return nativ.test.call(\n flags.indexOf('x') > -1 ?\n // Ignore any leading whitespace, line comments, and inline comments\n /^(?:\\s+|#.*|\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/ :\n // Ignore any leading inline comments\n /^(?:\\(\\?#[^)]*\\))*(?:[?*+]|{\\d+(?:,\\d*)?})/,\n pattern.slice(pos)\n );\n }\n\n/**\n * Pads the provided string with as many leading zeros as needed to get to length 4. Used to produce\n * fixed-length hexadecimal values.\n *\n * @private\n * @param {String} str\n * @returns {String}\n */\n function pad4(str) {\n while (str.length < 4) {\n str = '0' + str;\n }\n return str;\n }\n\n/**\n * Checks for flag-related errors, and strips/applies flags in a leading mode modifier. Offloads\n * the flag preparation logic from the `XRegExp` constructor.\n *\n * @private\n * @param {String} pattern Regex pattern, possibly with a leading mode modifier.\n * @param {String} flags Any combination of flags.\n * @returns {Object} Object with properties `pattern` and `flags`.\n */\n function prepareFlags(pattern, flags) {\n var i;\n\n // Recent browsers throw on duplicate flags, so copy this behavior for nonnative flags\n if (clipDuplicates(flags) !== flags) {\n throw new SyntaxError('Invalid duplicate regex flag ' + flags);\n }\n\n // Strip and apply a leading mode modifier with any combination of flags except g or y\n pattern = nativ.replace.call(pattern, /^\\(\\?([\\w$]+)\\)/, function($0, $1) {\n if (nativ.test.call(/[gy]/, $1)) {\n throw new SyntaxError('Cannot use flag g or y in mode modifier ' + $0);\n }\n // Allow duplicate flags within the mode modifier\n flags = clipDuplicates(flags + $1);\n return '';\n });\n\n // Throw on unknown native or nonnative flags\n for (i = 0; i < flags.length; ++i) {\n if (!registeredFlags[flags.charAt(i)]) {\n throw new SyntaxError('Unknown regex flag ' + flags.charAt(i));\n }\n }\n\n return {\n pattern: pattern,\n flags: flags\n };\n }\n\n/**\n * Prepares an options object from the given value.\n *\n * @private\n * @param {String|Object} value Value to convert to an options object.\n * @returns {Object} Options object.\n */\n function prepareOptions(value) {\n var options = {};\n\n if (isType(value, 'String')) {\n XRegExp.forEach(value, /[^\\s,]+/, function(match) {\n options[match] = true;\n });\n\n return options;\n }\n\n return value;\n }\n\n/**\n * Registers a flag so it doesn't throw an 'unknown flag' error.\n *\n * @private\n * @param {String} flag Single-character flag to register.\n */\n function registerFlag(flag) {\n if (!/^[\\w$]$/.test(flag)) {\n throw new Error('Flag must be a single character A-Za-z0-9_$');\n }\n\n registeredFlags[flag] = true;\n }\n\n/**\n * Runs built-in and custom regex syntax tokens in reverse insertion order at the specified\n * position, until a match is found.\n *\n * @private\n * @param {String} pattern Original pattern from which an XRegExp object is being built.\n * @param {String} flags Flags being used to construct the regex.\n * @param {Number} pos Position to search for tokens within `pattern`.\n * @param {Number} scope Regex scope to apply: 'default' or 'class'.\n * @param {Object} context Context object to use for token handler functions.\n * @returns {Object} Object with properties `matchLength`, `output`, and `reparse`; or `null`.\n */\n function runTokens(pattern, flags, pos, scope, context) {\n var i = tokens.length,\n leadChar = pattern.charAt(pos),\n result = null,\n match,\n t;\n\n // Run in reverse insertion order\n while (i--) {\n t = tokens[i];\n if (\n (t.leadChar && t.leadChar !== leadChar) ||\n (t.scope !== scope && t.scope !== 'all') ||\n (t.flag && flags.indexOf(t.flag) === -1)\n ) {\n continue;\n }\n\n match = XRegExp.exec(pattern, t.regex, pos, 'sticky');\n if (match) {\n result = {\n matchLength: match[0].length,\n output: t.handler.call(context, match, scope, flags),\n reparse: t.reparse\n };\n // Finished with token tests\n break;\n }\n }\n\n return result;\n }\n\n/**\n * Enables or disables implicit astral mode opt-in. When enabled, flag A is automatically added to\n * all new regexes created by XRegExp. This causes an error to be thrown when creating regexes if\n * the Unicode Base addon is not available, since flag A is registered by that addon.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n function setAstral(on) {\n features.astral = on;\n }\n\n/**\n * Enables or disables native method overrides.\n *\n * @private\n * @param {Boolean} on `true` to enable; `false` to disable.\n */\n function setNatives(on) {\n RegExp.prototype.exec = (on ? fixed : nativ).exec;\n RegExp.prototype.test = (on ? fixed : nativ).test;\n String.prototype.match = (on ? fixed : nativ).match;\n String.prototype.replace = (on ? fixed : nativ).replace;\n String.prototype.split = (on ? fixed : nativ).split;\n\n features.natives = on;\n }\n\n/**\n * Returns the object, or throws an error if it is `null` or `undefined`. This is used to follow\n * the ES5 abstract operation `ToObject`.\n *\n * @private\n * @param {*} value Object to check and return.\n * @returns {*} The provided object.\n */\n function toObject(value) {\n // null or undefined\n if (value == null) {\n throw new TypeError('Cannot convert null or undefined to object');\n }\n\n return value;\n }\n\n/* ==============================\n * Constructor\n * ============================== */\n\n/**\n * Creates an extended regular expression object for matching text with a pattern. Differs from a\n * native regular expression in that additional syntax and flags are supported. The returned object\n * is in fact a native `RegExp` and works with all native methods.\n *\n * @class XRegExp\n * @constructor\n * @param {String|RegExp} pattern Regex pattern string, or an existing regex object to copy.\n * @param {String} [flags] Any combination of flags.\n * Native flags:\n * <li>`g` - global\n * <li>`i` - ignore case\n * <li>`m` - multiline anchors\n * <li>`u` - unicode (ES6)\n * <li>`y` - sticky (Firefox 3+, ES6)\n * Additional XRegExp flags:\n * <li>`n` - explicit capture\n * <li>`s` - dot matches all (aka singleline)\n * <li>`x` - free-spacing and line comments (aka extended)\n * <li>`A` - astral (requires the Unicode Base addon)\n * Flags cannot be provided when constructing one `RegExp` from another.\n * @returns {RegExp} Extended regular expression object.\n * @example\n *\n * // With named capture and flag x\n * XRegExp('(?<year> [0-9]{4} ) -? # year \\n\\\n * (?<month> [0-9]{2} ) -? # month \\n\\\n * (?<day> [0-9]{2} ) # day ', 'x');\n *\n * // Providing a regex object copies it. Native regexes are recompiled using native (not XRegExp)\n * // syntax. Copies maintain extended data, are augmented with `XRegExp.prototype` properties, and\n * // have fresh `lastIndex` properties (set to zero).\n * XRegExp(/regex/);\n */\n function XRegExp(pattern, flags) {\n var context = {\n hasNamedCapture: false,\n captureNames: []\n },\n scope = defaultScope,\n output = '',\n pos = 0,\n result,\n token,\n generated,\n appliedPattern,\n appliedFlags;\n\n if (XRegExp.isRegExp(pattern)) {\n if (flags !== undefined) {\n throw new TypeError('Cannot supply flags when copying a RegExp');\n }\n return copyRegex(pattern);\n }\n\n // Copy the argument behavior of `RegExp`\n pattern = pattern === undefined ? '' : String(pattern);\n flags = flags === undefined ? '' : String(flags);\n\n if (XRegExp.isInstalled('astral') && flags.indexOf('A') === -1) {\n // This causes an error to be thrown if the Unicode Base addon is not available\n flags += 'A';\n }\n\n if (!patternCache[pattern]) {\n patternCache[pattern] = {};\n }\n\n if (!patternCache[pattern][flags]) {\n // Check for flag-related errors, and strip/apply flags in a leading mode modifier\n result = prepareFlags(pattern, flags);\n appliedPattern = result.pattern;\n appliedFlags = result.flags;\n\n // Use XRegExp's tokens to translate the pattern to a native regex pattern.\n // `appliedPattern.length` may change on each iteration if tokens use `reparse`\n while (pos < appliedPattern.length) {\n do {\n // Check for custom tokens at the current position\n result = runTokens(appliedPattern, appliedFlags, pos, scope, context);\n // If the matched token used the `reparse` option, splice its output into the\n // pattern before running tokens again at the same position\n if (result && result.reparse) {\n appliedPattern = appliedPattern.slice(0, pos) +\n result.output +\n appliedPattern.slice(pos + result.matchLength);\n }\n } while (result && result.reparse);\n\n if (result) {\n output += result.output;\n pos += (result.matchLength || 1);\n } else {\n // Get the native token at the current position\n token = XRegExp.exec(appliedPattern, nativeTokens[scope], pos, 'sticky')[0];\n output += token;\n pos += token.length;\n if (token === '[' && scope === defaultScope) {\n scope = classScope;\n } else if (token === ']' && scope === classScope) {\n scope = defaultScope;\n }\n }\n }\n\n patternCache[pattern][flags] = {\n // Cleanup token cruft: repeated `(?:)(?:)` and leading/trailing `(?:)`\n pattern: nativ.replace.call(output, /\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??(?=\\(\\?:\\))|^\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??|\\(\\?:\\)(?:[*+?]|\\{\\d+(?:,\\d*)?})?\\??$/g, ''),\n // Strip all but native flags\n flags: nativ.replace.call(appliedFlags, /[^gimuy]+/g, ''),\n // `context.captureNames` has an item for each capturing group, even if unnamed\n captures: context.hasNamedCapture ? context.captureNames : null\n };\n }\n\n generated = patternCache[pattern][flags];\n return augment(\n new RegExp(generated.pattern, generated.flags),\n generated.captures,\n pattern,\n flags\n );\n };\n\n// Add `RegExp.prototype` to the prototype chain\n XRegExp.prototype = new RegExp();\n\n/* ==============================\n * Public properties\n * ============================== */\n\n/**\n * The XRegExp version number as a string containing three dot-separated parts. For example,\n * '2.0.0-beta-3'.\n *\n * @static\n * @memberOf XRegExp\n * @type String\n */\n XRegExp.version = '3.1.0-dev';\n\n/* ==============================\n * Public methods\n * ============================== */\n\n/**\n * Extends XRegExp syntax and allows custom flags. This is used internally and can be used to\n * create XRegExp addons. If more than one token can match the same string, the last added wins.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex object that matches the new token.\n * @param {Function} handler Function that returns a new pattern string (using native regex syntax)\n * to replace the matched token within all future XRegExp regexes. Has access to persistent\n * properties of the regex being built, through `this`. Invoked with three arguments:\n * <li>The match array, with named backreference properties.\n * <li>The regex scope where the match was found: 'default' or 'class'.\n * <li>The flags used by the regex, including any flags in a leading mode modifier.\n * The handler function becomes part of the XRegExp construction process, so be careful not to\n * construct XRegExps within the function or you will trigger infinite recursion.\n * @param {Object} [options] Options object with optional properties:\n * <li>`scope` {String} Scope where the token applies: 'default', 'class', or 'all'.\n * <li>`flag` {String} Single-character flag that triggers the token. This also registers the\n * flag, which prevents XRegExp from throwing an 'unknown flag' error when the flag is used.\n * <li>`optionalFlags` {String} Any custom flags checked for within the token `handler` that are\n * not required to trigger the token. This registers the flags, to prevent XRegExp from\n * throwing an 'unknown flag' error when any of the flags are used.\n * <li>`reparse` {Boolean} Whether the `handler` function's output should not be treated as\n * final, and instead be reparseable by other tokens (including the current token). Allows\n * token chaining or deferring.\n * <li>`leadChar` {String} Single character that occurs at the beginning of any successful match\n * of the token (not always applicable). This doesn't change the behavior of the token unless\n * you provide an erroneous value. However, providing it can increase the token's performance\n * since the token can be skipped at any positions where this character doesn't appear.\n * @example\n *\n * // Basic usage: Add \\a for the ALERT control code\n * XRegExp.addToken(\n * /\\\\a/,\n * function() {return '\\\\x07';},\n * {scope: 'all'}\n * );\n * XRegExp('\\\\a[\\\\a-\\\\n]+').test('\\x07\\n\\x07'); // -> true\n *\n * // Add the U (ungreedy) flag from PCRE and RE2, which reverses greedy and lazy quantifiers.\n * // Since `scope` is not specified, it uses 'default' (i.e., transformations apply outside of\n * // character classes only)\n * XRegExp.addToken(\n * /([?*+]|{\\d+(?:,\\d*)?})(\\??)/,\n * function(match) {return match[1] + (match[2] ? '' : '?');},\n * {flag: 'U'}\n * );\n * XRegExp('a+', 'U').exec('aaa')[0]; // -> 'a'\n * XRegExp('a+?', 'U').exec('aaa')[0]; // -> 'aaa'\n */\n XRegExp.addToken = function(regex, handler, options) {\n options = options || {};\n var optionalFlags = options.optionalFlags, i;\n\n if (options.flag) {\n registerFlag(options.flag);\n }\n\n if (optionalFlags) {\n optionalFlags = nativ.split.call(optionalFlags, '');\n for (i = 0; i < optionalFlags.length; ++i) {\n registerFlag(optionalFlags[i]);\n }\n }\n\n // Add to the private list of syntax tokens\n tokens.push({\n regex: copyRegex(regex, {\n addG: true,\n addY: hasNativeY,\n isInternalOnly: true\n }),\n handler: handler,\n scope: options.scope || defaultScope,\n flag: options.flag,\n reparse: options.reparse,\n leadChar: options.leadChar\n });\n\n // Reset the pattern cache used by the `XRegExp` constructor, since the same pattern and\n // flags might now produce different results\n XRegExp.cache.flush('patterns');\n };\n\n/**\n * Caches and returns the result of calling `XRegExp(pattern, flags)`. On any subsequent call with\n * the same pattern and flag combination, the cached copy of the regex is returned.\n *\n * @memberOf XRegExp\n * @param {String} pattern Regex pattern string.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Cached XRegExp object.\n * @example\n *\n * while (match = XRegExp.cache('.', 'gs').exec(str)) {\n * // The regex is compiled once only\n * }\n */\n XRegExp.cache = function(pattern, flags) {\n if (!regexCache[pattern]) {\n regexCache[pattern] = {};\n }\n return regexCache[pattern][flags] || (\n regexCache[pattern][flags] = XRegExp(pattern, flags)\n );\n };\n\n// Intentionally undocumented\n XRegExp.cache.flush = function(cacheName) {\n if (cacheName === 'patterns') {\n // Flush the pattern cache used by the `XRegExp` constructor\n patternCache = {};\n } else {\n // Flush the regex cache populated by `XRegExp.cache`\n regexCache = {};\n }\n };\n\n/**\n * Escapes any regular expression metacharacters, for use when matching literal strings. The result\n * can safely be used at any point within a regex that uses any flags.\n *\n * @memberOf XRegExp\n * @param {String} str String to escape.\n * @returns {String} String with regex metacharacters escaped.\n * @example\n *\n * XRegExp.escape('Escaped? <.>');\n * // -> 'Escaped\\?\\ <\\.>'\n */\n XRegExp.escape = function(str) {\n return nativ.replace.call(toObject(str), /[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n };\n\n/**\n * Executes a regex search in a specified string. Returns a match array or `null`. If the provided\n * regex uses named capture, named backreference properties are included on the match array.\n * Optional `pos` and `sticky` arguments specify the search start position, and whether the match\n * must start at the specified position only. The `lastIndex` property of the provided regex is not\n * used, but is updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.exec` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Array} Match array with named backreference properties, or `null`.\n * @example\n *\n * // Basic use, with named backreference\n * var match = XRegExp.exec('U+2620', XRegExp('U\\\\+(?<hex>[0-9A-F]{4})'));\n * match.hex; // -> '2620'\n *\n * // With pos and sticky, in a loop\n * var pos = 2, result = [], match;\n * while (match = XRegExp.exec('<1><2><3><4>5<6>', /<(\\d)>/, pos, 'sticky')) {\n * result.push(match[1]);\n * pos = match.index + match[0].length;\n * }\n * // result -> ['2', '3', '4']\n */\n XRegExp.exec = function(str, regex, pos, sticky) {\n var cacheKey = 'g',\n addY = false,\n match,\n r2;\n\n addY = hasNativeY && !!(sticky || (regex.sticky && sticky !== false));\n if (addY) {\n cacheKey += 'y';\n }\n\n regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.match`/`replace`\n r2 = regex[REGEX_DATA][cacheKey] || (\n regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: true,\n addY: addY,\n removeY: sticky === false,\n isInternalOnly: true\n })\n );\n\n r2.lastIndex = pos = pos || 0;\n\n // Fixed `exec` required for `lastIndex` fix, named backreferences, etc.\n match = fixed.exec.call(r2, str);\n\n if (sticky && match && match.index !== pos) {\n match = null;\n }\n\n if (regex.global) {\n regex.lastIndex = match ? r2.lastIndex : 0;\n }\n\n return match;\n };\n\n/**\n * Executes a provided function once per regex match. Searches always start at the beginning of the\n * string and continue until the end, regardless of the state of the regex's `global` property and\n * initial `lastIndex`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Function} callback Function to execute for each match. Invoked with four arguments:\n * <li>The match array, with named backreference properties.\n * <li>The zero-based match index.\n * <li>The string being traversed.\n * <li>The regex object being used to traverse the string.\n * @example\n *\n * // Extracts every other digit from a string\n * var evens = [];\n * XRegExp.forEach('1a2345', /\\d/, function(match, i) {\n * if (i % 2) evens.push(+match[0]);\n * });\n * // evens -> [2, 4]\n */\n XRegExp.forEach = function(str, regex, callback) {\n var pos = 0,\n i = -1,\n match;\n\n while ((match = XRegExp.exec(str, regex, pos))) {\n // Because `regex` is provided to `callback`, the function could use the deprecated/\n // nonstandard `RegExp.prototype.compile` to mutate the regex. However, since\n // `XRegExp.exec` doesn't use `lastIndex` to set the search position, this can't lead\n // to an infinite loop, at least. Actually, because of the way `XRegExp.exec` caches\n // globalized versions of regexes, mutating the regex will not have any effect on the\n // iteration or matched strings, which is a nice side effect that brings extra safety\n callback(match, ++i, str, regex);\n\n pos = match.index + (match[0].length || 1);\n }\n };\n\n/**\n * Copies a regex object and adds flag `g`. The copy maintains extended data, is augmented with\n * `XRegExp.prototype` properties, and has a fresh `lastIndex` property (set to zero). Native\n * regexes are not recompiled using XRegExp syntax.\n *\n * @memberOf XRegExp\n * @param {RegExp} regex Regex to globalize.\n * @returns {RegExp} Copy of the provided regex with flag `g` added.\n * @example\n *\n * var globalCopy = XRegExp.globalize(/regex/);\n * globalCopy.global; // -> true\n */\n XRegExp.globalize = function(regex) {\n return copyRegex(regex, {addG: true});\n };\n\n/**\n * Installs optional features according to the specified options. Can be undone using\n * {@link #XRegExp.uninstall}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.install({\n * // Enables support for astral code points in Unicode addons (implicitly sets flag A)\n * astral: true,\n *\n * // Overrides native regex methods with fixed/extended versions that support named\n * // backreferences and fix numerous cross-browser bugs\n * natives: true\n * });\n *\n * // With an options string\n * XRegExp.install('astral natives');\n */\n XRegExp.install = function(options) {\n options = prepareOptions(options);\n\n if (!features.astral && options.astral) {\n setAstral(true);\n }\n\n if (!features.natives && options.natives) {\n setNatives(true);\n }\n };\n\n/**\n * Checks whether an individual optional feature is installed.\n *\n * @memberOf XRegExp\n * @param {String} feature Name of the feature to check. One of:\n * <li>`natives`\n * <li>`astral`\n * @returns {Boolean} Whether the feature is installed.\n * @example\n *\n * XRegExp.isInstalled('natives');\n */\n XRegExp.isInstalled = function(feature) {\n return !!(features[feature]);\n };\n\n/**\n * Returns `true` if an object is a regex; `false` if it isn't. This works correctly for regexes\n * created in another frame, when `instanceof` and `constructor` checks would fail.\n *\n * @memberOf XRegExp\n * @param {*} value Object to check.\n * @returns {Boolean} Whether the object is a `RegExp` object.\n * @example\n *\n * XRegExp.isRegExp('string'); // -> false\n * XRegExp.isRegExp(/regex/i); // -> true\n * XRegExp.isRegExp(RegExp('^', 'm')); // -> true\n * XRegExp.isRegExp(XRegExp('(?s).')); // -> true\n */\n XRegExp.isRegExp = function(value) {\n return toString.call(value) === '[object RegExp]';\n //return isType(value, 'RegExp');\n };\n\n/**\n * Returns the first matched string, or in global mode, an array containing all matched strings.\n * This is essentially a more convenient re-implementation of `String.prototype.match` that gives\n * the result types you actually want (string instead of `exec`-style array in match-first mode,\n * and an empty array instead of `null` when no matches are found in match-all mode). It also lets\n * you override flag g and ignore `lastIndex`, and fixes browser bugs.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {String} [scope='one'] Use 'one' to return the first match as a string. Use 'all' to\n * return an array of all matched strings. If not explicitly specified and `regex` uses flag g,\n * `scope` is 'all'.\n * @returns {String|Array} In match-first mode: First match as a string, or `null`. In match-all\n * mode: Array of all matched strings, or an empty array.\n * @example\n *\n * // Match first\n * XRegExp.match('abc', /\\w/); // -> 'a'\n * XRegExp.match('abc', /\\w/g, 'one'); // -> 'a'\n * XRegExp.match('abc', /x/g, 'one'); // -> null\n *\n * // Match all\n * XRegExp.match('abc', /\\w/g); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /\\w/, 'all'); // -> ['a', 'b', 'c']\n * XRegExp.match('abc', /x/, 'all'); // -> []\n */\n XRegExp.match = function(str, regex, scope) {\n var global = (regex.global && scope !== 'one') || scope === 'all',\n cacheKey = ((global ? 'g' : '') + (regex.sticky ? 'y' : '')) || 'noGY',\n result,\n r2;\n\n regex[REGEX_DATA] = regex[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.exec`/`replace`\n r2 = regex[REGEX_DATA][cacheKey] || (\n regex[REGEX_DATA][cacheKey] = copyRegex(regex, {\n addG: !!global,\n addY: !!regex.sticky,\n removeG: scope === 'one',\n isInternalOnly: true\n })\n );\n\n result = nativ.match.call(toObject(str), r2);\n\n if (regex.global) {\n regex.lastIndex = (\n (scope === 'one' && result) ?\n // Can't use `r2.lastIndex` since `r2` is nonglobal in this case\n (result.index + result[0].length) : 0\n );\n }\n\n return global ? (result || []) : (result && result[0]);\n };\n\n/**\n * Retrieves the matches from searching a string using a chain of regexes that successively search\n * within previous matches. The provided `chain` array can contain regexes and or objects with\n * `regex` and `backref` properties. When a backreference is specified, the named or numbered\n * backreference is passed forward to the next regex or returned.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} chain Regexes that each search for matches within preceding results.\n * @returns {Array} Matches by the last regex in the chain, or an empty array.\n * @example\n *\n * // Basic usage; matches numbers within <b> tags\n * XRegExp.matchChain('1 <b>2</b> 3 <b>4 a 56</b>', [\n * XRegExp('(?is)<b>.*?</b>'),\n * /\\d+/\n * ]);\n * // -> ['2', '4', '56']\n *\n * // Passing forward and returning specific backreferences\n * html = '<a href=\"http://xregexp.com/api/\">XRegExp</a>\\\n * <a href=\"http://www.google.com/\">Google</a>';\n * XRegExp.matchChain(html, [\n * {regex: /<a href=\"([^\"]+)\">/i, backref: 1},\n * {regex: XRegExp('(?i)^https?://(?<domain>[^/?#]+)'), backref: 'domain'}\n * ]);\n * // -> ['xregexp.com', 'www.google.com']\n */\n XRegExp.matchChain = function(str, chain) {\n return (function recurseChain(values, level) {\n var item = chain[level].regex ? chain[level] : {regex: chain[level]},\n matches = [],\n addMatch = function(match) {\n if (item.backref) {\n /* Safari 4.0.5 (but not 5.0.5+) inappropriately uses sparse arrays to hold\n * the `undefined`s for backreferences to nonparticipating capturing\n * groups. In such cases, a `hasOwnProperty` or `in` check on its own would\n * inappropriately throw the exception, so also check if the backreference\n * is a number that is within the bounds of the array.\n */\n if (!(match.hasOwnProperty(item.backref) || +item.backref < match.length)) {\n throw new ReferenceError('Backreference to undefined group: ' + item.backref);\n }\n\n matches.push(match[item.backref] || '');\n } else {\n matches.push(match[0]);\n }\n },\n i;\n\n for (i = 0; i < values.length; ++i) {\n XRegExp.forEach(values[i], item.regex, addMatch);\n }\n\n return ((level === chain.length - 1) || !matches.length) ?\n matches :\n recurseChain(matches, level + 1);\n }([str], 0));\n };\n\n/**\n * Returns a new string with one or all matches of a pattern replaced. The pattern can be a string\n * or regex, and the replacement can be a string or a function to be called for each match. To\n * perform a global search and replace, use the optional `scope` argument or include flag g if using\n * a regex. Replacement strings can use `${n}` for named and numbered backreferences. Replacement\n * functions can use named backreferences via `arguments[0].name`. Also fixes browser bugs compared\n * to the native `String.prototype.replace` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * Replacement strings can include special replacement syntax:\n * <li>$$ - Inserts a literal $ character.\n * <li>$&, $0 - Inserts the matched substring.\n * <li>$` - Inserts the string that precedes the matched substring (left context).\n * <li>$' - Inserts the string that follows the matched substring (right context).\n * <li>$n, $nn - Where n/nn are digits referencing an existent capturing group, inserts\n * backreference n/nn.\n * <li>${n} - Where n is a name or any number of digits that reference an existent capturing\n * group, inserts backreference n.\n * Replacement functions are invoked with three or more arguments:\n * <li>The matched substring (corresponds to $& above). Named backreferences are accessible as\n * properties of this first argument.\n * <li>0..n arguments, one for each backreference (corresponding to $1, $2, etc. above).\n * <li>The zero-based index of the match within the total search string.\n * <li>The total string being searched.\n * @param {String} [scope='one'] Use 'one' to replace the first match only, or 'all'. If not\n * explicitly specified and using a regex with flag g, `scope` is 'all'.\n * @returns {String} New string with one or all matches replaced.\n * @example\n *\n * // Regex search, using named backreferences in replacement string\n * var name = XRegExp('(?<first>\\\\w+) (?<last>\\\\w+)');\n * XRegExp.replace('John Smith', name, '${last}, ${first}');\n * // -> 'Smith, John'\n *\n * // Regex search, using named backreferences in replacement function\n * XRegExp.replace('John Smith', name, function(match) {\n * return match.last + ', ' + match.first;\n * });\n * // -> 'Smith, John'\n *\n * // String search, with replace-all\n * XRegExp.replace('RegExp builds RegExps', 'RegExp', 'XRegExp', 'all');\n * // -> 'XRegExp builds XRegExps'\n */\n XRegExp.replace = function(str, search, replacement, scope) {\n var isRegex = XRegExp.isRegExp(search),\n global = (search.global && scope !== 'one') || scope === 'all',\n cacheKey = ((global ? 'g' : '') + (search.sticky ? 'y' : '')) || 'noGY',\n s2 = search,\n result;\n\n if (isRegex) {\n search[REGEX_DATA] = search[REGEX_DATA] || {};\n\n // Shares cached copies with `XRegExp.exec`/`match`. Since a copy is used, `search`'s\n // `lastIndex` isn't updated *during* replacement iterations\n s2 = search[REGEX_DATA][cacheKey] || (\n search[REGEX_DATA][cacheKey] = copyRegex(search, {\n addG: !!global,\n addY: !!search.sticky,\n removeG: scope === 'one',\n isInternalOnly: true\n })\n );\n } else if (global) {\n s2 = new RegExp(XRegExp.escape(String(search)), 'g');\n }\n\n // Fixed `replace` required for named backreferences, etc.\n result = fixed.replace.call(toObject(str), s2, replacement);\n\n if (isRegex && search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n }\n\n return result;\n };\n\n/**\n * Performs batch processing of string replacements. Used like {@link #XRegExp.replace}, but\n * accepts an array of replacement details. Later replacements operate on the output of earlier\n * replacements. Replacement details are accepted as an array with a regex or string to search for,\n * the replacement string or function, and an optional scope of 'one' or 'all'. Uses the XRegExp\n * replacement text syntax, which supports named backreference properties via `${name}`.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {Array} replacements Array of replacement detail arrays.\n * @returns {String} New string with all replacements.\n * @example\n *\n * str = XRegExp.replaceEach(str, [\n * [XRegExp('(?<name>a)'), 'z${name}'],\n * [/b/gi, 'y'],\n * [/c/g, 'x', 'one'], // scope 'one' overrides /g\n * [/d/, 'w', 'all'], // scope 'all' overrides lack of /g\n * ['e', 'v', 'all'], // scope 'all' allows replace-all for strings\n * [/f/g, function($0) {\n * return $0.toUpperCase();\n * }]\n * ]);\n */\n XRegExp.replaceEach = function(str, replacements) {\n var i, r;\n\n for (i = 0; i < replacements.length; ++i) {\n r = replacements[i];\n str = XRegExp.replace(str, r[0], r[1], r[2]);\n }\n\n return str;\n };\n\n/**\n * Splits a string into an array of strings using a regex or string separator. Matches of the\n * separator are not included in the result array. However, if `separator` is a regex that contains\n * capturing groups, backreferences are spliced into the result each time `separator` is matched.\n * Fixes browser bugs compared to the native `String.prototype.split` and can be used reliably\n * cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to split.\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n * @example\n *\n * // Basic use\n * XRegExp.split('a b c', ' ');\n * // -> ['a', 'b', 'c']\n *\n * // With limit\n * XRegExp.split('a b c', ' ', 2);\n * // -> ['a', 'b']\n *\n * // Backreferences in result array\n * XRegExp.split('..word1..', /([a-z]+)(\\d+)/i);\n * // -> ['..', 'word', '1', '..']\n */\n XRegExp.split = function(str, separator, limit) {\n return fixed.split.call(toObject(str), separator, limit);\n };\n\n/**\n * Executes a regex search in a specified string. Returns `true` or `false`. Optional `pos` and\n * `sticky` arguments specify the search start position, and whether the match must start at the\n * specified position only. The `lastIndex` property of the provided regex is not used, but is\n * updated for compatibility. Also fixes browser bugs compared to the native\n * `RegExp.prototype.test` and can be used reliably cross-browser.\n *\n * @memberOf XRegExp\n * @param {String} str String to search.\n * @param {RegExp} regex Regex to search with.\n * @param {Number} [pos=0] Zero-based index at which to start the search.\n * @param {Boolean|String} [sticky=false] Whether the match must start at the specified position\n * only. The string `'sticky'` is accepted as an alternative to `true`.\n * @returns {Boolean} Whether the regex matched the provided value.\n * @example\n *\n * // Basic use\n * XRegExp.test('abc', /c/); // -> true\n *\n * // With pos and sticky\n * XRegExp.test('abc', /c/, 0, 'sticky'); // -> false\n * XRegExp.test('abc', /c/, 2, 'sticky'); // -> true\n */\n XRegExp.test = function(str, regex, pos, sticky) {\n // Do this the easy way :-)\n return !!XRegExp.exec(str, regex, pos, sticky);\n };\n\n/**\n * Uninstalls optional features according to the specified options. All optional features start out\n * uninstalled, so this is used to undo the actions of {@link #XRegExp.install}.\n *\n * @memberOf XRegExp\n * @param {Object|String} options Options object or string.\n * @example\n *\n * // With an options object\n * XRegExp.uninstall({\n * // Disables support for astral code points in Unicode addons\n * astral: true,\n *\n * // Restores native regex methods\n * natives: true\n * });\n *\n * // With an options string\n * XRegExp.uninstall('astral natives');\n */\n XRegExp.uninstall = function(options) {\n options = prepareOptions(options);\n\n if (features.astral && options.astral) {\n setAstral(false);\n }\n\n if (features.natives && options.natives) {\n setNatives(false);\n }\n };\n\n/**\n * Returns an XRegExp object that is the union of the given patterns. Patterns can be provided as\n * regex objects or strings. Metacharacters are escaped in patterns provided as strings.\n * Backreferences in provided regex objects are automatically renumbered to work correctly within\n * the larger combined pattern. Native flags used by provided regexes are ignored in favor of the\n * `flags` argument.\n *\n * @memberOf XRegExp\n * @param {Array} patterns Regexes and strings to combine.\n * @param {String} [flags] Any combination of XRegExp flags.\n * @returns {RegExp} Union of the provided regexes and strings.\n * @example\n *\n * XRegExp.union(['a+b*c', /(dogs)\\1/, /(cats)\\1/], 'i');\n * // -> /a\\+b\\*c|(dogs)\\1|(cats)\\2/i\n */\n XRegExp.union = function(patterns, flags) {\n var parts = /(\\()(?!\\?)|\\\\([1-9]\\d*)|\\\\[\\s\\S]|\\[(?:[^\\\\\\]]|\\\\[\\s\\S])*]/g,\n output = [],\n numCaptures = 0,\n numPriorCaptures,\n captureNames,\n pattern,\n rewrite = function(match, paren, backref) {\n var name = captureNames[numCaptures - numPriorCaptures];\n\n // Capturing group\n if (paren) {\n ++numCaptures;\n // If the current capture has a name, preserve the name\n if (name) {\n return '(?<' + name + '>';\n }\n // Backreference\n } else if (backref) {\n // Rewrite the backreference\n return '\\\\' + (+backref + numPriorCaptures);\n }\n\n return match;\n },\n i;\n\n if (!(isType(patterns, 'Array') && patterns.length)) {\n throw new TypeError('Must provide a nonempty array of patterns to merge');\n }\n\n for (i = 0; i < patterns.length; ++i) {\n pattern = patterns[i];\n\n if (XRegExp.isRegExp(pattern)) {\n numPriorCaptures = numCaptures;\n captureNames = (pattern[REGEX_DATA] && pattern[REGEX_DATA].captureNames) || [];\n\n // Rewrite backreferences. Passing to XRegExp dies on octals and ensures patterns\n // are independently valid; helps keep this simple. Named captures are put back\n output.push(nativ.replace.call(XRegExp(pattern.source).source, parts, rewrite));\n } else {\n output.push(XRegExp.escape(pattern));\n }\n }\n\n return XRegExp(output.join('|'), flags);\n };\n\n/* ==============================\n * Fixed/extended native methods\n * ============================== */\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `RegExp.prototype.exec`. Calling `XRegExp.install('natives')` uses this to\n * override the native method. Use via `XRegExp.exec` without overriding natives.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Array} Match array with named backreference properties, or `null`.\n */\n fixed.exec = function(str) {\n var origLastIndex = this.lastIndex,\n match = nativ.exec.apply(this, arguments),\n name,\n r2,\n i;\n\n if (match) {\n // Fix browsers whose `exec` methods don't return `undefined` for nonparticipating\n // capturing groups. This fixes IE 5.5-8, but not IE 9's quirks mode or emulation of\n // older IEs. IE 9 in standards mode follows the spec\n if (!correctExecNpcg && match.length > 1 && indexOf(match, '') > -1) {\n r2 = copyRegex(this, {\n removeG: true,\n isInternalOnly: true\n });\n // Using `str.slice(match.index)` rather than `match[0]` in case lookahead allowed\n // matching due to characters outside the match\n nativ.replace.call(String(str).slice(match.index), r2, function() {\n var len = arguments.length, i;\n // Skip index 0 and the last 2\n for (i = 1; i < len - 2; ++i) {\n if (arguments[i] === undefined) {\n match[i] = undefined;\n }\n }\n });\n }\n\n // Attach named capture properties\n if (this[REGEX_DATA] && this[REGEX_DATA].captureNames) {\n // Skip index 0\n for (i = 1; i < match.length; ++i) {\n name = this[REGEX_DATA].captureNames[i - 1];\n if (name) {\n match[name] = match[i];\n }\n }\n }\n\n // Fix browsers that increment `lastIndex` after zero-length matches\n if (this.global && !match[0].length && (this.lastIndex > match.index)) {\n this.lastIndex = match.index;\n }\n }\n\n if (!this.global) {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n this.lastIndex = origLastIndex;\n }\n\n return match;\n };\n\n/**\n * Fixes browser bugs in the native `RegExp.prototype.test`. Calling `XRegExp.install('natives')`\n * uses this to override the native method.\n *\n * @private\n * @param {String} str String to search.\n * @returns {Boolean} Whether the regex matched the provided value.\n */\n fixed.test = function(str) {\n // Do this the easy way :-)\n return !!fixed.exec.call(this, str);\n };\n\n/**\n * Adds named capture support (with backreferences returned as `result.name`), and fixes browser\n * bugs in the native `String.prototype.match`. Calling `XRegExp.install('natives')` uses this to\n * override the native method.\n *\n * @private\n * @param {RegExp|*} regex Regex to search with. If not a regex object, it is passed to `RegExp`.\n * @returns {Array} If `regex` uses flag g, an array of match strings or `null`. Without flag g,\n * the result of calling `regex.exec(this)`.\n */\n fixed.match = function(regex) {\n var result;\n\n if (!XRegExp.isRegExp(regex)) {\n // Use the native `RegExp` rather than `XRegExp`\n regex = new RegExp(regex);\n } else if (regex.global) {\n result = nativ.match.apply(this, arguments);\n // Fixes IE bug\n regex.lastIndex = 0;\n\n return result;\n }\n\n return fixed.exec.call(regex, toObject(this));\n };\n\n/**\n * Adds support for `${n}` tokens for named and numbered backreferences in replacement text, and\n * provides named backreferences to replacement functions as `arguments[0].name`. Also fixes browser\n * bugs in replacement text syntax when performing a replacement using a nonregex search value, and\n * the value of a replacement regex's `lastIndex` property during replacement iterations and upon\n * completion. Calling `XRegExp.install('natives')` uses this to override the native method. Note\n * that this doesn't support SpiderMonkey's proprietary third (`flags`) argument. Use via\n * `XRegExp.replace` without overriding natives.\n *\n * @private\n * @param {RegExp|String} search Search pattern to be replaced.\n * @param {String|Function} replacement Replacement string or a function invoked to create it.\n * @returns {String} New string with one or all matches replaced.\n */\n fixed.replace = function(search, replacement) {\n var isRegex = XRegExp.isRegExp(search),\n origLastIndex,\n captureNames,\n result;\n\n if (isRegex) {\n if (search[REGEX_DATA]) {\n captureNames = search[REGEX_DATA].captureNames;\n }\n // Only needed if `search` is nonglobal\n origLastIndex = search.lastIndex;\n } else {\n search += ''; // Type-convert\n }\n\n // Don't use `typeof`; some older browsers return 'function' for regex objects\n if (isType(replacement, 'Function')) {\n // Stringifying `this` fixes a bug in IE < 9 where the last argument in replacement\n // functions isn't type-converted to a string\n result = nativ.replace.call(String(this), search, function() {\n var args = arguments, i;\n if (captureNames) {\n // Change the `arguments[0]` string primitive to a `String` object that can\n // store properties. This really does need to use `String` as a constructor\n args[0] = new String(args[0]);\n // Store named backreferences on the first argument\n for (i = 0; i < captureNames.length; ++i) {\n if (captureNames[i]) {\n args[0][captureNames[i]] = args[i + 1];\n }\n }\n }\n // Update `lastIndex` before calling `replacement`. Fixes IE, Chrome, Firefox,\n // Safari bug (last tested IE 9, Chrome 17, Firefox 11, Safari 5.1)\n if (isRegex && search.global) {\n search.lastIndex = args[args.length - 2] + args[0].length;\n }\n // ES6 specs the context for replacement functions as `undefined`\n return replacement.apply(undefined, args);\n });\n } else {\n // Ensure that the last value of `args` will be a string when given nonstring `this`,\n // while still throwing on null or undefined context\n result = nativ.replace.call(this == null ? this : String(this), search, function() {\n // Keep this function's `arguments` available through closure\n var args = arguments;\n return nativ.replace.call(String(replacement), replacementToken, function($0, $1, $2) {\n var n;\n // Named or numbered backreference with curly braces\n if ($1) {\n // XRegExp behavior for `${n}`:\n // 1. Backreference to numbered capture, if `n` is an integer. Use `0` for\n // for the entire match. Any number of leading zeros may be used.\n // 2. Backreference to named capture `n`, if it exists and is not an\n // integer overridden by numbered capture. In practice, this does not\n // overlap with numbered capture since XRegExp does not allow named\n // capture to use a bare integer as the name.\n // 3. If the name or number does not refer to an existing capturing group,\n // it's an error.\n n = +$1; // Type-convert; drop leading zeros\n if (n <= args.length - 3) {\n return args[n] || '';\n }\n // Groups with the same name is an error, else would need `lastIndexOf`\n n = captureNames ? indexOf(captureNames, $1) : -1;\n if (n < 0) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n return args[n + 1] || '';\n }\n // Else, special variable or numbered backreference without curly braces\n if ($2 === '$') { // $$\n return '$';\n }\n if ($2 === '&' || +$2 === 0) { // $&, $0 (not followed by 1-9), $00\n return args[0];\n }\n if ($2 === '`') { // $` (left context)\n return args[args.length - 1].slice(0, args[args.length - 2]);\n }\n if ($2 === \"'\") { // $' (right context)\n return args[args.length - 1].slice(args[args.length - 2] + args[0].length);\n }\n // Else, numbered backreference without curly braces\n $2 = +$2; // Type-convert; drop leading zero\n // XRegExp behavior for `$n` and `$nn`:\n // - Backrefs end after 1 or 2 digits. Use `${..}` for more digits.\n // - `$1` is an error if no capturing groups.\n // - `$10` is an error if less than 10 capturing groups. Use `${1}0` instead.\n // - `$01` is `$1` if at least one capturing group, else it's an error.\n // - `$0` (not followed by 1-9) and `$00` are the entire match.\n // Native behavior, for comparison:\n // - Backrefs end after 1 or 2 digits. Cannot reference capturing group 100+.\n // - `$1` is a literal `$1` if no capturing groups.\n // - `$10` is `$1` followed by a literal `0` if less than 10 capturing groups.\n // - `$01` is `$1` if at least one capturing group, else it's a literal `$01`.\n // - `$0` is a literal `$0`.\n if (!isNaN($2)) {\n if ($2 > args.length - 3) {\n throw new SyntaxError('Backreference to undefined group ' + $0);\n }\n return args[$2] || '';\n }\n // `$` followed by an unsupported char is an error, unlike native JS\n throw new SyntaxError('Invalid token ' + $0);\n });\n });\n }\n\n if (isRegex) {\n if (search.global) {\n // Fixes IE, Safari bug (last tested IE 9, Safari 5.1)\n search.lastIndex = 0;\n } else {\n // Fixes IE, Opera bug (last tested IE 9, Opera 11.6)\n search.lastIndex = origLastIndex;\n }\n }\n\n return result;\n };\n\n/**\n * Fixes browser bugs in the native `String.prototype.split`. Calling `XRegExp.install('natives')`\n * uses this to override the native method. Use via `XRegExp.split` without overriding natives.\n *\n * @private\n * @param {RegExp|String} separator Regex or string to use for separating the string.\n * @param {Number} [limit] Maximum number of items to include in the result array.\n * @returns {Array} Array of substrings.\n */\n fixed.split = function(separator, limit) {\n if (!XRegExp.isRegExp(separator)) {\n // Browsers handle nonregex split correctly, so use the faster native method\n return nativ.split.apply(this, arguments);\n }\n\n var str = String(this),\n output = [],\n origLastIndex = separator.lastIndex,\n lastLastIndex = 0,\n lastLength;\n\n // Values for `limit`, per the spec:\n // If undefined: pow(2,32) - 1\n // If 0, Infinity, or NaN: 0\n // If positive number: limit = floor(limit); if (limit >= pow(2,32)) limit -= pow(2,32);\n // If negative number: pow(2,32) - floor(abs(limit))\n // If other: Type-convert, then use the above rules\n // This line fails in very strange ways for some values of `limit` in Opera 10.5-10.63,\n // unless Opera Dragonfly is open (go figure). It works in at least Opera 9.5-10.1 and 11+\n limit = (limit === undefined ? -1 : limit) >>> 0;\n\n XRegExp.forEach(str, separator, function(match) {\n // This condition is not the same as `if (match[0].length)`\n if ((match.index + match[0].length) > lastLastIndex) {\n output.push(str.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < str.length) {\n Array.prototype.push.apply(output, match.slice(1));\n }\n lastLength = match[0].length;\n lastLastIndex = match.index + lastLength;\n }\n });\n\n if (lastLastIndex === str.length) {\n if (!nativ.test.call(separator, '') || lastLength) {\n output.push('');\n }\n } else {\n output.push(str.slice(lastLastIndex));\n }\n\n separator.lastIndex = origLastIndex;\n return output.length > limit ? output.slice(0, limit) : output;\n };\n\n/* ==============================\n * Built-in syntax/flag tokens\n * ============================== */\n\n/*\n * Letter escapes that natively match literal characters: `\\a`, `\\A`, etc. These should be\n * SyntaxErrors but are allowed in web reality. XRegExp makes them errors for cross-browser\n * consistency and to reserve their syntax, but lets them be superseded by addons.\n */\n XRegExp.addToken(\n /\\\\([ABCE-RTUVXYZaeg-mopqyz]|c(?![A-Za-z])|u(?![\\dA-Fa-f]{4}|{[\\dA-Fa-f]+})|x(?![\\dA-Fa-f]{2}))/,\n function(match, scope) {\n // \\B is allowed in default scope only\n if (match[1] === 'B' && scope === defaultScope) {\n return match[0];\n }\n throw new SyntaxError('Invalid escape ' + match[0]);\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Unicode code point escape with curly braces: `\\u{N..}`. `N..` is any one or more digit\n * hexadecimal number from 0-10FFFF, and can include leading zeros. Requires the native ES6 `u` flag\n * to support code points greater than U+FFFF. Avoids converting code points above U+FFFF to\n * surrogate pairs (which could be done without flag `u`), since that could lead to broken behavior\n * if you follow a `\\u{N..}` token that references a code point above U+FFFF with a quantifier, or\n * if you use the same in a character class.\n */\n XRegExp.addToken(\n /\\\\u{([\\dA-Fa-f]+)}/,\n function(match, scope, flags) {\n var code = dec(match[1]);\n if (code > 0x10FFFF) {\n throw new SyntaxError('Invalid Unicode code point ' + match[0]);\n }\n if (code <= 0xFFFF) {\n // Converting to \\uNNNN avoids needing to escape the literal character and keep it\n // separate from preceding tokens\n return '\\\\u' + pad4(hex(code));\n }\n // If `code` is between 0xFFFF and 0x10FFFF, require and defer to native handling\n if (hasNativeU && flags.indexOf('u') > -1) {\n return match[0];\n }\n throw new SyntaxError('Cannot use Unicode code point above \\\\u{FFFF} without flag u');\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Empty character class: `[]` or `[^]`. This fixes a critical cross-browser syntax inconsistency.\n * Unless this is standardized (per the ES spec), regex syntax can't be accurately parsed because\n * character class endings can't be determined.\n */\n XRegExp.addToken(\n /\\[(\\^?)]/,\n function(match) {\n // For cross-browser compatibility with ES3, convert [] to \\b\\B and [^] to [\\s\\S].\n // (?!) should work like \\b\\B, but is unreliable in some versions of Firefox\n return match[1] ? '[\\\\s\\\\S]' : '\\\\b\\\\B';\n },\n {leadChar: '['}\n );\n\n/*\n * Comment pattern: `(?# )`. Inline comments are an alternative to the line comments allowed in\n * free-spacing mode (flag x).\n */\n XRegExp.addToken(\n /\\(\\?#[^)]*\\)/,\n function(match, scope, flags) {\n // Keep tokens separated unless the following token is a quantifier\n return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n '' : '(?:)';\n },\n {leadChar: '('}\n );\n\n/*\n * Whitespace and line comments, in free-spacing mode (aka extended mode, flag x) only.\n */\n XRegExp.addToken(\n /\\s+|#.*/,\n function(match, scope, flags) {\n // Keep tokens separated unless the following token is a quantifier\n return isQuantifierNext(match.input, match.index + match[0].length, flags) ?\n '' : '(?:)';\n },\n {flag: 'x'}\n );\n\n/*\n * Dot, in dotall mode (aka singleline mode, flag s) only.\n */\n XRegExp.addToken(\n /\\./,\n function() {\n return '[\\\\s\\\\S]';\n },\n {\n flag: 's',\n leadChar: '.'\n }\n );\n\n/*\n * Named backreference: `\\k<name>`. Backreference names can use the characters A-Z, a-z, 0-9, _,\n * and $ only. Also allows numbered backreferences as `\\k<n>`.\n */\n XRegExp.addToken(\n /\\\\k<([\\w$]+)>/,\n function(match) {\n // Groups with the same name is an error, else would need `lastIndexOf`\n var index = isNaN(match[1]) ? (indexOf(this.captureNames, match[1]) + 1) : +match[1],\n endIndex = match.index + match[0].length;\n if (!index || index > this.captureNames.length) {\n throw new SyntaxError('Backreference to undefined group ' + match[0]);\n }\n // Keep backreferences separate from subsequent literal numbers\n return '\\\\' + index + (\n endIndex === match.input.length || isNaN(match.input.charAt(endIndex)) ?\n '' : '(?:)'\n );\n },\n {leadChar: '\\\\'}\n );\n\n/*\n * Numbered backreference or octal, plus any following digits: `\\0`, `\\11`, etc. Octals except `\\0`\n * not followed by 0-9 and backreferences to unopened capture groups throw an error. Other matches\n * are returned unaltered. IE < 9 doesn't support backreferences above `\\99` in regex syntax.\n */\n XRegExp.addToken(\n /\\\\(\\d+)/,\n function(match, scope) {\n if (\n !(\n scope === defaultScope &&\n /^[1-9]/.test(match[1]) &&\n +match[1] <= this.captureNames.length\n ) &&\n match[1] !== '0'\n ) {\n throw new SyntaxError('Cannot use octal escape or backreference to undefined group ' +\n match[0]);\n }\n return match[0];\n },\n {\n scope: 'all',\n leadChar: '\\\\'\n }\n );\n\n/*\n * Named capturing group; match the opening delimiter only: `(?<name>`. Capture names can use the\n * characters A-Z, a-z, 0-9, _, and $ only. Names can't be integers. Supports Python-style\n * `(?P<name>` as an alternate syntax to avoid issues in some older versions of Opera which natively\n * supported the Python-style syntax. Otherwise, XRegExp might treat numbered backreferences to\n * Python-style named capture as octals.\n */\n XRegExp.addToken(\n /\\(\\?P?<([\\w$]+)>/,\n function(match) {\n // Disallow bare integers as names because named backreferences are added to match\n // arrays and therefore numeric properties may lead to incorrect lookups\n if (!isNaN(match[1])) {\n throw new SyntaxError('Cannot use integer as capture name ' + match[0]);\n }\n if (match[1] === 'length' || match[1] === '__proto__') {\n throw new SyntaxError('Cannot use reserved word as capture name ' + match[0]);\n }\n if (indexOf(this.captureNames, match[1]) > -1) {\n throw new SyntaxError('Cannot use same name for multiple groups ' + match[0]);\n }\n this.captureNames.push(match[1]);\n this.hasNamedCapture = true;\n return '(';\n },\n {leadChar: '('}\n );\n\n/*\n * Capturing group; match the opening parenthesis only. Required for support of named capturing\n * groups. Also adds explicit capture mode (flag n).\n */\n XRegExp.addToken(\n /\\((?!\\?)/,\n function(match, scope, flags) {\n if (flags.indexOf('n') > -1) {\n return '(?:';\n }\n this.captureNames.push(null);\n return '(';\n },\n {\n optionalFlags: 'n',\n leadChar: '('\n }\n );\n\n/* ==============================\n * Expose XRegExp\n * ============================== */\n\n module.exports = XRegExp;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-regex/xregexp.js\n **/","export * from './lib/match';\nexport * from './lib/apply-regex-list';\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/index.js\n **/","export class Match {\n constructor(value, index, css) {\n this.value = value;\n this.index = index;\n this.length = value.length;\n this.css = css;\n this.brushName = null;\n }\n\n toString() {\n return this.value;\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/match.js\n **/","import { find, sort, removeNested, compact } from './matches';\n\n/**\n * Applies all regular expression to the code and stores all found\n * matches in the `this.matches` array.\n */\nexport function applyRegexList(code, regexList)\n{\n let result = [];\n\n regexList = regexList || [];\n\n for (let i = 0, l = regexList.length; i < l; i++) {\n // BUG: length returns len+1 for array if methods added to prototype chain (oising@gmail.com)\n if (typeof regexList[i] === 'object')\n result = result.concat(find(code, regexList[i]));\n }\n\n result = sort(result);\n result = removeNested(result);\n result = compact(result);\n\n return result;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/apply-regex-list.js\n **/","import { Match } from './match';\nimport { XRegExp } from 'syntaxhighlighter-regex';\n\n/**\n * Executes given regular expression on provided code and returns all matches that are found.\n *\n * @param {String} code Code to execute regular expression on.\n * @param {Object} regex Regular expression item info from `regexList` collection.\n * @return {Array} Returns a list of Match objects.\n */\nexport function find(code, regexInfo)\n{\n function defaultAdd(match, regexInfo)\n {\n return match[0];\n };\n\n var index = 0,\n match = null,\n matches = [],\n process = regexInfo.func ? regexInfo.func : defaultAdd,\n pos = 0\n ;\n\n while(match = XRegExp.exec(code, regexInfo.regex, pos))\n {\n var resultMatch = process(match, regexInfo);\n\n if (typeof resultMatch === 'string')\n resultMatch = [new Match(resultMatch, match.index, regexInfo.css)];\n\n matches = matches.concat(resultMatch);\n pos = match.index + match[0].length;\n }\n\n return matches;\n};\n\n/**\n * Sorts matches by index position and then by length.\n */\nexport function sort(matches)\n{\n function sortMatchesCallback(m1, m2)\n {\n // sort matches by index first\n if(m1.index < m2.index)\n return -1;\n else if(m1.index > m2.index)\n return 1;\n else\n {\n // if index is the same, sort by length\n if(m1.length < m2.length)\n return -1;\n else if(m1.length > m2.length)\n return 1;\n }\n\n return 0;\n }\n\n return matches.sort(sortMatchesCallback);\n}\n\nexport function compact(matches)\n{\n var result = [], i, l;\n\n for (i = 0, l = matches.length; i < l; i++)\n if (matches[i])\n result.push(matches[i]);\n\n return result;\n}\n\n/**\n * Checks to see if any of the matches are inside of other matches.\n * This process would get rid of highligted strings inside comments,\n * keywords inside strings and so on.\n */\nexport function removeNested(matches)\n{\n // Optimized by Jose Prado (http://joseprado.com)\n for (var i = 0, l = matches.length; i < l; i++)\n {\n if (matches[i] === null)\n continue;\n\n var itemI = matches[i],\n itemIEndPos = itemI.index + itemI.length\n ;\n\n for (var j = i + 1, l = matches.length; j < l && matches[i] !== null; j++)\n {\n var itemJ = matches[j];\n\n if (itemJ === null)\n continue;\n else if (itemJ.index > itemIEndPos)\n break;\n else if (itemJ.index == itemI.index && itemJ.length > itemI.length)\n matches[i] = null;\n else if (itemJ.index >= itemI.index && itemJ.index < itemIEndPos)\n matches[j] = null;\n }\n }\n\n return matches;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-match/lib/matches.js\n **/","/**\n * Pads number with zeros until it's length is the same as given length.\n *\n * @param {Number} number Number to pad.\n * @param {Number} length Max string length with.\n * @return {String} Returns a string padded with proper amount of '0'.\n */\nfunction padNumber(number, length)\n{\n var result = number.toString();\n\n while (result.length < length)\n result = '0' + result;\n\n return result;\n};\n\nfunction getLines(str)\n{\n return str.split(/\\r?\\n/);\n}\n\nfunction getLinesToHighlight(opts)\n{\n var results = {},\n linesToHighlight,\n l,\n i\n ;\n\n linesToHighlight = opts.highlight || [];\n\n if (typeof(linesToHighlight.push) !== 'function')\n linesToHighlight = [linesToHighlight];\n\n for (i = 0, l = linesToHighlight.length; i < l; i++)\n results[linesToHighlight[i]] = true;\n\n return results;\n}\n\nexport default function Renderer(code, matches, opts)\n{\n var _this = this;\n\n _this.opts = opts;\n _this.code = code;\n _this.matches = matches;\n _this.lines = getLines(code);\n _this.linesToHighlight = getLinesToHighlight(opts);\n}\n\nRenderer.prototype = {\n /**\n * Wraps each line of the string into <code/> tag with given style applied to it.\n *\n * @param {String} str Input string.\n * @param {String} css Style name to apply to the string.\n * @return {String} Returns input string with each line surrounded by <span/> tag.\n */\n wrapLinesWithCode: function(str, css)\n {\n if (str == null || str.length == 0 || str == '\\n' || css == null)\n return str;\n\n var _this = this,\n results = [],\n lines,\n line,\n spaces,\n i,\n l\n ;\n\n str = str.replace(/</g, '<');\n\n // Replace two or more sequential spaces with leaving last space untouched.\n str = str.replace(/ {2,}/g, function(m)\n {\n spaces = '';\n\n for (i = 0, l = m.length; i < l - 1; i++)\n spaces += _this.opts.space;\n\n return spaces + ' ';\n });\n\n lines = getLines(str);\n\n // Split each line and apply <span class=\"...\">...</span> to them so that leading spaces aren't included.\n for (i = 0, l = lines.length; i < l; i++)\n {\n line = lines[i];\n spaces = '';\n\n if (line.length > 0)\n {\n line = line.replace(/^( | )+/, function(s)\n {\n spaces = s;\n return '';\n });\n\n line = line.length === 0\n ? spaces\n : spaces + '<code class=\"' + css + '\">' + line + '</code>'\n ;\n }\n\n results.push(line);\n }\n\n return results.join('\\n');\n },\n\n /**\n * Turns all URLs in the code into <a/> tags.\n * @param {String} code Input code.\n * @return {String} Returns code with </a> tags.\n */\n processUrls: function(code)\n {\n var gt = /(.*)((>|<).*)/,\n url = /\\w+:\\/\\/[\\w-.\\/?%&=:@;#]*/g\n ;\n\n return code.replace(url, function(m)\n {\n var suffix = '',\n match = null\n ;\n\n // We include < and > in the URL for the common cases like <http://google.com>\n // The problem is that they get transformed into <http://google.com>\n // Where as > easily looks like part of the URL string.\n\n if (match = gt.exec(m))\n {\n m = match[1];\n suffix = match[2];\n }\n\n return '<a href=\"' + m + '\">' + m + '</a>' + suffix;\n });\n },\n\n /**\n * Creates an array containing integer line numbers starting from the 'first-line' param.\n * @return {Array} Returns array of integers.\n */\n figureOutLineNumbers: function(code)\n {\n var lineNumbers = [],\n lines = this.lines,\n firstLine = parseInt(this.opts.firstLine || 1),\n i,\n l\n ;\n\n for (i = 0, l = lines.length; i < l; i++)\n lineNumbers.push(i + firstLine);\n\n return lineNumbers;\n },\n\n /**\n * Generates HTML markup for a single line of code while determining alternating line style.\n * @param {Integer} lineNumber Line number.\n * @param {String} code Line HTML markup.\n * @return {String} Returns HTML markup.\n */\n wrapLine: function(lineIndex, lineNumber, lineHtml)\n {\n var classes = [\n 'line',\n 'number' + lineNumber,\n 'index' + lineIndex,\n 'alt' + (lineNumber % 2 == 0 ? 1 : 2).toString()\n ];\n\n if (this.linesToHighlight[lineNumber])\n classes.push('highlighted');\n\n if (lineNumber == 0)\n classes.push('break');\n\n return '<div class=\"' + classes.join(' ') + '\">' + lineHtml + '</div>';\n },\n\n /**\n * Generates HTML markup for line number column.\n * @param {String} code Complete code HTML markup.\n * @param {Array} lineNumbers Calculated line numbers.\n * @return {String} Returns HTML markup.\n */\n renderLineNumbers: function(code, lineNumbers)\n {\n var _this = this,\n opts = _this.opts,\n html = '',\n count = _this.lines.length,\n firstLine = parseInt(opts.firstLine || 1),\n pad = opts.padLineNumbers,\n lineNumber,\n i\n ;\n\n if (pad == true)\n pad = (firstLine + count - 1).toString().length;\n else if (isNaN(pad) == true)\n pad = 0;\n\n for (i = 0; i < count; i++)\n {\n lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n code = lineNumber == 0 ? opts.space : padNumber(lineNumber, pad);\n html += _this.wrapLine(i, lineNumber, code);\n }\n\n return html;\n },\n\n /**\n * Splits block of text into individual DIV lines.\n * @param {String} code Code to highlight.\n * @param {Array} lineNumbers Calculated line numbers.\n * @return {String} Returns highlighted code in HTML form.\n */\n getCodeLinesHtml: function(html, lineNumbers)\n {\n // html = utils.trim(html);\n\n var _this = this,\n opts = _this.opts,\n lines = getLines(html),\n padLength = opts.padLineNumbers,\n firstLine = parseInt(opts.firstLine || 1),\n brushName = opts.brush,\n html = ''\n ;\n\n for (var i = 0, l = lines.length; i < l; i++)\n {\n var line = lines[i],\n indent = /^( |\\s)+/.exec(line),\n spaces = null,\n lineNumber = lineNumbers ? lineNumbers[i] : firstLine + i;\n ;\n\n if (indent != null)\n {\n spaces = indent[0].toString();\n line = line.substr(spaces.length);\n spaces = spaces.replace(' ', opts.space);\n }\n\n // line = utils.trim(line);\n\n if (line.length == 0)\n line = opts.space;\n\n html += _this.wrapLine(\n i,\n lineNumber,\n (spaces != null ? '<code class=\"' + brushName + ' spaces\">' + spaces + '</code>' : '') + line\n );\n }\n\n return html;\n },\n\n /**\n * Returns HTML for the table title or empty string if title is null.\n */\n getTitleHtml: function(title)\n {\n return title ? '<caption>' + title + '</caption>' : '';\n },\n\n /**\n * Finds all matches in the source code.\n * @param {String} code Source code to process matches in.\n * @param {Array} matches Discovered regex matches.\n * @return {String} Returns formatted HTML with processed mathes.\n */\n getMatchesHtml: function(code, matches)\n {\n function getBrushNameCss(match)\n {\n var result = match ? (match.brushName || brushName) : brushName;\n return result ? result + ' ' : '';\n };\n\n var _this = this,\n pos = 0,\n result = '',\n brushName = _this.opts.brush || '',\n match,\n matchBrushName,\n i,\n l\n ;\n\n // Finally, go through the final list of matches and pull the all\n // together adding everything in between that isn't a match.\n for (i = 0, l = matches.length; i < l; i++)\n {\n match = matches[i];\n\n if (match === null || match.length === 0)\n continue;\n\n matchBrushName = getBrushNameCss(match);\n\n result += _this.wrapLinesWithCode(code.substr(pos, match.index - pos), matchBrushName + 'plain')\n + _this.wrapLinesWithCode(match.value, matchBrushName + match.css)\n ;\n\n pos = match.index + match.length + (match.offset || 0);\n }\n\n // don't forget to add whatever's remaining in the string\n result += _this.wrapLinesWithCode(code.substr(pos), getBrushNameCss() + 'plain');\n\n return result;\n },\n\n /**\n * Generates HTML markup for the whole syntax highlighter.\n * @param {String} code Source code.\n * @return {String} Returns HTML markup.\n */\n getHtml: function()\n {\n var _this = this,\n opts = _this.opts,\n code = _this.code,\n matches = _this.matches,\n classes = ['syntaxhighlighter'],\n lineNumbers,\n gutter,\n html\n ;\n\n if (opts.collapse === true)\n classes.push('collapsed');\n\n gutter = opts.gutter !== false;\n\n if (!gutter)\n classes.push('nogutter');\n\n // add custom user style name\n classes.push(opts.className);\n\n // add brush alias to the class name for custom CSS\n classes.push(opts.brush);\n\n if (gutter)\n lineNumbers = _this.figureOutLineNumbers(code);\n\n // processes found matches into the html\n html = _this.getMatchesHtml(code, matches);\n\n // finally, split all lines so that they wrap well\n html = _this.getCodeLinesHtml(html, lineNumbers);\n\n // finally, process the links\n if (opts.autoLinks)\n html = _this.processUrls(html);\n\n html = `\n <div class=\"${classes.join(' ')}\">\n <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\">\n ${_this.getTitleHtml(opts.title)}\n <tbody>\n <tr>\n ${gutter ? `<td class=\"gutter\">${_this.renderLineNumbers(code)}</td>` : ``}\n <td class=\"code\">\n <div class=\"container\">${html}</div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n `;\n\n return html;\n },\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/syntaxhighlighter-html-renderer/index.js\n **/","/**\n * Splits block of text into lines.\n * @param {String} block Block of text.\n * @return {Array} Returns array of lines.\n */\nfunction splitLines(block)\n{\n return block.split(/\\r?\\n/);\n}\n\n/**\n * Executes a callback on each line and replaces each line with result from the callback.\n * @param {Object} str Input string.\n * @param {Object} callback Callback function taking one string argument and returning a string.\n */\nfunction eachLine(str, callback)\n{\n var lines = splitLines(str);\n\n for (var i = 0, l = lines.length; i < l; i++)\n lines[i] = callback(lines[i], i);\n\n return lines.join('\\n');\n}\n\n/**\n * Generates a unique element ID.\n */\nfunction guid(prefix)\n{\n return (prefix || '') + Math.round(Math.random() * 1000000).toString();\n}\n\n/**\n * Merges two objects. Values from obj2 override values in obj1.\n * Function is NOT recursive and works only for one dimensional objects.\n * @param {Object} obj1 First object.\n * @param {Object} obj2 Second object.\n * @return {Object} Returns combination of both objects.\n */\nfunction merge(obj1, obj2)\n{\n var result = {}, name;\n\n for (name in obj1)\n result[name] = obj1[name];\n\n for (name in obj2)\n result[name] = obj2[name];\n\n return result;\n}\n\n/**\n * Removes all white space at the begining and end of a string.\n *\n * @param {String} str String to trim.\n * @return {String} Returns string without leading and following white space characters.\n */\nfunction trim(str)\n{\n return str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Converts the source to array object. Mostly used for function arguments and\n * lists returned by getElementsByTagName() which aren't Array objects.\n * @param {List} source Source list.\n * @return {Array} Returns array.\n */\nfunction toArray(source)\n{\n return Array.prototype.slice.apply(source);\n}\n\n/**\n * Attempts to convert string to boolean.\n * @param {String} value Input string.\n * @return {Boolean} Returns true if input was \"true\", false if input was \"false\" and value otherwise.\n */\nfunction toBoolean(value)\n{\n var result = {\"true\" : true, \"false\" : false}[value];\n return result == null ? value : result;\n}\n\nmodule.exports = {\n splitLines: splitLines,\n eachLine: eachLine,\n guid: guid,\n merge: merge,\n trim: trim,\n toArray: toArray,\n toBoolean: toBoolean\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/utils.js\n **/","var\n trim = require('./trim'),\n bloggerMode = require('./blogger_mode'),\n stripBrs = require('./strip_brs'),\n unindenter = require('unindenter'),\n retabber = require('retabber')\n ;\n\nmodule.exports = function(code, opts)\n{\n code = trim(code, opts);\n code = bloggerMode(code, opts);\n code = stripBrs(code, opts);\n code = unindenter.unindent(code, opts);\n\n var tabSize = opts['tab-size'];\n code = opts['smart-tabs'] === true ? retabber.smart(code, tabSize) : retabber.regular(code, tabSize);\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/index.js\n **/","module.exports = function(code, opts)\n{\n return code\n // This is a special trim which only removes first and last empty lines\n // and doesn't affect valid leading space on the first line.\n .replace(/^[ ]*[\\n]+|[\\n]*[ ]*$/g, '')\n\n // IE lets these buggers through\n .replace(/\\r/g, ' ')\n ;\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/trim.js\n **/","module.exports = function(code, opts) {\n var br = /<br\\s*\\/?>|<br\\s*\\/?>/gi;\n\n if (opts['bloggerMode'] === true)\n code = code.replace(br, '\\n');\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/blogger_mode.js\n **/","module.exports = function(code, opts)\n{\n var br = /<br\\s*\\/?>|<br\\s*\\/?>/gi;\n\n if (opts['stripBrs'] === true)\n code = code.replace(br, '');\n\n return code;\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/transformers/strip_brs.js\n **/","function isEmpty(str)\n{\n return /^\\s*$/.test(str);\n}\n\nmodule.exports = {\n unindent: function(code)\n {\n var lines = code.split(/\\r?\\n/),\n regex = /^\\s*/,\n min = 1000,\n line,\n matches,\n i,\n l\n ;\n\n // go through every line and check for common number of indents\n for (i = 0, l = lines.length; i < l && min > 0; i++)\n {\n line = lines[i];\n\n if (isEmpty(line))\n continue;\n\n matches = regex.exec(line);\n\n // In the event that just one line doesn't have leading white space\n // we can't unindent anything, so bail completely.\n if (matches == null)\n return code;\n\n min = Math.min(matches[0].length, min);\n }\n\n // trim minimum common number of white space from the begining of every line\n if (min > 0)\n for (i = 0, l = lines.length; i < l; i++)\n if (!isEmpty(lines[i]))\n lines[i] = lines[i].substr(min);\n\n return lines.join('\\n');\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/unindenter/unindenter.js\n **/","var spaces = '';\n\n// Create a string with 1000 spaces to copy spaces from...\n// It's assumed that there would be no indentation longer than that.\nfor (var i = 0; i < 50; i++)\n spaces += ' '; // 20 spaces * 50\n\n// This function inserts specified amount of spaces in the string\n// where a tab is while removing that given tab.\nfunction insertSpaces(line, pos, count)\n{\n return line.substr(0, pos)\n + spaces.substr(0, count)\n + line.substr(pos + 1, line.length) // pos + 1 will get rid of the tab\n ;\n}\n\nmodule.exports = {\n smart: function(code, tabSize)\n {\n var lines = code.split(/\\r?\\n/),\n tab = '\\t',\n line,\n pos,\n i,\n l\n ;\n\n // Go through all the lines and do the 'smart tabs' magic.\n for (i = 0, l = lines.length; i < l; i++)\n {\n line = lines[i];\n\n if (line.indexOf(tab) === -1)\n continue;\n\n pos = 0;\n\n while ((pos = line.indexOf(tab)) !== -1)\n {\n // This is pretty much all there is to the 'smart tabs' logic.\n // Based on the position within the line and size of a tab,\n // calculate the amount of spaces we need to insert.\n line = insertSpaces(line, pos, tabSize - pos % tabSize);\n }\n\n lines[i] = line;\n }\n\n return lines.join('\\n');\n },\n\n regular: function(code, tabSize)\n {\n return code.replace(/\\t/g, spaces.substr(0, tabSize));\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/retabber/retabber.js\n **/","/**\n * Finds all <SCRIPT TYPE=\"text/syntaxhighlighter\" /> elementss.\n * Finds both \"text/syntaxhighlighter\" and \"syntaxhighlighter\"\n * ...in order to make W3C validator happy with subtype and backwardscompatible without subtype\n * @return {Array} Returns array of all found SyntaxHighlighter tags.\n */\nfunction getSyntaxHighlighterScriptTags()\n{\n var tags = document.getElementsByTagName('script'),\n result = []\n ;\n\n for (var i = 0; i < tags.length; i++)\n if (tags[i].type == 'text/syntaxhighlighter' || tags[i].type == 'syntaxhighlighter')\n result.push(tags[i]);\n\n return result;\n};\n\n/**\n * Checks if target DOM elements has specified CSS class.\n * @param {DOMElement} target Target DOM element to check.\n * @param {String} className Name of the CSS class to check for.\n * @return {Boolean} Returns true if class name is present, false otherwise.\n */\nfunction hasClass(target, className)\n{\n return target.className.indexOf(className) != -1;\n}\n\n/**\n * Adds CSS class name to the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className New CSS class to add.\n */\nfunction addClass(target, className)\n{\n if (!hasClass(target, className))\n target.className += ' ' + className;\n}\n\n/**\n * Removes CSS class name from the target DOM element.\n * @param {DOMElement} target Target DOM element.\n * @param {String} className CSS class to remove.\n */\nfunction removeClass(target, className)\n{\n target.className = target.className.replace(className, '');\n}\n\n/**\n * Adds event handler to the target object.\n * @param {Object} obj Target object.\n * @param {String} type Name of the event.\n * @param {Function} func Handling function.\n */\nfunction attachEvent(obj, type, func, scope)\n{\n function handler(e)\n {\n e = e || window.event;\n\n if (!e.target)\n {\n e.target = e.srcElement;\n e.preventDefault = function()\n {\n this.returnValue = false;\n };\n }\n\n func.call(scope || window, e);\n };\n\n if (obj.attachEvent)\n {\n obj.attachEvent('on' + type, handler);\n }\n else\n {\n obj.addEventListener(type, handler, false);\n }\n}\n\n/**\n * Looks for a child or parent node which has specified classname.\n * Equivalent to jQuery's $(container).find(\".className\")\n * @param {Element} target Target element.\n * @param {String} search Class name or node name to look for.\n * @param {Boolean} reverse If set to true, will go up the node tree instead of down.\n * @return {Element} Returns found child or parent element on null.\n */\nfunction findElement(target, search, reverse /* optional */)\n{\n if (target == null)\n return null;\n\n var nodes = reverse != true ? target.childNodes : [ target.parentNode ],\n propertyToFind = { '#' : 'id', '.' : 'className' }[search.substr(0, 1)] || 'nodeName',\n expectedValue,\n found\n ;\n\n expectedValue = propertyToFind != 'nodeName'\n ? search.substr(1)\n : search.toUpperCase()\n ;\n\n // main return of the found node\n if ((target[propertyToFind] || '').indexOf(expectedValue) != -1)\n return target;\n\n for (var i = 0, l = nodes.length; nodes && i < l && found == null; i++)\n found = findElement(nodes[i], search, reverse);\n\n return found;\n}\n\n/**\n * Looks for a parent node which has specified classname.\n * This is an alias to <code>findElement(container, className, true)</code>.\n * @param {Element} target Target element.\n * @param {String} className Class name to look for.\n * @return {Element} Returns found parent element on null.\n */\nfunction findParentElement(target, className)\n{\n return findElement(target, className, true);\n}\n\n/**\n * Opens up a centered popup window.\n * @param {String} url URL to open in the window.\n * @param {String} name Popup name.\n * @param {int} width Popup width.\n * @param {int} height Popup height.\n * @param {String} options window.open() options.\n * @return {Window} Returns window instance.\n */\nfunction popup(url, name, width, height, options)\n{\n var x = (screen.width - width) / 2,\n y = (screen.height - height) / 2\n ;\n\n options += ', left=' + x +\n ', top=' + y +\n ', width=' + width +\n ', height=' + height\n ;\n options = options.replace(/^,/, '');\n\n var win = window.open(url, name, options);\n win.focus();\n return win;\n}\n\nfunction getElementsByTagName(name)\n{\n return document.getElementsByTagName(name);\n}\n\n/**\n * Finds all elements on the page which could be processes by SyntaxHighlighter.\n */\nfunction findElementsToHighlight(opts)\n{\n var elements = getElementsByTagName(opts['tagName']),\n scripts,\n i\n ;\n\n // support for <SCRIPT TYPE=\"syntaxhighlighter\" /> feature\n if(opts['useScriptTags'])\n {\n scripts = getElementsByTagName('script');\n\n for (i = 0; i < scripts.length; i++)\n {\n if (scripts[i].type.match(/^(text\\/)?syntaxhighlighter$/))\n elements.push(scripts[i]);\n }\n }\n\n return elements;\n}\n\nfunction create(name)\n{\n return document.createElement(name);\n}\n\n/**\n * Quick code mouse double click handler.\n */\nfunction quickCodeHandler(e)\n{\n var target = e.target,\n highlighterDiv = findParentElement(target, '.syntaxhighlighter'),\n container = findParentElement(target, '.container'),\n textarea = document.createElement('textarea'),\n highlighter\n ;\n\n if (!container || !highlighterDiv || findElement(container, 'textarea'))\n return;\n\n //highlighter = highlighters.get(highlighterDiv.id);\n\n // add source class name\n addClass(highlighterDiv, 'source');\n\n // Have to go over each line and grab it's text, can't just do it on the\n // container because Firefox loses all \\n where as Webkit doesn't.\n var lines = container.childNodes,\n code = []\n ;\n\n for (var i = 0, l = lines.length; i < l; i++)\n code.push(lines[i].innerText || lines[i].textContent);\n\n // using \\r instead of \\r or \\r\\n makes this work equally well on IE, FF and Webkit\n code = code.join('\\r');\n\n // For Webkit browsers, replace nbsp with a breaking space\n code = code.replace(/\\u00a0/g, \" \");\n\n // inject <textarea/> tag\n textarea.readOnly = true; // https://github.com/syntaxhighlighter/syntaxhighlighter/pull/329\n textarea.appendChild(document.createTextNode(code));\n container.appendChild(textarea);\n\n // preselect all text\n textarea.focus();\n textarea.select();\n\n // set up handler for lost focus\n attachEvent(textarea, 'blur', function(e)\n {\n textarea.parentNode.removeChild(textarea);\n removeClass(highlighterDiv, 'source');\n });\n};\n\nmodule.exports = {\n quickCodeHandler: quickCodeHandler,\n create: create,\n popup: popup,\n hasClass: hasClass,\n addClass: addClass,\n removeClass: removeClass,\n attachEvent: attachEvent,\n findElement: findElement,\n findParentElement: findParentElement,\n getSyntaxHighlighterScriptTags: getSyntaxHighlighterScriptTags,\n findElementsToHighlight: findElementsToHighlight\n}\n\n\n/** WEBPACK FOOTER **\n ** ./src/dom.js\n **/","module.exports = {\n space: ' ',\n\n /** Enables use of <SCRIPT type=\"syntaxhighlighter\" /> tags. */\n useScriptTags: true,\n\n /** Blogger mode flag. */\n bloggerMode: false,\n\n stripBrs: false,\n\n /** Name of the tag that SyntaxHighlighter will automatically look for. */\n tagName: 'pre'\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/config.js\n **/","module.exports = {\n /** Additional CSS class names to be added to highlighter elements. */\n 'class-name': '',\n\n /** First line number. */\n 'first-line': 1,\n\n /**\n * Pads line numbers. Possible values are:\n *\n * false - don't pad line numbers.\n * true - automaticaly pad numbers with minimum required number of leading zeroes.\n * [int] - length up to which pad line numbers.\n */\n 'pad-line-numbers': false,\n\n /** Lines to highlight. */\n 'highlight': null,\n\n /** Title to be displayed above the code block. */\n 'title': null,\n\n /** Enables or disables smart tabs. */\n 'smart-tabs': true,\n\n /** Gets or sets tab size. */\n 'tab-size': 4,\n\n /** Enables or disables gutter. */\n 'gutter': true,\n\n /** Enables quick code copy and paste from double click. */\n 'quick-code': true,\n\n /** Forces code view to be collapsed. */\n 'collapse': false,\n\n /** Enables or disables automatic links. */\n 'auto-links': true,\n\n 'unindent': true,\n\n 'html-script': false\n};\n\n\n/** WEBPACK FOOTER **\n ** ./src/defaults.js\n **/","var applyRegexList = require('syntaxhighlighter-match').applyRegexList;\n\nfunction HtmlScript(BrushXML, brushClass)\n{\n var scriptBrush,\n xmlBrush = new BrushXML()\n ;\n\n if (brushClass == null)\n return;\n\n scriptBrush = new brushClass();\n\n if (scriptBrush.htmlScript == null)\n throw new Error('Brush wasn\\'t configured for html-script option: ' + brushClass.brushName);\n\n xmlBrush.regexList.push(\n { regex: scriptBrush.htmlScript.code, func: process }\n );\n\n this.regexList = xmlBrush.regexList;\n\n function offsetMatches(matches, offset)\n {\n for (var j = 0, l = matches.length; j < l; j++)\n matches[j].index += offset;\n }\n\n function process(match, info)\n {\n var code = match.code,\n results = [],\n regexList = scriptBrush.regexList,\n offset = match.index + match.left.length,\n htmlScript = scriptBrush.htmlScript,\n matches\n ;\n\n function add(matches)\n {\n results = results.concat(matches);\n }\n\n matches = applyRegexList(code, regexList);\n offsetMatches(matches, offset);\n add(matches);\n\n // add left script bracket\n if (htmlScript.left != null && match.left != null)\n {\n matches = applyRegexList(match.left, [htmlScript.left]);\n offsetMatches(matches, match.index);\n add(matches);\n }\n\n // add right script bracket\n if (htmlScript.right != null && match.right != null)\n {\n matches = applyRegexList(match.right, [htmlScript.right]);\n offsetMatches(matches, match.index + match[0].lastIndexOf(match.right));\n add(matches);\n }\n\n for (var j = 0, l = results.length; j < l; j++)\n results[j].brushName = brushClass.brushName;\n\n return results;\n }\n};\n\nmodule.exports = HtmlScript;\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/html_script.js\n **/","// shim for using process in browser\n\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\n(function () {\n try {\n cachedSetTimeout = setTimeout;\n } catch (e) {\n cachedSetTimeout = function () {\n throw new Error('setTimeout is not defined');\n }\n }\n try {\n cachedClearTimeout = clearTimeout;\n } catch (e) {\n cachedClearTimeout = function () {\n throw new Error('clearTimeout is not defined');\n }\n }\n} ())\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = cachedSetTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n cachedClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n cachedSetTimeout(drainQueue, 0);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n/** WEBPACK FOOTER **\n ** (webpack)/~/node-libs-browser/~/process/browser.js\n **/","import Renderer from 'syntaxhighlighter-html-renderer';\nimport { XRegExp } from 'syntaxhighlighter-regex';\nimport { applyRegexList } from 'syntaxhighlighter-match';\n\nmodule.exports = class BrushBase {\n /**\n * Converts space separated list of keywords into a regular expression string.\n * @param {String} str Space separated keywords.\n * @return {String} Returns regular expression string.\n */\n getKeywords(str)\n {\n const results = str\n .replace(/^\\s+|\\s+$/g, '')\n .replace(/\\s+/g, '|')\n ;\n\n return `\\\\b(?:${results})\\\\b`;\n }\n\n /**\n * Makes a brush compatible with the `html-script` functionality.\n * @param {Object} regexGroup Object containing `left` and `right` regular expressions.\n */\n forHtmlScript(regexGroup)\n {\n const regex = { 'end': regexGroup.right.source };\n\n if (regexGroup.eof) {\n regex.end = `(?:(?:${regex.end})|$)`;\n }\n\n this.htmlScript = {\n left: { regex: regexGroup.left, css: 'script' },\n right: { regex: regexGroup.right, css: 'script' },\n code: XRegExp(\n \"(?<left>\" + regexGroup.left.source + \")\" +\n \"(?<code>.*?)\" +\n \"(?<right>\" + regex.end + \")\",\n \"sgi\"\n )\n };\n }\n\n getHtml(code, params = {}) {\n const matches = applyRegexList(code, this.regexList);\n const renderer = new Renderer(code, matches, params);\n return renderer.getHtml();\n }\n};\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-base/brush-base.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // AppleScript brush by David Chambers\n // http://davidchambersdesign.com/\n var keywords = 'after before beginning continue copy each end every from return get global in local named of set some that the then times to where whose with without';\n var ordinals = 'first second third fourth fifth sixth seventh eighth ninth tenth last front back middle';\n var specials = 'activate add alias ask attachment boolean class constant delete duplicate empty exists id integer list make message modal modified new no pi properties quit real record remove rest result reveal reverse run running save string word yes';\n\n this.regexList = [\n\n {\n regex: /(--|#).*$/gm,\n css: 'comments'\n },\n\n {\n regex: /\\(\\*(?:[\\s\\S]*?\\(\\*[\\s\\S]*?\\*\\))*[\\s\\S]*?\\*\\)/gm, // support nested comments\n css: 'comments'\n },\n\n {\n regex: /\"[\\s\\S]*?\"/gm,\n css: 'string'\n },\n\n {\n regex: /(?:,|:|¬|'s\\b|\\(|\\)|\\{|\\}|«|\\b\\w*»)/g, // operators\n css: 'color1'\n },\n\n {\n regex: /(-)?(\\d)+(\\.(\\d)?)?(E\\+(\\d)+)?/g, // numbers\n css: 'color1'\n },\n\n {\n regex: /(?:&(amp;|gt;|lt;)?|=|� |>|<|≥|>=|≤|<=|\\*|\\+|-|\\/|÷|\\^)/g,\n css: 'color2'\n },\n\n {\n regex: /\\b(?:and|as|div|mod|not|or|return(?!\\s&)(ing)?|equals|(is(n't| not)? )?equal( to)?|does(n't| not) equal|(is(n't| not)? )?(greater|less) than( or equal( to)?)?|(comes|does(n't| not) come) (after|before)|is(n't| not)?( in)? (back|front) of|is(n't| not)? behind|is(n't| not)?( (in|contained by))?|does(n't| not) contain|contain(s)?|(start|begin|end)(s)? with|((but|end) )?(consider|ignor)ing|prop(erty)?|(a )?ref(erence)?( to)?|repeat (until|while|with)|((end|exit) )?repeat|((else|end) )?if|else|(end )?(script|tell|try)|(on )?error|(put )?into|(of )?(it|me)|its|my|with (timeout( of)?|transaction)|end (timeout|transaction))\\b/g,\n css: 'keyword'\n },\n\n {\n regex: /\\b\\d+(st|nd|rd|th)\\b/g, // ordinals\n css: 'keyword'\n },\n\n {\n regex: /\\b(?:about|above|against|around|at|below|beneath|beside|between|by|(apart|aside) from|(instead|out) of|into|on(to)?|over|since|thr(ough|u)|under)\\b/g,\n css: 'color3'\n },\n\n {\n regex: /\\b(?:adding folder items to|after receiving|clipboard info|set the clipboard to|(the )?clipboard|entire contents|document( (edited|file|nib name))?|file( (name|type))?|(info )?for|giving up after|(name )?extension|return(ed)?|second(?! item)(s)?|list (disks|folder)|(Unicode )?text|(disk )?item(s)?|((current|list) )?view|((container|key) )?window|case|diacriticals|hyphens|numeric strings|punctuation|white space|folder creation|application(s( folder)?| (processes|scripts position|support))?|((desktop )?(pictures )?|(documents|downloads|favorites|home|keychain|library|movies|music|public|scripts|sites|system|users|utilities|workflows) )folder|desktop|Folder Action scripts|font(s| panel)?|help|internet plugins|modem scripts|(system )?preferences|printer descriptions|scripting (additions|components)|shared (documents|libraries)|startup (disk|items)|temporary items|trash|on server|in AppleTalk zone|((as|long|short) )?user name|user (ID|locale)|(with )?password|in (bundle( with identifier)?|directory)|(close|open for) access|read|write( permission)?|(g|s)et eof|starting at|hidden( answer)?|open(ed| (location|untitled))?|error (handling|reporting)|administrator privileges|altering line endings|get volume settings|(alert|boot|input|mount|output|set) volume|output muted|(fax|random )?number|round(ing)?|up|down|toward zero|to nearest|as taught in school|system (attribute|info)|((AppleScript( Studio)?|system) )?version|(home )?directory|(IPv4|primary Ethernet) address|CPU (type|speed)|physical memory|time (stamp|to GMT)|replacing|ASCII (character|number)|localized string|from table|offset|summarize|beep|delay|say|(empty|multiple) selections allowed|(of|preferred) type|invisibles|showing( package contents)?|editable URL|(File|FTP|News|Media|Web) [Ss]ervers|Telnet hosts|Directory services|Remote applications|waiting until completion|saving( (in|to))?|path (for|to( (((current|frontmost) )?application|resource))?)|(background|RGB) color|(OK|cancel) button name|cancel button|button(s)?|cubic ((centi)?met(re|er)s|yards|feet|inches)|square ((kilo)?met(re|er)s|miles|yards|feet)|(centi|kilo)?met(re|er)s|miles|yards|feet|inches|lit(re|er)s|gallons|quarts|(kilo)?grams|ounces|pounds|degrees (Celsius|Fahrenheit|Kelvin)|print( (dialog|settings))?|clos(e(able)?|ing)|(de)?miniaturized|miniaturizable|zoom(ed|able)|attribute run|action (method|property|title)|phone|email|((start|end)ing|home) page|((birth|creation|current|custom|modification) )?date|((((phonetic )?(first|last|middle))|computer|host|maiden|related) |nick)?name|aim|icq|jabber|msn|yahoo|address(es)?|save addressbook|should enable action|city|country( code)?|formatte(r|d address)|(palette )?label|state|street|zip|AIM [Hh]andle(s)?|my card|select(ion| all)?|unsaved|(alpha )?value|entr(y|ies)|(ICQ|Jabber|MSN) handle|person|people|company|department|icon image|job title|note|organization|suffix|vcard|url|copies|collating|pages (across|down)|request print time|target( printer)?|((GUI Scripting|Script menu) )?enabled|show Computer scripts|(de)?activated|awake from nib|became (key|main)|call method|of (class|object)|center|clicked toolbar item|closed|for document|exposed|(can )?hide|idle|keyboard (down|up)|event( (number|type))?|launch(ed)?|load (image|movie|nib|sound)|owner|log|mouse (down|dragged|entered|exited|moved|up)|move|column|localization|resource|script|register|drag (info|types)|resigned (active|key|main)|resiz(e(d)?|able)|right mouse (down|dragged|up)|scroll wheel|(at )?index|should (close|open( untitled)?|quit( after last window closed)?|zoom)|((proposed|screen) )?bounds|show(n)?|behind|in front of|size (mode|to fit)|update(d| toolbar item)?|was (hidden|miniaturized)|will (become active|close|finish launching|hide|miniaturize|move|open|quit|(resign )?active|((maximum|minimum|proposed) )?size|show|zoom)|bundle|data source|movie|pasteboard|sound|tool(bar| tip)|(color|open|save) panel|coordinate system|frontmost|main( (bundle|menu|window))?|((services|(excluded from )?windows) )?menu|((executable|frameworks|resource|scripts|shared (frameworks|support)) )?path|(selected item )?identifier|data|content(s| view)?|character(s)?|click count|(command|control|option|shift) key down|context|delta (x|y|z)|key( code)?|location|pressure|unmodified characters|types|(first )?responder|playing|(allowed|selectable) identifiers|allows customization|(auto saves )?configuration|visible|image( name)?|menu form representation|tag|user(-| )defaults|associated file name|(auto|needs) display|current field editor|floating|has (resize indicator|shadow)|hides when deactivated|level|minimized (image|title)|opaque|position|release when closed|sheet|title(d)?)\\b/g,\n css: 'color4'\n },\n\n {\n regex: /\\b(?:tracks|paragraph|text item(s)?)\\b/g,\n css: 'classes'\n },\n\n {\n regex: /\\b(?:AppleScript|album|video kind|grouping|length|text item delimiters|quoted form|POSIX path(?= of))\\b/g,\n css: 'properties'\n },\n\n {\n regex: /\\b(?:run|exists|count)\\b/g,\n css: 'commandNames'\n },\n\n {\n regex: /\\b(?:POSIX (file|path))\\b/g,\n css: 'additionClasses'\n },\n\n {\n regex: /\\b(?:message|with (data|icon( (caution|note|stop))?|parameter(s)?|prompt|properties|seed|title)|regexp|string result|using( delimiters)?|default (answer|button|color|country code|entr(y|ies)|identifiers|items|name|location|script editor))\\b/g,\n css: 'additionParameterNames'\n },\n\n {\n regex: /\\b(?:display(ing| (alert|dialog|mode))?|choose( ((remote )?application|color|folder|from list|URL))?|(do( shell)?|load|run|store) script|re_compile|find text)\\b/g,\n css: 'additionCommandNames'\n },\n\n {\n regex: /\\b(?:xxx)\\b/g,\n css: 'parameterNames'\n },\n\n {\n regex: /\\b(?:true|false|none)\\b/g,\n css: 'enumeratedValues'\n },\n\n\n {\n regex: new RegExp(this.getKeywords(specials), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(ordinals), 'gm'),\n css: 'keyword'\n }\n ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['applescript'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-applescript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Created by Peter Atoria @ http://iAtoria.com\n\n var inits = 'class interface function package';\n\n var keywords = '-Infinity ...rest Array as AS3 Boolean break case catch const continue Date decodeURI ' +\n 'decodeURIComponent default delete do dynamic each else encodeURI encodeURIComponent escape ' +\n 'extends false final finally flash_proxy for get if implements import in include Infinity ' +\n 'instanceof int internal is isFinite isNaN isXMLName label namespace NaN native new null ' +\n 'Null Number Object object_proxy override parseFloat parseInt private protected public ' +\n 'return set static String super switch this throw true try typeof uint undefined unescape ' +\n 'use void while with';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(inits), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('var', 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp('trace', 'gm'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['actionscript3', 'as3'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-as3/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n function hereDocProcess(match, regexInfo) {\n var result = [];\n\n if (match.here_doc != null)\n result.push(new Match(match.here_doc, match.index + match[0].indexOf(match.here_doc), 'string'));\n\n if (match.full_tag != null)\n result.push(new Match(match.full_tag, match.index, 'preprocessor'));\n\n if (match.end_tag != null)\n result.push(new Match(match.end_tag, match.index + match[0].lastIndexOf(match.end_tag), 'preprocessor'));\n\n return result;\n }\n\n var keywords = 'if fi then elif else for do done until while break continue case esac function return in eq ne ge le';\n var commands = 'alias apropos awk basename base64 bash bc bg builtin bunzip2 bzcat bzip2 bzip2recover cal cat cd cfdisk chgrp chmod chown chroot' +\n 'cksum clear cmp comm command cp cron crontab crypt csplit cut date dc dd ddrescue declare df ' +\n 'diff diff3 dig dir dircolors dirname dirs du echo egrep eject enable env ethtool eval ' +\n 'exec exit expand export expr false fdformat fdisk fg fgrep file find fmt fold format ' +\n 'free fsck ftp gawk gcc gdb getconf getopts grep groups gunzip gzcat gzip hash head history hostname id ifconfig ' +\n 'import install join kill less let ln local locate logname logout look lpc lpr lprint ' +\n 'lprintd lprintq lprm ls lsof make man mkdir mkfifo mkisofs mknod more mount mtools ' +\n 'mv nasm nc ndisasm netstat nice nl nohup nslookup objdump od open op passwd paste pathchk ping popd pr printcap ' +\n 'printenv printf ps pushd pwd quota quotacheck quotactl ram rcp read readonly renice ' +\n 'remsync rm rmdir rsync screen scp sdiff sed select seq set sftp shift shopt shutdown ' +\n 'sleep sort source split ssh strace strings su sudo sum symlink sync tail tar tee test time ' +\n 'times touch top traceroute trap tr true tsort tty type ulimit umask umount unalias ' +\n 'uname unexpand uniq units unset unshar useradd usermod users uuencode uudecode v vdir ' +\n 'vi watch wc whereis which who whoami Wget xargs xxd yes chsh zcat';\n\n this.regexList = [\n {\n regex: /^#!.*$/gm,\n css: 'preprocessor bold'\n },\n {\n regex: /\\/[\\w-\\/]+/gm,\n css: 'plain'\n },\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(commands), 'gm'),\n css: 'functions'\n },\n {\n regex: new XRegExp(\"(?<full_tag>(<|<){2}(?<tag>\\\\w+)) .*$(?<here_doc>[\\\\s\\\\S]*)(?<end_tag>^\\\\k<tag>$)\", 'gm'),\n func: hereDocProcess\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['bash', 'shell', 'sh'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-bash/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Jen\n // http://www.jensbits.com/2009/05/14/coldfusion-brush-for-syntaxhighlighter-plus\n\n var funcs = 'Abs ACos AddSOAPRequestHeader AddSOAPResponseHeader AjaxLink AjaxOnLoad ArrayAppend ArrayAvg ArrayClear ArrayDeleteAt ' +\n 'ArrayInsertAt ArrayIsDefined ArrayIsEmpty ArrayLen ArrayMax ArrayMin ArraySet ArraySort ArraySum ArraySwap ArrayToList ' +\n 'Asc ASin Atn BinaryDecode BinaryEncode BitAnd BitMaskClear BitMaskRead BitMaskSet BitNot BitOr BitSHLN BitSHRN BitXor ' +\n 'Ceiling CharsetDecode CharsetEncode Chr CJustify Compare CompareNoCase Cos CreateDate CreateDateTime CreateObject ' +\n 'CreateODBCDate CreateODBCDateTime CreateODBCTime CreateTime CreateTimeSpan CreateUUID DateAdd DateCompare DateConvert ' +\n 'DateDiff DateFormat DatePart Day DayOfWeek DayOfWeekAsString DayOfYear DaysInMonth DaysInYear DE DecimalFormat DecrementValue ' +\n 'Decrypt DecryptBinary DeleteClientVariable DeserializeJSON DirectoryExists DollarFormat DotNetToCFType Duplicate Encrypt ' +\n 'EncryptBinary Evaluate Exp ExpandPath FileClose FileCopy FileDelete FileExists FileIsEOF FileMove FileOpen FileRead ' +\n 'FileReadBinary FileReadLine FileSetAccessMode FileSetAttribute FileSetLastModified FileWrite Find FindNoCase FindOneOf ' +\n 'FirstDayOfMonth Fix FormatBaseN GenerateSecretKey GetAuthUser GetBaseTagData GetBaseTagList GetBaseTemplatePath ' +\n 'GetClientVariablesList GetComponentMetaData GetContextRoot GetCurrentTemplatePath GetDirectoryFromPath GetEncoding ' +\n 'GetException GetFileFromPath GetFileInfo GetFunctionList GetGatewayHelper GetHttpRequestData GetHttpTimeString ' +\n 'GetK2ServerDocCount GetK2ServerDocCountLimit GetLocale GetLocaleDisplayName GetLocalHostIP GetMetaData GetMetricData ' +\n 'GetPageContext GetPrinterInfo GetProfileSections GetProfileString GetReadableImageFormats GetSOAPRequest GetSOAPRequestHeader ' +\n 'GetSOAPResponse GetSOAPResponseHeader GetTempDirectory GetTempFile GetTemplatePath GetTickCount GetTimeZoneInfo GetToken ' +\n 'GetUserRoles GetWriteableImageFormats Hash Hour HTMLCodeFormat HTMLEditFormat IIf ImageAddBorder ImageBlur ImageClearRect ' +\n 'ImageCopy ImageCrop ImageDrawArc ImageDrawBeveledRect ImageDrawCubicCurve ImageDrawLine ImageDrawLines ImageDrawOval ' +\n 'ImageDrawPoint ImageDrawQuadraticCurve ImageDrawRect ImageDrawRoundRect ImageDrawText ImageFlip ImageGetBlob ImageGetBufferedImage ' +\n 'ImageGetEXIFTag ImageGetHeight ImageGetIPTCTag ImageGetWidth ImageGrayscale ImageInfo ImageNegative ImageNew ImageOverlay ImagePaste ' +\n 'ImageRead ImageReadBase64 ImageResize ImageRotate ImageRotateDrawingAxis ImageScaleToFit ImageSetAntialiasing ImageSetBackgroundColor ' +\n 'ImageSetDrawingColor ImageSetDrawingStroke ImageSetDrawingTransparency ImageSharpen ImageShear ImageShearDrawingAxis ImageTranslate ' +\n 'ImageTranslateDrawingAxis ImageWrite ImageWriteBase64 ImageXORDrawingMode IncrementValue InputBaseN Insert Int IsArray IsBinary ' +\n 'IsBoolean IsCustomFunction IsDate IsDDX IsDebugMode IsDefined IsImage IsImageFile IsInstanceOf IsJSON IsLeapYear IsLocalHost ' +\n 'IsNumeric IsNumericDate IsObject IsPDFFile IsPDFObject IsQuery IsSimpleValue IsSOAPRequest IsStruct IsUserInAnyRole IsUserInRole ' +\n 'IsUserLoggedIn IsValid IsWDDX IsXML IsXmlAttribute IsXmlDoc IsXmlElem IsXmlNode IsXmlRoot JavaCast JSStringFormat LCase Left Len ' +\n 'ListAppend ListChangeDelims ListContains ListContainsNoCase ListDeleteAt ListFind ListFindNoCase ListFirst ListGetAt ListInsertAt ' +\n 'ListLast ListLen ListPrepend ListQualify ListRest ListSetAt ListSort ListToArray ListValueCount ListValueCountNoCase LJustify Log ' +\n 'Log10 LSCurrencyFormat LSDateFormat LSEuroCurrencyFormat LSIsCurrency LSIsDate LSIsNumeric LSNumberFormat LSParseCurrency LSParseDateTime ' +\n 'LSParseEuroCurrency LSParseNumber LSTimeFormat LTrim Max Mid Min Minute Month MonthAsString Now NumberFormat ParagraphFormat ParseDateTime ' +\n 'Pi PrecisionEvaluate PreserveSingleQuotes Quarter QueryAddColumn QueryAddRow QueryConvertForGrid QueryNew QuerySetCell QuotedValueList Rand ' +\n 'Randomize RandRange REFind REFindNoCase ReleaseComObject REMatch REMatchNoCase RemoveChars RepeatString Replace ReplaceList ReplaceNoCase ' +\n 'REReplace REReplaceNoCase Reverse Right RJustify Round RTrim Second SendGatewayMessage SerializeJSON SetEncoding SetLocale SetProfileString ' +\n 'SetVariable Sgn Sin Sleep SpanExcluding SpanIncluding Sqr StripCR StructAppend StructClear StructCopy StructCount StructDelete StructFind ' +\n 'StructFindKey StructFindValue StructGet StructInsert StructIsEmpty StructKeyArray StructKeyExists StructKeyList StructKeyList StructNew ' +\n 'StructSort StructUpdate Tan TimeFormat ToBase64 ToBinary ToScript ToString Trim UCase URLDecode URLEncodedFormat URLSessionFormat Val ' +\n 'ValueList VerifyClient Week Wrap Wrap WriteOutput XmlChildPos XmlElemNew XmlFormat XmlGetNodeType XmlNew XmlParse XmlSearch XmlTransform ' +\n 'XmlValidate Year YesNoFormat';\n\n var keywords = 'cfabort cfajaximport cfajaxproxy cfapplet cfapplication cfargument cfassociate cfbreak cfcache cfcalendar ' +\n 'cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection cfcomponent cfcontent cfcookie cfdbinfo ' +\n 'cfdefaultcase cfdirectory cfdiv cfdocument cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror ' +\n 'cfexchangecalendar cfexchangeconnection cfexchangecontact cfexchangefilter cfexchangemail cfexchangetask ' +\n 'cfexecute cfexit cffeed cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid cfgridcolumn ' +\n 'cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif cfimage cfimport cfinclude cfindex ' +\n 'cfinput cfinsert cfinterface cfinvoke cfinvokeargument cflayout cflayoutarea cfldap cflocation cflock cflog ' +\n 'cflogin cfloginuser cflogout cfloop cfmail cfmailparam cfmailpart cfmenu cfmenuitem cfmodule cfNTauthenticate ' +\n 'cfobject cfobjectcache cfoutput cfparam cfpdf cfpdfform cfpdfformparam cfpdfparam cfpdfsubform cfpod cfpop ' +\n 'cfpresentation cfpresentationslide cfpresenter cfprint cfprocessingdirective cfprocparam cfprocresult ' +\n 'cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow cfreturn cfsavecontent cfschedule ' +\n 'cfscript cfsearch cfselect cfset cfsetting cfsilent cfslider cfsprydataset cfstoredproc cfswitch cftable ' +\n 'cftextarea cfthread cfthrow cftimer cftooltip cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx ' +\n 'cfwindow cfxml cfzip cfzipparam';\n\n var operators = 'all and any between cross in join like not null or outer some';\n\n this.regexList = [\n {\n regex: new RegExp('--(.*)$', 'gm'),\n css: 'comments'\n },\n {\n regex: regexLib.xmlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(operators), 'gmi'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['coldfusion', 'cf'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-coldfusion/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Copyright 2006 Shin, YoungJin\n\n var datatypes = 'ATOM BOOL BOOLEAN BYTE CHAR COLORREF DWORD DWORDLONG DWORD_PTR ' +\n 'DWORD32 DWORD64 FLOAT HACCEL HALF_PTR HANDLE HBITMAP HBRUSH ' +\n 'HCOLORSPACE HCONV HCONVLIST HCURSOR HDC HDDEDATA HDESK HDROP HDWP ' +\n 'HENHMETAFILE HFILE HFONT HGDIOBJ HGLOBAL HHOOK HICON HINSTANCE HKEY ' +\n 'HKL HLOCAL HMENU HMETAFILE HMODULE HMONITOR HPALETTE HPEN HRESULT ' +\n 'HRGN HRSRC HSZ HWINSTA HWND INT INT_PTR INT32 INT64 LANGID LCID LCTYPE ' +\n 'LGRPID LONG LONGLONG LONG_PTR LONG32 LONG64 LPARAM LPBOOL LPBYTE LPCOLORREF ' +\n 'LPCSTR LPCTSTR LPCVOID LPCWSTR LPDWORD LPHANDLE LPINT LPLONG LPSTR LPTSTR ' +\n 'LPVOID LPWORD LPWSTR LRESULT PBOOL PBOOLEAN PBYTE PCHAR PCSTR PCTSTR PCWSTR ' +\n 'PDWORDLONG PDWORD_PTR PDWORD32 PDWORD64 PFLOAT PHALF_PTR PHANDLE PHKEY PINT ' +\n 'PINT_PTR PINT32 PINT64 PLCID PLONG PLONGLONG PLONG_PTR PLONG32 PLONG64 POINTER_32 ' +\n 'POINTER_64 PSHORT PSIZE_T PSSIZE_T PSTR PTBYTE PTCHAR PTSTR PUCHAR PUHALF_PTR ' +\n 'PUINT PUINT_PTR PUINT32 PUINT64 PULONG PULONGLONG PULONG_PTR PULONG32 PULONG64 ' +\n 'PUSHORT PVOID PWCHAR PWORD PWSTR SC_HANDLE SC_LOCK SERVICE_STATUS_HANDLE SHORT ' +\n 'SIZE_T SSIZE_T TBYTE TCHAR UCHAR UHALF_PTR UINT UINT_PTR UINT32 UINT64 ULONG ' +\n 'ULONGLONG ULONG_PTR ULONG32 ULONG64 USHORT USN VOID WCHAR WORD WPARAM WPARAM WPARAM ' +\n 'char char16_t char32_t bool short int __int32 __int64 __int8 __int16 long float double __wchar_t ' +\n 'clock_t _complex _dev_t _diskfree_t div_t ldiv_t _exception _EXCEPTION_POINTERS ' +\n 'FILE _finddata_t _finddatai64_t _wfinddata_t _wfinddatai64_t __finddata64_t ' +\n '__wfinddata64_t _FPIEEE_RECORD fpos_t _HEAPINFO _HFILE lconv intptr_t ' +\n 'jmp_buf mbstate_t _off_t _onexit_t _PNH ptrdiff_t _purecall_handler ' +\n 'sig_atomic_t size_t _stat __stat64 _stati64 terminate_function ' +\n 'time_t __time64_t _timeb __timeb64 tm uintptr_t _utimbuf ' +\n 'va_list wchar_t wctrans_t wctype_t wint_t signed';\n\n var keywords = 'alignas alignof auto break case catch class const constexpr decltype __finally __exception __try ' +\n 'const_cast continue private public protected __declspec ' +\n 'default delete deprecated dllexport dllimport do dynamic_cast ' +\n 'else enum explicit extern if for friend goto inline ' +\n 'mutable naked namespace new noinline noreturn nothrow noexcept nullptr ' +\n 'register reinterpret_cast return selectany ' +\n 'sizeof static static_cast static_assert struct switch template this ' +\n 'thread thread_local throw true false try typedef typeid typename union ' +\n 'using uuid virtual void volatile whcar_t while';\n\n var functions = 'assert isalnum isalpha iscntrl isdigit isgraph islower isprint ' +\n 'ispunct isspace isupper isxdigit tolower toupper errno localeconv ' +\n 'setlocale acos asin atan atan2 ceil cos cosh exp fabs floor fmod ' +\n 'frexp ldexp log log10 modf pow sin sinh sqrt tan tanh jmp_buf ' +\n 'longjmp setjmp raise signal sig_atomic_t va_arg va_end va_start ' +\n 'clearerr fclose feof ferror fflush fgetc fgetpos fgets fopen ' +\n 'fprintf fputc fputs fread freopen fscanf fseek fsetpos ftell ' +\n 'fwrite getc getchar gets perror printf putc putchar puts remove ' +\n 'rename rewind scanf setbuf setvbuf sprintf sscanf tmpfile tmpnam ' +\n 'ungetc vfprintf vprintf vsprintf abort abs atexit atof atoi atol ' +\n 'bsearch calloc div exit free getenv labs ldiv malloc mblen mbstowcs ' +\n 'mbtowc qsort rand realloc srand strtod strtol strtoul system ' +\n 'wcstombs wctomb memchr memcmp memcpy memmove memset strcat strchr ' +\n 'strcmp strcoll strcpy strcspn strerror strlen strncat strncmp ' +\n 'strncpy strpbrk strrchr strspn strstr strtok strxfrm asctime ' +\n 'clock ctime difftime gmtime localtime mktime strftime time';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /^ *#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n css: 'color1 bold'\n },\n {\n regex: new RegExp(this.getKeywords(functions), 'gm'),\n css: 'functions bold'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword bold'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['cpp', 'cc', 'c++', 'c', 'h', 'hpp', 'h++'];\nmodule.exports = Brush;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-cpp/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n var keywords = 'abstract as base bool break byte case catch char checked class const ' +\n 'continue decimal default delegate do double else enum event explicit volatile ' +\n 'extern false finally fixed float for foreach get goto if implicit in int ' +\n 'interface internal is lock long namespace new null object operator out ' +\n 'override params private protected public readonly ref return sbyte sealed set ' +\n 'short sizeof stackalloc static string struct switch this throw true try ' +\n 'typeof uint ulong unchecked unsafe ushort using virtual void while var ' +\n 'from group by into select let where orderby join on equals ascending descending';\n\n function fixComments(match, regexInfo) {\n var css = (match[0].indexOf(\"///\") == 0) ? 'color1' : 'comments';\n return [new Match(match[0], match.index, css)];\n }\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n func: fixComments\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: /@\"(?:[^\"]|\"\")*\"/g,\n css: 'string'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /^\\s*#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: /\\bpartial(?=\\s+(?:class|interface|struct)\\b)/g,\n css: 'keyword'\n },\n {\n regex: /\\byield(?=\\s+(?:return|break)\\b)/g,\n css: 'keyword'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['c#', 'c-sharp', 'csharp'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-csharp/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n function getKeywordsCSS(str) {\n return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n };\n\n function getValuesCSS(str) {\n return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n };\n\n var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index';\n\n var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero default digits disc dotted double ' +\n 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n this.regexList = [\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\#[a-fA-F0-9]{3,6}/g,\n css: 'value'\n },\n {\n regex: /(-?\\d+)(\\.\\d+)?(px|em|pt|\\:|\\%|)/g,\n css: 'value'\n },\n {\n regex: /!important/g,\n css: 'color3'\n },\n {\n regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getValuesCSS(values), 'g'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(fonts), 'g'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript({\n left: /(<|<)\\s*style.*?(>|>)/gi,\n right: /(<|<)\\/\\s*style\\s*(>|>)/gi\n });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['css'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-css/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'abs addr and ansichar ansistring array as asm begin boolean byte cardinal ' +\n 'case char class comp const constructor currency destructor div do double ' +\n 'downto else end except exports extended false file finalization finally ' +\n 'for function goto if implementation in inherited int64 initialization ' +\n 'integer interface is label library longint longword mod nil not object ' +\n 'of on or packed pansichar pansistring pchar pcurrency pdatetime pextended ' +\n 'pint64 pointer private procedure program property pshortstring pstring ' +\n 'pvariant pwidechar pwidestring protected public published raise real real48 ' +\n 'record repeat set shl shortint shortstring shr single smallint string then ' +\n 'threadvar to true try type unit until uses val var varirnt while widechar ' +\n 'widestring with word write writeln xor';\n\n this.regexList = [\n {\n regex: /\\(\\*[\\s\\S]*?\\*\\)/gm,\n css: 'comments'\n },\n {\n regex: /{(?!\\$)[\\s\\S]*?}/gm,\n css: 'comments'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\{\\$[a-zA-Z]+ .+\\}/g,\n css: 'color1'\n },\n {\n regex: /\\b[\\d\\.]+\\b/g,\n css: 'value'\n },\n {\n regex: /\\$[a-zA-Z0-9]+\\b/g,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['delphi', 'pascal', 'pas'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-delphi/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n this.regexList = [\n {\n regex: /^\\+\\+\\+ .*$/gm,\n css: 'color2'\n },\n {\n regex: /^\\-\\-\\- .*$/gm,\n css: 'color2'\n },\n {\n regex: /^\\s.*$/gm,\n css: 'color1'\n },\n {\n regex: /^@@.*@@.*$/gm,\n css: 'variable'\n },\n {\n regex: /^\\+.*$/gm,\n css: 'string'\n },\n {\n regex: /^\\-.*$/gm,\n css: 'color3'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['diff', 'patch'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-diff/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Jean-Lou Dupont\n // http://jldupont.blogspot.com/2009/06/erlang-syntax-highlighter.html\n\n // According to: http://erlang.org/doc/reference_manual/introduction.html#1.5\n var keywords = 'after and andalso band begin bnot bor bsl bsr bxor ' +\n 'case catch cond div end fun if let not of or orelse ' +\n 'query receive rem try when xor' +\n // additional\n ' module export import define';\n\n this.regexList = [\n {\n regex: new RegExp(\"[A-Z][A-Za-z0-9_]+\", 'g'),\n css: 'constants'\n },\n {\n regex: new RegExp(\"\\\\%.+\", 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp(\"\\\\?[A-Za-z0-9_]+\", 'g'),\n css: 'preprocessor'\n },\n {\n regex: new RegExp(\"[a-z0-9_]+:[a-z0-9_]+\", 'g'),\n css: 'functions'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['erl', 'erlang'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-erlang/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Andres Almiray\n // http://jroller.com/aalmiray/entry/nice_source_code_syntax_highlighter\n\n var keywords = 'as assert break case catch class continue def default do else extends finally ' +\n 'if in implements import instanceof interface new package property return switch ' +\n 'throw throws try while public protected private static';\n var types = 'void boolean byte char short int long float double';\n var constants = 'null';\n var methods = 'allProperties count get size ' +\n 'collect each eachProperty eachPropertyName eachWithIndex find findAll ' +\n 'findIndexOf grep inject max min reverseEach sort ' +\n 'asImmutable asSynchronized flatten intersect join pop reverse subMap toList ' +\n 'padRight padLeft contains eachMatch toCharacter toLong toUrl tokenize ' +\n 'eachFile eachFileRecurse eachB yte eachLine readBytes readLine getText ' +\n 'splitEachLine withReader append encodeBase64 decodeBase64 filterLine ' +\n 'transformChar transformLine withOutputStream withPrintWriter withStream ' +\n 'withStreams withWriter withWriterAppend write writeLine ' +\n 'dump inspect invokeMethod print println step times upto use waitForOrKill ' +\n 'getText';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\"\"\".*\"\"\"/g,\n css: 'string'\n },\n {\n regex: new RegExp('\\\\b([\\\\d]+(\\\\.[\\\\d]+)?|0x[a-f0-9]+)\\\\b', 'gi'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(types), 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(constants), 'gm'),\n css: 'constants'\n },\n {\n regex: new RegExp(this.getKeywords(methods), 'gm'),\n css: 'functions'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['groovy'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-groovy/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n\n var inits = 'class interface package macro enum typedef extends implements dynamic in for if while else do try switch case catch';\n\n var keywords = 'return break continue new throw cast using import function public private inline static untyped callback true false null Int Float String Void Std Bool Dynamic Array Vector';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(inits), 'gm'),\n css: 'color3'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('var', 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp('trace', 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp('#if', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#elseif', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#end', 'gm'),\n css: 'comments'\n },\n {\n regex: new RegExp('#error', 'gm'),\n css: 'comments'\n }\n\t];\n\n //standard compiler conditionals flags\n var flags = [\n\t\t\"debug\", \"error\", \"cpp\", \"js\", \"neko\", \"php\", \"flash\", \"flash8\", \"flash9\", \"flash10\", \"flash10\", \"mobile\", \"desktop\", \"web\", \"ios\", \"android\", \"iphone\"\n\t];\n\n //append the flags to the array with a ! operator\n var i;\n var length = flags.length;\n for (i = 0; i <= length - 1; i++) {\n this.regexList.push({\n regex: new RegExp(flags[i], 'gm'),\n css: 'comments'\n });\n this.regexList.push({\n regex: new RegExp('!' + flags[i], 'gm'),\n css: 'comments'\n });\n }\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\n;\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['haxe', 'hx'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-haxe/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'abstract assert boolean break byte case catch char class const ' +\n 'continue default do double else enum extends ' +\n 'false final finally float for goto if implements import ' +\n 'instanceof int interface long native new null ' +\n 'package private protected public return ' +\n 'short static strictfp super switch synchronized this throw throws true ' +\n 'transient try void volatile while';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n css: 'comments'\n },\n {\n regex: /\\/\\*(?!\\*\\/)\\*[\\s\\S]*?\\*\\//gm,\n css: 'preprocessor'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b([\\d]+(\\.[\\d]+)?f?|[\\d]+l?|0x[a-f0-9]+)\\b/gi,\n css: 'value'\n },\n {\n regex: /(?!\\@interface\\b)\\@[\\$\\w]+\\b/g,\n css: 'color1'\n },\n {\n regex: /\\@interface\\b/g,\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t\t];\n\n this.forHtmlScript({\n left: /(<|<)%[@!=]?/g,\n right: /%(>|>)/g\n });\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['java'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-java/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Patrick Webster\n // http://patrickwebster.blogspot.com/2009/04/javafx-brush-for-syntaxhighlighter.html\n var datatypes = 'Boolean Byte Character Double Duration ' + 'Float Integer Long Number Short String Void';\n\n var keywords = 'abstract after and as assert at before bind bound break catch class ' + 'continue def delete else exclusive extends false finally first for from ' + 'function if import in indexof init insert instanceof into inverse last ' + 'lazy mixin mod nativearray new not null on or override package postinit ' + 'protected public public-init public-read replace return reverse sizeof ' + 'step super then this throw true try tween typeof var where while with ' + 'attribute let private readonly static trigger';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: /(-?\\.?)(\\b(\\d*\\.?\\d+|\\d+\\.?\\d*)(e[+-]?\\d+)?|0x[a-f\\d]+)\\b\\.?/gi,\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(datatypes), 'gm'),\n css: 'variable'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['jfx', 'javafx'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-javafx/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'break case catch class continue ' +\n 'default delete do else enum export extends false ' +\n 'for from as function if implements import in instanceof ' +\n 'interface let new null package private protected ' +\n 'static return super switch ' +\n 'this throw true try typeof var while with yield';\n\n this.regexList = [\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: /\\s*#.*/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n ];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['js', 'jscript', 'javascript', 'json'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-javascript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by David Simmons-Duffin and Marty Kube\n\n var funcs =\n 'abs accept alarm atan2 bind binmode chdir chmod chomp chop chown chr ' +\n 'chroot close closedir connect cos crypt defined delete each endgrent ' +\n 'endhostent endnetent endprotoent endpwent endservent eof exec exists ' +\n 'exp fcntl fileno flock fork format formline getc getgrent getgrgid ' +\n 'getgrnam gethostbyaddr gethostbyname gethostent getlogin getnetbyaddr ' +\n 'getnetbyname getnetent getpeername getpgrp getppid getpriority ' +\n 'getprotobyname getprotobynumber getprotoent getpwent getpwnam getpwuid ' +\n 'getservbyname getservbyport getservent getsockname getsockopt glob ' +\n 'gmtime grep hex index int ioctl join keys kill lc lcfirst length link ' +\n 'listen localtime lock log lstat map mkdir msgctl msgget msgrcv msgsnd ' +\n 'oct open opendir ord pack pipe pop pos print printf prototype push ' +\n 'quotemeta rand read readdir readline readlink readpipe recv rename ' +\n 'reset reverse rewinddir rindex rmdir scalar seek seekdir select semctl ' +\n 'semget semop send setgrent sethostent setnetent setpgrp setpriority ' +\n 'setprotoent setpwent setservent setsockopt shift shmctl shmget shmread ' +\n 'shmwrite shutdown sin sleep socket socketpair sort splice split sprintf ' +\n 'sqrt srand stat study substr symlink syscall sysopen sysread sysseek ' +\n 'system syswrite tell telldir time times tr truncate uc ucfirst umask ' +\n 'undef unlink unpack unshift utime values vec wait waitpid warn write ' +\n // feature\n 'say';\n\n var keywords =\n 'bless caller continue dbmclose dbmopen die do dump else elsif eval exit ' +\n 'for foreach goto if import last local my next no our package redo ref ' +\n 'require return sub tie tied unless untie until use wantarray while ' +\n // feature\n 'given when default ' +\n // Try::Tiny\n 'try catch finally ' +\n // Moose\n 'has extends with before after around override augment';\n\n this.regexList = [\n {\n regex: /(<<|<<)((\\w+)|(['\"])(.+?)\\4)[\\s\\S]+?\\n\\3\\5\\n/g,\n css: 'string'\n },\n {\n regex: /#.*$/gm,\n css: 'comments'\n },\n {\n regex: /^#!.*\\n/g,\n css: 'preprocessor'\n },\n {\n regex: /-?\\w+(?=\\s*=(>|>))/g,\n css: 'string'\n },\n\n\t\t// is this too much?\n {\n regex: /\\bq[qwxr]?\\([\\s\\S]*?\\)/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?\\{[\\s\\S]*?\\}/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?\\[[\\s\\S]*?\\]/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?(<|<)[\\s\\S]*?(>|>)/g,\n css: 'string'\n },\n {\n regex: /\\bq[qwxr]?([^\\w({<[])[\\s\\S]*?\\1/g,\n css: 'string'\n },\n\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /(?:&|[$@%*]|\\$#)\\$?[a-zA-Z_](\\w+|::)*/g,\n css: 'variable'\n },\n {\n regex: /\\b__(?:END|DATA)__\\b[\\s\\S]*$/g,\n css: 'comments'\n },\n {\n regex: /(^|\\n)=\\w[\\s\\S]*?(\\n=cut\\s*(?=\\n)|$)/g,\n css: 'comments'\n },\n\n {\n regex: new RegExp(this.getKeywords(funcs), 'gm'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.phpScriptTags);\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['perl', 'Perl', 'pl'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-perl/brush.js\n **/","import BrushBase from 'brush-base';\nimport {commonRegExp} from 'syntaxhighlighter-regex';\n\nconst functions = 'abs acos acosh addcslashes addslashes ' +\n 'array_change_key_case array_chunk array_combine array_count_values array_diff ' +\n 'array_diff_assoc array_diff_key array_diff_uassoc array_diff_ukey array_fill ' +\n 'array_filter array_flip array_intersect array_intersect_assoc array_intersect_key ' +\n 'array_intersect_uassoc array_intersect_ukey array_key_exists array_keys array_map ' +\n 'array_merge array_merge_recursive array_multisort array_pad array_pop array_product ' +\n 'array_push array_rand array_reduce array_reverse array_search array_shift ' +\n 'array_slice array_splice array_sum array_udiff array_udiff_assoc ' +\n 'array_udiff_uassoc array_uintersect array_uintersect_assoc ' +\n 'array_uintersect_uassoc array_unique array_unshift array_values array_walk ' +\n 'array_walk_recursive atan atan2 atanh base64_decode base64_encode base_convert ' +\n 'basename bcadd bccomp bcdiv bcmod bcmul bindec bindtextdomain bzclose bzcompress ' +\n 'bzdecompress bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite ceil chdir ' +\n 'checkdate checkdnsrr chgrp chmod chop chown chr chroot chunk_split class_exists ' +\n 'closedir closelog copy cos cosh count count_chars date decbin dechex decoct ' +\n 'deg2rad delete ebcdic2ascii echo empty end ereg ereg_replace eregi eregi_replace error_log ' +\n 'error_reporting escapeshellarg escapeshellcmd eval exec exit exp explode extension_loaded ' +\n 'feof fflush fgetc fgetcsv fgets fgetss file_exists file_get_contents file_put_contents ' +\n 'fileatime filectime filegroup fileinode filemtime fileowner fileperms filesize filetype ' +\n 'floatval flock floor flush fmod fnmatch fopen fpassthru fprintf fputcsv fputs fread fscanf ' +\n 'fseek fsockopen fstat ftell ftok getallheaders getcwd getdate getenv gethostbyaddr gethostbyname ' +\n 'gethostbynamel getimagesize getlastmod getmxrr getmygid getmyinode getmypid getmyuid getopt ' +\n 'getprotobyname getprotobynumber getrandmax getrusage getservbyname getservbyport gettext ' +\n 'gettimeofday gettype glob gmdate gmmktime ini_alter ini_get ini_get_all ini_restore ini_set ' +\n 'interface_exists intval ip2long is_a is_array is_bool is_callable is_dir is_double ' +\n 'is_executable is_file is_finite is_float is_infinite is_int is_integer is_link is_long ' +\n 'is_nan is_null is_numeric is_object is_readable is_real is_resource is_scalar is_soap_fault ' +\n 'is_string is_subclass_of is_uploaded_file is_writable is_writeable mkdir mktime nl2br ' +\n 'parse_ini_file parse_str parse_url passthru pathinfo print readlink realpath rewind rewinddir rmdir ' +\n 'round str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split ' +\n 'str_word_count strcasecmp strchr strcmp strcoll strcspn strftime strip_tags stripcslashes ' +\n 'stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk ' +\n 'strpos strptime strrchr strrev strripos strrpos strspn strstr strtok strtolower strtotime ' +\n 'strtoupper strtr strval substr substr_compare';\n\nconst keywords = 'abstract and array as break case catch cfunction class clone const continue declare default die do ' +\n 'else elseif enddeclare endfor endforeach endif endswitch endwhile extends final finally for foreach ' +\n 'function global goto if implements include include_once interface instanceof insteadof namespace new ' +\n 'old_function or private protected public return require require_once static switch ' +\n 'trait throw try use const while xor yield ';\n\nconst constants = '__FILE__ __LINE__ __METHOD__ __FUNCTION__ __CLASS__';\n\nexport default class Brush extends BrushBase {\n static get aliases() {\n return ['php'];\n }\n\n constructor() {\n super();\n\n this.regexList = [\n {regex: commonRegExp.singleLineCComments, css: 'comments'},\n {regex: commonRegExp.multiLineCComments, css: 'comments'},\n {regex: commonRegExp.doubleQuotedString, css: 'string'},\n {regex: commonRegExp.singleQuotedString, css: 'string'},\n {regex: /\\$\\w+/g, css: 'variable'},\n {regex: new RegExp(this.getKeywords(functions), 'gmi'), css: 'functions'},\n {regex: new RegExp(this.getKeywords(constants), 'gmi'), css: 'constants'},\n {regex: new RegExp(this.getKeywords(keywords), 'gm'), css: 'keyword'}\n ];\n\n this.forHtmlScript(commonRegExp.phpScriptTags);\n }\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-php/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n this.regexList = [];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['text', 'plain'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-plain/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Joel 'Jaykul' Bennett, http://PoshCode.org | http://HuddledMasses.org\n var keywords = 'while validateset validaterange validatepattern validatelength validatecount ' +\n 'until trap switch return ref process param parameter in if global: ' +\n 'function foreach for finally filter end elseif else dynamicparam do default ' +\n 'continue cmdletbinding break begin alias \\\\? % #script #private #local #global ' +\n 'mandatory parametersetname position valuefrompipeline ' +\n 'valuefrompipelinebypropertyname valuefromremainingarguments helpmessage ';\n\n var operators = ' and as band bnot bor bxor casesensitive ccontains ceq cge cgt cle ' +\n 'clike clt cmatch cne cnotcontains cnotlike cnotmatch contains ' +\n 'creplace eq exact f file ge gt icontains ieq ige igt ile ilike ilt ' +\n 'imatch ine inotcontains inotlike inotmatch ireplace is isnot le like ' +\n 'lt match ne not notcontains notlike notmatch or regex replace wildcard';\n\n var verbs = 'write where wait use update unregister undo trace test tee take suspend ' +\n 'stop start split sort skip show set send select scroll resume restore ' +\n 'restart resolve resize reset rename remove register receive read push ' +\n 'pop ping out new move measure limit join invoke import group get format ' +\n 'foreach export expand exit enter enable disconnect disable debug cxnew ' +\n 'copy convertto convertfrom convert connect complete compare clear ' +\n 'checkpoint aggregate add';\n\n // I can't find a way to match the comment based help in multi-line comments, because SH won't highlight in highlights, and javascript doesn't support lookbehind\n var commenthelp = ' component description example externalhelp forwardhelpcategory forwardhelptargetname forwardhelptargetname functionality inputs link notes outputs parameter remotehelprunspace role synopsis';\n\n this.regexList = [\n {\n regex: new RegExp('^\\\\s*#[#\\\\s]*\\\\.(' + this.getKeywords(commenthelp) + ').*$', 'gim'),\n css: 'preprocessor help bold'\n },\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: /(<|<)#[\\s\\S]*?#(>|>)/gm,\n css: 'comments here'\n },\n\n {\n regex: new RegExp('@\"\\\\n[\\\\s\\\\S]*?\\\\n\"@', 'gm'),\n css: 'script string here'\n },\n {\n regex: new RegExp(\"@'\\\\n[\\\\s\\\\S]*?\\\\n'@\", 'gm'),\n css: 'script string single here'\n },\n {\n regex: new RegExp('\"(?:\\\\$\\\\([^\\\\)]*\\\\)|[^\"]|`\"|\"\")*[^`]\"', 'g'),\n css: 'string'\n },\n {\n regex: new RegExp(\"'(?:[^']|'')*'\", 'g'),\n css: 'string single'\n },\n\n {\n regex: new RegExp('[\\\\$|@|@@](?:(?:global|script|private|env):)?[A-Z0-9_]+', 'gi'),\n css: 'variable'\n },\n {\n regex: new RegExp('(?:\\\\b' + verbs.replace(/ /g, '\\\\b|\\\\b') + ')-[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n },\n {\n regex: new RegExp('-' + this.getKeywords(operators), 'gmi'),\n css: 'operator value'\n },\n {\n regex: new RegExp('\\\\[[A-Z_\\\\[][A-Z0-9_. `,\\\\[\\\\]]*\\\\]', 'gi'),\n css: 'constants'\n },\n {\n regex: new RegExp('\\\\s+-(?!' + this.getKeywords(operators) + ')[a-zA-Z_][a-zA-Z0-9_]*', 'gmi'),\n css: 'color1'\n },\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['powershell', 'ps', 'posh'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-powershell/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Gheorghe Milas and Ahmad Sherif\n\n var keywords = 'and assert break class continue def del elif else ' +\n 'except exec finally for from global if import in is ' +\n 'lambda not or pass raise return try yield while';\n\n var funcs = '__import__ abs all any apply basestring bin bool buffer callable ' +\n 'chr classmethod cmp coerce compile complex delattr dict dir ' +\n 'divmod enumerate eval execfile file filter float format frozenset ' +\n 'getattr globals hasattr hash help hex id input int intern ' +\n 'isinstance issubclass iter len list locals long map max min next ' +\n 'object oct open ord pow print property range raw_input reduce ' +\n 'reload repr reversed round set setattr slice sorted staticmethod ' +\n 'str sum super tuple type type unichr unicode vars xrange zip';\n\n var special = 'None True False self cls class_';\n\n this.regexList = [\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: /^\\s*@\\w+/gm,\n css: 'decorator'\n },\n {\n regex: /(['\\\"]{3})([^\\1])*?\\1/gm,\n css: 'comments'\n },\n {\n regex: /\"(?!\")(?:\\.|\\\\\\\"|[^\\\"\"\\n])*\"/gm,\n css: 'string'\n },\n {\n regex: /'(?!')(?:\\.|(\\\\\\')|[^\\''\\n])*'/gm,\n css: 'string'\n },\n {\n regex: /\\+|\\-|\\*|\\/|\\%|=|==/gm,\n css: 'keyword'\n },\n {\n regex: /\\b\\d+\\.?\\w*/g,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'functions'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(special), 'gm'),\n css: 'color1'\n }\n\t\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['py', 'python'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-python/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Erik Peterson.\n\n var keywords = 'alias and BEGIN begin break case class def define_method defined do each else elsif ' +\n 'END end ensure false for if in module new next nil not or raise redo rescue retry return ' +\n 'self super then throw true undef unless until when while yield';\n\n var builtins = 'Array Bignum Binding Class Continuation Dir Exception FalseClass File::Stat File Fixnum Fload ' +\n 'Hash Integer IO MatchData Method Module NilClass Numeric Object Proc Range Regexp String Struct::TMS Symbol ' +\n 'ThreadGroup Thread Time TrueClass';\n\n this.regexList = [\n {\n regex: regexLib.singleLinePerlComments,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\b[A-Z0-9_]+\\b/g,\n css: 'constants'\n },\n {\n regex: /:[a-z][A-Za-z0-9_]*/g,\n css: 'color2'\n },\n {\n regex: /(\\$|@@|@)\\w+/g,\n css: 'variable bold'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(this.getKeywords(builtins), 'gm'),\n css: 'color1'\n }\n\t\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ruby', 'rails', 'ror', 'rb'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-ruby/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n function getKeywordsCSS(str) {\n return '\\\\b([a-z_]|)' + str.replace(/ /g, '(?=:)\\\\b|\\\\b([a-z_\\\\*]|\\\\*|)') + '(?=:)\\\\b';\n };\n\n function getValuesCSS(str) {\n return '\\\\b' + str.replace(/ /g, '(?!-)(?!:)\\\\b|\\\\b()') + '\\:\\\\b';\n };\n\n function getKeywordsPrependedBy(keywords, by) {\n return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n }\n\n var keywords = 'ascent azimuth background-attachment background-color background-image background-position ' +\n 'background-repeat background baseline bbox border-collapse border-color border-spacing border-style border-top ' +\n 'border-right border-bottom border-left border-top-color border-right-color border-bottom-color border-left-color ' +\n 'border-top-style border-right-style border-bottom-style border-left-style border-top-width border-right-width ' +\n 'border-bottom-width border-left-width border-width border bottom cap-height caption-side centerline clear clip color ' +\n 'content counter-increment counter-reset cue-after cue-before cue cursor definition-src descent direction display ' +\n 'elevation empty-cells float font-size-adjust font-family font-size font-stretch font-style font-variant font-weight font ' +\n 'height left letter-spacing line-height list-style-image list-style-position list-style-type list-style margin-top ' +\n 'margin-right margin-bottom margin-left margin marker-offset marks mathline max-height max-width min-height min-width orphans ' +\n 'outline-color outline-style outline-width outline overflow padding-top padding-right padding-bottom padding-left padding page ' +\n 'page-break-after page-break-before page-break-inside pause pause-after pause-before pitch pitch-range play-during position ' +\n 'quotes right richness size slope src speak-header speak-numeral speak-punctuation speak speech-rate stemh stemv stress ' +\n 'table-layout text-align top text-decoration text-indent text-shadow text-transform unicode-bidi unicode-range units-per-em ' +\n 'vertical-align visibility voice-family volume white-space widows width widths word-spacing x-height z-index zoom';\n\n var values = 'above absolute all always aqua armenian attr aural auto avoid baseline behind below bidi-override black blink block blue bold bolder ' +\n 'both bottom braille capitalize caption center center-left center-right circle close-quote code collapse compact condensed ' +\n 'continuous counter counters crop cross crosshair cursive dashed decimal decimal-leading-zero digits disc dotted double ' +\n 'embed embossed e-resize expanded extra-condensed extra-expanded fantasy far-left far-right fast faster fixed format fuchsia ' +\n 'gray green groove handheld hebrew help hidden hide high higher icon inline-table inline inset inside invert italic ' +\n 'justify landscape large larger left-side left leftwards level lighter lime line-through list-item local loud lower-alpha ' +\n 'lowercase lower-greek lower-latin lower-roman lower low ltr marker maroon medium message-box middle mix move narrower ' +\n 'navy ne-resize no-close-quote none no-open-quote no-repeat normal nowrap n-resize nw-resize oblique olive once open-quote outset ' +\n 'outside overline pointer portrait pre print projection purple red relative repeat repeat-x repeat-y rgb ridge right right-side ' +\n 'rightwards rtl run-in screen scroll semi-condensed semi-expanded separate se-resize show silent silver slower slow ' +\n 'small small-caps small-caption smaller soft solid speech spell-out square s-resize static status-bar sub super sw-resize ' +\n 'table-caption table-cell table-column table-column-group table-footer-group table-header-group table-row table-row-group teal ' +\n 'text-bottom text-top thick thin top transparent tty tv ultra-condensed ultra-expanded underline upper-alpha uppercase upper-latin ' +\n 'upper-roman url visible wait white wider w-resize x-fast x-high x-large x-loud x-low x-slow x-small x-soft xx-large xx-small yellow';\n\n var fonts = '[mM]onospace [tT]ahoma [vV]erdana [aA]rial [hH]elvetica [sS]ans-serif [sS]erif [cC]ourier mono sans serif';\n\n var statements = 'important default';\n var preprocessor = 'import extend debug warn if else for while mixin function include content media';\n\n var r = regexLib;\n\n this.regexList = [\n {\n regex: r.multiLineCComments,\n css: 'comments'\n },\n {\n regex: r.singleLineCComments,\n css: 'comments'\n },\n {\n regex: r.doubleQuotedString,\n css: 'string'\n },\n {\n regex: r.singleQuotedString,\n css: 'string'\n },\n {\n regex: /\\#[a-fA-F0-9]{3,6}/g,\n css: 'value'\n },\n {\n regex: /\\b(-?\\d+)(\\.\\d+)?(px|em|rem|pt|\\:|\\%|)\\b/g,\n css: 'value'\n },\n {\n regex: /\\$[\\w-]+/g,\n css: 'variable'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(statements, '!'), 'g'),\n css: 'color3'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(preprocessor, '@'), 'g'),\n css: 'preprocessor'\n },\n {\n regex: new RegExp(getKeywordsCSS(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getValuesCSS(values), 'g'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(fonts), 'g'),\n css: 'color1'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sass', 'scss'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-sass/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Yegor Jbanov and David Bernard.\n\n var keywords = 'val sealed case def true trait implicit forSome import match object null finally super ' +\n 'override try lazy for var catch throw type extends class while with new final yield abstract ' +\n 'else do if return protected private this package false';\n\n var keyops = '[_:=><%#@]+';\n\n this.regexList = [\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n {\n regex: /0x[a-f0-9]+|\\d+(\\.\\d+)?/gi,\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(keyops, 'gm'),\n css: 'keyword'\n }\n\t\t];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['scala'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-scala/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var funcs = 'abs avg case cast coalesce convert count current_timestamp ' +\n 'current_user day isnull left lower month nullif replace right ' +\n 'session_user space substring sum system_user upper user year';\n\n var keywords = 'absolute action add after alter as asc at authorization begin bigint ' +\n 'binary bit by cascade char character check checkpoint close collate ' +\n 'column commit committed connect connection constraint contains continue ' +\n 'create cube current current_date current_time cursor database date ' +\n 'deallocate dec decimal declare default delete desc distinct double drop ' +\n 'dynamic else end end-exec escape except exec execute false fetch first ' +\n 'float for force foreign forward free from full function global goto grant ' +\n 'group grouping having hour ignore index inner insensitive insert instead ' +\n 'int integer intersect into is isolation key last level load local max min ' +\n 'minute modify move name national nchar next no numeric of off on only ' +\n 'open option order out output partial password precision prepare primary ' +\n 'prior privileges procedure public read real references relative repeatable ' +\n 'restrict return returns revoke rollback rollup rows rule schema scroll ' +\n 'second section select sequence serializable set size smallint static ' +\n 'statistics table temp temporary then time timestamp to top transaction ' +\n 'translation trigger true truncate uncommitted union unique update values ' +\n 'varchar varying view when where with work';\n\n var operators = 'all and any between cross in join like not null or outer some';\n\n this.regexList = [\n {\n regex: /--(.*)$/gm,\n css: 'comments'\n },\n {\n regex: /\\/\\*([^\\*][\\s\\S]*?)?\\*\\//gm,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: new RegExp(this.getKeywords(funcs), 'gmi'),\n css: 'color2'\n },\n {\n regex: new RegExp(this.getKeywords(operators), 'gmi'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gmi'),\n css: 'keyword'\n }\n\t\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['sql'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-sql/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n // Swift brush contributed by Nate Cook\n // http://natecook.com/code/swift-syntax-highlighting\n\n function getKeywordsPrependedBy(keywords, by) {\n return '(?:' + keywords.replace(/^\\s+|\\s+$/g, '').replace(/\\s+/g, '|' + by + '\\\\b').replace(/^/, by + '\\\\b') + ')\\\\b';\n }\n\n function multiLineCCommentsAdd(match, regexInfo) {\n var str = match[0],\n result = [],\n pos = 0,\n matchStart = 0,\n level = 0;\n\n while (pos < str.length - 1) {\n var chunk = str.substr(pos, 2);\n if (level == 0) {\n if (chunk == \"/*\") {\n matchStart = pos;\n level++;\n pos += 2;\n } else {\n pos++;\n }\n } else {\n if (chunk == \"/*\") {\n level++;\n pos += 2;\n } else if (chunk == \"*/\") {\n level--;\n if (level == 0) {\n result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n }\n pos += 2;\n } else {\n pos++;\n }\n }\n }\n\n return result;\n }\n\n function stringAdd(match, regexInfo) {\n var str = match[0],\n result = [],\n pos = 0,\n matchStart = 0,\n level = 0;\n\n while (pos < str.length - 1) {\n if (level == 0) {\n if (str.substr(pos, 2) == \"\\\\(\") {\n result.push(new Match(str.substring(matchStart, pos + 2), matchStart + match.index, regexInfo.css));\n level++;\n pos += 2;\n } else {\n pos++;\n }\n } else {\n if (str[pos] == \"(\") {\n level++;\n }\n if (str[pos] == \")\") {\n level--;\n if (level == 0) {\n matchStart = pos;\n }\n }\n pos++;\n }\n }\n if (level == 0) {\n result.push(new Match(str.substring(matchStart, str.length), matchStart + match.index, regexInfo.css));\n }\n\n return result;\n };\n\n // \"Swift-native types\" are all the protocols, classes, structs, enums, funcs, vars, and typealiases built into the language\n var swiftTypes = 'AbsoluteValuable Any AnyClass Array ArrayBound ArrayBuffer ArrayBufferType ArrayLiteralConvertible ArrayType AutoreleasingUnsafePointer BidirectionalIndex Bit BitwiseOperations Bool C CBool CChar CChar16 CChar32 CConstPointer CConstVoidPointer CDouble CFloat CInt CLong CLongLong CMutablePointer CMutableVoidPointer COpaquePointer CShort CSignedChar CString CUnsignedChar CUnsignedInt CUnsignedLong CUnsignedLongLong CUnsignedShort CVaListPointer CVarArg CWideChar Character CharacterLiteralConvertible Collection CollectionOfOne Comparable ContiguousArray ContiguousArrayBuffer DebugPrintable Dictionary DictionaryGenerator DictionaryIndex DictionaryLiteralConvertible Double EmptyCollection EmptyGenerator EnumerateGenerator Equatable ExtendedGraphemeClusterLiteralConvertible ExtendedGraphemeClusterType ExtensibleCollection FilterCollectionView FilterCollectionViewIndex FilterGenerator FilterSequenceView Float Float32 Float64 Float80 FloatLiteralConvertible FloatLiteralType FloatingPointClassification FloatingPointNumber ForwardIndex Generator GeneratorOf GeneratorOfOne GeneratorSequence Hashable HeapBuffer HeapBufferStorage HeapBufferStorageBase ImplicitlyUnwrappedOptional IndexingGenerator Int Int16 Int32 Int64 Int8 IntEncoder IntMax Integer IntegerArithmetic IntegerLiteralConvertible IntegerLiteralType Less LifetimeManager LogicValue MapCollectionView MapSequenceGenerator MapSequenceView MaxBuiltinFloatType MaxBuiltinIntegerType Mirror MirrorDisposition MutableCollection MutableSliceable ObjectIdentifier OnHeap Optional OutputStream PermutationGenerator Printable QuickLookObject RandomAccessIndex Range RangeGenerator RawByte RawOptionSet RawRepresentable Reflectable Repeat ReverseIndex ReverseRange ReverseRangeGenerator ReverseView Sequence SequenceOf SignedInteger SignedNumber Sink SinkOf Slice SliceBuffer Sliceable StaticString Streamable StridedRangeGenerator String StringElement StringInterpolationConvertible StringLiteralConvertible StringLiteralType UInt UInt16 UInt32 UInt64 UInt8 UIntMax UTF16 UTF32 UTF8 UWord UnicodeCodec UnicodeScalar Unmanaged UnsafeArray UnsafePointer UnsignedInteger Void Word Zip2 ZipGenerator2 abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList';\n\n var keywords = 'as break case class continue default deinit do dynamicType else enum ' +\n 'extension fallthrough for func if import in init is let new protocol ' +\n 'return self Self static struct subscript super switch Type typealias ' +\n 'var where while __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity ' +\n 'didSet get infix inout left mutating none nonmutating operator override ' +\n 'postfix precedence prefix right set unowned unowned(safe) unowned(unsafe) weak willSet';\n\n var attributes = 'assignment class_protocol exported final lazy noreturn NSCopying NSManaged objc optional required auto_closure noreturn IBAction IBDesignable IBInspectable IBOutlet infix prefix postfix';\n\n\n this.regexList = [\n // html entities\n {\n regex: new RegExp('\\&[a-z]+;', 'gi'),\n css: 'plain'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: new RegExp('\\\\/\\\\*[\\\\s\\\\S]*\\\\*\\\\/', 'g'),\n css: 'comments',\n func: multiLineCCommentsAdd\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string',\n func: stringAdd\n },\n {\n regex: new RegExp('\\\\b([\\\\d_]+(\\\\.[\\\\de_]+)?|0x[a-f0-9_]+(\\\\.[a-f0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\\\b', 'gi'),\n css: 'value'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp(getKeywordsPrependedBy(attributes, '@'), 'gm'),\n css: 'color1'\n },\n {\n regex: new RegExp(this.getKeywords(swiftTypes), 'gm'),\n css: 'color2'\n },\n {\n regex: new RegExp('\\\\b([a-zA-Z_][a-zA-Z0-9_]*)\\\\b', 'gi'),\n css: 'variable'\n },\n ];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['swift'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-swift/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n // Contributed by Chad Granum\n this.regexList = [\n {\n regex: new RegExp('^1..\\\\d+', 'gm'),\n css: 'plain bold italic'\n },\n {\n regex: new RegExp('^ok( \\\\d+)?', 'gm'),\n css: 'keyword'\n },\n {\n regex: new RegExp('^not ok( \\\\d+)?', 'gm'),\n css: 'color3 bold'\n },\n {\n regex: new RegExp('(?!^\\\\s*)#.*$', 'gm'),\n css: 'variable bold'\n },\n {\n regex: new RegExp('^#.*$', 'gm'),\n css: 'comments bold'\n },\n {\n regex: new RegExp('^(?!(not )?ok)[^1].*$', 'gm'),\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleQuotedString,\n css: 'string'\n },\n ];\n}\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['tap', 'Tap', 'TAP'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-tap/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'break case catch class continue ' +\n 'default delete do else enum export extends false ' +\n 'for function if implements import in instanceof ' +\n 'interface let new null package private protected ' +\n 'static return super switch ' +\n 'this throw true try typeof var while with yield' +\n ' any bool declare get module number public set string'; // TypeScript-specific, everything above is common with JavaScript\n\n this.regexList = [\n {\n regex: regexLib.multiLineDoubleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.multiLineSingleQuotedString,\n css: 'string'\n },\n {\n regex: regexLib.singleLineCComments,\n css: 'comments'\n },\n {\n regex: regexLib.multiLineCComments,\n css: 'comments'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.scriptScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['ts', 'typescript'];\nmodule.exports = Brush;\n\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-typescript/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\n\nfunction Brush() {\n var keywords = 'AddHandler AddressOf AndAlso Alias And Ansi As Assembly Auto ' +\n 'Boolean ByRef Byte ByVal Call Case Catch CBool CByte CChar CDate ' +\n 'CDec CDbl Char CInt Class CLng CObj Const CShort CSng CStr CType ' +\n 'Date Decimal Declare Default Delegate Dim DirectCast Do Double Each ' +\n 'Else ElseIf End Enum Erase Error Event Exit False Finally For Friend ' +\n 'Function Get GetType GoSub GoTo Handles If Implements Imports In ' +\n 'Inherits Integer Interface Is Let Lib Like Long Loop Me Mod Module ' +\n 'MustInherit MustOverride MyBase MyClass Namespace New Next Not Nothing ' +\n 'NotInheritable NotOverridable Object On Option Optional Or OrElse ' +\n 'Overloads Overridable Overrides ParamArray Preserve Private Property ' +\n 'Protected Public RaiseEvent ReadOnly ReDim REM RemoveHandler Resume ' +\n 'Return Select Set Shadows Shared Short Single Static Step Stop String ' +\n 'Structure Sub SyncLock Then Throw To True Try TypeOf Unicode Until ' +\n 'Variant When While With WithEvents WriteOnly Xor';\n\n this.regexList = [\n {\n regex: /'.*$/gm,\n css: 'comments'\n },\n {\n regex: regexLib.doubleQuotedString,\n css: 'string'\n },\n {\n regex: /^\\s*#.*$/gm,\n css: 'preprocessor'\n },\n {\n regex: new RegExp(this.getKeywords(keywords), 'gm'),\n css: 'keyword'\n }\n\t];\n\n this.forHtmlScript(regexLib.aspScriptTags);\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['vb', 'vbnet'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-vb/brush.js\n **/","var BrushBase = require('brush-base');\nvar regexLib = require('syntaxhighlighter-regex').commonRegExp;\nvar XRegExp = require('syntaxhighlighter-regex').XRegExp;\nvar Match = require('syntaxhighlighter-match').Match;\n\nfunction Brush() {\n function process(match, regexInfo) {\n var code = match[0],\n tag = XRegExp.exec(code, XRegExp('(<|<)[\\\\s\\\\/\\\\?!]*(?<name>[:\\\\w-\\\\.]+)', 'xg')),\n result = [];\n\n if (match.attributes != null) {\n var attributes,\n pos = 0,\n regex = XRegExp('(?<name> [\\\\w:.-]+)' +\n '\\\\s*=\\\\s*' +\n '(?<value> \".*?\"|\\'.*?\\'|\\\\w+)',\n 'xg');\n\n while ((attributes = XRegExp.exec(code, regex, pos)) != null) {\n result.push(new Match(attributes.name, match.index + attributes.index, 'color1'));\n result.push(new Match(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));\n pos = attributes.index + attributes[0].length;\n }\n }\n\n if (tag != null)\n result.push(\n new Match(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')\n );\n\n return result;\n }\n\n this.regexList = [\n {\n regex: XRegExp('(\\\\<|<)\\\\!\\\\[[\\\\w\\\\s]*?\\\\[(.|\\\\s)*?\\\\]\\\\](\\\\>|>)', 'gm'),\n css: 'color2'\n },\n {\n regex: regexLib.xmlComments,\n css: 'comments'\n },\n {\n regex: XRegExp('(<|<)[\\\\s\\\\/\\\\?!]*(\\\\w+)(?<attributes>.*?)[\\\\s\\\\/\\\\?]*(>|>)', 'sg'),\n func: process\n }\n\t];\n};\n\nBrush.prototype = new BrushBase();\nBrush.aliases = ['xml', 'xhtml', 'xslt', 'html', 'plist'];\nmodule.exports = Brush;\n\n\n/** WEBPACK FOOTER **\n ** ./repos/brush-xml/brush.js\n **/","/*!\n * domready (c) Dustin Diaz 2014 - License MIT\n */\n!function (name, definition) {\n\n if (typeof module != 'undefined') module.exports = definition()\n else if (typeof define == 'function' && typeof define.amd == 'object') define(definition)\n else this[name] = definition()\n\n}('domready', function () {\n\n var fns = [], listener\n , doc = document\n , hack = doc.documentElement.doScroll\n , domContentLoaded = 'DOMContentLoaded'\n , loaded = (hack ? /^loaded|^c/ : /^loaded|^i|^c/).test(doc.readyState)\n\n\n if (!loaded)\n doc.addEventListener(domContentLoaded, listener = function () {\n doc.removeEventListener(domContentLoaded, listener)\n loaded = 1\n while (listener = fns.shift()) listener()\n })\n\n return function (fn) {\n loaded ? setTimeout(fn, 0) : fns.push(fn)\n }\n\n});\n\n\n\n/** WEBPACK FOOTER **\n ** ./~/domready/ready.js\n **/","export const string = value =>\n value\n .replace(/^([A-Z])/g, (_, character) => character.toLowerCase())\n .replace(/([A-Z])/g, (_, character) => '-' + character.toLowerCase());\n\nexport const object = value => {\n const result = {};\n Object.keys(value).forEach(key => result[string(key)] = value[key]);\n return result;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/dasherize.js\n **/","// Compatability layer to support V3 brushes. This file is only included when `--compat`\n// flag is passed to the `gulp build` command.\n\nimport core from './core';\nwindow.SyntaxHighlighter = core;\n\nif (typeof window.XRegExp === 'undefined') {\n window.XRegExp = require('syntaxhighlighter-regex').XRegExp;\n}\n\n\n\n/** WEBPACK FOOTER **\n ** ./src/compatibility_layer_v3.js\n **/"],"sourceRoot":""} ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Deb.php-81- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Deb.php:82: $fh = popen($location . ' -f ' . $tmp_deb . ' 2>&1', 'r'); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Deb.php-83- while ($rc = fgets($fh, 8192)) { ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Mspowerpoint.php-68- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Mspowerpoint.php:69: $fh = popen($location . ' ' . $tmp_ppt . ' 2>&1', 'r'); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Mspowerpoint.php-70- while (($rc = fgets($fh, 8192))) { ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Msword.php-76- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Msword.php:77: exec($location . ' --to=' . escapeshellcmd($type) . ' --to-name=' . escapeshellcmd($tmp_out) . ' ' . escapeshellcmd($tmp_in)); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Msword.php-78- ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rpm.php-81- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rpm.php:82: $fh = popen($location . ' -qip ' . $tmp_rpm . ' 2>&1', 'r'); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rpm.php-83- while (($rc = fgets($fh, 8192))) { ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rtf.php-70- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rtf.php:71: exec($location . ' ' . $tmp_rtf . ' > ' . $tmp_output); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Rtf.php-72- ############################################## php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Wordperfect.php-70- php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Wordperfect.php:71: exec($location . ' ' . $tmp_wpd . ' > ' . $tmp_output); php-horde-mime-viewer-2.2.2+debian0/Horde_Mime_Viewer-2.2.2/lib/Horde/Mime/Viewer/Wordperfect.php-72-