summaryrefslogtreecommitdiffstats
path: root/sphinx/search/non-minified-js
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:25:40 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 17:25:40 +0000
commitcf7da1843c45a4c2df7a749f7886a2d2ba0ee92a (patch)
tree18dcde1a8d1f5570a77cd0c361de3b490d02c789 /sphinx/search/non-minified-js
parentInitial commit. (diff)
downloadsphinx-upstream.tar.xz
sphinx-upstream.zip
Adding upstream version 7.2.6.upstream/7.2.6upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'sphinx/search/non-minified-js')
-rw-r--r--sphinx/search/non-minified-js/base-stemmer.js294
-rw-r--r--sphinx/search/non-minified-js/danish-stemmer.js310
-rw-r--r--sphinx/search/non-minified-js/dutch-stemmer.js685
-rw-r--r--sphinx/search/non-minified-js/finnish-stemmer.js790
-rw-r--r--sphinx/search/non-minified-js/french-stemmer.js1325
-rw-r--r--sphinx/search/non-minified-js/german-stemmer.js577
-rw-r--r--sphinx/search/non-minified-js/hungarian-stemmer.js711
-rw-r--r--sphinx/search/non-minified-js/italian-stemmer.js996
-rw-r--r--sphinx/search/non-minified-js/norwegian-stemmer.js261
-rw-r--r--sphinx/search/non-minified-js/porter-stemmer.js749
-rw-r--r--sphinx/search/non-minified-js/portuguese-stemmer.js914
-rw-r--r--sphinx/search/non-minified-js/romanian-stemmer.js872
-rw-r--r--sphinx/search/non-minified-js/russian-stemmer.js624
-rw-r--r--sphinx/search/non-minified-js/spanish-stemmer.js990
-rw-r--r--sphinx/search/non-minified-js/swedish-stemmer.js265
-rw-r--r--sphinx/search/non-minified-js/turkish-stemmer.js2439
16 files changed, 12802 insertions, 0 deletions
diff --git a/sphinx/search/non-minified-js/base-stemmer.js b/sphinx/search/non-minified-js/base-stemmer.js
new file mode 100644
index 0000000..ca6cca1
--- /dev/null
+++ b/sphinx/search/non-minified-js/base-stemmer.js
@@ -0,0 +1,294 @@
+/**@constructor*/
+BaseStemmer = function() {
+ this.setCurrent = function(value) {
+ this.current = value;
+ this.cursor = 0;
+ this.limit = this.current.length;
+ this.limit_backward = 0;
+ this.bra = this.cursor;
+ this.ket = this.limit;
+ };
+
+ this.getCurrent = function() {
+ return this.current;
+ };
+
+ this.copy_from = function(other) {
+ this.current = other.current;
+ this.cursor = other.cursor;
+ this.limit = other.limit;
+ this.limit_backward = other.limit_backward;
+ this.bra = other.bra;
+ this.ket = other.ket;
+ };
+
+ this.in_grouping = function(s, min, max) {
+ if (this.cursor >= this.limit) return false;
+ var ch = this.current.charCodeAt(this.cursor);
+ if (ch > max || ch < min) return false;
+ ch -= min;
+ if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) return false;
+ this.cursor++;
+ return true;
+ };
+
+ this.in_grouping_b = function(s, min, max) {
+ if (this.cursor <= this.limit_backward) return false;
+ var ch = this.current.charCodeAt(this.cursor - 1);
+ if (ch > max || ch < min) return false;
+ ch -= min;
+ if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) return false;
+ this.cursor--;
+ return true;
+ };
+
+ this.out_grouping = function(s, min, max) {
+ if (this.cursor >= this.limit) return false;
+ var ch = this.current.charCodeAt(this.cursor);
+ if (ch > max || ch < min) {
+ this.cursor++;
+ return true;
+ }
+ ch -= min;
+ if ((s[ch >>> 3] & (0X1 << (ch & 0x7))) == 0) {
+ this.cursor++;
+ return true;
+ }
+ return false;
+ };
+
+ this.out_grouping_b = function(s, min, max) {
+ if (this.cursor <= this.limit_backward) return false;
+ var ch = this.current.charCodeAt(this.cursor - 1);
+ if (ch > max || ch < min) {
+ this.cursor--;
+ return true;
+ }
+ ch -= min;
+ if ((s[ch >>> 3] & (0x1 << (ch & 0x7))) == 0) {
+ this.cursor--;
+ return true;
+ }
+ return false;
+ };
+
+ this.eq_s = function(s)
+ {
+ if (this.limit - this.cursor < s.length) return false;
+ if (this.current.slice(this.cursor, this.cursor + s.length) != s)
+ {
+ return false;
+ }
+ this.cursor += s.length;
+ return true;
+ };
+
+ this.eq_s_b = function(s)
+ {
+ if (this.cursor - this.limit_backward < s.length) return false;
+ if (this.current.slice(this.cursor - s.length, this.cursor) != s)
+ {
+ return false;
+ }
+ this.cursor -= s.length;
+ return true;
+ };
+
+ /** @return {number} */ this.find_among = function(v)
+ {
+ var i = 0;
+ var j = v.length;
+
+ var c = this.cursor;
+ var l = this.limit;
+
+ var common_i = 0;
+ var common_j = 0;
+
+ var first_key_inspected = false;
+
+ while (true)
+ {
+ var k = i + ((j - i) >>> 1);
+ var diff = 0;
+ var common = common_i < common_j ? common_i : common_j; // smaller
+ // w[0]: string, w[1]: substring_i, w[2]: result, w[3]: function (optional)
+ var w = v[k];
+ var i2;
+ for (i2 = common; i2 < w[0].length; i2++)
+ {
+ if (c + common == l)
+ {
+ diff = -1;
+ break;
+ }
+ diff = this.current.charCodeAt(c + common) - w[0].charCodeAt(i2);
+ if (diff != 0) break;
+ common++;
+ }
+ if (diff < 0)
+ {
+ j = k;
+ common_j = common;
+ }
+ else
+ {
+ i = k;
+ common_i = common;
+ }
+ if (j - i <= 1)
+ {
+ if (i > 0) break; // v->s has been inspected
+ if (j == i) break; // only one item in v
+
+ // - but now we need to go round once more to get
+ // v->s inspected. This looks messy, but is actually
+ // the optimal approach.
+
+ if (first_key_inspected) break;
+ first_key_inspected = true;
+ }
+ }
+ do {
+ var w = v[i];
+ if (common_i >= w[0].length)
+ {
+ this.cursor = c + w[0].length;
+ if (w.length < 4) return w[2];
+ var res = w[3](this);
+ this.cursor = c + w[0].length;
+ if (res) return w[2];
+ }
+ i = w[1];
+ } while (i >= 0);
+ return 0;
+ };
+
+ // find_among_b is for backwards processing. Same comments apply
+ this.find_among_b = function(v)
+ {
+ var i = 0;
+ var j = v.length
+
+ var c = this.cursor;
+ var lb = this.limit_backward;
+
+ var common_i = 0;
+ var common_j = 0;
+
+ var first_key_inspected = false;
+
+ while (true)
+ {
+ var k = i + ((j - i) >> 1);
+ var diff = 0;
+ var common = common_i < common_j ? common_i : common_j;
+ var w = v[k];
+ var i2;
+ for (i2 = w[0].length - 1 - common; i2 >= 0; i2--)
+ {
+ if (c - common == lb)
+ {
+ diff = -1;
+ break;
+ }
+ diff = this.current.charCodeAt(c - 1 - common) - w[0].charCodeAt(i2);
+ if (diff != 0) break;
+ common++;
+ }
+ if (diff < 0)
+ {
+ j = k;
+ common_j = common;
+ }
+ else
+ {
+ i = k;
+ common_i = common;
+ }
+ if (j - i <= 1)
+ {
+ if (i > 0) break;
+ if (j == i) break;
+ if (first_key_inspected) break;
+ first_key_inspected = true;
+ }
+ }
+ do {
+ var w = v[i];
+ if (common_i >= w[0].length)
+ {
+ this.cursor = c - w[0].length;
+ if (w.length < 4) return w[2];
+ var res = w[3](this);
+ this.cursor = c - w[0].length;
+ if (res) return w[2];
+ }
+ i = w[1];
+ } while (i >= 0);
+ return 0;
+ };
+
+ /* to replace chars between c_bra and c_ket in this.current by the
+ * chars in s.
+ */
+ this.replace_s = function(c_bra, c_ket, s)
+ {
+ var adjustment = s.length - (c_ket - c_bra);
+ this.current = this.current.slice(0, c_bra) + s + this.current.slice(c_ket);
+ this.limit += adjustment;
+ if (this.cursor >= c_ket) this.cursor += adjustment;
+ else if (this.cursor > c_bra) this.cursor = c_bra;
+ return adjustment;
+ };
+
+ this.slice_check = function()
+ {
+ if (this.bra < 0 ||
+ this.bra > this.ket ||
+ this.ket > this.limit ||
+ this.limit > this.current.length)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.slice_from = function(s)
+ {
+ var result = false;
+ if (this.slice_check())
+ {
+ this.replace_s(this.bra, this.ket, s);
+ result = true;
+ }
+ return result;
+ };
+
+ this.slice_del = function()
+ {
+ return this.slice_from("");
+ };
+
+ this.insert = function(c_bra, c_ket, s)
+ {
+ var adjustment = this.replace_s(c_bra, c_ket, s);
+ if (c_bra <= this.bra) this.bra += adjustment;
+ if (c_bra <= this.ket) this.ket += adjustment;
+ };
+
+ this.slice_to = function()
+ {
+ var result = '';
+ if (this.slice_check())
+ {
+ result = this.current.slice(this.bra, this.ket);
+ }
+ return result;
+ };
+
+ this.assign_to = function()
+ {
+ return this.current.slice(0, this.limit);
+ };
+};
diff --git a/sphinx/search/non-minified-js/danish-stemmer.js b/sphinx/search/non-minified-js/danish-stemmer.js
new file mode 100644
index 0000000..46b5d55
--- /dev/null
+++ b/sphinx/search/non-minified-js/danish-stemmer.js
@@ -0,0 +1,310 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+DanishStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["hed", -1, 1],
+ ["ethed", 0, 1],
+ ["ered", -1, 1],
+ ["e", -1, 1],
+ ["erede", 3, 1],
+ ["ende", 3, 1],
+ ["erende", 5, 1],
+ ["ene", 3, 1],
+ ["erne", 3, 1],
+ ["ere", 3, 1],
+ ["en", -1, 1],
+ ["heden", 10, 1],
+ ["eren", 10, 1],
+ ["er", -1, 1],
+ ["heder", 13, 1],
+ ["erer", 13, 1],
+ ["s", -1, 2],
+ ["heds", 16, 1],
+ ["es", 16, 1],
+ ["endes", 18, 1],
+ ["erendes", 19, 1],
+ ["enes", 18, 1],
+ ["ernes", 18, 1],
+ ["eres", 18, 1],
+ ["ens", 16, 1],
+ ["hedens", 24, 1],
+ ["erens", 24, 1],
+ ["ers", 16, 1],
+ ["ets", 16, 1],
+ ["erets", 28, 1],
+ ["et", -1, 1],
+ ["eret", 30, 1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["gd", -1, -1],
+ ["dt", -1, -1],
+ ["gt", -1, -1],
+ ["kt", -1, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ig", -1, 1],
+ ["lig", 0, 1],
+ ["elig", 1, 1],
+ ["els", -1, 1],
+ ["l\u00F8st", -1, 2]
+ ];
+
+ /** @const */ var /** Array<int> */ g_c = [119, 223, 119, 1];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128];
+
+ /** @const */ var /** Array<int> */ g_s_ending = [239, 254, 42, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16];
+
+ var /** number */ I_x = 0;
+ var /** number */ I_p1 = 0;
+ var /** string */ S_ch = '';
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ {
+ var /** number */ c1 = base.cursor + 3;
+ if (c1 > base.limit)
+ {
+ return false;
+ }
+ base.cursor = c1;
+ }
+ I_x = base.cursor;
+ base.cursor = v_1;
+ golab0: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 248)))
+ {
+ break lab1;
+ }
+ base.cursor = v_2;
+ break golab0;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 248)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ lab4: {
+ if (!(I_p1 < I_x))
+ {
+ break lab4;
+ }
+ I_p1 = I_x;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_main_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.in_grouping_b(g_s_ending, 97, 229)))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_consonant_pair() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_1) == 0)
+ {
+ base.limit_backward = v_3;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_3;
+ base.cursor = base.limit - v_1;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_other_suffix() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("st")))
+ {
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s_b("ig")))
+ {
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_1;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_3;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_3;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_consonant_pair();
+ base.cursor = base.limit - v_4;
+ break;
+ case 2:
+ if (!base.slice_from("l\u00F8s"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_undouble() {
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (!(base.in_grouping_b(g_c, 98, 122)))
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ S_ch = base.slice_to();
+ if (S_ch == '')
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ if (!(base.eq_s_b(S_ch)))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_1;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_main_suffix();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_consonant_pair();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_other_suffix();
+ base.cursor = base.limit - v_4;
+ var /** number */ v_5 = base.limit - base.cursor;
+ r_undouble();
+ base.cursor = base.limit - v_5;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/dutch-stemmer.js b/sphinx/search/non-minified-js/dutch-stemmer.js
new file mode 100644
index 0000000..0ad11e2
--- /dev/null
+++ b/sphinx/search/non-minified-js/dutch-stemmer.js
@@ -0,0 +1,685 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+DutchStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 6],
+ ["\u00E1", 0, 1],
+ ["\u00E4", 0, 1],
+ ["\u00E9", 0, 2],
+ ["\u00EB", 0, 2],
+ ["\u00ED", 0, 3],
+ ["\u00EF", 0, 3],
+ ["\u00F3", 0, 4],
+ ["\u00F6", 0, 4],
+ ["\u00FA", 0, 5],
+ ["\u00FC", 0, 5]
+ ];
+
+ /** @const */ var a_1 = [
+ ["", -1, 3],
+ ["I", 0, 2],
+ ["Y", 0, 1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["dd", -1, -1],
+ ["kk", -1, -1],
+ ["tt", -1, -1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ene", -1, 2],
+ ["se", -1, 3],
+ ["en", -1, 2],
+ ["heden", 2, 1],
+ ["s", -1, 3]
+ ];
+
+ /** @const */ var a_4 = [
+ ["end", -1, 1],
+ ["ig", -1, 2],
+ ["ing", -1, 1],
+ ["lijk", -1, 3],
+ ["baar", -1, 4],
+ ["bar", -1, 5]
+ ];
+
+ /** @const */ var a_5 = [
+ ["aa", -1, -1],
+ ["ee", -1, -1],
+ ["oo", -1, -1],
+ ["uu", -1, -1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128];
+
+ /** @const */ var /** Array<int> */ g_v_I = [1, 0, 0, 17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128];
+
+ /** @const */ var /** Array<int> */ g_v_j = [17, 67, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** boolean */ B_e_found = false;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.cursor;
+ while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("o"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_2;
+ break;
+ }
+ base.cursor = v_1;
+ var /** number */ v_3 = base.cursor;
+ lab1: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("y")))
+ {
+ base.cursor = v_3;
+ break lab1;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ }
+ while(true)
+ {
+ var /** number */ v_4 = base.cursor;
+ lab2: {
+ golab3: while(true)
+ {
+ var /** number */ v_5 = base.cursor;
+ lab4: {
+ if (!(base.in_grouping(g_v, 97, 232)))
+ {
+ break lab4;
+ }
+ base.bra = base.cursor;
+ lab5: {
+ var /** number */ v_6 = base.cursor;
+ lab6: {
+ if (!(base.eq_s("i")))
+ {
+ break lab6;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 232)))
+ {
+ break lab6;
+ }
+ if (!base.slice_from("I"))
+ {
+ return false;
+ }
+ break lab5;
+ }
+ base.cursor = v_6;
+ if (!(base.eq_s("y")))
+ {
+ break lab4;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ }
+ base.cursor = v_5;
+ break golab3;
+ }
+ base.cursor = v_5;
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_4;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ golab0: while(true)
+ {
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 232)))
+ {
+ break lab1;
+ }
+ break golab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 232)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ lab4: {
+ if (!(I_p1 < 3))
+ {
+ break lab4;
+ }
+ I_p1 = 3;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 232)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 232)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_1);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("y"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_undouble() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (base.find_among_b(a_2) == 0)
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_e_ending() {
+ B_e_found = false;
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("e")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (!(base.out_grouping_b(g_v, 97, 232)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ B_e_found = true;
+ if (!r_undouble())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_en_ending() {
+ if (!r_R1())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (!(base.out_grouping_b(g_v, 97, 232)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("gem")))
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_2;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_undouble())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R1())
+ {
+ break lab0;
+ }
+ if (!base.slice_from("heid"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_en_ending())
+ {
+ break lab0;
+ }
+ break;
+ case 3:
+ if (!r_R1())
+ {
+ break lab0;
+ }
+ if (!(base.out_grouping_b(g_v_j, 97, 232)))
+ {
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ base.cursor = base.limit - v_1;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_e_ending();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("heid")))
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ break lab1;
+ }
+ {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab2: {
+ if (!(base.eq_s_b("c")))
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_4;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("en")))
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_en_ending())
+ {
+ break lab1;
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ break lab3;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ lab4: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab5: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ig")))
+ {
+ break lab5;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ break lab5;
+ }
+ {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab6: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab6;
+ }
+ break lab5;
+ }
+ base.cursor = base.limit - v_7;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab4;
+ }
+ base.cursor = base.limit - v_6;
+ if (!r_undouble())
+ {
+ break lab3;
+ }
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab7: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab7;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_8;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_e_ending())
+ {
+ break lab3;
+ }
+ break;
+ case 4:
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ if (!B_e_found)
+ {
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ base.cursor = base.limit - v_5;
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab8: {
+ if (!(base.out_grouping_b(g_v_I, 73, 232)))
+ {
+ break lab8;
+ }
+ var /** number */ v_10 = base.limit - base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ break lab8;
+ }
+ if (!(base.out_grouping_b(g_v, 97, 232)))
+ {
+ break lab8;
+ }
+ base.cursor = base.limit - v_10;
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab8;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_9;
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ var /** number */ v_2 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_2;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ r_standard_suffix();
+ base.cursor = base.limit_backward;
+ var /** number */ v_4 = base.cursor;
+ r_postlude();
+ base.cursor = v_4;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/finnish-stemmer.js b/sphinx/search/non-minified-js/finnish-stemmer.js
new file mode 100644
index 0000000..c907c4a
--- /dev/null
+++ b/sphinx/search/non-minified-js/finnish-stemmer.js
@@ -0,0 +1,790 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+FinnishStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["pa", -1, 1],
+ ["sti", -1, 2],
+ ["kaan", -1, 1],
+ ["han", -1, 1],
+ ["kin", -1, 1],
+ ["h\u00E4n", -1, 1],
+ ["k\u00E4\u00E4n", -1, 1],
+ ["ko", -1, 1],
+ ["p\u00E4", -1, 1],
+ ["k\u00F6", -1, 1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["lla", -1, -1],
+ ["na", -1, -1],
+ ["ssa", -1, -1],
+ ["ta", -1, -1],
+ ["lta", 3, -1],
+ ["sta", 3, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ll\u00E4", -1, -1],
+ ["n\u00E4", -1, -1],
+ ["ss\u00E4", -1, -1],
+ ["t\u00E4", -1, -1],
+ ["lt\u00E4", 3, -1],
+ ["st\u00E4", 3, -1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["lle", -1, -1],
+ ["ine", -1, -1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["nsa", -1, 3],
+ ["mme", -1, 3],
+ ["nne", -1, 3],
+ ["ni", -1, 2],
+ ["si", -1, 1],
+ ["an", -1, 4],
+ ["en", -1, 6],
+ ["\u00E4n", -1, 5],
+ ["ns\u00E4", -1, 3]
+ ];
+
+ /** @const */ var a_5 = [
+ ["aa", -1, -1],
+ ["ee", -1, -1],
+ ["ii", -1, -1],
+ ["oo", -1, -1],
+ ["uu", -1, -1],
+ ["\u00E4\u00E4", -1, -1],
+ ["\u00F6\u00F6", -1, -1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["a", -1, 8],
+ ["lla", 0, -1],
+ ["na", 0, -1],
+ ["ssa", 0, -1],
+ ["ta", 0, -1],
+ ["lta", 4, -1],
+ ["sta", 4, -1],
+ ["tta", 4, 2],
+ ["lle", -1, -1],
+ ["ine", -1, -1],
+ ["ksi", -1, -1],
+ ["n", -1, 7],
+ ["han", 11, 1],
+ ["den", 11, -1, r_VI],
+ ["seen", 11, -1, r_LONG],
+ ["hen", 11, 2],
+ ["tten", 11, -1, r_VI],
+ ["hin", 11, 3],
+ ["siin", 11, -1, r_VI],
+ ["hon", 11, 4],
+ ["h\u00E4n", 11, 5],
+ ["h\u00F6n", 11, 6],
+ ["\u00E4", -1, 8],
+ ["ll\u00E4", 22, -1],
+ ["n\u00E4", 22, -1],
+ ["ss\u00E4", 22, -1],
+ ["t\u00E4", 22, -1],
+ ["lt\u00E4", 26, -1],
+ ["st\u00E4", 26, -1],
+ ["tt\u00E4", 26, 2]
+ ];
+
+ /** @const */ var a_7 = [
+ ["eja", -1, -1],
+ ["mma", -1, 1],
+ ["imma", 1, -1],
+ ["mpa", -1, 1],
+ ["impa", 3, -1],
+ ["mmi", -1, 1],
+ ["immi", 5, -1],
+ ["mpi", -1, 1],
+ ["impi", 7, -1],
+ ["ej\u00E4", -1, -1],
+ ["mm\u00E4", -1, 1],
+ ["imm\u00E4", 10, -1],
+ ["mp\u00E4", -1, 1],
+ ["imp\u00E4", 12, -1]
+ ];
+
+ /** @const */ var a_8 = [
+ ["i", -1, -1],
+ ["j", -1, -1]
+ ];
+
+ /** @const */ var a_9 = [
+ ["mma", -1, 1],
+ ["imma", 0, -1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_AEI = [17, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8];
+
+ /** @const */ var /** Array<int> */ g_C = [119, 223, 119, 1];
+
+ /** @const */ var /** Array<int> */ g_V1 = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32];
+
+ /** @const */ var /** Array<int> */ g_V2 = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32];
+
+ /** @const */ var /** Array<int> */ g_particle_end = [17, 97, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32];
+
+ var /** boolean */ B_ending_removed = false;
+ var /** string */ S_x = '';
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ golab0: while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab1: {
+ if (!(base.in_grouping(g_V1, 97, 246)))
+ {
+ break lab1;
+ }
+ base.cursor = v_1;
+ break golab0;
+ }
+ base.cursor = v_1;
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_V1, 97, 246)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab4: while(true)
+ {
+ var /** number */ v_3 = base.cursor;
+ lab5: {
+ if (!(base.in_grouping(g_V1, 97, 246)))
+ {
+ break lab5;
+ }
+ base.cursor = v_3;
+ break golab4;
+ }
+ base.cursor = v_3;
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab6: while(true)
+ {
+ lab7: {
+ if (!(base.out_grouping(g_V1, 97, 246)))
+ {
+ break lab7;
+ }
+ break golab6;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_particle_etc() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ if (!(base.in_grouping_b(g_particle_end, 97, 246)))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ return false;
+ }
+ break;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_possessive() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("k")))
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("kse")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_from("ksi"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (base.find_among_b(a_1) == 0)
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (base.find_among_b(a_2) == 0)
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (base.find_among_b(a_3) == 0)
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_LONG() {
+ if (base.find_among_b(a_5) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_VI() {
+ if (!(base.eq_s_b("i")))
+ {
+ return false;
+ }
+ if (!(base.in_grouping_b(g_V2, 97, 246)))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_case_ending() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_6);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ if (!(base.eq_s_b("a")))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.eq_s_b("e")))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!(base.eq_s_b("i")))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!(base.eq_s_b("o")))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!(base.eq_s_b("\u00E4")))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!(base.eq_s_b("\u00F6")))
+ {
+ return false;
+ }
+ break;
+ case 7:
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab1: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab2: {
+ if (!r_LONG())
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_5;
+ if (!(base.eq_s_b("ie")))
+ {
+ base.cursor = base.limit - v_3;
+ break lab0;
+ }
+ }
+ base.cursor = base.limit - v_4;
+ if (base.cursor <= base.limit_backward)
+ {
+ base.cursor = base.limit - v_3;
+ break lab0;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ }
+ break;
+ case 8:
+ if (!(base.in_grouping_b(g_V1, 97, 246)))
+ {
+ return false;
+ }
+ if (!(base.in_grouping_b(g_C, 98, 122)))
+ {
+ return false;
+ }
+ break;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ B_ending_removed = true;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_other_endings() {
+ var /** number */ among_var;
+ if (base.cursor < I_p2)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p2;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_7);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("po")))
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ break;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_i_plural() {
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_8) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_t_plural() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("t")))
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_3 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_V1, 97, 246)))
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ if (base.cursor < I_p2)
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit_backward;
+ base.limit_backward = I_p2;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_9);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_5;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_5;
+ switch (among_var) {
+ case 1:
+ {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("po")))
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_6;
+ }
+ break;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_tidy() {
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!r_LONG())
+ {
+ break lab0;
+ }
+ base.cursor = base.limit - v_4;
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab0;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (!(base.in_grouping_b(g_AEI, 97, 228)))
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!(base.in_grouping_b(g_C, 98, 122)))
+ {
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_5;
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("j")))
+ {
+ break lab2;
+ }
+ base.bra = base.cursor;
+ lab3: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab4: {
+ if (!(base.eq_s_b("o")))
+ {
+ break lab4;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_7;
+ if (!(base.eq_s_b("u")))
+ {
+ break lab2;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_6;
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab5: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("o")))
+ {
+ break lab5;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s_b("j")))
+ {
+ break lab5;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_8;
+ base.limit_backward = v_2;
+ golab6: while(true)
+ {
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab7: {
+ if (!(base.out_grouping_b(g_V1, 97, 246)))
+ {
+ break lab7;
+ }
+ base.cursor = base.limit - v_9;
+ break golab6;
+ }
+ base.cursor = base.limit - v_9;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping_b(g_C, 98, 122)))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ S_x = base.slice_to();
+ if (S_x == '')
+ {
+ return false;
+ }
+ if (!(base.eq_s_b(S_x)))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_1;
+ B_ending_removed = false;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_particle_etc();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_possessive();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_case_ending();
+ base.cursor = base.limit - v_4;
+ var /** number */ v_5 = base.limit - base.cursor;
+ r_other_endings();
+ base.cursor = base.limit - v_5;
+ lab0: {
+ lab1: {
+ if (!B_ending_removed)
+ {
+ break lab1;
+ }
+ var /** number */ v_7 = base.limit - base.cursor;
+ r_i_plural();
+ base.cursor = base.limit - v_7;
+ break lab0;
+ }
+ var /** number */ v_8 = base.limit - base.cursor;
+ r_t_plural();
+ base.cursor = base.limit - v_8;
+ }
+ var /** number */ v_9 = base.limit - base.cursor;
+ r_tidy();
+ base.cursor = base.limit - v_9;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/french-stemmer.js b/sphinx/search/non-minified-js/french-stemmer.js
new file mode 100644
index 0000000..c970831
--- /dev/null
+++ b/sphinx/search/non-minified-js/french-stemmer.js
@@ -0,0 +1,1325 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+FrenchStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["col", -1, -1],
+ ["par", -1, -1],
+ ["tap", -1, -1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["", -1, 7],
+ ["H", 0, 6],
+ ["He", 1, 4],
+ ["Hi", 1, 5],
+ ["I", 0, 1],
+ ["U", 0, 2],
+ ["Y", 0, 3]
+ ];
+
+ /** @const */ var a_2 = [
+ ["iqU", -1, 3],
+ ["abl", -1, 3],
+ ["I\u00E8r", -1, 4],
+ ["i\u00E8r", -1, 4],
+ ["eus", -1, 2],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ic", -1, 2],
+ ["abil", -1, 1],
+ ["iv", -1, 3]
+ ];
+
+ /** @const */ var a_4 = [
+ ["iqUe", -1, 1],
+ ["atrice", -1, 2],
+ ["ance", -1, 1],
+ ["ence", -1, 5],
+ ["logie", -1, 3],
+ ["able", -1, 1],
+ ["isme", -1, 1],
+ ["euse", -1, 11],
+ ["iste", -1, 1],
+ ["ive", -1, 8],
+ ["if", -1, 8],
+ ["usion", -1, 4],
+ ["ation", -1, 2],
+ ["ution", -1, 4],
+ ["ateur", -1, 2],
+ ["iqUes", -1, 1],
+ ["atrices", -1, 2],
+ ["ances", -1, 1],
+ ["ences", -1, 5],
+ ["logies", -1, 3],
+ ["ables", -1, 1],
+ ["ismes", -1, 1],
+ ["euses", -1, 11],
+ ["istes", -1, 1],
+ ["ives", -1, 8],
+ ["ifs", -1, 8],
+ ["usions", -1, 4],
+ ["ations", -1, 2],
+ ["utions", -1, 4],
+ ["ateurs", -1, 2],
+ ["ments", -1, 15],
+ ["ements", 30, 6],
+ ["issements", 31, 12],
+ ["it\u00E9s", -1, 7],
+ ["ment", -1, 15],
+ ["ement", 34, 6],
+ ["issement", 35, 12],
+ ["amment", 34, 13],
+ ["emment", 34, 14],
+ ["aux", -1, 10],
+ ["eaux", 39, 9],
+ ["eux", -1, 1],
+ ["it\u00E9", -1, 7]
+ ];
+
+ /** @const */ var a_5 = [
+ ["ira", -1, 1],
+ ["ie", -1, 1],
+ ["isse", -1, 1],
+ ["issante", -1, 1],
+ ["i", -1, 1],
+ ["irai", 4, 1],
+ ["ir", -1, 1],
+ ["iras", -1, 1],
+ ["ies", -1, 1],
+ ["\u00EEmes", -1, 1],
+ ["isses", -1, 1],
+ ["issantes", -1, 1],
+ ["\u00EEtes", -1, 1],
+ ["is", -1, 1],
+ ["irais", 13, 1],
+ ["issais", 13, 1],
+ ["irions", -1, 1],
+ ["issions", -1, 1],
+ ["irons", -1, 1],
+ ["issons", -1, 1],
+ ["issants", -1, 1],
+ ["it", -1, 1],
+ ["irait", 21, 1],
+ ["issait", 21, 1],
+ ["issant", -1, 1],
+ ["iraIent", -1, 1],
+ ["issaIent", -1, 1],
+ ["irent", -1, 1],
+ ["issent", -1, 1],
+ ["iront", -1, 1],
+ ["\u00EEt", -1, 1],
+ ["iriez", -1, 1],
+ ["issiez", -1, 1],
+ ["irez", -1, 1],
+ ["issez", -1, 1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["a", -1, 3],
+ ["era", 0, 2],
+ ["asse", -1, 3],
+ ["ante", -1, 3],
+ ["\u00E9e", -1, 2],
+ ["ai", -1, 3],
+ ["erai", 5, 2],
+ ["er", -1, 2],
+ ["as", -1, 3],
+ ["eras", 8, 2],
+ ["\u00E2mes", -1, 3],
+ ["asses", -1, 3],
+ ["antes", -1, 3],
+ ["\u00E2tes", -1, 3],
+ ["\u00E9es", -1, 2],
+ ["ais", -1, 3],
+ ["erais", 15, 2],
+ ["ions", -1, 1],
+ ["erions", 17, 2],
+ ["assions", 17, 3],
+ ["erons", -1, 2],
+ ["ants", -1, 3],
+ ["\u00E9s", -1, 2],
+ ["ait", -1, 3],
+ ["erait", 23, 2],
+ ["ant", -1, 3],
+ ["aIent", -1, 3],
+ ["eraIent", 26, 2],
+ ["\u00E8rent", -1, 2],
+ ["assent", -1, 3],
+ ["eront", -1, 2],
+ ["\u00E2t", -1, 3],
+ ["ez", -1, 2],
+ ["iez", 32, 2],
+ ["eriez", 33, 2],
+ ["assiez", 33, 3],
+ ["erez", 32, 2],
+ ["\u00E9", -1, 2]
+ ];
+
+ /** @const */ var a_7 = [
+ ["e", -1, 3],
+ ["I\u00E8re", 0, 2],
+ ["i\u00E8re", 0, 2],
+ ["ion", -1, 1],
+ ["Ier", -1, 2],
+ ["ier", -1, 2]
+ ];
+
+ /** @const */ var a_8 = [
+ ["ell", -1, -1],
+ ["eill", -1, -1],
+ ["enn", -1, -1],
+ ["onn", -1, -1],
+ ["ett", -1, -1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 130, 103, 8, 5];
+
+ /** @const */ var /** Array<int> */ g_keep_with_s = [1, 65, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ golab1: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab4;
+ }
+ base.bra = base.cursor;
+ lab5: {
+ var /** number */ v_4 = base.cursor;
+ lab6: {
+ if (!(base.eq_s("u")))
+ {
+ break lab6;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab6;
+ }
+ if (!base.slice_from("U"))
+ {
+ return false;
+ }
+ break lab5;
+ }
+ base.cursor = v_4;
+ lab7: {
+ if (!(base.eq_s("i")))
+ {
+ break lab7;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab7;
+ }
+ if (!base.slice_from("I"))
+ {
+ return false;
+ }
+ break lab5;
+ }
+ base.cursor = v_4;
+ if (!(base.eq_s("y")))
+ {
+ break lab4;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ lab8: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("\u00EB")))
+ {
+ break lab8;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("He"))
+ {
+ return false;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ lab9: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("\u00EF")))
+ {
+ break lab9;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("Hi"))
+ {
+ return false;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ lab10: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("y")))
+ {
+ break lab10;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab10;
+ }
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.eq_s("q")))
+ {
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s("u")))
+ {
+ break lab2;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("U"))
+ {
+ return false;
+ }
+ }
+ base.cursor = v_2;
+ break golab1;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab2;
+ }
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ break lab1;
+ }
+ base.cursor = v_2;
+ lab3: {
+ if (base.find_among(a_0) == 0)
+ {
+ break lab3;
+ }
+ break lab1;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ golab4: while(true)
+ {
+ lab5: {
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab5;
+ }
+ break golab4;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ }
+ I_pV = base.cursor;
+ }
+ base.cursor = v_1;
+ var /** number */ v_4 = base.cursor;
+ lab6: {
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab6;
+ }
+ base.cursor++;
+ }
+ golab9: while(true)
+ {
+ lab10: {
+ if (!(base.out_grouping(g_v, 97, 251)))
+ {
+ break lab10;
+ }
+ break golab9;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab6;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab11: while(true)
+ {
+ lab12: {
+ if (!(base.in_grouping(g_v, 97, 251)))
+ {
+ break lab12;
+ }
+ break golab11;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab6;
+ }
+ base.cursor++;
+ }
+ golab13: while(true)
+ {
+ lab14: {
+ if (!(base.out_grouping(g_v, 97, 251)))
+ {
+ break lab14;
+ }
+ break golab13;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab6;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_4;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_1);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("y"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("\u00EB"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("\u00EF"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_RV() {
+ if (!(I_pV <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ic")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ lab1: {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab2: {
+ if (!r_R2())
+ {
+ break lab2;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ if (!base.slice_from("iqU"))
+ {
+ return false;
+ }
+ }
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("log"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("ent"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ lab4: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab5: {
+ if (!r_R2())
+ {
+ break lab5;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab4;
+ }
+ base.cursor = base.limit - v_4;
+ if (!r_R1())
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ if (!base.slice_from("eux"))
+ {
+ return false;
+ }
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!r_RV())
+ {
+ base.cursor = base.limit - v_3;
+ break lab3;
+ }
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ break;
+ case 7:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab6: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_5;
+ break lab6;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ lab7: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab8: {
+ if (!r_R2())
+ {
+ break lab8;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_6;
+ if (!base.slice_from("abl"))
+ {
+ return false;
+ }
+ }
+ break;
+ case 2:
+ lab9: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab10: {
+ if (!r_R2())
+ {
+ break lab10;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab9;
+ }
+ base.cursor = base.limit - v_7;
+ if (!base.slice_from("iqU"))
+ {
+ return false;
+ }
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_5;
+ break lab6;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ break;
+ case 8:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab11: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_8;
+ break lab11;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_8;
+ break lab11;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ic")))
+ {
+ base.cursor = base.limit - v_8;
+ break lab11;
+ }
+ base.bra = base.cursor;
+ lab12: {
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab13: {
+ if (!r_R2())
+ {
+ break lab13;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab12;
+ }
+ base.cursor = base.limit - v_9;
+ if (!base.slice_from("iqU"))
+ {
+ return false;
+ }
+ }
+ }
+ break;
+ case 9:
+ if (!base.slice_from("eau"))
+ {
+ return false;
+ }
+ break;
+ case 10:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_from("al"))
+ {
+ return false;
+ }
+ break;
+ case 11:
+ lab14: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab15: {
+ if (!r_R2())
+ {
+ break lab15;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab14;
+ }
+ base.cursor = base.limit - v_10;
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_from("eux"))
+ {
+ return false;
+ }
+ }
+ break;
+ case 12:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!(base.out_grouping_b(g_v, 97, 251)))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 13:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_from("ant"))
+ {
+ return false;
+ }
+ return false;
+ case 14:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_from("ent"))
+ {
+ return false;
+ }
+ return false;
+ case 15:
+ var /** number */ v_11 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_v, 97, 251)))
+ {
+ return false;
+ }
+ if (!r_RV())
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_11;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_i_verb_suffix() {
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("H")))
+ {
+ break lab0;
+ }
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ if (!(base.out_grouping_b(g_v, 97, 251)))
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_6);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("e")))
+ {
+ base.cursor = base.limit - v_3;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_residual_suffix() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("s")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ if (!(base.eq_s_b("Hi")))
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_3;
+ if (!(base.out_grouping_b(g_keep_with_s, 97, 232)))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ }
+ base.cursor = base.limit - v_2;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_7);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_5;
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ base.limit_backward = v_5;
+ return false;
+ }
+ lab3: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab4: {
+ if (!(base.eq_s_b("s")))
+ {
+ break lab4;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_6;
+ if (!(base.eq_s_b("t")))
+ {
+ base.limit_backward = v_5;
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ base.limit_backward = v_5;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_un_double() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (base.find_among_b(a_8) == 0)
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_un_accent() {
+ {
+ var v_1 = 1;
+ while(true)
+ {
+ lab0: {
+ if (!(base.out_grouping_b(g_v, 97, 251)))
+ {
+ break lab0;
+ }
+ v_1--;
+ continue;
+ }
+ break;
+ }
+ if (v_1 > 0)
+ {
+ return false;
+ }
+ }
+ base.ket = base.cursor;
+ lab1: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ if (!(base.eq_s_b("\u00E9")))
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_3;
+ if (!(base.eq_s_b("\u00E8")))
+ {
+ return false;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab3: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab4: {
+ if (!r_standard_suffix())
+ {
+ break lab4;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_6;
+ lab5: {
+ if (!r_i_verb_suffix())
+ {
+ break lab5;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_6;
+ if (!r_verb_suffix())
+ {
+ break lab2;
+ }
+ }
+ base.cursor = base.limit - v_5;
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab6: {
+ base.ket = base.cursor;
+ lab7: {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab8: {
+ if (!(base.eq_s_b("Y")))
+ {
+ break lab8;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_8;
+ if (!(base.eq_s_b("\u00E7")))
+ {
+ base.cursor = base.limit - v_7;
+ break lab6;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_from("c"))
+ {
+ return false;
+ }
+ }
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_4;
+ if (!r_residual_suffix())
+ {
+ break lab0;
+ }
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_9 = base.limit - base.cursor;
+ r_un_double();
+ base.cursor = base.limit - v_9;
+ var /** number */ v_10 = base.limit - base.cursor;
+ r_un_accent();
+ base.cursor = base.limit - v_10;
+ base.cursor = base.limit_backward;
+ var /** number */ v_11 = base.cursor;
+ r_postlude();
+ base.cursor = v_11;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/german-stemmer.js b/sphinx/search/non-minified-js/german-stemmer.js
new file mode 100644
index 0000000..f5ff81b
--- /dev/null
+++ b/sphinx/search/non-minified-js/german-stemmer.js
@@ -0,0 +1,577 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+GermanStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 5],
+ ["U", 0, 2],
+ ["Y", 0, 1],
+ ["\u00E4", 0, 3],
+ ["\u00F6", 0, 4],
+ ["\u00FC", 0, 2]
+ ];
+
+ /** @const */ var a_1 = [
+ ["e", -1, 2],
+ ["em", -1, 1],
+ ["en", -1, 2],
+ ["ern", -1, 1],
+ ["er", -1, 1],
+ ["s", -1, 3],
+ ["es", 5, 2]
+ ];
+
+ /** @const */ var a_2 = [
+ ["en", -1, 1],
+ ["er", -1, 1],
+ ["st", -1, 2],
+ ["est", 2, 1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ig", -1, 1],
+ ["lich", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["end", -1, 1],
+ ["ig", -1, 2],
+ ["ung", -1, 1],
+ ["lich", -1, 3],
+ ["isch", -1, 2],
+ ["ik", -1, 2],
+ ["heit", -1, 3],
+ ["keit", -1, 4]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 32, 8];
+
+ /** @const */ var /** Array<int> */ g_s_ending = [117, 30, 5];
+
+ /** @const */ var /** Array<int> */ g_st_ending = [117, 30, 4];
+
+ var /** number */ I_x = 0;
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ var /** number */ v_1 = base.cursor;
+ while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_3 = base.cursor;
+ lab2: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("\u00DF")))
+ {
+ break lab2;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("ss"))
+ {
+ return false;
+ }
+ break lab1;
+ }
+ base.cursor = v_3;
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_2;
+ break;
+ }
+ base.cursor = v_1;
+ while(true)
+ {
+ var /** number */ v_4 = base.cursor;
+ lab3: {
+ golab4: while(true)
+ {
+ var /** number */ v_5 = base.cursor;
+ lab5: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab5;
+ }
+ base.bra = base.cursor;
+ lab6: {
+ var /** number */ v_6 = base.cursor;
+ lab7: {
+ if (!(base.eq_s("u")))
+ {
+ break lab7;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab7;
+ }
+ if (!base.slice_from("U"))
+ {
+ return false;
+ }
+ break lab6;
+ }
+ base.cursor = v_6;
+ if (!(base.eq_s("y")))
+ {
+ break lab5;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab5;
+ }
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ }
+ base.cursor = v_5;
+ break golab4;
+ }
+ base.cursor = v_5;
+ if (base.cursor >= base.limit)
+ {
+ break lab3;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_4;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ {
+ var /** number */ c1 = base.cursor + 3;
+ if (c1 > base.limit)
+ {
+ return false;
+ }
+ base.cursor = c1;
+ }
+ I_x = base.cursor;
+ base.cursor = v_1;
+ golab0: while(true)
+ {
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab1;
+ }
+ break golab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ lab4: {
+ if (!(I_p1 < I_x))
+ {
+ break lab4;
+ }
+ I_p1 = I_x;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("y"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("o"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_1);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ break lab0;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("s")))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s_b("nis")))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 3:
+ if (!(base.in_grouping_b(g_s_ending, 98, 116)))
+ {
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ base.cursor = base.limit - v_1;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ break lab2;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.in_grouping_b(g_st_ending, 98, 116)))
+ {
+ break lab2;
+ }
+ {
+ var /** number */ c1 = base.cursor - 3;
+ if (c1 < base.limit_backward)
+ {
+ break lab2;
+ }
+ base.cursor = c1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ break lab3;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab4: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ig")))
+ {
+ base.cursor = base.limit - v_5;
+ break lab4;
+ }
+ base.bra = base.cursor;
+ {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab5: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab5;
+ }
+ base.cursor = base.limit - v_5;
+ break lab4;
+ }
+ base.cursor = base.limit - v_6;
+ }
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_5;
+ break lab4;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 2:
+ {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab6: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab6;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_7;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab7: {
+ base.ket = base.cursor;
+ lab8: {
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab9: {
+ if (!(base.eq_s_b("er")))
+ {
+ break lab9;
+ }
+ break lab8;
+ }
+ base.cursor = base.limit - v_9;
+ if (!(base.eq_s_b("en")))
+ {
+ base.cursor = base.limit - v_8;
+ break lab7;
+ }
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ base.cursor = base.limit - v_8;
+ break lab7;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 4:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab10: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_3) == 0)
+ {
+ base.cursor = base.limit - v_10;
+ break lab10;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_10;
+ break lab10;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ }
+ }
+ base.cursor = base.limit - v_4;
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ var /** number */ v_2 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_2;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ r_standard_suffix();
+ base.cursor = base.limit_backward;
+ var /** number */ v_4 = base.cursor;
+ r_postlude();
+ base.cursor = v_4;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/hungarian-stemmer.js b/sphinx/search/non-minified-js/hungarian-stemmer.js
new file mode 100644
index 0000000..2c550ac
--- /dev/null
+++ b/sphinx/search/non-minified-js/hungarian-stemmer.js
@@ -0,0 +1,711 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+HungarianStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["cs", -1, -1],
+ ["dzs", -1, -1],
+ ["gy", -1, -1],
+ ["ly", -1, -1],
+ ["ny", -1, -1],
+ ["sz", -1, -1],
+ ["ty", -1, -1],
+ ["zs", -1, -1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["\u00E1", -1, 1],
+ ["\u00E9", -1, 2]
+ ];
+
+ /** @const */ var a_2 = [
+ ["bb", -1, -1],
+ ["cc", -1, -1],
+ ["dd", -1, -1],
+ ["ff", -1, -1],
+ ["gg", -1, -1],
+ ["jj", -1, -1],
+ ["kk", -1, -1],
+ ["ll", -1, -1],
+ ["mm", -1, -1],
+ ["nn", -1, -1],
+ ["pp", -1, -1],
+ ["rr", -1, -1],
+ ["ccs", -1, -1],
+ ["ss", -1, -1],
+ ["zzs", -1, -1],
+ ["tt", -1, -1],
+ ["vv", -1, -1],
+ ["ggy", -1, -1],
+ ["lly", -1, -1],
+ ["nny", -1, -1],
+ ["tty", -1, -1],
+ ["ssz", -1, -1],
+ ["zz", -1, -1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["al", -1, 1],
+ ["el", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["ba", -1, -1],
+ ["ra", -1, -1],
+ ["be", -1, -1],
+ ["re", -1, -1],
+ ["ig", -1, -1],
+ ["nak", -1, -1],
+ ["nek", -1, -1],
+ ["val", -1, -1],
+ ["vel", -1, -1],
+ ["ul", -1, -1],
+ ["n\u00E1l", -1, -1],
+ ["n\u00E9l", -1, -1],
+ ["b\u00F3l", -1, -1],
+ ["r\u00F3l", -1, -1],
+ ["t\u00F3l", -1, -1],
+ ["\u00FCl", -1, -1],
+ ["b\u0151l", -1, -1],
+ ["r\u0151l", -1, -1],
+ ["t\u0151l", -1, -1],
+ ["n", -1, -1],
+ ["an", 19, -1],
+ ["ban", 20, -1],
+ ["en", 19, -1],
+ ["ben", 22, -1],
+ ["k\u00E9ppen", 22, -1],
+ ["on", 19, -1],
+ ["\u00F6n", 19, -1],
+ ["k\u00E9pp", -1, -1],
+ ["kor", -1, -1],
+ ["t", -1, -1],
+ ["at", 29, -1],
+ ["et", 29, -1],
+ ["k\u00E9nt", 29, -1],
+ ["ank\u00E9nt", 32, -1],
+ ["enk\u00E9nt", 32, -1],
+ ["onk\u00E9nt", 32, -1],
+ ["ot", 29, -1],
+ ["\u00E9rt", 29, -1],
+ ["\u00F6t", 29, -1],
+ ["hez", -1, -1],
+ ["hoz", -1, -1],
+ ["h\u00F6z", -1, -1],
+ ["v\u00E1", -1, -1],
+ ["v\u00E9", -1, -1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["\u00E1n", -1, 2],
+ ["\u00E9n", -1, 1],
+ ["\u00E1nk\u00E9nt", -1, 2]
+ ];
+
+ /** @const */ var a_6 = [
+ ["stul", -1, 1],
+ ["astul", 0, 1],
+ ["\u00E1stul", 0, 2],
+ ["st\u00FCl", -1, 1],
+ ["est\u00FCl", 3, 1],
+ ["\u00E9st\u00FCl", 3, 3]
+ ];
+
+ /** @const */ var a_7 = [
+ ["\u00E1", -1, 1],
+ ["\u00E9", -1, 1]
+ ];
+
+ /** @const */ var a_8 = [
+ ["k", -1, 3],
+ ["ak", 0, 3],
+ ["ek", 0, 3],
+ ["ok", 0, 3],
+ ["\u00E1k", 0, 1],
+ ["\u00E9k", 0, 2],
+ ["\u00F6k", 0, 3]
+ ];
+
+ /** @const */ var a_9 = [
+ ["\u00E9i", -1, 1],
+ ["\u00E1\u00E9i", 0, 3],
+ ["\u00E9\u00E9i", 0, 2],
+ ["\u00E9", -1, 1],
+ ["k\u00E9", 3, 1],
+ ["ak\u00E9", 4, 1],
+ ["ek\u00E9", 4, 1],
+ ["ok\u00E9", 4, 1],
+ ["\u00E1k\u00E9", 4, 3],
+ ["\u00E9k\u00E9", 4, 2],
+ ["\u00F6k\u00E9", 4, 1],
+ ["\u00E9\u00E9", 3, 2]
+ ];
+
+ /** @const */ var a_10 = [
+ ["a", -1, 1],
+ ["ja", 0, 1],
+ ["d", -1, 1],
+ ["ad", 2, 1],
+ ["ed", 2, 1],
+ ["od", 2, 1],
+ ["\u00E1d", 2, 2],
+ ["\u00E9d", 2, 3],
+ ["\u00F6d", 2, 1],
+ ["e", -1, 1],
+ ["je", 9, 1],
+ ["nk", -1, 1],
+ ["unk", 11, 1],
+ ["\u00E1nk", 11, 2],
+ ["\u00E9nk", 11, 3],
+ ["\u00FCnk", 11, 1],
+ ["uk", -1, 1],
+ ["juk", 16, 1],
+ ["\u00E1juk", 17, 2],
+ ["\u00FCk", -1, 1],
+ ["j\u00FCk", 19, 1],
+ ["\u00E9j\u00FCk", 20, 3],
+ ["m", -1, 1],
+ ["am", 22, 1],
+ ["em", 22, 1],
+ ["om", 22, 1],
+ ["\u00E1m", 22, 2],
+ ["\u00E9m", 22, 3],
+ ["o", -1, 1],
+ ["\u00E1", -1, 2],
+ ["\u00E9", -1, 3]
+ ];
+
+ /** @const */ var a_11 = [
+ ["id", -1, 1],
+ ["aid", 0, 1],
+ ["jaid", 1, 1],
+ ["eid", 0, 1],
+ ["jeid", 3, 1],
+ ["\u00E1id", 0, 2],
+ ["\u00E9id", 0, 3],
+ ["i", -1, 1],
+ ["ai", 7, 1],
+ ["jai", 8, 1],
+ ["ei", 7, 1],
+ ["jei", 10, 1],
+ ["\u00E1i", 7, 2],
+ ["\u00E9i", 7, 3],
+ ["itek", -1, 1],
+ ["eitek", 14, 1],
+ ["jeitek", 15, 1],
+ ["\u00E9itek", 14, 3],
+ ["ik", -1, 1],
+ ["aik", 18, 1],
+ ["jaik", 19, 1],
+ ["eik", 18, 1],
+ ["jeik", 21, 1],
+ ["\u00E1ik", 18, 2],
+ ["\u00E9ik", 18, 3],
+ ["ink", -1, 1],
+ ["aink", 25, 1],
+ ["jaink", 26, 1],
+ ["eink", 25, 1],
+ ["jeink", 28, 1],
+ ["\u00E1ink", 25, 2],
+ ["\u00E9ink", 25, 3],
+ ["aitok", -1, 1],
+ ["jaitok", 32, 1],
+ ["\u00E1itok", -1, 2],
+ ["im", -1, 1],
+ ["aim", 35, 1],
+ ["jaim", 36, 1],
+ ["eim", 35, 1],
+ ["jeim", 38, 1],
+ ["\u00E1im", 35, 2],
+ ["\u00E9im", 35, 3]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 36, 10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1];
+
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ lab0: {
+ var /** number */ v_1 = base.cursor;
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 369)))
+ {
+ break lab1;
+ }
+ golab2: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 369)))
+ {
+ break lab3;
+ }
+ base.cursor = v_2;
+ break golab2;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ break lab1;
+ }
+ base.cursor++;
+ }
+ lab4: {
+ var /** number */ v_3 = base.cursor;
+ lab5: {
+ if (base.find_among(a_0) == 0)
+ {
+ break lab5;
+ }
+ break lab4;
+ }
+ base.cursor = v_3;
+ if (base.cursor >= base.limit)
+ {
+ break lab1;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ break lab0;
+ }
+ base.cursor = v_1;
+ if (!(base.out_grouping(g_v, 97, 369)))
+ {
+ return false;
+ }
+ golab6: while(true)
+ {
+ lab7: {
+ if (!(base.in_grouping(g_v, 97, 369)))
+ {
+ break lab7;
+ }
+ break golab6;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_v_ending() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_1);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_double() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (base.find_among_b(a_2) == 0)
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_undouble() {
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.ket = base.cursor;
+ {
+ var /** number */ c1 = base.cursor - 1;
+ if (c1 < base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor = c1;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_instrum() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_3) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!r_double())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_undouble())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_case() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_4) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_v_ending())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_case_special() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_5);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_case_other() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_6);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_factive() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_7) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!r_double())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_undouble())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_plural() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_8);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_owned() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_9);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_sing_owner() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_10);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_plur_owner() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_11);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_1;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_instrum();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_case();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_case_special();
+ base.cursor = base.limit - v_4;
+ var /** number */ v_5 = base.limit - base.cursor;
+ r_case_other();
+ base.cursor = base.limit - v_5;
+ var /** number */ v_6 = base.limit - base.cursor;
+ r_factive();
+ base.cursor = base.limit - v_6;
+ var /** number */ v_7 = base.limit - base.cursor;
+ r_owned();
+ base.cursor = base.limit - v_7;
+ var /** number */ v_8 = base.limit - base.cursor;
+ r_sing_owner();
+ base.cursor = base.limit - v_8;
+ var /** number */ v_9 = base.limit - base.cursor;
+ r_plur_owner();
+ base.cursor = base.limit - v_9;
+ var /** number */ v_10 = base.limit - base.cursor;
+ r_plural();
+ base.cursor = base.limit - v_10;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/italian-stemmer.js b/sphinx/search/non-minified-js/italian-stemmer.js
new file mode 100644
index 0000000..df6ddfd
--- /dev/null
+++ b/sphinx/search/non-minified-js/italian-stemmer.js
@@ -0,0 +1,996 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+ItalianStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 7],
+ ["qu", 0, 6],
+ ["\u00E1", 0, 1],
+ ["\u00E9", 0, 2],
+ ["\u00ED", 0, 3],
+ ["\u00F3", 0, 4],
+ ["\u00FA", 0, 5]
+ ];
+
+ /** @const */ var a_1 = [
+ ["", -1, 3],
+ ["I", 0, 1],
+ ["U", 0, 2]
+ ];
+
+ /** @const */ var a_2 = [
+ ["la", -1, -1],
+ ["cela", 0, -1],
+ ["gliela", 0, -1],
+ ["mela", 0, -1],
+ ["tela", 0, -1],
+ ["vela", 0, -1],
+ ["le", -1, -1],
+ ["cele", 6, -1],
+ ["gliele", 6, -1],
+ ["mele", 6, -1],
+ ["tele", 6, -1],
+ ["vele", 6, -1],
+ ["ne", -1, -1],
+ ["cene", 12, -1],
+ ["gliene", 12, -1],
+ ["mene", 12, -1],
+ ["sene", 12, -1],
+ ["tene", 12, -1],
+ ["vene", 12, -1],
+ ["ci", -1, -1],
+ ["li", -1, -1],
+ ["celi", 20, -1],
+ ["glieli", 20, -1],
+ ["meli", 20, -1],
+ ["teli", 20, -1],
+ ["veli", 20, -1],
+ ["gli", 20, -1],
+ ["mi", -1, -1],
+ ["si", -1, -1],
+ ["ti", -1, -1],
+ ["vi", -1, -1],
+ ["lo", -1, -1],
+ ["celo", 31, -1],
+ ["glielo", 31, -1],
+ ["melo", 31, -1],
+ ["telo", 31, -1],
+ ["velo", 31, -1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ando", -1, 1],
+ ["endo", -1, 1],
+ ["ar", -1, 2],
+ ["er", -1, 2],
+ ["ir", -1, 2]
+ ];
+
+ /** @const */ var a_4 = [
+ ["ic", -1, -1],
+ ["abil", -1, -1],
+ ["os", -1, -1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["ic", -1, 1],
+ ["abil", -1, 1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["ica", -1, 1],
+ ["logia", -1, 3],
+ ["osa", -1, 1],
+ ["ista", -1, 1],
+ ["iva", -1, 9],
+ ["anza", -1, 1],
+ ["enza", -1, 5],
+ ["ice", -1, 1],
+ ["atrice", 7, 1],
+ ["iche", -1, 1],
+ ["logie", -1, 3],
+ ["abile", -1, 1],
+ ["ibile", -1, 1],
+ ["usione", -1, 4],
+ ["azione", -1, 2],
+ ["uzione", -1, 4],
+ ["atore", -1, 2],
+ ["ose", -1, 1],
+ ["ante", -1, 1],
+ ["mente", -1, 1],
+ ["amente", 19, 7],
+ ["iste", -1, 1],
+ ["ive", -1, 9],
+ ["anze", -1, 1],
+ ["enze", -1, 5],
+ ["ici", -1, 1],
+ ["atrici", 25, 1],
+ ["ichi", -1, 1],
+ ["abili", -1, 1],
+ ["ibili", -1, 1],
+ ["ismi", -1, 1],
+ ["usioni", -1, 4],
+ ["azioni", -1, 2],
+ ["uzioni", -1, 4],
+ ["atori", -1, 2],
+ ["osi", -1, 1],
+ ["anti", -1, 1],
+ ["amenti", -1, 6],
+ ["imenti", -1, 6],
+ ["isti", -1, 1],
+ ["ivi", -1, 9],
+ ["ico", -1, 1],
+ ["ismo", -1, 1],
+ ["oso", -1, 1],
+ ["amento", -1, 6],
+ ["imento", -1, 6],
+ ["ivo", -1, 9],
+ ["it\u00E0", -1, 8],
+ ["ist\u00E0", -1, 1],
+ ["ist\u00E8", -1, 1],
+ ["ist\u00EC", -1, 1]
+ ];
+
+ /** @const */ var a_7 = [
+ ["isca", -1, 1],
+ ["enda", -1, 1],
+ ["ata", -1, 1],
+ ["ita", -1, 1],
+ ["uta", -1, 1],
+ ["ava", -1, 1],
+ ["eva", -1, 1],
+ ["iva", -1, 1],
+ ["erebbe", -1, 1],
+ ["irebbe", -1, 1],
+ ["isce", -1, 1],
+ ["ende", -1, 1],
+ ["are", -1, 1],
+ ["ere", -1, 1],
+ ["ire", -1, 1],
+ ["asse", -1, 1],
+ ["ate", -1, 1],
+ ["avate", 16, 1],
+ ["evate", 16, 1],
+ ["ivate", 16, 1],
+ ["ete", -1, 1],
+ ["erete", 20, 1],
+ ["irete", 20, 1],
+ ["ite", -1, 1],
+ ["ereste", -1, 1],
+ ["ireste", -1, 1],
+ ["ute", -1, 1],
+ ["erai", -1, 1],
+ ["irai", -1, 1],
+ ["isci", -1, 1],
+ ["endi", -1, 1],
+ ["erei", -1, 1],
+ ["irei", -1, 1],
+ ["assi", -1, 1],
+ ["ati", -1, 1],
+ ["iti", -1, 1],
+ ["eresti", -1, 1],
+ ["iresti", -1, 1],
+ ["uti", -1, 1],
+ ["avi", -1, 1],
+ ["evi", -1, 1],
+ ["ivi", -1, 1],
+ ["isco", -1, 1],
+ ["ando", -1, 1],
+ ["endo", -1, 1],
+ ["Yamo", -1, 1],
+ ["iamo", -1, 1],
+ ["avamo", -1, 1],
+ ["evamo", -1, 1],
+ ["ivamo", -1, 1],
+ ["eremo", -1, 1],
+ ["iremo", -1, 1],
+ ["assimo", -1, 1],
+ ["ammo", -1, 1],
+ ["emmo", -1, 1],
+ ["eremmo", 54, 1],
+ ["iremmo", 54, 1],
+ ["immo", -1, 1],
+ ["ano", -1, 1],
+ ["iscano", 58, 1],
+ ["avano", 58, 1],
+ ["evano", 58, 1],
+ ["ivano", 58, 1],
+ ["eranno", -1, 1],
+ ["iranno", -1, 1],
+ ["ono", -1, 1],
+ ["iscono", 65, 1],
+ ["arono", 65, 1],
+ ["erono", 65, 1],
+ ["irono", 65, 1],
+ ["erebbero", -1, 1],
+ ["irebbero", -1, 1],
+ ["assero", -1, 1],
+ ["essero", -1, 1],
+ ["issero", -1, 1],
+ ["ato", -1, 1],
+ ["ito", -1, 1],
+ ["uto", -1, 1],
+ ["avo", -1, 1],
+ ["evo", -1, 1],
+ ["ivo", -1, 1],
+ ["ar", -1, 1],
+ ["ir", -1, 1],
+ ["er\u00E0", -1, 1],
+ ["ir\u00E0", -1, 1],
+ ["er\u00F2", -1, 1],
+ ["ir\u00F2", -1, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2, 1];
+
+ /** @const */ var /** Array<int> */ g_AEIO = [17, 65, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 128, 8, 2];
+
+ /** @const */ var /** Array<int> */ g_CG = [17];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.cursor;
+ while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("\u00E0"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("\u00E8"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("\u00EC"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("\u00F2"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("\u00F9"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_from("qU"))
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_2;
+ break;
+ }
+ base.cursor = v_1;
+ while(true)
+ {
+ var /** number */ v_3 = base.cursor;
+ lab1: {
+ golab2: while(true)
+ {
+ var /** number */ v_4 = base.cursor;
+ lab3: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab3;
+ }
+ base.bra = base.cursor;
+ lab4: {
+ var /** number */ v_5 = base.cursor;
+ lab5: {
+ if (!(base.eq_s("u")))
+ {
+ break lab5;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab5;
+ }
+ if (!base.slice_from("U"))
+ {
+ return false;
+ }
+ break lab4;
+ }
+ base.cursor = v_5;
+ if (!(base.eq_s("i")))
+ {
+ break lab3;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab3;
+ }
+ if (!base.slice_from("I"))
+ {
+ return false;
+ }
+ }
+ base.cursor = v_4;
+ break golab2;
+ }
+ base.cursor = v_4;
+ if (base.cursor >= base.limit)
+ {
+ break lab1;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_3;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab2;
+ }
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab4;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab4;
+ }
+ base.cursor++;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab2;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ }
+ break lab1;
+ }
+ base.cursor = v_2;
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab0;
+ }
+ lab9: {
+ var /** number */ v_6 = base.cursor;
+ lab10: {
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab10;
+ }
+ golab11: while(true)
+ {
+ lab12: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab12;
+ }
+ break golab11;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab10;
+ }
+ base.cursor++;
+ }
+ break lab9;
+ }
+ base.cursor = v_6;
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ }
+ I_pV = base.cursor;
+ }
+ base.cursor = v_1;
+ var /** number */ v_8 = base.cursor;
+ lab13: {
+ golab14: while(true)
+ {
+ lab15: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab15;
+ }
+ break golab14;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab16: while(true)
+ {
+ lab17: {
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab17;
+ }
+ break golab16;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab18: while(true)
+ {
+ lab19: {
+ if (!(base.in_grouping(g_v, 97, 249)))
+ {
+ break lab19;
+ }
+ break golab18;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab20: while(true)
+ {
+ lab21: {
+ if (!(base.out_grouping(g_v, 97, 249)))
+ {
+ break lab21;
+ }
+ break golab20;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_8;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_1);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_RV() {
+ if (!(I_pV <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_attached_pronoun() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_2) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ if (!r_RV())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_6);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ic")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("log"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("ente"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ break;
+ case 8:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 9:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ic")))
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb_suffix() {
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_7) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_vowel_suffix() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.in_grouping_b(g_AEIO, 97, 242)))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_RV())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("i")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_RV())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("h")))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!(base.in_grouping_b(g_CG, 99, 103)))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!r_RV())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_attached_pronoun();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab2: {
+ if (!r_standard_suffix())
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_5;
+ if (!r_verb_suffix())
+ {
+ break lab0;
+ }
+ }
+ }
+ base.cursor = base.limit - v_4;
+ var /** number */ v_6 = base.limit - base.cursor;
+ r_vowel_suffix();
+ base.cursor = base.limit - v_6;
+ base.cursor = base.limit_backward;
+ var /** number */ v_7 = base.cursor;
+ r_postlude();
+ base.cursor = v_7;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/norwegian-stemmer.js b/sphinx/search/non-minified-js/norwegian-stemmer.js
new file mode 100644
index 0000000..e176063
--- /dev/null
+++ b/sphinx/search/non-minified-js/norwegian-stemmer.js
@@ -0,0 +1,261 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+NorwegianStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["a", -1, 1],
+ ["e", -1, 1],
+ ["ede", 1, 1],
+ ["ande", 1, 1],
+ ["ende", 1, 1],
+ ["ane", 1, 1],
+ ["ene", 1, 1],
+ ["hetene", 6, 1],
+ ["erte", 1, 3],
+ ["en", -1, 1],
+ ["heten", 9, 1],
+ ["ar", -1, 1],
+ ["er", -1, 1],
+ ["heter", 12, 1],
+ ["s", -1, 2],
+ ["as", 14, 1],
+ ["es", 14, 1],
+ ["edes", 16, 1],
+ ["endes", 16, 1],
+ ["enes", 16, 1],
+ ["hetenes", 19, 1],
+ ["ens", 14, 1],
+ ["hetens", 21, 1],
+ ["ers", 14, 1],
+ ["ets", 14, 1],
+ ["et", -1, 1],
+ ["het", 25, 1],
+ ["ert", -1, 3],
+ ["ast", -1, 1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["dt", -1, -1],
+ ["vt", -1, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["leg", -1, 1],
+ ["eleg", 0, 1],
+ ["ig", -1, 1],
+ ["eig", 2, 1],
+ ["lig", 2, 1],
+ ["elig", 4, 1],
+ ["els", -1, 1],
+ ["lov", -1, 1],
+ ["elov", 7, 1],
+ ["slov", 7, 1],
+ ["hetslov", 9, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 128];
+
+ /** @const */ var /** Array<int> */ g_s_ending = [119, 125, 149, 1];
+
+ var /** number */ I_x = 0;
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ {
+ var /** number */ c1 = base.cursor + 3;
+ if (c1 > base.limit)
+ {
+ return false;
+ }
+ base.cursor = c1;
+ }
+ I_x = base.cursor;
+ base.cursor = v_1;
+ golab0: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 248)))
+ {
+ break lab1;
+ }
+ base.cursor = v_2;
+ break golab0;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 248)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ lab4: {
+ if (!(I_p1 < I_x))
+ {
+ break lab4;
+ }
+ I_p1 = I_x;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_main_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ lab0: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.in_grouping_b(g_s_ending, 98, 122)))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_3;
+ if (!(base.eq_s_b("k")))
+ {
+ return false;
+ }
+ if (!(base.out_grouping_b(g_v, 97, 248)))
+ {
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("er"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_consonant_pair() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_1) == 0)
+ {
+ base.limit_backward = v_3;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_3;
+ base.cursor = base.limit - v_1;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_other_suffix() {
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_2) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_1;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_main_suffix();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_consonant_pair();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_other_suffix();
+ base.cursor = base.limit - v_4;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/porter-stemmer.js b/sphinx/search/non-minified-js/porter-stemmer.js
new file mode 100644
index 0000000..0747d2c
--- /dev/null
+++ b/sphinx/search/non-minified-js/porter-stemmer.js
@@ -0,0 +1,749 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+PorterStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["s", -1, 3],
+ ["ies", 0, 2],
+ ["sses", 0, 1],
+ ["ss", 0, -1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["", -1, 3],
+ ["bb", 0, 2],
+ ["dd", 0, 2],
+ ["ff", 0, 2],
+ ["gg", 0, 2],
+ ["bl", 0, 1],
+ ["mm", 0, 2],
+ ["nn", 0, 2],
+ ["pp", 0, 2],
+ ["rr", 0, 2],
+ ["at", 0, 1],
+ ["tt", 0, 2],
+ ["iz", 0, 1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ed", -1, 2],
+ ["eed", 0, 1],
+ ["ing", -1, 2]
+ ];
+
+ /** @const */ var a_3 = [
+ ["anci", -1, 3],
+ ["enci", -1, 2],
+ ["abli", -1, 4],
+ ["eli", -1, 6],
+ ["alli", -1, 9],
+ ["ousli", -1, 11],
+ ["entli", -1, 5],
+ ["aliti", -1, 9],
+ ["biliti", -1, 13],
+ ["iviti", -1, 12],
+ ["tional", -1, 1],
+ ["ational", 10, 8],
+ ["alism", -1, 9],
+ ["ation", -1, 8],
+ ["ization", 13, 7],
+ ["izer", -1, 7],
+ ["ator", -1, 8],
+ ["iveness", -1, 12],
+ ["fulness", -1, 10],
+ ["ousness", -1, 11]
+ ];
+
+ /** @const */ var a_4 = [
+ ["icate", -1, 2],
+ ["ative", -1, 3],
+ ["alize", -1, 1],
+ ["iciti", -1, 2],
+ ["ical", -1, 2],
+ ["ful", -1, 3],
+ ["ness", -1, 3]
+ ];
+
+ /** @const */ var a_5 = [
+ ["ic", -1, 1],
+ ["ance", -1, 1],
+ ["ence", -1, 1],
+ ["able", -1, 1],
+ ["ible", -1, 1],
+ ["ate", -1, 1],
+ ["ive", -1, 1],
+ ["ize", -1, 1],
+ ["iti", -1, 1],
+ ["al", -1, 1],
+ ["ism", -1, 1],
+ ["ion", -1, 2],
+ ["er", -1, 1],
+ ["ous", -1, 1],
+ ["ant", -1, 1],
+ ["ent", -1, 1],
+ ["ment", 15, 1],
+ ["ement", 16, 1],
+ ["ou", -1, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1];
+
+ /** @const */ var /** Array<int> */ g_v_WXY = [1, 17, 65, 208, 1];
+
+ var /** boolean */ B_Y_found = false;
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_shortv() {
+ if (!(base.out_grouping_b(g_v_WXY, 89, 121)))
+ {
+ return false;
+ }
+ if (!(base.in_grouping_b(g_v, 97, 121)))
+ {
+ return false;
+ }
+ if (!(base.out_grouping_b(g_v, 97, 121)))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_1a() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("ss"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_1b() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_from("ee"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ var /** number */ v_1 = base.limit - base.cursor;
+ golab0: while(true)
+ {
+ lab1: {
+ if (!(base.in_grouping_b(g_v, 97, 121)))
+ {
+ break lab1;
+ }
+ break golab0;
+ }
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ base.cursor = base.limit - v_1;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ among_var = base.find_among_b(a_1);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ switch (among_var) {
+ case 1:
+ {
+ var /** number */ c1 = base.cursor;
+ base.insert(base.cursor, base.cursor, "e");
+ base.cursor = c1;
+ }
+ break;
+ case 2:
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor != I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!r_shortv())
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_4;
+ {
+ var /** number */ c2 = base.cursor;
+ base.insert(base.cursor, base.cursor, "e");
+ base.cursor = c2;
+ }
+ break;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_1c() {
+ base.ket = base.cursor;
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("y")))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!(base.eq_s_b("Y")))
+ {
+ return false;
+ }
+ }
+ base.bra = base.cursor;
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.in_grouping_b(g_v, 97, 121)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_2() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("tion"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("ence"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("ance"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("able"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("ent"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (!base.slice_from("ize"))
+ {
+ return false;
+ }
+ break;
+ case 8:
+ if (!base.slice_from("ate"))
+ {
+ return false;
+ }
+ break;
+ case 9:
+ if (!base.slice_from("al"))
+ {
+ return false;
+ }
+ break;
+ case 10:
+ if (!base.slice_from("ful"))
+ {
+ return false;
+ }
+ break;
+ case 11:
+ if (!base.slice_from("ous"))
+ {
+ return false;
+ }
+ break;
+ case 12:
+ if (!base.slice_from("ive"))
+ {
+ return false;
+ }
+ break;
+ case 13:
+ if (!base.slice_from("ble"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_3() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("al"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("ic"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_4() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_5);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("s")))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!(base.eq_s_b("t")))
+ {
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_5a() {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("e")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!r_R2())
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!r_R1())
+ {
+ return false;
+ }
+ {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab2: {
+ if (!r_shortv())
+ {
+ break lab2;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_2;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_Step_5b() {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("l")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!(base.eq_s_b("l")))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ B_Y_found = false;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("y")))
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ B_Y_found = true;
+ }
+ base.cursor = v_1;
+ var /** number */ v_2 = base.cursor;
+ lab1: {
+ while(true)
+ {
+ var /** number */ v_3 = base.cursor;
+ lab2: {
+ golab3: while(true)
+ {
+ var /** number */ v_4 = base.cursor;
+ lab4: {
+ if (!(base.in_grouping(g_v, 97, 121)))
+ {
+ break lab4;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s("y")))
+ {
+ break lab4;
+ }
+ base.ket = base.cursor;
+ base.cursor = v_4;
+ break golab3;
+ }
+ base.cursor = v_4;
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ if (!base.slice_from("Y"))
+ {
+ return false;
+ }
+ B_Y_found = true;
+ continue;
+ }
+ base.cursor = v_3;
+ break;
+ }
+ }
+ base.cursor = v_2;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_5 = base.cursor;
+ lab5: {
+ golab6: while(true)
+ {
+ lab7: {
+ if (!(base.in_grouping(g_v, 97, 121)))
+ {
+ break lab7;
+ }
+ break golab6;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab5;
+ }
+ base.cursor++;
+ }
+ golab8: while(true)
+ {
+ lab9: {
+ if (!(base.out_grouping(g_v, 97, 121)))
+ {
+ break lab9;
+ }
+ break golab8;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab5;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab10: while(true)
+ {
+ lab11: {
+ if (!(base.in_grouping(g_v, 97, 121)))
+ {
+ break lab11;
+ }
+ break golab10;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab5;
+ }
+ base.cursor++;
+ }
+ golab12: while(true)
+ {
+ lab13: {
+ if (!(base.out_grouping(g_v, 97, 121)))
+ {
+ break lab13;
+ }
+ break golab12;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab5;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_5;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_10 = base.limit - base.cursor;
+ r_Step_1a();
+ base.cursor = base.limit - v_10;
+ var /** number */ v_11 = base.limit - base.cursor;
+ r_Step_1b();
+ base.cursor = base.limit - v_11;
+ var /** number */ v_12 = base.limit - base.cursor;
+ r_Step_1c();
+ base.cursor = base.limit - v_12;
+ var /** number */ v_13 = base.limit - base.cursor;
+ r_Step_2();
+ base.cursor = base.limit - v_13;
+ var /** number */ v_14 = base.limit - base.cursor;
+ r_Step_3();
+ base.cursor = base.limit - v_14;
+ var /** number */ v_15 = base.limit - base.cursor;
+ r_Step_4();
+ base.cursor = base.limit - v_15;
+ var /** number */ v_16 = base.limit - base.cursor;
+ r_Step_5a();
+ base.cursor = base.limit - v_16;
+ var /** number */ v_17 = base.limit - base.cursor;
+ r_Step_5b();
+ base.cursor = base.limit - v_17;
+ base.cursor = base.limit_backward;
+ var /** number */ v_18 = base.cursor;
+ lab14: {
+ if (!B_Y_found)
+ {
+ break lab14;
+ }
+ while(true)
+ {
+ var /** number */ v_19 = base.cursor;
+ lab15: {
+ golab16: while(true)
+ {
+ var /** number */ v_20 = base.cursor;
+ lab17: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("Y")))
+ {
+ break lab17;
+ }
+ base.ket = base.cursor;
+ base.cursor = v_20;
+ break golab16;
+ }
+ base.cursor = v_20;
+ if (base.cursor >= base.limit)
+ {
+ break lab15;
+ }
+ base.cursor++;
+ }
+ if (!base.slice_from("y"))
+ {
+ return false;
+ }
+ continue;
+ }
+ base.cursor = v_19;
+ break;
+ }
+ }
+ base.cursor = v_18;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/portuguese-stemmer.js b/sphinx/search/non-minified-js/portuguese-stemmer.js
new file mode 100644
index 0000000..662b976
--- /dev/null
+++ b/sphinx/search/non-minified-js/portuguese-stemmer.js
@@ -0,0 +1,914 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+PortugueseStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 3],
+ ["\u00E3", 0, 1],
+ ["\u00F5", 0, 2]
+ ];
+
+ /** @const */ var a_1 = [
+ ["", -1, 3],
+ ["a~", 0, 1],
+ ["o~", 0, 2]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ic", -1, -1],
+ ["ad", -1, -1],
+ ["os", -1, -1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ante", -1, 1],
+ ["avel", -1, 1],
+ ["\u00EDvel", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["ic", -1, 1],
+ ["abil", -1, 1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["ica", -1, 1],
+ ["\u00E2ncia", -1, 1],
+ ["\u00EAncia", -1, 4],
+ ["logia", -1, 2],
+ ["ira", -1, 9],
+ ["adora", -1, 1],
+ ["osa", -1, 1],
+ ["ista", -1, 1],
+ ["iva", -1, 8],
+ ["eza", -1, 1],
+ ["idade", -1, 7],
+ ["ante", -1, 1],
+ ["mente", -1, 6],
+ ["amente", 12, 5],
+ ["\u00E1vel", -1, 1],
+ ["\u00EDvel", -1, 1],
+ ["ico", -1, 1],
+ ["ismo", -1, 1],
+ ["oso", -1, 1],
+ ["amento", -1, 1],
+ ["imento", -1, 1],
+ ["ivo", -1, 8],
+ ["a\u00E7a~o", -1, 1],
+ ["u\u00E7a~o", -1, 3],
+ ["ador", -1, 1],
+ ["icas", -1, 1],
+ ["\u00EAncias", -1, 4],
+ ["logias", -1, 2],
+ ["iras", -1, 9],
+ ["adoras", -1, 1],
+ ["osas", -1, 1],
+ ["istas", -1, 1],
+ ["ivas", -1, 8],
+ ["ezas", -1, 1],
+ ["idades", -1, 7],
+ ["adores", -1, 1],
+ ["antes", -1, 1],
+ ["a\u00E7o~es", -1, 1],
+ ["u\u00E7o~es", -1, 3],
+ ["icos", -1, 1],
+ ["ismos", -1, 1],
+ ["osos", -1, 1],
+ ["amentos", -1, 1],
+ ["imentos", -1, 1],
+ ["ivos", -1, 8]
+ ];
+
+ /** @const */ var a_6 = [
+ ["ada", -1, 1],
+ ["ida", -1, 1],
+ ["ia", -1, 1],
+ ["aria", 2, 1],
+ ["eria", 2, 1],
+ ["iria", 2, 1],
+ ["ara", -1, 1],
+ ["era", -1, 1],
+ ["ira", -1, 1],
+ ["ava", -1, 1],
+ ["asse", -1, 1],
+ ["esse", -1, 1],
+ ["isse", -1, 1],
+ ["aste", -1, 1],
+ ["este", -1, 1],
+ ["iste", -1, 1],
+ ["ei", -1, 1],
+ ["arei", 16, 1],
+ ["erei", 16, 1],
+ ["irei", 16, 1],
+ ["am", -1, 1],
+ ["iam", 20, 1],
+ ["ariam", 21, 1],
+ ["eriam", 21, 1],
+ ["iriam", 21, 1],
+ ["aram", 20, 1],
+ ["eram", 20, 1],
+ ["iram", 20, 1],
+ ["avam", 20, 1],
+ ["em", -1, 1],
+ ["arem", 29, 1],
+ ["erem", 29, 1],
+ ["irem", 29, 1],
+ ["assem", 29, 1],
+ ["essem", 29, 1],
+ ["issem", 29, 1],
+ ["ado", -1, 1],
+ ["ido", -1, 1],
+ ["ando", -1, 1],
+ ["endo", -1, 1],
+ ["indo", -1, 1],
+ ["ara~o", -1, 1],
+ ["era~o", -1, 1],
+ ["ira~o", -1, 1],
+ ["ar", -1, 1],
+ ["er", -1, 1],
+ ["ir", -1, 1],
+ ["as", -1, 1],
+ ["adas", 47, 1],
+ ["idas", 47, 1],
+ ["ias", 47, 1],
+ ["arias", 50, 1],
+ ["erias", 50, 1],
+ ["irias", 50, 1],
+ ["aras", 47, 1],
+ ["eras", 47, 1],
+ ["iras", 47, 1],
+ ["avas", 47, 1],
+ ["es", -1, 1],
+ ["ardes", 58, 1],
+ ["erdes", 58, 1],
+ ["irdes", 58, 1],
+ ["ares", 58, 1],
+ ["eres", 58, 1],
+ ["ires", 58, 1],
+ ["asses", 58, 1],
+ ["esses", 58, 1],
+ ["isses", 58, 1],
+ ["astes", 58, 1],
+ ["estes", 58, 1],
+ ["istes", 58, 1],
+ ["is", -1, 1],
+ ["ais", 71, 1],
+ ["eis", 71, 1],
+ ["areis", 73, 1],
+ ["ereis", 73, 1],
+ ["ireis", 73, 1],
+ ["\u00E1reis", 73, 1],
+ ["\u00E9reis", 73, 1],
+ ["\u00EDreis", 73, 1],
+ ["\u00E1sseis", 73, 1],
+ ["\u00E9sseis", 73, 1],
+ ["\u00EDsseis", 73, 1],
+ ["\u00E1veis", 73, 1],
+ ["\u00EDeis", 73, 1],
+ ["ar\u00EDeis", 84, 1],
+ ["er\u00EDeis", 84, 1],
+ ["ir\u00EDeis", 84, 1],
+ ["ados", -1, 1],
+ ["idos", -1, 1],
+ ["amos", -1, 1],
+ ["\u00E1ramos", 90, 1],
+ ["\u00E9ramos", 90, 1],
+ ["\u00EDramos", 90, 1],
+ ["\u00E1vamos", 90, 1],
+ ["\u00EDamos", 90, 1],
+ ["ar\u00EDamos", 95, 1],
+ ["er\u00EDamos", 95, 1],
+ ["ir\u00EDamos", 95, 1],
+ ["emos", -1, 1],
+ ["aremos", 99, 1],
+ ["eremos", 99, 1],
+ ["iremos", 99, 1],
+ ["\u00E1ssemos", 99, 1],
+ ["\u00EAssemos", 99, 1],
+ ["\u00EDssemos", 99, 1],
+ ["imos", -1, 1],
+ ["armos", -1, 1],
+ ["ermos", -1, 1],
+ ["irmos", -1, 1],
+ ["\u00E1mos", -1, 1],
+ ["ar\u00E1s", -1, 1],
+ ["er\u00E1s", -1, 1],
+ ["ir\u00E1s", -1, 1],
+ ["eu", -1, 1],
+ ["iu", -1, 1],
+ ["ou", -1, 1],
+ ["ar\u00E1", -1, 1],
+ ["er\u00E1", -1, 1],
+ ["ir\u00E1", -1, 1]
+ ];
+
+ /** @const */ var a_7 = [
+ ["a", -1, 1],
+ ["i", -1, 1],
+ ["o", -1, 1],
+ ["os", -1, 1],
+ ["\u00E1", -1, 1],
+ ["\u00ED", -1, 1],
+ ["\u00F3", -1, 1]
+ ];
+
+ /** @const */ var a_8 = [
+ ["e", -1, 1],
+ ["\u00E7", -1, 2],
+ ["\u00E9", -1, 1],
+ ["\u00EA", -1, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 19, 12, 2];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("a~"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("o~"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab2;
+ }
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab4;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab4;
+ }
+ base.cursor++;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab2;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ }
+ break lab1;
+ }
+ base.cursor = v_2;
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab0;
+ }
+ lab9: {
+ var /** number */ v_6 = base.cursor;
+ lab10: {
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab10;
+ }
+ golab11: while(true)
+ {
+ lab12: {
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab12;
+ }
+ break golab11;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab10;
+ }
+ base.cursor++;
+ }
+ break lab9;
+ }
+ base.cursor = v_6;
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ }
+ I_pV = base.cursor;
+ }
+ base.cursor = v_1;
+ var /** number */ v_8 = base.cursor;
+ lab13: {
+ golab14: while(true)
+ {
+ lab15: {
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab15;
+ }
+ break golab14;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab16: while(true)
+ {
+ lab17: {
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab17;
+ }
+ break golab16;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab18: while(true)
+ {
+ lab19: {
+ if (!(base.in_grouping(g_v, 97, 250)))
+ {
+ break lab19;
+ }
+ break golab18;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab20: while(true)
+ {
+ lab21: {
+ if (!(base.out_grouping(g_v, 97, 250)))
+ {
+ break lab21;
+ }
+ break golab20;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_8;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_1);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("\u00E3"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("\u00F5"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_RV() {
+ if (!(I_pV <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_5);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("log"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("ente"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ break;
+ case 6:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_3) == 0)
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 7:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_4) == 0)
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 8:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 9:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!(base.eq_s_b("e")))
+ {
+ return false;
+ }
+ if (!base.slice_from("ir"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb_suffix() {
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_6) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_residual_suffix() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_7) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_residual_form() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_8);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("u")))
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.eq_s_b("g")))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!(base.eq_s_b("i")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_3 = base.limit - base.cursor;
+ if (!(base.eq_s_b("c")))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("c"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab3: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab4: {
+ if (!r_standard_suffix())
+ {
+ break lab4;
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_6;
+ if (!r_verb_suffix())
+ {
+ break lab2;
+ }
+ }
+ base.cursor = base.limit - v_5;
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab5: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("i")))
+ {
+ break lab5;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_8 = base.limit - base.cursor;
+ if (!(base.eq_s_b("c")))
+ {
+ break lab5;
+ }
+ base.cursor = base.limit - v_8;
+ if (!r_RV())
+ {
+ break lab5;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_7;
+ break lab1;
+ }
+ base.cursor = base.limit - v_4;
+ if (!r_residual_suffix())
+ {
+ break lab0;
+ }
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_9 = base.limit - base.cursor;
+ r_residual_form();
+ base.cursor = base.limit - v_9;
+ base.cursor = base.limit_backward;
+ var /** number */ v_10 = base.cursor;
+ r_postlude();
+ base.cursor = v_10;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/romanian-stemmer.js b/sphinx/search/non-minified-js/romanian-stemmer.js
new file mode 100644
index 0000000..67538f1
--- /dev/null
+++ b/sphinx/search/non-minified-js/romanian-stemmer.js
@@ -0,0 +1,872 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+RomanianStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 3],
+ ["I", 0, 1],
+ ["U", 0, 2]
+ ];
+
+ /** @const */ var a_1 = [
+ ["ea", -1, 3],
+ ["a\u0163ia", -1, 7],
+ ["aua", -1, 2],
+ ["iua", -1, 4],
+ ["a\u0163ie", -1, 7],
+ ["ele", -1, 3],
+ ["ile", -1, 5],
+ ["iile", 6, 4],
+ ["iei", -1, 4],
+ ["atei", -1, 6],
+ ["ii", -1, 4],
+ ["ului", -1, 1],
+ ["ul", -1, 1],
+ ["elor", -1, 3],
+ ["ilor", -1, 4],
+ ["iilor", 14, 4]
+ ];
+
+ /** @const */ var a_2 = [
+ ["icala", -1, 4],
+ ["iciva", -1, 4],
+ ["ativa", -1, 5],
+ ["itiva", -1, 6],
+ ["icale", -1, 4],
+ ["a\u0163iune", -1, 5],
+ ["i\u0163iune", -1, 6],
+ ["atoare", -1, 5],
+ ["itoare", -1, 6],
+ ["\u0103toare", -1, 5],
+ ["icitate", -1, 4],
+ ["abilitate", -1, 1],
+ ["ibilitate", -1, 2],
+ ["ivitate", -1, 3],
+ ["icive", -1, 4],
+ ["ative", -1, 5],
+ ["itive", -1, 6],
+ ["icali", -1, 4],
+ ["atori", -1, 5],
+ ["icatori", 18, 4],
+ ["itori", -1, 6],
+ ["\u0103tori", -1, 5],
+ ["icitati", -1, 4],
+ ["abilitati", -1, 1],
+ ["ivitati", -1, 3],
+ ["icivi", -1, 4],
+ ["ativi", -1, 5],
+ ["itivi", -1, 6],
+ ["icit\u0103i", -1, 4],
+ ["abilit\u0103i", -1, 1],
+ ["ivit\u0103i", -1, 3],
+ ["icit\u0103\u0163i", -1, 4],
+ ["abilit\u0103\u0163i", -1, 1],
+ ["ivit\u0103\u0163i", -1, 3],
+ ["ical", -1, 4],
+ ["ator", -1, 5],
+ ["icator", 35, 4],
+ ["itor", -1, 6],
+ ["\u0103tor", -1, 5],
+ ["iciv", -1, 4],
+ ["ativ", -1, 5],
+ ["itiv", -1, 6],
+ ["ical\u0103", -1, 4],
+ ["iciv\u0103", -1, 4],
+ ["ativ\u0103", -1, 5],
+ ["itiv\u0103", -1, 6]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ica", -1, 1],
+ ["abila", -1, 1],
+ ["ibila", -1, 1],
+ ["oasa", -1, 1],
+ ["ata", -1, 1],
+ ["ita", -1, 1],
+ ["anta", -1, 1],
+ ["ista", -1, 3],
+ ["uta", -1, 1],
+ ["iva", -1, 1],
+ ["ic", -1, 1],
+ ["ice", -1, 1],
+ ["abile", -1, 1],
+ ["ibile", -1, 1],
+ ["isme", -1, 3],
+ ["iune", -1, 2],
+ ["oase", -1, 1],
+ ["ate", -1, 1],
+ ["itate", 17, 1],
+ ["ite", -1, 1],
+ ["ante", -1, 1],
+ ["iste", -1, 3],
+ ["ute", -1, 1],
+ ["ive", -1, 1],
+ ["ici", -1, 1],
+ ["abili", -1, 1],
+ ["ibili", -1, 1],
+ ["iuni", -1, 2],
+ ["atori", -1, 1],
+ ["osi", -1, 1],
+ ["ati", -1, 1],
+ ["itati", 30, 1],
+ ["iti", -1, 1],
+ ["anti", -1, 1],
+ ["isti", -1, 3],
+ ["uti", -1, 1],
+ ["i\u015Fti", -1, 3],
+ ["ivi", -1, 1],
+ ["it\u0103i", -1, 1],
+ ["o\u015Fi", -1, 1],
+ ["it\u0103\u0163i", -1, 1],
+ ["abil", -1, 1],
+ ["ibil", -1, 1],
+ ["ism", -1, 3],
+ ["ator", -1, 1],
+ ["os", -1, 1],
+ ["at", -1, 1],
+ ["it", -1, 1],
+ ["ant", -1, 1],
+ ["ist", -1, 3],
+ ["ut", -1, 1],
+ ["iv", -1, 1],
+ ["ic\u0103", -1, 1],
+ ["abil\u0103", -1, 1],
+ ["ibil\u0103", -1, 1],
+ ["oas\u0103", -1, 1],
+ ["at\u0103", -1, 1],
+ ["it\u0103", -1, 1],
+ ["ant\u0103", -1, 1],
+ ["ist\u0103", -1, 3],
+ ["ut\u0103", -1, 1],
+ ["iv\u0103", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["ea", -1, 1],
+ ["ia", -1, 1],
+ ["esc", -1, 1],
+ ["\u0103sc", -1, 1],
+ ["ind", -1, 1],
+ ["\u00E2nd", -1, 1],
+ ["are", -1, 1],
+ ["ere", -1, 1],
+ ["ire", -1, 1],
+ ["\u00E2re", -1, 1],
+ ["se", -1, 2],
+ ["ase", 10, 1],
+ ["sese", 10, 2],
+ ["ise", 10, 1],
+ ["use", 10, 1],
+ ["\u00E2se", 10, 1],
+ ["e\u015Fte", -1, 1],
+ ["\u0103\u015Fte", -1, 1],
+ ["eze", -1, 1],
+ ["ai", -1, 1],
+ ["eai", 19, 1],
+ ["iai", 19, 1],
+ ["sei", -1, 2],
+ ["e\u015Fti", -1, 1],
+ ["\u0103\u015Fti", -1, 1],
+ ["ui", -1, 1],
+ ["ezi", -1, 1],
+ ["\u00E2i", -1, 1],
+ ["a\u015Fi", -1, 1],
+ ["se\u015Fi", -1, 2],
+ ["ase\u015Fi", 29, 1],
+ ["sese\u015Fi", 29, 2],
+ ["ise\u015Fi", 29, 1],
+ ["use\u015Fi", 29, 1],
+ ["\u00E2se\u015Fi", 29, 1],
+ ["i\u015Fi", -1, 1],
+ ["u\u015Fi", -1, 1],
+ ["\u00E2\u015Fi", -1, 1],
+ ["a\u0163i", -1, 2],
+ ["ea\u0163i", 38, 1],
+ ["ia\u0163i", 38, 1],
+ ["e\u0163i", -1, 2],
+ ["i\u0163i", -1, 2],
+ ["\u00E2\u0163i", -1, 2],
+ ["ar\u0103\u0163i", -1, 1],
+ ["ser\u0103\u0163i", -1, 2],
+ ["aser\u0103\u0163i", 45, 1],
+ ["seser\u0103\u0163i", 45, 2],
+ ["iser\u0103\u0163i", 45, 1],
+ ["user\u0103\u0163i", 45, 1],
+ ["\u00E2ser\u0103\u0163i", 45, 1],
+ ["ir\u0103\u0163i", -1, 1],
+ ["ur\u0103\u0163i", -1, 1],
+ ["\u00E2r\u0103\u0163i", -1, 1],
+ ["am", -1, 1],
+ ["eam", 54, 1],
+ ["iam", 54, 1],
+ ["em", -1, 2],
+ ["asem", 57, 1],
+ ["sesem", 57, 2],
+ ["isem", 57, 1],
+ ["usem", 57, 1],
+ ["\u00E2sem", 57, 1],
+ ["im", -1, 2],
+ ["\u00E2m", -1, 2],
+ ["\u0103m", -1, 2],
+ ["ar\u0103m", 65, 1],
+ ["ser\u0103m", 65, 2],
+ ["aser\u0103m", 67, 1],
+ ["seser\u0103m", 67, 2],
+ ["iser\u0103m", 67, 1],
+ ["user\u0103m", 67, 1],
+ ["\u00E2ser\u0103m", 67, 1],
+ ["ir\u0103m", 65, 1],
+ ["ur\u0103m", 65, 1],
+ ["\u00E2r\u0103m", 65, 1],
+ ["au", -1, 1],
+ ["eau", 76, 1],
+ ["iau", 76, 1],
+ ["indu", -1, 1],
+ ["\u00E2ndu", -1, 1],
+ ["ez", -1, 1],
+ ["easc\u0103", -1, 1],
+ ["ar\u0103", -1, 1],
+ ["ser\u0103", -1, 2],
+ ["aser\u0103", 84, 1],
+ ["seser\u0103", 84, 2],
+ ["iser\u0103", 84, 1],
+ ["user\u0103", 84, 1],
+ ["\u00E2ser\u0103", 84, 1],
+ ["ir\u0103", -1, 1],
+ ["ur\u0103", -1, 1],
+ ["\u00E2r\u0103", -1, 1],
+ ["eaz\u0103", -1, 1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["a", -1, 1],
+ ["e", -1, 1],
+ ["ie", 1, 1],
+ ["i", -1, 1],
+ ["\u0103", -1, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 32, 0, 0, 4];
+
+ var /** boolean */ B_standard_suffix_removed = false;
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_prelude() {
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ golab1: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab2;
+ }
+ base.bra = base.cursor;
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.eq_s("u")))
+ {
+ break lab4;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab4;
+ }
+ if (!base.slice_from("U"))
+ {
+ return false;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.eq_s("i")))
+ {
+ break lab2;
+ }
+ base.ket = base.cursor;
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab2;
+ }
+ if (!base.slice_from("I"))
+ {
+ return false;
+ }
+ }
+ base.cursor = v_2;
+ break golab1;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab2;
+ }
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab4;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab4;
+ }
+ base.cursor++;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab2;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ }
+ break lab1;
+ }
+ base.cursor = v_2;
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab0;
+ }
+ lab9: {
+ var /** number */ v_6 = base.cursor;
+ lab10: {
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab10;
+ }
+ golab11: while(true)
+ {
+ lab12: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab12;
+ }
+ break golab11;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab10;
+ }
+ base.cursor++;
+ }
+ break lab9;
+ }
+ base.cursor = v_6;
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ }
+ I_pV = base.cursor;
+ }
+ base.cursor = v_1;
+ var /** number */ v_8 = base.cursor;
+ lab13: {
+ golab14: while(true)
+ {
+ lab15: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab15;
+ }
+ break golab14;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab16: while(true)
+ {
+ lab17: {
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab17;
+ }
+ break golab16;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab18: while(true)
+ {
+ lab19: {
+ if (!(base.in_grouping(g_v, 97, 259)))
+ {
+ break lab19;
+ }
+ break golab18;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab20: while(true)
+ {
+ lab21: {
+ if (!(base.out_grouping(g_v, 97, 259)))
+ {
+ break lab21;
+ }
+ break golab20;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_8;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_RV() {
+ if (!(I_pV <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_step_0() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_1);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("ab")))
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ }
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_from("at"))
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (!base.slice_from("a\u0163i"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_combo_suffix() {
+ var /** number */ among_var;
+ var /** number */ v_1 = base.limit - base.cursor;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R1())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("abil"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("ibil"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("iv"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("ic"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("at"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_from("it"))
+ {
+ return false;
+ }
+ break;
+ }
+ B_standard_suffix_removed = true;
+ base.cursor = base.limit - v_1;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ B_standard_suffix_removed = false;
+ while(true)
+ {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ if (!r_combo_suffix())
+ {
+ break lab0;
+ }
+ continue;
+ }
+ base.cursor = base.limit - v_1;
+ break;
+ }
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.eq_s_b("\u0163")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_from("t"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("ist"))
+ {
+ return false;
+ }
+ break;
+ }
+ B_standard_suffix_removed = true;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ lab0: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.out_grouping_b(g_v, 97, 259)))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_3;
+ if (!(base.eq_s_b("u")))
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_vowel_suffix() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_prelude();
+ base.cursor = v_1;
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_step_0();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_standard_suffix();
+ base.cursor = base.limit - v_4;
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab2: {
+ if (!B_standard_suffix_removed)
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_6;
+ if (!r_verb_suffix())
+ {
+ break lab0;
+ }
+ }
+ }
+ base.cursor = base.limit - v_5;
+ var /** number */ v_7 = base.limit - base.cursor;
+ r_vowel_suffix();
+ base.cursor = base.limit - v_7;
+ base.cursor = base.limit_backward;
+ var /** number */ v_8 = base.cursor;
+ r_postlude();
+ base.cursor = v_8;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/russian-stemmer.js b/sphinx/search/non-minified-js/russian-stemmer.js
new file mode 100644
index 0000000..28ded5f
--- /dev/null
+++ b/sphinx/search/non-minified-js/russian-stemmer.js
@@ -0,0 +1,624 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+RussianStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["\u0432", -1, 1],
+ ["\u0438\u0432", 0, 2],
+ ["\u044B\u0432", 0, 2],
+ ["\u0432\u0448\u0438", -1, 1],
+ ["\u0438\u0432\u0448\u0438", 3, 2],
+ ["\u044B\u0432\u0448\u0438", 3, 2],
+ ["\u0432\u0448\u0438\u0441\u044C", -1, 1],
+ ["\u0438\u0432\u0448\u0438\u0441\u044C", 6, 2],
+ ["\u044B\u0432\u0448\u0438\u0441\u044C", 6, 2]
+ ];
+
+ /** @const */ var a_1 = [
+ ["\u0435\u0435", -1, 1],
+ ["\u0438\u0435", -1, 1],
+ ["\u043E\u0435", -1, 1],
+ ["\u044B\u0435", -1, 1],
+ ["\u0438\u043C\u0438", -1, 1],
+ ["\u044B\u043C\u0438", -1, 1],
+ ["\u0435\u0439", -1, 1],
+ ["\u0438\u0439", -1, 1],
+ ["\u043E\u0439", -1, 1],
+ ["\u044B\u0439", -1, 1],
+ ["\u0435\u043C", -1, 1],
+ ["\u0438\u043C", -1, 1],
+ ["\u043E\u043C", -1, 1],
+ ["\u044B\u043C", -1, 1],
+ ["\u0435\u0433\u043E", -1, 1],
+ ["\u043E\u0433\u043E", -1, 1],
+ ["\u0435\u043C\u0443", -1, 1],
+ ["\u043E\u043C\u0443", -1, 1],
+ ["\u0438\u0445", -1, 1],
+ ["\u044B\u0445", -1, 1],
+ ["\u0435\u044E", -1, 1],
+ ["\u043E\u044E", -1, 1],
+ ["\u0443\u044E", -1, 1],
+ ["\u044E\u044E", -1, 1],
+ ["\u0430\u044F", -1, 1],
+ ["\u044F\u044F", -1, 1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["\u0435\u043C", -1, 1],
+ ["\u043D\u043D", -1, 1],
+ ["\u0432\u0448", -1, 1],
+ ["\u0438\u0432\u0448", 2, 2],
+ ["\u044B\u0432\u0448", 2, 2],
+ ["\u0449", -1, 1],
+ ["\u044E\u0449", 5, 1],
+ ["\u0443\u044E\u0449", 6, 2]
+ ];
+
+ /** @const */ var a_3 = [
+ ["\u0441\u044C", -1, 1],
+ ["\u0441\u044F", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["\u043B\u0430", -1, 1],
+ ["\u0438\u043B\u0430", 0, 2],
+ ["\u044B\u043B\u0430", 0, 2],
+ ["\u043D\u0430", -1, 1],
+ ["\u0435\u043D\u0430", 3, 2],
+ ["\u0435\u0442\u0435", -1, 1],
+ ["\u0438\u0442\u0435", -1, 2],
+ ["\u0439\u0442\u0435", -1, 1],
+ ["\u0435\u0439\u0442\u0435", 7, 2],
+ ["\u0443\u0439\u0442\u0435", 7, 2],
+ ["\u043B\u0438", -1, 1],
+ ["\u0438\u043B\u0438", 10, 2],
+ ["\u044B\u043B\u0438", 10, 2],
+ ["\u0439", -1, 1],
+ ["\u0435\u0439", 13, 2],
+ ["\u0443\u0439", 13, 2],
+ ["\u043B", -1, 1],
+ ["\u0438\u043B", 16, 2],
+ ["\u044B\u043B", 16, 2],
+ ["\u0435\u043C", -1, 1],
+ ["\u0438\u043C", -1, 2],
+ ["\u044B\u043C", -1, 2],
+ ["\u043D", -1, 1],
+ ["\u0435\u043D", 22, 2],
+ ["\u043B\u043E", -1, 1],
+ ["\u0438\u043B\u043E", 24, 2],
+ ["\u044B\u043B\u043E", 24, 2],
+ ["\u043D\u043E", -1, 1],
+ ["\u0435\u043D\u043E", 27, 2],
+ ["\u043D\u043D\u043E", 27, 1],
+ ["\u0435\u0442", -1, 1],
+ ["\u0443\u0435\u0442", 30, 2],
+ ["\u0438\u0442", -1, 2],
+ ["\u044B\u0442", -1, 2],
+ ["\u044E\u0442", -1, 1],
+ ["\u0443\u044E\u0442", 34, 2],
+ ["\u044F\u0442", -1, 2],
+ ["\u043D\u044B", -1, 1],
+ ["\u0435\u043D\u044B", 37, 2],
+ ["\u0442\u044C", -1, 1],
+ ["\u0438\u0442\u044C", 39, 2],
+ ["\u044B\u0442\u044C", 39, 2],
+ ["\u0435\u0448\u044C", -1, 1],
+ ["\u0438\u0448\u044C", -1, 2],
+ ["\u044E", -1, 2],
+ ["\u0443\u044E", 44, 2]
+ ];
+
+ /** @const */ var a_5 = [
+ ["\u0430", -1, 1],
+ ["\u0435\u0432", -1, 1],
+ ["\u043E\u0432", -1, 1],
+ ["\u0435", -1, 1],
+ ["\u0438\u0435", 3, 1],
+ ["\u044C\u0435", 3, 1],
+ ["\u0438", -1, 1],
+ ["\u0435\u0438", 6, 1],
+ ["\u0438\u0438", 6, 1],
+ ["\u0430\u043C\u0438", 6, 1],
+ ["\u044F\u043C\u0438", 6, 1],
+ ["\u0438\u044F\u043C\u0438", 10, 1],
+ ["\u0439", -1, 1],
+ ["\u0435\u0439", 12, 1],
+ ["\u0438\u0435\u0439", 13, 1],
+ ["\u0438\u0439", 12, 1],
+ ["\u043E\u0439", 12, 1],
+ ["\u0430\u043C", -1, 1],
+ ["\u0435\u043C", -1, 1],
+ ["\u0438\u0435\u043C", 18, 1],
+ ["\u043E\u043C", -1, 1],
+ ["\u044F\u043C", -1, 1],
+ ["\u0438\u044F\u043C", 21, 1],
+ ["\u043E", -1, 1],
+ ["\u0443", -1, 1],
+ ["\u0430\u0445", -1, 1],
+ ["\u044F\u0445", -1, 1],
+ ["\u0438\u044F\u0445", 26, 1],
+ ["\u044B", -1, 1],
+ ["\u044C", -1, 1],
+ ["\u044E", -1, 1],
+ ["\u0438\u044E", 30, 1],
+ ["\u044C\u044E", 30, 1],
+ ["\u044F", -1, 1],
+ ["\u0438\u044F", 33, 1],
+ ["\u044C\u044F", 33, 1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["\u043E\u0441\u0442", -1, 1],
+ ["\u043E\u0441\u0442\u044C", -1, 1]
+ ];
+
+ /** @const */ var a_7 = [
+ ["\u0435\u0439\u0448\u0435", -1, 1],
+ ["\u043D", -1, 2],
+ ["\u0435\u0439\u0448", -1, 1],
+ ["\u044C", -1, 3]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [33, 65, 8, 232];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ golab1: while(true)
+ {
+ lab2: {
+ if (!(base.in_grouping(g_v, 1072, 1103)))
+ {
+ break lab2;
+ }
+ break golab1;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ I_pV = base.cursor;
+ golab3: while(true)
+ {
+ lab4: {
+ if (!(base.out_grouping(g_v, 1072, 1103)))
+ {
+ break lab4;
+ }
+ break golab3;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 1072, 1103)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 1072, 1103)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_1;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_perfective_gerund() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("\u0430")))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!(base.eq_s_b("\u044F")))
+ {
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_adjective() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_1) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_adjectival() {
+ var /** number */ among_var;
+ if (!r_adjective())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ lab1: {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab2: {
+ if (!(base.eq_s_b("\u0430")))
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ if (!(base.eq_s_b("\u044F")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_reflexive() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_3) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_4);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("\u0430")))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!(base.eq_s_b("\u044F")))
+ {
+ return false;
+ }
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_noun() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_derivational() {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_6) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_tidy_up() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_7);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("\u043D")))
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!(base.eq_s_b("\u043D")))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.eq_s_b("\u043D")))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab1: {
+ golab2: while(true)
+ {
+ var /** number */ v_3 = base.cursor;
+ lab3: {
+ base.bra = base.cursor;
+ if (!(base.eq_s("\u0451")))
+ {
+ break lab3;
+ }
+ base.ket = base.cursor;
+ base.cursor = v_3;
+ break golab2;
+ }
+ base.cursor = v_3;
+ if (base.cursor >= base.limit)
+ {
+ break lab1;
+ }
+ base.cursor++;
+ }
+ if (!base.slice_from("\u0435"))
+ {
+ return false;
+ }
+ continue;
+ }
+ base.cursor = v_2;
+ break;
+ }
+ }
+ base.cursor = v_1;
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_6 = base.limit_backward;
+ base.limit_backward = I_pV;
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab4: {
+ lab5: {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab6: {
+ if (!r_perfective_gerund())
+ {
+ break lab6;
+ }
+ break lab5;
+ }
+ base.cursor = base.limit - v_8;
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab7: {
+ if (!r_reflexive())
+ {
+ base.cursor = base.limit - v_9;
+ break lab7;
+ }
+ }
+ lab8: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab9: {
+ if (!r_adjectival())
+ {
+ break lab9;
+ }
+ break lab8;
+ }
+ base.cursor = base.limit - v_10;
+ lab10: {
+ if (!r_verb())
+ {
+ break lab10;
+ }
+ break lab8;
+ }
+ base.cursor = base.limit - v_10;
+ if (!r_noun())
+ {
+ break lab4;
+ }
+ }
+ }
+ }
+ base.cursor = base.limit - v_7;
+ var /** number */ v_11 = base.limit - base.cursor;
+ lab11: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("\u0438")))
+ {
+ base.cursor = base.limit - v_11;
+ break lab11;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ var /** number */ v_12 = base.limit - base.cursor;
+ r_derivational();
+ base.cursor = base.limit - v_12;
+ var /** number */ v_13 = base.limit - base.cursor;
+ r_tidy_up();
+ base.cursor = base.limit - v_13;
+ base.limit_backward = v_6;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/spanish-stemmer.js b/sphinx/search/non-minified-js/spanish-stemmer.js
new file mode 100644
index 0000000..fffd616
--- /dev/null
+++ b/sphinx/search/non-minified-js/spanish-stemmer.js
@@ -0,0 +1,990 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+SpanishStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["", -1, 6],
+ ["\u00E1", 0, 1],
+ ["\u00E9", 0, 2],
+ ["\u00ED", 0, 3],
+ ["\u00F3", 0, 4],
+ ["\u00FA", 0, 5]
+ ];
+
+ /** @const */ var a_1 = [
+ ["la", -1, -1],
+ ["sela", 0, -1],
+ ["le", -1, -1],
+ ["me", -1, -1],
+ ["se", -1, -1],
+ ["lo", -1, -1],
+ ["selo", 5, -1],
+ ["las", -1, -1],
+ ["selas", 7, -1],
+ ["les", -1, -1],
+ ["los", -1, -1],
+ ["selos", 10, -1],
+ ["nos", -1, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ando", -1, 6],
+ ["iendo", -1, 6],
+ ["yendo", -1, 7],
+ ["\u00E1ndo", -1, 2],
+ ["i\u00E9ndo", -1, 1],
+ ["ar", -1, 6],
+ ["er", -1, 6],
+ ["ir", -1, 6],
+ ["\u00E1r", -1, 3],
+ ["\u00E9r", -1, 4],
+ ["\u00EDr", -1, 5]
+ ];
+
+ /** @const */ var a_3 = [
+ ["ic", -1, -1],
+ ["ad", -1, -1],
+ ["os", -1, -1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["able", -1, 1],
+ ["ible", -1, 1],
+ ["ante", -1, 1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["ic", -1, 1],
+ ["abil", -1, 1],
+ ["iv", -1, 1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["ica", -1, 1],
+ ["ancia", -1, 2],
+ ["encia", -1, 5],
+ ["adora", -1, 2],
+ ["osa", -1, 1],
+ ["ista", -1, 1],
+ ["iva", -1, 9],
+ ["anza", -1, 1],
+ ["log\u00EDa", -1, 3],
+ ["idad", -1, 8],
+ ["able", -1, 1],
+ ["ible", -1, 1],
+ ["ante", -1, 2],
+ ["mente", -1, 7],
+ ["amente", 13, 6],
+ ["aci\u00F3n", -1, 2],
+ ["uci\u00F3n", -1, 4],
+ ["ico", -1, 1],
+ ["ismo", -1, 1],
+ ["oso", -1, 1],
+ ["amiento", -1, 1],
+ ["imiento", -1, 1],
+ ["ivo", -1, 9],
+ ["ador", -1, 2],
+ ["icas", -1, 1],
+ ["ancias", -1, 2],
+ ["encias", -1, 5],
+ ["adoras", -1, 2],
+ ["osas", -1, 1],
+ ["istas", -1, 1],
+ ["ivas", -1, 9],
+ ["anzas", -1, 1],
+ ["log\u00EDas", -1, 3],
+ ["idades", -1, 8],
+ ["ables", -1, 1],
+ ["ibles", -1, 1],
+ ["aciones", -1, 2],
+ ["uciones", -1, 4],
+ ["adores", -1, 2],
+ ["antes", -1, 2],
+ ["icos", -1, 1],
+ ["ismos", -1, 1],
+ ["osos", -1, 1],
+ ["amientos", -1, 1],
+ ["imientos", -1, 1],
+ ["ivos", -1, 9]
+ ];
+
+ /** @const */ var a_7 = [
+ ["ya", -1, 1],
+ ["ye", -1, 1],
+ ["yan", -1, 1],
+ ["yen", -1, 1],
+ ["yeron", -1, 1],
+ ["yendo", -1, 1],
+ ["yo", -1, 1],
+ ["yas", -1, 1],
+ ["yes", -1, 1],
+ ["yais", -1, 1],
+ ["yamos", -1, 1],
+ ["y\u00F3", -1, 1]
+ ];
+
+ /** @const */ var a_8 = [
+ ["aba", -1, 2],
+ ["ada", -1, 2],
+ ["ida", -1, 2],
+ ["ara", -1, 2],
+ ["iera", -1, 2],
+ ["\u00EDa", -1, 2],
+ ["ar\u00EDa", 5, 2],
+ ["er\u00EDa", 5, 2],
+ ["ir\u00EDa", 5, 2],
+ ["ad", -1, 2],
+ ["ed", -1, 2],
+ ["id", -1, 2],
+ ["ase", -1, 2],
+ ["iese", -1, 2],
+ ["aste", -1, 2],
+ ["iste", -1, 2],
+ ["an", -1, 2],
+ ["aban", 16, 2],
+ ["aran", 16, 2],
+ ["ieran", 16, 2],
+ ["\u00EDan", 16, 2],
+ ["ar\u00EDan", 20, 2],
+ ["er\u00EDan", 20, 2],
+ ["ir\u00EDan", 20, 2],
+ ["en", -1, 1],
+ ["asen", 24, 2],
+ ["iesen", 24, 2],
+ ["aron", -1, 2],
+ ["ieron", -1, 2],
+ ["ar\u00E1n", -1, 2],
+ ["er\u00E1n", -1, 2],
+ ["ir\u00E1n", -1, 2],
+ ["ado", -1, 2],
+ ["ido", -1, 2],
+ ["ando", -1, 2],
+ ["iendo", -1, 2],
+ ["ar", -1, 2],
+ ["er", -1, 2],
+ ["ir", -1, 2],
+ ["as", -1, 2],
+ ["abas", 39, 2],
+ ["adas", 39, 2],
+ ["idas", 39, 2],
+ ["aras", 39, 2],
+ ["ieras", 39, 2],
+ ["\u00EDas", 39, 2],
+ ["ar\u00EDas", 45, 2],
+ ["er\u00EDas", 45, 2],
+ ["ir\u00EDas", 45, 2],
+ ["es", -1, 1],
+ ["ases", 49, 2],
+ ["ieses", 49, 2],
+ ["abais", -1, 2],
+ ["arais", -1, 2],
+ ["ierais", -1, 2],
+ ["\u00EDais", -1, 2],
+ ["ar\u00EDais", 55, 2],
+ ["er\u00EDais", 55, 2],
+ ["ir\u00EDais", 55, 2],
+ ["aseis", -1, 2],
+ ["ieseis", -1, 2],
+ ["asteis", -1, 2],
+ ["isteis", -1, 2],
+ ["\u00E1is", -1, 2],
+ ["\u00E9is", -1, 1],
+ ["ar\u00E9is", 64, 2],
+ ["er\u00E9is", 64, 2],
+ ["ir\u00E9is", 64, 2],
+ ["ados", -1, 2],
+ ["idos", -1, 2],
+ ["amos", -1, 2],
+ ["\u00E1bamos", 70, 2],
+ ["\u00E1ramos", 70, 2],
+ ["i\u00E9ramos", 70, 2],
+ ["\u00EDamos", 70, 2],
+ ["ar\u00EDamos", 74, 2],
+ ["er\u00EDamos", 74, 2],
+ ["ir\u00EDamos", 74, 2],
+ ["emos", -1, 1],
+ ["aremos", 78, 2],
+ ["eremos", 78, 2],
+ ["iremos", 78, 2],
+ ["\u00E1semos", 78, 2],
+ ["i\u00E9semos", 78, 2],
+ ["imos", -1, 2],
+ ["ar\u00E1s", -1, 2],
+ ["er\u00E1s", -1, 2],
+ ["ir\u00E1s", -1, 2],
+ ["\u00EDs", -1, 2],
+ ["ar\u00E1", -1, 2],
+ ["er\u00E1", -1, 2],
+ ["ir\u00E1", -1, 2],
+ ["ar\u00E9", -1, 2],
+ ["er\u00E9", -1, 2],
+ ["ir\u00E9", -1, 2],
+ ["i\u00F3", -1, 2]
+ ];
+
+ /** @const */ var a_9 = [
+ ["a", -1, 1],
+ ["e", -1, 2],
+ ["o", -1, 1],
+ ["os", -1, 1],
+ ["\u00E1", -1, 1],
+ ["\u00E9", -1, 2],
+ ["\u00ED", -1, 1],
+ ["\u00F3", -1, 1]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 17, 4, 10];
+
+ var /** number */ I_p2 = 0;
+ var /** number */ I_p1 = 0;
+ var /** number */ I_pV = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_pV = base.limit;
+ I_p1 = base.limit;
+ I_p2 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_2 = base.cursor;
+ lab2: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab2;
+ }
+ lab3: {
+ var /** number */ v_3 = base.cursor;
+ lab4: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab4;
+ }
+ golab5: while(true)
+ {
+ lab6: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab6;
+ }
+ break golab5;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab4;
+ }
+ base.cursor++;
+ }
+ break lab3;
+ }
+ base.cursor = v_3;
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab2;
+ }
+ golab7: while(true)
+ {
+ lab8: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab8;
+ }
+ break golab7;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab2;
+ }
+ base.cursor++;
+ }
+ }
+ break lab1;
+ }
+ base.cursor = v_2;
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab0;
+ }
+ lab9: {
+ var /** number */ v_6 = base.cursor;
+ lab10: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab10;
+ }
+ golab11: while(true)
+ {
+ lab12: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab12;
+ }
+ break golab11;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab10;
+ }
+ base.cursor++;
+ }
+ break lab9;
+ }
+ base.cursor = v_6;
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab0;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ }
+ I_pV = base.cursor;
+ }
+ base.cursor = v_1;
+ var /** number */ v_8 = base.cursor;
+ lab13: {
+ golab14: while(true)
+ {
+ lab15: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab15;
+ }
+ break golab14;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab16: while(true)
+ {
+ lab17: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab17;
+ }
+ break golab16;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ golab18: while(true)
+ {
+ lab19: {
+ if (!(base.in_grouping(g_v, 97, 252)))
+ {
+ break lab19;
+ }
+ break golab18;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ golab20: while(true)
+ {
+ lab21: {
+ if (!(base.out_grouping(g_v, 97, 252)))
+ {
+ break lab21;
+ }
+ break golab20;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab13;
+ }
+ base.cursor++;
+ }
+ I_p2 = base.cursor;
+ }
+ base.cursor = v_8;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ var /** number */ among_var;
+ while(true)
+ {
+ var /** number */ v_1 = base.cursor;
+ lab0: {
+ base.bra = base.cursor;
+ among_var = base.find_among(a_0);
+ if (among_var == 0)
+ {
+ break lab0;
+ }
+ base.ket = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("a"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("e"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("i"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("o"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ break;
+ }
+ continue;
+ }
+ base.cursor = v_1;
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_RV() {
+ if (!(I_pV <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R1() {
+ if (!(I_p1 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_R2() {
+ if (!(I_p2 <= base.cursor))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_attached_pronoun() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_1) == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ if (!r_RV())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ base.bra = base.cursor;
+ if (!base.slice_from("iendo"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ base.bra = base.cursor;
+ if (!base.slice_from("ando"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ base.bra = base.cursor;
+ if (!base.slice_from("ar"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ base.bra = base.cursor;
+ if (!base.slice_from("er"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ base.bra = base.cursor;
+ if (!base.slice_from("ir"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 7:
+ if (!(base.eq_s_b("u")))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_standard_suffix() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_6);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("ic")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 3:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("log"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("u"))
+ {
+ return false;
+ }
+ break;
+ case 5:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_from("ente"))
+ {
+ return false;
+ }
+ break;
+ case 6:
+ if (!r_R1())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_3);
+ if (among_var == 0)
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ switch (among_var) {
+ case 1:
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_2;
+ break lab1;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ }
+ break;
+ case 7:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_4) == 0)
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_3;
+ break lab2;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 8:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab3: {
+ base.ket = base.cursor;
+ if (base.find_among_b(a_5) == 0)
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_4;
+ break lab3;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ case 9:
+ if (!r_R2())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab4: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("at")))
+ {
+ base.cursor = base.limit - v_5;
+ break lab4;
+ }
+ base.bra = base.cursor;
+ if (!r_R2())
+ {
+ base.cursor = base.limit - v_5;
+ break lab4;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_y_verb_suffix() {
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ if (base.find_among_b(a_7) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ if (!(base.eq_s_b("u")))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_verb_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_pV)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_pV;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_8);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("u")))
+ {
+ base.cursor = base.limit - v_3;
+ break lab0;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!(base.eq_s_b("g")))
+ {
+ base.cursor = base.limit - v_3;
+ break lab0;
+ }
+ base.cursor = base.limit - v_4;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_residual_suffix() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_9);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!r_RV())
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ base.ket = base.cursor;
+ if (!(base.eq_s_b("u")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.bra = base.cursor;
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.eq_s_b("g")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ base.cursor = base.limit - v_2;
+ if (!r_RV())
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ }
+ break;
+ }
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ r_mark_regions();
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_attached_pronoun();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab0: {
+ lab1: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab2: {
+ if (!r_standard_suffix())
+ {
+ break lab2;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_4;
+ lab3: {
+ if (!r_y_verb_suffix())
+ {
+ break lab3;
+ }
+ break lab1;
+ }
+ base.cursor = base.limit - v_4;
+ if (!r_verb_suffix())
+ {
+ break lab0;
+ }
+ }
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_5 = base.limit - base.cursor;
+ r_residual_suffix();
+ base.cursor = base.limit - v_5;
+ base.cursor = base.limit_backward;
+ var /** number */ v_6 = base.cursor;
+ r_postlude();
+ base.cursor = v_6;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/swedish-stemmer.js b/sphinx/search/non-minified-js/swedish-stemmer.js
new file mode 100644
index 0000000..4d7d49f
--- /dev/null
+++ b/sphinx/search/non-minified-js/swedish-stemmer.js
@@ -0,0 +1,265 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+SwedishStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["a", -1, 1],
+ ["arna", 0, 1],
+ ["erna", 0, 1],
+ ["heterna", 2, 1],
+ ["orna", 0, 1],
+ ["ad", -1, 1],
+ ["e", -1, 1],
+ ["ade", 6, 1],
+ ["ande", 6, 1],
+ ["arne", 6, 1],
+ ["are", 6, 1],
+ ["aste", 6, 1],
+ ["en", -1, 1],
+ ["anden", 12, 1],
+ ["aren", 12, 1],
+ ["heten", 12, 1],
+ ["ern", -1, 1],
+ ["ar", -1, 1],
+ ["er", -1, 1],
+ ["heter", 18, 1],
+ ["or", -1, 1],
+ ["s", -1, 2],
+ ["as", 21, 1],
+ ["arnas", 22, 1],
+ ["ernas", 22, 1],
+ ["ornas", 22, 1],
+ ["es", 21, 1],
+ ["ades", 26, 1],
+ ["andes", 26, 1],
+ ["ens", 21, 1],
+ ["arens", 29, 1],
+ ["hetens", 29, 1],
+ ["erns", 21, 1],
+ ["at", -1, 1],
+ ["andet", -1, 1],
+ ["het", -1, 1],
+ ["ast", -1, 1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["dd", -1, -1],
+ ["gd", -1, -1],
+ ["nn", -1, -1],
+ ["dt", -1, -1],
+ ["gt", -1, -1],
+ ["kt", -1, -1],
+ ["tt", -1, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ig", -1, 1],
+ ["lig", 0, 1],
+ ["els", -1, 1],
+ ["fullt", -1, 3],
+ ["l\u00F6st", -1, 2]
+ ];
+
+ /** @const */ var /** Array<int> */ g_v = [17, 65, 16, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 0, 32];
+
+ /** @const */ var /** Array<int> */ g_s_ending = [119, 127, 149];
+
+ var /** number */ I_x = 0;
+ var /** number */ I_p1 = 0;
+
+
+ /** @return {boolean} */
+ function r_mark_regions() {
+ I_p1 = base.limit;
+ var /** number */ v_1 = base.cursor;
+ {
+ var /** number */ c1 = base.cursor + 3;
+ if (c1 > base.limit)
+ {
+ return false;
+ }
+ base.cursor = c1;
+ }
+ I_x = base.cursor;
+ base.cursor = v_1;
+ golab0: while(true)
+ {
+ var /** number */ v_2 = base.cursor;
+ lab1: {
+ if (!(base.in_grouping(g_v, 97, 246)))
+ {
+ break lab1;
+ }
+ base.cursor = v_2;
+ break golab0;
+ }
+ base.cursor = v_2;
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ golab2: while(true)
+ {
+ lab3: {
+ if (!(base.out_grouping(g_v, 97, 246)))
+ {
+ break lab3;
+ }
+ break golab2;
+ }
+ if (base.cursor >= base.limit)
+ {
+ return false;
+ }
+ base.cursor++;
+ }
+ I_p1 = base.cursor;
+ lab4: {
+ if (!(I_p1 < I_x))
+ {
+ break lab4;
+ }
+ I_p1 = I_x;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_main_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_0);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ base.limit_backward = v_2;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!(base.in_grouping_b(g_s_ending, 98, 121)))
+ {
+ return false;
+ }
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_consonant_pair() {
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ var /** number */ v_3 = base.limit - base.cursor;
+ if (base.find_among_b(a_1) == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ base.ket = base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.cursor--;
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_other_suffix() {
+ var /** number */ among_var;
+ if (base.cursor < I_p1)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit_backward;
+ base.limit_backward = I_p1;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_2);
+ if (among_var == 0)
+ {
+ base.limit_backward = v_2;
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("l\u00F6s"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("full"))
+ {
+ return false;
+ }
+ break;
+ }
+ base.limit_backward = v_2;
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ var /** number */ v_1 = base.cursor;
+ r_mark_regions();
+ base.cursor = v_1;
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_main_suffix();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_consonant_pair();
+ base.cursor = base.limit - v_3;
+ var /** number */ v_4 = base.limit - base.cursor;
+ r_other_suffix();
+ base.cursor = base.limit - v_4;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};
diff --git a/sphinx/search/non-minified-js/turkish-stemmer.js b/sphinx/search/non-minified-js/turkish-stemmer.js
new file mode 100644
index 0000000..8ba74b9
--- /dev/null
+++ b/sphinx/search/non-minified-js/turkish-stemmer.js
@@ -0,0 +1,2439 @@
+// Generated by Snowball 2.1.0 - https://snowballstem.org/
+
+/**@constructor*/
+TurkishStemmer = function() {
+ var base = new BaseStemmer();
+ /** @const */ var a_0 = [
+ ["m", -1, -1],
+ ["n", -1, -1],
+ ["miz", -1, -1],
+ ["niz", -1, -1],
+ ["muz", -1, -1],
+ ["nuz", -1, -1],
+ ["m\u00FCz", -1, -1],
+ ["n\u00FCz", -1, -1],
+ ["m\u0131z", -1, -1],
+ ["n\u0131z", -1, -1]
+ ];
+
+ /** @const */ var a_1 = [
+ ["leri", -1, -1],
+ ["lar\u0131", -1, -1]
+ ];
+
+ /** @const */ var a_2 = [
+ ["ni", -1, -1],
+ ["nu", -1, -1],
+ ["n\u00FC", -1, -1],
+ ["n\u0131", -1, -1]
+ ];
+
+ /** @const */ var a_3 = [
+ ["in", -1, -1],
+ ["un", -1, -1],
+ ["\u00FCn", -1, -1],
+ ["\u0131n", -1, -1]
+ ];
+
+ /** @const */ var a_4 = [
+ ["a", -1, -1],
+ ["e", -1, -1]
+ ];
+
+ /** @const */ var a_5 = [
+ ["na", -1, -1],
+ ["ne", -1, -1]
+ ];
+
+ /** @const */ var a_6 = [
+ ["da", -1, -1],
+ ["ta", -1, -1],
+ ["de", -1, -1],
+ ["te", -1, -1]
+ ];
+
+ /** @const */ var a_7 = [
+ ["nda", -1, -1],
+ ["nde", -1, -1]
+ ];
+
+ /** @const */ var a_8 = [
+ ["dan", -1, -1],
+ ["tan", -1, -1],
+ ["den", -1, -1],
+ ["ten", -1, -1]
+ ];
+
+ /** @const */ var a_9 = [
+ ["ndan", -1, -1],
+ ["nden", -1, -1]
+ ];
+
+ /** @const */ var a_10 = [
+ ["la", -1, -1],
+ ["le", -1, -1]
+ ];
+
+ /** @const */ var a_11 = [
+ ["ca", -1, -1],
+ ["ce", -1, -1]
+ ];
+
+ /** @const */ var a_12 = [
+ ["im", -1, -1],
+ ["um", -1, -1],
+ ["\u00FCm", -1, -1],
+ ["\u0131m", -1, -1]
+ ];
+
+ /** @const */ var a_13 = [
+ ["sin", -1, -1],
+ ["sun", -1, -1],
+ ["s\u00FCn", -1, -1],
+ ["s\u0131n", -1, -1]
+ ];
+
+ /** @const */ var a_14 = [
+ ["iz", -1, -1],
+ ["uz", -1, -1],
+ ["\u00FCz", -1, -1],
+ ["\u0131z", -1, -1]
+ ];
+
+ /** @const */ var a_15 = [
+ ["siniz", -1, -1],
+ ["sunuz", -1, -1],
+ ["s\u00FCn\u00FCz", -1, -1],
+ ["s\u0131n\u0131z", -1, -1]
+ ];
+
+ /** @const */ var a_16 = [
+ ["lar", -1, -1],
+ ["ler", -1, -1]
+ ];
+
+ /** @const */ var a_17 = [
+ ["niz", -1, -1],
+ ["nuz", -1, -1],
+ ["n\u00FCz", -1, -1],
+ ["n\u0131z", -1, -1]
+ ];
+
+ /** @const */ var a_18 = [
+ ["dir", -1, -1],
+ ["tir", -1, -1],
+ ["dur", -1, -1],
+ ["tur", -1, -1],
+ ["d\u00FCr", -1, -1],
+ ["t\u00FCr", -1, -1],
+ ["d\u0131r", -1, -1],
+ ["t\u0131r", -1, -1]
+ ];
+
+ /** @const */ var a_19 = [
+ ["cas\u0131na", -1, -1],
+ ["cesine", -1, -1]
+ ];
+
+ /** @const */ var a_20 = [
+ ["di", -1, -1],
+ ["ti", -1, -1],
+ ["dik", -1, -1],
+ ["tik", -1, -1],
+ ["duk", -1, -1],
+ ["tuk", -1, -1],
+ ["d\u00FCk", -1, -1],
+ ["t\u00FCk", -1, -1],
+ ["d\u0131k", -1, -1],
+ ["t\u0131k", -1, -1],
+ ["dim", -1, -1],
+ ["tim", -1, -1],
+ ["dum", -1, -1],
+ ["tum", -1, -1],
+ ["d\u00FCm", -1, -1],
+ ["t\u00FCm", -1, -1],
+ ["d\u0131m", -1, -1],
+ ["t\u0131m", -1, -1],
+ ["din", -1, -1],
+ ["tin", -1, -1],
+ ["dun", -1, -1],
+ ["tun", -1, -1],
+ ["d\u00FCn", -1, -1],
+ ["t\u00FCn", -1, -1],
+ ["d\u0131n", -1, -1],
+ ["t\u0131n", -1, -1],
+ ["du", -1, -1],
+ ["tu", -1, -1],
+ ["d\u00FC", -1, -1],
+ ["t\u00FC", -1, -1],
+ ["d\u0131", -1, -1],
+ ["t\u0131", -1, -1]
+ ];
+
+ /** @const */ var a_21 = [
+ ["sa", -1, -1],
+ ["se", -1, -1],
+ ["sak", -1, -1],
+ ["sek", -1, -1],
+ ["sam", -1, -1],
+ ["sem", -1, -1],
+ ["san", -1, -1],
+ ["sen", -1, -1]
+ ];
+
+ /** @const */ var a_22 = [
+ ["mi\u015F", -1, -1],
+ ["mu\u015F", -1, -1],
+ ["m\u00FC\u015F", -1, -1],
+ ["m\u0131\u015F", -1, -1]
+ ];
+
+ /** @const */ var a_23 = [
+ ["b", -1, 1],
+ ["c", -1, 2],
+ ["d", -1, 3],
+ ["\u011F", -1, 4]
+ ];
+
+ /** @const */ var /** Array<int> */ g_vowel = [17, 65, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 8, 0, 0, 0, 0, 0, 0, 1];
+
+ /** @const */ var /** Array<int> */ g_U = [1, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 0, 0, 0, 0, 0, 0, 1];
+
+ /** @const */ var /** Array<int> */ g_vowel1 = [1, 64, 16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
+
+ /** @const */ var /** Array<int> */ g_vowel2 = [17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 130];
+
+ /** @const */ var /** Array<int> */ g_vowel3 = [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1];
+
+ /** @const */ var /** Array<int> */ g_vowel4 = [17];
+
+ /** @const */ var /** Array<int> */ g_vowel5 = [65];
+
+ /** @const */ var /** Array<int> */ g_vowel6 = [65];
+
+ var /** boolean */ B_continue_stemming_noun_suffixes = false;
+
+
+ /** @return {boolean} */
+ function r_check_vowel_harmony() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ golab0: while(true)
+ {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break golab0;
+ }
+ base.cursor = base.limit - v_2;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ lab2: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab3: {
+ if (!(base.eq_s_b("a")))
+ {
+ break lab3;
+ }
+ golab4: while(true)
+ {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab5: {
+ if (!(base.in_grouping_b(g_vowel1, 97, 305)))
+ {
+ break lab5;
+ }
+ base.cursor = base.limit - v_4;
+ break golab4;
+ }
+ base.cursor = base.limit - v_4;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab3;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab6: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab6;
+ }
+ golab7: while(true)
+ {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab8: {
+ if (!(base.in_grouping_b(g_vowel2, 101, 252)))
+ {
+ break lab8;
+ }
+ base.cursor = base.limit - v_5;
+ break golab7;
+ }
+ base.cursor = base.limit - v_5;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab6;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab9: {
+ if (!(base.eq_s_b("\u0131")))
+ {
+ break lab9;
+ }
+ golab10: while(true)
+ {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab11: {
+ if (!(base.in_grouping_b(g_vowel3, 97, 305)))
+ {
+ break lab11;
+ }
+ base.cursor = base.limit - v_6;
+ break golab10;
+ }
+ base.cursor = base.limit - v_6;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab9;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab12: {
+ if (!(base.eq_s_b("i")))
+ {
+ break lab12;
+ }
+ golab13: while(true)
+ {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab14: {
+ if (!(base.in_grouping_b(g_vowel4, 101, 105)))
+ {
+ break lab14;
+ }
+ base.cursor = base.limit - v_7;
+ break golab13;
+ }
+ base.cursor = base.limit - v_7;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab12;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab15: {
+ if (!(base.eq_s_b("o")))
+ {
+ break lab15;
+ }
+ golab16: while(true)
+ {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab17: {
+ if (!(base.in_grouping_b(g_vowel5, 111, 117)))
+ {
+ break lab17;
+ }
+ base.cursor = base.limit - v_8;
+ break golab16;
+ }
+ base.cursor = base.limit - v_8;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab15;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab18: {
+ if (!(base.eq_s_b("\u00F6")))
+ {
+ break lab18;
+ }
+ golab19: while(true)
+ {
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab20: {
+ if (!(base.in_grouping_b(g_vowel6, 246, 252)))
+ {
+ break lab20;
+ }
+ base.cursor = base.limit - v_9;
+ break golab19;
+ }
+ base.cursor = base.limit - v_9;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab18;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab21: {
+ if (!(base.eq_s_b("u")))
+ {
+ break lab21;
+ }
+ golab22: while(true)
+ {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab23: {
+ if (!(base.in_grouping_b(g_vowel5, 111, 117)))
+ {
+ break lab23;
+ }
+ base.cursor = base.limit - v_10;
+ break golab22;
+ }
+ base.cursor = base.limit - v_10;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab21;
+ }
+ base.cursor--;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ if (!(base.eq_s_b("\u00FC")))
+ {
+ return false;
+ }
+ golab24: while(true)
+ {
+ var /** number */ v_11 = base.limit - base.cursor;
+ lab25: {
+ if (!(base.in_grouping_b(g_vowel6, 246, 252)))
+ {
+ break lab25;
+ }
+ base.cursor = base.limit - v_11;
+ break golab24;
+ }
+ base.cursor = base.limit - v_11;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ }
+ base.cursor = base.limit - v_1;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_suffix_with_optional_n_consonant() {
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("n")))
+ {
+ break lab1;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!(base.eq_s_b("n")))
+ {
+ break lab2;
+ }
+ base.cursor = base.limit - v_4;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_5;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_suffix_with_optional_s_consonant() {
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("s")))
+ {
+ break lab1;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!(base.eq_s_b("s")))
+ {
+ break lab2;
+ }
+ base.cursor = base.limit - v_4;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_5;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_suffix_with_optional_y_consonant() {
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("y")))
+ {
+ break lab1;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!(base.eq_s_b("y")))
+ {
+ break lab2;
+ }
+ base.cursor = base.limit - v_4;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_5;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_suffix_with_optional_U_vowel() {
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.in_grouping_b(g_U, 105, 305)))
+ {
+ break lab1;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ if (!(base.out_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab1;
+ }
+ base.cursor = base.limit - v_2;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab2: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ if (!(base.in_grouping_b(g_U, 105, 305)))
+ {
+ break lab2;
+ }
+ base.cursor = base.limit - v_4;
+ return false;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ if (!(base.out_grouping_b(g_vowel, 97, 305)))
+ {
+ return false;
+ }
+ base.cursor = base.limit - v_5;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_possessives() {
+ if (base.find_among_b(a_0) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_U_vowel())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_sU() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (!(base.in_grouping_b(g_U, 105, 305)))
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_s_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_lArI() {
+ if (base.find_among_b(a_1) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yU() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (!(base.in_grouping_b(g_U, 105, 305)))
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_nU() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_2) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_nUn() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_3) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_n_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_4) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_nA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_5) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_DA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_6) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ndA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_7) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_DAn() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_8) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ndAn() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_9) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ylA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_10) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ki() {
+ if (!(base.eq_s_b("ki")))
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ncA() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_11) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_n_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yUm() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_12) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_sUn() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_13) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yUz() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_14) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_sUnUz() {
+ if (base.find_among_b(a_15) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_lAr() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_16) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_nUz() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_17) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_DUr() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_18) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_cAsInA() {
+ if (base.find_among_b(a_19) == 0)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yDU() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_20) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ysA() {
+ if (base.find_among_b(a_21) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_ymUs_() {
+ if (!r_check_vowel_harmony())
+ {
+ return false;
+ }
+ if (base.find_among_b(a_22) == 0)
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_mark_yken() {
+ if (!(base.eq_s_b("ken")))
+ {
+ return false;
+ }
+ if (!r_mark_suffix_with_optional_y_consonant())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_stem_nominal_verb_suffixes() {
+ base.ket = base.cursor;
+ B_continue_stemming_noun_suffixes = true;
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ lab2: {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab3: {
+ if (!r_mark_ymUs_())
+ {
+ break lab3;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_2;
+ lab4: {
+ if (!r_mark_yDU())
+ {
+ break lab4;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_2;
+ lab5: {
+ if (!r_mark_ysA())
+ {
+ break lab5;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_2;
+ if (!r_mark_yken())
+ {
+ break lab1;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab6: {
+ if (!r_mark_cAsInA())
+ {
+ break lab6;
+ }
+ lab7: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab8: {
+ if (!r_mark_sUnUz())
+ {
+ break lab8;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_3;
+ lab9: {
+ if (!r_mark_lAr())
+ {
+ break lab9;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_3;
+ lab10: {
+ if (!r_mark_yUm())
+ {
+ break lab10;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_3;
+ lab11: {
+ if (!r_mark_sUn())
+ {
+ break lab11;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_3;
+ lab12: {
+ if (!r_mark_yUz())
+ {
+ break lab12;
+ }
+ break lab7;
+ }
+ base.cursor = base.limit - v_3;
+ }
+ if (!r_mark_ymUs_())
+ {
+ break lab6;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab13: {
+ if (!r_mark_lAr())
+ {
+ break lab13;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab14: {
+ base.ket = base.cursor;
+ lab15: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab16: {
+ if (!r_mark_DUr())
+ {
+ break lab16;
+ }
+ break lab15;
+ }
+ base.cursor = base.limit - v_5;
+ lab17: {
+ if (!r_mark_yDU())
+ {
+ break lab17;
+ }
+ break lab15;
+ }
+ base.cursor = base.limit - v_5;
+ lab18: {
+ if (!r_mark_ysA())
+ {
+ break lab18;
+ }
+ break lab15;
+ }
+ base.cursor = base.limit - v_5;
+ if (!r_mark_ymUs_())
+ {
+ base.cursor = base.limit - v_4;
+ break lab14;
+ }
+ }
+ }
+ B_continue_stemming_noun_suffixes = false;
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab19: {
+ if (!r_mark_nUz())
+ {
+ break lab19;
+ }
+ lab20: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab21: {
+ if (!r_mark_yDU())
+ {
+ break lab21;
+ }
+ break lab20;
+ }
+ base.cursor = base.limit - v_6;
+ if (!r_mark_ysA())
+ {
+ break lab19;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab22: {
+ lab23: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab24: {
+ if (!r_mark_sUnUz())
+ {
+ break lab24;
+ }
+ break lab23;
+ }
+ base.cursor = base.limit - v_7;
+ lab25: {
+ if (!r_mark_yUz())
+ {
+ break lab25;
+ }
+ break lab23;
+ }
+ base.cursor = base.limit - v_7;
+ lab26: {
+ if (!r_mark_sUn())
+ {
+ break lab26;
+ }
+ break lab23;
+ }
+ base.cursor = base.limit - v_7;
+ if (!r_mark_yUm())
+ {
+ break lab22;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab27: {
+ base.ket = base.cursor;
+ if (!r_mark_ymUs_())
+ {
+ base.cursor = base.limit - v_8;
+ break lab27;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!r_mark_DUr())
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab28: {
+ base.ket = base.cursor;
+ lab29: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab30: {
+ if (!r_mark_sUnUz())
+ {
+ break lab30;
+ }
+ break lab29;
+ }
+ base.cursor = base.limit - v_10;
+ lab31: {
+ if (!r_mark_lAr())
+ {
+ break lab31;
+ }
+ break lab29;
+ }
+ base.cursor = base.limit - v_10;
+ lab32: {
+ if (!r_mark_yUm())
+ {
+ break lab32;
+ }
+ break lab29;
+ }
+ base.cursor = base.limit - v_10;
+ lab33: {
+ if (!r_mark_sUn())
+ {
+ break lab33;
+ }
+ break lab29;
+ }
+ base.cursor = base.limit - v_10;
+ lab34: {
+ if (!r_mark_yUz())
+ {
+ break lab34;
+ }
+ break lab29;
+ }
+ base.cursor = base.limit - v_10;
+ }
+ if (!r_mark_ymUs_())
+ {
+ base.cursor = base.limit - v_9;
+ break lab28;
+ }
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_stem_suffix_chain_before_ki() {
+ base.ket = base.cursor;
+ if (!r_mark_ki())
+ {
+ return false;
+ }
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ if (!r_mark_DA())
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab2: {
+ base.ket = base.cursor;
+ lab3: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab4: {
+ if (!r_mark_lAr())
+ {
+ break lab4;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab5: {
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_4;
+ break lab5;
+ }
+ }
+ break lab3;
+ }
+ base.cursor = base.limit - v_3;
+ if (!r_mark_possessives())
+ {
+ base.cursor = base.limit - v_2;
+ break lab2;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab6: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_5;
+ break lab6;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_5;
+ break lab6;
+ }
+ }
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab7: {
+ if (!r_mark_nUn())
+ {
+ break lab7;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab8: {
+ base.ket = base.cursor;
+ lab9: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab10: {
+ if (!r_mark_lArI())
+ {
+ break lab10;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab9;
+ }
+ base.cursor = base.limit - v_7;
+ lab11: {
+ base.ket = base.cursor;
+ lab12: {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab13: {
+ if (!r_mark_possessives())
+ {
+ break lab13;
+ }
+ break lab12;
+ }
+ base.cursor = base.limit - v_8;
+ if (!r_mark_sU())
+ {
+ break lab11;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab14: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_9;
+ break lab14;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_9;
+ break lab14;
+ }
+ }
+ break lab9;
+ }
+ base.cursor = base.limit - v_7;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_6;
+ break lab8;
+ }
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ if (!r_mark_ndA())
+ {
+ return false;
+ }
+ lab15: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab16: {
+ if (!r_mark_lArI())
+ {
+ break lab16;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab15;
+ }
+ base.cursor = base.limit - v_10;
+ lab17: {
+ if (!r_mark_sU())
+ {
+ break lab17;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_11 = base.limit - base.cursor;
+ lab18: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_11;
+ break lab18;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_11;
+ break lab18;
+ }
+ }
+ break lab15;
+ }
+ base.cursor = base.limit - v_10;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ return false;
+ }
+ }
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_stem_noun_suffixes() {
+ lab0: {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab1: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ break lab1;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab2: {
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_2;
+ break lab2;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab3: {
+ base.ket = base.cursor;
+ if (!r_mark_ncA())
+ {
+ break lab3;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab4: {
+ lab5: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ lab6: {
+ base.ket = base.cursor;
+ if (!r_mark_lArI())
+ {
+ break lab6;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab5;
+ }
+ base.cursor = base.limit - v_4;
+ lab7: {
+ base.ket = base.cursor;
+ lab8: {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab9: {
+ if (!r_mark_possessives())
+ {
+ break lab9;
+ }
+ break lab8;
+ }
+ base.cursor = base.limit - v_5;
+ if (!r_mark_sU())
+ {
+ break lab7;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab10: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_6;
+ break lab10;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_6;
+ break lab10;
+ }
+ }
+ break lab5;
+ }
+ base.cursor = base.limit - v_4;
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_3;
+ break lab4;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_3;
+ break lab4;
+ }
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab11: {
+ base.ket = base.cursor;
+ lab12: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ lab13: {
+ if (!r_mark_ndA())
+ {
+ break lab13;
+ }
+ break lab12;
+ }
+ base.cursor = base.limit - v_7;
+ if (!r_mark_nA())
+ {
+ break lab11;
+ }
+ }
+ lab14: {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab15: {
+ if (!r_mark_lArI())
+ {
+ break lab15;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab14;
+ }
+ base.cursor = base.limit - v_8;
+ lab16: {
+ if (!r_mark_sU())
+ {
+ break lab16;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab17: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_9;
+ break lab17;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_9;
+ break lab17;
+ }
+ }
+ break lab14;
+ }
+ base.cursor = base.limit - v_8;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ break lab11;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab18: {
+ base.ket = base.cursor;
+ lab19: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ lab20: {
+ if (!r_mark_ndAn())
+ {
+ break lab20;
+ }
+ break lab19;
+ }
+ base.cursor = base.limit - v_10;
+ if (!r_mark_nU())
+ {
+ break lab18;
+ }
+ }
+ lab21: {
+ var /** number */ v_11 = base.limit - base.cursor;
+ lab22: {
+ if (!r_mark_sU())
+ {
+ break lab22;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_12 = base.limit - base.cursor;
+ lab23: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_12;
+ break lab23;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_12;
+ break lab23;
+ }
+ }
+ break lab21;
+ }
+ base.cursor = base.limit - v_11;
+ if (!r_mark_lArI())
+ {
+ break lab18;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab24: {
+ base.ket = base.cursor;
+ if (!r_mark_DAn())
+ {
+ break lab24;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_13 = base.limit - base.cursor;
+ lab25: {
+ base.ket = base.cursor;
+ lab26: {
+ var /** number */ v_14 = base.limit - base.cursor;
+ lab27: {
+ if (!r_mark_possessives())
+ {
+ break lab27;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_15 = base.limit - base.cursor;
+ lab28: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_15;
+ break lab28;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_15;
+ break lab28;
+ }
+ }
+ break lab26;
+ }
+ base.cursor = base.limit - v_14;
+ lab29: {
+ if (!r_mark_lAr())
+ {
+ break lab29;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_16 = base.limit - base.cursor;
+ lab30: {
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_16;
+ break lab30;
+ }
+ }
+ break lab26;
+ }
+ base.cursor = base.limit - v_14;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_13;
+ break lab25;
+ }
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab31: {
+ base.ket = base.cursor;
+ lab32: {
+ var /** number */ v_17 = base.limit - base.cursor;
+ lab33: {
+ if (!r_mark_nUn())
+ {
+ break lab33;
+ }
+ break lab32;
+ }
+ base.cursor = base.limit - v_17;
+ if (!r_mark_ylA())
+ {
+ break lab31;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_18 = base.limit - base.cursor;
+ lab34: {
+ lab35: {
+ var /** number */ v_19 = base.limit - base.cursor;
+ lab36: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ break lab36;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ break lab36;
+ }
+ break lab35;
+ }
+ base.cursor = base.limit - v_19;
+ lab37: {
+ base.ket = base.cursor;
+ lab38: {
+ var /** number */ v_20 = base.limit - base.cursor;
+ lab39: {
+ if (!r_mark_possessives())
+ {
+ break lab39;
+ }
+ break lab38;
+ }
+ base.cursor = base.limit - v_20;
+ if (!r_mark_sU())
+ {
+ break lab37;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_21 = base.limit - base.cursor;
+ lab40: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_21;
+ break lab40;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_21;
+ break lab40;
+ }
+ }
+ break lab35;
+ }
+ base.cursor = base.limit - v_19;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_18;
+ break lab34;
+ }
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab41: {
+ base.ket = base.cursor;
+ if (!r_mark_lArI())
+ {
+ break lab41;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab42: {
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ break lab42;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ lab43: {
+ base.ket = base.cursor;
+ lab44: {
+ var /** number */ v_22 = base.limit - base.cursor;
+ lab45: {
+ if (!r_mark_DA())
+ {
+ break lab45;
+ }
+ break lab44;
+ }
+ base.cursor = base.limit - v_22;
+ lab46: {
+ if (!r_mark_yU())
+ {
+ break lab46;
+ }
+ break lab44;
+ }
+ base.cursor = base.limit - v_22;
+ if (!r_mark_yA())
+ {
+ break lab43;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_23 = base.limit - base.cursor;
+ lab47: {
+ base.ket = base.cursor;
+ lab48: {
+ var /** number */ v_24 = base.limit - base.cursor;
+ lab49: {
+ if (!r_mark_possessives())
+ {
+ break lab49;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_25 = base.limit - base.cursor;
+ lab50: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_25;
+ break lab50;
+ }
+ }
+ break lab48;
+ }
+ base.cursor = base.limit - v_24;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_23;
+ break lab47;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ base.ket = base.cursor;
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_23;
+ break lab47;
+ }
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_1;
+ base.ket = base.cursor;
+ lab51: {
+ var /** number */ v_26 = base.limit - base.cursor;
+ lab52: {
+ if (!r_mark_possessives())
+ {
+ break lab52;
+ }
+ break lab51;
+ }
+ base.cursor = base.limit - v_26;
+ if (!r_mark_sU())
+ {
+ return false;
+ }
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ var /** number */ v_27 = base.limit - base.cursor;
+ lab53: {
+ base.ket = base.cursor;
+ if (!r_mark_lAr())
+ {
+ base.cursor = base.limit - v_27;
+ break lab53;
+ }
+ base.bra = base.cursor;
+ if (!base.slice_del())
+ {
+ return false;
+ }
+ if (!r_stem_suffix_chain_before_ki())
+ {
+ base.cursor = base.limit - v_27;
+ break lab53;
+ }
+ }
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_post_process_last_consonants() {
+ var /** number */ among_var;
+ base.ket = base.cursor;
+ among_var = base.find_among_b(a_23);
+ if (among_var == 0)
+ {
+ return false;
+ }
+ base.bra = base.cursor;
+ switch (among_var) {
+ case 1:
+ if (!base.slice_from("p"))
+ {
+ return false;
+ }
+ break;
+ case 2:
+ if (!base.slice_from("\u00E7"))
+ {
+ return false;
+ }
+ break;
+ case 3:
+ if (!base.slice_from("t"))
+ {
+ return false;
+ }
+ break;
+ case 4:
+ if (!base.slice_from("k"))
+ {
+ return false;
+ }
+ break;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_append_U_to_stems_ending_with_d_or_g() {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ var /** number */ v_2 = base.limit - base.cursor;
+ lab1: {
+ if (!(base.eq_s_b("d")))
+ {
+ break lab1;
+ }
+ break lab0;
+ }
+ base.cursor = base.limit - v_2;
+ if (!(base.eq_s_b("g")))
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_1;
+ lab2: {
+ var /** number */ v_3 = base.limit - base.cursor;
+ lab3: {
+ var /** number */ v_4 = base.limit - base.cursor;
+ golab4: while(true)
+ {
+ var /** number */ v_5 = base.limit - base.cursor;
+ lab5: {
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab5;
+ }
+ base.cursor = base.limit - v_5;
+ break golab4;
+ }
+ base.cursor = base.limit - v_5;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab3;
+ }
+ base.cursor--;
+ }
+ lab6: {
+ var /** number */ v_6 = base.limit - base.cursor;
+ lab7: {
+ if (!(base.eq_s_b("a")))
+ {
+ break lab7;
+ }
+ break lab6;
+ }
+ base.cursor = base.limit - v_6;
+ if (!(base.eq_s_b("\u0131")))
+ {
+ break lab3;
+ }
+ }
+ base.cursor = base.limit - v_4;
+ {
+ var /** number */ c1 = base.cursor;
+ base.insert(base.cursor, base.cursor, "\u0131");
+ base.cursor = c1;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab8: {
+ var /** number */ v_7 = base.limit - base.cursor;
+ golab9: while(true)
+ {
+ var /** number */ v_8 = base.limit - base.cursor;
+ lab10: {
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab10;
+ }
+ base.cursor = base.limit - v_8;
+ break golab9;
+ }
+ base.cursor = base.limit - v_8;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab8;
+ }
+ base.cursor--;
+ }
+ lab11: {
+ var /** number */ v_9 = base.limit - base.cursor;
+ lab12: {
+ if (!(base.eq_s_b("e")))
+ {
+ break lab12;
+ }
+ break lab11;
+ }
+ base.cursor = base.limit - v_9;
+ if (!(base.eq_s_b("i")))
+ {
+ break lab8;
+ }
+ }
+ base.cursor = base.limit - v_7;
+ {
+ var /** number */ c2 = base.cursor;
+ base.insert(base.cursor, base.cursor, "i");
+ base.cursor = c2;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ lab13: {
+ var /** number */ v_10 = base.limit - base.cursor;
+ golab14: while(true)
+ {
+ var /** number */ v_11 = base.limit - base.cursor;
+ lab15: {
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab15;
+ }
+ base.cursor = base.limit - v_11;
+ break golab14;
+ }
+ base.cursor = base.limit - v_11;
+ if (base.cursor <= base.limit_backward)
+ {
+ break lab13;
+ }
+ base.cursor--;
+ }
+ lab16: {
+ var /** number */ v_12 = base.limit - base.cursor;
+ lab17: {
+ if (!(base.eq_s_b("o")))
+ {
+ break lab17;
+ }
+ break lab16;
+ }
+ base.cursor = base.limit - v_12;
+ if (!(base.eq_s_b("u")))
+ {
+ break lab13;
+ }
+ }
+ base.cursor = base.limit - v_10;
+ {
+ var /** number */ c3 = base.cursor;
+ base.insert(base.cursor, base.cursor, "u");
+ base.cursor = c3;
+ }
+ break lab2;
+ }
+ base.cursor = base.limit - v_3;
+ var /** number */ v_13 = base.limit - base.cursor;
+ golab18: while(true)
+ {
+ var /** number */ v_14 = base.limit - base.cursor;
+ lab19: {
+ if (!(base.in_grouping_b(g_vowel, 97, 305)))
+ {
+ break lab19;
+ }
+ base.cursor = base.limit - v_14;
+ break golab18;
+ }
+ base.cursor = base.limit - v_14;
+ if (base.cursor <= base.limit_backward)
+ {
+ return false;
+ }
+ base.cursor--;
+ }
+ lab20: {
+ var /** number */ v_15 = base.limit - base.cursor;
+ lab21: {
+ if (!(base.eq_s_b("\u00F6")))
+ {
+ break lab21;
+ }
+ break lab20;
+ }
+ base.cursor = base.limit - v_15;
+ if (!(base.eq_s_b("\u00FC")))
+ {
+ return false;
+ }
+ }
+ base.cursor = base.limit - v_13;
+ {
+ var /** number */ c4 = base.cursor;
+ base.insert(base.cursor, base.cursor, "\u00FC");
+ base.cursor = c4;
+ }
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_is_reserved_word() {
+ if (!(base.eq_s_b("ad")))
+ {
+ return false;
+ }
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ if (!(base.eq_s_b("soy")))
+ {
+ base.cursor = base.limit - v_1;
+ break lab0;
+ }
+ }
+ if (base.cursor > base.limit_backward)
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_more_than_one_syllable_word() {
+ var /** number */ v_1 = base.cursor;
+ {
+ var v_2 = 2;
+ while(true)
+ {
+ var /** number */ v_3 = base.cursor;
+ lab0: {
+ golab1: while(true)
+ {
+ lab2: {
+ if (!(base.in_grouping(g_vowel, 97, 305)))
+ {
+ break lab2;
+ }
+ break golab1;
+ }
+ if (base.cursor >= base.limit)
+ {
+ break lab0;
+ }
+ base.cursor++;
+ }
+ v_2--;
+ continue;
+ }
+ base.cursor = v_3;
+ break;
+ }
+ if (v_2 > 0)
+ {
+ return false;
+ }
+ }
+ base.cursor = v_1;
+ return true;
+ };
+
+ /** @return {boolean} */
+ function r_postlude() {
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ {
+ var /** number */ v_1 = base.limit - base.cursor;
+ lab0: {
+ if (!r_is_reserved_word())
+ {
+ break lab0;
+ }
+ return false;
+ }
+ base.cursor = base.limit - v_1;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_append_U_to_stems_ending_with_d_or_g();
+ base.cursor = base.limit - v_2;
+ var /** number */ v_3 = base.limit - base.cursor;
+ r_post_process_last_consonants();
+ base.cursor = base.limit - v_3;
+ base.cursor = base.limit_backward;
+ return true;
+ };
+
+ this.stem = /** @return {boolean} */ function() {
+ if (!r_more_than_one_syllable_word())
+ {
+ return false;
+ }
+ base.limit_backward = base.cursor; base.cursor = base.limit;
+ var /** number */ v_1 = base.limit - base.cursor;
+ r_stem_nominal_verb_suffixes();
+ base.cursor = base.limit - v_1;
+ if (!B_continue_stemming_noun_suffixes)
+ {
+ return false;
+ }
+ var /** number */ v_2 = base.limit - base.cursor;
+ r_stem_noun_suffixes();
+ base.cursor = base.limit - v_2;
+ base.cursor = base.limit_backward;
+ if (!r_postlude())
+ {
+ return false;
+ }
+ return true;
+ };
+
+ /**@return{string}*/
+ this['stemWord'] = function(/**string*/word) {
+ base.setCurrent(word);
+ this.stem();
+ return base.getCurrent();
+ };
+};