{"version":3,"sources":["jsdelivr-header.js","/npm/codemirror@5.65.21/mode/htmlmixed/htmlmixed.js"],"names":[],"mappings":"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","file":"/npm/codemirror@5.65.21/mode/htmlmixed/htmlmixed.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/codemirror@5.65.21/mode/htmlmixed/htmlmixed.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","// CodeMirror, copyright (c) by Marijn Haverbeke and others\n// Distributed under an MIT license: https://codemirror.net/5/LICENSE\n\n(function(mod) {\n  if (typeof exports == \"object\" && typeof module == \"object\") // CommonJS\n    mod(require(\"../../lib/codemirror\"), require(\"../xml/xml\"), require(\"../javascript/javascript\"), require(\"../css/css\"));\n  else if (typeof define == \"function\" && define.amd) // AMD\n    define([\"../../lib/codemirror\", \"../xml/xml\", \"../javascript/javascript\", \"../css/css\"], mod);\n  else // Plain browser env\n    mod(CodeMirror);\n})(function(CodeMirror) {\n  \"use strict\";\n\n  var defaultTags = {\n    script: [\n      [\"lang\", /(javascript|babel)/i, \"javascript\"],\n      [\"type\", /^(?:text|application)\\/(?:x-)?(?:java|ecma)script$|^module$|^$/i, \"javascript\"],\n      [\"type\", /./, \"text/plain\"],\n      [null, null, \"javascript\"]\n    ],\n    style:  [\n      [\"lang\", /^css$/i, \"css\"],\n      [\"type\", /^(text\\/)?(x-)?(stylesheet|css)$/i, \"css\"],\n      [\"type\", /./, \"text/plain\"],\n      [null, null, \"css\"]\n    ]\n  };\n\n  function maybeBackup(stream, pat, style) {\n    var cur = stream.current(), close = cur.search(pat);\n    if (close > -1) {\n      stream.backUp(cur.length - close);\n    } else if (cur.match(/<\\/?$/)) {\n      stream.backUp(cur.length);\n      if (!stream.match(pat, false)) stream.match(cur);\n    }\n    return style;\n  }\n\n  var attrRegexpCache = {};\n  function getAttrRegexp(attr) {\n    var regexp = attrRegexpCache[attr];\n    if (regexp) return regexp;\n    return attrRegexpCache[attr] = new RegExp(\"\\\\s+\" + attr + \"\\\\s*=\\\\s*('|\\\")?([^'\\\"]+)('|\\\")?\\\\s*\");\n  }\n\n  function getAttrValue(text, attr) {\n    var match = text.match(getAttrRegexp(attr))\n    return match ? /^\\s*(.*?)\\s*$/.exec(match[2])[1] : \"\"\n  }\n\n  function getTagRegexp(tagName, anchored) {\n    return new RegExp((anchored ? \"^\" : \"\") + \"<\\/\\\\s*\" + tagName + \"\\\\s*>\", \"i\");\n  }\n\n  function addTags(from, to) {\n    for (var tag in from) {\n      var dest = to[tag] || (to[tag] = []);\n      var source = from[tag];\n      for (var i = source.length - 1; i >= 0; i--)\n        dest.unshift(source[i])\n    }\n  }\n\n  function findMatchingMode(tagInfo, tagText) {\n    for (var i = 0; i < tagInfo.length; i++) {\n      var spec = tagInfo[i];\n      if (!spec[0] || spec[1].test(getAttrValue(tagText, spec[0]))) return spec[2];\n    }\n  }\n\n  CodeMirror.defineMode(\"htmlmixed\", function (config, parserConfig) {\n    var htmlMode = CodeMirror.getMode(config, {\n      name: \"xml\",\n      htmlMode: true,\n      multilineTagIndentFactor: parserConfig.multilineTagIndentFactor,\n      multilineTagIndentPastTag: parserConfig.multilineTagIndentPastTag,\n      allowMissingTagName: parserConfig.allowMissingTagName,\n    });\n\n    var tags = {};\n    var configTags = parserConfig && parserConfig.tags, configScript = parserConfig && parserConfig.scriptTypes;\n    addTags(defaultTags, tags);\n    if (configTags) addTags(configTags, tags);\n    if (configScript) for (var i = configScript.length - 1; i >= 0; i--)\n      tags.script.unshift([\"type\", configScript[i].matches, configScript[i].mode])\n\n    function html(stream, state) {\n      var style = htmlMode.token(stream, state.htmlState), tag = /\\btag\\b/.test(style), tagName\n      if (tag && !/[<>\\s\\/]/.test(stream.current()) &&\n          (tagName = state.htmlState.tagName && state.htmlState.tagName.toLowerCase()) &&\n          tags.hasOwnProperty(tagName)) {\n        state.inTag = tagName + \" \"\n      } else if (state.inTag && tag && />$/.test(stream.current())) {\n        var inTag = /^([\\S]+) (.*)/.exec(state.inTag)\n        state.inTag = null\n        var modeSpec = stream.current() == \">\" && findMatchingMode(tags[inTag[1]], inTag[2])\n        var mode = CodeMirror.getMode(config, modeSpec)\n        var endTagA = getTagRegexp(inTag[1], true), endTag = getTagRegexp(inTag[1], false);\n        state.token = function (stream, state) {\n          if (stream.match(endTagA, false)) {\n            state.token = html;\n            state.localState = state.localMode = null;\n            return null;\n          }\n          return maybeBackup(stream, endTag, state.localMode.token(stream, state.localState));\n        };\n        state.localMode = mode;\n        state.localState = CodeMirror.startState(mode, htmlMode.indent(state.htmlState, \"\", \"\"));\n      } else if (state.inTag) {\n        state.inTag += stream.current()\n        if (stream.eol()) state.inTag += \" \"\n      }\n      return style;\n    };\n\n    return {\n      startState: function () {\n        var state = CodeMirror.startState(htmlMode);\n        return {token: html, inTag: null, localMode: null, localState: null, htmlState: state};\n      },\n\n      copyState: function (state) {\n        var local;\n        if (state.localState) {\n          local = CodeMirror.copyState(state.localMode, state.localState);\n        }\n        return {token: state.token, inTag: state.inTag,\n                localMode: state.localMode, localState: local,\n                htmlState: CodeMirror.copyState(htmlMode, state.htmlState)};\n      },\n\n      token: function (stream, state) {\n        return state.token(stream, state);\n      },\n\n      indent: function (state, textAfter, line) {\n        if (!state.localMode || /^\\s*<\\//.test(textAfter))\n          return htmlMode.indent(state.htmlState, textAfter, line);\n        else if (state.localMode.indent)\n          return state.localMode.indent(state.localState, textAfter, line);\n        else\n          return CodeMirror.Pass;\n      },\n\n      innerMode: function (state) {\n        return {state: state.localState || state.htmlState, mode: state.localMode || htmlMode};\n      }\n    };\n  }, \"xml\", \"javascript\", \"css\");\n\n  CodeMirror.defineMIME(\"text/html\", \"htmlmixed\");\n});\n"]}