var d, f;
function l() {
  if (f)
    return d;
  f = 1, d = i, i.displayName = "javadoclike", i.aliases = [];
  function i(s) {
    (function(u) {
      var c = u.languages.javadoclike = {
        parameter: {
          pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*@(?:arg|arguments|param)\s+)\w+/m,
          lookbehind: !0
        },
        keyword: {
          // keywords are the first word in a line preceded be an `@` or surrounded by curly braces.
          // @word, {@word}
          pattern: /(^[\t ]*(?:\/{3}|\*|\/\*\*)\s*|\{)@[a-z][a-zA-Z-]+\b/m,
          lookbehind: !0
        },
        punctuation: /[{}]/
      };
      function v(r, n) {
        var t = "doc-comment", a = u.languages[r];
        if (a) {
          var e = a[t];
          if (!e) {
            var p = {};
            p[t] = {
              pattern: /(^|[^\\])\/\*\*[^/][\s\S]*?(?:\*\/|$)/,
              lookbehind: !0,
              alias: "comment"
            }, a = u.languages.insertBefore(r, "comment", p), e = a[t];
          }
          if (e instanceof RegExp && (e = a[t] = {
            pattern: e
          }), Array.isArray(e))
            for (var o = 0, k = e.length; o < k; o++)
              e[o] instanceof RegExp && (e[o] = {
                pattern: e[o]
              }), n(e[o]);
          else
            n(e);
        }
      }
      function m(r, n) {
        typeof r == "string" && (r = [r]), r.forEach(function(t) {
          v(t, function(a) {
            a.inside || (a.inside = {}), a.inside.rest = n;
          });
        });
      }
      Object.defineProperty(c, "addSupport", {
        value: m
      }), c.addSupport(["java", "javascript", "php"], c);
    })(s);
  }
  return d;
}
export {
  l as __require
};
