{"version":3,"sources":["webpack:///./node_modules/domhandler/index.js","webpack:///./node_modules/domhandler/lib/node.js","webpack:///./node_modules/domhandler/lib/element.js"],"names":["ElementType","re_whitespace","NodePrototype","ElementPrototype","DomHandler","callback","options","elementCB","defaultOpts","this","_callback","_options","_elementCB","dom","_done","_tagStack","_parser","normalizeWhitespace","withStartIndices","withEndIndices","prototype","onparserinit","parser","onreset","call","onend","_handleCallback","onerror","error","onclosetag","elem","pop","endIndex","_createDomElement","properties","withDomLvl1","element","key","type","Object","create","hasOwnProperty","_addDomElement","parent","length","siblings","children","previousSibling","next","startIndex","prev","push","onopentag","name","attribs","Script","Style","Tag","ontext","data","lastTag","normalize","ignoreWhitespace","Text","replace","oncomment","Comment","oncdatastart","CDATA","oncommentend","oncdataend","onprocessinginstruction","Directive","module","exports","nodeTypes","domLvl1","tagName","childNodes","parentNode","nextSibling","nodeValue","text","cdata","comment","keys","forEach","shorthand","defineProperty","get","set","val"],"mappings":"+EAAA,IAAIA,EAAc,EAAQ,KAEtBC,EAAgB,OAChBC,EAAgB,EAAQ,KACxBC,EAAmB,EAAQ,KAE/B,SAASC,WAAWC,EAAUC,EAASC,GACf,iBAAbF,GACTE,EAAYD,EACZA,EAAUD,EACVA,EAAW,MACiB,mBAAZC,IAChBC,EAAYD,EACZA,EAAUE,GAEXC,KAAKC,UAAYL,EACjBI,KAAKE,SAAWL,GAAWE,EAC3BC,KAAKG,WAAaL,EAClBE,KAAKI,IAAM,GACXJ,KAAKK,OAAQ,EACbL,KAAKM,UAAY,GACjBN,KAAKO,QAAUP,KAAKO,SAAW,KAIhC,IAAIR,EAAc,CACjBS,qBAAqB,EACrBC,kBAAkB,EAClBC,gBAAgB,GAGjBf,WAAWgB,UAAUC,aAAe,SAASC,GAC5Cb,KAAKO,QAAUM,GAIhBlB,WAAWgB,UAAUG,QAAU,WAC9BnB,WAAWoB,KAAKf,KAAMA,KAAKC,UAAWD,KAAKE,SAAUF,KAAKG,aAI3DR,WAAWgB,UAAUK,MAAQ,WACzBhB,KAAKK,QACRL,KAAKK,OAAQ,EACbL,KAAKO,QAAU,KACfP,KAAKiB,gBAAgB,QAGtBtB,WAAWgB,UAAUM,gBACrBtB,WAAWgB,UAAUO,QAAU,SAASC,GACvC,GAA6B,mBAAnBnB,KAAKC,UACdD,KAAKC,UAAUkB,EAAOnB,KAAKI,UAE3B,GAAGe,EAAO,MAAMA,GAIlBxB,WAAWgB,UAAUS,WAAa,WAGjC,IAAIC,EAAOrB,KAAKM,UAAUgB,MAEvBtB,KAAKE,SAASQ,gBAAkBW,IAClCA,EAAKE,SAAWvB,KAAKO,QAAQgB,UAG3BvB,KAAKG,YAAYH,KAAKG,WAAWkB,IAGrC1B,WAAWgB,UAAUa,kBAAoB,SAASC,GACjD,IAAKzB,KAAKE,SAASwB,YAAa,OAAOD,EAEvC,IAAIE,EAOJ,IAAK,IAAIC,KALRD,EADuB,QAApBF,EAAWI,KACJC,OAAOC,OAAOrC,GAEdoC,OAAOC,OAAOtC,GAGTgC,EACXA,EAAWO,eAAeJ,KAC7BD,EAAQC,GAAOH,EAAWG,IAI5B,OAAOD,GAGRhC,WAAWgB,UAAUsB,eAAiB,SAASN,GAC9C,IAAIO,EAASlC,KAAKM,UAAUN,KAAKM,UAAU6B,OAAS,GAChDC,EAAWF,EAASA,EAAOG,SAAWrC,KAAKI,IAC3CkC,EAAkBF,EAASA,EAASD,OAAS,GAEjDR,EAAQY,KAAO,KAEZvC,KAAKE,SAASO,mBAChBkB,EAAQa,WAAaxC,KAAKO,QAAQiC,YAEhCxC,KAAKE,SAASQ,iBAChBiB,EAAQJ,SAAWvB,KAAKO,QAAQgB,UAG9Be,GACFX,EAAQc,KAAOH,EACfA,EAAgBC,KAAOZ,GAEvBA,EAAQc,KAAO,KAGhBL,EAASM,KAAKf,GACdA,EAAQO,OAASA,GAAU,MAG5BvC,WAAWgB,UAAUgC,UAAY,SAASC,EAAMC,GAC/C,IAAIpB,EAAa,CAChBI,KAAe,WAATe,EAAoBrD,EAAYuD,OAAkB,UAATF,EAAmBrD,EAAYwD,MAAQxD,EAAYyD,IAClGJ,KAAMA,EACNC,QAASA,EACTR,SAAU,IAGPV,EAAU3B,KAAKwB,kBAAkBC,GAErCzB,KAAKiC,eAAeN,GAEpB3B,KAAKM,UAAUoC,KAAKf,IAGrBhC,WAAWgB,UAAUsC,OAAS,SAASC,GAGtC,IAEIC,EAFAC,EAAYpD,KAAKE,SAASM,qBAAuBR,KAAKE,SAASmD,iBAInE,IAAIrD,KAAKM,UAAU6B,QAAUnC,KAAKI,IAAI+B,SAAWgB,EAAUnD,KAAKI,IAAIJ,KAAKI,IAAI+B,OAAO,IAAIN,OAAStC,EAAY+D,KACzGF,EACFD,EAAQD,MAAQC,EAAQD,KAAOA,GAAMK,QAAQ/D,EAAe,KAE5D2D,EAAQD,MAAQA,OAGjB,GACClD,KAAKM,UAAU6B,SACdgB,EAAUnD,KAAKM,UAAUN,KAAKM,UAAU6B,OAAS,MACjDgB,EAAUA,EAAQd,SAASc,EAAQd,SAASF,OAAS,KACtDgB,EAAQtB,OAAStC,EAAY+D,KAE1BF,EACFD,EAAQD,MAAQC,EAAQD,KAAOA,GAAMK,QAAQ/D,EAAe,KAE5D2D,EAAQD,MAAQA,MAEX,CACHE,IACFF,EAAOA,EAAKK,QAAQ/D,EAAe,MAGpC,IAAImC,EAAU3B,KAAKwB,kBAAkB,CACpC0B,KAAMA,EACNrB,KAAMtC,EAAY+D,OAGnBtD,KAAKiC,eAAeN,KAKvBhC,WAAWgB,UAAU6C,UAAY,SAASN,GACzC,IAAIC,EAAUnD,KAAKM,UAAUN,KAAKM,UAAU6B,OAAS,GAErD,GAAGgB,GAAWA,EAAQtB,OAAStC,EAAYkE,QAC1CN,EAAQD,MAAQA,MADjB,CAKA,IAAIzB,EAAa,CAChByB,KAAMA,EACNrB,KAAMtC,EAAYkE,SAGf9B,EAAU3B,KAAKwB,kBAAkBC,GAErCzB,KAAKiC,eAAeN,GACpB3B,KAAKM,UAAUoC,KAAKf,KAGrBhC,WAAWgB,UAAU+C,aAAe,WACnC,IAAIjC,EAAa,CAChBY,SAAU,CAAC,CACVa,KAAM,GACNrB,KAAMtC,EAAY+D,OAEnBzB,KAAMtC,EAAYoE,OAGfhC,EAAU3B,KAAKwB,kBAAkBC,GAErCzB,KAAKiC,eAAeN,GACpB3B,KAAKM,UAAUoC,KAAKf,IAGrBhC,WAAWgB,UAAUiD,aAAejE,WAAWgB,UAAUkD,WAAa,WACrE7D,KAAKM,UAAUgB,OAGhB3B,WAAWgB,UAAUmD,wBAA0B,SAASlB,EAAMM,GAC7D,IAAIvB,EAAU3B,KAAKwB,kBAAkB,CACpCoB,KAAMA,EACNM,KAAMA,EACNrB,KAAMtC,EAAYwE,YAGnB/D,KAAKiC,eAAeN,IAGrBqC,EAAOC,QAAUtE,Y,kBCtNjB,IAAIF,EAAgBuE,EAAOC,QAAU,CACpC,iBACC,IAAI5B,EAAWrC,KAAKqC,SACpB,OAAOA,GAAYA,EAAS,IAAM,MAEnC,gBACC,IAAIA,EAAWrC,KAAKqC,SACpB,OAAOA,GAAYA,EAASA,EAASF,OAAS,IAAM,MAErD,eACC,OAAO+B,EAAUlE,KAAK6B,OAASqC,EAAUvC,UAIvCwC,EAAU,CACbC,QAAS,OACTC,WAAY,WACZC,WAAY,SACZhC,gBAAiB,OACjBiC,YAAa,OACbC,UAAW,QAGRN,EAAY,CACfvC,QAAS,EACT8C,KAAM,EACNC,MAAO,EACPC,QAAS,GAGV7C,OAAO8C,KAAKT,GAASU,SAAQ,SAASjD,GACrC,IAAIkD,EAAYX,EAAQvC,GACxBE,OAAOiD,eAAetF,EAAemC,EAAK,CACzCoD,IAAK,WACJ,OAAOhF,KAAK8E,IAAc,MAE3BG,IAAK,SAASC,GAEb,OADAlF,KAAK8E,GAAaI,EACXA,S,oBCvCV,IAAIzF,EAAgB,EAAQ,KACxBC,EAAmBsE,EAAOC,QAAUnC,OAAOC,OAAOtC,GAElD0E,EAAU,CACbC,QAAS,QAGVtC,OAAO8C,KAAKT,GAASU,SAAQ,SAASjD,GACrC,IAAIkD,EAAYX,EAAQvC,GACxBE,OAAOiD,eAAerF,EAAkBkC,EAAK,CAC5CoD,IAAK,WACJ,OAAOhF,KAAK8E,IAAc,MAE3BG,IAAK,SAASC,GAEb,OADAlF,KAAK8E,GAAaI,EACXA","file":"npm.domhandler-ff675e0e0e09e0959d65.js","sourcesContent":["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","// 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","// 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"],"sourceRoot":""}