{"version":3,"sources":["webpack:///./node_modules/is-buffer/index.js","webpack:///./node_modules/hast-util-to-html/index.js","webpack:///./node_modules/ccount/index.js","webpack:///./node_modules/bail/index.js","webpack:///./node_modules/hast-util-to-html/lib/element.js","webpack:///./node_modules/hast-util-whitespace/index.js","webpack:///./node_modules/hast-util-to-html/lib/omission/omission.js","webpack:///./node_modules/hast-util-is-element/index.js","webpack:///./node_modules/hast-util-to-html/lib/all.js","webpack:///./node_modules/hast-util-to-html/lib/constants.js","webpack:///./node_modules/hast-util-to-html/lib/omission/util/comment.js","webpack:///./node_modules/hast-util-to-html/lib/omission/index.js","webpack:///./node_modules/hast-util-to-html/lib/text.js","webpack:///./node_modules/hast-util-to-html/lib/omission/util/white-space-start.js","webpack:///./node_modules/hast-util-to-html/lib/comment.js","webpack:///./node_modules/hast-util-to-html/lib/omission/util/siblings.js","webpack:///./node_modules/hast-util-to-html/lib/raw.js","webpack:///./node_modules/hast-util-to-html/lib/omission/closing.js","webpack:///./node_modules/hast-util-sanitize/lib/index.js","webpack:///./node_modules/hast-util-to-html/lib/index.js","webpack:///./node_modules/hast-util-is-element/convert.js","webpack:///./node_modules/hast-util-to-html/lib/one.js","webpack:///./node_modules/comma-separated-tokens/index.js","webpack:///./node_modules/extend/index.js","webpack:///./node_modules/hast-util-to-html/lib/doctype.js","webpack:///./node_modules/hast-util-sanitize/index.js","webpack:///./node_modules/hast-util-to-html/lib/omission/opening.js"],"names":["module","exports","obj","constructor","isBuffer","ccount","source","character","index","value","String","count","Error","indexOf","length","bail","err","xtend","svg","find","spaces","commas","entities","all","constants","serializeElement","ctx","node","parent","attrs","content","last","schema","omit","space","parts","selfClosing","closeEmpty","voids","tagName","toLowerCase","serializeAttributes","properties","opening","push","close","charAt","tightClose","closing","join","props","key","values","serializeAttribute","tight","result","name","info","quote","overloadedBoolean","attribute","boolean","Boolean","subset","valid","safe","commaSeparated","stringify","padLeft","tightLists","collapseEmpty","unquoted","smart","alternative","single","double","interElementWhiteSpace","re","type","replace","omission","own","hasOwnProperty","handlers","call","convert","isElement","test","context","hasParent","undefined","hasIndex","check","Infinity","children","one","results","split","serializeText","whiteSpace","whiteSpaceStart","isText","serializeComment","bogusComments","encode","$0","siblings","increment","sibling","includeWhiteSpace","offset","next","before","after","text","serializeRaw","dangerous","element","comment","headOrColgroupOrCaption","html","body","p","li","dt","dd","rubyElement","optgroup","option","menuitem","thead","tbody","tfoot","tr","cells","head","rt","rp","colgroup","caption","td","th","defaults","wrapper","nodeSchema","root","doctype","handleDoctype","handleComment","handleTagName","handleProperties","handleValue","data","allow","position","stack","definition","allowed","replacement","strip","apply","pop","reqs","required","toPropertyValueMap","attributes","handlePropertyValues","handlePropertyValue","prop","handleProtocol","clobber","clobberPrefix","url","colon","questionMark","numberSign","slash","protocols","concat","slice","handleDoctypeName","tagNames","ancestors","allowDoctypes","allowComments","handleCommentValue","deprecationWarningIssued","toHtml","options","settings","console","warn","allowParseErrors","allowDangerousCharacters","omitOptionalTags","quoteSmart","preferUnquoted","tightAttributes","upperDoctype","tightDoctype","tightCommaSeparatedLists","tightSelfClosing","collapseEmptyAttributes","allowDangerousHtml","allowDangerousHTML","closeSelfClosing","closeEmptyElements","tagNameFactory","any","callFactory","convertAll","tests","checks","matches","this","arguments","serialize","raw","parse","comma","empty","val","input","lastIndex","end","trim","left","right","padRight","hasOwn","Object","prototype","toStr","toString","defineProperty","gOPD","getOwnPropertyDescriptor","isArray","arr","Array","isPlainObject","hasOwnConstructor","hasIsPrototypeOf","setProperty","target","enumerable","configurable","newValue","writable","getProperty","extend","src","copy","copyIsArray","clone","i","deep","serializeDoctype","sep","public","system","string","seen","previous"],"mappings":"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","file":"static/js/about~7274e1de.d24b7bed.js","sourcesContent":["/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\nmodule.exports = function isBuffer (obj) {\n return obj != null && obj.constructor != null &&\n typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n","'use strict'\nmodule.exports = require('./lib')\n","'use strict'\n\nmodule.exports = ccount\n\nfunction ccount(source, character) {\n var value = String(source)\n var count = 0\n var index\n\n if (typeof character !== 'string') {\n throw new Error('Expected character')\n }\n\n index = value.indexOf(character)\n\n while (index !== -1) {\n count++\n index = value.indexOf(character, index + character.length)\n }\n\n return count\n}\n","'use strict'\n\nmodule.exports = bail\n\nfunction bail(err) {\n if (err) {\n throw err\n }\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar svg = require('property-information/svg')\nvar find = require('property-information/find')\nvar spaces = require('space-separated-tokens')\nvar commas = require('comma-separated-tokens')\nvar entities = require('stringify-entities')\nvar ccount = require('ccount')\nvar all = require('./all')\nvar constants = require('./constants')\n\nmodule.exports = serializeElement\n\nfunction serializeElement(ctx, node, index, parent) {\n var schema = ctx.schema\n var omit = schema.space === 'svg' ? false : ctx.omit\n var parts = []\n var selfClosing =\n schema.space === 'svg'\n ? ctx.closeEmpty\n : ctx.voids.indexOf(node.tagName.toLowerCase()) > -1\n var attrs\n var content\n var last\n\n if (schema.space === 'html' && node.tagName === 'svg') {\n ctx.schema = svg\n }\n\n attrs = serializeAttributes(ctx, node.properties)\n\n content = all(\n ctx,\n schema.space === 'html' && node.tagName === 'template' ? node.content : node\n )\n\n ctx.schema = schema\n\n // If the node is categorised as void, but it has children, remove the\n // categorisation.\n // This enables for example `menuitem`s, which are void in W3C HTML but not\n // void in WHATWG HTML, to be stringified properly.\n if (content) selfClosing = false\n\n if (attrs || !omit || !omit.opening(node, index, parent)) {\n parts.push('<', node.tagName, attrs ? ' ' + attrs : '')\n\n if (selfClosing && (schema.space === 'svg' || ctx.close)) {\n last = attrs.charAt(attrs.length - 1)\n if (\n !ctx.tightClose ||\n last === '/' ||\n (schema.space === 'svg' && last && last !== '\"' && last !== \"'\")\n ) {\n parts.push(' ')\n }\n\n parts.push('/')\n }\n\n parts.push('>')\n }\n\n parts.push(content)\n\n if (!selfClosing && (!omit || !omit.closing(node, index, parent))) {\n parts.push('')\n }\n\n return parts.join('')\n}\n\nfunction serializeAttributes(ctx, props) {\n var values = []\n var index = -1\n var key\n var value\n var last\n\n for (key in props) {\n if (props[key] != null) {\n value = serializeAttribute(ctx, key, props[key])\n if (value) values.push(value)\n }\n }\n\n while (++index < values.length) {\n last = ctx.tight ? values[index].charAt(values[index].length - 1) : null\n\n // In tight mode, don’t add a space after quoted attributes.\n if (index !== values.length - 1 && last !== '\"' && last !== \"'\") {\n values[index] += ' '\n }\n }\n\n return values.join('')\n}\n\nfunction serializeAttribute(ctx, key, value) {\n var info = find(ctx.schema, key)\n var quote = ctx.quote\n var result\n var name\n\n if (info.overloadedBoolean && (value === info.attribute || value === '')) {\n value = true\n } else if (\n info.boolean ||\n (info.overloadedBoolean && typeof value !== 'string')\n ) {\n value = Boolean(value)\n }\n\n if (\n value == null ||\n value === false ||\n (typeof value === 'number' && value !== value)\n ) {\n return ''\n }\n\n name = entities(\n info.attribute,\n xtend(ctx.entities, {\n // Always encode without parse errors in non-HTML.\n subset:\n constants.name[ctx.schema.space === 'html' ? ctx.valid : 1][ctx.safe]\n })\n )\n\n // No value.\n // There is currently only one boolean property in SVG: `[download]` on\n // ``.\n // This property does not seem to work in browsers (FF, Sa, Ch), so I can’t\n // test if dropping the value works.\n // But I assume that it should:\n //\n // ```html\n // \n // \n // \n // \n // \n // \n // ```\n //\n // See: \n if (value === true) return name\n\n value =\n typeof value === 'object' && 'length' in value\n ? // `spaces` doesn’t accept a second argument, but it’s given here just to\n // keep the code cleaner.\n (info.commaSeparated ? commas.stringify : spaces.stringify)(value, {\n padLeft: !ctx.tightLists\n })\n : String(value)\n\n if (ctx.collapseEmpty && !value) return name\n\n // Check unquoted value.\n if (ctx.unquoted) {\n result = entities(\n value,\n xtend(ctx.entities, {\n subset: constants.unquoted[ctx.valid][ctx.safe],\n attribute: true\n })\n )\n }\n\n // If we don’t want unquoted, or if `value` contains character references when\n // unquoted…\n if (result !== value) {\n // If the alternative is less common than `quote`, switch.\n if (ctx.smart && ccount(value, quote) > ccount(value, ctx.alternative)) {\n quote = ctx.alternative\n }\n\n result =\n quote +\n entities(\n value,\n xtend(ctx.entities, {\n // Always encode without parse errors in non-HTML.\n subset: (quote === \"'\" ? constants.single : constants.double)[\n ctx.schema.space === 'html' ? ctx.valid : 1\n ][ctx.safe],\n attribute: true\n })\n ) +\n quote\n }\n\n // Don’t add a `=` for unquoted empties.\n return name + (result ? '=' + result : result)\n}\n","'use strict'\n\nmodule.exports = interElementWhiteSpace\n\n// HTML white-space expression.\n// See .\nvar re = /[ \\t\\n\\f\\r]/g\n\nfunction interElementWhiteSpace(node) {\n var value\n\n if (node && typeof node === 'object' && node.type === 'text') {\n value = node.value || ''\n } else if (typeof node === 'string') {\n value = node\n } else {\n return false\n }\n\n return value.replace(re, '') === ''\n}\n","'use strict'\n\nmodule.exports = omission\n\nvar own = {}.hasOwnProperty\n\n// Factory to check if a given node can have a tag omitted.\nfunction omission(handlers) {\n return omit\n\n // Check if a given node can have a tag omitted.\n function omit(node, index, parent) {\n return (\n own.call(handlers, node.tagName) &&\n handlers[node.tagName](node, index, parent)\n )\n }\n}\n","'use strict'\n\nvar convert = require('./convert')\n\nmodule.exports = isElement\n\nisElement.convert = convert\n\n// Check if if `node` is an `element` and whether it passes the given test.\nfunction isElement(node, test, index, parent, context) {\n var hasParent = parent !== null && parent !== undefined\n var hasIndex = index !== null && index !== undefined\n var check = convert(test)\n\n if (\n hasIndex &&\n (typeof index !== 'number' || index < 0 || index === Infinity)\n ) {\n throw new Error('Expected positive finite index for child node')\n }\n\n if (hasParent && (!parent.type || !parent.children)) {\n throw new Error('Expected parent node')\n }\n\n if (!node || !node.type || typeof node.type !== 'string') {\n return false\n }\n\n if (hasParent !== hasIndex) {\n throw new Error('Expected both parent and index')\n }\n\n return check.call(context, node, index, parent)\n}\n","'use strict'\n\nvar one = require('./one')\n\nmodule.exports = all\n\n// Serialize all children of `parent`.\nfunction all(ctx, parent) {\n var results = []\n var children = (parent && parent.children) || []\n var index = -1\n\n while (++index < children.length) {\n results[index] = one(ctx, children[index], index, parent)\n }\n\n return results.join('')\n}\n","'use strict'\n\n// Maps of subsets.\n// Each value is a matrix of tuples.\n// The first value causes parse errors, the second is valid.\n// Of both values, the first value is unsafe, and the second is safe.\nmodule.exports = {\n // See: .\n name: [\n ['\\t\\n\\f\\r &/=>'.split(''), '\\t\\n\\f\\r \"&\\'/=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'/<=>'.split(''), '\\0\\t\\n\\f\\r \"&\\'/<=>`'.split('')]\n ],\n // See: .\n unquoted: [\n ['\\t\\n\\f\\r &>'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')],\n ['\\0\\t\\n\\f\\r \"&\\'<=>`'.split(''), '\\0\\t\\n\\f\\r \"&\\'<=>`'.split('')]\n ],\n // See: .\n single: [\n [\"&'\".split(''), '\"&\\'`'.split('')],\n [\"\\0&'\".split(''), '\\0\"&\\'`'.split('')]\n ],\n // See: .\n double: [\n ['\"&'.split(''), '\"&\\'`'.split('')],\n ['\\0\"&'.split(''), '\\0\"&\\'`'.split('')]\n ]\n}\n","'use strict'\n\nvar convert = require('unist-util-is/convert')\n\nmodule.exports = convert('comment')\n","'use strict'\nexports.opening = require('./opening')\nexports.closing = require('./closing')\n","'use strict'\n\nvar xtend = require('xtend')\nvar entities = require('stringify-entities')\n\nmodule.exports = serializeText\n\nfunction serializeText(ctx, node, index, parent) {\n // Check if content of `node` should be escaped.\n return parent && (parent.tagName === 'script' || parent.tagName === 'style')\n ? node.value\n : entities(node.value, xtend(ctx.entities, {subset: ['<', '&']}))\n}\n","'use strict'\n\nvar convert = require('unist-util-is/convert')\nvar whiteSpace = require('hast-util-whitespace')\n\nmodule.exports = whiteSpaceStart\n\nvar isText = convert('text')\n\n// Check if `node` starts with white-space.\nfunction whiteSpaceStart(node) {\n return isText(node) && whiteSpace(node.value.charAt(0))\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar entities = require('stringify-entities')\n\nmodule.exports = serializeComment\n\nfunction serializeComment(ctx, node) {\n // See: \n return ctx.bogusComments\n ? '']})) + '>'\n : '|--!>|'\n\n function encode($0) {\n return entities($0, xtend(ctx.entities, {subset: ['<', '>']}))\n }\n}\n","'use strict'\n\nvar whiteSpace = require('hast-util-whitespace')\n\nexports.before = siblings(-1)\nexports.after = siblings(1)\n\n// Factory to check siblings in a direction.\nfunction siblings(increment) {\n return sibling\n\n // Find applicable siblings in a direction.\n function sibling(parent, index, includeWhiteSpace) {\n var siblings = parent && parent.children\n var offset = index + increment\n var next = siblings && siblings[offset]\n\n if (!includeWhiteSpace) {\n while (next && whiteSpace(next)) {\n offset += increment\n next = siblings[offset]\n }\n }\n\n return next\n }\n}\n","'use strict'\n\nvar text = require('./text')\n\nmodule.exports = serializeRaw\n\nfunction serializeRaw(ctx, node) {\n return ctx.dangerous ? node.value : text(ctx, node)\n}\n","'use strict'\n\nvar element = require('hast-util-is-element')\nvar whiteSpaceStart = require('./util/white-space-start')\nvar comment = require('./util/comment')\nvar siblings = require('./util/siblings')\nvar omission = require('./omission')\n\nmodule.exports = omission({\n html: html,\n head: headOrColgroupOrCaption,\n body: body,\n p: p,\n li: li,\n dt: dt,\n dd: dd,\n rt: rubyElement,\n rp: rubyElement,\n optgroup: optgroup,\n option: option,\n menuitem: menuitem,\n colgroup: headOrColgroupOrCaption,\n caption: headOrColgroupOrCaption,\n thead: thead,\n tbody: tbody,\n tfoot: tfoot,\n tr: tr,\n td: cells,\n th: cells\n})\n\n// Macro for ``, ``, and ``.\nfunction headOrColgroupOrCaption(node, index, parent) {\n var next = siblings.after(parent, index, true)\n return !next || (!comment(next) && !whiteSpaceStart(next))\n}\n\n// Whether to omit ``.\nfunction html(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || !comment(next)\n}\n\n// Whether to omit ``.\nfunction body(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || !comment(next)\n}\n\n// Whether to omit `

`.\nfunction p(node, index, parent) {\n var next = siblings.after(parent, index)\n return next\n ? element(next, [\n 'address',\n 'article',\n 'aside',\n 'blockquote',\n 'details',\n 'div',\n 'dl',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'header',\n 'hgroup',\n 'hr',\n 'main',\n 'menu',\n 'nav',\n 'ol',\n 'p',\n 'pre',\n 'section',\n 'table',\n 'ul'\n ])\n : !parent ||\n // Confusing parent.\n !element(parent, [\n 'a',\n 'audio',\n 'del',\n 'ins',\n 'map',\n 'noscript',\n 'video'\n ])\n}\n\n// Whether to omit ``.\nfunction li(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, 'li')\n}\n\n// Whether to omit ``.\nfunction dt(node, index, parent) {\n var next = siblings.after(parent, index)\n return next && element(next, ['dt', 'dd'])\n}\n\n// Whether to omit ``.\nfunction dd(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['dt', 'dd'])\n}\n\n// Whether to omit `` or ``.\nfunction rubyElement(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['rp', 'rt'])\n}\n\n// Whether to omit ``.\nfunction optgroup(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, 'optgroup')\n}\n\n// Whether to omit ``.\nfunction option(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['option', 'optgroup'])\n}\n\n// Whether to omit ``.\nfunction menuitem(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['menuitem', 'hr', 'menu'])\n}\n\n// Whether to omit ``.\nfunction thead(node, index, parent) {\n var next = siblings.after(parent, index)\n return next && element(next, ['tbody', 'tfoot'])\n}\n\n// Whether to omit ``.\nfunction tbody(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['tbody', 'tfoot'])\n}\n\n// Whether to omit ``.\nfunction tfoot(node, index, parent) {\n return !siblings.after(parent, index)\n}\n\n// Whether to omit ``.\nfunction tr(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, 'tr')\n}\n\n// Whether to omit `` or ``.\nfunction cells(node, index, parent) {\n var next = siblings.after(parent, index)\n return !next || element(next, ['td', 'th'])\n}\n","'use strict'\n\nvar xtend = require('xtend')\nvar defaults = require('./github.json')\n\nmodule.exports = wrapper\n\nvar own = {}.hasOwnProperty\nvar push = [].push\n\nvar nodeSchema = {\n root: {children: all},\n doctype: handleDoctype,\n comment: handleComment,\n element: {\n tagName: handleTagName,\n properties: handleProperties,\n children: all\n },\n text: {value: handleValue},\n '*': {data: allow, position: allow}\n}\n\n// Sanitize `node`, according to `schema`.\nfunction wrapper(node, schema) {\n var ctx = {type: 'root', children: []}\n var replace\n\n if (node && typeof node === 'object' && node.type) {\n replace = one(xtend(defaults, schema || {}), node, [])\n\n if (replace) {\n if ('length' in replace) {\n if (replace.length === 1) {\n ctx = replace[0]\n } else {\n ctx.children = replace\n }\n } else {\n ctx = replace\n }\n }\n }\n\n return ctx\n}\n\n// Sanitize `node`.\nfunction one(schema, node, stack) {\n var type = node && node.type\n var replacement = {type: node.type}\n var replace\n var definition\n var allowed\n var result\n var key\n\n if (own.call(nodeSchema, type)) {\n definition = nodeSchema[type]\n\n if (typeof definition === 'function') {\n definition = definition(schema, node)\n }\n\n if (definition) {\n replace = true\n allowed = xtend(definition, nodeSchema['*'])\n\n for (key in allowed) {\n result = allowed[key](schema, node[key], node, stack)\n\n if (result === false) {\n replace = null\n // Set the non-safe value.\n replacement[key] = node[key]\n } else if (result != null) {\n replacement[key] = result\n }\n }\n }\n }\n\n if (replace) {\n return replacement\n }\n\n return replacement.children &&\n replacement.children.length &&\n schema.strip.indexOf(replacement.tagName) < 0\n ? replacement.children\n : null\n}\n\n// Sanitize `children`.\nfunction all(schema, children, node, stack) {\n var results = []\n var index = -1\n var value\n\n if (children) {\n stack.push(node.tagName)\n\n while (++index < children.length) {\n value = one(schema, children[index], stack)\n\n if (value) {\n if ('length' in value) {\n push.apply(results, value)\n } else {\n results.push(value)\n }\n }\n }\n\n stack.pop()\n }\n\n return results\n}\n\n// Sanitize `properties`.\nfunction handleProperties(schema, properties, node, stack) {\n var name = handleTagName(schema, node.tagName, node, stack)\n var reqs = schema.required || /* istanbul ignore next */ {}\n var props = properties || {}\n var allowed = xtend(\n toPropertyValueMap(schema.attributes['*']),\n toPropertyValueMap(\n own.call(schema.attributes, name) ? schema.attributes[name] : []\n )\n )\n var result = {}\n var definition\n var key\n var value\n\n for (key in props) {\n if (own.call(allowed, key)) {\n definition = allowed[key]\n } else if (data(key) && own.call(allowed, 'data*')) {\n definition = allowed['data*']\n } else {\n continue\n }\n\n value = props[key]\n value =\n value && typeof value === 'object' && 'length' in value\n ? handlePropertyValues(schema, value, key, definition)\n : handlePropertyValue(schema, value, key, definition)\n\n if (value != null) {\n result[key] = value\n }\n }\n\n if (own.call(reqs, name)) {\n for (key in reqs[name]) {\n if (!own.call(result, key)) {\n result[key] = reqs[name][key]\n }\n }\n }\n\n return result\n}\n\n// Sanitize a property value which is a list.\nfunction handlePropertyValues(schema, values, prop, definition) {\n var result = []\n var index = -1\n var value\n\n while (++index < values.length) {\n value = handlePropertyValue(schema, values[index], prop, definition)\n\n if (value != null) {\n result.push(value)\n }\n }\n\n return result\n}\n\n// Sanitize a property value.\nfunction handlePropertyValue(schema, value, prop, definition) {\n if (\n (typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string') &&\n handleProtocol(schema, value, prop) &&\n (!definition.length || definition.indexOf(value) > -1)\n ) {\n return schema.clobber.indexOf(prop) < 0\n ? value\n : schema.clobberPrefix + value\n }\n}\n\n// Check whether `value` is a safe URL.\nfunction handleProtocol(schema, value, prop) {\n var url = String(value)\n var colon = url.indexOf(':')\n var questionMark = url.indexOf('?')\n var numberSign = url.indexOf('#')\n var slash = url.indexOf('/')\n var protocols = own.call(schema.protocols, prop)\n ? schema.protocols[prop].concat()\n : []\n var index = -1\n\n if (\n !protocols.length ||\n colon < 0 ||\n // If the first colon is after a `?`, `#`, or `/`, it’s not a protocol.\n (slash > -1 && colon > slash) ||\n (questionMark > -1 && colon > questionMark) ||\n (numberSign > -1 && colon > numberSign)\n ) {\n return true\n }\n\n while (++index < protocols.length) {\n if (\n colon === protocols[index].length &&\n url.slice(0, protocols[index].length) === protocols[index]\n ) {\n return true\n }\n }\n\n return false\n}\n\n// Always return a valid HTML5 doctype.\nfunction handleDoctypeName() {\n return 'html'\n}\n\n// Sanitize `tagName`.\nfunction handleTagName(schema, tagName, node, stack) {\n var name = typeof tagName === 'string' && tagName\n var index = -1\n\n if (!name || name === '*' || schema.tagNames.indexOf(name) < 0) {\n return false\n }\n\n // Some nodes can break out of their context if they don’t have a certain\n // ancestor.\n if (own.call(schema.ancestors, name)) {\n while (++index < schema.ancestors[name].length) {\n if (stack.indexOf(schema.ancestors[name][index]) > -1) {\n return name\n }\n }\n\n return false\n }\n\n return name\n}\n\nfunction handleDoctype(schema) {\n return schema.allowDoctypes ? {name: handleDoctypeName} : null\n}\n\nfunction handleComment(schema) {\n return schema.allowComments ? {value: handleCommentValue} : null\n}\n\n// See \nfunction handleCommentValue(schema, value) {\n var result = typeof value === 'string' ? value : ''\n var index = result.indexOf('-->')\n\n return index < 0 ? result : result.slice(0, index)\n}\n\n// Sanitize `value`.\nfunction handleValue(schema, value) {\n return typeof value === 'string' ? value : ''\n}\n\n// Create a map from a list of props or a list of properties and values.\nfunction toPropertyValueMap(values) {\n var result = {}\n var index = -1\n var value\n\n while (++index < values.length) {\n value = values[index]\n\n if (value && typeof value === 'object' && 'length' in value) {\n result[value[0]] = value.slice(1)\n } else {\n result[value] = []\n }\n }\n\n return result\n}\n\n// Allow `value`.\nfunction allow(schema, value) {\n return value\n}\n\n// Check if `prop` is a data property.\nfunction data(prop) {\n return prop.length > 4 && prop.slice(0, 4).toLowerCase() === 'data'\n}\n","'use strict'\n\nvar html = require('property-information/html')\nvar svg = require('property-information/svg')\nvar voids = require('html-void-elements')\nvar omission = require('./omission')\nvar one = require('./one')\n\nmodule.exports = toHtml\n\nvar deprecationWarningIssued\n\nfunction toHtml(node, options) {\n var settings = options || {}\n var quote = settings.quote || '\"'\n var alternative = quote === '\"' ? \"'\" : '\"'\n\n if (quote !== '\"' && quote !== \"'\") {\n throw new Error('Invalid quote `' + quote + '`, expected `\\'` or `\"`')\n }\n\n if ('allowDangerousHTML' in settings && !deprecationWarningIssued) {\n deprecationWarningIssued = true\n console.warn(\n 'Deprecation warning: `allowDangerousHTML` is a nonstandard option, use `allowDangerousHtml` instead'\n )\n }\n\n return one(\n {\n valid: settings.allowParseErrors ? 0 : 1,\n safe: settings.allowDangerousCharacters ? 0 : 1,\n schema: settings.space === 'svg' ? svg : html,\n omit: settings.omitOptionalTags && omission,\n quote: quote,\n alternative: alternative,\n smart: settings.quoteSmart,\n unquoted: settings.preferUnquoted,\n tight: settings.tightAttributes,\n upperDoctype: settings.upperDoctype,\n tightDoctype: settings.tightDoctype,\n bogusComments: settings.bogusComments,\n tightLists: settings.tightCommaSeparatedLists,\n tightClose: settings.tightSelfClosing,\n collapseEmpty: settings.collapseEmptyAttributes,\n dangerous: settings.allowDangerousHtml || settings.allowDangerousHTML,\n voids: settings.voids || voids.concat(),\n entities: settings.entities || {},\n close: settings.closeSelfClosing,\n closeEmpty: settings.closeEmptyElements\n },\n node && typeof node === 'object' && 'length' in node\n ? {type: 'root', children: node}\n : node\n )\n}\n","'use strict'\n\nmodule.exports = convert\n\nfunction convert(test) {\n if (typeof test === 'string') {\n return tagNameFactory(test)\n }\n\n if (test === null || test === undefined) {\n return element\n }\n\n if (typeof test === 'object') {\n return any(test)\n }\n\n if (typeof test === 'function') {\n return callFactory(test)\n }\n\n throw new Error('Expected function, string, or array as test')\n}\n\nfunction convertAll(tests) {\n var length = tests.length\n var index = -1\n var results = []\n\n while (++index < length) {\n results[index] = convert(tests[index])\n }\n\n return results\n}\n\nfunction any(tests) {\n var checks = convertAll(tests)\n var length = checks.length\n\n return matches\n\n function matches() {\n var index = -1\n\n while (++index < length) {\n if (checks[index].apply(this, arguments)) {\n return true\n }\n }\n\n return false\n }\n}\n\n// Utility to convert a string a tag name check.\nfunction tagNameFactory(test) {\n return tagName\n\n function tagName(node) {\n return element(node) && node.tagName === test\n }\n}\n\n// Utility to convert a function check.\nfunction callFactory(test) {\n return call\n\n function call(node) {\n return element(node) && Boolean(test.apply(this, arguments))\n }\n}\n\n// Utility to return true if this is an element.\nfunction element(node) {\n return (\n node &&\n typeof node === 'object' &&\n node.type === 'element' &&\n typeof node.tagName === 'string'\n )\n}\n","'use strict'\n\nmodule.exports = serialize\n\nvar handlers = {\n comment: require('./comment'),\n doctype: require('./doctype'),\n element: require('./element'),\n raw: require('./raw'),\n root: require('./all'),\n text: require('./text')\n}\n\nvar own = {}.hasOwnProperty\n\nfunction serialize(ctx, node, index, parent) {\n if (!node || !node.type) {\n throw new Error('Expected node, not `' + node + '`')\n }\n\n if (!own.call(handlers, node.type)) {\n throw new Error('Cannot compile unknown node `' + node.type + '`')\n }\n\n return handlers[node.type](ctx, node, index, parent)\n}\n","'use strict'\n\nexports.parse = parse\nexports.stringify = stringify\n\nvar comma = ','\nvar space = ' '\nvar empty = ''\n\n// Parse comma-separated tokens to an array.\nfunction parse(value) {\n var values = []\n var input = String(value || empty)\n var index = input.indexOf(comma)\n var lastIndex = 0\n var end = false\n var val\n\n while (!end) {\n if (index === -1) {\n index = input.length\n end = true\n }\n\n val = input.slice(lastIndex, index).trim()\n\n if (val || !end) {\n values.push(val)\n }\n\n lastIndex = index + 1\n index = input.indexOf(comma, lastIndex)\n }\n\n return values\n}\n\n// Compile an array to comma-separated tokens.\n// `options.padLeft` (default: `true`) pads a space left of each token, and\n// `options.padRight` (default: `false`) pads a space to the right of each token.\nfunction stringify(values, options) {\n var settings = options || {}\n var left = settings.padLeft === false ? empty : space\n var right = settings.padRight ? space : empty\n\n // Ensure the last empty entry is seen.\n if (values[values.length - 1] === empty) {\n values = values.concat(empty)\n }\n\n return values.join(right + comma + left).trim()\n}\n","'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n","'use strict'\n\nvar xtend = require('xtend')\nvar ccount = require('ccount')\nvar entities = require('stringify-entities')\n\nmodule.exports = serializeDoctype\n\nfunction serializeDoctype(ctx, node) {\n var sep = ctx.tightDoctype ? '' : ' '\n var parts = [''\n}\n\nfunction quote(ctx, value) {\n var string = String(value)\n var quote =\n ccount(string, ctx.quote) > ccount(string, ctx.alternative)\n ? ctx.alternative\n : ctx.quote\n\n return (\n quote +\n entities(string, xtend(ctx.entities, {subset: ['<', '&', quote]})) +\n quote\n )\n}\n","'use strict'\nmodule.exports = require('./lib')\n","'use strict'\n\nvar element = require('hast-util-is-element')\nvar siblings = require('./util/siblings')\nvar whiteSpaceStart = require('./util/white-space-start')\nvar comment = require('./util/comment')\nvar closing = require('./closing')\nvar omission = require('./omission')\n\nmodule.exports = omission({\n html: html,\n head: head,\n body: body,\n colgroup: colgroup,\n tbody: tbody\n})\n\n// Whether to omit ``.\nfunction html(node) {\n var head = siblings.after(node, -1)\n return !head || !comment(head)\n}\n\n// Whether to omit ``.\nfunction head(node) {\n var children = node.children\n var seen = []\n var index = -1\n\n while (++index < children.length) {\n if (element(children[index], ['title', 'base'])) {\n if (seen.indexOf(children[index].tagName) > -1) return false\n seen.push(children[index].tagName)\n }\n }\n\n return children.length\n}\n\n// Whether to omit ``.\nfunction body(node) {\n var head = siblings.after(node, -1, true)\n\n return (\n !head ||\n (!comment(head) &&\n !whiteSpaceStart(head) &&\n !element(head, ['meta', 'link', 'script', 'style', 'template']))\n )\n}\n\n// Whether to omit ``.\n// The spec describes some logic for the opening tag, but it’s easier to\n// implement in the closing tag, to the same effect, so we handle it there\n// instead.\nfunction colgroup(node, index, parent) {\n var previous = siblings.before(parent, index)\n var head = siblings.after(node, -1, true)\n\n // Previous colgroup was already omitted.\n if (\n element(previous, 'colgroup') &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return head && element(head, 'col')\n}\n\n// Whether to omit ``.\nfunction tbody(node, index, parent) {\n var previous = siblings.before(parent, index)\n var head = siblings.after(node, -1)\n\n // Previous table section was already omitted.\n if (\n element(previous, ['thead', 'tbody']) &&\n closing(previous, parent.children.indexOf(previous), parent)\n ) {\n return false\n }\n\n return head && element(head, 'tr')\n}\n"],"sourceRoot":""}