1/**
2 * SyntaxHighlighter
3 * http://alexgorbatchev.com/SyntaxHighlighter
4 *
5 * SyntaxHighlighter is donationware. If you are using it, please donate.
6 * http://alexgorbatchev.com/SyntaxHighlighter/donate.html
7 *
8 * @version
9 * 3.0.90 (Sat, 18 Jun 2016 21:01:41 GMT)
10 *
11 * @copyright
12 * Copyright (C) 2004-2013 Alex Gorbatchev.
13 *
14 * @license
15 * Dual licensed under the MIT and GPL licenses.
16 */
17;(function()
18{
19	// CommonJS
20	SyntaxHighlighter = SyntaxHighlighter || (typeof require !== 'undefined'? require('shCore').SyntaxHighlighter : null);
21
22	function Brush()
23	{
24		function process(match, regexInfo)
25		{
26			var constructor = SyntaxHighlighter.Match,
27				code = match[0],
28				tag = XRegExp.exec(code, XRegExp('(&lt;|<)[\\s\\/\\?!]*(?<name>[:\\w-\\.]+)', 'xg')),
29				result = []
30				;
31
32			if (match.attributes != null)
33			{
34				var attributes,
35					pos = 0,
36					regex = XRegExp('(?<name> [\\w:.-]+)' +
37									'\\s*=\\s*' +
38									'(?<value> ".*?"|\'.*?\'|\\w+)',
39									'xg');
40
41				while ((attributes = XRegExp.exec(code, regex, pos)) != null)
42				{
43					result.push(new constructor(attributes.name, match.index + attributes.index, 'color1'));
44					result.push(new constructor(attributes.value, match.index + attributes.index + attributes[0].indexOf(attributes.value), 'string'));
45					pos = attributes.index + attributes[0].length;
46				}
47			}
48
49			if (tag != null)
50				result.push(
51					new constructor(tag.name, match.index + tag[0].indexOf(tag.name), 'keyword')
52				);
53
54			return result;
55		}
56
57		this.regexList = [
58			{ regex: XRegExp('(\\&lt;|<)\\!\\[[\\w\\s]*?\\[(.|\\s)*?\\]\\](\\&gt;|>)', 'gm'),			css: 'color2' },	// <![ ... [ ... ]]>
59			{ regex: SyntaxHighlighter.regexLib.xmlComments,												css: 'comments' },	// <!-- ... -->
60			{ regex: XRegExp('(&lt;|<)[\\s\\/\\?!]*(\\w+)(?<attributes>.*?)[\\s\\/\\?]*(&gt;|>)', 'sg'), func: process }
61		];
62	};
63
64	Brush.prototype	= new SyntaxHighlighter.Highlighter();
65	Brush.aliases	= ['xml', 'xhtml', 'xslt', 'html', 'plist'];
66
67	SyntaxHighlighter.brushes.Xml = Brush;
68
69	// CommonJS
70	typeof(exports) != 'undefined' ? exports.Brush = Brush : null;
71})();
72