This is an automated email from the ASF dual-hosted git repository.

git-site-role pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/accumulo-website.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new c54a56af8 Automatic Site Publish by Buildbot
c54a56af8 is described below

commit c54a56af82e89a07aa0205ebf36d2ce41e2699a6
Author: buildbot <us...@infra.apache.org>
AuthorDate: Tue Mar 4 18:03:56 2025 +0000

    Automatic Site Publish by Buildbot
---
 output/feed.xml                  |    4 +-
 output/js/lunr/2.3.9/lunr.min.js | 1429 ++++++++++++++++++++++++++++++++++++++
 output/search/index.html         |    2 +-
 3 files changed, 1432 insertions(+), 3 deletions(-)

diff --git a/output/feed.xml b/output/feed.xml
index e768600e9..6925f9dac 100644
--- a/output/feed.xml
+++ b/output/feed.xml
@@ -6,8 +6,8 @@
 </description>
     <link>https://accumulo.apache.org/</link>
     <atom:link href="https://accumulo.apache.org/feed.xml"; rel="self" 
type="application/rss+xml"/>
-    <pubDate>Wed, 15 Jan 2025 21:42:00 +0000</pubDate>
-    <lastBuildDate>Wed, 15 Jan 2025 21:42:00 +0000</lastBuildDate>
+    <pubDate>Tue, 04 Mar 2025 18:03:49 +0000</pubDate>
+    <lastBuildDate>Tue, 04 Mar 2025 18:03:49 +0000</lastBuildDate>
     <generator>Jekyll v4.3.4</generator>
     
     
