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

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


The following commit(s) were added to refs/heads/asf-site by this push:
     new e5572231d Automatic website deployment from 
https://ci-builds.apache.org/job/Sling/job/modules/job/sling-site/job/master/795/
e5572231d is described below

commit e5572231dddfb6795f6e7824b93a9aa98b4d2bee
Author: jenkins <[email protected]>
AuthorDate: Thu Nov 16 12:49:26 2023 +0000

    Automatic website deployment from 
https://ci-builds.apache.org/job/Sling/job/modules/job/sling-site/job/master/795/
---
 downloads.html                           |   10 +-
 pagefind/fragment/en_1d96857.pf_fragment |  Bin 16136 -> 0 bytes
 pagefind/fragment/en_dc3523f.pf_fragment |  Bin 0 -> 16144 bytes
 pagefind/index/en_21dda95.pf_index       |  Bin 40007 -> 0 bytes
 pagefind/index/en_25c733c.pf_index       |  Bin 48047 -> 0 bytes
 pagefind/index/en_4da3d5f.pf_index       |  Bin 0 -> 39809 bytes
 pagefind/index/en_5bc2c67.pf_index       |  Bin 41243 -> 0 bytes
 pagefind/index/en_5c90ef4.pf_index       |  Bin 0 -> 40663 bytes
 pagefind/index/en_648518e.pf_index       |  Bin 40649 -> 0 bytes
 pagefind/index/en_673b224.pf_index       |  Bin 40366 -> 0 bytes
 pagefind/index/en_73ac418.pf_index       |  Bin 0 -> 42084 bytes
 pagefind/index/en_7ed2dd6.pf_index       |  Bin 39814 -> 0 bytes
 pagefind/index/en_81565c2.pf_index       |  Bin 40611 -> 0 bytes
 pagefind/index/en_929ded2.pf_index       |  Bin 37814 -> 0 bytes
 pagefind/index/en_933c695.pf_index       |  Bin 0 -> 40012 bytes
 pagefind/index/en_977d24c.pf_index       |  Bin 0 -> 40604 bytes
 pagefind/index/en_9875528.pf_index       |  Bin 41105 -> 0 bytes
 pagefind/index/en_988cd4f.pf_index       |  Bin 42066 -> 0 bytes
 pagefind/index/en_a081335.pf_index       |  Bin 38811 -> 0 bytes
 pagefind/index/en_a0c5a69.pf_index       |  Bin 37700 -> 0 bytes
 pagefind/index/en_a61fd52.pf_index       |  Bin 0 -> 40799 bytes
 pagefind/index/en_ae45c16.pf_index       |  Bin 0 -> 40376 bytes
 pagefind/index/en_b01658c.pf_index       |  Bin 0 -> 37715 bytes
 pagefind/index/en_b5593fc.pf_index       |  Bin 0 -> 41106 bytes
 pagefind/index/en_b71072c.pf_index       |  Bin 0 -> 38820 bytes
 pagefind/index/en_bf89c54.pf_index       |  Bin 0 -> 39913 bytes
 pagefind/index/en_c11a99e.pf_index       |  Bin 0 -> 38898 bytes
 pagefind/index/en_c5288e9.pf_index       |  Bin 40810 -> 0 bytes
 pagefind/index/en_d29690a.pf_index       |  Bin 0 -> 41240 bytes
 pagefind/index/en_e06acdb.pf_index       |  Bin 0 -> 38773 bytes
 pagefind/index/en_e0ab239.pf_index       |  Bin 40042 -> 0 bytes
 pagefind/index/en_e6b6b81.pf_index       |  Bin 39910 -> 0 bytes
 pagefind/index/en_e949281.pf_index       |  Bin 38772 -> 0 bytes
 pagefind/index/en_ef58bf3.pf_index       |  Bin 0 -> 37814 bytes
 pagefind/index/en_f1f697e.pf_index       |  Bin 0 -> 40047 bytes
 pagefind/index/en_feae5d1.pf_index       |  Bin 38900 -> 0 bytes
 pagefind/index/en_ffc21c8.pf_index       |  Bin 0 -> 48014 bytes
 pagefind/pagefind-entry.json             |    2 +-
 pagefind/pagefind-highlight.js           | 1069 ++++++++++++++++++++++++++++++
 pagefind/pagefind-ui.css                 |    2 +-
 pagefind/pagefind-ui.js                  |    4 +-
 pagefind/pagefind.en_19d1899d7d.pf_meta  |  Bin 0 -> 1817 bytes
 pagefind/pagefind.en_5d9199433e.pf_meta  |  Bin 1815 -> 0 bytes
 pagefind/pagefind.js                     |    6 +-
 pagefind/wasm.en.pagefind                |  Bin 60991 -> 60245 bytes
 pagefind/wasm.unknown.pagefind           |  Bin 56166 -> 55137 bytes
 releases.html                            |    3 +-
 sitemap.xml                              |    2 +-
 48 files changed, 1084 insertions(+), 14 deletions(-)

diff --git a/downloads.html b/downloads.html
index a4521fa75..ed1ff88f5 100644
--- a/downloads.html
+++ b/downloads.html
@@ -1919,12 +1919,12 @@
                                                     </td><td><a 
href="[preferred]sling/sling-maven-plugin-3.0.2-source-release.zip">Source 
ZIP</a><span class="digestLinks">
                                                              (<a 
href="https://downloads.apache.org/sling/sling-maven-plugin-3.0.2-source-release.zip.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/sling/sling-maven-plugin-3.0.2-source-release.zip.sha1";>sha1</a>,
 <a 
href="https://downloads.apache.org/sling/sling-maven-plugin-3.0.2-source-release.zip.sha512";>sha512</a>)
                                                         </span>
