Welcome to mirror list, hosted at ThFree Co, Russian Federation.

public-share.js.map « build - github.com/nextcloud/files_texteditor.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 44133a5d3bdec439954ce6dc9ba8ea47570a295e (plain)
1
{"version":3,"sources":["webpack:///webpack/bootstrap 8c6dcde47d648a4e0ab0","webpack:///./js/public-share.js","webpack:///./node_modules/marked/lib/marked.js","webpack:///(webpack)/buildin/global.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","$","document","ready","isPublic","val","mimetype","filesize","sharingToken","downloadUrl","OC","generateUrl","token","previewElement","renderer","__WEBPACK_IMPORTED_MODULE_0_marked___default","a","Renderer","link","href","title","text","prot","decodeURIComponent","unescape","replace","toLowerCase","e","indexOf","out","image","blockquote","quote","addClass","children","remove","success","content","removeClass","html","DOMPurify","sanitize","smartLists","SAFE_FOR_JQUERY","fail","result","substr","previewHeight","window","height","Math","max","ajax","url","headers","Range","textDiv","append","divHeight","length","ellipsis","appendTo","global","root","block","newline","code","fences","noop","hr","heading","nptable","list","def","table","lheading","paragraph","Lexer","options","this","tokens","links","create","marked","defaults","rules","normal","pedantic","gfm","tables","_label","_title","edit","getRegex","bullet","item","source","_tag","_comment","merge","lex","src","top","next","loose","cap","bull","b","listStart","listItems","t","space","tag","isordered","istask","ischecked","exec","substring","push","type","rtrim","lang","trim","depth","header","splitCells","align","split","cells","test","ordered","start","match","RegExp","slice","join","charAt","undefined","task","checked","pre","sanitizer","Error","charCodeAt","inline","escape","autolink","reflink","nolink","strong","em","br","del","InlineLexer","breaks","TextRenderer","Parser","slugger","Slugger","seen","encode","escapeTest","escapeReplace","ch","replacements","escapeTestNoEncode","escapeReplaceNoEncode","_","String","fromCharCode","parseInt","regex","opt","cleanUrl","base","originIndependentUrl","baseUrls","resolveUrl","encodeURI","_punctuation","_escapes","_scheme","_email","_attribute","_href","_extended_email","_backpedal","output","prevCapZero","inLink","inRawBlock","lastParenIndex","findClosingBracket","linkLen","outputLink","escapes","codespan","mangle","smartypants","random","toString","infostring","escaped","highlight","langPrefix","level","raw","headerIds","headerPrefix","slug","xhtml","body","listitem","checkbox","tablerow","tablecell","flags","baseUrl","parse","inlineText","reverse","tok","pop","peek","parseText","row","cell","j","errMsg","silent","console","log","value","originalSlug","&","<",">","\"","'","obj","target","key","arguments","tableRow","count","offset","str","curr","splice","invert","suffLen","currChar","callback","pending","done","err","message","setOptions","getDefaults","parser","lexer","inlineLexer","g","Function","eval"],"mappings":"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","file":"public-share.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./js/public-share.js\");\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8c6dcde47d648a4e0ab0","import marked from 'marked'\n\n// FIXME: Hack for single public file view since it is not attached to the fileslist\n$(document).ready(function(){\n\tvar isPublic = $('#isPublic').val();\n\tvar mimetype = $('#mimetype').val();\n\tvar filesize = $('#filesize').val();\n\n\tif (isPublic &&\n\t\tmimetype === 'text/markdown' &&\n\t\tfilesize < 524288) {\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\tvar downloadUrl = OC.generateUrl('/s/{token}/download', {token: sharingToken});\n\t\tvar previewElement = $('#imgframe');\n\t\tvar renderer = new marked.Renderer();\n\t\trenderer.link = function(href, title, text) {\n\t\t\ttry {\n\t\t\t\tvar prot = decodeURIComponent(unescape(href))\n\t\t\t\t\t.replace(/[^\\w:]/g, '')\n\t\t\t\t\t.toLowerCase();\n\t\t\t} catch (e) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tif (prot.indexOf('http:') !== 0 && prot.indexOf('https:') !== 0) {\n\t\t\t\treturn '';\n\t\t\t}\n\n\t\t\tvar out = '<a href=\"' + href + '\" rel=\"noreferrer noopener\"';\n\t\t\tif (title) {\n\t\t\t\tout += ' title=\"' + title + '\"';\n\t\t\t}\n\t\t\tout += '>' + text + '</a>';\n\t\t\treturn out;\n\t\t};\n\t\trenderer.image = function(href, title, text) {\n\t\t\tif (text) {\n\t\t\t\treturn text;\n\t\t\t}\n\t\t\treturn title;\n\t\t};\n\t\trenderer.blockquote = function(quote) {\n\t\t\treturn quote;\n\t\t};\n\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\t$.get(downloadUrl).success(function(content) {\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview formatted-text')\n\t\t\t\t.html(DOMPurify.sanitize(\n\t\t\t\t\tmarked(content, {\n\t\t\t\t\t\trenderer: renderer,\n\t\t\t\t\t\tsmartLists: true\n\t\t\t\t\t}),\n\t\t\t\t\t{\n\t\t\t\t\t\tSAFE_FOR_JQUERY: true\n\t\t\t\t\t}\n\t\t\t\t));\n\t\t}).fail(function(result){\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading');\n\t\t});\n\t} else if (isPublic &&\n\t\t\t   mimetype.substr(0, mimetype.indexOf('/')) === 'text') {\n\t\t// Based on default text previews from \"files_sharing/js/public.js\", but\n\t\t// using the public endpoint from files_texteditor for better character\n\t\t// encoding support.\n\t\tvar previewElement = $('#imgframe');\n\t\tpreviewElement\n\t\t\t.addClass('icon-loading')\n\t\t\t.children().remove();\n\n\t\tvar bottomMargin = 350;\n\t\tvar previewHeight = $(window).height() - bottomMargin;\n\t\tpreviewHeight = Math.max(200, previewHeight);\n\n\t\tvar sharingToken = $('#sharingToken').val();\n\t\t$.ajax({\n\t\t\turl: OC.generateUrl('/apps/files_texteditor/public/{token}', { token: sharingToken }),\n\t\t\theaders: {\n\t\t\t\t'Range': 'bytes=0-524288'\n\t\t\t}\n\t\t}).success(function(content) {\n\t\t\tvar textDiv = $('<div/>').addClass('text-preview default-overridden');\n\t\t\ttextDiv.text(content);\n\n\t\t\tpreviewElement\n\t\t\t\t.removeClass('icon-loading')\n\t\t\t\t.addClass('preview')\n\t\t\t\t.append(textDiv);\n\n\t\t\tvar divHeight = textDiv.height();\n\t\t\tif (content.length > 524289) {\n\t\t\t\tvar ellipsis = $('<div/>').addClass('ellipsis');\n\t\t\t\tellipsis.html('(&#133;)');\n\t\t\t\tellipsis.appendTo('#imgframe');\n\t\t\t}\n\t\t\tif (divHeight > previewHeight) {\n\t\t\t\ttextDiv.height(previewHeight);\n\t\t\t}\n\t\t});\n\t}\n});\n\n\n\n// WEBPACK FOOTER //\n// ./js/public-share.js","/**\n * marked - a markdown parser\n * Copyright (c) 2011-2018, Christopher Jeffrey. (MIT Licensed)\n * https://github.com/markedjs/marked\n */\n\n;(function(root) {\n'use strict';\n\n/**\n * Block-Level Grammar\n */\n\nvar block = {\n  newline: /^\\n+/,\n  code: /^( {4}[^\\n]+\\n*)+/,\n  fences: noop,\n  hr: /^ {0,3}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)/,\n  heading: /^ *(#{1,6}) *([^\\n]+?) *(?:#+ *)?(?:\\n+|$)/,\n  nptable: noop,\n  blockquote: /^( {0,3}> ?(paragraph|[^\\n]*)(?:\\n|$))+/,\n  list: /^( {0,3})(bull) [\\s\\S]+?(?:hr|def|\\n{2,}(?! )(?!\\1bull )\\n*|\\s*$)/,\n  html: '^ {0,3}(?:' // optional indentation\n    + '<(script|pre|style)[\\\\s>][\\\\s\\\\S]*?(?:</\\\\1>[^\\\\n]*\\\\n+|$)' // (1)\n    + '|comment[^\\\\n]*(\\\\n+|$)' // (2)\n    + '|<\\\\?[\\\\s\\\\S]*?\\\\?>\\\\n*' // (3)\n    + '|<![A-Z][\\\\s\\\\S]*?>\\\\n*' // (4)\n    + '|<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>\\\\n*' // (5)\n    + '|</?(tag)(?: +|\\\\n|/?>)[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (6)\n    + '|<(?!script|pre|style)([a-z][\\\\w-]*)(?:attribute)*? */?>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) open tag\n    + '|</(?!script|pre|style)[a-z][\\\\w-]*\\\\s*>(?=[ \\\\t]*(?:\\\\n|$))[\\\\s\\\\S]*?(?:\\\\n{2,}|$)' // (7) closing tag\n    + ')',\n  def: /^ {0,3}\\[(label)\\]: *\\n? *<?([^\\s>]+)>?(?:(?: +\\n? *| *\\n *)(title))? *(?:\\n+|$)/,\n  table: noop,\n  lheading: /^([^\\n]+)\\n *(=|-){2,} *(?:\\n+|$)/,\n  paragraph: /^([^\\n]+(?:\\n(?!hr|heading|lheading| {0,3}>|<\\/?(?:tag)(?: +|\\n|\\/?>)|<(?:script|pre|style|!--))[^\\n]+)*)/,\n  text: /^[^\\n]+/\n};\n\nblock._label = /(?!\\s*\\])(?:\\\\[\\[\\]]|[^\\[\\]])+/;\nblock._title = /(?:\"(?:\\\\\"?|[^\"\\\\])*\"|'[^'\\n]*(?:\\n[^'\\n]+)*\\n?'|\\([^()]*\\))/;\nblock.def = edit(block.def)\n  .replace('label', block._label)\n  .replace('title', block._title)\n  .getRegex();\n\nblock.bullet = /(?:[*+-]|\\d{1,9}\\.)/;\nblock.item = /^( *)(bull) ?[^\\n]*(?:\\n(?!\\1bull ?)[^\\n]*)*/;\nblock.item = edit(block.item, 'gm')\n  .replace(/bull/g, block.bullet)\n  .getRegex();\n\nblock.list = edit(block.list)\n  .replace(/bull/g, block.bullet)\n  .replace('hr', '\\\\n+(?=\\\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\\\* *){3,})(?:\\\\n+|$))')\n  .replace('def', '\\\\n+(?=' + block.def.source + ')')\n  .getRegex();\n\nblock._tag = 'address|article|aside|base|basefont|blockquote|body|caption'\n  + '|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption'\n  + '|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe'\n  + '|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option'\n  + '|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr'\n  + '|track|ul';\nblock._comment = /<!--(?!-?>)[\\s\\S]*?-->/;\nblock.html = edit(block.html, 'i')\n  .replace('comment', block._comment)\n  .replace('tag', block._tag)\n  .replace('attribute', / +[a-zA-Z:_][\\w.:-]*(?: *= *\"[^\"\\n]*\"| *= *'[^'\\n]*'| *= *[^\\s\"'=<>`]+)?/)\n  .getRegex();\n\nblock.paragraph = edit(block.paragraph)\n  .replace('hr', block.hr)\n  .replace('heading', block.heading)\n  .replace('lheading', block.lheading)\n  .replace('tag', block._tag) // pars can be interrupted by type (6) html blocks\n  .getRegex();\n\nblock.blockquote = edit(block.blockquote)\n  .replace('paragraph', block.paragraph)\n  .getRegex();\n\n/**\n * Normal Block Grammar\n */\n\nblock.normal = merge({}, block);\n\n/**\n * GFM Block Grammar\n */\n\nblock.gfm = merge({}, block.normal, {\n  fences: /^ {0,3}(`{3,}|~{3,})([^`\\n]*)\\n(?:|([\\s\\S]*?)\\n)(?: {0,3}\\1[~`]* *(?:\\n+|$)|$)/,\n  paragraph: /^/,\n  heading: /^ *(#{1,6}) +([^\\n]+?) *#* *(?:\\n+|$)/\n});\n\nblock.gfm.paragraph = edit(block.paragraph)\n  .replace('(?!', '(?!'\n    + block.gfm.fences.source.replace('\\\\1', '\\\\2') + '|'\n    + block.list.source.replace('\\\\1', '\\\\3') + '|')\n  .getRegex();\n\n/**\n * GFM + Tables Block Grammar\n */\n\nblock.tables = merge({}, block.gfm, {\n  nptable: /^ *([^|\\n ].*\\|.*)\\n *([-:]+ *\\|[-| :]*)(?:\\n((?:.*[^>\\n ].*(?:\\n|$))*)\\n*|$)/,\n  table: /^ *\\|(.+)\\n *\\|?( *[-:]+[-| :]*)(?:\\n((?: *[^>\\n ].*(?:\\n|$))*)\\n*|$)/\n});\n\n/**\n * Pedantic grammar\n */\n\nblock.pedantic = merge({}, block.normal, {\n  html: edit(\n    '^ *(?:comment *(?:\\\\n|\\\\s*$)'\n    + '|<(tag)[\\\\s\\\\S]+?</\\\\1> *(?:\\\\n{2,}|\\\\s*$)' // closed tag\n    + '|<tag(?:\"[^\"]*\"|\\'[^\\']*\\'|\\\\s[^\\'\"/>\\\\s]*)*?/?> *(?:\\\\n{2,}|\\\\s*$))')\n    .replace('comment', block._comment)\n    .replace(/tag/g, '(?!(?:'\n      + 'a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub'\n      + '|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)'\n      + '\\\\b)\\\\w+(?!:|[^\\\\w\\\\s@]*@)\\\\b')\n    .getRegex(),\n  def: /^ *\\[([^\\]]+)\\]: *<?([^\\s>]+)>?(?: +([\"(][^\\n]+[\")]))? *(?:\\n+|$)/\n});\n\n/**\n * Block Lexer\n */\n\nfunction Lexer(options) {\n  this.tokens = [];\n  this.tokens.links = Object.create(null);\n  this.options = options || marked.defaults;\n  this.rules = block.normal;\n\n  if (this.options.pedantic) {\n    this.rules = block.pedantic;\n  } else if (this.options.gfm) {\n    if (this.options.tables) {\n      this.rules = block.tables;\n    } else {\n      this.rules = block.gfm;\n    }\n  }\n}\n\n/**\n * Expose Block Rules\n */\n\nLexer.rules = block;\n\n/**\n * Static Lex Method\n */\n\nLexer.lex = function(src, options) {\n  var lexer = new Lexer(options);\n  return lexer.lex(src);\n};\n\n/**\n * Preprocessing\n */\n\nLexer.prototype.lex = function(src) {\n  src = src\n    .replace(/\\r\\n|\\r/g, '\\n')\n    .replace(/\\t/g, '    ')\n    .replace(/\\u00a0/g, ' ')\n    .replace(/\\u2424/g, '\\n');\n\n  return this.token(src, true);\n};\n\n/**\n * Lexing\n */\n\nLexer.prototype.token = function(src, top) {\n  src = src.replace(/^ +$/gm, '');\n  var next,\n      loose,\n      cap,\n      bull,\n      b,\n      item,\n      listStart,\n      listItems,\n      t,\n      space,\n      i,\n      tag,\n      l,\n      isordered,\n      istask,\n      ischecked;\n\n  while (src) {\n    // newline\n    if (cap = this.rules.newline.exec(src)) {\n      src = src.substring(cap[0].length);\n      if (cap[0].length > 1) {\n        this.tokens.push({\n          type: 'space'\n        });\n      }\n    }\n\n    // code\n    if (cap = this.rules.code.exec(src)) {\n      src = src.substring(cap[0].length);\n      cap = cap[0].replace(/^ {4}/gm, '');\n      this.tokens.push({\n        type: 'code',\n        text: !this.options.pedantic\n          ? rtrim(cap, '\\n')\n          : cap\n      });\n      continue;\n    }\n\n    // fences (gfm)\n    if (cap = this.rules.fences.exec(src)) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'code',\n        lang: cap[2] ? cap[2].trim() : cap[2],\n        text: cap[3] || ''\n      });\n      continue;\n    }\n\n    // heading\n    if (cap = this.rules.heading.exec(src)) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'heading',\n        depth: cap[1].length,\n        text: cap[2]\n      });\n      continue;\n    }\n\n    // table no leading pipe (gfm)\n    if (cap = this.rules.nptable.exec(src)) {\n      item = {\n        type: 'table',\n        header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n        align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n        cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n      };\n\n      if (item.header.length === item.align.length) {\n        src = src.substring(cap[0].length);\n\n        for (i = 0; i < item.align.length; i++) {\n          if (/^ *-+: *$/.test(item.align[i])) {\n            item.align[i] = 'right';\n          } else if (/^ *:-+: *$/.test(item.align[i])) {\n            item.align[i] = 'center';\n          } else if (/^ *:-+ *$/.test(item.align[i])) {\n            item.align[i] = 'left';\n          } else {\n            item.align[i] = null;\n          }\n        }\n\n        for (i = 0; i < item.cells.length; i++) {\n          item.cells[i] = splitCells(item.cells[i], item.header.length);\n        }\n\n        this.tokens.push(item);\n\n        continue;\n      }\n    }\n\n    // hr\n    if (cap = this.rules.hr.exec(src)) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'hr'\n      });\n      continue;\n    }\n\n    // blockquote\n    if (cap = this.rules.blockquote.exec(src)) {\n      src = src.substring(cap[0].length);\n\n      this.tokens.push({\n        type: 'blockquote_start'\n      });\n\n      cap = cap[0].replace(/^ *> ?/gm, '');\n\n      // Pass `top` to keep the current\n      // \"toplevel\" state. This is exactly\n      // how markdown.pl works.\n      this.token(cap, top);\n\n      this.tokens.push({\n        type: 'blockquote_end'\n      });\n\n      continue;\n    }\n\n    // list\n    if (cap = this.rules.list.exec(src)) {\n      src = src.substring(cap[0].length);\n      bull = cap[2];\n      isordered = bull.length > 1;\n\n      listStart = {\n        type: 'list_start',\n        ordered: isordered,\n        start: isordered ? +bull : '',\n        loose: false\n      };\n\n      this.tokens.push(listStart);\n\n      // Get each top-level item.\n      cap = cap[0].match(this.rules.item);\n\n      listItems = [];\n      next = false;\n      l = cap.length;\n      i = 0;\n\n      for (; i < l; i++) {\n        item = cap[i];\n\n        // Remove the list item's bullet\n        // so it is seen as the next token.\n        space = item.length;\n        item = item.replace(/^ *([*+-]|\\d+\\.) */, '');\n\n        // Outdent whatever the\n        // list item contains. Hacky.\n        if (~item.indexOf('\\n ')) {\n          space -= item.length;\n          item = !this.options.pedantic\n            ? item.replace(new RegExp('^ {1,' + space + '}', 'gm'), '')\n            : item.replace(/^ {1,4}/gm, '');\n        }\n\n        // Determine whether the next list item belongs here.\n        // Backpedal if it does not belong in this list.\n        if (i !== l - 1) {\n          b = block.bullet.exec(cap[i + 1])[0];\n          if (bull.length > 1 ? b.length === 1\n            : (b.length > 1 || (this.options.smartLists && b !== bull))) {\n            src = cap.slice(i + 1).join('\\n') + src;\n            i = l - 1;\n          }\n        }\n\n        // Determine whether item is loose or not.\n        // Use: /(^|\\n)(?! )[^\\n]+\\n\\n(?!\\s*$)/\n        // for discount behavior.\n        loose = next || /\\n\\n(?!\\s*$)/.test(item);\n        if (i !== l - 1) {\n          next = item.charAt(item.length - 1) === '\\n';\n          if (!loose) loose = next;\n        }\n\n        if (loose) {\n          listStart.loose = true;\n        }\n\n        // Check for task list items\n        istask = /^\\[[ xX]\\] /.test(item);\n        ischecked = undefined;\n        if (istask) {\n          ischecked = item[1] !== ' ';\n          item = item.replace(/^\\[[ xX]\\] +/, '');\n        }\n\n        t = {\n          type: 'list_item_start',\n          task: istask,\n          checked: ischecked,\n          loose: loose\n        };\n\n        listItems.push(t);\n        this.tokens.push(t);\n\n        // Recurse.\n        this.token(item, false);\n\n        this.tokens.push({\n          type: 'list_item_end'\n        });\n      }\n\n      if (listStart.loose) {\n        l = listItems.length;\n        i = 0;\n        for (; i < l; i++) {\n          listItems[i].loose = true;\n        }\n      }\n\n      this.tokens.push({\n        type: 'list_end'\n      });\n\n      continue;\n    }\n\n    // html\n    if (cap = this.rules.html.exec(src)) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: this.options.sanitize\n          ? 'paragraph'\n          : 'html',\n        pre: !this.options.sanitizer\n          && (cap[1] === 'pre' || cap[1] === 'script' || cap[1] === 'style'),\n        text: cap[0]\n      });\n      continue;\n    }\n\n    // def\n    if (top && (cap = this.rules.def.exec(src))) {\n      src = src.substring(cap[0].length);\n      if (cap[3]) cap[3] = cap[3].substring(1, cap[3].length - 1);\n      tag = cap[1].toLowerCase().replace(/\\s+/g, ' ');\n      if (!this.tokens.links[tag]) {\n        this.tokens.links[tag] = {\n          href: cap[2],\n          title: cap[3]\n        };\n      }\n      continue;\n    }\n\n    // table (gfm)\n    if (cap = this.rules.table.exec(src)) {\n      item = {\n        type: 'table',\n        header: splitCells(cap[1].replace(/^ *| *\\| *$/g, '')),\n        align: cap[2].replace(/^ *|\\| *$/g, '').split(/ *\\| */),\n        cells: cap[3] ? cap[3].replace(/\\n$/, '').split('\\n') : []\n      };\n\n      if (item.header.length === item.align.length) {\n        src = src.substring(cap[0].length);\n\n        for (i = 0; i < item.align.length; i++) {\n          if (/^ *-+: *$/.test(item.align[i])) {\n            item.align[i] = 'right';\n          } else if (/^ *:-+: *$/.test(item.align[i])) {\n            item.align[i] = 'center';\n          } else if (/^ *:-+ *$/.test(item.align[i])) {\n            item.align[i] = 'left';\n          } else {\n            item.align[i] = null;\n          }\n        }\n\n        for (i = 0; i < item.cells.length; i++) {\n          item.cells[i] = splitCells(\n            item.cells[i].replace(/^ *\\| *| *\\| *$/g, ''),\n            item.header.length);\n        }\n\n        this.tokens.push(item);\n\n        continue;\n      }\n    }\n\n    // lheading\n    if (cap = this.rules.lheading.exec(src)) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'heading',\n        depth: cap[2] === '=' ? 1 : 2,\n        text: cap[1]\n      });\n      continue;\n    }\n\n    // top-level paragraph\n    if (top && (cap = this.rules.paragraph.exec(src))) {\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'paragraph',\n        text: cap[1].charAt(cap[1].length - 1) === '\\n'\n          ? cap[1].slice(0, -1)\n          : cap[1]\n      });\n      continue;\n    }\n\n    // text\n    if (cap = this.rules.text.exec(src)) {\n      // Top-level should never reach here.\n      src = src.substring(cap[0].length);\n      this.tokens.push({\n        type: 'text',\n        text: cap[0]\n      });\n      continue;\n    }\n\n    if (src) {\n      throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n    }\n  }\n\n  return this.tokens;\n};\n\n/**\n * Inline-Level Grammar\n */\n\nvar inline = {\n  escape: /^\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/,\n  autolink: /^<(scheme:[^\\s\\x00-\\x1f<>]*|email)>/,\n  url: noop,\n  tag: '^comment'\n    + '|^</[a-zA-Z][\\\\w:-]*\\\\s*>' // self-closing tag\n    + '|^<[a-zA-Z][\\\\w-]*(?:attribute)*?\\\\s*/?>' // open tag\n    + '|^<\\\\?[\\\\s\\\\S]*?\\\\?>' // processing instruction, e.g. <?php ?>\n    + '|^<![a-zA-Z]+\\\\s[\\\\s\\\\S]*?>' // declaration, e.g. <!DOCTYPE html>\n    + '|^<!\\\\[CDATA\\\\[[\\\\s\\\\S]*?\\\\]\\\\]>', // CDATA section\n  link: /^!?\\[(label)\\]\\(href(?:\\s+(title))?\\s*\\)/,\n  reflink: /^!?\\[(label)\\]\\[(?!\\s*\\])((?:\\\\[\\[\\]]?|[^\\[\\]\\\\])+)\\]/,\n  nolink: /^!?\\[(?!\\s*\\])((?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]|[^\\[\\]])*)\\](?:\\[\\])?/,\n  strong: /^__([^\\s_])__(?!_)|^\\*\\*([^\\s*])\\*\\*(?!\\*)|^__([^\\s][\\s\\S]*?[^\\s])__(?!_)|^\\*\\*([^\\s][\\s\\S]*?[^\\s])\\*\\*(?!\\*)/,\n  em: /^_([^\\s_])_(?!_)|^\\*([^\\s*\"<\\[])\\*(?!\\*)|^_([^\\s][\\s\\S]*?[^\\s_])_(?!_|[^\\spunctuation])|^_([^\\s_][\\s\\S]*?[^\\s])_(?!_|[^\\spunctuation])|^\\*([^\\s\"<\\[][\\s\\S]*?[^\\s*])\\*(?!\\*)|^\\*([^\\s*\"<\\[][\\s\\S]*?[^\\s])\\*(?!\\*)/,\n  code: /^(`+)([^`]|[^`][\\s\\S]*?[^`])\\1(?!`)/,\n  br: /^( {2,}|\\\\)\\n(?!\\s*$)/,\n  del: noop,\n  text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*]|\\b_|$)|[^ ](?= {2,}\\n))|(?= {2,}\\n))/\n};\n\n// list of punctuation marks from common mark spec\n// without ` and ] to workaround Rule 17 (inline code blocks/links)\ninline._punctuation = '!\"#$%&\\'()*+,\\\\-./:;<=>?@\\\\[^_{|}~';\ninline.em = edit(inline.em).replace(/punctuation/g, inline._punctuation).getRegex();\n\ninline._escapes = /\\\\([!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~])/g;\n\ninline._scheme = /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/;\ninline._email = /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/;\ninline.autolink = edit(inline.autolink)\n  .replace('scheme', inline._scheme)\n  .replace('email', inline._email)\n  .getRegex();\n\ninline._attribute = /\\s+[a-zA-Z:_][\\w.:-]*(?:\\s*=\\s*\"[^\"]*\"|\\s*=\\s*'[^']*'|\\s*=\\s*[^\\s\"'=<>`]+)?/;\n\ninline.tag = edit(inline.tag)\n  .replace('comment', block._comment)\n  .replace('attribute', inline._attribute)\n  .getRegex();\n\ninline._label = /(?:\\[[^\\[\\]]*\\]|\\\\[\\[\\]]?|`[^`]*`|`(?!`)|[^\\[\\]\\\\`])*?/;\ninline._href = /\\s*(<(?:\\\\[<>]?|[^\\s<>\\\\])*>|[^\\s\\x00-\\x1f]*)/;\ninline._title = /\"(?:\\\\\"?|[^\"\\\\])*\"|'(?:\\\\'?|[^'\\\\])*'|\\((?:\\\\\\)?|[^)\\\\])*\\)/;\n\ninline.link = edit(inline.link)\n  .replace('label', inline._label)\n  .replace('href', inline._href)\n  .replace('title', inline._title)\n  .getRegex();\n\ninline.reflink = edit(inline.reflink)\n  .replace('label', inline._label)\n  .getRegex();\n\n/**\n * Normal Inline Grammar\n */\n\ninline.normal = merge({}, inline);\n\n/**\n * Pedantic Inline Grammar\n */\n\ninline.pedantic = merge({}, inline.normal, {\n  strong: /^__(?=\\S)([\\s\\S]*?\\S)__(?!_)|^\\*\\*(?=\\S)([\\s\\S]*?\\S)\\*\\*(?!\\*)/,\n  em: /^_(?=\\S)([\\s\\S]*?\\S)_(?!_)|^\\*(?=\\S)([\\s\\S]*?\\S)\\*(?!\\*)/,\n  link: edit(/^!?\\[(label)\\]\\((.*?)\\)/)\n    .replace('label', inline._label)\n    .getRegex(),\n  reflink: edit(/^!?\\[(label)\\]\\s*\\[([^\\]]*)\\]/)\n    .replace('label', inline._label)\n    .getRegex()\n});\n\n/**\n * GFM Inline Grammar\n */\n\ninline.gfm = merge({}, inline.normal, {\n  escape: edit(inline.escape).replace('])', '~|])').getRegex(),\n  _extended_email: /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,\n  url: /^((?:ftp|https?):\\/\\/|www\\.)(?:[a-zA-Z0-9\\-]+\\.?)+[^\\s<]*|^email/,\n  _backpedal: /(?:[^?!.,:;*_~()&]+|\\([^)]*\\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,\n  del: /^~+(?=\\S)([\\s\\S]*?\\S)~+/,\n  text: /^(`+|[^`])(?:[\\s\\S]*?(?:(?=[\\\\<!\\[`*~]|\\b_|https?:\\/\\/|ftp:\\/\\/|www\\.|$)|[^ ](?= {2,}\\n)|[^a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-](?=[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))|(?= {2,}\\n|[a-zA-Z0-9.!#$%&'*+\\/=?_`{\\|}~-]+@))/\n});\n\ninline.gfm.url = edit(inline.gfm.url, 'i')\n  .replace('email', inline.gfm._extended_email)\n  .getRegex();\n/**\n * GFM + Line Breaks Inline Grammar\n */\n\ninline.breaks = merge({}, inline.gfm, {\n  br: edit(inline.br).replace('{2,}', '*').getRegex(),\n  text: edit(inline.gfm.text).replace(/\\{2,\\}/g, '*').getRegex()\n});\n\n/**\n * Inline Lexer & Compiler\n */\n\nfunction InlineLexer(links, options) {\n  this.options = options || marked.defaults;\n  this.links = links;\n  this.rules = inline.normal;\n  this.renderer = this.options.renderer || new Renderer();\n  this.renderer.options = this.options;\n\n  if (!this.links) {\n    throw new Error('Tokens array requires a `links` property.');\n  }\n\n  if (this.options.pedantic) {\n    this.rules = inline.pedantic;\n  } else if (this.options.gfm) {\n    if (this.options.breaks) {\n      this.rules = inline.breaks;\n    } else {\n      this.rules = inline.gfm;\n    }\n  }\n}\n\n/**\n * Expose Inline Rules\n */\n\nInlineLexer.rules = inline;\n\n/**\n * Static Lexing/Compiling Method\n */\n\nInlineLexer.output = function(src, links, options) {\n  var inline = new InlineLexer(links, options);\n  return inline.output(src);\n};\n\n/**\n * Lexing/Compiling\n */\n\nInlineLexer.prototype.output = function(src) {\n  var out = '',\n      link,\n      text,\n      href,\n      title,\n      cap,\n      prevCapZero;\n\n  while (src) {\n    // escape\n    if (cap = this.rules.escape.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += escape(cap[1]);\n      continue;\n    }\n\n    // tag\n    if (cap = this.rules.tag.exec(src)) {\n      if (!this.inLink && /^<a /i.test(cap[0])) {\n        this.inLink = true;\n      } else if (this.inLink && /^<\\/a>/i.test(cap[0])) {\n        this.inLink = false;\n      }\n      if (!this.inRawBlock && /^<(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n        this.inRawBlock = true;\n      } else if (this.inRawBlock && /^<\\/(pre|code|kbd|script)(\\s|>)/i.test(cap[0])) {\n        this.inRawBlock = false;\n      }\n\n      src = src.substring(cap[0].length);\n      out += this.options.sanitize\n        ? this.options.sanitizer\n          ? this.options.sanitizer(cap[0])\n          : escape(cap[0])\n        : cap[0];\n      continue;\n    }\n\n    // link\n    if (cap = this.rules.link.exec(src)) {\n      var lastParenIndex = findClosingBracket(cap[2], '()');\n      if (lastParenIndex > -1) {\n        var linkLen = cap[0].length - (cap[2].length - lastParenIndex) - (cap[3] || '').length;\n        cap[2] = cap[2].substring(0, lastParenIndex);\n        cap[0] = cap[0].substring(0, linkLen).trim();\n        cap[3] = '';\n      }\n      src = src.substring(cap[0].length);\n      this.inLink = true;\n      href = cap[2];\n      if (this.options.pedantic) {\n        link = /^([^'\"]*[^\\s])\\s+(['\"])(.*)\\2/.exec(href);\n\n        if (link) {\n          href = link[1];\n          title = link[3];\n        } else {\n          title = '';\n        }\n      } else {\n        title = cap[3] ? cap[3].slice(1, -1) : '';\n      }\n      href = href.trim().replace(/^<([\\s\\S]*)>$/, '$1');\n      out += this.outputLink(cap, {\n        href: InlineLexer.escapes(href),\n        title: InlineLexer.escapes(title)\n      });\n      this.inLink = false;\n      continue;\n    }\n\n    // reflink, nolink\n    if ((cap = this.rules.reflink.exec(src))\n        || (cap = this.rules.nolink.exec(src))) {\n      src = src.substring(cap[0].length);\n      link = (cap[2] || cap[1]).replace(/\\s+/g, ' ');\n      link = this.links[link.toLowerCase()];\n      if (!link || !link.href) {\n        out += cap[0].charAt(0);\n        src = cap[0].substring(1) + src;\n        continue;\n      }\n      this.inLink = true;\n      out += this.outputLink(cap, link);\n      this.inLink = false;\n      continue;\n    }\n\n    // strong\n    if (cap = this.rules.strong.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += this.renderer.strong(this.output(cap[4] || cap[3] || cap[2] || cap[1]));\n      continue;\n    }\n\n    // em\n    if (cap = this.rules.em.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += this.renderer.em(this.output(cap[6] || cap[5] || cap[4] || cap[3] || cap[2] || cap[1]));\n      continue;\n    }\n\n    // code\n    if (cap = this.rules.code.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += this.renderer.codespan(escape(cap[2].trim(), true));\n      continue;\n    }\n\n    // br\n    if (cap = this.rules.br.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += this.renderer.br();\n      continue;\n    }\n\n    // del (gfm)\n    if (cap = this.rules.del.exec(src)) {\n      src = src.substring(cap[0].length);\n      out += this.renderer.del(this.output(cap[1]));\n      continue;\n    }\n\n    // autolink\n    if (cap = this.rules.autolink.exec(src)) {\n      src = src.substring(cap[0].length);\n      if (cap[2] === '@') {\n        text = escape(this.mangle(cap[1]));\n        href = 'mailto:' + text;\n      } else {\n        text = escape(cap[1]);\n        href = text;\n      }\n      out += this.renderer.link(href, null, text);\n      continue;\n    }\n\n    // url (gfm)\n    if (!this.inLink && (cap = this.rules.url.exec(src))) {\n      if (cap[2] === '@') {\n        text = escape(cap[0]);\n        href = 'mailto:' + text;\n      } else {\n        // do extended autolink path validation\n        do {\n          prevCapZero = cap[0];\n          cap[0] = this.rules._backpedal.exec(cap[0])[0];\n        } while (prevCapZero !== cap[0]);\n        text = escape(cap[0]);\n        if (cap[1] === 'www.') {\n          href = 'http://' + text;\n        } else {\n          href = text;\n        }\n      }\n      src = src.substring(cap[0].length);\n      out += this.renderer.link(href, null, text);\n      continue;\n    }\n\n    // text\n    if (cap = this.rules.text.exec(src)) {\n      src = src.substring(cap[0].length);\n      if (this.inRawBlock) {\n        out += this.renderer.text(cap[0]);\n      } else {\n        out += this.renderer.text(escape(this.smartypants(cap[0])));\n      }\n      continue;\n    }\n\n    if (src) {\n      throw new Error('Infinite loop on byte: ' + src.charCodeAt(0));\n    }\n  }\n\n  return out;\n};\n\nInlineLexer.escapes = function(text) {\n  return text ? text.replace(InlineLexer.rules._escapes, '$1') : text;\n};\n\n/**\n * Compile Link\n */\n\nInlineLexer.prototype.outputLink = function(cap, link) {\n  var href = link.href,\n      title = link.title ? escape(link.title) : null;\n\n  return cap[0].charAt(0) !== '!'\n    ? this.renderer.link(href, title, this.output(cap[1]))\n    : this.renderer.image(href, title, escape(cap[1]));\n};\n\n/**\n * Smartypants Transformations\n */\n\nInlineLexer.prototype.smartypants = function(text) {\n  if (!this.options.smartypants) return text;\n  return text\n    // em-dashes\n    .replace(/---/g, '\\u2014')\n    // en-dashes\n    .replace(/--/g, '\\u2013')\n    // opening singles\n    .replace(/(^|[-\\u2014/(\\[{\"\\s])'/g, '$1\\u2018')\n    // closing singles & apostrophes\n    .replace(/'/g, '\\u2019')\n    // opening doubles\n    .replace(/(^|[-\\u2014/(\\[{\\u2018\\s])\"/g, '$1\\u201c')\n    // closing doubles\n    .replace(/\"/g, '\\u201d')\n    // ellipses\n    .replace(/\\.{3}/g, '\\u2026');\n};\n\n/**\n * Mangle Links\n */\n\nInlineLexer.prototype.mangle = function(text) {\n  if (!this.options.mangle) return text;\n  var out = '',\n      l = text.length,\n      i = 0,\n      ch;\n\n  for (; i < l; i++) {\n    ch = text.charCodeAt(i);\n    if (Math.random() > 0.5) {\n      ch = 'x' + ch.toString(16);\n    }\n    out += '&#' + ch + ';';\n  }\n\n  return out;\n};\n\n/**\n * Renderer\n */\n\nfunction Renderer(options) {\n  this.options = options || marked.defaults;\n}\n\nRenderer.prototype.code = function(code, infostring, escaped) {\n  var lang = (infostring || '').match(/\\S*/)[0];\n  if (this.options.highlight) {\n    var out = this.options.highlight(code, lang);\n    if (out != null && out !== code) {\n      escaped = true;\n      code = out;\n    }\n  }\n\n  if (!lang) {\n    return '<pre><code>'\n      + (escaped ? code : escape(code, true))\n      + '</code></pre>';\n  }\n\n  return '<pre><code class=\"'\n    + this.options.langPrefix\n    + escape(lang, true)\n    + '\">'\n    + (escaped ? code : escape(code, true))\n    + '</code></pre>\\n';\n};\n\nRenderer.prototype.blockquote = function(quote) {\n  return '<blockquote>\\n' + quote + '</blockquote>\\n';\n};\n\nRenderer.prototype.html = function(html) {\n  return html;\n};\n\nRenderer.prototype.heading = function(text, level, raw, slugger) {\n  if (this.options.headerIds) {\n    return '<h'\n      + level\n      + ' id=\"'\n      + this.options.headerPrefix\n      + slugger.slug(raw)\n      + '\">'\n      + text\n      + '</h'\n      + level\n      + '>\\n';\n  }\n  // ignore IDs\n  return '<h' + level + '>' + text + '</h' + level + '>\\n';\n};\n\nRenderer.prototype.hr = function() {\n  return this.options.xhtml ? '<hr/>\\n' : '<hr>\\n';\n};\n\nRenderer.prototype.list = function(body, ordered, start) {\n  var type = ordered ? 'ol' : 'ul',\n      startatt = (ordered && start !== 1) ? (' start=\"' + start + '\"') : '';\n  return '<' + type + startatt + '>\\n' + body + '</' + type + '>\\n';\n};\n\nRenderer.prototype.listitem = function(text) {\n  return '<li>' + text + '</li>\\n';\n};\n\nRenderer.prototype.checkbox = function(checked) {\n  return '<input '\n    + (checked ? 'checked=\"\" ' : '')\n    + 'disabled=\"\" type=\"checkbox\"'\n    + (this.options.xhtml ? ' /' : '')\n    + '> ';\n};\n\nRenderer.prototype.paragraph = function(text) {\n  return '<p>' + text + '</p>\\n';\n};\n\nRenderer.prototype.table = function(header, body) {\n  if (body) body = '<tbody>' + body + '</tbody>';\n\n  return '<table>\\n'\n    + '<thead>\\n'\n    + header\n    + '</thead>\\n'\n    + body\n    + '</table>\\n';\n};\n\nRenderer.prototype.tablerow = function(content) {\n  return '<tr>\\n' + content + '</tr>\\n';\n};\n\nRenderer.prototype.tablecell = function(content, flags) {\n  var type = flags.header ? 'th' : 'td';\n  var tag = flags.align\n    ? '<' + type + ' align=\"' + flags.align + '\">'\n    : '<' + type + '>';\n  return tag + content + '</' + type + '>\\n';\n};\n\n// span level renderer\nRenderer.prototype.strong = function(text) {\n  return '<strong>' + text + '</strong>';\n};\n\nRenderer.prototype.em = function(text) {\n  return '<em>' + text + '</em>';\n};\n\nRenderer.prototype.codespan = function(text) {\n  return '<code>' + text + '</code>';\n};\n\nRenderer.prototype.br = function() {\n  return this.options.xhtml ? '<br/>' : '<br>';\n};\n\nRenderer.prototype.del = function(text) {\n  return '<del>' + text + '</del>';\n};\n\nRenderer.prototype.link = function(href, title, text) {\n  href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n  if (href === null) {\n    return text;\n  }\n  var out = '<a href=\"' + escape(href) + '\"';\n  if (title) {\n    out += ' title=\"' + title + '\"';\n  }\n  out += '>' + text + '</a>';\n  return out;\n};\n\nRenderer.prototype.image = function(href, title, text) {\n  href = cleanUrl(this.options.sanitize, this.options.baseUrl, href);\n  if (href === null) {\n    return text;\n  }\n\n  var out = '<img src=\"' + href + '\" alt=\"' + text + '\"';\n  if (title) {\n    out += ' title=\"' + title + '\"';\n  }\n  out += this.options.xhtml ? '/>' : '>';\n  return out;\n};\n\nRenderer.prototype.text = function(text) {\n  return text;\n};\n\n/**\n * TextRenderer\n * returns only the textual part of the token\n */\n\nfunction TextRenderer() {}\n\n// no need for block level renderers\n\nTextRenderer.prototype.strong =\nTextRenderer.prototype.em =\nTextRenderer.prototype.codespan =\nTextRenderer.prototype.del =\nTextRenderer.prototype.text = function (text) {\n  return text;\n};\n\nTextRenderer.prototype.link =\nTextRenderer.prototype.image = function(href, title, text) {\n  return '' + text;\n};\n\nTextRenderer.prototype.br = function() {\n  return '';\n};\n\n/**\n * Parsing & Compiling\n */\n\nfunction Parser(options) {\n  this.tokens = [];\n  this.token = null;\n  this.options = options || marked.defaults;\n  this.options.renderer = this.options.renderer || new Renderer();\n  this.renderer = this.options.renderer;\n  this.renderer.options = this.options;\n  this.slugger = new Slugger();\n}\n\n/**\n * Static Parse Method\n */\n\nParser.parse = function(src, options) {\n  var parser = new Parser(options);\n  return parser.parse(src);\n};\n\n/**\n * Parse Loop\n */\n\nParser.prototype.parse = function(src) {\n  this.inline = new InlineLexer(src.links, this.options);\n  // use an InlineLexer with a TextRenderer to extract pure text\n  this.inlineText = new InlineLexer(\n    src.links,\n    merge({}, this.options, {renderer: new TextRenderer()})\n  );\n  this.tokens = src.reverse();\n\n  var out = '';\n  while (this.next()) {\n    out += this.tok();\n  }\n\n  return out;\n};\n\n/**\n * Next Token\n */\n\nParser.prototype.next = function() {\n  return this.token = this.tokens.pop();\n};\n\n/**\n * Preview Next Token\n */\n\nParser.prototype.peek = function() {\n  return this.tokens[this.tokens.length - 1] || 0;\n};\n\n/**\n * Parse Text Tokens\n */\n\nParser.prototype.parseText = function() {\n  var body = this.token.text;\n\n  while (this.peek().type === 'text') {\n    body += '\\n' + this.next().text;\n  }\n\n  return this.inline.output(body);\n};\n\n/**\n * Parse Current Token\n */\n\nParser.prototype.tok = function() {\n  switch (this.token.type) {\n    case 'space': {\n      return '';\n    }\n    case 'hr': {\n      return this.renderer.hr();\n    }\n    case 'heading': {\n      return this.renderer.heading(\n        this.inline.output(this.token.text),\n        this.token.depth,\n        unescape(this.inlineText.output(this.token.text)),\n        this.slugger);\n    }\n    case 'code': {\n      return this.renderer.code(this.token.text,\n        this.token.lang,\n        this.token.escaped);\n    }\n    case 'table': {\n      var header = '',\n          body = '',\n          i,\n          row,\n          cell,\n          j;\n\n      // header\n      cell = '';\n      for (i = 0; i < this.token.header.length; i++) {\n        cell += this.renderer.tablecell(\n          this.inline.output(this.token.header[i]),\n          { header: true, align: this.token.align[i] }\n        );\n      }\n      header += this.renderer.tablerow(cell);\n\n      for (i = 0; i < this.token.cells.length; i++) {\n        row = this.token.cells[i];\n\n        cell = '';\n        for (j = 0; j < row.length; j++) {\n          cell += this.renderer.tablecell(\n            this.inline.output(row[j]),\n            { header: false, align: this.token.align[j] }\n          );\n        }\n\n        body += this.renderer.tablerow(cell);\n      }\n      return this.renderer.table(header, body);\n    }\n    case 'blockquote_start': {\n      body = '';\n\n      while (this.next().type !== 'blockquote_end') {\n        body += this.tok();\n      }\n\n      return this.renderer.blockquote(body);\n    }\n    case 'list_start': {\n      body = '';\n      var ordered = this.token.ordered,\n          start = this.token.start;\n\n      while (this.next().type !== 'list_end') {\n        body += this.tok();\n      }\n\n      return this.renderer.list(body, ordered, start);\n    }\n    case 'list_item_start': {\n      body = '';\n      var loose = this.token.loose;\n      var checked = this.token.checked;\n      var task = this.token.task;\n\n      if (this.token.task) {\n        body += this.renderer.checkbox(checked);\n      }\n\n      while (this.next().type !== 'list_item_end') {\n        body += !loose && this.token.type === 'text'\n          ? this.parseText()\n          : this.tok();\n      }\n      return this.renderer.listitem(body, task, checked);\n    }\n    case 'html': {\n      // TODO parse inline content if parameter markdown=1\n      return this.renderer.html(this.token.text);\n    }\n    case 'paragraph': {\n      return this.renderer.paragraph(this.inline.output(this.token.text));\n    }\n    case 'text': {\n      return this.renderer.paragraph(this.parseText());\n    }\n    default: {\n      var errMsg = 'Token with \"' + this.token.type + '\" type was not found.';\n      if (this.options.silent) {\n        console.log(errMsg);\n      } else {\n        throw new Error(errMsg);\n      }\n    }\n  }\n};\n\n/**\n * Slugger generates header id\n */\n\nfunction Slugger () {\n  this.seen = {};\n}\n\n/**\n * Convert string to unique id\n */\n\nSlugger.prototype.slug = function (value) {\n  var slug = value\n    .toLowerCase()\n    .trim()\n    .replace(/[\\u2000-\\u206F\\u2E00-\\u2E7F\\\\'!\"#$%&()*+,./:;<=>?@[\\]^`{|}~]/g, '')\n    .replace(/\\s/g, '-');\n\n  if (this.seen.hasOwnProperty(slug)) {\n    var originalSlug = slug;\n    do {\n      this.seen[originalSlug]++;\n      slug = originalSlug + '-' + this.seen[originalSlug];\n    } while (this.seen.hasOwnProperty(slug));\n  }\n  this.seen[slug] = 0;\n\n  return slug;\n};\n\n/**\n * Helpers\n */\n\nfunction escape(html, encode) {\n  if (encode) {\n    if (escape.escapeTest.test(html)) {\n      return html.replace(escape.escapeReplace, function (ch) { return escape.replacements[ch]; });\n    }\n  } else {\n    if (escape.escapeTestNoEncode.test(html)) {\n      return html.replace(escape.escapeReplaceNoEncode, function (ch) { return escape.replacements[ch]; });\n    }\n  }\n\n  return html;\n}\n\nescape.escapeTest = /[&<>\"']/;\nescape.escapeReplace = /[&<>\"']/g;\nescape.replacements = {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&quot;',\n  \"'\": '&#39;'\n};\n\nescape.escapeTestNoEncode = /[<>\"']|&(?!#?\\w+;)/;\nescape.escapeReplaceNoEncode = /[<>\"']|&(?!#?\\w+;)/g;\n\nfunction unescape(html) {\n  // explicitly match decimal, hex, and named HTML entities\n  return html.replace(/&(#(?:\\d+)|(?:#x[0-9A-Fa-f]+)|(?:\\w+));?/ig, function(_, n) {\n    n = n.toLowerCase();\n    if (n === 'colon') return ':';\n    if (n.charAt(0) === '#') {\n      return n.charAt(1) === 'x'\n        ? String.fromCharCode(parseInt(n.substring(2), 16))\n        : String.fromCharCode(+n.substring(1));\n    }\n    return '';\n  });\n}\n\nfunction edit(regex, opt) {\n  regex = regex.source || regex;\n  opt = opt || '';\n  return {\n    replace: function(name, val) {\n      val = val.source || val;\n      val = val.replace(/(^|[^\\[])\\^/g, '$1');\n      regex = regex.replace(name, val);\n      return this;\n    },\n    getRegex: function() {\n      return new RegExp(regex, opt);\n    }\n  };\n}\n\nfunction cleanUrl(sanitize, base, href) {\n  if (sanitize) {\n    try {\n      var prot = decodeURIComponent(unescape(href))\n        .replace(/[^\\w:]/g, '')\n        .toLowerCase();\n    } catch (e) {\n      return null;\n    }\n    if (prot.indexOf('javascript:') === 0 || prot.indexOf('vbscript:') === 0 || prot.indexOf('data:') === 0) {\n      return null;\n    }\n  }\n  if (base && !originIndependentUrl.test(href)) {\n    href = resolveUrl(base, href);\n  }\n  try {\n    href = encodeURI(href).replace(/%25/g, '%');\n  } catch (e) {\n    return null;\n  }\n  return href;\n}\n\nfunction resolveUrl(base, href) {\n  if (!baseUrls[' ' + base]) {\n    // we can ignore everything in base after the last slash of its path component,\n    // but we might need to add _that_\n    // https://tools.ietf.org/html/rfc3986#section-3\n    if (/^[^:]+:\\/*[^/]*$/.test(base)) {\n      baseUrls[' ' + base] = base + '/';\n    } else {\n      baseUrls[' ' + base] = rtrim(base, '/', true);\n    }\n  }\n  base = baseUrls[' ' + base];\n\n  if (href.slice(0, 2) === '//') {\n    return base.replace(/:[\\s\\S]*/, ':') + href;\n  } else if (href.charAt(0) === '/') {\n    return base.replace(/(:\\/*[^/]*)[\\s\\S]*/, '$1') + href;\n  } else {\n    return base + href;\n  }\n}\nvar baseUrls = {};\nvar originIndependentUrl = /^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;\n\nfunction noop() {}\nnoop.exec = noop;\n\nfunction merge(obj) {\n  var i = 1,\n      target,\n      key;\n\n  for (; i < arguments.length; i++) {\n    target = arguments[i];\n    for (key in target) {\n      if (Object.prototype.hasOwnProperty.call(target, key)) {\n        obj[key] = target[key];\n      }\n    }\n  }\n\n  return obj;\n}\n\nfunction splitCells(tableRow, count) {\n  // ensure that every cell-delimiting pipe has a space\n  // before it to distinguish it from an escaped pipe\n  var row = tableRow.replace(/\\|/g, function (match, offset, str) {\n        var escaped = false,\n            curr = offset;\n        while (--curr >= 0 && str[curr] === '\\\\') escaped = !escaped;\n        if (escaped) {\n          // odd number of slashes means | is escaped\n          // so we leave it alone\n          return '|';\n        } else {\n          // add space before unescaped |\n          return ' |';\n        }\n      }),\n      cells = row.split(/ \\|/),\n      i = 0;\n\n  if (cells.length > count) {\n    cells.splice(count);\n  } else {\n    while (cells.length < count) cells.push('');\n  }\n\n  for (; i < cells.length; i++) {\n    // leading or trailing whitespace is ignored per the gfm spec\n    cells[i] = cells[i].trim().replace(/\\\\\\|/g, '|');\n  }\n  return cells;\n}\n\n// Remove trailing 'c's. Equivalent to str.replace(/c*$/, '').\n// /c*$/ is vulnerable to REDOS.\n// invert: Remove suffix of non-c chars instead. Default falsey.\nfunction rtrim(str, c, invert) {\n  if (str.length === 0) {\n    return '';\n  }\n\n  // Length of suffix matching the invert condition.\n  var suffLen = 0;\n\n  // Step left until we fail to match the invert condition.\n  while (suffLen < str.length) {\n    var currChar = str.charAt(str.length - suffLen - 1);\n    if (currChar === c && !invert) {\n      suffLen++;\n    } else if (currChar !== c && invert) {\n      suffLen++;\n    } else {\n      break;\n    }\n  }\n\n  return str.substr(0, str.length - suffLen);\n}\n\nfunction findClosingBracket(str, b) {\n  if (str.indexOf(b[1]) === -1) {\n    return -1;\n  }\n  var level = 0;\n  for (var i = 0; i < str.length; i++) {\n    if (str[i] === '\\\\') {\n      i++;\n    } else if (str[i] === b[0]) {\n      level++;\n    } else if (str[i] === b[1]) {\n      level--;\n      if (level < 0) {\n        return i;\n      }\n    }\n  }\n  return -1;\n}\n\n/**\n * Marked\n */\n\nfunction marked(src, opt, callback) {\n  // throw error in case of non string input\n  if (typeof src === 'undefined' || src === null) {\n    throw new Error('marked(): input parameter is undefined or null');\n  }\n  if (typeof src !== 'string') {\n    throw new Error('marked(): input parameter is of type '\n      + Object.prototype.toString.call(src) + ', string expected');\n  }\n\n  if (callback || typeof opt === 'function') {\n    if (!callback) {\n      callback = opt;\n      opt = null;\n    }\n\n    opt = merge({}, marked.defaults, opt || {});\n\n    var highlight = opt.highlight,\n        tokens,\n        pending,\n        i = 0;\n\n    try {\n      tokens = Lexer.lex(src, opt);\n    } catch (e) {\n      return callback(e);\n    }\n\n    pending = tokens.length;\n\n    var done = function(err) {\n      if (err) {\n        opt.highlight = highlight;\n        return callback(err);\n      }\n\n      var out;\n\n      try {\n        out = Parser.parse(tokens, opt);\n      } catch (e) {\n        err = e;\n      }\n\n      opt.highlight = highlight;\n\n      return err\n        ? callback(err)\n        : callback(null, out);\n    };\n\n    if (!highlight || highlight.length < 3) {\n      return done();\n    }\n\n    delete opt.highlight;\n\n    if (!pending) return done();\n\n    for (; i < tokens.length; i++) {\n      (function(token) {\n        if (token.type !== 'code') {\n          return --pending || done();\n        }\n        return highlight(token.text, token.lang, function(err, code) {\n          if (err) return done(err);\n          if (code == null || code === token.text) {\n            return --pending || done();\n          }\n          token.text = code;\n          token.escaped = true;\n          --pending || done();\n        });\n      })(tokens[i]);\n    }\n\n    return;\n  }\n  try {\n    if (opt) opt = merge({}, marked.defaults, opt);\n    return Parser.parse(Lexer.lex(src, opt), opt);\n  } catch (e) {\n    e.message += '\\nPlease report this to https://github.com/markedjs/marked.';\n    if ((opt || marked.defaults).silent) {\n      return '<p>An error occurred:</p><pre>'\n        + escape(e.message + '', true)\n        + '</pre>';\n    }\n    throw e;\n  }\n}\n\n/**\n * Options\n */\n\nmarked.options =\nmarked.setOptions = function(opt) {\n  merge(marked.defaults, opt);\n  return marked;\n};\n\nmarked.getDefaults = function () {\n  return {\n    baseUrl: null,\n    breaks: false,\n    gfm: true,\n    headerIds: true,\n    headerPrefix: '',\n    highlight: null,\n    langPrefix: 'language-',\n    mangle: true,\n    pedantic: false,\n    renderer: new Renderer(),\n    sanitize: false,\n    sanitizer: null,\n    silent: false,\n    smartLists: false,\n    smartypants: false,\n    tables: true,\n    xhtml: false\n  };\n};\n\nmarked.defaults = marked.getDefaults();\n\n/**\n * Expose\n */\n\nmarked.Parser = Parser;\nmarked.parser = Parser.parse;\n\nmarked.Renderer = Renderer;\nmarked.TextRenderer = TextRenderer;\n\nmarked.Lexer = Lexer;\nmarked.lexer = Lexer.lex;\n\nmarked.InlineLexer = InlineLexer;\nmarked.inlineLexer = InlineLexer.output;\n\nmarked.Slugger = Slugger;\n\nmarked.parse = marked;\n\nif (typeof module !== 'undefined' && typeof exports === 'object') {\n  module.exports = marked;\n} else if (typeof define === 'function' && define.amd) {\n  define(function() { return marked; });\n} else {\n  root.marked = marked;\n}\n})(this || (typeof window !== 'undefined' ? window : global));\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/marked/lib/marked.js\n// module id = ./node_modules/marked/lib/marked.js\n// module chunks = 31","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = ./node_modules/webpack/buildin/global.js\n// module chunks = 31"],"sourceRoot":""}