diff --git a/output/js/lunr/2.3.9/lunr.min.js b/output/js/lunr/2.3.9/lunr.min.js
new file mode 100644
index 000000000..dabbb894c
--- /dev/null
+++ b/output/js/lunr/2.3.9/lunr.min.js
@@ -0,0 +1,1429 @@
+/**
+ * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as 
bright - 2.3.9
+ * Copyright (C) 2020 Oliver Nightingale
+ * @license MIT
+ */
+!function() {
+    var e = function(t) {
+        var r = new e.Builder;
+        return r.pipeline.add(e.trimmer, e.stopWordFilter, e.stemmer),
+        r.searchPipeline.add(e.stemmer),
+        t.call(r, r),
+        r.build()
+    };
+    e.version = "2.3.9",
+    e.utils = {},
+    e.utils.warn = function(e) {
+        return function(t) {
+            e.console && console.warn && console.warn(t)
+        }
+    }(this),
+    e.utils.asString = function(e) {
+        return void 0 === e || null === e ? "" : e.toString()
+    }
+    ,
+    e.utils.clone = function(e) {
+        if (null === e || void 0 === e)
+            return e;
+        for (var t = Object.create(null), r = Object.keys(e), i = 0; i < 
r.length; i++) {
+            var n = r[i]
+              , s = e[n];
+            if (Array.isArray(s))
+                t[n] = s.slice();
+            else {
+                if ("string" != typeof s && "number" != typeof s && "boolean" 
!= typeof s)
+                    throw new TypeError("clone is not deep and does not 
support nested objects");
+                t[n] = s
+            }
+        }
+        return t
+    }
+    ,
+    e.FieldRef = function(e, t, r) {
+        this.docRef = e,
+        this.fieldName = t,
+        this._stringValue = r
+    }
+    ,
+    e.FieldRef.joiner = "/",
+    e.FieldRef.fromString = function(t) {
+        var r = t.indexOf(e.FieldRef.joiner);
+        if (r === -1)
+            throw "malformed field ref string";
+        var i = t.slice(0, r)
+          , n = t.slice(r + 1);
+        return new e.FieldRef(n,i,t)
+    }
+    ,
+    e.FieldRef.prototype.toString = function() {
+        return void 0 == this._stringValue && (this._stringValue = 
this.fieldName + e.FieldRef.joiner + this.docRef),
+        this._stringValue
+    }
+    ,
+    e.Set = function(e) {
+        if (this.elements = Object.create(null),
+        e) {
+            this.length = e.length;
+            for (var t = 0; t < this.length; t++)
+                this.elements[e[t]] = !0
+        } else
+            this.length = 0
+    }
+    ,
+    e.Set.complete = {
+        intersect: function(e) {
+            return e
+        },
+        union: function() {
+            return this
+        },
+        contains: function() {
+            return !0
+        }
+    },
+    e.Set.empty = {
+        intersect: function() {
+            return this
+        },
+        union: function(e) {
+            return e
+        },
+        contains: function() {
+            return !1
+        }
+    },
+    e.Set.prototype.contains = function(e) {
+        return !!this.elements[e]
+    }
+    ,
+    e.Set.prototype.intersect = function(t) {
+        var r, i, n, s = [];
+        if (t === e.Set.complete)
+            return this;
+        if (t === e.Set.empty)
+            return t;
+        this.length < t.length ? (r = this,
+        i = t) : (r = t,
+        i = this),
+        n = Object.keys(r.elements);
+        for (var o = 0; o < n.length; o++) {
+            var a = n[o];
+            a in i.elements && s.push(a)
+        }
+        return new e.Set(s)
+    }
+    ,
+    e.Set.prototype.union = function(t) {
+        return t === e.Set.complete ? e.Set.complete : t === e.Set.empty ? 
this : new e.Set(Object.keys(this.elements).concat(Object.keys(t.elements)))
+    }
+    ,
+    e.idf = function(e, t) {
+        var r = 0;
+        for (var i in e)
+            "_index" != i && (r += Object.keys(e[i]).length);
+        var n = (t - r + .5) / (r + .5);
+        return Math.log(1 + Math.abs(n))
+    }
+    ,
+    e.Token = function(e, t) {
+        this.str = e || "",
+        this.metadata = t || {}
+    }
+    ,
+    e.Token.prototype.toString = function() {
+        return this.str
+    }
+    ,
+    e.Token.prototype.update = function(e) {
+        return this.str = e(this.str, this.metadata),
+        this
+    }
+    ,
+    e.Token.prototype.clone = function(t) {
+        return t = t || function(e) {
+            return e
+        }
+        ,
+        new e.Token(t(this.str, this.metadata),this.metadata)
+    }
+    ,
+    e.tokenizer = function(t, r) {
+        if (null == t || void 0 == t)
+            return [];
+        if (Array.isArray(t))
+            return t.map(function(t) {
+                return new 
e.Token(e.utils.asString(t).toLowerCase(),e.utils.clone(r))
+            });
+        for (var i = t.toString().toLowerCase(), n = i.length, s = [], o = 0, 
a = 0; o <= n; o++) {
+            var u = i.charAt(o)
+              , l = o - a;
+            if (u.match(e.tokenizer.separator) || o == n) {
+                if (l > 0) {
+                    var c = e.utils.clone(r) || {};
+                    c.position = [a, l],
+                    c.index = s.length,
+                    s.push(new e.Token(i.slice(a, o),c))
+                }
+                a = o + 1
+            }
+        }
+        return s
+    }
+    ,
+    e.tokenizer.separator = /[\s\-]+/,
+    e.Pipeline = function() {
+        this._stack = []
+    }
+    ,
+    e.Pipeline.registeredFunctions = Object.create(null),
+    e.Pipeline.registerFunction = function(t, r) {
+        r in this.registeredFunctions && e.utils.warn("Overwriting existing 
registered function: " + r),
+        t.label = r,
+        e.Pipeline.registeredFunctions[t.label] = t
+    }
+    ,
+    e.Pipeline.warnIfFunctionNotRegistered = function(t) {
+        var r = t.label && t.label in this.registeredFunctions;
+        r || e.utils.warn("Function is not registered with pipeline. This may 
cause problems when serialising the index.\n", t)
+    }
+    ,
+    e.Pipeline.load = function(t) {
+        var r = new e.Pipeline;
+        return t.forEach(function(t) {
+            var i = e.Pipeline.registeredFunctions[t];
+            if (!i)
+                throw new Error("Cannot load unregistered function: " + t);
+            r.add(i)
+        }),
+        r
+    }
+    ,
+    e.Pipeline.prototype.add = function() {
+        var t = Array.prototype.slice.call(arguments);
+        t.forEach(function(t) {
+            e.Pipeline.warnIfFunctionNotRegistered(t),
+            this._stack.push(t)
+        }, this)
+    }
+    ,
+    e.Pipeline.prototype.after = function(t, r) {
+        e.Pipeline.warnIfFunctionNotRegistered(r);
+        var i = this._stack.indexOf(t);
+        if (i == -1)
+            throw new Error("Cannot find existingFn");
+        i += 1,
+        this._stack.splice(i, 0, r)
+    }
+    ,
+    e.Pipeline.prototype.before = function(t, r) {
+        e.Pipeline.warnIfFunctionNotRegistered(r);
+        var i = this._stack.indexOf(t);
+        if (i == -1)
+            throw new Error("Cannot find existingFn");
+        this._stack.splice(i, 0, r)
+    }
+    ,
+    e.Pipeline.prototype.remove = function(e) {
+        var t = this._stack.indexOf(e);
+        t != -1 && this._stack.splice(t, 1)
+    }
+    ,
+    e.Pipeline.prototype.run = function(e) {
+        for (var t = this._stack.length, r = 0; r < t; r++) {
+            for (var i = this._stack[r], n = [], s = 0; s < e.length; s++) {
+                var o = i(e[s], s, e);
+                if (null !== o && void 0 !== o && "" !== o)
+                    if (Array.isArray(o))
+                        for (var a = 0; a < o.length; a++)
+                            n.push(o[a]);
+                    else
+                        n.push(o)
+            }
+            e = n
+        }
+        return e
+    }
+    ,
+    e.Pipeline.prototype.runString = function(t, r) {
+        var i = new e.Token(t,r);
+        return this.run([i]).map(function(e) {
+            return e.toString()
+        })
+    }
+    ,
+    e.Pipeline.prototype.reset = function() {
+        this._stack = []
+    }
+    ,
+    e.Pipeline.prototype.toJSON = function() {
+        return this._stack.map(function(t) {
+            return e.Pipeline.warnIfFunctionNotRegistered(t),
+            t.label
+        })
+    }
+    ,
+    e.Vector = function(e) {
+        this._magnitude = 0,
+        this.elements = e || []
+    }
+    ,
+    e.Vector.prototype.positionForIndex = function(e) {
+        if (0 == this.elements.length)
+            return 0;
+        for (var t = 0, r = this.elements.length / 2, i = r - t, n = 
Math.floor(i / 2), s = this.elements[2 * n]; i > 1 && (s < e && (t = n),
+        s > e && (r = n),
+        s != e); )
+            i = r - t,
+            n = t + Math.floor(i / 2),
+            s = this.elements[2 * n];
+        return s == e ? 2 * n : s > e ? 2 * n : s < e ? 2 * (n + 1) : void 0
+    }
+    ,
+    e.Vector.prototype.insert = function(e, t) {
+        this.upsert(e, t, function() {
+            throw "duplicate index"
+        })
+    }
+    ,
+    e.Vector.prototype.upsert = function(e, t, r) {
+        this._magnitude = 0;
+        var i = this.positionForIndex(e);
+        this.elements[i] == e ? this.elements[i + 1] = r(this.elements[i + 1], 
t) : this.elements.splice(i, 0, e, t)
+    }
+    ,
+    e.Vector.prototype.magnitude = function() {
+        if (this._magnitude)
+            return this._magnitude;
+        for (var e = 0, t = this.elements.length, r = 1; r < t; r += 2) {
+            var i = this.elements[r];
+            e += i * i
+        }
+        return this._magnitude = Math.sqrt(e)
+    }
+    ,
+    e.Vector.prototype.dot = function(e) {
+        for (var t = 0, r = this.elements, i = e.elements, n = r.length, s = 
i.length, o = 0, a = 0, u = 0, l = 0; u < n && l < s; )
+            o = r[u],
+            a = i[l],
+            o < a ? u += 2 : o > a ? l += 2 : o == a && (t += r[u + 1] * i[l + 
1],
+            u += 2,
+            l += 2);
+        return t
+    }
+    ,
+    e.Vector.prototype.similarity = function(e) {
+        return this.dot(e) / this.magnitude() || 0
+    }
+    ,
+    e.Vector.prototype.toArray = function() {
+        for (var e = new Array(this.elements.length / 2), t = 1, r = 0; t < 
this.elements.length; t += 2,
+        r++)
+            e[r] = this.elements[t];
+        return e
+    }
+    ,
+    e.Vector.prototype.toJSON = function() {
+        return this.elements
+    }
+    ,
+    e.stemmer = function() {
+        var e = {
+            ational: "ate",
+            tional: "tion",
+            enci: "ence",
+            anci: "ance",
+            izer: "ize",
+            bli: "ble",
+            alli: "al",
+            entli: "ent",
+            eli: "e",
+            ousli: "ous",
+            ization: "ize",
+            ation: "ate",
+            ator: "ate",
+            alism: "al",
+            iveness: "ive",
+            fulness: "ful",
+            ousness: "ous",
+            aliti: "al",
+            iviti: "ive",
+            biliti: "ble",
+            logi: "log"
+        }
+          , t = {
+            icate: "ic",
+            ative: "",
+            alize: "al",
+            iciti: "ic",
+            ical: "ic",
+            ful: "",
+            ness: ""
+        }
+          , r = "[^aeiou]"
+          , i = "[aeiouy]"
+          , n = r + "[^aeiouy]*"
+          , s = i + "[aeiou]*"
+          , o = "^(" + n + ")?" + s + n
+          , a = "^(" + n + ")?" + s + n + "(" + s + ")?$"
+          , u = "^(" + n + ")?" + s + n + s + n
+          , l = "^(" + n + ")?" + i
+          , c = new RegExp(o)
+          , h = new RegExp(u)
+          , d = new RegExp(a)
+          , f = new RegExp(l)
+          , p = /^(.+?)(ss|i)es$/
+          , y = /^(.+?)([^s])s$/
+          , m = /^(.+?)eed$/
+          , v = /^(.+?)(ed|ing)$/
+          , g = /.$/
+          , x = /(at|bl|iz)$/
+          , w = new RegExp("([^aeiouylsz])\\1$")
+          , Q = new RegExp("^" + n + i + "[^aeiouwxy]$")
+          , k = /^(.+?[^aeiou])y$/
+          , S = 
/^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/
+          , E = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/
+          , L = 
/^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/
+          , b = /^(.+?)(s|t)(ion)$/
+          , P = /^(.+?)e$/
+          , T = /ll$/
+          , O = new RegExp("^" + n + i + "[^aeiouwxy]$")
+          , I = function(r) {
+            var i, n, s, o, a, u, l;
+            if (r.length < 3)
+                return r;
+            if (s = r.substr(0, 1),
+            "y" == s && (r = s.toUpperCase() + r.substr(1)),
+            o = p,
+            a = y,
+            o.test(r) ? r = r.replace(o, "$1$2") : a.test(r) && (r = 
r.replace(a, "$1$2")),
+            o = m,
+            a = v,
+            o.test(r)) {
+                var I = o.exec(r);
+                o = c,
+                o.test(I[1]) && (o = g,
+                r = r.replace(o, ""))
+            } else if (a.test(r)) {
+                var I = a.exec(r);
+                i = I[1],
+                a = f,
+                a.test(i) && (r = i,
+                a = x,
+                u = w,
+                l = Q,
+                a.test(r) ? r += "e" : u.test(r) ? (o = g,
+                r = r.replace(o, "")) : l.test(r) && (r += "e"))
+            }
+            if (o = k,
+            o.test(r)) {
+                var I = o.exec(r);
+                i = I[1],
+                r = i + "i"
+            }
+            if (o = S,
+            o.test(r)) {
+                var I = o.exec(r);
+                i = I[1],
+                n = I[2],
+                o = c,
+                o.test(i) && (r = i + e[n])
+            }
+            if (o = E,
+            o.test(r)) {
+                var I = o.exec(r);
+                i = I[1],
+                n = I[2],
+                o = c,
+                o.test(i) && (r = i + t[n])
+            }
+            if (o = L,
+            a = b,
+            o.test(r)) {
+                var I = o.exec(r);
+                i = I[1],
+                o = h,
+                o.test(i) && (r = i)
+            } else if (a.test(r)) {
+                var I = a.exec(r);
+                i = I[1] + I[2],
+                a = h,
+                a.test(i) && (r = i)
+            }
+            if (o = P,
+            o.test(r)) {
+                var I = o.exec(r);
+                i = I[1],
+                o = h,
+                a = d,
+                u = O,
+                (o.test(i) || a.test(i) && !u.test(i)) && (r = i)
+            }
+            return o = T,
+            a = h,
+            o.test(r) && a.test(r) && (o = g,
+            r = r.replace(o, "")),
+            "y" == s && (r = s.toLowerCase() + r.substr(1)),
+            r
+        };
+        return function(e) {
+            return e.update(I)
+        }
+    }(),
+    e.Pipeline.registerFunction(e.stemmer, "stemmer"),
+    e.generateStopWordFilter = function(e) {
+        var t = e.reduce(function(e, t) {
+            return e[t] = t,
+            e
+        }, {});
+        return function(e) {
+            if (e && t[e.toString()] !== e.toString())
+                return e
+        }
+    }
+    ,
+    e.stopWordFilter = e.generateStopWordFilter(["a", "able", "about", 
"across", "after", "all", "almost", "also", "am", "among", "an", "and", "any", 
"are", "as", "at", "be", "because", "been", "but", "by", "can", "cannot", 
"could", "dear", "did", "do", "does", "either", "else", "ever", "every", "for", 
"from", "get", "got", "had", "has", "have", "he", "her", "hers", "him", "his", 
"how", "however", "i", "if", "in", "into", "is", "it", "its", "just", "least", 
"let", "like", "likely", "may" [...]
+    e.Pipeline.registerFunction(e.stopWordFilter, "stopWordFilter"),
+    e.trimmer = function(e) {
+        return e.update(function(e) {
+            return e.replace(/^\W+/, "").replace(/\W+$/, "")
+        })
+    }
+    ,
+    e.Pipeline.registerFunction(e.trimmer, "trimmer"),
+    e.TokenSet = function() {
+        this["final"] = !1,
+        this.edges = {},
+        this.id = e.TokenSet._nextId,
+        e.TokenSet._nextId += 1
+    }
+    ,
+    e.TokenSet._nextId = 1,
+    e.TokenSet.fromArray = function(t) {
+        for (var r = new e.TokenSet.Builder, i = 0, n = t.length; i < n; i++)
+            r.insert(t[i]);
+        return r.finish(),
+        r.root
+    }
+    ,
+    e.TokenSet.fromClause = function(t) {
+        return "editDistance"in t ? e.TokenSet.fromFuzzyString(t.term, 
t.editDistance) : e.TokenSet.fromString(t.term)
+    }
+    ,
+    e.TokenSet.fromFuzzyString = function(t, r) {
+        for (var i = new e.TokenSet, n = [{
+            node: i,
+            editsRemaining: r,
+            str: t
+        }]; n.length; ) {
+            var s = n.pop();
+            if (s.str.length > 0) {
+                var o, a = s.str.charAt(0);
+                a in s.node.edges ? o = s.node.edges[a] : (o = new e.TokenSet,
+                s.node.edges[a] = o),
+                1 == s.str.length && (o["final"] = !0),
+                n.push({
+                    node: o,
+                    editsRemaining: s.editsRemaining,
+                    str: s.str.slice(1)
+                })
+            }
+            if (0 != s.editsRemaining) {
+                if ("*"in s.node.edges)
+                    var u = s.node.edges["*"];
+                else {
+                    var u = new e.TokenSet;
+                    s.node.edges["*"] = u
+                }
+                if (0 == s.str.length && (u["final"] = !0),
+                n.push({
+                    node: u,
+                    editsRemaining: s.editsRemaining - 1,
+                    str: s.str
+                }),
+                s.str.length > 1 && n.push({
+                    node: s.node,
+                    editsRemaining: s.editsRemaining - 1,
+                    str: s.str.slice(1)
+                }),
+                1 == s.str.length && (s.node["final"] = !0),
+                s.str.length >= 1) {
+                    if ("*"in s.node.edges)
+                        var l = s.node.edges["*"];
+                    else {
+                        var l = new e.TokenSet;
+                        s.node.edges["*"] = l
+                    }
+                    1 == s.str.length && (l["final"] = !0),
+                    n.push({
+                        node: l,
+                        editsRemaining: s.editsRemaining - 1,
+                        str: s.str.slice(1)
+                    })
+                }
+                if (s.str.length > 1) {
+                    var c, h = s.str.charAt(0), d = s.str.charAt(1);
+                    d in s.node.edges ? c = s.node.edges[d] : (c = new 
e.TokenSet,
+                    s.node.edges[d] = c),
+                    1 == s.str.length && (c["final"] = !0),
+                    n.push({
+                        node: c,
+                        editsRemaining: s.editsRemaining - 1,
+                        str: h + s.str.slice(2)
+                    })
+                }
+            }
+        }
+        return i
+    }
+    ,
+    e.TokenSet.fromString = function(t) {
+        for (var r = new e.TokenSet, i = r, n = 0, s = t.length; n < s; n++) {
+            var o = t[n]
+              , a = n == s - 1;
+            if ("*" == o)
+                r.edges[o] = r,
+                r["final"] = a;
+            else {
+                var u = new e.TokenSet;
+                u["final"] = a,
+                r.edges[o] = u,
+                r = u
+            }
+        }
+        return i
+    }
+    ,
+    e.TokenSet.prototype.toArray = function() {
+        for (var e = [], t = [{
+            prefix: "",
+            node: this
+        }]; t.length; ) {
+            var r = t.pop()
+              , i = Object.keys(r.node.edges)
+              , n = i.length;
+            r.node["final"] && (r.prefix.charAt(0),
+            e.push(r.prefix));
+            for (var s = 0; s < n; s++) {
+                var o = i[s];
+                t.push({
+                    prefix: r.prefix.concat(o),
+                    node: r.node.edges[o]
+                })
+            }
+        }
+        return e
+    }
+    ,
+    e.TokenSet.prototype.toString = function() {
+        if (this._str)
+            return this._str;
+        for (var e = this["final"] ? "1" : "0", t = 
Object.keys(this.edges).sort(), r = t.length, i = 0; i < r; i++) {
+            var n = t[i]
+              , s = this.edges[n];
+            e = e + n + s.id
+        }
+        return e
+    }
+    ,
+    e.TokenSet.prototype.intersect = function(t) {
+        for (var r = new e.TokenSet, i = void 0, n = [{
+            qNode: t,
+            output: r,
+            node: this
+        }]; n.length; ) {
+            i = n.pop();
+            for (var s = Object.keys(i.qNode.edges), o = s.length, a = 
Object.keys(i.node.edges), u = a.length, l = 0; l < o; l++)
+                for (var c = s[l], h = 0; h < u; h++) {
+                    var d = a[h];
+                    if (d == c || "*" == c) {
+                        var f = i.node.edges[d]
+                          , p = i.qNode.edges[c]
+                          , y = f["final"] && p["final"]
+                          , m = void 0;
+                        d in i.output.edges ? (m = i.output.edges[d],
+                        m["final"] = m["final"] || y) : (m = new e.TokenSet,
+                        m["final"] = y,
+                        i.output.edges[d] = m),
+                        n.push({
+                            qNode: p,
+                            output: m,
+                            node: f
+                        })
+                    }
+                }
+        }
+        return r
+    }
+    ,
+    e.TokenSet.Builder = function() {
+        this.previousWord = "",
+        this.root = new e.TokenSet,
+        this.uncheckedNodes = [],
+        this.minimizedNodes = {}
+    }
+    ,
+    e.TokenSet.Builder.prototype.insert = function(t) {
+        var r, i = 0;
+        if (t < this.previousWord)
+            throw new Error("Out of order word insertion");
+        for (var n = 0; n < t.length && n < this.previousWord.length && t[n] 
== this.previousWord[n]; n++)
+            i++;
+        this.minimize(i),
+        r = 0 == this.uncheckedNodes.length ? this.root : 
this.uncheckedNodes[this.uncheckedNodes.length - 1].child;
+        for (var n = i; n < t.length; n++) {
+            var s = new e.TokenSet
+              , o = t[n];
+            r.edges[o] = s,
+            this.uncheckedNodes.push({
+                parent: r,
+                "char": o,
+                child: s
+            }),
+            r = s
+        }
+        r["final"] = !0,
+        this.previousWord = t
+    }
+    ,
+    e.TokenSet.Builder.prototype.finish = function() {
+        this.minimize(0)
+    }
+    ,
+    e.TokenSet.Builder.prototype.minimize = function(e) {
+        for (var t = this.uncheckedNodes.length - 1; t >= e; t--) {
+            var r = this.uncheckedNodes[t]
+              , i = r.child.toString();
+            i in this.minimizedNodes ? r.parent.edges[r["char"]] = 
this.minimizedNodes[i] : (r.child._str = i,
+            this.minimizedNodes[i] = r.child),
+            this.uncheckedNodes.pop()
+        }
+    }
+    ,
+    e.Index = function(e) {
+        this.invertedIndex = e.invertedIndex,
+        this.fieldVectors = e.fieldVectors,
+        this.tokenSet = e.tokenSet,
+        this.fields = e.fields,
+        this.pipeline = e.pipeline
+    }
+    ,
+    e.Index.prototype.search = function(t) {
+        return this.query(function(r) {
+            var i = new e.QueryParser(t,r);
+            i.parse()
+        })
+    }
+    ,
+    e.Index.prototype.query = function(t) {
+        for (var r = new e.Query(this.fields), i = Object.create(null), n = 
Object.create(null), s = Object.create(null), o = Object.create(null), a = 
Object.create(null), u = 0; u < this.fields.length; u++)
+            n[this.fields[u]] = new e.Vector;
+        t.call(r, r);
+        for (var u = 0; u < r.clauses.length; u++) {
+            var l = r.clauses[u]
+              , c = null
+              , h = e.Set.empty;
+            c = l.usePipeline ? this.pipeline.runString(l.term, {
+                fields: l.fields
+            }) : [l.term];
+            for (var d = 0; d < c.length; d++) {
+                var f = c[d];
+                l.term = f;
+                var p = e.TokenSet.fromClause(l)
+                  , y = this.tokenSet.intersect(p).toArray();
+                if (0 === y.length && l.presence === 
e.Query.presence.REQUIRED) {
+                    for (var m = 0; m < l.fields.length; m++) {
+                        var v = l.fields[m];
+                        o[v] = e.Set.empty
+                    }
+                    break
+                }
+                for (var g = 0; g < y.length; g++)
+                    for (var x = y[g], w = this.invertedIndex[x], Q = 
w._index, m = 0; m < l.fields.length; m++) {
+                        var v = l.fields[m]
+                          , k = w[v]
+                          , S = Object.keys(k)
+                          , E = x + "/" + v
+                          , L = new e.Set(S);
+                        if (l.presence == e.Query.presence.REQUIRED && (h = 
h.union(L),
+                        void 0 === o[v] && (o[v] = e.Set.complete)),
+                        l.presence != e.Query.presence.PROHIBITED) {
+                            if (n[v].upsert(Q, l.boost, function(e, t) {
+                                return e + t
+                            }),
+                            !s[E]) {
+                                for (var b = 0; b < S.length; b++) {
+                                    var P, T = S[b], O = new e.FieldRef(T,v), 
I = k[T];
+                                    void 0 === (P = i[O]) ? i[O] = new 
e.MatchData(x,v,I) : P.add(x, v, I)
+                                }
+                                s[E] = !0
+                            }
+                        } else
+                            void 0 === a[v] && (a[v] = e.Set.empty),
+                            a[v] = a[v].union(L)
+                    }
+            }
+            if (l.presence === e.Query.presence.REQUIRED)
+                for (var m = 0; m < l.fields.length; m++) {
+                    var v = l.fields[m];
+                    o[v] = o[v].intersect(h)
+                }
+        }
+        for (var R = e.Set.complete, F = e.Set.empty, u = 0; u < 
this.fields.length; u++) {
+            var v = this.fields[u];
+            o[v] && (R = R.intersect(o[v])),
+            a[v] && (F = F.union(a[v]))
+        }
+        var C = Object.keys(i)
+          , N = []
+          , _ = Object.create(null);
+        if (r.isNegated()) {
+            C = Object.keys(this.fieldVectors);
+            for (var u = 0; u < C.length; u++) {
+                var O = C[u]
+                  , j = e.FieldRef.fromString(O);
+                i[O] = new e.MatchData
+            }
+        }
+        for (var u = 0; u < C.length; u++) {
+            var j = e.FieldRef.fromString(C[u])
+              , D = j.docRef;
+            if (R.contains(D) && !F.contains(D)) {
+                var A, B = this.fieldVectors[j], V = 
n[j.fieldName].similarity(B);
+                if (void 0 !== (A = _[D]))
+                    A.score += V,
+                    A.matchData.combine(i[j]);
+                else {
+                    var z = {
+                        ref: D,
+                        score: V,
+                        matchData: i[j]
+                    };
+                    _[D] = z,
+                    N.push(z)
+                }
+            }
+        }
+        return N.sort(function(e, t) {
+            return t.score - e.score
+        })
+    }
+    ,
+    e.Index.prototype.toJSON = function() {
+        var t = Object.keys(this.invertedIndex).sort().map(function(e) {
+            return [e, this.invertedIndex[e]]
+        }, this)
+          , r = Object.keys(this.fieldVectors).map(function(e) {
+            return [e, this.fieldVectors[e].toJSON()]
+        }, this);
+        return {
+            version: e.version,
+            fields: this.fields,
+            fieldVectors: r,
+            invertedIndex: t,
+            pipeline: this.pipeline.toJSON()
+        }
+    }
+    ,
+    e.Index.load = function(t) {
+        var r = {}
+          , i = {}
+          , n = t.fieldVectors
+          , s = Object.create(null)
+          , o = t.invertedIndex
+          , a = new e.TokenSet.Builder
+          , u = e.Pipeline.load(t.pipeline);
+        t.version != e.version && e.utils.warn("Version mismatch when loading 
serialised index. Current version of lunr '" + e.version + "' does not match 
serialized index '" + t.version + "'");
+        for (var l = 0; l < n.length; l++) {
+            var c = n[l]
+              , h = c[0]
+              , d = c[1];
+            i[h] = new e.Vector(d)
+        }
+        for (var l = 0; l < o.length; l++) {
+            var c = o[l]
+              , f = c[0]
+              , p = c[1];
+            a.insert(f),
+            s[f] = p
+        }
+        return a.finish(),
+        r.fields = t.fields,
+        r.fieldVectors = i,
+        r.invertedIndex = s,
+        r.tokenSet = a.root,
+        r.pipeline = u,
+        new e.Index(r)
+    }
+    ,
+    e.Builder = function() {
+        this._ref = "id",
+        this._fields = Object.create(null),
+        this._documents = Object.create(null),
+        this.invertedIndex = Object.create(null),
+        this.fieldTermFrequencies = {},
+        this.fieldLengths = {},
+        this.tokenizer = e.tokenizer,
+        this.pipeline = new e.Pipeline,
+        this.searchPipeline = new e.Pipeline,
+        this.documentCount = 0,
+        this._b = .75,
+        this._k1 = 1.2,
+        this.termIndex = 0,
+        this.metadataWhitelist = []
+    }
+    ,
+    e.Builder.prototype.ref = function(e) {
+        this._ref = e
+    }
+    ,
+    e.Builder.prototype.field = function(e, t) {
+        if (/\//.test(e))
+            throw new RangeError("Field '" + e + "' contains illegal character 
'/'");
+        this._fields[e] = t || {}
+    }
+    ,
+    e.Builder.prototype.b = function(e) {
+        e < 0 ? this._b = 0 : e > 1 ? this._b = 1 : this._b = e
+    }
+    ,
+    e.Builder.prototype.k1 = function(e) {
+        this._k1 = e
+    }
+    ,
+    e.Builder.prototype.add = function(t, r) {
+        var i = t[this._ref]
+          , n = Object.keys(this._fields);
+        this._documents[i] = r || {},
+        this.documentCount += 1;
+        for (var s = 0; s < n.length; s++) {
+            var o = n[s]
+              , a = this._fields[o].extractor
+              , u = a ? a(t) : t[o]
+              , l = this.tokenizer(u, {
+                fields: [o]
+            })
+              , c = this.pipeline.run(l)
+              , h = new e.FieldRef(i,o)
+              , d = Object.create(null);
+            this.fieldTermFrequencies[h] = d,
+            this.fieldLengths[h] = 0,
+            this.fieldLengths[h] += c.length;
+            for (var f = 0; f < c.length; f++) {
+                var p = c[f];
+                if (void 0 == d[p] && (d[p] = 0),
+                d[p] += 1,
+                void 0 == this.invertedIndex[p]) {
+                    var y = Object.create(null);
+                    y._index = this.termIndex,
+                    this.termIndex += 1;
+                    for (var m = 0; m < n.length; m++)
+                        y[n[m]] = Object.create(null);
+                    this.invertedIndex[p] = y
+                }
+                void 0 == this.invertedIndex[p][o][i] && 
(this.invertedIndex[p][o][i] = Object.create(null));
+                for (var v = 0; v < this.metadataWhitelist.length; v++) {
+                    var g = this.metadataWhitelist[v]
+                      , x = p.metadata[g];
+                    void 0 == this.invertedIndex[p][o][i][g] && 
(this.invertedIndex[p][o][i][g] = []),
+                    this.invertedIndex[p][o][i][g].push(x)
+                }
+            }
+        }
+    }
+    ,
+    e.Builder.prototype.calculateAverageFieldLengths = function() {
+        for (var t = Object.keys(this.fieldLengths), r = t.length, i = {}, n = 
{}, s = 0; s < r; s++) {
+            var o = e.FieldRef.fromString(t[s])
+              , a = o.fieldName;
+            n[a] || (n[a] = 0),
+            n[a] += 1,
+            i[a] || (i[a] = 0),
+            i[a] += this.fieldLengths[o]
+        }
+        for (var u = Object.keys(this._fields), s = 0; s < u.length; s++) {
+            var l = u[s];
+            i[l] = i[l] / n[l]
+        }
+        this.averageFieldLength = i
+    }
+    ,
+    e.Builder.prototype.createFieldVectors = function() {
+        for (var t = {}, r = Object.keys(this.fieldTermFrequencies), i = 
r.length, n = Object.create(null), s = 0; s < i; s++) {
+            for (var o = e.FieldRef.fromString(r[s]), a = o.fieldName, u = 
this.fieldLengths[o], l = new e.Vector, c = this.fieldTermFrequencies[o], h = 
Object.keys(c), d = h.length, f = this._fields[a].boost || 1, p = 
this._documents[o.docRef].boost || 1, y = 0; y < d; y++) {
+                var m, v, g, x = h[y], w = c[x], Q = 
this.invertedIndex[x]._index;
+                void 0 === n[x] ? (m = e.idf(this.invertedIndex[x], 
this.documentCount),
+                n[x] = m) : m = n[x],
+                v = m * ((this._k1 + 1) * w) / (this._k1 * (1 - this._b + 
this._b * (u / this.averageFieldLength[a])) + w),
+                v *= f,
+                v *= p,
+                g = Math.round(1e3 * v) / 1e3,
+                l.insert(Q, g)
+            }
+            t[o] = l
+        }
+        this.fieldVectors = t
+    }
+    ,
+    e.Builder.prototype.createTokenSet = function() {
+        this.tokenSet = 
e.TokenSet.fromArray(Object.keys(this.invertedIndex).sort())
+    }
+    ,
+    e.Builder.prototype.build = function() {
+        return this.calculateAverageFieldLengths(),
+        this.createFieldVectors(),
+        this.createTokenSet(),
+        new e.Index({
+            invertedIndex: this.invertedIndex,
+            fieldVectors: this.fieldVectors,
+            tokenSet: this.tokenSet,
+            fields: Object.keys(this._fields),
+            pipeline: this.searchPipeline
+        })
+    }
+    ,
+    e.Builder.prototype.use = function(e) {
+        var t = Array.prototype.slice.call(arguments, 1);
+        t.unshift(this),
+        e.apply(this, t)
+    }
+    ,
+    e.MatchData = function(e, t, r) {
+        for (var i = Object.create(null), n = Object.keys(r || {}), s = 0; s < 
n.length; s++) {
+            var o = n[s];
+            i[o] = r[o].slice()
+        }
+        this.metadata = Object.create(null),
+        void 0 !== e && (this.metadata[e] = Object.create(null),
+        this.metadata[e][t] = i)
+    }
+    ,
+    e.MatchData.prototype.combine = function(e) {
+        for (var t = Object.keys(e.metadata), r = 0; r < t.length; r++) {
+            var i = t[r]
+              , n = Object.keys(e.metadata[i]);
+            void 0 == this.metadata[i] && (this.metadata[i] = 
Object.create(null));
+            for (var s = 0; s < n.length; s++) {
+                var o = n[s]
+                  , a = Object.keys(e.metadata[i][o]);
+                void 0 == this.metadata[i][o] && (this.metadata[i][o] = 
Object.create(null));
+                for (var u = 0; u < a.length; u++) {
+                    var l = a[u];
+                    void 0 == this.metadata[i][o][l] ? this.metadata[i][o][l] 
= e.metadata[i][o][l] : this.metadata[i][o][l] = 
this.metadata[i][o][l].concat(e.metadata[i][o][l])
+                }
+            }
+        }
+    }
+    ,
+    e.MatchData.prototype.add = function(e, t, r) {
+        if (!(e in this.metadata))
+            return this.metadata[e] = Object.create(null),
+            void (this.metadata[e][t] = r);
+        if (!(t in this.metadata[e]))
+            return void (this.metadata[e][t] = r);
+        for (var i = Object.keys(r), n = 0; n < i.length; n++) {
+            var s = i[n];
+            s in this.metadata[e][t] ? this.metadata[e][t][s] = 
this.metadata[e][t][s].concat(r[s]) : this.metadata[e][t][s] = r[s]
+        }
+    }
+    ,
+    e.Query = function(e) {
+        this.clauses = [],
+        this.allFields = e
+    }
+    ,
+    e.Query.wildcard = new String("*"),
+    e.Query.wildcard.NONE = 0,
+    e.Query.wildcard.LEADING = 1,
+    e.Query.wildcard.TRAILING = 2,
+    e.Query.presence = {
+        OPTIONAL: 1,
+        REQUIRED: 2,
+        PROHIBITED: 3
+    },
+    e.Query.prototype.clause = function(t) {
+        return "fields"in t || (t.fields = this.allFields),
+        "boost"in t || (t.boost = 1),
+        "usePipeline"in t || (t.usePipeline = !0),
+        "wildcard"in t || (t.wildcard = e.Query.wildcard.NONE),
+        t.wildcard & e.Query.wildcard.LEADING && t.term.charAt(0) != 
e.Query.wildcard && (t.term = "*" + t.term),
+        t.wildcard & e.Query.wildcard.TRAILING && t.term.slice(-1) != 
e.Query.wildcard && (t.term = "" + t.term + "*"),
+        "presence"in t || (t.presence = e.Query.presence.OPTIONAL),
+        this.clauses.push(t),
+        this
+    }
+    ,
+    e.Query.prototype.isNegated = function() {
+        for (var t = 0; t < this.clauses.length; t++)
+            if (this.clauses[t].presence != e.Query.presence.PROHIBITED)
+                return !1;
+        return !0
+    }
+    ,
+    e.Query.prototype.term = function(t, r) {
+        if (Array.isArray(t))
+            return t.forEach(function(t) {
+                this.term(t, e.utils.clone(r))
+            }, this),
+            this;
+        var i = r || {};
+        return i.term = t.toString(),
+        this.clause(i),
+        this
+    }
+    ,
+    e.QueryParseError = function(e, t, r) {
+        this.name = "QueryParseError",
+        this.message = e,
+        this.start = t,
+        this.end = r
+    }
+    ,
+    e.QueryParseError.prototype = new Error,
+    e.QueryLexer = function(e) {
+        this.lexemes = [],
+        this.str = e,
+        this.length = e.length,
+        this.pos = 0,
+        this.start = 0,
+        this.escapeCharPositions = []
+    }
+    ,
+    e.QueryLexer.prototype.run = function() {
+        for (var t = e.QueryLexer.lexText; t; )
+            t = t(this)
+    }
+    ,
+    e.QueryLexer.prototype.sliceString = function() {
+        for (var e = [], t = this.start, r = this.pos, i = 0; i < 
this.escapeCharPositions.length; i++)
+            r = this.escapeCharPositions[i],
+            e.push(this.str.slice(t, r)),
+            t = r + 1;
+        return e.push(this.str.slice(t, this.pos)),
+        this.escapeCharPositions.length = 0,
+        e.join("")
+    }
+    ,
+    e.QueryLexer.prototype.emit = function(e) {
+        this.lexemes.push({
+            type: e,
+            str: this.sliceString(),
+            start: this.start,
+            end: this.pos
+        }),
+        this.start = this.pos
+    }
+    ,
+    e.QueryLexer.prototype.escapeCharacter = function() {
+        this.escapeCharPositions.push(this.pos - 1),
+        this.pos += 1
+    }
+    ,
+    e.QueryLexer.prototype.next = function() {
+        if (this.pos >= this.length)
+            return e.QueryLexer.EOS;
+        var t = this.str.charAt(this.pos);
+        return this.pos += 1,
+        t
+    }
+    ,
+    e.QueryLexer.prototype.width = function() {
+        return this.pos - this.start
+    }
+    ,
+    e.QueryLexer.prototype.ignore = function() {
+        this.start == this.pos && (this.pos += 1),
+        this.start = this.pos
+    }
+    ,
+    e.QueryLexer.prototype.backup = function() {
+        this.pos -= 1
+    }
+    ,
+    e.QueryLexer.prototype.acceptDigitRun = function() {
+        var t, r;
+        do
+            t = this.next(),
+            r = t.charCodeAt(0);
+        while (r > 47 && r < 58);
+        t != e.QueryLexer.EOS && this.backup()
+    }
+    ,
+    e.QueryLexer.prototype.more = function() {
+        return this.pos < this.length
+    }
+    ,
+    e.QueryLexer.EOS = "EOS",
+    e.QueryLexer.FIELD = "FIELD",
+    e.QueryLexer.TERM = "TERM",
+    e.QueryLexer.EDIT_DISTANCE = "EDIT_DISTANCE",
+    e.QueryLexer.BOOST = "BOOST",
+    e.QueryLexer.PRESENCE = "PRESENCE",
+    e.QueryLexer.lexField = function(t) {
+        return t.backup(),
+        t.emit(e.QueryLexer.FIELD),
+        t.ignore(),
+        e.QueryLexer.lexText
+    }
+    ,
+    e.QueryLexer.lexTerm = function(t) {
+        if (t.width() > 1 && (t.backup(),
+        t.emit(e.QueryLexer.TERM)),
+        t.ignore(),
+        t.more())
+            return e.QueryLexer.lexText
+    }
+    ,
+    e.QueryLexer.lexEditDistance = function(t) {
+        return t.ignore(),
+        t.acceptDigitRun(),
+        t.emit(e.QueryLexer.EDIT_DISTANCE),
+        e.QueryLexer.lexText
+    }
+    ,
+    e.QueryLexer.lexBoost = function(t) {
+        return t.ignore(),
+        t.acceptDigitRun(),
+        t.emit(e.QueryLexer.BOOST),
+        e.QueryLexer.lexText
+    }
+    ,
+    e.QueryLexer.lexEOS = function(t) {
+        t.width() > 0 && t.emit(e.QueryLexer.TERM)
+    }
+    ,
+    e.QueryLexer.termSeparator = e.tokenizer.separator,
+    e.QueryLexer.lexText = function(t) {
+        for (; ; ) {
+            var r = t.next();
+            if (r == e.QueryLexer.EOS)
+                return e.QueryLexer.lexEOS;
+            if (92 != r.charCodeAt(0)) {
+                if (":" == r)
+                    return e.QueryLexer.lexField;
+                if ("~" == r)
+                    return t.backup(),
+                    t.width() > 0 && t.emit(e.QueryLexer.TERM),
+                    e.QueryLexer.lexEditDistance;
+                if ("^" == r)
+                    return t.backup(),
+                    t.width() > 0 && t.emit(e.QueryLexer.TERM),
+                    e.QueryLexer.lexBoost;
+                if ("+" == r && 1 === t.width())
+                    return t.emit(e.QueryLexer.PRESENCE),
+                    e.QueryLexer.lexText;
+                if ("-" == r && 1 === t.width())
+                    return t.emit(e.QueryLexer.PRESENCE),
+                    e.QueryLexer.lexText;
+                if (r.match(e.QueryLexer.termSeparator))
+                    return e.QueryLexer.lexTerm
+            } else
+                t.escapeCharacter()
+        }
+    }
+    ,
+    e.QueryParser = function(t, r) {
+        this.lexer = new e.QueryLexer(t),
+        this.query = r,
+        this.currentClause = {},
+        this.lexemeIdx = 0
+    }
+    ,
+    e.QueryParser.prototype.parse = function() {
+        this.lexer.run(),
+        this.lexemes = this.lexer.lexemes;
+        for (var t = e.QueryParser.parseClause; t; )
+            t = t(this);
+        return this.query
+    }
+    ,
+    e.QueryParser.prototype.peekLexeme = function() {
+        return this.lexemes[this.lexemeIdx]
+    }
+    ,
+    e.QueryParser.prototype.consumeLexeme = function() {
+        var e = this.peekLexeme();
+        return this.lexemeIdx += 1,
+        e
+    }
+    ,
+    e.QueryParser.prototype.nextClause = function() {
+        var e = this.currentClause;
+        this.query.clause(e),
+        this.currentClause = {}
+    }
+    ,
+    e.QueryParser.parseClause = function(t) {
+        var r = t.peekLexeme();
+        if (void 0 != r)
+            switch (r.type) {
+            case e.QueryLexer.PRESENCE:
+                return e.QueryParser.parsePresence;
+            case e.QueryLexer.FIELD:
+                return e.QueryParser.parseField;
+            case e.QueryLexer.TERM:
+                return e.QueryParser.parseTerm;
+            default:
+                var i = "expected either a field or a term, found " + r.type;
+                throw r.str.length >= 1 && (i += " with value '" + r.str + 
"'"),
+                new e.QueryParseError(i,r.start,r.end)
+            }
+    }
+    ,
+    e.QueryParser.parsePresence = function(t) {
+        var r = t.consumeLexeme();
+        if (void 0 != r) {
+            switch (r.str) {
+            case "-":
+                t.currentClause.presence = e.Query.presence.PROHIBITED;
+                break;
+            case "+":
+                t.currentClause.presence = e.Query.presence.REQUIRED;
+                break;
+            default:
+                var i = "unrecognised presence operator'" + r.str + "'";
+                throw new e.QueryParseError(i,r.start,r.end)
+            }
+            var n = t.peekLexeme();
+            if (void 0 == n) {
+                var i = "expecting term or field, found nothing";
+                throw new e.QueryParseError(i,r.start,r.end)
+            }
+            switch (n.type) {
+            case e.QueryLexer.FIELD:
+                return e.QueryParser.parseField;
+            case e.QueryLexer.TERM:
+                return e.QueryParser.parseTerm;
+            default:
+                var i = "expecting term or field, found '" + n.type + "'";
+                throw new e.QueryParseError(i,n.start,n.end)
+            }
+        }
+    }
+    ,
+    e.QueryParser.parseField = function(t) {
+        var r = t.consumeLexeme();
+        if (void 0 != r) {
+            if (t.query.allFields.indexOf(r.str) == -1) {
+                var i = t.query.allFields.map(function(e) {
+                    return "'" + e + "'"
+                }).join(", ")
+                  , n = "unrecognised field '" + r.str + "', possible fields: 
" + i;
+                throw new e.QueryParseError(n,r.start,r.end)
+            }
+            t.currentClause.fields = [r.str];
+            var s = t.peekLexeme();
+            if (void 0 == s) {
+                var n = "expecting term, found nothing";
+                throw new e.QueryParseError(n,r.start,r.end)
+            }
+            switch (s.type) {
+            case e.QueryLexer.TERM:
+                return e.QueryParser.parseTerm;
+            default:
+                var n = "expecting term, found '" + s.type + "'";
+                throw new e.QueryParseError(n,s.start,s.end)
+            }
+        }
+    }
+    ,
+    e.QueryParser.parseTerm = function(t) {
+        var r = t.consumeLexeme();
+        if (void 0 != r) {
+            t.currentClause.term = r.str.toLowerCase(),
+            r.str.indexOf("*") != -1 && (t.currentClause.usePipeline = !1);
+            var i = t.peekLexeme();
+            if (void 0 == i)
+                return void t.nextClause();
+            switch (i.type) {
+            case e.QueryLexer.TERM:
+                return t.nextClause(),
+                e.QueryParser.parseTerm;
+            case e.QueryLexer.FIELD:
+                return t.nextClause(),
+                e.QueryParser.parseField;
+            case e.QueryLexer.EDIT_DISTANCE:
+                return e.QueryParser.parseEditDistance;
+            case e.QueryLexer.BOOST:
+                return e.QueryParser.parseBoost;
+            case e.QueryLexer.PRESENCE:
+                return t.nextClause(),
+                e.QueryParser.parsePresence;
+            default:
+                var n = "Unexpected lexeme type '" + i.type + "'";
+                throw new e.QueryParseError(n,i.start,i.end)
+            }
+        }
+    }
+    ,
+    e.QueryParser.parseEditDistance = function(t) {
+        var r = t.consumeLexeme();
+        if (void 0 != r) {
+            var i = parseInt(r.str, 10);
+            if (isNaN(i)) {
+                var n = "edit distance must be numeric";
+                throw new e.QueryParseError(n,r.start,r.end)
+            }
+            t.currentClause.editDistance = i;
+            var s = t.peekLexeme();
+            if (void 0 == s)
+                return void t.nextClause();
+            switch (s.type) {
+            case e.QueryLexer.TERM:
+                return t.nextClause(),
+                e.QueryParser.parseTerm;
+            case e.QueryLexer.FIELD:
+                return t.nextClause(),
+                e.QueryParser.parseField;
+            case e.QueryLexer.EDIT_DISTANCE:
+                return e.QueryParser.parseEditDistance;
+            case e.QueryLexer.BOOST:
+                return e.QueryParser.parseBoost;
+            case e.QueryLexer.PRESENCE:
+                return t.nextClause(),
+                e.QueryParser.parsePresence;
+            default:
+                var n = "Unexpected lexeme type '" + s.type + "'";
+                throw new e.QueryParseError(n,s.start,s.end)
+            }
+        }
+    }
+    ,
+    e.QueryParser.parseBoost = function(t) {
+        var r = t.consumeLexeme();
+        if (void 0 != r) {
+            var i = parseInt(r.str, 10);
+            if (isNaN(i)) {
+                var n = "boost must be numeric";
+                throw new e.QueryParseError(n,r.start,r.end)
+            }
+            t.currentClause.boost = i;
+            var s = t.peekLexeme();
+            if (void 0 == s)
+                return void t.nextClause();
+            switch (s.type) {
+            case e.QueryLexer.TERM:
+                return t.nextClause(),
+                e.QueryParser.parseTerm;
+            case e.QueryLexer.FIELD:
+                return t.nextClause(),
+                e.QueryParser.parseField;
+            case e.QueryLexer.EDIT_DISTANCE:
+                return e.QueryParser.parseEditDistance;
+            case e.QueryLexer.BOOST:
+                return e.QueryParser.parseBoost;
+            case e.QueryLexer.PRESENCE:
+                return t.nextClause(),
+                e.QueryParser.parsePresence;
+            default:
+                var n = "Unexpected lexeme type '" + s.type + "'";
+                throw new e.QueryParseError(n,s.start,s.end)
+            }
+        }
+    }
+    ,
+    function(e, t) {
+        "function" == typeof define && define.amd ? define(t) : "object" == 
typeof exports ? module.exports = t() : e.lunr = t()
+    }(this, function() {
+        return e
+    })
+}();
diff --git a/output/search/index.html b/output/search/index.html
index 1bfb71169..c726a6054 100644
--- a/output/search/index.html
+++ b/output/search/index.html
@@ -134,7 +134,7 @@
 
 <table class="table table-striped"><tbody id="search_results"></tbody></table>
 
-<script src="https://unpkg.com/lunr@2.3.9/lunr.min.js";></script>
+<script src="/js/lunr/2.3.9/lunr.min.js"></script>
 
 <script src="/js/search.js"></script>
 

Reply via email to