-                                                    </td></tr><tr><td>Sling 
Feature Maven Plugin</td><td>1.7.4</td><td><a 
href="https://github.com/apache/sling-slingfeature-maven-plugin";>GitHub</a>
-                                                    </td><td><a 
href="[preferred]sling/slingfeature-maven-plugin-1.7.4.jar">Maven 
Plugin</a><span class="digestLinks">
-                                                             (<a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.7.4.jar.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.7.4.jar.sha1";>sha1</a>)
+                                                    </td></tr><tr><td>Sling 
Feature Maven Plugin</td><td>1.8.0</td><td><a 
href="https://github.com/apache/sling-slingfeature-maven-plugin";>GitHub</a>
+                                                    </td><td><a 
href="[preferred]sling/slingfeature-maven-plugin-1.8.0.jar">Maven 
Plugin</a><span class="digestLinks">
+                                                             (<a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.8.0.jar.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.8.0.jar.sha1";>sha1</a>)
                                                         </span>
-                                                    </td><td><a 
href="[preferred]sling/slingfeature-maven-plugin-1.7.4-source-release.zip">Source
 ZIP</a><span class="digestLinks">
-                                                             (<a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.7.4-source-release.zip.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.7.4-source-release.zip.sha1";>sha1</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.7.4-source-release.zip.sha512";>sha512</a>)
+                                                    </td><td><a 
href="[preferred]sling/slingfeature-maven-plugin-1.8.0-source-release.zip">Source
 ZIP</a><span class="digestLinks">
+                                                             (<a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.8.0-source-release.zip.asc";>asc</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.8.0-source-release.zip.sha1";>sha1</a>,
 <a 
href="https://downloads.apache.org/sling/slingfeature-maven-plugin-1.8.0-source-release.zip.sha512";>sha512</a>)
                                                         </span>
                                                     </td></tr><tr><td>Sling 
Feature Converter Maven Plugin</td><td>1.0.12</td><td><a 
href="https://github.com/apache/sling-feature-converter-maven-plugin";>GitHub</a>
                                                     </td><td><a 
href="[preferred]sling/sling-feature-converter-maven-plugin-1.0.12.jar">Maven 
Plugin</a><span class="digestLinks">
diff --git a/pagefind/fragment/en_1d96857.pf_fragment 
b/pagefind/fragment/en_1d96857.pf_fragment
deleted file mode 100644
index 089c8e297..000000000
Binary files a/pagefind/fragment/en_1d96857.pf_fragment and /dev/null differ
diff --git a/pagefind/fragment/en_dc3523f.pf_fragment 
b/pagefind/fragment/en_dc3523f.pf_fragment
new file mode 100644
index 000000000..c55d10947
Binary files /dev/null and b/pagefind/fragment/en_dc3523f.pf_fragment differ
diff --git a/pagefind/index/en_21dda95.pf_index 
b/pagefind/index/en_21dda95.pf_index
deleted file mode 100644
index e443de4e6..000000000
Binary files a/pagefind/index/en_21dda95.pf_index and /dev/null differ
diff --git a/pagefind/index/en_25c733c.pf_index 
b/pagefind/index/en_25c733c.pf_index
deleted file mode 100644
index 3a7dad007..000000000
Binary files a/pagefind/index/en_25c733c.pf_index and /dev/null differ
diff --git a/pagefind/index/en_4da3d5f.pf_index 
b/pagefind/index/en_4da3d5f.pf_index
new file mode 100644
index 000000000..de2a5d855
Binary files /dev/null and b/pagefind/index/en_4da3d5f.pf_index differ
diff --git a/pagefind/index/en_5bc2c67.pf_index 
b/pagefind/index/en_5bc2c67.pf_index
deleted file mode 100644
index 7da339dc1..000000000
Binary files a/pagefind/index/en_5bc2c67.pf_index and /dev/null differ
diff --git a/pagefind/index/en_5c90ef4.pf_index 
b/pagefind/index/en_5c90ef4.pf_index
new file mode 100644
index 000000000..d6ce2e351
Binary files /dev/null and b/pagefind/index/en_5c90ef4.pf_index differ
diff --git a/pagefind/index/en_648518e.pf_index 
b/pagefind/index/en_648518e.pf_index
deleted file mode 100644
index 1236984e6..000000000
Binary files a/pagefind/index/en_648518e.pf_index and /dev/null differ
diff --git a/pagefind/index/en_673b224.pf_index 
b/pagefind/index/en_673b224.pf_index
deleted file mode 100644
index 67e36216c..000000000
Binary files a/pagefind/index/en_673b224.pf_index and /dev/null differ
diff --git a/pagefind/index/en_73ac418.pf_index 
b/pagefind/index/en_73ac418.pf_index
new file mode 100644
index 000000000..04181a46c
Binary files /dev/null and b/pagefind/index/en_73ac418.pf_index differ
diff --git a/pagefind/index/en_7ed2dd6.pf_index 
b/pagefind/index/en_7ed2dd6.pf_index
deleted file mode 100644
index 025447113..000000000
Binary files a/pagefind/index/en_7ed2dd6.pf_index and /dev/null differ
diff --git a/pagefind/index/en_81565c2.pf_index 
b/pagefind/index/en_81565c2.pf_index
deleted file mode 100644
index 4b225ce27..000000000
Binary files a/pagefind/index/en_81565c2.pf_index and /dev/null differ
diff --git a/pagefind/index/en_929ded2.pf_index 
b/pagefind/index/en_929ded2.pf_index
deleted file mode 100644
index 015517767..000000000
Binary files a/pagefind/index/en_929ded2.pf_index and /dev/null differ
diff --git a/pagefind/index/en_933c695.pf_index 
b/pagefind/index/en_933c695.pf_index
new file mode 100644
index 000000000..b7cc73cf5
Binary files /dev/null and b/pagefind/index/en_933c695.pf_index differ
diff --git a/pagefind/index/en_977d24c.pf_index 
b/pagefind/index/en_977d24c.pf_index
new file mode 100644
index 000000000..acb8dea1f
Binary files /dev/null and b/pagefind/index/en_977d24c.pf_index differ
diff --git a/pagefind/index/en_9875528.pf_index 
b/pagefind/index/en_9875528.pf_index
deleted file mode 100644
index e148cfa20..000000000
Binary files a/pagefind/index/en_9875528.pf_index and /dev/null differ
diff --git a/pagefind/index/en_988cd4f.pf_index 
b/pagefind/index/en_988cd4f.pf_index
deleted file mode 100644
index d6a2b1ae2..000000000
Binary files a/pagefind/index/en_988cd4f.pf_index and /dev/null differ
diff --git a/pagefind/index/en_a081335.pf_index 
b/pagefind/index/en_a081335.pf_index
deleted file mode 100644
index 0577cda60..000000000
Binary files a/pagefind/index/en_a081335.pf_index and /dev/null differ
diff --git a/pagefind/index/en_a0c5a69.pf_index 
b/pagefind/index/en_a0c5a69.pf_index
deleted file mode 100644
index 253d3dd70..000000000
Binary files a/pagefind/index/en_a0c5a69.pf_index and /dev/null differ
diff --git a/pagefind/index/en_a61fd52.pf_index 
b/pagefind/index/en_a61fd52.pf_index
new file mode 100644
index 000000000..a2a328280
Binary files /dev/null and b/pagefind/index/en_a61fd52.pf_index differ
diff --git a/pagefind/index/en_ae45c16.pf_index 
b/pagefind/index/en_ae45c16.pf_index
new file mode 100644
index 000000000..478f71321
Binary files /dev/null and b/pagefind/index/en_ae45c16.pf_index differ
diff --git a/pagefind/index/en_b01658c.pf_index 
b/pagefind/index/en_b01658c.pf_index
new file mode 100644
index 000000000..5acfba6a6
Binary files /dev/null and b/pagefind/index/en_b01658c.pf_index differ
diff --git a/pagefind/index/en_b5593fc.pf_index 
b/pagefind/index/en_b5593fc.pf_index
new file mode 100644
index 000000000..cc27050a3
Binary files /dev/null and b/pagefind/index/en_b5593fc.pf_index differ
diff --git a/pagefind/index/en_b71072c.pf_index 
b/pagefind/index/en_b71072c.pf_index
new file mode 100644
index 000000000..011bb1968
Binary files /dev/null and b/pagefind/index/en_b71072c.pf_index differ
diff --git a/pagefind/index/en_bf89c54.pf_index 
b/pagefind/index/en_bf89c54.pf_index
new file mode 100644
index 000000000..c8987b77b
Binary files /dev/null and b/pagefind/index/en_bf89c54.pf_index differ
diff --git a/pagefind/index/en_c11a99e.pf_index 
b/pagefind/index/en_c11a99e.pf_index
new file mode 100644
index 000000000..402b2905e
Binary files /dev/null and b/pagefind/index/en_c11a99e.pf_index differ
diff --git a/pagefind/index/en_c5288e9.pf_index 
b/pagefind/index/en_c5288e9.pf_index
deleted file mode 100644
index 8fcb463ef..000000000
Binary files a/pagefind/index/en_c5288e9.pf_index and /dev/null differ
diff --git a/pagefind/index/en_d29690a.pf_index 
b/pagefind/index/en_d29690a.pf_index
new file mode 100644
index 000000000..46632a618
Binary files /dev/null and b/pagefind/index/en_d29690a.pf_index differ
diff --git a/pagefind/index/en_e06acdb.pf_index 
b/pagefind/index/en_e06acdb.pf_index
new file mode 100644
index 000000000..525847569
Binary files /dev/null and b/pagefind/index/en_e06acdb.pf_index differ
diff --git a/pagefind/index/en_e0ab239.pf_index 
b/pagefind/index/en_e0ab239.pf_index
deleted file mode 100644
index 7ecc3c086..000000000
Binary files a/pagefind/index/en_e0ab239.pf_index and /dev/null differ
diff --git a/pagefind/index/en_e6b6b81.pf_index 
b/pagefind/index/en_e6b6b81.pf_index
deleted file mode 100644
index 8b21c7cdb..000000000
Binary files a/pagefind/index/en_e6b6b81.pf_index and /dev/null differ
diff --git a/pagefind/index/en_e949281.pf_index 
b/pagefind/index/en_e949281.pf_index
deleted file mode 100644
index 694044e1b..000000000
Binary files a/pagefind/index/en_e949281.pf_index and /dev/null differ
diff --git a/pagefind/index/en_ef58bf3.pf_index 
b/pagefind/index/en_ef58bf3.pf_index
new file mode 100644
index 000000000..39e5a6e75
Binary files /dev/null and b/pagefind/index/en_ef58bf3.pf_index differ
diff --git a/pagefind/index/en_f1f697e.pf_index 
b/pagefind/index/en_f1f697e.pf_index
new file mode 100644
index 000000000..32a6fb7e6
Binary files /dev/null and b/pagefind/index/en_f1f697e.pf_index differ
diff --git a/pagefind/index/en_feae5d1.pf_index 
b/pagefind/index/en_feae5d1.pf_index
deleted file mode 100644
index 7f6647ffa..000000000
Binary files a/pagefind/index/en_feae5d1.pf_index and /dev/null differ
diff --git a/pagefind/index/en_ffc21c8.pf_index 
b/pagefind/index/en_ffc21c8.pf_index
new file mode 100644
index 000000000..4d8447119
Binary files /dev/null and b/pagefind/index/en_ffc21c8.pf_index differ
diff --git a/pagefind/pagefind-entry.json b/pagefind/pagefind-entry.json
index 8edc11182..674517d24 100644
--- a/pagefind/pagefind-entry.json
+++ b/pagefind/pagefind-entry.json
@@ -1 +1 @@
-{"version":"1.0.3","languages":{"en":{"hash":"en_5d9199433e","wasm":"en","page_count":187}}}
\ No newline at end of file
+{"version":"1.0.4","languages":{"en":{"hash":"en_19d1899d7d","wasm":"en","page_count":187}}}
\ No newline at end of file
diff --git a/pagefind/pagefind-highlight.js b/pagefind/pagefind-highlight.js
new file mode 100644
index 000000000..a9c8d89ec
--- /dev/null
+++ b/pagefind/pagefind-highlight.js
@@ -0,0 +1,1069 @@
+var __create = Object.create;
+var __defProp = Object.defineProperty;
+var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
+var __getOwnPropNames = Object.getOwnPropertyNames;
+var __getProtoOf = Object.getPrototypeOf;
+var __hasOwnProp = Object.prototype.hasOwnProperty;
+var __commonJS = (cb, mod) => function __require() {
+  return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} 
}).exports, mod), mod.exports;
+};
+var __copyProps = (to, from, except, desc) => {
+  if (from && typeof from === "object" || typeof from === "function") {
+    for (let key of __getOwnPropNames(from))
+      if (!__hasOwnProp.call(to, key) && key !== except)
+        __defProp(to, key, { get: () => from[key], enumerable: !(desc = 
__getOwnPropDesc(from, key)) || desc.enumerable });
+  }
+  return to;
+};
+var __toESM = (mod, isNodeMode, target) => (target = mod != null ? 
__create(__getProtoOf(mod)) : {}, __copyProps(
+  // If the importer is in node compatibility mode or this is not an ESM
+  // file that has been converted to a CommonJS file using a Babel-
+  // compatible transform (i.e. "__esModule" has not been set), then set
+  // "default" to the CommonJS "module.exports" for node compatibility.
+  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { 
value: mod, enumerable: true }) : target,
+  mod
+));
+
+// node_modules/mark.js/dist/mark.js
+var require_mark = __commonJS({
+  "node_modules/mark.js/dist/mark.js"(exports, module) {
+    (function(global, factory) {
+      typeof exports === "object" && typeof module !== "undefined" ? 
module.exports = factory() : typeof define === "function" && define.amd ? 
define(factory) : global.Mark = factory();
+    })(exports, function() {
+      "use strict";
+      var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === 
"symbol" ? function(obj) {
+        return typeof obj;
+      } : function(obj) {
+        return obj && typeof Symbol === "function" && obj.constructor === 
Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
+      };
+      var classCallCheck = function(instance, Constructor) {
+        if (!(instance instanceof Constructor)) {
+          throw new TypeError("Cannot call a class as a function");
+        }
+      };
+      var createClass = function() {
+        function defineProperties(target, props) {
+          for (var i = 0; i < props.length; i++) {
+            var descriptor = props[i];
+            descriptor.enumerable = descriptor.enumerable || false;
+            descriptor.configurable = true;
+            if ("value" in descriptor)
+              descriptor.writable = true;
+            Object.defineProperty(target, descriptor.key, descriptor);
+          }
+        }
+        return function(Constructor, protoProps, staticProps) {
+          if (protoProps)
+            defineProperties(Constructor.prototype, protoProps);
+          if (staticProps)
+            defineProperties(Constructor, staticProps);
+          return Constructor;
+        };
+      }();
+      var _extends = Object.assign || function(target) {
+        for (var i = 1; i < arguments.length; i++) {
+          var source = arguments[i];
+          for (var key in source) {
+            if (Object.prototype.hasOwnProperty.call(source, key)) {
+              target[key] = source[key];
+            }
+          }
+        }
+        return target;
+      };
+      var DOMIterator = function() {
+        function DOMIterator2(ctx) {
+          var iframes = arguments.length > 1 && arguments[1] !== void 0 ? 
arguments[1] : true;
+          var exclude = arguments.length > 2 && arguments[2] !== void 0 ? 
arguments[2] : [];
+          var iframesTimeout = arguments.length > 3 && arguments[3] !== void 0 
? arguments[3] : 5e3;
+          classCallCheck(this, DOMIterator2);
+          this.ctx = ctx;
+          this.iframes = iframes;
+          this.exclude = exclude;
+          this.iframesTimeout = iframesTimeout;
+        }
+        createClass(DOMIterator2, [{
+          key: "getContexts",
+          value: function getContexts() {
+            var ctx = void 0, filteredCtx = [];
+            if (typeof this.ctx === "undefined" || !this.ctx) {
+              ctx = [];
+            } else if (NodeList.prototype.isPrototypeOf(this.ctx)) {
+              ctx = Array.prototype.slice.call(this.ctx);
+            } else if (Array.isArray(this.ctx)) {
+              ctx = this.ctx;
+            } else if (typeof this.ctx === "string") {
+              ctx = 
Array.prototype.slice.call(document.querySelectorAll(this.ctx));
+            } else {
+              ctx = [this.ctx];
+            }
+            ctx.forEach(function(ctx2) {
+              var isDescendant = filteredCtx.filter(function(contexts) {
+                return contexts.contains(ctx2);
+              }).length > 0;
+              if (filteredCtx.indexOf(ctx2) === -1 && !isDescendant) {
+                filteredCtx.push(ctx2);
+              }
+            });
+            return filteredCtx;
+          }
+        }, {
+          key: "getIframeContents",
+          value: function getIframeContents(ifr, successFn) {
+            var errorFn = arguments.length > 2 && arguments[2] !== void 0 ? 
arguments[2] : function() {
+            };
+            var doc = void 0;
+            try {
+              var ifrWin = ifr.contentWindow;
+              doc = ifrWin.document;
+              if (!ifrWin || !doc) {
+                throw new Error("iframe inaccessible");
+              }
+            } catch (e) {
+              errorFn();
+            }
+            if (doc) {
+              successFn(doc);
+            }
+          }
+        }, {
+          key: "isIframeBlank",
+          value: function isIframeBlank(ifr) {
+            var bl = "about:blank", src = ifr.getAttribute("src").trim(), href 
= ifr.contentWindow.location.href;
+            return href === bl && src !== bl && src;
+          }
+        }, {
+          key: "observeIframeLoad",
+          value: function observeIframeLoad(ifr, successFn, errorFn) {
+            var _this = this;
+            var called = false, tout = null;
+            var listener = function listener2() {
+              if (called) {
+                return;
+              }
+              called = true;
+              clearTimeout(tout);
+              try {
+                if (!_this.isIframeBlank(ifr)) {
+                  ifr.removeEventListener("load", listener2);
+                  _this.getIframeContents(ifr, successFn, errorFn);
+                }
+              } catch (e) {
+                errorFn();
+              }
+            };
+            ifr.addEventListener("load", listener);
+            tout = setTimeout(listener, this.iframesTimeout);
+          }
+        }, {
+          key: "onIframeReady",
+          value: function onIframeReady(ifr, successFn, errorFn) {
+            try {
+              if (ifr.contentWindow.document.readyState === "complete") {
+                if (this.isIframeBlank(ifr)) {
+                  this.observeIframeLoad(ifr, successFn, errorFn);
+                } else {
+                  this.getIframeContents(ifr, successFn, errorFn);
+                }
+              } else {
+                this.observeIframeLoad(ifr, successFn, errorFn);
+              }
+            } catch (e) {
+              errorFn();
+            }
+          }
+        }, {
+          key: "waitForIframes",
+          value: function waitForIframes(ctx, done) {
+            var _this2 = this;
+            var eachCalled = 0;
+            this.forEachIframe(ctx, function() {
+              return true;
+            }, function(ifr) {
+              eachCalled++;
+              _this2.waitForIframes(ifr.querySelector("html"), function() {
+                if (!--eachCalled) {
+                  done();
+                }
+              });
+            }, function(handled) {
+              if (!handled) {
+                done();
+              }
+            });
+          }
+        }, {
+          key: "forEachIframe",
+          value: function forEachIframe(ctx, filter, each) {
+            var _this3 = this;
+            var end = arguments.length > 3 && arguments[3] !== void 0 ? 
arguments[3] : function() {
+            };
+            var ifr = ctx.querySelectorAll("iframe"), open = ifr.length, 
handled = 0;
+            ifr = Array.prototype.slice.call(ifr);
+            var checkEnd = function checkEnd2() {
+              if (--open <= 0) {
+                end(handled);
+              }
+            };
+            if (!open) {
+              checkEnd();
+            }
+            ifr.forEach(function(ifr2) {
+              if (DOMIterator2.matches(ifr2, _this3.exclude)) {
+                checkEnd();
+              } else {
+                _this3.onIframeReady(ifr2, function(con) {
+                  if (filter(ifr2)) {
+                    handled++;
+                    each(con);
+                  }
+                  checkEnd();
+                }, checkEnd);
+              }
+            });
+          }
+        }, {
+          key: "createIterator",
+          value: function createIterator(ctx, whatToShow, filter) {
+            return document.createNodeIterator(ctx, whatToShow, filter, false);
+          }
+        }, {
+          key: "createInstanceOnIframe",
+          value: function createInstanceOnIframe(contents) {
+            return new DOMIterator2(contents.querySelector("html"), 
this.iframes);
+          }
+        }, {
+          key: "compareNodeIframe",
+          value: function compareNodeIframe(node, prevNode, ifr) {
+            var compCurr = node.compareDocumentPosition(ifr), prev = 
Node.DOCUMENT_POSITION_PRECEDING;
+            if (compCurr & prev) {
+              if (prevNode !== null) {
+                var compPrev = prevNode.compareDocumentPosition(ifr), after = 
Node.DOCUMENT_POSITION_FOLLOWING;
+                if (compPrev & after) {
+                  return true;
+                }
+              } else {
+                return true;
+              }
+            }
+            return false;
+          }
+        }, {
+          key: "getIteratorNode",
+          value: function getIteratorNode(itr) {
+            var prevNode = itr.previousNode();
+            var node = void 0;
+            if (prevNode === null) {
+              node = itr.nextNode();
+            } else {
+              node = itr.nextNode() && itr.nextNode();
+            }
+            return {
+              prevNode,
+              node
+            };
+          }
+        }, {
+          key: "checkIframeFilter",
+          value: function checkIframeFilter(node, prevNode, currIfr, ifr) {
+            var key = false, handled = false;
+            ifr.forEach(function(ifrDict, i) {
+              if (ifrDict.val === currIfr) {
+                key = i;
+                handled = ifrDict.handled;
+              }
+            });
+            if (this.compareNodeIframe(node, prevNode, currIfr)) {
+              if (key === false && !handled) {
+                ifr.push({
+                  val: currIfr,
+                  handled: true
+                });
+              } else if (key !== false && !handled) {
+                ifr[key].handled = true;
+              }
+              return true;
+            }
+            if (key === false) {
+              ifr.push({
+                val: currIfr,
+                handled: false
+              });
+            }
+            return false;
+          }
+        }, {
+          key: "handleOpenIframes",
+          value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) {
+            var _this4 = this;
+            ifr.forEach(function(ifrDict) {
+              if (!ifrDict.handled) {
+                _this4.getIframeContents(ifrDict.val, function(con) {
+                  _this4.createInstanceOnIframe(con).forEachNode(whatToShow, 
eCb, fCb);
+                });
+              }
+            });
+          }
+        }, {
+          key: "iterateThroughNodes",
+          value: function iterateThroughNodes(whatToShow, ctx, eachCb, 
filterCb, doneCb) {
+            var _this5 = this;
+            var itr = this.createIterator(ctx, whatToShow, filterCb);
+            var ifr = [], elements = [], node = void 0, prevNode = void 0, 
retrieveNodes = function retrieveNodes2() {
+              var _getIteratorNode = _this5.getIteratorNode(itr);
+              prevNode = _getIteratorNode.prevNode;
+              node = _getIteratorNode.node;
+              return node;
+            };
+            while (retrieveNodes()) {
+              if (this.iframes) {
+                this.forEachIframe(ctx, function(currIfr) {
+                  return _this5.checkIframeFilter(node, prevNode, currIfr, 
ifr);
+                }, function(con) {
+                  _this5.createInstanceOnIframe(con).forEachNode(whatToShow, 
function(ifrNode) {
+                    return elements.push(ifrNode);
+                  }, filterCb);
+                });
+              }
+              elements.push(node);
+            }
+            elements.forEach(function(node2) {
+              eachCb(node2);
+            });
+            if (this.iframes) {
+              this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb);
+            }
+            doneCb();
+          }
+        }, {
+          key: "forEachNode",
+          value: function forEachNode(whatToShow, each, filter) {
+            var _this6 = this;
+            var done = arguments.length > 3 && arguments[3] !== void 0 ? 
arguments[3] : function() {
+            };
+            var contexts = this.getContexts();
+            var open = contexts.length;
+            if (!open) {
+              done();
+            }
+            contexts.forEach(function(ctx) {
+              var ready = function ready2() {
+                _this6.iterateThroughNodes(whatToShow, ctx, each, filter, 
function() {
+                  if (--open <= 0) {
+                    done();
+                  }
+                });
+              };
+              if (_this6.iframes) {
+                _this6.waitForIframes(ctx, ready);
+              } else {
+                ready();
+              }
+            });
+          }
+        }], [{
+          key: "matches",
+          value: function matches(element, selector) {
+            var selectors = typeof selector === "string" ? [selector] : 
selector, fn = element.matches || element.matchesSelector || 
element.msMatchesSelector || element.mozMatchesSelector || 
element.oMatchesSelector || element.webkitMatchesSelector;
+            if (fn) {
+              var match = false;
+              selectors.every(function(sel) {
+                if (fn.call(element, sel)) {
+                  match = true;
+                  return false;
+                }
+                return true;
+              });
+              return match;
+            } else {
+              return false;
+            }
+          }
+        }]);
+        return DOMIterator2;
+      }();
+      var Mark$1 = function() {
+        function Mark3(ctx) {
+          classCallCheck(this, Mark3);
+          this.ctx = ctx;
+          this.ie = false;
+          var ua = window.navigator.userAgent;
+          if (ua.indexOf("MSIE") > -1 || ua.indexOf("Trident") > -1) {
+            this.ie = true;
+          }
+        }
+        createClass(Mark3, [{
+          key: "log",
+          value: function log(msg) {
+            var level = arguments.length > 1 && arguments[1] !== void 0 ? 
arguments[1] : "debug";
+            var log2 = this.opt.log;
+            if (!this.opt.debug) {
+              return;
+            }
+            if ((typeof log2 === "undefined" ? "undefined" : _typeof(log2)) 
=== "object" && typeof log2[level] === "function") {
+              log2[level]("mark.js: " + msg);
+            }
+          }
+        }, {
+          key: "escapeStr",
+          value: function escapeStr(str) {
+            return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
+          }
+        }, {
+          key: "createRegExp",
+          value: function createRegExp(str) {
+            if (this.opt.wildcards !== "disabled") {
+              str = this.setupWildcardsRegExp(str);
+            }
+            str = this.escapeStr(str);
+            if (Object.keys(this.opt.synonyms).length) {
+              str = this.createSynonymsRegExp(str);
+            }
+            if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+              str = this.setupIgnoreJoinersRegExp(str);
+            }
+            if (this.opt.diacritics) {
+              str = this.createDiacriticsRegExp(str);
+            }
+            str = this.createMergedBlanksRegExp(str);
+            if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+              str = this.createJoinersRegExp(str);
+            }
+            if (this.opt.wildcards !== "disabled") {
+              str = this.createWildcardsRegExp(str);
+            }
+            str = this.createAccuracyRegExp(str);
+            return str;
+          }
+        }, {
+          key: "createSynonymsRegExp",
+          value: function createSynonymsRegExp(str) {
+            var syn = this.opt.synonyms, sens = this.opt.caseSensitive ? "" : 
"i", joinerPlaceholder = this.opt.ignoreJoiners || 
this.opt.ignorePunctuation.length ? "\0" : "";
+            for (var index in syn) {
+              if (syn.hasOwnProperty(index)) {
+                var value = syn[index], k1 = this.opt.wildcards !== "disabled" 
? this.setupWildcardsRegExp(index) : this.escapeStr(index), k2 = 
this.opt.wildcards !== "disabled" ? this.setupWildcardsRegExp(value) : 
this.escapeStr(value);
+                if (k1 !== "" && k2 !== "") {
+                  str = str.replace(new RegExp("(" + this.escapeStr(k1) + "|" 
+ this.escapeStr(k2) + ")", "gm" + sens), joinerPlaceholder + ("(" + 
this.processSynomyms(k1) + "|") + (this.processSynomyms(k2) + ")") + 
joinerPlaceholder);
+                }
+              }
+            }
+            return str;
+          }
+        }, {
+          key: "processSynomyms",
+          value: function processSynomyms(str) {
+            if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {
+              str = this.setupIgnoreJoinersRegExp(str);
+            }
+            return str;
+          }
+        }, {
+          key: "setupWildcardsRegExp",
+          value: function setupWildcardsRegExp(str) {
+            str = str.replace(/(?:\\)*\?/g, function(val) {
+              return val.charAt(0) === "\\" ? "?" : "";
+            });
+            return str.replace(/(?:\\)*\*/g, function(val) {
+              return val.charAt(0) === "\\" ? "*" : "";
+            });
+          }
+        }, {
+          key: "createWildcardsRegExp",
+          value: function createWildcardsRegExp(str) {
+            var spaces = this.opt.wildcards === "withSpaces";
+            return str.replace(/\u0001/g, spaces ? "[\\S\\s]?" : 
"\\S?").replace(/\u0002/g, spaces ? "[\\S\\s]*?" : "\\S*");
+          }
+        }, {
+          key: "setupIgnoreJoinersRegExp",
+          value: function setupIgnoreJoinersRegExp(str) {
+            return str.replace(/[^(|)\\]/g, function(val, indx, original) {
+              var nextChar = original.charAt(indx + 1);
+              if (/[(|)\\]/.test(nextChar) || nextChar === "") {
+                return val;
+              } else {
+                return val + "\0";
+              }
+            });
+          }
+        }, {
+          key: "createJoinersRegExp",
+          value: function createJoinersRegExp(str) {
+            var joiner = [];
+            var ignorePunctuation = this.opt.ignorePunctuation;
+            if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) {
+              joiner.push(this.escapeStr(ignorePunctuation.join("")));
+            }
+            if (this.opt.ignoreJoiners) {
+              joiner.push("\\u00ad\\u200b\\u200c\\u200d");
+            }
+            return joiner.length ? str.split(/\u0000+/).join("[" + 
joiner.join("") + "]*") : str;
+          }
+        }, {
+          key: "createDiacriticsRegExp",
+          value: function createDiacriticsRegExp(str) {
+            var sens = this.opt.caseSensitive ? "" : "i", dct = 
this.opt.caseSensitive ? 
["a\xE0\xE1\u1EA3\xE3\u1EA1\u0103\u1EB1\u1EAF\u1EB3\u1EB5\u1EB7\xE2\u1EA7\u1EA5\u1EA9\u1EAB\u1EAD\xE4\xE5\u0101\u0105",
 
"A\xC0\xC1\u1EA2\xC3\u1EA0\u0102\u1EB0\u1EAE\u1EB2\u1EB4\u1EB6\xC2\u1EA6\u1EA4\u1EA8\u1EAA\u1EAC\xC4\xC5\u0100\u0104",
 "c\xE7\u0107\u010D", "C\xC7\u0106\u010C", "d\u0111\u010F", "D\u0110\u010E", 
"e\xE8\xE9\u1EBB\u1EBD\u1EB9\xEA\u1EC1\u1EBF\u1EC3\u1EC5\u1EC7\xEB\u011B\u0113\u0119",
 " [...]
+            var handled = [];
+            str.split("").forEach(function(ch) {
+              dct.every(function(dct2) {
+                if (dct2.indexOf(ch) !== -1) {
+                  if (handled.indexOf(dct2) > -1) {
+                    return false;
+                  }
+                  str = str.replace(new RegExp("[" + dct2 + "]", "gm" + sens), 
"[" + dct2 + "]");
+                  handled.push(dct2);
+                }
+                return true;
+              });
+            });
+            return str;
+          }
+        }, {
+          key: "createMergedBlanksRegExp",
+          value: function createMergedBlanksRegExp(str) {
+            return str.replace(/[\s]+/gmi, "[\\s]+");
+          }
+        }, {
+          key: "createAccuracyRegExp",
+          value: function createAccuracyRegExp(str) {
+            var _this = this;
+            var chars = "!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\xA1\xBF";
+            var acc = this.opt.accuracy, val = typeof acc === "string" ? acc : 
acc.value, ls = typeof acc === "string" ? [] : acc.limiters, lsJoin = "";
+            ls.forEach(function(limiter) {
+              lsJoin += "|" + _this.escapeStr(limiter);
+            });
+            switch (val) {
+              case "partially":
+              default:
+                return "()(" + str + ")";
+              case "complementary":
+                lsJoin = "\\s" + (lsJoin ? lsJoin : this.escapeStr(chars));
+                return "()([^" + lsJoin + "]*" + str + "[^" + lsJoin + "]*)";
+              case "exactly":
+                return "(^|\\s" + lsJoin + ")(" + str + ")(?=$|\\s" + lsJoin + 
")";
+            }
+          }
+        }, {
+          key: "getSeparatedKeywords",
+          value: function getSeparatedKeywords(sv) {
+            var _this2 = this;
+            var stack = [];
+            sv.forEach(function(kw) {
+              if (!_this2.opt.separateWordSearch) {
+                if (kw.trim() && stack.indexOf(kw) === -1) {
+                  stack.push(kw);
+                }
+              } else {
+                kw.split(" ").forEach(function(kwSplitted) {
+                  if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) {
+                    stack.push(kwSplitted);
+                  }
+                });
+              }
+            });
+            return {
+              "keywords": stack.sort(function(a, b) {
+                return b.length - a.length;
+              }),
+              "length": stack.length
+            };
+          }
+        }, {
+          key: "isNumeric",
+          value: function isNumeric(value) {
+            return Number(parseFloat(value)) == value;
+          }
+        }, {
+          key: "checkRanges",
+          value: function checkRanges(array) {
+            var _this3 = this;
+            if (!Array.isArray(array) || 
Object.prototype.toString.call(array[0]) !== "[object Object]") {
+              this.log("markRanges() will only accept an array of objects");
+              this.opt.noMatch(array);
+              return [];
+            }
+            var stack = [];
+            var last = 0;
+            array.sort(function(a, b) {
+              return a.start - b.start;
+            }).forEach(function(item) {
+              var _callNoMatchOnInvalid = 
_this3.callNoMatchOnInvalidRanges(item, last), start = 
_callNoMatchOnInvalid.start, end = _callNoMatchOnInvalid.end, valid = 
_callNoMatchOnInvalid.valid;
+              if (valid) {
+                item.start = start;
+                item.length = end - start;
+                stack.push(item);
+                last = end;
+              }
+            });
+            return stack;
+          }
+        }, {
+          key: "callNoMatchOnInvalidRanges",
+          value: function callNoMatchOnInvalidRanges(range, last) {
+            var start = void 0, end = void 0, valid = false;
+            if (range && typeof range.start !== "undefined") {
+              start = parseInt(range.start, 10);
+              end = start + parseInt(range.length, 10);
+              if (this.isNumeric(range.start) && this.isNumeric(range.length) 
&& end - last > 0 && end - start > 0) {
+                valid = true;
+              } else {
+                this.log("Ignoring invalid or overlapping range: " + ("" + 
JSON.stringify(range)));
+                this.opt.noMatch(range);
+              }
+            } else {
+              this.log("Ignoring invalid range: " + JSON.stringify(range));
+              this.opt.noMatch(range);
+            }
+            return {
+              start,
+              end,
+              valid
+            };
+          }
+        }, {
+          key: "checkWhitespaceRanges",
+          value: function checkWhitespaceRanges(range, originalLength, string) 
{
+            var end = void 0, valid = true, max = string.length, offset = 
originalLength - max, start = parseInt(range.start, 10) - offset;
+            start = start > max ? max : start;
+            end = start + parseInt(range.length, 10);
+            if (end > max) {
+              end = max;
+              this.log("End range automatically set to the max value of " + 
max);
+            }
+            if (start < 0 || end - start < 0 || start > max || end > max) {
+              valid = false;
+              this.log("Invalid range: " + JSON.stringify(range));
+              this.opt.noMatch(range);
+            } else if (string.substring(start, end).replace(/\s+/g, "") === 
"") {
+              valid = false;
+              this.log("Skipping whitespace only range: " + 
JSON.stringify(range));
+              this.opt.noMatch(range);
+            }
+            return {
+              start,
+              end,
+              valid
+            };
+          }
+        }, {
+          key: "getTextNodes",
+          value: function getTextNodes(cb) {
+            var _this4 = this;
+            var val = "", nodes = [];
+            this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function(node) {
+              nodes.push({
+                start: val.length,
+                end: (val += node.textContent).length,
+                node
+              });
+            }, function(node) {
+              if (_this4.matchesExclude(node.parentNode)) {
+                return NodeFilter.FILTER_REJECT;
+              } else {
+                return NodeFilter.FILTER_ACCEPT;
+              }
+            }, function() {
+              cb({
+                value: val,
+                nodes
+              });
+            });
+          }
+        }, {
+          key: "matchesExclude",
+          value: function matchesExclude(el) {
+            return DOMIterator.matches(el, this.opt.exclude.concat(["script", 
"style", "title", "head", "html"]));
+          }
+        }, {
+          key: "wrapRangeInTextNode",
+          value: function wrapRangeInTextNode(node, start, end) {
+            var hEl = !this.opt.element ? "mark" : this.opt.element, startNode 
= node.splitText(start), ret = startNode.splitText(end - start);
+            var repl = document.createElement(hEl);
+            repl.setAttribute("data-markjs", "true");
+            if (this.opt.className) {
+              repl.setAttribute("class", this.opt.className);
+            }
+            repl.textContent = startNode.textContent;
+            startNode.parentNode.replaceChild(repl, startNode);
+            return ret;
+          }
+        }, {
+          key: "wrapRangeInMappedTextNode",
+          value: function wrapRangeInMappedTextNode(dict, start, end, 
filterCb, eachCb) {
+            var _this5 = this;
+            dict.nodes.every(function(n, i) {
+              var sibl = dict.nodes[i + 1];
+              if (typeof sibl === "undefined" || sibl.start > start) {
+                if (!filterCb(n.node)) {
+                  return false;
+                }
+                var s = start - n.start, e = (end > n.end ? n.end : end) - 
n.start, startStr = dict.value.substr(0, n.start), endStr = dict.value.substr(e 
+ n.start);
+                n.node = _this5.wrapRangeInTextNode(n.node, s, e);
+                dict.value = startStr + endStr;
+                dict.nodes.forEach(function(k, j) {
+                  if (j >= i) {
+                    if (dict.nodes[j].start > 0 && j !== i) {
+                      dict.nodes[j].start -= e;
+                    }
+                    dict.nodes[j].end -= e;
+                  }
+                });
+                end -= e;
+                eachCb(n.node.previousSibling, n.start);
+                if (end > n.end) {
+                  start = n.end;
+                } else {
+                  return false;
+                }
+              }
+              return true;
+            });
+          }
+        }, {
+          key: "wrapMatches",
+          value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, 
endCb) {
+            var _this6 = this;
+            var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
+            this.getTextNodes(function(dict) {
+              dict.nodes.forEach(function(node) {
+                node = node.node;
+                var match = void 0;
+                while ((match = regex.exec(node.textContent)) !== null && 
match[matchIdx] !== "") {
+                  if (!filterCb(match[matchIdx], node)) {
+                    continue;
+                  }
+                  var pos = match.index;
+                  if (matchIdx !== 0) {
+                    for (var i = 1; i < matchIdx; i++) {
+                      pos += match[i].length;
+                    }
+                  }
+                  node = _this6.wrapRangeInTextNode(node, pos, pos + 
match[matchIdx].length);
+                  eachCb(node.previousSibling);
+                  regex.lastIndex = 0;
+                }
+              });
+              endCb();
+            });
+          }
+        }, {
+          key: "wrapMatchesAcrossElements",
+          value: function wrapMatchesAcrossElements(regex, ignoreGroups, 
filterCb, eachCb, endCb) {
+            var _this7 = this;
+            var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;
+            this.getTextNodes(function(dict) {
+              var match = void 0;
+              while ((match = regex.exec(dict.value)) !== null && 
match[matchIdx] !== "") {
+                var start = match.index;
+                if (matchIdx !== 0) {
+                  for (var i = 1; i < matchIdx; i++) {
+                    start += match[i].length;
+                  }
+                }
+                var end = start + match[matchIdx].length;
+                _this7.wrapRangeInMappedTextNode(dict, start, end, 
function(node) {
+                  return filterCb(match[matchIdx], node);
+                }, function(node, lastIndex) {
+                  regex.lastIndex = lastIndex;
+                  eachCb(node);
+                });
+              }
+              endCb();
+            });
+          }
+        }, {
+          key: "wrapRangeFromIndex",
+          value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) {
+            var _this8 = this;
+            this.getTextNodes(function(dict) {
+              var originalLength = dict.value.length;
+              ranges.forEach(function(range, counter) {
+                var _checkWhitespaceRange = 
_this8.checkWhitespaceRanges(range, originalLength, dict.value), start = 
_checkWhitespaceRange.start, end = _checkWhitespaceRange.end, valid = 
_checkWhitespaceRange.valid;
+                if (valid) {
+                  _this8.wrapRangeInMappedTextNode(dict, start, end, 
function(node) {
+                    return filterCb(node, range, dict.value.substring(start, 
end), counter);
+                  }, function(node) {
+                    eachCb(node, range);
+                  });
+                }
+              });
+              endCb();
+            });
+          }
+        }, {
+          key: "unwrapMatches",
+          value: function unwrapMatches(node) {
+            var parent = node.parentNode;
+            var docFrag = document.createDocumentFragment();
+            while (node.firstChild) {
+              docFrag.appendChild(node.removeChild(node.firstChild));
+            }
+            parent.replaceChild(docFrag, node);
+            if (!this.ie) {
+              parent.normalize();
+            } else {
+              this.normalizeTextNode(parent);
+            }
+          }
+        }, {
+          key: "normalizeTextNode",
+          value: function normalizeTextNode(node) {
+            if (!node) {
+              return;
+            }
+            if (node.nodeType === 3) {
+              while (node.nextSibling && node.nextSibling.nodeType === 3) {
+                node.nodeValue += node.nextSibling.nodeValue;
+                node.parentNode.removeChild(node.nextSibling);
+              }
+            } else {
+              this.normalizeTextNode(node.firstChild);
+            }
+            this.normalizeTextNode(node.nextSibling);
+          }
+        }, {
+          key: "markRegExp",
+          value: function markRegExp(regexp, opt) {
+            var _this9 = this;
+            this.opt = opt;
+            this.log('Searching with expression "' + regexp + '"');
+            var totalMatches = 0, fn = "wrapMatches";
+            var eachCb = function eachCb2(element) {
+              totalMatches++;
+              _this9.opt.each(element);
+            };
+            if (this.opt.acrossElements) {
+              fn = "wrapMatchesAcrossElements";
+            }
+            this[fn](regexp, this.opt.ignoreGroups, function(match, node) {
+              return _this9.opt.filter(node, match, totalMatches);
+            }, eachCb, function() {
+              if (totalMatches === 0) {
+                _this9.opt.noMatch(regexp);
+              }
+              _this9.opt.done(totalMatches);
+            });
+          }
+        }, {
+          key: "mark",
+          value: function mark(sv, opt) {
+            var _this10 = this;
+            this.opt = opt;
+            var totalMatches = 0, fn = "wrapMatches";
+            var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv 
=== "string" ? [sv] : sv), kwArr = _getSeparatedKeywords.keywords, kwArrLen = 
_getSeparatedKeywords.length, sens = this.opt.caseSensitive ? "" : "i", handler 
= function handler2(kw) {
+              var regex = new RegExp(_this10.createRegExp(kw), "gm" + sens), 
matches = 0;
+              _this10.log('Searching with expression "' + regex + '"');
+              _this10[fn](regex, 1, function(term, node) {
+                return _this10.opt.filter(node, kw, totalMatches, matches);
+              }, function(element) {
+                matches++;
+                totalMatches++;
+                _this10.opt.each(element);
+              }, function() {
+                if (matches === 0) {
+                  _this10.opt.noMatch(kw);
+                }
+                if (kwArr[kwArrLen - 1] === kw) {
+                  _this10.opt.done(totalMatches);
+                } else {
+                  handler2(kwArr[kwArr.indexOf(kw) + 1]);
+                }
+              });
+            };
+            if (this.opt.acrossElements) {
+              fn = "wrapMatchesAcrossElements";
+            }
+            if (kwArrLen === 0) {
+              this.opt.done(totalMatches);
+            } else {
+              handler(kwArr[0]);
+            }
+          }
+        }, {
+          key: "markRanges",
+          value: function markRanges(rawRanges, opt) {
+            var _this11 = this;
+            this.opt = opt;
+            var totalMatches = 0, ranges = this.checkRanges(rawRanges);
+            if (ranges && ranges.length) {
+              this.log("Starting to mark with the following ranges: " + 
JSON.stringify(ranges));
+              this.wrapRangeFromIndex(ranges, function(node, range, match, 
counter) {
+                return _this11.opt.filter(node, range, match, counter);
+              }, function(element, range) {
+                totalMatches++;
+                _this11.opt.each(element, range);
+              }, function() {
+                _this11.opt.done(totalMatches);
+              });
+            } else {
+              this.opt.done(totalMatches);
+            }
+          }
+        }, {
+          key: "unmark",
+          value: function unmark(opt) {
+            var _this12 = this;
+            this.opt = opt;
+            var sel = this.opt.element ? this.opt.element : "*";
+            sel += "[data-markjs]";
+            if (this.opt.className) {
+              sel += "." + this.opt.className;
+            }
+            this.log('Removal selector "' + sel + '"');
+            this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function(node) {
+              _this12.unwrapMatches(node);
+            }, function(node) {
+              var matchesSel = DOMIterator.matches(node, sel), matchesExclude 
= _this12.matchesExclude(node);
+              if (!matchesSel || matchesExclude) {
+                return NodeFilter.FILTER_REJECT;
+              } else {
+                return NodeFilter.FILTER_ACCEPT;
+              }
+            }, this.opt.done);
+          }
+        }, {
+          key: "opt",
+          set: function set$$1(val) {
+            this._opt = _extends({}, {
+              "element": "",
+              "className": "",
+              "exclude": [],
+              "iframes": false,
+              "iframesTimeout": 5e3,
+              "separateWordSearch": true,
+              "diacritics": true,
+              "synonyms": {},
+              "accuracy": "partially",
+              "acrossElements": false,
+              "caseSensitive": false,
+              "ignoreJoiners": false,
+              "ignoreGroups": 0,
+              "ignorePunctuation": [],
+              "wildcards": "disabled",
+              "each": function each() {
+              },
+              "noMatch": function noMatch() {
+              },
+              "filter": function filter() {
+                return true;
+              },
+              "done": function done() {
+              },
+              "debug": false,
+              "log": window.console
+            }, val);
+          },
+          get: function get$$1() {
+            return this._opt;
+          }
+        }, {
+          key: "iterator",
+          get: function get$$1() {
+            return new DOMIterator(this.ctx, this.opt.iframes, 
this.opt.exclude, this.opt.iframesTimeout);
+          }
+        }]);
+        return Mark3;
+      }();
+      function Mark2(ctx) {
+        var _this = this;
+        var instance = new Mark$1(ctx);
+        this.mark = function(sv, opt) {
+          instance.mark(sv, opt);
+          return _this;
+        };
+        this.markRegExp = function(sv, opt) {
+          instance.markRegExp(sv, opt);
+          return _this;
+        };
+        this.markRanges = function(sv, opt) {
+          instance.markRanges(sv, opt);
+          return _this;
+        };
+        this.unmark = function(opt) {
+          instance.unmark(opt);
+          return _this;
+        };
+        return this;
+      }
+      return Mark2;
+    });
+  }
+});
+
+// lib/highlight.ts
+var import_mark = __toESM(require_mark(), 1);
+var PagefindHighlight = class {
+  constructor(options = {
+    markContext: null,
+    highlightParam: "pagefind-highlight",
+    markOptions: {
+      className: "pagefind-highlight",
+      exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"]
+    },
+    addStyles: true
+  }) {
+    var _a, _b;
+    const { highlightParam, markContext, markOptions, addStyles } = options;
+    this.highlightParam = highlightParam ?? "pagefind-highlight";
+    this.addStyles = addStyles ?? true;
+    this.markContext = markContext !== void 0 ? markContext : null;
+    this.markOptions = markOptions !== void 0 ? markOptions : {
+      className: "pagefind-highlight",
+      exclude: ["[data-pagefind-ignore]", "[data-pagefind-ignore] *"]
+    };
+    (_a = this.markOptions).className ?? (_a.className = 
"pagefind__highlight");
+    (_b = this.markOptions).exclude ?? (_b.exclude = [
+      "[data-pagefind-ignore]",
+      "[data-pagefind-ignore] *"
+    ]);
+    this.markOptions.separateWordSearch = false;
+    this.highlight();
+  }
+  getHighlightParams(paramName) {
+    const urlParams = new URLSearchParams(window.location.search);
+    return urlParams.getAll(paramName);
+  }
+  // Inline styles might be too hard to override
+  addHighlightStyles(className) {
+    if (!className)
+      return;
+    const styleElement = document.createElement("style");
+    styleElement.innerText = `:where(.${className}) { background-color: 
yellow; color: black; }`;
+    document.head.appendChild(styleElement);
+  }
+  createMarkInstance() {
+    if (this.markContext) {
+      return new import_mark.default(this.markContext);
+    }
+    const pagefindBody = document.querySelectorAll("[data-pagefind-body]");
+    if (pagefindBody.length !== 0) {
+      return new import_mark.default(pagefindBody);
+    } else {
+      return new import_mark.default(document.body);
+    }
+  }
+  markText(instance, text) {
+    instance.mark(text, this.markOptions);
+  }
+  highlight() {
+    const params = this.getHighlightParams(this.highlightParam);
+    if (!params || params.length === 0)
+      return;
+    this.addStyles && this.addHighlightStyles(this.markOptions.className);
+    const markInstance = this.createMarkInstance();
+    this.markText(markInstance, params);
+  }
+};
+window.PagefindHighlight = PagefindHighlight;
+export {
+  PagefindHighlight as default
+};
+/*! Bundled license information:
+
+mark.js/dist/mark.js:
+  (*!***************************************************
+  * mark.js v8.11.1
+  * https://markjs.io/
+  * Copyright (c) 2014–2018, Julian Kühnel
+  * Released under the MIT license https://git.io/vwTVl
+  *****************************************************)
+*/
\ No newline at end of file
diff --git a/pagefind/pagefind-ui.css b/pagefind/pagefind-ui.css
index ef2d9ec8a..62a7074d5 100644
--- a/pagefind/pagefind-ui.css
+++ b/pagefind/pagefind-ui.css
@@ -1 +1 @@
-.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px
 * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 
