{"version":3,"file":"js/2295.chunk.js","mappings":"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","sources":["webpack:///./node_modules/dom-serializer/index.js","webpack:///./node_modules/dom-serializer/node_modules/domelementtype/lib/index.js","webpack:///./node_modules/domelementtype/index.js","webpack:///./node_modules/domhandler/index.js","webpack:///./node_modules/domhandler/lib/element.js","webpack:///./node_modules/domhandler/lib/node.js","webpack:///./node_modules/domutils/index.js","webpack:///./node_modules/domutils/lib/helpers.js","webpack:///./node_modules/domutils/lib/legacy.js","webpack:///./node_modules/domutils/lib/manipulation.js","webpack:///./node_modules/domutils/lib/querying.js","webpack:///./node_modules/domutils/lib/stringify.js","webpack:///./node_modules/domutils/lib/traversal.js","webpack:///./node_modules/entities/lib/decode.js","webpack:///./node_modules/entities/lib/decode_codepoint.js","webpack:///./node_modules/entities/lib/encode.js","webpack:///./node_modules/entities/lib/index.js","webpack:///./node_modules/htmlparser2/lib/CollectingHandler.js","webpack:///./node_modules/htmlparser2/lib/FeedHandler.js","webpack:///./node_modules/htmlparser2/lib/Parser.js","webpack:///./node_modules/htmlparser2/lib/ProxyHandler.js","webpack:///./node_modules/htmlparser2/lib/Stream.js","webpack:///./node_modules/htmlparser2/lib/Tokenizer.js","webpack:///./node_modules/htmlparser2/lib/WritableStream.js","webpack:///./node_modules/htmlparser2/lib/index.js","webpack:///./node_modules/htmlparser2/node_modules/entities/lib/decode_codepoint.js","webpack:///./node_modules/react-html-parser/lib/HtmlParser.js","webpack:///./node_modules/react-html-parser/lib/convertNodeToElement.js","webpack:///./node_modules/react-html-parser/lib/dom/attributes/BooleanAttributes.js","webpack:///./node_modules/react-html-parser/lib/dom/attributes/ReactAttributes.js","webpack:///./node_modules/react-html-parser/lib/dom/elements/VoidElements.js","webpack:///./node_modules/react-html-parser/lib/elementTypes/StyleElementType.js","webpack:///./node_modules/react-html-parser/lib/elementTypes/TagElementType.js","webpack:///./node_modules/react-html-parser/lib/elementTypes/TextElementType.js","webpack:///./node_modules/react-html-parser/lib/elementTypes/UnsupportedElementType.js","webpack:///./node_modules/react-html-parser/lib/elementTypes/index.js","webpack:///./node_modules/react-html-parser/lib/index.js","webpack:///./node_modules/react-html-parser/lib/processNodes.js","webpack:///./node_modules/react-html-parser/lib/utils/generatePropsFromAttributes.js","webpack:///./node_modules/react-html-parser/lib/utils/htmlAttributesToReact.js","webpack:///./node_modules/react-html-parser/lib/utils/inlineStyleToObject.js","webpack:///./node_modules/react-html-parser/lib/utils/isEmptyTextNode.js","webpack:///./node_modules/react-html-parser/lib/utils/isValidTagOrAttributeName.js"],"sourcesContent":["/*\n Module dependencies\n*/\nvar ElementType = require('domelementtype');\nvar entities = require('entities');\n\n/* mixed-case SVG and MathML tags & attributes\n recognized by the HTML parser, see\n https://html.spec.whatwg.org/multipage/parsing.html#parsing-main-inforeign\n*/\nvar foreignNames = require('./foreignNames.json');\nforeignNames.elementNames.__proto__ = null; /* use as a simple dictionary */\nforeignNames.attributeNames.__proto__ = null;\n\nvar unencodedElements = {\n __proto__: null,\n style: true,\n script: true,\n xmp: true,\n iframe: true,\n noembed: true,\n noframes: true,\n plaintext: true,\n noscript: true\n};\n\n/*\n Format attributes\n*/\nfunction formatAttrs(attributes, opts) {\n if (!attributes) return;\n\n var output = '';\n var value;\n\n // Loop through the attributes\n for (var key in attributes) {\n value = attributes[key];\n if (output) {\n output += ' ';\n }\n\n if (opts.xmlMode === 'foreign') {\n /* fix up mixed-case attribute names */\n key = foreignNames.attributeNames[key] || key;\n }\n output += key;\n if ((value !== null && value !== '') || opts.xmlMode) {\n output +=\n '=\"' +\n (opts.decodeEntities\n ? entities.encodeXML(value)\n : value.replace(/\\\"/g, '"')) +\n '\"';\n }\n }\n\n return output;\n}\n\n/*\n Self-enclosing tags (stolen from node-htmlparser)\n*/\nvar singleTag = {\n __proto__: null,\n area: true,\n base: true,\n basefont: true,\n br: true,\n col: true,\n command: true,\n embed: true,\n frame: true,\n hr: true,\n img: true,\n input: true,\n isindex: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true\n};\n\nvar render = (module.exports = function(dom, opts) {\n if (!Array.isArray(dom) && !dom.cheerio) dom = [dom];\n opts = opts || {};\n\n var output = '';\n\n for (var i = 0; i < dom.length; i++) {\n var elem = dom[i];\n\n if (elem.type === 'root') output += render(elem.children, opts);\n else if (ElementType.isTag(elem)) output += renderTag(elem, opts);\n else if (elem.type === ElementType.Directive)\n output += renderDirective(elem);\n else if (elem.type === ElementType.Comment) output += renderComment(elem);\n else if (elem.type === ElementType.CDATA) output += renderCdata(elem);\n else output += renderText(elem, opts);\n }\n\n return output;\n});\n\nvar foreignModeIntegrationPoints = [\n 'mi',\n 'mo',\n 'mn',\n 'ms',\n 'mtext',\n 'annotation-xml',\n 'foreignObject',\n 'desc',\n 'title'\n];\n\nfunction renderTag(elem, opts) {\n // Handle SVG / MathML in HTML\n if (opts.xmlMode === 'foreign') {\n /* fix up mixed-case element names */\n elem.name = foreignNames.elementNames[elem.name] || elem.name;\n /* exit foreign mode at integration points */\n if (\n elem.parent &&\n foreignModeIntegrationPoints.indexOf(elem.parent.name) >= 0\n )\n opts = Object.assign({}, opts, { xmlMode: false });\n }\n if (!opts.xmlMode && ['svg', 'math'].indexOf(elem.name) >= 0) {\n opts = Object.assign({}, opts, { xmlMode: 'foreign' });\n }\n\n var tag = '<' + elem.name;\n var attribs = formatAttrs(elem.attribs, opts);\n\n if (attribs) {\n tag += ' ' + attribs;\n }\n\n if (opts.xmlMode && (!elem.children || elem.children.length === 0)) {\n tag += '/>';\n } else {\n tag += '>';\n if (elem.children) {\n tag += render(elem.children, opts);\n }\n\n if (!singleTag[elem.name] || opts.xmlMode) {\n tag += '</' + elem.name + '>';\n }\n }\n\n return tag;\n}\n\nfunction renderDirective(elem) {\n return '<' + elem.data + '>';\n}\n\nfunction renderText(elem, opts) {\n var data = elem.data || '';\n\n // if entities weren't decoded, no need to encode them back\n if (\n opts.decodeEntities &&\n !(elem.parent && elem.parent.name in unencodedElements)\n ) {\n data = entities.encodeXML(data);\n }\n\n return data;\n}\n\nfunction renderCdata(elem) {\n return '<![CDATA[' + elem.children[0].data + ']]>';\n}\n\nfunction renderComment(elem) {\n return '<!--' + elem.data + '-->';\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Doctype = exports.CDATA = exports.Tag = exports.Style = exports.Script = exports.Comment = exports.Directive = exports.Text = exports.Root = exports.isTag = exports.ElementType = void 0;\n/** Types of elements found in htmlparser2's DOM */\nvar ElementType;\n(function (ElementType) {\n /** Type for the root element of a document */\n ElementType[\"Root\"] = \"root\";\n /** Type for Text */\n ElementType[\"Text\"] = \"text\";\n /** Type for <? ... ?> */\n ElementType[\"Directive\"] = \"directive\";\n /** Type for <!-- ... --> */\n ElementType[\"Comment\"] = \"comment\";\n /** Type for <script> tags */\n ElementType[\"Script\"] = \"script\";\n /** Type for <style> tags */\n ElementType[\"Style\"] = \"style\";\n /** Type for Any tag */\n ElementType[\"Tag\"] = \"tag\";\n /** Type for <![CDATA[ ... ]]> */\n ElementType[\"CDATA\"] = \"cdata\";\n /** Type for <!doctype ...> */\n ElementType[\"Doctype\"] = \"doctype\";\n})(ElementType = exports.ElementType || (exports.ElementType = {}));\n/**\n * Tests whether an element is a tag or not.\n *\n * @param elem Element to test\n */\nfunction isTag(elem) {\n return (elem.type === ElementType.Tag ||\n elem.type === ElementType.Script ||\n elem.type === ElementType.Style);\n}\nexports.isTag = isTag;\n// Exports for backwards compatibility\n/** Type for the root element of a document */\nexports.Root = ElementType.Root;\n/** Type for Text */\nexports.Text = ElementType.Text;\n/** Type for <? ... ?> */\nexports.Directive = ElementType.Directive;\n/** Type for <!-- ... --> */\nexports.Comment = ElementType.Comment;\n/** Type for <script> tags */\nexports.Script = ElementType.Script;\n/** Type for <style> tags */\nexports.Style = ElementType.Style;\n/** Type for Any tag */\nexports.Tag = ElementType.Tag;\n/** Type for <![CDATA[ ... ]]> */\nexports.CDATA = ElementType.CDATA;\n/** Type for <!doctype ...> */\nexports.Doctype = ElementType.Doctype;\n","//Types of elements found in the DOM\nmodule.exports = {\n\tText: \"text\", //Text\n\tDirective: \"directive\", //<? ... ?>\n\tComment: \"comment\", //<!-- ... -->\n\tScript: \"script\", //<script> tags\n\tStyle: \"style\", //<style> tags\n\tTag: \"tag\", //Any tag\n\tCDATA: \"cdata\", //<![CDATA[ ... ]]>\n\tDoctype: \"doctype\",\n\n\tisTag: function(elem){\n\t\treturn elem.type === \"tag\" || elem.type === \"script\" || elem.type === \"style\";\n\t}\n};\n","var ElementType = require(\"domelementtype\");\n\nvar re_whitespace = /\\s+/g;\nvar NodePrototype = require(\"./lib/node\");\nvar ElementPrototype = require(\"./lib/element\");\n\nfunction DomHandler(callback, options, elementCB){\n\tif(typeof callback === \"object\"){\n\t\telementCB = options;\n\t\toptions = callback;\n\t\tcallback = null;\n\t} else if(typeof options === \"function\"){\n\t\telementCB = options;\n\t\toptions = defaultOpts;\n\t}\n\tthis._callback = callback;\n\tthis._options = options || defaultOpts;\n\tthis._elementCB = elementCB;\n\tthis.dom = [];\n\tthis._done = false;\n\tthis._tagStack = [];\n\tthis._parser = this._parser || null;\n}\n\n//default options\nvar defaultOpts = {\n\tnormalizeWhitespace: false, //Replace all whitespace with single spaces\n\twithStartIndices: false, //Add startIndex properties to nodes\n\twithEndIndices: false, //Add endIndex properties to nodes\n};\n\nDomHandler.prototype.onparserinit = function(parser){\n\tthis._parser = parser;\n};\n\n//Resets the handler back to starting state\nDomHandler.prototype.onreset = function(){\n\tDomHandler.call(this, this._callback, this._options, this._elementCB);\n};\n\n//Signals the handler that parsing is done\nDomHandler.prototype.onend = function(){\n\tif(this._done) return;\n\tthis._done = true;\n\tthis._parser = null;\n\tthis._handleCallback(null);\n};\n\nDomHandler.prototype._handleCallback =\nDomHandler.prototype.onerror = function(error){\n\tif(typeof this._callback === \"function\"){\n\t\tthis._callback(error, this.dom);\n\t} else {\n\t\tif(error) throw error;\n\t}\n};\n\nDomHandler.prototype.onclosetag = function(){\n\t//if(this._tagStack.pop().name !== name) this._handleCallback(Error(\"Tagname didn't match!\"));\n\t\n\tvar elem = this._tagStack.pop();\n\n\tif(this._options.withEndIndices && elem){\n\t\telem.endIndex = this._parser.endIndex;\n\t}\n\n\tif(this._elementCB) this._elementCB(elem);\n};\n\nDomHandler.prototype._createDomElement = function(properties){\n\tif (!this._options.withDomLvl1) return properties;\n\n\tvar element;\n\tif (properties.type === \"tag\") {\n\t\telement = Object.create(ElementPrototype);\n\t} else {\n\t\telement = Object.create(NodePrototype);\n\t}\n\n\tfor (var key in properties) {\n\t\tif (properties.hasOwnProperty(key)) {\n\t\t\telement[key] = properties[key];\n\t\t}\n\t}\n\n\treturn element;\n};\n\nDomHandler.prototype._addDomElement = function(element){\n\tvar parent = this._tagStack[this._tagStack.length - 1];\n\tvar siblings = parent ? parent.children : this.dom;\n\tvar previousSibling = siblings[siblings.length - 1];\n\n\telement.next = null;\n\n\tif(this._options.withStartIndices){\n\t\telement.startIndex = this._parser.startIndex;\n\t}\n\tif(this._options.withEndIndices){\n\t\telement.endIndex = this._parser.endIndex;\n\t}\n\n\tif(previousSibling){\n\t\telement.prev = previousSibling;\n\t\tpreviousSibling.next = element;\n\t} else {\n\t\telement.prev = null;\n\t}\n\n\tsiblings.push(element);\n\telement.parent = parent || null;\n};\n\nDomHandler.prototype.onopentag = function(name, attribs){\n\tvar properties = {\n\t\ttype: name === \"script\" ? ElementType.Script : name === \"style\" ? ElementType.Style : ElementType.Tag,\n\t\tname: name,\n\t\tattribs: attribs,\n\t\tchildren: []\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.ontext = function(data){\n\t//the ignoreWhitespace is officially dropped, but for now,\n\t//it's an alias for normalizeWhitespace\n\tvar normalize = this._options.normalizeWhitespace || this._options.ignoreWhitespace;\n\n\tvar lastTag;\n\n\tif(!this._tagStack.length && this.dom.length && (lastTag = this.dom[this.dom.length-1]).type === ElementType.Text){\n\t\tif(normalize){\n\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t} else {\n\t\t\tlastTag.data += data;\n\t\t}\n\t} else {\n\t\tif(\n\t\t\tthis._tagStack.length &&\n\t\t\t(lastTag = this._tagStack[this._tagStack.length - 1]) &&\n\t\t\t(lastTag = lastTag.children[lastTag.children.length - 1]) &&\n\t\t\tlastTag.type === ElementType.Text\n\t\t){\n\t\t\tif(normalize){\n\t\t\t\tlastTag.data = (lastTag.data + data).replace(re_whitespace, \" \");\n\t\t\t} else {\n\t\t\t\tlastTag.data += data;\n\t\t\t}\n\t\t} else {\n\t\t\tif(normalize){\n\t\t\t\tdata = data.replace(re_whitespace, \" \");\n\t\t\t}\n\n\t\t\tvar element = this._createDomElement({\n\t\t\t\tdata: data,\n\t\t\t\ttype: ElementType.Text\n\t\t\t});\n\n\t\t\tthis._addDomElement(element);\n\t\t}\n\t}\n};\n\nDomHandler.prototype.oncomment = function(data){\n\tvar lastTag = this._tagStack[this._tagStack.length - 1];\n\n\tif(lastTag && lastTag.type === ElementType.Comment){\n\t\tlastTag.data += data;\n\t\treturn;\n\t}\n\n\tvar properties = {\n\t\tdata: data,\n\t\ttype: ElementType.Comment\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncdatastart = function(){\n\tvar properties = {\n\t\tchildren: [{\n\t\t\tdata: \"\",\n\t\t\ttype: ElementType.Text\n\t\t}],\n\t\ttype: ElementType.CDATA\n\t};\n\n\tvar element = this._createDomElement(properties);\n\n\tthis._addDomElement(element);\n\tthis._tagStack.push(element);\n};\n\nDomHandler.prototype.oncommentend = DomHandler.prototype.oncdataend = function(){\n\tthis._tagStack.pop();\n};\n\nDomHandler.prototype.onprocessinginstruction = function(name, data){\n\tvar element = this._createDomElement({\n\t\tname: name,\n\t\tdata: data,\n\t\ttype: ElementType.Directive\n\t});\n\n\tthis._addDomElement(element);\n};\n\nmodule.exports = DomHandler;\n","// DOM-Level-1-compliant structure\nvar NodePrototype = require('./node');\nvar ElementPrototype = module.exports = Object.create(NodePrototype);\n\nvar domLvl1 = {\n\ttagName: \"name\"\n};\n\nObject.keys(domLvl1).forEach(function(key) {\n\tvar shorthand = domLvl1[key];\n\tObject.defineProperty(ElementPrototype, key, {\n\t\tget: function() {\n\t\t\treturn this[shorthand] || null;\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[shorthand] = val;\n\t\t\treturn val;\n\t\t}\n\t});\n});\n","// This object will be used as the prototype for Nodes when creating a\n// DOM-Level-1-compliant structure.\nvar NodePrototype = module.exports = {\n\tget firstChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[0] || null;\n\t},\n\tget lastChild() {\n\t\tvar children = this.children;\n\t\treturn children && children[children.length - 1] || null;\n\t},\n\tget nodeType() {\n\t\treturn nodeTypes[this.type] || nodeTypes.element;\n\t}\n};\n\nvar domLvl1 = {\n\ttagName: \"name\",\n\tchildNodes: \"children\",\n\tparentNode: \"parent\",\n\tpreviousSibling: \"prev\",\n\tnextSibling: \"next\",\n\tnodeValue: \"data\"\n};\n\nvar nodeTypes = {\n\telement: 1,\n\ttext: 3,\n\tcdata: 4,\n\tcomment: 8\n};\n\nObject.keys(domLvl1).forEach(function(key) {\n\tvar shorthand = domLvl1[key];\n\tObject.defineProperty(NodePrototype, key, {\n\t\tget: function() {\n\t\t\treturn this[shorthand] || null;\n\t\t},\n\t\tset: function(val) {\n\t\t\tthis[shorthand] = val;\n\t\t\treturn val;\n\t\t}\n\t});\n});\n","var DomUtils = module.exports;\n\n[\n\trequire(\"./lib/stringify\"),\n\trequire(\"./lib/traversal\"),\n\trequire(\"./lib/manipulation\"),\n\trequire(\"./lib/querying\"),\n\trequire(\"./lib/legacy\"),\n\trequire(\"./lib/helpers\")\n].forEach(function(ext){\n\tObject.keys(ext).forEach(function(key){\n\t\tDomUtils[key] = ext[key].bind(DomUtils);\n\t});\n});\n","// removeSubsets\n// Given an array of nodes, remove any member that is contained by another.\nexports.removeSubsets = function(nodes) {\n\tvar idx = nodes.length, node, ancestor, replace;\n\n\t// Check if each node (or one of its ancestors) is already contained in the\n\t// array.\n\twhile (--idx > -1) {\n\t\tnode = ancestor = nodes[idx];\n\n\t\t// Temporarily remove the node under consideration\n\t\tnodes[idx] = null;\n\t\treplace = true;\n\n\t\twhile (ancestor) {\n\t\t\tif (nodes.indexOf(ancestor) > -1) {\n\t\t\t\treplace = false;\n\t\t\t\tnodes.splice(idx, 1);\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tancestor = ancestor.parent;\n\t\t}\n\n\t\t// If the node has been found to be unique, re-insert it.\n\t\tif (replace) {\n\t\t\tnodes[idx] = node;\n\t\t}\n\t}\n\n\treturn nodes;\n};\n\n// Source: http://dom.spec.whatwg.org/#dom-node-comparedocumentposition\nvar POSITION = {\n\tDISCONNECTED: 1,\n\tPRECEDING: 2,\n\tFOLLOWING: 4,\n\tCONTAINS: 8,\n\tCONTAINED_BY: 16\n};\n\n// Compare the position of one node against another node in any other document.\n// The return value is a bitmask with the following values:\n//\n// document order:\n// > There is an ordering, document order, defined on all the nodes in the\n// > document corresponding to the order in which the first character of the\n// > XML representation of each node occurs in the XML representation of the\n// > document after expansion of general entities. Thus, the document element\n// > node will be the first node. Element nodes occur before their children.\n// > Thus, document order orders element nodes in order of the occurrence of\n// > their start-tag in the XML (after expansion of entities). The attribute\n// > nodes of an element occur after the element and before its children. The\n// > relative order of attribute nodes is implementation-dependent./\n// Source:\n// http://www.w3.org/TR/DOM-Level-3-Core/glossary.html#dt-document-order\n//\n// @argument {Node} nodaA The first node to use in the comparison\n// @argument {Node} nodeB The second node to use in the comparison\n//\n// @return {Number} A bitmask describing the input nodes' relative position.\n// See http://dom.spec.whatwg.org/#dom-node-comparedocumentposition for\n// a description of these values.\nvar comparePos = exports.compareDocumentPosition = function(nodeA, nodeB) {\n\tvar aParents = [];\n\tvar bParents = [];\n\tvar current, sharedParent, siblings, aSibling, bSibling, idx;\n\n\tif (nodeA === nodeB) {\n\t\treturn 0;\n\t}\n\n\tcurrent = nodeA;\n\twhile (current) {\n\t\taParents.unshift(current);\n\t\tcurrent = current.parent;\n\t}\n\tcurrent = nodeB;\n\twhile (current) {\n\t\tbParents.unshift(current);\n\t\tcurrent = current.parent;\n\t}\n\n\tidx = 0;\n\twhile (aParents[idx] === bParents[idx]) {\n\t\tidx++;\n\t}\n\n\tif (idx === 0) {\n\t\treturn POSITION.DISCONNECTED;\n\t}\n\n\tsharedParent = aParents[idx - 1];\n\tsiblings = sharedParent.children;\n\taSibling = aParents[idx];\n\tbSibling = bParents[idx];\n\n\tif (siblings.indexOf(aSibling) > siblings.indexOf(bSibling)) {\n\t\tif (sharedParent === nodeB) {\n\t\t\treturn POSITION.FOLLOWING | POSITION.CONTAINED_BY;\n\t\t}\n\t\treturn POSITION.FOLLOWING;\n\t} else {\n\t\tif (sharedParent === nodeA) {\n\t\t\treturn POSITION.PRECEDING | POSITION.CONTAINS;\n\t\t}\n\t\treturn POSITION.PRECEDING;\n\t}\n};\n\n// Sort an array of nodes based on their relative position in the document and\n// remove any duplicate nodes. If the array contains nodes that do not belong\n// to the same document, sort order is unspecified.\n//\n// @argument {Array} nodes Array of DOM nodes\n//\n// @returns {Array} collection of unique nodes, sorted in document order\nexports.uniqueSort = function(nodes) {\n\tvar idx = nodes.length, node, position;\n\n\tnodes = nodes.slice();\n\n\twhile (--idx > -1) {\n\t\tnode = nodes[idx];\n\t\tposition = nodes.indexOf(node);\n\t\tif (position > -1 && position < idx) {\n\t\t\tnodes.splice(idx, 1);\n\t\t}\n\t}\n\tnodes.sort(function(a, b) {\n\t\tvar relative = comparePos(a, b);\n\t\tif (relative & POSITION.PRECEDING) {\n\t\t\treturn -1;\n\t\t} else if (relative & POSITION.FOLLOWING) {\n\t\t\treturn 1;\n\t\t}\n\t\treturn 0;\n\t});\n\n\treturn nodes;\n};\n","var ElementType = require(\"domelementtype\");\nvar isTag = exports.isTag = ElementType.isTag;\n\nexports.testElement = function(options, element){\n\tfor(var key in options){\n\t\tif(!options.hasOwnProperty(key));\n\t\telse if(key === \"tag_name\"){\n\t\t\tif(!isTag(element) || !options.tag_name(element.name)){\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if(key === \"tag_type\"){\n\t\t\tif(!options.tag_type(element.type)) return false;\n\t\t} else if(key === \"tag_contains\"){\n\t\t\tif(isTag(element) || !options.tag_contains(element.data)){\n\t\t\t\treturn false;\n\t\t\t}\n\t\t} else if(!element.attribs || !options[key](element.attribs[key])){\n\t\t\treturn false;\n\t\t}\n\t}\n\treturn true;\n};\n\nvar Checks = {\n\ttag_name: function(name){\n\t\tif(typeof name === \"function\"){\n\t\t\treturn function(elem){ return isTag(elem) && name(elem.name); };\n\t\t} else if(name === \"*\"){\n\t\t\treturn isTag;\n\t\t} else {\n\t\t\treturn function(elem){ return isTag(elem) && elem.name === name; };\n\t\t}\n\t},\n\ttag_type: function(type){\n\t\tif(typeof type === \"function\"){\n\t\t\treturn function(elem){ return type(elem.type); };\n\t\t} else {\n\t\t\treturn function(elem){ return elem.type === type; };\n\t\t}\n\t},\n\ttag_contains: function(data){\n\t\tif(typeof data === \"function\"){\n\t\t\treturn function(elem){ return !isTag(elem) && data(elem.data); };\n\t\t} else {\n\t\t\treturn function(elem){ return !isTag(elem) && elem.data === data; };\n\t\t}\n\t}\n};\n\nfunction getAttribCheck(attrib, value){\n\tif(typeof value === \"function\"){\n\t\treturn function(elem){ return elem.attribs && value(elem.attribs[attrib]); };\n\t} else {\n\t\treturn function(elem){ return elem.attribs && elem.attribs[attrib] === value; };\n\t}\n}\n\nfunction combineFuncs(a, b){\n\treturn function(elem){\n\t\treturn a(elem) || b(elem);\n\t};\n}\n\nexports.getElements = function(options, element, recurse, limit){\n\tvar funcs = Object.keys(options).map(function(key){\n\t\tvar value = options[key];\n\t\treturn key in Checks ? Checks[key](value) : getAttribCheck(key, value);\n\t});\n\n\treturn funcs.length === 0 ? [] : this.filter(\n\t\tfuncs.reduce(combineFuncs),\n\t\telement, recurse, limit\n\t);\n};\n\nexports.getElementById = function(id, element, recurse){\n\tif(!Array.isArray(element)) element = [element];\n\treturn this.findOne(getAttribCheck(\"id\", id), element, recurse !== false);\n};\n\nexports.getElementsByTagName = function(name, element, recurse, limit){\n\treturn this.filter(Checks.tag_name(name), element, recurse, limit);\n};\n\nexports.getElementsByTagType = function(type, element, recurse, limit){\n\treturn this.filter(Checks.tag_type(type), element, recurse, limit);\n};\n","exports.removeElement = function(elem){\n\tif(elem.prev) elem.prev.next = elem.next;\n\tif(elem.next) elem.next.prev = elem.prev;\n\n\tif(elem.parent){\n\t\tvar childs = elem.parent.children;\n\t\tchilds.splice(childs.lastIndexOf(elem), 1);\n\t}\n};\n\nexports.replaceElement = function(elem, replacement){\n\tvar prev = replacement.prev = elem.prev;\n\tif(prev){\n\t\tprev.next = replacement;\n\t}\n\n\tvar next = replacement.next = elem.next;\n\tif(next){\n\t\tnext.prev = replacement;\n\t}\n\n\tvar parent = replacement.parent = elem.parent;\n\tif(parent){\n\t\tvar childs = parent.children;\n\t\tchilds[childs.lastIndexOf(elem)] = replacement;\n\t}\n};\n\nexports.appendChild = function(elem, child){\n\tchild.parent = elem;\n\n\tif(elem.children.push(child) !== 1){\n\t\tvar sibling = elem.children[elem.children.length - 2];\n\t\tsibling.next = child;\n\t\tchild.prev = sibling;\n\t\tchild.next = null;\n\t}\n};\n\nexports.append = function(elem, next){\n\tvar parent = elem.parent,\n\t\tcurrNext = elem.next;\n\n\tnext.next = currNext;\n\tnext.prev = elem;\n\telem.next = next;\n\tnext.parent = parent;\n\n\tif(currNext){\n\t\tcurrNext.prev = next;\n\t\tif(parent){\n\t\t\tvar childs = parent.children;\n\t\t\tchilds.splice(childs.lastIndexOf(currNext), 0, next);\n\t\t}\n\t} else if(parent){\n\t\tparent.children.push(next);\n\t}\n};\n\nexports.prepend = function(elem, prev){\n\tvar parent = elem.parent;\n\tif(parent){\n\t\tvar childs = parent.children;\n\t\tchilds.splice(childs.lastIndexOf(elem), 0, prev);\n\t}\n\n\tif(elem.prev){\n\t\telem.prev.next = prev;\n\t}\n\t\n\tprev.parent = parent;\n\tprev.prev = elem.prev;\n\tprev.next = elem;\n\telem.prev = prev;\n};\n\n\n","var isTag = require(\"domelementtype\").isTag;\n\nmodule.exports = {\n\tfilter: filter,\n\tfind: find,\n\tfindOneChild: findOneChild,\n\tfindOne: findOne,\n\texistsOne: existsOne,\n\tfindAll: findAll\n};\n\nfunction filter(test, element, recurse, limit){\n\tif(!Array.isArray(element)) element = [element];\n\n\tif(typeof limit !== \"number\" || !isFinite(limit)){\n\t\tlimit = Infinity;\n\t}\n\treturn find(test, element, recurse !== false, limit);\n}\n\nfunction find(test, elems, recurse, limit){\n\tvar result = [], childs;\n\n\tfor(var i = 0, j = elems.length; i < j; i++){\n\t\tif(test(elems[i])){\n\t\t\tresult.push(elems[i]);\n\t\t\tif(--limit <= 0) break;\n\t\t}\n\n\t\tchilds = elems[i].children;\n\t\tif(recurse && childs && childs.length > 0){\n\t\t\tchilds = find(test, childs, recurse, limit);\n\t\t\tresult = result.concat(childs);\n\t\t\tlimit -= childs.length;\n\t\t\tif(limit <= 0) break;\n\t\t}\n\t}\n\n\treturn result;\n}\n\nfunction findOneChild(test, elems){\n\tfor(var i = 0, l = elems.length; i < l; i++){\n\t\tif(test(elems[i])) return elems[i];\n\t}\n\n\treturn null;\n}\n\nfunction findOne(test, elems){\n\tvar elem = null;\n\n\tfor(var i = 0, l = elems.length; i < l && !elem; i++){\n\t\tif(!isTag(elems[i])){\n\t\t\tcontinue;\n\t\t} else if(test(elems[i])){\n\t\t\telem = elems[i];\n\t\t} else if(elems[i].children.length > 0){\n\t\t\telem = findOne(test, elems[i].children);\n\t\t}\n\t}\n\n\treturn elem;\n}\n\nfunction existsOne(test, elems){\n\tfor(var i = 0, l = elems.length; i < l; i++){\n\t\tif(\n\t\t\tisTag(elems[i]) && (\n\t\t\t\ttest(elems[i]) || (\n\t\t\t\t\telems[i].children.length > 0 &&\n\t\t\t\t\texistsOne(test, elems[i].children)\n\t\t\t\t)\n\t\t\t)\n\t\t){\n\t\t\treturn true;\n\t\t}\n\t}\n\n\treturn false;\n}\n\nfunction findAll(test, rootElems){\n\tvar result = [];\n\tvar stack = rootElems.slice();\n\twhile(stack.length){\n\t\tvar elem = stack.shift();\n\t\tif(!isTag(elem)) continue;\n\t\tif (elem.children && elem.children.length > 0) {\n\t\t\tstack.unshift.apply(stack, elem.children);\n\t\t}\n\t\tif(test(elem)) result.push(elem);\n\t}\n\treturn result;\n}\n","var ElementType = require(\"domelementtype\"),\n getOuterHTML = require(\"dom-serializer\"),\n isTag = ElementType.isTag;\n\nmodule.exports = {\n\tgetInnerHTML: getInnerHTML,\n\tgetOuterHTML: getOuterHTML,\n\tgetText: getText\n};\n\nfunction getInnerHTML(elem, opts){\n\treturn elem.children ? elem.children.map(function(elem){\n\t\treturn getOuterHTML(elem, opts);\n\t}).join(\"\") : \"\";\n}\n\nfunction getText(elem){\n\tif(Array.isArray(elem)) return elem.map(getText).join(\"\");\n\tif(isTag(elem)) return elem.name === \"br\" ? \"\\n\" : getText(elem.children);\n\tif(elem.type === ElementType.CDATA) return getText(elem.children);\n\tif(elem.type === ElementType.Text) return elem.data;\n\treturn \"\";\n}\n","var getChildren = exports.getChildren = function(elem){\n\treturn elem.children;\n};\n\nvar getParent = exports.getParent = function(elem){\n\treturn elem.parent;\n};\n\nexports.getSiblings = function(elem){\n\tvar parent = getParent(elem);\n\treturn parent ? getChildren(parent) : [elem];\n};\n\nexports.getAttributeValue = function(elem, name){\n\treturn elem.attribs && elem.attribs[name];\n};\n\nexports.hasAttrib = function(elem, name){\n\treturn !!elem.attribs && hasOwnProperty.call(elem.attribs, name);\n};\n\nexports.getName = function(elem){\n\treturn elem.name;\n};\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeHTML = exports.decodeHTMLStrict = exports.decodeXML = void 0;\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar legacy_json_1 = __importDefault(require(\"./maps/legacy.json\"));\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar decode_codepoint_1 = __importDefault(require(\"./decode_codepoint\"));\nvar strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\\da-fA-F]+|#\\d+);/g;\nexports.decodeXML = getStrictDecoder(xml_json_1.default);\nexports.decodeHTMLStrict = getStrictDecoder(entities_json_1.default);\nfunction getStrictDecoder(map) {\n var replace = getReplacer(map);\n return function (str) { return String(str).replace(strictEntityRe, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\nexports.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n // TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return map[str.slice(1, -1)] || str;\n };\n}\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar decode_json_1 = __importDefault(require(\"./maps/decode.json\"));\n// Adapted from https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\nvar fromCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.fromCodePoint ||\n function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n };\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n if (codePoint in decode_json_1.default) {\n codePoint = decode_json_1.default[codePoint];\n }\n return fromCodePoint(codePoint);\n}\nexports.default = decodeCodePoint;\n","\"use strict\";\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require(\"./maps/xml.json\"));\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nexports.encodeXML = getASCIIEncoder(inverseXML);\nvar entities_json_1 = __importDefault(require(\"./maps/entities.json\"));\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\n/**\n * Encodes all entities and non-ASCII characters in the input.\n *\n * This includes characters that are valid ASCII characters in HTML documents.\n * For example `#` will be encoded as `#`. To get a more compact output,\n * consider using the `encodeNonAsciiHTML` function.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nexports.encodeHTML = getInverse(inverseHTML, htmlReplacer);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nexports.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\n// /[^\\0-\\x7F]/gu\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nvar getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n function (str) { return str.codePointAt(0); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c) {\n return (c.charCodeAt(0) - 0xd800) * 0x400 +\n c.charCodeAt(1) -\n 0xdc00 +\n 0x10000;\n };\nfunction singleCharReplacer(c) {\n return \"&#x\" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0))\n .toString(16)\n .toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reEscapeChars = new RegExp(xmlReplacer.source + \"|\" + reNonASCII.source, \"g\");\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nfunction escape(data) {\n return data.replace(reEscapeChars, singleCharReplacer);\n}\nexports.escape = escape;\n/**\n * Encodes all characters not valid in XML documents using numeric hexadecimal\n * reference (eg. `ü`).\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nfunction escapeUTF8(data) {\n return data.replace(xmlReplacer, singleCharReplacer);\n}\nexports.escapeUTF8 = escapeUTF8;\nfunction getASCIIEncoder(obj) {\n return function (data) {\n return data.replace(reEscapeChars, function (c) { return obj[c] || singleCharReplacer(c); });\n };\n}\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;\nvar decode_1 = require(\"./decode\");\nvar encode_1 = require(\"./encode\");\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeXML` or `decodeHTML` directly.\n */\nfunction decode(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);\n}\nexports.decode = decode;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeHTMLStrict` or `decodeXML` directly.\n */\nfunction decodeStrict(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `encodeHTML`, `encodeXML` or `encodeNonAsciiHTML` directly.\n */\nfunction encode(data, level) {\n return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);\n}\nexports.encode = encode;\nvar encode_2 = require(\"./encode\");\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return encode_2.encodeXML; } });\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return encode_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return encode_2.escapeUTF8; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nvar decode_2 = require(\"./decode\");\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\n","module.exports = CollectingHandler;\n\nfunction CollectingHandler(cbs) {\n this._cbs = cbs || {};\n this.events = [];\n}\n\nvar EVENTS = require(\"./\").EVENTS;\nObject.keys(EVENTS).forEach(function(name) {\n if (EVENTS[name] === 0) {\n name = \"on\" + name;\n CollectingHandler.prototype[name] = function() {\n this.events.push([name]);\n if (this._cbs[name]) this._cbs[name]();\n };\n } else if (EVENTS[name] === 1) {\n name = \"on\" + name;\n CollectingHandler.prototype[name] = function(a) {\n this.events.push([name, a]);\n if (this._cbs[name]) this._cbs[name](a);\n };\n } else if (EVENTS[name] === 2) {\n name = \"on\" + name;\n CollectingHandler.prototype[name] = function(a, b) {\n this.events.push([name, a, b]);\n if (this._cbs[name]) this._cbs[name](a, b);\n };\n } else {\n throw Error(\"wrong number of arguments\");\n }\n});\n\nCollectingHandler.prototype.onreset = function() {\n this.events = [];\n if (this._cbs.onreset) this._cbs.onreset();\n};\n\nCollectingHandler.prototype.restart = function() {\n if (this._cbs.onreset) this._cbs.onreset();\n\n for (var i = 0, len = this.events.length; i < len; i++) {\n if (this._cbs[this.events[i][0]]) {\n var num = this.events[i].length;\n\n if (num === 1) {\n this._cbs[this.events[i][0]]();\n } else if (num === 2) {\n this._cbs[this.events[i][0]](this.events[i][1]);\n } else {\n this._cbs[this.events[i][0]](\n this.events[i][1],\n this.events[i][2]\n );\n }\n }\n }\n};\n","var DomHandler = require(\"domhandler\");\nvar DomUtils = require(\"domutils\");\n\n//TODO: make this a streamable handler\nfunction FeedHandler(callback, options) {\n this.init(callback, options);\n}\n\nrequire(\"inherits\")(FeedHandler, DomHandler);\n\nFeedHandler.prototype.init = DomHandler;\n\nfunction getElements(what, where) {\n return DomUtils.getElementsByTagName(what, where, true);\n}\nfunction getOneElement(what, where) {\n return DomUtils.getElementsByTagName(what, where, true, 1)[0];\n}\nfunction fetch(what, where, recurse) {\n return DomUtils.getText(\n DomUtils.getElementsByTagName(what, where, recurse, 1)\n ).trim();\n}\n\nfunction addConditionally(obj, prop, what, where, recurse) {\n var tmp = fetch(what, where, recurse);\n if (tmp) obj[prop] = tmp;\n}\n\nvar isValidFeed = function(value) {\n return value === \"rss\" || value === \"feed\" || value === \"rdf:RDF\";\n};\n\nFeedHandler.prototype.onend = function() {\n var feed = {},\n feedRoot = getOneElement(isValidFeed, this.dom),\n tmp,\n childs;\n\n if (feedRoot) {\n if (feedRoot.name === \"feed\") {\n childs = feedRoot.children;\n\n feed.type = \"atom\";\n addConditionally(feed, \"id\", \"id\", childs);\n addConditionally(feed, \"title\", \"title\", childs);\n if (\n (tmp = getOneElement(\"link\", childs)) &&\n (tmp = tmp.attribs) &&\n (tmp = tmp.href)\n )\n feed.link = tmp;\n addConditionally(feed, \"description\", \"subtitle\", childs);\n if ((tmp = fetch(\"updated\", childs))) feed.updated = new Date(tmp);\n addConditionally(feed, \"author\", \"email\", childs, true);\n\n feed.items = getElements(\"entry\", childs).map(function(item) {\n var entry = {},\n tmp;\n\n item = item.children;\n\n addConditionally(entry, \"id\", \"id\", item);\n addConditionally(entry, \"title\", \"title\", item);\n if (\n (tmp = getOneElement(\"link\", item)) &&\n (tmp = tmp.attribs) &&\n (tmp = tmp.href)\n )\n entry.link = tmp;\n if ((tmp = fetch(\"summary\", item) || fetch(\"content\", item)))\n entry.description = tmp;\n if ((tmp = fetch(\"updated\", item)))\n entry.pubDate = new Date(tmp);\n return entry;\n });\n } else {\n childs = getOneElement(\"channel\", feedRoot.children).children;\n\n feed.type = feedRoot.name.substr(0, 3);\n feed.id = \"\";\n addConditionally(feed, \"title\", \"title\", childs);\n addConditionally(feed, \"link\", \"link\", childs);\n addConditionally(feed, \"description\", \"description\", childs);\n if ((tmp = fetch(\"lastBuildDate\", childs)))\n feed.updated = new Date(tmp);\n addConditionally(feed, \"author\", \"managingEditor\", childs, true);\n\n feed.items = getElements(\"item\", feedRoot.children).map(function(\n item\n ) {\n var entry = {},\n tmp;\n\n item = item.children;\n\n addConditionally(entry, \"id\", \"guid\", item);\n addConditionally(entry, \"title\", \"title\", item);\n addConditionally(entry, \"link\", \"link\", item);\n addConditionally(entry, \"description\", \"description\", item);\n if ((tmp = fetch(\"pubDate\", item)))\n entry.pubDate = new Date(tmp);\n return entry;\n });\n }\n }\n this.dom = feed;\n DomHandler.prototype._handleCallback.call(\n this,\n feedRoot ? null : Error(\"couldn't find root of feed\")\n );\n};\n\nmodule.exports = FeedHandler;\n","var Tokenizer = require(\"./Tokenizer.js\");\n\n/*\n\tOptions:\n\n\txmlMode: Disables the special behavior for script/style tags (false by default)\n\tlowerCaseAttributeNames: call .toLowerCase for each attribute name (true if xmlMode is `false`)\n\tlowerCaseTags: call .toLowerCase for each tag name (true if xmlMode is `false`)\n*/\n\n/*\n\tCallbacks:\n\n\toncdataend,\n\toncdatastart,\n\tonclosetag,\n\toncomment,\n\toncommentend,\n\tonerror,\n\tonopentag,\n\tonprocessinginstruction,\n\tonreset,\n\tontext\n*/\n\nvar formTags = {\n input: true,\n option: true,\n optgroup: true,\n select: true,\n button: true,\n datalist: true,\n textarea: true\n};\n\nvar openImpliesClose = {\n tr: { tr: true, th: true, td: true },\n th: { th: true },\n td: { thead: true, th: true, td: true },\n body: { head: true, link: true, script: true },\n li: { li: true },\n p: { p: true },\n h1: { p: true },\n h2: { p: true },\n h3: { p: true },\n h4: { p: true },\n h5: { p: true },\n h6: { p: true },\n select: formTags,\n input: formTags,\n output: formTags,\n button: formTags,\n datalist: formTags,\n textarea: formTags,\n option: { option: true },\n optgroup: { optgroup: true }\n};\n\nvar voidElements = {\n __proto__: null,\n area: true,\n base: true,\n basefont: true,\n br: true,\n col: true,\n command: true,\n embed: true,\n frame: true,\n hr: true,\n img: true,\n input: true,\n isindex: true,\n keygen: true,\n link: true,\n meta: true,\n param: true,\n source: true,\n track: true,\n wbr: true\n};\n\nvar foreignContextElements = {\n __proto__: null,\n math: true,\n svg: true\n};\nvar htmlIntegrationElements = {\n __proto__: null,\n mi: true,\n mo: true,\n mn: true,\n ms: true,\n mtext: true,\n \"annotation-xml\": true,\n foreignObject: true,\n desc: true,\n title: true\n};\n\nvar re_nameEnd = /\\s|\\//;\n\nfunction Parser(cbs, options) {\n this._options = options || {};\n this._cbs = cbs || {};\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribvalue = \"\";\n this._attribs = null;\n this._stack = [];\n this._foreignContext = [];\n\n this.startIndex = 0;\n this.endIndex = null;\n\n this._lowerCaseTagNames =\n \"lowerCaseTags\" in this._options\n ? !!this._options.lowerCaseTags\n : !this._options.xmlMode;\n this._lowerCaseAttributeNames =\n \"lowerCaseAttributeNames\" in this._options\n ? !!this._options.lowerCaseAttributeNames\n : !this._options.xmlMode;\n\n if (this._options.Tokenizer) {\n Tokenizer = this._options.Tokenizer;\n }\n this._tokenizer = new Tokenizer(this._options, this);\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n}\n\nrequire(\"inherits\")(Parser, require(\"events\").EventEmitter);\n\nParser.prototype._updatePosition = function(initialOffset) {\n if (this.endIndex === null) {\n if (this._tokenizer._sectionStart <= initialOffset) {\n this.startIndex = 0;\n } else {\n this.startIndex = this._tokenizer._sectionStart - initialOffset;\n }\n } else this.startIndex = this.endIndex + 1;\n this.endIndex = this._tokenizer.getAbsoluteIndex();\n};\n\n//Tokenizer event handlers\nParser.prototype.ontext = function(data) {\n this._updatePosition(1);\n this.endIndex--;\n\n if (this._cbs.ontext) this._cbs.ontext(data);\n};\n\nParser.prototype.onopentagname = function(name) {\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n this._tagname = name;\n\n if (!this._options.xmlMode && name in openImpliesClose) {\n for (\n var el;\n (el = this._stack[this._stack.length - 1]) in\n openImpliesClose[name];\n this.onclosetag(el)\n );\n }\n\n if (this._options.xmlMode || !(name in voidElements)) {\n this._stack.push(name);\n if (name in foreignContextElements) this._foreignContext.push(true);\n else if (name in htmlIntegrationElements)\n this._foreignContext.push(false);\n }\n\n if (this._cbs.onopentagname) this._cbs.onopentagname(name);\n if (this._cbs.onopentag) this._attribs = {};\n};\n\nParser.prototype.onopentagend = function() {\n this._updatePosition(1);\n\n if (this._attribs) {\n if (this._cbs.onopentag)\n this._cbs.onopentag(this._tagname, this._attribs);\n this._attribs = null;\n }\n\n if (\n !this._options.xmlMode &&\n this._cbs.onclosetag &&\n this._tagname in voidElements\n ) {\n this._cbs.onclosetag(this._tagname);\n }\n\n this._tagname = \"\";\n};\n\nParser.prototype.onclosetag = function(name) {\n this._updatePosition(1);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n \n if (name in foreignContextElements || name in htmlIntegrationElements) {\n this._foreignContext.pop();\n }\n\n if (\n this._stack.length &&\n (!(name in voidElements) || this._options.xmlMode)\n ) {\n var pos = this._stack.lastIndexOf(name);\n if (pos !== -1) {\n if (this._cbs.onclosetag) {\n pos = this._stack.length - pos;\n while (pos--) this._cbs.onclosetag(this._stack.pop());\n } else this._stack.length = pos;\n } else if (name === \"p\" && !this._options.xmlMode) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n } else if (!this._options.xmlMode && (name === \"br\" || name === \"p\")) {\n this.onopentagname(name);\n this._closeCurrentTag();\n }\n};\n\nParser.prototype.onselfclosingtag = function() {\n if (\n this._options.xmlMode ||\n this._options.recognizeSelfClosing ||\n this._foreignContext[this._foreignContext.length - 1]\n ) {\n this._closeCurrentTag();\n } else {\n this.onopentagend();\n }\n};\n\nParser.prototype._closeCurrentTag = function() {\n var name = this._tagname;\n\n this.onopentagend();\n\n //self-closing tags will be on the top of the stack\n //(cheaper check than in onclosetag)\n if (this._stack[this._stack.length - 1] === name) {\n if (this._cbs.onclosetag) {\n this._cbs.onclosetag(name);\n }\n this._stack.pop();\n \n }\n};\n\nParser.prototype.onattribname = function(name) {\n if (this._lowerCaseAttributeNames) {\n name = name.toLowerCase();\n }\n this._attribname = name;\n};\n\nParser.prototype.onattribdata = function(value) {\n this._attribvalue += value;\n};\n\nParser.prototype.onattribend = function() {\n if (this._cbs.onattribute)\n this._cbs.onattribute(this._attribname, this._attribvalue);\n if (\n this._attribs &&\n !Object.prototype.hasOwnProperty.call(this._attribs, this._attribname)\n ) {\n this._attribs[this._attribname] = this._attribvalue;\n }\n this._attribname = \"\";\n this._attribvalue = \"\";\n};\n\nParser.prototype._getInstructionName = function(value) {\n var idx = value.search(re_nameEnd),\n name = idx < 0 ? value : value.substr(0, idx);\n\n if (this._lowerCaseTagNames) {\n name = name.toLowerCase();\n }\n\n return name;\n};\n\nParser.prototype.ondeclaration = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"!\" + name, \"!\" + value);\n }\n};\n\nParser.prototype.onprocessinginstruction = function(value) {\n if (this._cbs.onprocessinginstruction) {\n var name = this._getInstructionName(value);\n this._cbs.onprocessinginstruction(\"?\" + name, \"?\" + value);\n }\n};\n\nParser.prototype.oncomment = function(value) {\n this._updatePosition(4);\n\n if (this._cbs.oncomment) this._cbs.oncomment(value);\n if (this._cbs.oncommentend) this._cbs.oncommentend();\n};\n\nParser.prototype.oncdata = function(value) {\n this._updatePosition(1);\n\n if (this._options.xmlMode || this._options.recognizeCDATA) {\n if (this._cbs.oncdatastart) this._cbs.oncdatastart();\n if (this._cbs.ontext) this._cbs.ontext(value);\n if (this._cbs.oncdataend) this._cbs.oncdataend();\n } else {\n this.oncomment(\"[CDATA[\" + value + \"]]\");\n }\n};\n\nParser.prototype.onerror = function(err) {\n if (this._cbs.onerror) this._cbs.onerror(err);\n};\n\nParser.prototype.onend = function() {\n if (this._cbs.onclosetag) {\n for (\n var i = this._stack.length;\n i > 0;\n this._cbs.onclosetag(this._stack[--i])\n );\n }\n if (this._cbs.onend) this._cbs.onend();\n};\n\n//Resets the parser to a blank state, ready to parse a new HTML document\nParser.prototype.reset = function() {\n if (this._cbs.onreset) this._cbs.onreset();\n this._tokenizer.reset();\n\n this._tagname = \"\";\n this._attribname = \"\";\n this._attribs = null;\n this._stack = [];\n\n if (this._cbs.onparserinit) this._cbs.onparserinit(this);\n};\n\n//Parses a complete HTML document and pushes it to the handler\nParser.prototype.parseComplete = function(data) {\n this.reset();\n this.end(data);\n};\n\nParser.prototype.write = function(chunk) {\n this._tokenizer.write(chunk);\n};\n\nParser.prototype.end = function(chunk) {\n this._tokenizer.end(chunk);\n};\n\nParser.prototype.pause = function() {\n this._tokenizer.pause();\n};\n\nParser.prototype.resume = function() {\n this._tokenizer.resume();\n};\n\n//alias for backwards compat\nParser.prototype.parseChunk = Parser.prototype.write;\nParser.prototype.done = Parser.prototype.end;\n\nmodule.exports = Parser;\n","module.exports = ProxyHandler;\n\nfunction ProxyHandler(cbs) {\n this._cbs = cbs || {};\n}\n\nvar EVENTS = require(\"./\").EVENTS;\nObject.keys(EVENTS).forEach(function(name) {\n if (EVENTS[name] === 0) {\n name = \"on\" + name;\n ProxyHandler.prototype[name] = function() {\n if (this._cbs[name]) this._cbs[name]();\n };\n } else if (EVENTS[name] === 1) {\n name = \"on\" + name;\n ProxyHandler.prototype[name] = function(a) {\n if (this._cbs[name]) this._cbs[name](a);\n };\n } else if (EVENTS[name] === 2) {\n name = \"on\" + name;\n ProxyHandler.prototype[name] = function(a, b) {\n if (this._cbs[name]) this._cbs[name](a, b);\n };\n } else {\n throw Error(\"wrong number of arguments\");\n }\n});\n","module.exports = Stream;\n\nvar Parser = require(\"./WritableStream.js\");\n\nfunction Stream(options) {\n Parser.call(this, new Cbs(this), options);\n}\n\nrequire(\"inherits\")(Stream, Parser);\n\nStream.prototype.readable = true;\n\nfunction Cbs(scope) {\n this.scope = scope;\n}\n\nvar EVENTS = require(\"../\").EVENTS;\n\nObject.keys(EVENTS).forEach(function(name) {\n if (EVENTS[name] === 0) {\n Cbs.prototype[\"on\" + name] = function() {\n this.scope.emit(name);\n };\n } else if (EVENTS[name] === 1) {\n Cbs.prototype[\"on\" + name] = function(a) {\n this.scope.emit(name, a);\n };\n } else if (EVENTS[name] === 2) {\n Cbs.prototype[\"on\" + name] = function(a, b) {\n this.scope.emit(name, a, b);\n };\n } else {\n throw Error(\"wrong number of arguments!\");\n }\n});\n","module.exports = Tokenizer;\n\nvar decodeCodePoint = require(\"entities/lib/decode_codepoint.js\");\nvar entityMap = require(\"entities/maps/entities.json\");\nvar legacyMap = require(\"entities/maps/legacy.json\");\nvar xmlMap = require(\"entities/maps/xml.json\");\n\nvar i = 0;\n\nvar TEXT = i++;\nvar BEFORE_TAG_NAME = i++; //after <\nvar IN_TAG_NAME = i++;\nvar IN_SELF_CLOSING_TAG = i++;\nvar BEFORE_CLOSING_TAG_NAME = i++;\nvar IN_CLOSING_TAG_NAME = i++;\nvar AFTER_CLOSING_TAG_NAME = i++;\n\n//attributes\nvar BEFORE_ATTRIBUTE_NAME = i++;\nvar IN_ATTRIBUTE_NAME = i++;\nvar AFTER_ATTRIBUTE_NAME = i++;\nvar BEFORE_ATTRIBUTE_VALUE = i++;\nvar IN_ATTRIBUTE_VALUE_DQ = i++; // \"\nvar IN_ATTRIBUTE_VALUE_SQ = i++; // '\nvar IN_ATTRIBUTE_VALUE_NQ = i++;\n\n//declarations\nvar BEFORE_DECLARATION = i++; // !\nvar IN_DECLARATION = i++;\n\n//processing instructions\nvar IN_PROCESSING_INSTRUCTION = i++; // ?\n\n//comments\nvar BEFORE_COMMENT = i++;\nvar IN_COMMENT = i++;\nvar AFTER_COMMENT_1 = i++;\nvar AFTER_COMMENT_2 = i++;\n\n//cdata\nvar BEFORE_CDATA_1 = i++; // [\nvar BEFORE_CDATA_2 = i++; // C\nvar BEFORE_CDATA_3 = i++; // D\nvar BEFORE_CDATA_4 = i++; // A\nvar BEFORE_CDATA_5 = i++; // T\nvar BEFORE_CDATA_6 = i++; // A\nvar IN_CDATA = i++; // [\nvar AFTER_CDATA_1 = i++; // ]\nvar AFTER_CDATA_2 = i++; // ]\n\n//special tags\nvar BEFORE_SPECIAL = i++; //S\nvar BEFORE_SPECIAL_END = i++; //S\n\nvar BEFORE_SCRIPT_1 = i++; //C\nvar BEFORE_SCRIPT_2 = i++; //R\nvar BEFORE_SCRIPT_3 = i++; //I\nvar BEFORE_SCRIPT_4 = i++; //P\nvar BEFORE_SCRIPT_5 = i++; //T\nvar AFTER_SCRIPT_1 = i++; //C\nvar AFTER_SCRIPT_2 = i++; //R\nvar AFTER_SCRIPT_3 = i++; //I\nvar AFTER_SCRIPT_4 = i++; //P\nvar AFTER_SCRIPT_5 = i++; //T\n\nvar BEFORE_STYLE_1 = i++; //T\nvar BEFORE_STYLE_2 = i++; //Y\nvar BEFORE_STYLE_3 = i++; //L\nvar BEFORE_STYLE_4 = i++; //E\nvar AFTER_STYLE_1 = i++; //T\nvar AFTER_STYLE_2 = i++; //Y\nvar AFTER_STYLE_3 = i++; //L\nvar AFTER_STYLE_4 = i++; //E\n\nvar BEFORE_ENTITY = i++; //&\nvar BEFORE_NUMERIC_ENTITY = i++; //#\nvar IN_NAMED_ENTITY = i++;\nvar IN_NUMERIC_ENTITY = i++;\nvar IN_HEX_ENTITY = i++; //X\n\nvar j = 0;\n\nvar SPECIAL_NONE = j++;\nvar SPECIAL_SCRIPT = j++;\nvar SPECIAL_STYLE = j++;\n\nfunction whitespace(c) {\n return c === \" \" || c === \"\\n\" || c === \"\\t\" || c === \"\\f\" || c === \"\\r\";\n}\n\nfunction ifElseState(upper, SUCCESS, FAILURE) {\n var lower = upper.toLowerCase();\n\n if (upper === lower) {\n return function(c) {\n if (c === lower) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n } else {\n return function(c) {\n if (c === lower || c === upper) {\n this._state = SUCCESS;\n } else {\n this._state = FAILURE;\n this._index--;\n }\n };\n }\n}\n\nfunction consumeSpecialNameChar(upper, NEXT_STATE) {\n var lower = upper.toLowerCase();\n\n return function(c) {\n if (c === lower || c === upper) {\n this._state = NEXT_STATE;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n };\n}\n\nfunction Tokenizer(options, cbs) {\n this._state = TEXT;\n this._buffer = \"\";\n this._sectionStart = 0;\n this._index = 0;\n this._bufferOffset = 0; //chars removed from _buffer\n this._baseState = TEXT;\n this._special = SPECIAL_NONE;\n this._cbs = cbs;\n this._running = true;\n this._ended = false;\n this._xmlMode = !!(options && options.xmlMode);\n this._decodeEntities = !!(options && options.decodeEntities);\n}\n\nTokenizer.prototype._stateText = function(c) {\n if (c === \"<\") {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._state = BEFORE_TAG_NAME;\n this._sectionStart = this._index;\n } else if (\n this._decodeEntities &&\n this._special === SPECIAL_NONE &&\n c === \"&\"\n ) {\n if (this._index > this._sectionStart) {\n this._cbs.ontext(this._getSection());\n }\n this._baseState = TEXT;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeTagName = function(c) {\n if (c === \"/\") {\n this._state = BEFORE_CLOSING_TAG_NAME;\n } else if (c === \"<\") {\n this._cbs.ontext(this._getSection());\n this._sectionStart = this._index;\n } else if (c === \">\" || this._special !== SPECIAL_NONE || whitespace(c)) {\n this._state = TEXT;\n } else if (c === \"!\") {\n this._state = BEFORE_DECLARATION;\n this._sectionStart = this._index + 1;\n } else if (c === \"?\") {\n this._state = IN_PROCESSING_INSTRUCTION;\n this._sectionStart = this._index + 1;\n } else {\n this._state =\n !this._xmlMode && (c === \"s\" || c === \"S\")\n ? BEFORE_SPECIAL\n : IN_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInTagName = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._emitToken(\"onopentagname\");\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateBeforeCloseingTagName = function(c) {\n if (whitespace(c));\n else if (c === \">\") {\n this._state = TEXT;\n } else if (this._special !== SPECIAL_NONE) {\n if (c === \"s\" || c === \"S\") {\n this._state = BEFORE_SPECIAL_END;\n } else {\n this._state = TEXT;\n this._index--;\n }\n } else {\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInCloseingTagName = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._emitToken(\"onclosetag\");\n this._state = AFTER_CLOSING_TAG_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterCloseingTagName = function(c) {\n //skip everything until \">\"\n if (c === \">\") {\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeName = function(c) {\n if (c === \">\") {\n this._cbs.onopentagend();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c === \"/\") {\n this._state = IN_SELF_CLOSING_TAG;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInSelfClosingTag = function(c) {\n if (c === \">\") {\n this._cbs.onselfclosingtag();\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInAttributeName = function(c) {\n if (c === \"=\" || c === \"/\" || c === \">\" || whitespace(c)) {\n this._cbs.onattribname(this._getSection());\n this._sectionStart = -1;\n this._state = AFTER_ATTRIBUTE_NAME;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateAfterAttributeName = function(c) {\n if (c === \"=\") {\n this._state = BEFORE_ATTRIBUTE_VALUE;\n } else if (c === \"/\" || c === \">\") {\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (!whitespace(c)) {\n this._cbs.onattribend();\n this._state = IN_ATTRIBUTE_NAME;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeAttributeValue = function(c) {\n if (c === '\"') {\n this._state = IN_ATTRIBUTE_VALUE_DQ;\n this._sectionStart = this._index + 1;\n } else if (c === \"'\") {\n this._state = IN_ATTRIBUTE_VALUE_SQ;\n this._sectionStart = this._index + 1;\n } else if (!whitespace(c)) {\n this._state = IN_ATTRIBUTE_VALUE_NQ;\n this._sectionStart = this._index;\n this._index--; //reconsume token\n }\n};\n\nTokenizer.prototype._stateInAttributeValueDoubleQuotes = function(c) {\n if (c === '\"') {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueSingleQuotes = function(c) {\n if (c === \"'\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateInAttributeValueNoQuotes = function(c) {\n if (whitespace(c) || c === \">\") {\n this._emitToken(\"onattribdata\");\n this._cbs.onattribend();\n this._state = BEFORE_ATTRIBUTE_NAME;\n this._index--;\n } else if (this._decodeEntities && c === \"&\") {\n this._emitToken(\"onattribdata\");\n this._baseState = this._state;\n this._state = BEFORE_ENTITY;\n this._sectionStart = this._index;\n }\n};\n\nTokenizer.prototype._stateBeforeDeclaration = function(c) {\n this._state =\n c === \"[\"\n ? BEFORE_CDATA_1\n : c === \"-\"\n ? BEFORE_COMMENT\n : IN_DECLARATION;\n};\n\nTokenizer.prototype._stateInDeclaration = function(c) {\n if (c === \">\") {\n this._cbs.ondeclaration(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateInProcessingInstruction = function(c) {\n if (c === \">\") {\n this._cbs.onprocessinginstruction(this._getSection());\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n }\n};\n\nTokenizer.prototype._stateBeforeComment = function(c) {\n if (c === \"-\") {\n this._state = IN_COMMENT;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n }\n};\n\nTokenizer.prototype._stateInComment = function(c) {\n if (c === \"-\") this._state = AFTER_COMMENT_1;\n};\n\nTokenizer.prototype._stateAfterComment1 = function(c) {\n if (c === \"-\") {\n this._state = AFTER_COMMENT_2;\n } else {\n this._state = IN_COMMENT;\n }\n};\n\nTokenizer.prototype._stateAfterComment2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncomment(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"-\") {\n this._state = IN_COMMENT;\n }\n // else: stay in AFTER_COMMENT_2 (`--->`)\n};\n\nTokenizer.prototype._stateBeforeCdata1 = ifElseState(\n \"C\",\n BEFORE_CDATA_2,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata2 = ifElseState(\n \"D\",\n BEFORE_CDATA_3,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata3 = ifElseState(\n \"A\",\n BEFORE_CDATA_4,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata4 = ifElseState(\n \"T\",\n BEFORE_CDATA_5,\n IN_DECLARATION\n);\nTokenizer.prototype._stateBeforeCdata5 = ifElseState(\n \"A\",\n BEFORE_CDATA_6,\n IN_DECLARATION\n);\n\nTokenizer.prototype._stateBeforeCdata6 = function(c) {\n if (c === \"[\") {\n this._state = IN_CDATA;\n this._sectionStart = this._index + 1;\n } else {\n this._state = IN_DECLARATION;\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInCdata = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_1;\n};\n\nTokenizer.prototype._stateAfterCdata1 = function(c) {\n if (c === \"]\") this._state = AFTER_CDATA_2;\n else this._state = IN_CDATA;\n};\n\nTokenizer.prototype._stateAfterCdata2 = function(c) {\n if (c === \">\") {\n //remove 2 trailing chars\n this._cbs.oncdata(\n this._buffer.substring(this._sectionStart, this._index - 2)\n );\n this._state = TEXT;\n this._sectionStart = this._index + 1;\n } else if (c !== \"]\") {\n this._state = IN_CDATA;\n }\n //else: stay in AFTER_CDATA_2 (`]]]>`)\n};\n\nTokenizer.prototype._stateBeforeSpecial = function(c) {\n if (c === \"c\" || c === \"C\") {\n this._state = BEFORE_SCRIPT_1;\n } else if (c === \"t\" || c === \"T\") {\n this._state = BEFORE_STYLE_1;\n } else {\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n }\n};\n\nTokenizer.prototype._stateBeforeSpecialEnd = function(c) {\n if (this._special === SPECIAL_SCRIPT && (c === \"c\" || c === \"C\")) {\n this._state = AFTER_SCRIPT_1;\n } else if (this._special === SPECIAL_STYLE && (c === \"t\" || c === \"T\")) {\n this._state = AFTER_STYLE_1;\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeScript1 = consumeSpecialNameChar(\n \"R\",\n BEFORE_SCRIPT_2\n);\nTokenizer.prototype._stateBeforeScript2 = consumeSpecialNameChar(\n \"I\",\n BEFORE_SCRIPT_3\n);\nTokenizer.prototype._stateBeforeScript3 = consumeSpecialNameChar(\n \"P\",\n BEFORE_SCRIPT_4\n);\nTokenizer.prototype._stateBeforeScript4 = consumeSpecialNameChar(\n \"T\",\n BEFORE_SCRIPT_5\n);\n\nTokenizer.prototype._stateBeforeScript5 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_SCRIPT;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterScript1 = ifElseState(\"R\", AFTER_SCRIPT_2, TEXT);\nTokenizer.prototype._stateAfterScript2 = ifElseState(\"I\", AFTER_SCRIPT_3, TEXT);\nTokenizer.prototype._stateAfterScript3 = ifElseState(\"P\", AFTER_SCRIPT_4, TEXT);\nTokenizer.prototype._stateAfterScript4 = ifElseState(\"T\", AFTER_SCRIPT_5, TEXT);\n\nTokenizer.prototype._stateAfterScript5 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 6;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeStyle1 = consumeSpecialNameChar(\n \"Y\",\n BEFORE_STYLE_2\n);\nTokenizer.prototype._stateBeforeStyle2 = consumeSpecialNameChar(\n \"L\",\n BEFORE_STYLE_3\n);\nTokenizer.prototype._stateBeforeStyle3 = consumeSpecialNameChar(\n \"E\",\n BEFORE_STYLE_4\n);\n\nTokenizer.prototype._stateBeforeStyle4 = function(c) {\n if (c === \"/\" || c === \">\" || whitespace(c)) {\n this._special = SPECIAL_STYLE;\n }\n this._state = IN_TAG_NAME;\n this._index--; //consume the token again\n};\n\nTokenizer.prototype._stateAfterStyle1 = ifElseState(\"Y\", AFTER_STYLE_2, TEXT);\nTokenizer.prototype._stateAfterStyle2 = ifElseState(\"L\", AFTER_STYLE_3, TEXT);\nTokenizer.prototype._stateAfterStyle3 = ifElseState(\"E\", AFTER_STYLE_4, TEXT);\n\nTokenizer.prototype._stateAfterStyle4 = function(c) {\n if (c === \">\" || whitespace(c)) {\n this._special = SPECIAL_NONE;\n this._state = IN_CLOSING_TAG_NAME;\n this._sectionStart = this._index - 5;\n this._index--; //reconsume the token\n } else this._state = TEXT;\n};\n\nTokenizer.prototype._stateBeforeEntity = ifElseState(\n \"#\",\n BEFORE_NUMERIC_ENTITY,\n IN_NAMED_ENTITY\n);\nTokenizer.prototype._stateBeforeNumericEntity = ifElseState(\n \"X\",\n IN_HEX_ENTITY,\n IN_NUMERIC_ENTITY\n);\n\n//for entities terminated with a semicolon\nTokenizer.prototype._parseNamedEntityStrict = function() {\n //offset = 1\n if (this._sectionStart + 1 < this._index) {\n var entity = this._buffer.substring(\n this._sectionStart + 1,\n this._index\n ),\n map = this._xmlMode ? xmlMap : entityMap;\n\n if (map.hasOwnProperty(entity)) {\n this._emitPartial(map[entity]);\n this._sectionStart = this._index + 1;\n }\n }\n};\n\n//parses legacy entities (without trailing semicolon)\nTokenizer.prototype._parseLegacyEntity = function() {\n var start = this._sectionStart + 1,\n limit = this._index - start;\n\n if (limit > 6) limit = 6; //the max length of legacy entities is 6\n\n while (limit >= 2) {\n //the min length of legacy entities is 2\n var entity = this._buffer.substr(start, limit);\n\n if (legacyMap.hasOwnProperty(entity)) {\n this._emitPartial(legacyMap[entity]);\n this._sectionStart += limit + 1;\n return;\n } else {\n limit--;\n }\n }\n};\n\nTokenizer.prototype._stateInNamedEntity = function(c) {\n if (c === \";\") {\n this._parseNamedEntityStrict();\n if (this._sectionStart + 1 < this._index && !this._xmlMode) {\n this._parseLegacyEntity();\n }\n this._state = this._baseState;\n } else if (\n (c < \"a\" || c > \"z\") &&\n (c < \"A\" || c > \"Z\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (this._xmlMode);\n else if (this._sectionStart + 1 === this._index);\n else if (this._baseState !== TEXT) {\n if (c !== \"=\") {\n this._parseNamedEntityStrict();\n }\n } else {\n this._parseLegacyEntity();\n }\n\n this._state = this._baseState;\n this._index--;\n }\n};\n\nTokenizer.prototype._decodeNumericEntity = function(offset, base) {\n var sectionStart = this._sectionStart + offset;\n\n if (sectionStart !== this._index) {\n //parse entity\n var entity = this._buffer.substring(sectionStart, this._index);\n var parsed = parseInt(entity, base);\n\n this._emitPartial(decodeCodePoint(parsed));\n this._sectionStart = this._index;\n } else {\n this._sectionStart--;\n }\n\n this._state = this._baseState;\n};\n\nTokenizer.prototype._stateInNumericEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(2, 10);\n this._sectionStart++;\n } else if (c < \"0\" || c > \"9\") {\n if (!this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._stateInHexEntity = function(c) {\n if (c === \";\") {\n this._decodeNumericEntity(3, 16);\n this._sectionStart++;\n } else if (\n (c < \"a\" || c > \"f\") &&\n (c < \"A\" || c > \"F\") &&\n (c < \"0\" || c > \"9\")\n ) {\n if (!this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n } else {\n this._state = this._baseState;\n }\n this._index--;\n }\n};\n\nTokenizer.prototype._cleanup = function() {\n if (this._sectionStart < 0) {\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._running) {\n if (this._state === TEXT) {\n if (this._sectionStart !== this._index) {\n this._cbs.ontext(this._buffer.substr(this._sectionStart));\n }\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else if (this._sectionStart === this._index) {\n //the section just started\n this._buffer = \"\";\n this._bufferOffset += this._index;\n this._index = 0;\n } else {\n //remove everything unnecessary\n this._buffer = this._buffer.substr(this._sectionStart);\n this._index -= this._sectionStart;\n this._bufferOffset += this._sectionStart;\n }\n\n this._sectionStart = 0;\n }\n};\n\n//TODO make events conditional\nTokenizer.prototype.write = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".write() after done!\"));\n\n this._buffer += chunk;\n this._parse();\n};\n\nTokenizer.prototype._parse = function() {\n while (this._index < this._buffer.length && this._running) {\n var c = this._buffer.charAt(this._index);\n if (this._state === TEXT) {\n this._stateText(c);\n } else if (this._state === BEFORE_TAG_NAME) {\n this._stateBeforeTagName(c);\n } else if (this._state === IN_TAG_NAME) {\n this._stateInTagName(c);\n } else if (this._state === BEFORE_CLOSING_TAG_NAME) {\n this._stateBeforeCloseingTagName(c);\n } else if (this._state === IN_CLOSING_TAG_NAME) {\n this._stateInCloseingTagName(c);\n } else if (this._state === AFTER_CLOSING_TAG_NAME) {\n this._stateAfterCloseingTagName(c);\n } else if (this._state === IN_SELF_CLOSING_TAG) {\n this._stateInSelfClosingTag(c);\n } else if (this._state === BEFORE_ATTRIBUTE_NAME) {\n\n /*\n\t\t*\tattributes\n\t\t*/\n this._stateBeforeAttributeName(c);\n } else if (this._state === IN_ATTRIBUTE_NAME) {\n this._stateInAttributeName(c);\n } else if (this._state === AFTER_ATTRIBUTE_NAME) {\n this._stateAfterAttributeName(c);\n } else if (this._state === BEFORE_ATTRIBUTE_VALUE) {\n this._stateBeforeAttributeValue(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_DQ) {\n this._stateInAttributeValueDoubleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_SQ) {\n this._stateInAttributeValueSingleQuotes(c);\n } else if (this._state === IN_ATTRIBUTE_VALUE_NQ) {\n this._stateInAttributeValueNoQuotes(c);\n } else if (this._state === BEFORE_DECLARATION) {\n\n /*\n\t\t*\tdeclarations\n\t\t*/\n this._stateBeforeDeclaration(c);\n } else if (this._state === IN_DECLARATION) {\n this._stateInDeclaration(c);\n } else if (this._state === IN_PROCESSING_INSTRUCTION) {\n\n /*\n\t\t*\tprocessing instructions\n\t\t*/\n this._stateInProcessingInstruction(c);\n } else if (this._state === BEFORE_COMMENT) {\n\n /*\n\t\t*\tcomments\n\t\t*/\n this._stateBeforeComment(c);\n } else if (this._state === IN_COMMENT) {\n this._stateInComment(c);\n } else if (this._state === AFTER_COMMENT_1) {\n this._stateAfterComment1(c);\n } else if (this._state === AFTER_COMMENT_2) {\n this._stateAfterComment2(c);\n } else if (this._state === BEFORE_CDATA_1) {\n\n /*\n\t\t*\tcdata\n\t\t*/\n this._stateBeforeCdata1(c);\n } else if (this._state === BEFORE_CDATA_2) {\n this._stateBeforeCdata2(c);\n } else if (this._state === BEFORE_CDATA_3) {\n this._stateBeforeCdata3(c);\n } else if (this._state === BEFORE_CDATA_4) {\n this._stateBeforeCdata4(c);\n } else if (this._state === BEFORE_CDATA_5) {\n this._stateBeforeCdata5(c);\n } else if (this._state === BEFORE_CDATA_6) {\n this._stateBeforeCdata6(c);\n } else if (this._state === IN_CDATA) {\n this._stateInCdata(c);\n } else if (this._state === AFTER_CDATA_1) {\n this._stateAfterCdata1(c);\n } else if (this._state === AFTER_CDATA_2) {\n this._stateAfterCdata2(c);\n } else if (this._state === BEFORE_SPECIAL) {\n\n /*\n\t\t* special tags\n\t\t*/\n this._stateBeforeSpecial(c);\n } else if (this._state === BEFORE_SPECIAL_END) {\n this._stateBeforeSpecialEnd(c);\n } else if (this._state === BEFORE_SCRIPT_1) {\n\n /*\n\t\t* script\n\t\t*/\n this._stateBeforeScript1(c);\n } else if (this._state === BEFORE_SCRIPT_2) {\n this._stateBeforeScript2(c);\n } else if (this._state === BEFORE_SCRIPT_3) {\n this._stateBeforeScript3(c);\n } else if (this._state === BEFORE_SCRIPT_4) {\n this._stateBeforeScript4(c);\n } else if (this._state === BEFORE_SCRIPT_5) {\n this._stateBeforeScript5(c);\n } else if (this._state === AFTER_SCRIPT_1) {\n this._stateAfterScript1(c);\n } else if (this._state === AFTER_SCRIPT_2) {\n this._stateAfterScript2(c);\n } else if (this._state === AFTER_SCRIPT_3) {\n this._stateAfterScript3(c);\n } else if (this._state === AFTER_SCRIPT_4) {\n this._stateAfterScript4(c);\n } else if (this._state === AFTER_SCRIPT_5) {\n this._stateAfterScript5(c);\n } else if (this._state === BEFORE_STYLE_1) {\n\n /*\n\t\t* style\n\t\t*/\n this._stateBeforeStyle1(c);\n } else if (this._state === BEFORE_STYLE_2) {\n this._stateBeforeStyle2(c);\n } else if (this._state === BEFORE_STYLE_3) {\n this._stateBeforeStyle3(c);\n } else if (this._state === BEFORE_STYLE_4) {\n this._stateBeforeStyle4(c);\n } else if (this._state === AFTER_STYLE_1) {\n this._stateAfterStyle1(c);\n } else if (this._state === AFTER_STYLE_2) {\n this._stateAfterStyle2(c);\n } else if (this._state === AFTER_STYLE_3) {\n this._stateAfterStyle3(c);\n } else if (this._state === AFTER_STYLE_4) {\n this._stateAfterStyle4(c);\n } else if (this._state === BEFORE_ENTITY) {\n\n /*\n\t\t* entities\n\t\t*/\n this._stateBeforeEntity(c);\n } else if (this._state === BEFORE_NUMERIC_ENTITY) {\n this._stateBeforeNumericEntity(c);\n } else if (this._state === IN_NAMED_ENTITY) {\n this._stateInNamedEntity(c);\n } else if (this._state === IN_NUMERIC_ENTITY) {\n this._stateInNumericEntity(c);\n } else if (this._state === IN_HEX_ENTITY) {\n this._stateInHexEntity(c);\n } else {\n this._cbs.onerror(Error(\"unknown _state\"), this._state);\n }\n\n this._index++;\n }\n\n this._cleanup();\n};\n\nTokenizer.prototype.pause = function() {\n this._running = false;\n};\nTokenizer.prototype.resume = function() {\n this._running = true;\n\n if (this._index < this._buffer.length) {\n this._parse();\n }\n if (this._ended) {\n this._finish();\n }\n};\n\nTokenizer.prototype.end = function(chunk) {\n if (this._ended) this._cbs.onerror(Error(\".end() after done!\"));\n if (chunk) this.write(chunk);\n\n this._ended = true;\n\n if (this._running) this._finish();\n};\n\nTokenizer.prototype._finish = function() {\n //if there is remaining data, emit it in a reasonable way\n if (this._sectionStart < this._index) {\n this._handleTrailingData();\n }\n\n this._cbs.onend();\n};\n\nTokenizer.prototype._handleTrailingData = function() {\n var data = this._buffer.substr(this._sectionStart);\n\n if (\n this._state === IN_CDATA ||\n this._state === AFTER_CDATA_1 ||\n this._state === AFTER_CDATA_2\n ) {\n this._cbs.oncdata(data);\n } else if (\n this._state === IN_COMMENT ||\n this._state === AFTER_COMMENT_1 ||\n this._state === AFTER_COMMENT_2\n ) {\n this._cbs.oncomment(data);\n } else if (this._state === IN_NAMED_ENTITY && !this._xmlMode) {\n this._parseLegacyEntity();\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_NUMERIC_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(2, 10);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (this._state === IN_HEX_ENTITY && !this._xmlMode) {\n this._decodeNumericEntity(3, 16);\n if (this._sectionStart < this._index) {\n this._state = this._baseState;\n this._handleTrailingData();\n }\n } else if (\n this._state !== IN_TAG_NAME &&\n this._state !== BEFORE_ATTRIBUTE_NAME &&\n this._state !== BEFORE_ATTRIBUTE_VALUE &&\n this._state !== AFTER_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_NAME &&\n this._state !== IN_ATTRIBUTE_VALUE_SQ &&\n this._state !== IN_ATTRIBUTE_VALUE_DQ &&\n this._state !== IN_ATTRIBUTE_VALUE_NQ &&\n this._state !== IN_CLOSING_TAG_NAME\n ) {\n this._cbs.ontext(data);\n }\n //else, ignore remaining data\n //TODO add a way to remove current tag\n};\n\nTokenizer.prototype.reset = function() {\n Tokenizer.call(\n this,\n { xmlMode: this._xmlMode, decodeEntities: this._decodeEntities },\n this._cbs\n );\n};\n\nTokenizer.prototype.getAbsoluteIndex = function() {\n return this._bufferOffset + this._index;\n};\n\nTokenizer.prototype._getSection = function() {\n return this._buffer.substring(this._sectionStart, this._index);\n};\n\nTokenizer.prototype._emitToken = function(name) {\n this._cbs[name](this._getSection());\n this._sectionStart = -1;\n};\n\nTokenizer.prototype._emitPartial = function(value) {\n if (this._baseState !== TEXT) {\n this._cbs.onattribdata(value); //TODO implement the new event\n } else {\n this._cbs.ontext(value);\n }\n};\n","module.exports = Stream;\n\nvar Parser = require(\"./Parser.js\");\nvar WritableStream = require(\"readable-stream\").Writable;\nvar StringDecoder = require(\"string_decoder\").StringDecoder;\nvar Buffer = require(\"buffer\").Buffer;\n\nfunction Stream(cbs, options) {\n var parser = (this._parser = new Parser(cbs, options));\n var decoder = (this._decoder = new StringDecoder());\n\n WritableStream.call(this, { decodeStrings: false });\n\n this.once(\"finish\", function() {\n parser.end(decoder.end());\n });\n}\n\nrequire(\"inherits\")(Stream, WritableStream);\n\nStream.prototype._write = function(chunk, encoding, cb) {\n if (chunk instanceof Buffer) chunk = this._decoder.write(chunk);\n this._parser.write(chunk);\n cb();\n};\n","var Parser = require(\"./Parser.js\");\nvar DomHandler = require(\"domhandler\");\n\nfunction defineProp(name, value) {\n delete module.exports[name];\n module.exports[name] = value;\n return value;\n}\n\nmodule.exports = {\n Parser: Parser,\n Tokenizer: require(\"./Tokenizer.js\"),\n ElementType: require(\"domelementtype\"),\n DomHandler: DomHandler,\n get FeedHandler() {\n return defineProp(\"FeedHandler\", require(\"./FeedHandler.js\"));\n },\n get Stream() {\n return defineProp(\"Stream\", require(\"./Stream.js\"));\n },\n get WritableStream() {\n return defineProp(\"WritableStream\", require(\"./WritableStream.js\"));\n },\n get ProxyHandler() {\n return defineProp(\"ProxyHandler\", require(\"./ProxyHandler.js\"));\n },\n get DomUtils() {\n return defineProp(\"DomUtils\", require(\"domutils\"));\n },\n get CollectingHandler() {\n return defineProp(\n \"CollectingHandler\",\n require(\"./CollectingHandler.js\")\n );\n },\n // For legacy support\n DefaultHandler: DomHandler,\n get RssHandler() {\n return defineProp(\"RssHandler\", this.FeedHandler);\n },\n //helper methods\n parseDOM: function(data, options) {\n var handler = new DomHandler(options);\n new Parser(handler, options).end(data);\n return handler.dom;\n },\n parseFeed: function(feed, options) {\n var handler = new module.exports.FeedHandler(options);\n new Parser(handler, options).end(feed);\n return handler.dom;\n },\n createDomStream: function(cb, options, elementCb) {\n var handler = new DomHandler(cb, options, elementCb);\n return new Parser(handler, options);\n },\n // List of all events that the parser emits\n EVENTS: {\n /* Format: eventname: number of arguments */\n attribute: 2,\n cdatastart: 0,\n cdataend: 0,\n text: 1,\n processinginstruction: 2,\n comment: 1,\n commentend: 0,\n closetag: 1,\n opentag: 2,\n opentagname: 1,\n error: 1,\n end: 0\n }\n};\n","var decodeMap = require(\"../maps/decode.json\");\n\nmodule.exports = decodeCodePoint;\n\n// modified version of https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n\n if (codePoint in decodeMap) {\n codePoint = decodeMap[codePoint];\n }\n\n var output = \"\";\n\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n\n output += String.fromCharCode(codePoint);\n return output;\n}\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = HtmlParser;\n\nvar _htmlparser = require('htmlparser2');\n\nvar _htmlparser2 = _interopRequireDefault(_htmlparser);\n\nvar _processNodes = require('./processNodes');\n\nvar _processNodes2 = _interopRequireDefault(_processNodes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Parses a HTML string and returns a list of React components generated from it\n *\n * @param {String} html The HTML to convert into React component\n * @param {Object} options Options to pass\n * @returns {Array} List of top level React elements\n */\nfunction HtmlParser(html) {\n var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n _ref$decodeEntities = _ref.decodeEntities,\n decodeEntities = _ref$decodeEntities === undefined ? true : _ref$decodeEntities,\n transform = _ref.transform,\n _ref$preprocessNodes = _ref.preprocessNodes,\n preprocessNodes = _ref$preprocessNodes === undefined ? function (nodes) {\n return nodes;\n } : _ref$preprocessNodes;\n\n var nodes = preprocessNodes(_htmlparser2.default.parseDOM(html, { decodeEntities: decodeEntities }));\n return (0, _processNodes2.default)(nodes, transform);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = convertNodeToElement;\n\nvar _elementTypes = require('./elementTypes');\n\nvar _elementTypes2 = _interopRequireDefault(_elementTypes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Converts a htmlparser2 node to a React element\n *\n * @param {Object} node The htmlparser2 node to convert\n * @param {Number} index The index of the current node\n * @param {Function} transform Transform function to apply to children of the node\n * @returns {React.Element}\n */\nfunction convertNodeToElement(node, index, transform) {\n return _elementTypes2.default[node.type](node, index, transform);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * List of boolean attributes\n * These attributes should have their React attribute value set to be the same as their name\n * E.g. <input disabled> = <input disabled>\n * <input disabled=\"\"> = <input disabled>\n * <input disabled=\"disabled\"> = <input disabled>\n * @type {Array}\n */\nexports.default = ['allowfullScreen', 'async', 'autoplay', 'capture', 'checked', 'controls', 'default', 'defer', 'disabled', 'formnovalidate', 'hidden', 'loop', 'multiple', 'muted', 'novalidate', 'open', 'playsinline', 'readonly', 'required', 'reversed', 'scoped', 'seamless', 'selected', 'itemscope'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * Mapping of standard HTML attributes to their React counterparts\n * List taken and reversed from react/src/renderers/dom/shared/HTMLDOMPropertyConfig.js\n * https://github.com/facebook/react/blob/c9c3c339b757682f1154f1c915eb55e6a8766933/src/renderers/dom/shared/HTMLDOMPropertyConfig.js\n * @type {Object}\n */\nexports.default = {\n /**\n * Standard Properties\n */\n accept: 'accept',\n 'accept-charset': 'acceptCharset',\n accesskey: 'accessKey',\n action: 'action',\n allowfullscreen: 'allowFullScreen',\n allowtransparency: 'allowTransparency',\n alt: 'alt',\n as: 'as',\n async: 'async',\n autocomplete: 'autoComplete',\n autoplay: 'autoPlay',\n capture: 'capture',\n cellpadding: 'cellPadding',\n cellspacing: 'cellSpacing',\n charset: 'charSet',\n challenge: 'challenge',\n checked: 'checked',\n cite: 'cite',\n classid: 'classID',\n class: 'className',\n cols: 'cols',\n colspan: 'colSpan',\n content: 'content',\n contenteditable: 'contentEditable',\n contextmenu: 'contextMenu',\n controls: 'controls',\n controlsList: 'controlsList',\n coords: 'coords',\n crossorigin: 'crossOrigin',\n data: 'data',\n datetime: 'dateTime',\n default: 'default',\n defer: 'defer',\n dir: 'dir',\n disabled: 'disabled',\n download: 'download',\n draggable: 'draggable',\n enctype: 'encType',\n form: 'form',\n formaction: 'formAction',\n formenctype: 'formEncType',\n formmethod: 'formMethod',\n formnovalidate: 'formNoValidate',\n formtarget: 'formTarget',\n frameborder: 'frameBorder',\n headers: 'headers',\n height: 'height',\n hidden: 'hidden',\n high: 'high',\n href: 'href',\n hreflang: 'hrefLang',\n for: 'htmlFor',\n 'http-equiv': 'httpEquiv',\n icon: 'icon',\n id: 'id',\n inputmode: 'inputMode',\n integrity: 'integrity',\n is: 'is',\n keyparams: 'keyParams',\n keytype: 'keyType',\n kind: 'kind',\n label: 'label',\n lang: 'lang',\n list: 'list',\n loop: 'loop',\n low: 'low',\n manifest: 'manifest',\n marginheight: 'marginHeight',\n marginwidth: 'marginWidth',\n max: 'max',\n maxlength: 'maxLength',\n media: 'media',\n mediagroup: 'mediaGroup',\n method: 'method',\n min: 'min',\n minlength: 'minLength',\n multiple: 'multiple',\n muted: 'muted',\n name: 'name',\n nonce: 'nonce',\n novalidate: 'noValidate',\n open: 'open',\n optimum: 'optimum',\n pattern: 'pattern',\n placeholder: 'placeholder',\n playsinline: 'playsInline',\n poster: 'poster',\n preload: 'preload',\n profile: 'profile',\n radiogroup: 'radioGroup',\n readonly: 'readOnly',\n referrerpolicy: 'referrerPolicy',\n rel: 'rel',\n required: 'required',\n reversed: 'reversed',\n role: 'role',\n rows: 'rows',\n rowspan: 'rowSpan',\n sandbox: 'sandbox',\n scope: 'scope',\n scoped: 'scoped',\n scrolling: 'scrolling',\n seamless: 'seamless',\n selected: 'selected',\n shape: 'shape',\n size: 'size',\n sizes: 'sizes',\n slot: 'slot',\n span: 'span',\n spellcheck: 'spellCheck',\n src: 'src',\n srcdoc: 'srcDoc',\n srclang: 'srcLang',\n srcset: 'srcSet',\n start: 'start',\n step: 'step',\n style: 'style',\n summary: 'summary',\n tabindex: 'tabIndex',\n target: 'target',\n title: 'title',\n type: 'type',\n usemap: 'useMap',\n value: 'value',\n width: 'width',\n wmode: 'wmode',\n wrap: 'wrap',\n /**\n * RDFa Properties\n */\n about: 'about',\n datatype: 'datatype',\n inlist: 'inlist',\n prefix: 'prefix',\n property: 'property',\n resource: 'resource',\n typeof: 'typeof',\n vocab: 'vocab',\n /**\n * Non-standard Properties\n */\n autocapitalize: 'autoCapitalize',\n autocorrect: 'autoCorrect',\n autosave: 'autoSave',\n color: 'color',\n itemprop: 'itemProp',\n itemscope: 'itemScope',\n itemtype: 'itemType',\n itemid: 'itemID',\n itemref: 'itemRef',\n results: 'results',\n security: 'security',\n unselectable: 'unselectable'\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n/**\n * List of void elements\n * These elements are not allowed to have children\n * @type {Array}\n */\nexports.default = ['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr'];","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = StyleElementType;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _generatePropsFromAttributes = require('../utils/generatePropsFromAttributes');\n\nvar _generatePropsFromAttributes2 = _interopRequireDefault(_generatePropsFromAttributes);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Converts a <style> element to a React element\n *\n * @param {Object} node The style node\n * @param {String} index The index of the React element relative to it's parent\n * @returns {React.Element} The React style element\n */\nfunction StyleElementType(node, index) {\n\n // The style element only ever has a single child which is the styles so try and find this to add as\n // a child to the style element that will be created\n var styles = void 0;\n if (node.children.length > 0) {\n styles = node.children[0].data;\n }\n\n // generate props\n var props = (0, _generatePropsFromAttributes2.default)(node.attribs, index);\n\n // create and return the element\n return _react2.default.createElement('style', props, styles);\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = TagElementType;\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _processNodes = require('../processNodes');\n\nvar _processNodes2 = _interopRequireDefault(_processNodes);\n\nvar _generatePropsFromAttributes = require('../utils/generatePropsFromAttributes');\n\nvar _generatePropsFromAttributes2 = _interopRequireDefault(_generatePropsFromAttributes);\n\nvar _VoidElements = require('../dom/elements/VoidElements');\n\nvar _VoidElements2 = _interopRequireDefault(_VoidElements);\n\nvar _isValidTagOrAttributeName = require('../utils/isValidTagOrAttributeName');\n\nvar _isValidTagOrAttributeName2 = _interopRequireDefault(_isValidTagOrAttributeName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Converts any element (excluding style - see StyleElementType - and script) to a react element.\n *\n * @param {Object} node The tag node\n * @param {String} index The index of the React element relative to it's parent\n * @param {Function} transform The transform function to apply to all children\n * @returns {React.Element} The React tag element\n */\nfunction TagElementType(node, index, transform) {\n\n var tagName = node.name;\n\n // validate tag name\n if (!(0, _isValidTagOrAttributeName2.default)(tagName)) {\n return null;\n }\n\n // generate props\n var props = (0, _generatePropsFromAttributes2.default)(node.attribs, index);\n\n // If the node is not a void element and has children then process them\n var children = null;\n if (_VoidElements2.default.indexOf(tagName) === -1) {\n children = (0, _processNodes2.default)(node.children, transform);\n }\n\n // create and return the element\n return _react2.default.createElement(tagName, props, children);\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = TextElementType;\n/**\n * Converts a text node to a React text element\n *\n * @param {Object} node The text node\n * @returns {String} The text\n */\nfunction TextElementType(node) {\n\n // React will accept plain text for rendering so just return the node data\n return node.data;\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = UnsupportedElementType;\n/**\n * Handles an unsupported element type by returning null so nothing is rendered\n * @returns {null}\n */\nfunction UnsupportedElementType() {\n\n // do nothing because the element type is unsupported\n // comment, directive, script, cdata, doctype are all currently unsupported\n return null;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ElementType$Text$Ele;\n\nvar _htmlparser = require('htmlparser2');\n\nvar _TextElementType = require('./TextElementType');\n\nvar _TextElementType2 = _interopRequireDefault(_TextElementType);\n\nvar _TagElementType = require('./TagElementType');\n\nvar _TagElementType2 = _interopRequireDefault(_TagElementType);\n\nvar _StyleElementType = require('./StyleElementType');\n\nvar _StyleElementType2 = _interopRequireDefault(_StyleElementType);\n\nvar _UnsupportedElementType = require('./UnsupportedElementType');\n\nvar _UnsupportedElementType2 = _interopRequireDefault(_UnsupportedElementType);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } /*\n * Map each htmlparser2 element type to a function which will convert that element type to a React element\n * Not all of the element types are supported so the UnsupportedElementType is used for them which will not return any\n * value\n */\n\nexports.default = (_ElementType$Text$Ele = {}, _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Text, _TextElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Tag, _TagElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Style, _StyleElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Directive, _UnsupportedElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Comment, _UnsupportedElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Script, _UnsupportedElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.CDATA, _UnsupportedElementType2.default), _defineProperty(_ElementType$Text$Ele, _htmlparser.ElementType.Doctype, _UnsupportedElementType2.default), _ElementType$Text$Ele);","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.htmlparser2 = exports.convertNodeToElement = exports.processNodes = undefined;\n\nvar _processNodes = require('./processNodes');\n\nObject.defineProperty(exports, 'processNodes', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_processNodes).default;\n }\n});\n\nvar _convertNodeToElement = require('./convertNodeToElement');\n\nObject.defineProperty(exports, 'convertNodeToElement', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_convertNodeToElement).default;\n }\n});\n\nvar _htmlparser = require('htmlparser2');\n\nObject.defineProperty(exports, 'htmlparser2', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_htmlparser).default;\n }\n});\n\nvar _HtmlParser = require('./HtmlParser');\n\nvar _HtmlParser2 = _interopRequireDefault(_HtmlParser);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = _HtmlParser2.default;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = processNodes;\n\nvar _isEmptyTextNode = require('./utils/isEmptyTextNode');\n\nvar _isEmptyTextNode2 = _interopRequireDefault(_isEmptyTextNode);\n\nvar _convertNodeToElement = require('./convertNodeToElement');\n\nvar _convertNodeToElement2 = _interopRequireDefault(_convertNodeToElement);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Processes the nodes generated by htmlparser2 and convert them all into React elements\n *\n * @param {Object[]} nodes List of nodes to process\n * @param {Function} transform Transform function to optionally apply to nodes\n * @returns {React.Element[]} The list of processed React elements\n */\nfunction processNodes(nodes, transform) {\n\n return nodes.filter(function (node) {\n return !(0, _isEmptyTextNode2.default)(node);\n }).map(function (node, index) {\n\n // return the result of the transform function if applicable\n var transformed = void 0;\n if (typeof transform === 'function') {\n transformed = transform(node, index);\n if (transformed === null || !!transformed) {\n return transformed;\n }\n }\n\n // otherwise convert the node as standard\n return (0, _convertNodeToElement2.default)(node, index, transform);\n });\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nexports.default = generatePropsFromAttributes;\n\nvar _htmlAttributesToReact = require('./htmlAttributesToReact');\n\nvar _htmlAttributesToReact2 = _interopRequireDefault(_htmlAttributesToReact);\n\nvar _inlineStyleToObject = require('./inlineStyleToObject');\n\nvar _inlineStyleToObject2 = _interopRequireDefault(_inlineStyleToObject);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Generates props for a React element from an object of HTML attributes\n *\n * @param {Object} attributes The HTML attributes\n * @param {String} key The key to give the react element\n */\nfunction generatePropsFromAttributes(attributes, key) {\n\n // generate props\n var props = _extends({}, (0, _htmlAttributesToReact2.default)(attributes), { key: key });\n\n // if there is an inline/string style prop then convert it to a React style object\n // otherwise, it is invalid and omitted\n if (typeof props.style === 'string' || props.style instanceof String) {\n props.style = (0, _inlineStyleToObject2.default)(props.style);\n } else {\n delete props.style;\n }\n\n return props;\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = htmlAttributesToReact;\n\nvar _BooleanAttributes = require('../dom/attributes/BooleanAttributes');\n\nvar _BooleanAttributes2 = _interopRequireDefault(_BooleanAttributes);\n\nvar _ReactAttributes = require('../dom/attributes/ReactAttributes');\n\nvar _ReactAttributes2 = _interopRequireDefault(_ReactAttributes);\n\nvar _isValidTagOrAttributeName = require('./isValidTagOrAttributeName');\n\nvar _isValidTagOrAttributeName2 = _interopRequireDefault(_isValidTagOrAttributeName);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n/**\n * Returns the parsed attribute value taking into account things like boolean attributes\n *\n * @param {String} attribute The name of the attribute\n * @param {*} value The value of the attribute from the HTML\n * @returns {*} The parsed attribute value\n */\nvar getParsedAttributeValue = function getParsedAttributeValue(attribute, value) {\n\n // if the attribute if a boolean then it's value should be the same as it's name\n // e.g. disabled=\"disabled\"\n var lowerBooleanAttributes = _BooleanAttributes2.default.map(function (attr) {\n return attr.toLowerCase();\n });\n if (lowerBooleanAttributes.indexOf(attribute.toLowerCase()) >= 0) {\n value = attribute;\n }\n\n return value;\n};\n\n/**\n * Takes an object of standard HTML property names and converts them to their React counterpart. If the react\n * version does not exist for an attribute then just use it as it is\n *\n * @param {Object} attributes The HTML attributes to convert\n * @returns {Object} The React attributes\n */\nfunction htmlAttributesToReact(attributes) {\n\n return Object.keys(attributes).filter(function (attr) {\n return (0, _isValidTagOrAttributeName2.default)(attr);\n }).reduce(function (mappedAttributes, attribute) {\n\n // lowercase the attribute name and find it in the react attribute map\n var lowerCaseAttribute = attribute.toLowerCase();\n\n // format the attribute name\n var name = _ReactAttributes2.default[lowerCaseAttribute] || lowerCaseAttribute;\n\n // add the parsed attribute value to the mapped attributes\n mappedAttributes[name] = getParsedAttributeValue(name, attributes[attribute]);\n\n return mappedAttributes;\n }, {});\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nexports.default = InlineStyleToObject;\n/**\n * Converts an inline style string into an object of React style properties\n *\n * @param {String} inlineStyle='' The inline style to convert\n * @returns {Object} The converted style\n */\nfunction InlineStyleToObject() {\n var inlineStyle = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n\n\n // just return empty object if the inlineStyle is empty\n if (inlineStyle === '') {\n return {};\n }\n\n return inlineStyle.split(';').reduce(function (styleObject, stylePropertyValue) {\n\n // extract the style property name and value\n var _stylePropertyValue$s = stylePropertyValue.split(/^([^:]+):/).filter(function (val, i) {\n return i > 0;\n }).map(function (item) {\n return item.trim().toLowerCase();\n }),\n _stylePropertyValue$s2 = _slicedToArray(_stylePropertyValue$s, 2),\n property = _stylePropertyValue$s2[0],\n value = _stylePropertyValue$s2[1];\n\n // if there is no value (i.e. no : in the style) then ignore it\n\n\n if (value === undefined) {\n return styleObject;\n }\n\n // convert the property name into the correct React format\n // remove all hyphens and convert the letter immediately after each hyphen to upper case\n // additionally don't uppercase any -ms- prefix\n // e.g. -ms-style-property = msStyleProperty\n // -webkit-style-property = WebkitStyleProperty\n property = property.replace(/^-ms-/, 'ms-').replace(/-(.)/g, function (_, character) {\n return character.toUpperCase();\n });\n\n // add the new style property and value to the style object\n styleObject[property] = value;\n\n return styleObject;\n }, {});\n}","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isEmptyTextNode;\n/**\n * Tests a htmlparser2 node and returns whether is it a text node at the start and end of the line containing only\n * white space. This allows these node types to be excluded from the rendering because they are unnecessary.\n *\n * @param {Object} node The element object as created by htmlparser2\n * @returns {boolean} Whether the node is an empty text node\n */\nfunction isEmptyTextNode(node) {\n return node.type === 'text' && /\\r?\\n/.test(node.data) && node.data.trim() === '';\n}","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = isValidTagOrAttributeName;\nvar VALID_TAG_REGEX = /^[a-zA-Z][a-zA-Z:_\\.\\-\\d]*$/;\n\nvar nameCache = {};\n\nfunction isValidTagOrAttributeName(tagName) {\n if (!nameCache.hasOwnProperty(tagName)) {\n nameCache[tagName] = VALID_TAG_REGEX.test(tagName);\n }\n return nameCache[tagName];\n}"],"names":["ElementType","entities","foreignNames","elementNames","__proto__","attributeNames","unencodedElements","style","script","xmp","iframe","noembed","noframes","plaintext","noscript","singleTag","area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr","render","module","exports","dom","opts","Array","isArray","cheerio","output","i","length","elem","type","children","isTag","renderTag","Directive","renderDirective","Comment","renderComment","CDATA","renderCdata","renderText","foreignModeIntegrationPoints","xmlMode","name","parent","indexOf","Object","assign","tag","attribs","attributes","value","key","decodeEntities","encodeXML","replace","formatAttrs","data","defineProperty","Doctype","Tag","Style","Script","Text","Root","re_whitespace","NodePrototype","ElementPrototype","DomHandler","callback","options","elementCB","defaultOpts","this","_callback","_options","_elementCB","_done","_tagStack","_parser","normalizeWhitespace","withStartIndices","withEndIndices","prototype","onparserinit","parser","onreset","call","onend","_handleCallback","onerror","error","onclosetag","pop","endIndex","_createDomElement","properties","withDomLvl1","element","create","hasOwnProperty","_addDomElement","siblings","previousSibling","next","startIndex","prev","push","onopentag","ontext","lastTag","normalize","ignoreWhitespace","oncomment","oncdatastart","oncommentend","oncdataend","onprocessinginstruction","domLvl1","tagName","keys","forEach","shorthand","get","set","val","firstChild","lastChild","nodeType","nodeTypes","childNodes","parentNode","nextSibling","nodeValue","text","cdata","comment","DomUtils","ext","bind","removeSubsets","nodes","node","ancestor","idx","splice","POSITION","comparePos","compareDocumentPosition","nodeA","nodeB","current","sharedParent","aSibling","bSibling","aParents","bParents","unshift","uniqueSort","position","slice","sort","a","b","relative","testElement","tag_name","tag_type","tag_contains","Checks","getAttribCheck","attrib","combineFuncs","getElements","recurse","limit","funcs","map","filter","reduce","getElementById","id","findOne","getElementsByTagName","getElementsByTagType","removeElement","childs","lastIndexOf","replaceElement","replacement","appendChild","child","sibling","append","currNext","prepend","find","test","elems","result","j","concat","isFinite","Infinity","findOneChild","l","existsOne","findAll","rootElems","stack","shift","apply","getOuterHTML","getInnerHTML","join","getText","getChildren","getParent","getSiblings","getAttributeValue","hasAttrib","getName","__importDefault","mod","__esModule","decodeHTML","decodeHTMLStrict","decodeXML","entities_json_1","legacy_json_1","xml_json_1","decode_codepoint_1","strictEntityRe","getStrictDecoder","getReplacer","str","String","default","sorter","charAt","secondChar","parseInt","substr","legacy","re","RegExp","replacer","decode_json_1","fromCodePoint","codePoint","fromCharCode","escapeUTF8","escape","encodeNonAsciiHTML","encodeHTML","inverseXML","getInverseObj","xmlReplacer","getInverseReplacer","getASCIIEncoder","inverse","inverseHTML","htmlReplacer","obj","single","multiple","_i","_a","k","start","end","charCodeAt","count","reNonASCII","singleCharReplacer","getCodePoint","codePointAt","c","toString","toUpperCase","reEscapeChars","decodeXMLStrict","decodeHTML5Strict","decodeHTML4Strict","decodeHTML5","decodeHTML4","encodeHTML5","encodeHTML4","encode","decodeStrict","decode","decode_1","encode_1","level","encode_2","enumerable","decode_2","CollectingHandler","cbs","_cbs","events","EVENTS","Error","restart","len","num","FeedHandler","init","what","where","getOneElement","fetch","trim","addConditionally","prop","tmp","isValidFeed","feed","feedRoot","href","updated","Date","items","item","entry","description","pubDate","Tokenizer","formTags","option","optgroup","select","button","datalist","textarea","openImpliesClose","tr","th","td","thead","body","head","li","p","h1","h2","h3","h4","h5","h6","voidElements","foreignContextElements","math","svg","htmlIntegrationElements","mi","mo","mn","ms","mtext","foreignObject","desc","title","re_nameEnd","Parser","_tagname","_attribname","_attribvalue","_attribs","_stack","_foreignContext","_lowerCaseTagNames","lowerCaseTags","_lowerCaseAttributeNames","lowerCaseAttributeNames","_tokenizer","_updatePosition","initialOffset","_sectionStart","getAbsoluteIndex","onopentagname","toLowerCase","el","onopentagend","_closeCurrentTag","pos","onselfclosingtag","recognizeSelfClosing","onattribname","onattribdata","onattribend","onattribute","_getInstructionName","search","ondeclaration","oncdata","recognizeCDATA","err","reset","parseComplete","write","chunk","pause","resume","parseChunk","done","ProxyHandler","Stream","Cbs","scope","readable","emit","decodeCodePoint","entityMap","legacyMap","xmlMap","TEXT","BEFORE_TAG_NAME","IN_TAG_NAME","IN_SELF_CLOSING_TAG","BEFORE_CLOSING_TAG_NAME","IN_CLOSING_TAG_NAME","AFTER_CLOSING_TAG_NAME","BEFORE_ATTRIBUTE_NAME","IN_ATTRIBUTE_NAME","AFTER_ATTRIBUTE_NAME","BEFORE_ATTRIBUTE_VALUE","IN_ATTRIBUTE_VALUE_DQ","IN_ATTRIBUTE_VALUE_SQ","IN_ATTRIBUTE_VALUE_NQ","BEFORE_DECLARATION","IN_DECLARATION","IN_PROCESSING_INSTRUCTION","BEFORE_COMMENT","IN_COMMENT","AFTER_COMMENT_1","AFTER_COMMENT_2","BEFORE_CDATA_1","BEFORE_CDATA_2","BEFORE_CDATA_3","BEFORE_CDATA_4","BEFORE_CDATA_5","BEFORE_CDATA_6","IN_CDATA","AFTER_CDATA_1","AFTER_CDATA_2","BEFORE_SPECIAL","BEFORE_SPECIAL_END","BEFORE_SCRIPT_1","BEFORE_SCRIPT_2","BEFORE_SCRIPT_3","BEFORE_SCRIPT_4","BEFORE_SCRIPT_5","AFTER_SCRIPT_1","AFTER_SCRIPT_2","AFTER_SCRIPT_3","AFTER_SCRIPT_4","AFTER_SCRIPT_5","BEFORE_STYLE_1","BEFORE_STYLE_2","BEFORE_STYLE_3","BEFORE_STYLE_4","AFTER_STYLE_1","AFTER_STYLE_2","AFTER_STYLE_3","AFTER_STYLE_4","BEFORE_ENTITY","BEFORE_NUMERIC_ENTITY","IN_NAMED_ENTITY","IN_NUMERIC_ENTITY","IN_HEX_ENTITY","SPECIAL_NONE","SPECIAL_SCRIPT","SPECIAL_STYLE","whitespace","ifElseState","upper","SUCCESS","FAILURE","lower","_state","_index","consumeSpecialNameChar","NEXT_STATE","_buffer","_bufferOffset","_baseState","_special","_running","_ended","_xmlMode","_decodeEntities","_stateText","_getSection","_stateBeforeTagName","_stateInTagName","_emitToken","_stateBeforeCloseingTagName","_stateInCloseingTagName","_stateAfterCloseingTagName","_stateBeforeAttributeName","_stateInSelfClosingTag","_stateInAttributeName","_stateAfterAttributeName","_stateBeforeAttributeValue","_stateInAttributeValueDoubleQuotes","_stateInAttributeValueSingleQuotes","_stateInAttributeValueNoQuotes","_stateBeforeDeclaration","_stateInDeclaration","_stateInProcessingInstruction","_stateBeforeComment","_stateInComment","_stateAfterComment1","_stateAfterComment2","substring","_stateBeforeCdata1","_stateBeforeCdata2","_stateBeforeCdata3","_stateBeforeCdata4","_stateBeforeCdata5","_stateBeforeCdata6","_stateInCdata","_stateAfterCdata1","_stateAfterCdata2","_stateBeforeSpecial","_stateBeforeSpecialEnd","_stateBeforeScript1","_stateBeforeScript2","_stateBeforeScript3","_stateBeforeScript4","_stateBeforeScript5","_stateAfterScript1","_stateAfterScript2","_stateAfterScript3","_stateAfterScript4","_stateAfterScript5","_stateBeforeStyle1","_stateBeforeStyle2","_stateBeforeStyle3","_stateBeforeStyle4","_stateAfterStyle1","_stateAfterStyle2","_stateAfterStyle3","_stateAfterStyle4","_stateBeforeEntity","_stateBeforeNumericEntity","_parseNamedEntityStrict","entity","_emitPartial","_parseLegacyEntity","_stateInNamedEntity","_decodeNumericEntity","offset","sectionStart","parsed","_stateInNumericEntity","_stateInHexEntity","_cleanup","_parse","_finish","_handleTrailingData","WritableStream","StringDecoder","Buffer","decoder","_decoder","decodeStrings","once","_write","encoding","cb","defineProp","DefaultHandler","RssHandler","parseDOM","handler","parseFeed","createDomStream","elementCb","attribute","cdatastart","cdataend","processinginstruction","commentend","closetag","opentag","opentagname","decodeMap","html","_ref","arguments","undefined","_ref$decodeEntities","transform","_ref$preprocessNodes","preprocessNodes","_htmlparser2","_processNodes2","_interopRequireDefault","index","_elementTypes2","_elementTypes","accept","accesskey","action","allowfullscreen","allowtransparency","alt","as","async","autocomplete","autoplay","capture","cellpadding","cellspacing","charset","challenge","checked","cite","classid","class","cols","colspan","content","contenteditable","contextmenu","controls","controlsList","coords","crossorigin","datetime","defer","dir","disabled","download","draggable","enctype","form","formaction","formenctype","formmethod","formnovalidate","formtarget","frameborder","headers","height","hidden","high","hreflang","for","icon","inputmode","integrity","is","keyparams","keytype","kind","label","lang","list","loop","low","manifest","marginheight","marginwidth","max","maxlength","media","mediagroup","method","min","minlength","muted","nonce","novalidate","open","optimum","pattern","placeholder","playsinline","poster","preload","profile","radiogroup","readonly","referrerpolicy","rel","required","reversed","role","rows","rowspan","sandbox","scoped","scrolling","seamless","selected","shape","size","sizes","slot","span","spellcheck","src","srcdoc","srclang","srcset","step","summary","tabindex","target","usemap","width","wmode","wrap","about","datatype","inlist","prefix","property","resource","typeof","vocab","autocapitalize","autocorrect","autosave","color","itemprop","itemscope","itemtype","itemid","itemref","results","security","unselectable","styles","props","_generatePropsFromAttributes2","_react2","createElement","_isValidTagOrAttributeName2","_VoidElements2","_ElementType$Text$Ele","_htmlparser","_TextElementType2","_TagElementType2","_StyleElementType2","_UnsupportedElementType2","_defineProperty","configurable","writable","_processNodes","_convertNodeToElement","_HtmlParser2","_isEmptyTextNode2","transformed","_convertNodeToElement2","_extends","_htmlAttributesToReact2","_inlineStyleToObject2","attr","mappedAttributes","lowerCaseAttribute","_ReactAttributes2","getParsedAttributeValue","_BooleanAttributes2","_slicedToArray","arr","Symbol","iterator","_arr","_n","_d","_e","_s","sliceIterator","TypeError","inlineStyle","split","styleObject","stylePropertyValue","_stylePropertyValue$s","_stylePropertyValue$s2","_","character","nameCache","VALID_TAG_REGEX"],"sourceRoot":""}