{"version":3,"sources":["jsdelivr-header.js","/npm/vmplate@1.1.2/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,IAAI,MAAQ,QAAQ,QAAR,CAAiB,WACzB,GAAK,QAAQ,MAEjB,QAAU,OAAO,QAAU,SAAiB,EAAQ,EAAQ,GAC1D,IAAI,EAAS,OACT,EAAS,KACT,EAAS,GAAG,aAchB,SAAiB,GACf,IAGI,EACA,EAJA,EAAS,iBACT,EAAQ,EACR,EAAQ,EAIZ,SAAS,EAAK,EAAK,GACZ,EAAI,SAIP,GADE,EACQ,EAAM,KAEN,UAAY,EAAM,KAEhC,CAEA,SAAS,EAAK,GAEZ,OADA,MAAM,UAAW,EAAK,EAAM,KAAK,IACzB,EAAM,KAAK,IACnB,IAAK,MACH,EAAK,EAAK,IACV,MACF,IAAK,KACH,EAAK,EAAK,IAAM,GAGpB,CAEA,SAAS,EAAK,GACZ,MAAM,UAAW,GACZ,EAAI,QAGT,EA0CJ,SAAe,GACb,OAAO,KAAK,UAAU,EACxB,CA5CS,CAAM,GACb,CAEA,SAAS,EAAK,GAEZ,IAAI,EAIJ,OALA,MAAM,WAAY,IAEd,EAAM,EAAM,KAAK,MACnB,EAAI,KAAO,GAEN,CACT,CAEA,KAAO,EAAQ,EAAK,EAAO,OAAO,KAMhC,OALA,MAAM,6BAA8B,EAAO,EAAO,GAElD,EAAQ,EAAO,OAAO,EAAO,EAAM,OACnC,EAAQ,EAAQ,EAAM,MAAQ,EAAM,GAAG,OAE/B,GACR,KAAK,EACH,EAAK,GACL,EAAQ,EACR,MACF,KAAK,EACH,EAAK,GACL,EAAQ,EAKZ,GAAI,EAAQ,EAAO,OAAQ,CACzB,GAAI,IAAU,EACZ,MAAM,IAAI,YAAY,yBAExB,EAAK,EAAO,OAAO,GACrB,CAIA,OAFA,MAAM,aAAe,GAEd,CACT,CAzF6B,CAAQ,GAAS,GAAY,eAE1D,SAAS,EAAO,GAId,OAHA,EAAS,GAAU,CAAC,GACb,UAAY,EAAO,OAEnB,EAAO,gBA8FhB,SAAe,GACb,IAAK,IAAI,KAAO,EACd,EAAI,GAAO,EAAI,GAEjB,OAAO,CACT,CAnGgC,CAAM,GACtC,CAKA,OAHA,EAAO,OAAS,GAAU,CAAC,EAC3B,EAAO,OAAO,UAAY,QAAQ,OAE3B,EAmFP,SAAS,EAAK,GACZ,OAAO,EAAI,MACb,CAUF,EAEA,QAAQ,OAAS,CAAC","file":"/npm/vmplate@1.1.2/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/vmplate@1.1.2/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var debug = require('debug')('vmplate');\nvar vm = require('vm');\n\nexports = module.exports = function vmplate(string, locals, filename) {\n  var SCRIPT = /<%=?/;\n  var STRING = /%>/;\n  var script = vm.createScript(compile(string), filename || 'template.vm');\n\n  function render(locals) {\n    locals = locals || {};\n    locals.__proto__ = render.locals;\n\n    return script.runInNewContext(hoist(locals));\n  }\n\n  render.locals = locals || {};\n  render.locals.__proto__ = exports.locals;\n\n  return render;\n\n  function compile(string) {\n    var output = 'var str = \"\"\\n';\n    var token = SCRIPT;\n    var start = 0;\n    var input;\n    var match;\n\n    function push(str, raw) {\n      if (!str.length) {\n        return;\n      }\n      if (raw) {\n        output += str + '\\n';\n      } else {\n        output += 'str += ' + str + '\\n';\n      }\n    }\n\n    function code(str) {\n      debug('code %j', str, match.prev[0]);\n      switch (match.prev[0]) {\n      case '<%=':\n        push(trim(str));\n        break;\n      case '<%':\n        push(trim(str), true);\n        break;\n      }\n    }\n\n    function text(str) {\n      debug('text %j', str);\n      if (!str.length) {\n        return;\n      }\n      push(quote(str));\n    }\n\n    function scan(input) {\n      debug('input %j', input);\n      var res;\n      if (res = token.exec(input)) {\n        res.prev = match;\n      }\n      return res;\n    }\n\n    while (match = scan(string.substr(start))) {\n      debug('token=%s start=%s match=%s', token, start, match);\n\n      input = string.substr(start, match.index);\n      start = start + match.index + match[0].length;\n\n      switch (token) {\n      case SCRIPT:\n        text(input);\n        token = STRING;\n        break;\n      case STRING:\n        code(input);\n        token = SCRIPT;\n        break;\n      }\n    }\n\n    if (start < string.length) {\n      if (token === STRING) {\n        throw new SyntaxError('Unclosed code section');\n      }\n      text(string.substr(start));\n    }\n\n    debug('compiled\\n' + output);\n\n    return output;\n  }\n\n  function quote(str) {\n    return JSON.stringify(str);\n  }\n\n  function trim(str) {\n    return str.trim();\n  }\n\n  // node v0.10.x vm doesn't copy over __proto__\n  function hoist(obj) {\n    for (var key in obj) {\n      obj[key] = obj[key];\n    }\n    return obj;\n  }\n\n};\n\nexports.locals = {};\n"]}