0 calc(40px * var(--pagefind-ui-scale));border-top:solid 
var(--pagefind-ui-border-width) 
var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid
 var(--pagefind-ui-border-width) 
var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30 [...]
\ No newline at end of file
+.pagefind-ui__result.svelte-j9e30.svelte-j9e30{list-style-type:none;display:flex;align-items:flex-start;gap:min(calc(40px
 * var(--pagefind-ui-scale)),3%);padding:calc(30px * var(--pagefind-ui-scale)) 
0 calc(40px * var(--pagefind-ui-scale));border-top:solid 
var(--pagefind-ui-border-width) 
var(--pagefind-ui-border)}.pagefind-ui__result.svelte-j9e30.svelte-j9e30:last-of-type{border-bottom:solid
 var(--pagefind-ui-border-width) 
var(--pagefind-ui-border)}.pagefind-ui__result-thumb.svelte-j9e30 [...]
\ No newline at end of file
diff --git a/pagefind/pagefind-ui.js b/pagefind/pagefind-ui.js
index d35ad48ea..52323425b 100644
--- a/pagefind/pagefind-ui.js
+++ b/pagefind/pagefind-ui.js
@@ -1,2 +1,2 @@
-(()=>{var Gn=Object.defineProperty;var A=(n,e)=>{for(var t in 
e)Gn(n,t,{get:e[t],enumerable:!0})};function j(){}function Qe(n){return 
n()}function Dt(){return Object.create(null)}function 
G(n){n.forEach(Qe)}function qe(n){return typeof n=="function"}function 
V(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var 
Le;function se(n,e){return 
Le||(Le=document.createElement("a")),Le.href=e,n===Le.href}function 
zt(n){return Object.keys(n).length===0}var Ut=typeof window [...]
-`))}h||t(22,h=a?12:30);let H={...u||{},excerptLength:h};await 
g.options(H);for(let O of m){if(!O.bundlePath)throw new Error("mergeIndex 
requires a bundlePath parameter");let P=O.bundlePath;delete O.bundlePath,await 
g.mergeIndex(P,O)}k=g,Fn()}},Fn=async()=>{k&&(Ht=await 
k.filters(),(!ue||!Object.keys(ue).length)&&t(16,ue=Ht))},Hn=g=>{let 
H={};return 
Object.entries(g).filter(([,O])=>O).forEach(([O])=>{let[P,Bn]=O.split(/:(.*)$/);H[P]=H[P]||[],H[P].push(Bn)}),H},ce,Nn=async(g,H)=>{if(!g){t(
 [...]
\ No newline at end of file
+(()=>{var is=Object.defineProperty;var v=(n,e)=>{for(var t in 
e)is(n,t,{get:e[t],enumerable:!0})};function j(){}function lt(n){return 
n()}function Qt(){return Object.create(null)}function 
V(n){n.forEach(lt)}function Ye(n){return typeof n=="function"}function 
G(n,e){return n!=n?e==e:n!==e||n&&typeof n=="object"||typeof n=="function"}var 
Ke;function le(n,e){return 
Ke||(Ke=document.createElement("a")),Ke.href=e,n===Ke.href}function 
xt(n){return Object.keys(n).length===0}var $t=typeof window [...]
+`))}_||t(22,_=h?12:30);let H={...m||{},excerptLength:_};await 
g.options(H);for(let O of d){if(!O.bundlePath)throw new Error("mergeIndex 
requires a bundlePath parameter");let L=O.bundlePath;delete O.bundlePath,await 
g.mergeIndex(L,O)}w=g,Jn()}},Jn=async()=>{w&&(Jt=await 
w.filters(),(!ue||!Object.keys(ue).length)&&t(16,ue=Jt))},Yn=g=>{let 
H={};return 
Object.entries(g).filter(([,O])=>O).forEach(([O])=>{let[L,ls]=O.split(/:(.*)$/);H[L]=H[L]||[],H[L].push(ls)}),H},ce,Xn=async(g,H)=>{if(!g){t(
 [...]
\ No newline at end of file
diff --git a/pagefind/pagefind.en_19d1899d7d.pf_meta 
b/pagefind/pagefind.en_19d1899d7d.pf_meta
new file mode 100644
index 000000000..1cd4d64f1
Binary files /dev/null and b/pagefind/pagefind.en_19d1899d7d.pf_meta differ
diff --git a/pagefind/pagefind.en_5d9199433e.pf_meta 
b/pagefind/pagefind.en_5d9199433e.pf_meta
deleted file mode 100644
index d5271d6ec..000000000
Binary files a/pagefind/pagefind.en_5d9199433e.pf_meta and /dev/null differ
diff --git a/pagefind/pagefind.js b/pagefind/pagefind.js
index 7954ecf95..94ab9237b 100644
--- a/pagefind/pagefind.js
+++ b/pagefind/pagefind.js
@@ -1,9 +1,9 @@
-const pagefind_version="1.0.3";let wasm_bindgen;(function(){const 
__exports={};let script_src;if(typeof 
document==='undefined'){script_src=location.href}else{script_src=new 
URL("UNHANDLED",location.href).toString()}let wasm;let 
cachedUint8Memory0=null;function 
getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new
 Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let 
WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const p [...]
+const pagefind_version="1.0.4";let wasm_bindgen;(function(){const 
__exports={};let script_src;if(typeof 
document==='undefined'){script_src=location.href}else{script_src=new 
URL("UNHANDLED",location.href).toString()}let wasm;let 
cachedUint8Memory0=null;function 
getUint8Memory0(){if(cachedUint8Memory0===null||cachedUint8Memory0.byteLength===0){cachedUint8Memory0=new
 Uint8Array(wasm.memory.buffer)}return cachedUint8Memory0}let 
WASM_VECTOR_LEN=0;function passArray8ToWasm0(arg,malloc){const p [...]
 ${e?.toString()}`);throw new Error("Failed to load Pagefind 
metadata")}}findIndex(language){if(this.languages){let 
index=this.languages[language];if(index)return 
index;index=this.languages[language.split("-")[0]];if(index)return index;let 
topLang=Object.values(this.languages).sort((a,b)=>b.page_count-a.page_count);if(topLang[0])return
 topLang[0]}throw new Error("Pagefind Error: No language indexes found.")}async 
loadMeta(index){try{let compressed_resp=await fetch(`${this.basePath}pagefin 
[...]
 ${e?.toString()}`)}}async loadWasm(language){try{const 
wasm_url=`${this.basePath}wasm.${language}.pagefind`;let compressed_resp=await 
fetch(wasm_url);let compressed_wasm=await compressed_resp.arrayBuffer();const 
final_wasm=this.decompress(new Uint8Array(compressed_wasm),"Pagefind 
WebAssembly");if(!final_wasm){throw new Error("No WASM after 
decompression")}this.wasm=await 
this.backend(final_wasm)}catch(e){console.error(`Failed to load the Pagefind 
WASM:
 ${e?.toString()}`);throw new Error(`Failed to load the Pagefind WASM:
 ${e?.toString()}`)}}async _loadGenericChunk(url,method){try{let 
compressed_resp=await fetch(url);let compressed_chunk=await 
compressed_resp.arrayBuffer();let chunk=this.decompress(new 
Uint8Array(compressed_chunk),url);let ptr=await 
this.getPtr();this.raw_ptr=this.backend[method](ptr,chunk)}catch(e){console.error(`Failed
 to load the index chunk ${url}:
-${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const 
url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return
 await this.loaded_chunks[hash]}async 
loadFilterChunk(hash){if(!this.loaded_filters[hash]){const 
url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return
 await this.loaded_filters[hash]}async _loadFragment(hash){let comp [...]
+${e?.toString()}`)}}async loadChunk(hash){if(!this.loaded_chunks[hash]){const 
url=`${this.basePath}index/${hash}.pf_index`;this.loaded_chunks[hash]=this._loadGenericChunk(url,"load_index_chunk")}return
 await this.loaded_chunks[hash]}async 
loadFilterChunk(hash){if(!this.loaded_filters[hash]){const 
url=`${this.basePath}filter/${hash}.pf_filter`;this.loaded_filters[hash]=this._loadGenericChunk(url,"load_filter_chunk")}return
 await this.loaded_filters[hash]}async _loadFragment(hash){let comp [...]
   hash:${hash}
   score:${score}
-  locations:${all_locations}`);let 
weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let
 
locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await
 this.loadFragment(hash,weighted_locations)}});const searchTime=Date.now()-sea 
[...]
\ No newline at end of file
+  locations:${all_locations}`);let 
weighted_locations=all_locations.length?all_locations.split(",").map((l)=>{let[weight,balanced_score,location]=l.split(">");return{weight:parseInt(weight)/24,balanced_score:parseFloat(balanced_score),location:parseInt(location)}}):[];let
 
locations=weighted_locations.map((l)=>l.location);return{id:hash,score:parseFloat(score)*this.indexWeight,words:locations,data:async()=>await
 this.loadFragment(hash,weighted_locations,term)}});const searchTime=Date.now( 
[...]
\ No newline at end of file
diff --git a/pagefind/wasm.en.pagefind b/pagefind/wasm.en.pagefind
index 753324d23..05dfcdbfc 100644
Binary files a/pagefind/wasm.en.pagefind and b/pagefind/wasm.en.pagefind differ
diff --git a/pagefind/wasm.unknown.pagefind b/pagefind/wasm.unknown.pagefind
index e1f6bdc0f..a2f874246 100644
Binary files a/pagefind/wasm.unknown.pagefind and 
b/pagefind/wasm.unknown.pagefind differ
diff --git a/releases.html b/releases.html
index 3415fcdcd..e9a591121 100644
--- a/releases.html
+++ b/releases.html
@@ -125,6 +125,7 @@
 <div class="row" data-pagefind-body="true"><div><section><p>This is a list of 
all our releases, available from our <a href="/downloads.cgi">downloads</a> 
page.</p>
 <h2><a href="#november-2023" id="november-2023">November 2023</a></h2>
 <ul>
+<li>Apache Sling OSGi Feature Maven Plugin 1.8.0 (16th)</li>
 <li>XSS Protection API 2.4.0 (13th)</li>
 <li>Resource Resolver 1.11.2 (12th)</li>
 <li>Content Distribution Journal Messages 0.5.6 (10th)</li>
@@ -2506,7 +2507,7 @@
                             content/releases.md
                         </a>
                     </div>                    <div class="revisionInfo">
-                        Last modified by <span class="author">Robert 
Munteanu</span> on <span class="comment">2023-11-13</span>
+                        Last modified by <span class="author">Carsten 
Ziegeler</span> on <span class="comment">2023-11-16</span>
                     </div><p>
                         Apache Sling, Sling, Apache, the Apache feather logo, 
and the Apache Sling project
     logo are trademarks of The Apache Software Foundation. All other marks 
mentioned 
diff --git a/sitemap.xml b/sitemap.xml
index d306df5bc..7cec0c2f6 100644
--- a/sitemap.xml
+++ b/sitemap.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0"?>
 <urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9 
http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd";>
     <url>
-        
<loc>https://sling.apache.org/releases.html</loc><lastmod>2023-11-13</lastmod>
+        
<loc>https://sling.apache.org/releases.html</loc><lastmod>2023-11-16</lastmod>
     </url><url>
         
<loc>https://sling.apache.org/documentation/the-sling-engine/resources.html</loc><lastmod>2023-10-24</lastmod>
     </url><url>

Reply via email to