{"version":3,"sources":["webpack:///./node_modules/mark.js/dist/mark.js"],"names":["module","exports","_typeof","Symbol","iterator","obj","constructor","prototype","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","key","protoProps","staticProps","_extends","assign","arguments","source","hasOwnProperty","call","DOMIterator","ctx","iframes","undefined","exclude","iframesTimeout","this","value","filteredCtx","NodeList","isPrototypeOf","Array","slice","isArray","document","querySelectorAll","forEach","isDescendant","filter","contexts","contains","indexOf","push","ifr","successFn","errorFn","doc","ifrWin","contentWindow","Error","e","bl","src","getAttribute","trim","location","href","_this","called","tout","listener","clearTimeout","isIframeBlank","removeEventListener","getIframeContents","addEventListener","setTimeout","readyState","observeIframeLoad","done","_this2","eachCalled","forEachIframe","waitForIframes","querySelector","handled","each","_this3","end","open","checkEnd","matches","onIframeReady","con","whatToShow","createNodeIterator","contents","node","prevNode","compareDocumentPosition","Node","DOCUMENT_POSITION_PRECEDING","DOCUMENT_POSITION_FOLLOWING","itr","previousNode","nextNode","currIfr","ifrDict","val","compareNodeIframe","eCb","fCb","_this4","createInstanceOnIframe","forEachNode","eachCb","filterCb","doneCb","_this5","createIterator","elements","retrieveNodes","_getIteratorNode","getIteratorNode","checkIframeFilter","ifrNode","handleOpenIframes","_this6","getContexts","ready","iterateThroughNodes","element","selector","selectors","fn","matchesSelector","msMatchesSelector","mozMatchesSelector","oMatchesSelector","webkitMatchesSelector","match","every","sel","Mark$1","Mark","ie","ua","window","navigator","userAgent","msg","level","log","opt","debug","str","replace","wildcards","setupWildcardsRegExp","escapeStr","keys","synonyms","createSynonymsRegExp","ignoreJoiners","ignorePunctuation","setupIgnoreJoinersRegExp","diacritics","createDiacriticsRegExp","createMergedBlanksRegExp","createJoinersRegExp","createWildcardsRegExp","createAccuracyRegExp","syn","sens","caseSensitive","joinerPlaceholder","index","k1","k2","RegExp","processSynomyms","charAt","spaces","indx","original","nextChar","test","joiner","join","split","dct","ch","chars","acc","accuracy","ls","limiters","lsJoin","limiter","sv","stack","kw","separateWordSearch","kwSplitted","sort","a","b","Number","parseFloat","array","toString","noMatch","last","start","item","_callNoMatchOnInvalid","callNoMatchOnInvalidRanges","valid","range","parseInt","isNumeric","JSON","stringify","originalLength","string","max","offset","substring","cb","nodes","NodeFilter","SHOW_TEXT","textContent","matchesExclude","parentNode","FILTER_REJECT","FILTER_ACCEPT","el","concat","hEl","startNode","splitText","ret","repl","createElement","setAttribute","className","replaceChild","dict","n","sibl","s","startStr","substr","endStr","wrapRangeInTextNode","k","j","previousSibling","regex","ignoreGroups","endCb","matchIdx","getTextNodes","exec","pos","lastIndex","_this7","wrapRangeInMappedTextNode","ranges","_this8","counter","_checkWhitespaceRange","checkWhitespaceRanges","parent","docFrag","createDocumentFragment","firstChild","appendChild","removeChild","normalizeTextNode","normalize","nodeType","nextSibling","nodeValue","regexp","_this9","totalMatches","acrossElements","_this10","_getSeparatedKeywords","getSeparatedKeywords","kwArr","keywords","kwArrLen","handler","createRegExp","term","rawRanges","_this11","checkRanges","wrapRangeFromIndex","_this12","SHOW_ELEMENT","unwrapMatches","matchesSel","set","_opt","console","get","mark","markRegExp","markRanges","unmark","factory"],"mappings":"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","file":"js/npm.mark.js-6f2116dd41f8aa0a271c.chunk.js","sourcesContent":["/*!***************************************************\n* mark.js v8.11.1\n* https://markjs.io/\n* Copyright (c) 2014–2018, Julian Kühnel\n* Released under the MIT license https://git.io/vwTVl\n*****************************************************/\n\n(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.Mark = factory();\n})(this, function () {\n 'use strict';\n\n var _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n var classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n var _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n var DOMIterator = function () {\n function DOMIterator(ctx) {\n var iframes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n var exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n var iframesTimeout = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 5000;\n classCallCheck(this, DOMIterator);\n this.ctx = ctx;\n this.iframes = iframes;\n this.exclude = exclude;\n this.iframesTimeout = iframesTimeout;\n }\n createClass(DOMIterator, [{\n key: 'getContexts',\n value: function getContexts() {\n var ctx = void 0,\n filteredCtx = [];\n if (typeof this.ctx === 'undefined' || !this.ctx) {\n ctx = [];\n } else if (NodeList.prototype.isPrototypeOf(this.ctx)) {\n ctx = Array.prototype.slice.call(this.ctx);\n } else if (Array.isArray(this.ctx)) {\n ctx = this.ctx;\n } else if (typeof this.ctx === 'string') {\n ctx = Array.prototype.slice.call(document.querySelectorAll(this.ctx));\n } else {\n ctx = [this.ctx];\n }\n ctx.forEach(function (ctx) {\n var isDescendant = filteredCtx.filter(function (contexts) {\n return contexts.contains(ctx);\n }).length > 0;\n if (filteredCtx.indexOf(ctx) === -1 && !isDescendant) {\n filteredCtx.push(ctx);\n }\n });\n return filteredCtx;\n }\n }, {\n key: 'getIframeContents',\n value: function getIframeContents(ifr, successFn) {\n var errorFn = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : function () {};\n var doc = void 0;\n try {\n var ifrWin = ifr.contentWindow;\n doc = ifrWin.document;\n if (!ifrWin || !doc) {\n throw new Error('iframe inaccessible');\n }\n } catch (e) {\n errorFn();\n }\n if (doc) {\n successFn(doc);\n }\n }\n }, {\n key: 'isIframeBlank',\n value: function isIframeBlank(ifr) {\n var bl = 'about:blank',\n src = ifr.getAttribute('src').trim(),\n href = ifr.contentWindow.location.href;\n return href === bl && src !== bl && src;\n }\n }, {\n key: 'observeIframeLoad',\n value: function observeIframeLoad(ifr, successFn, errorFn) {\n var _this = this;\n var called = false,\n tout = null;\n var listener = function listener() {\n if (called) {\n return;\n }\n called = true;\n clearTimeout(tout);\n try {\n if (!_this.isIframeBlank(ifr)) {\n ifr.removeEventListener('load', listener);\n _this.getIframeContents(ifr, successFn, errorFn);\n }\n } catch (e) {\n errorFn();\n }\n };\n ifr.addEventListener('load', listener);\n tout = setTimeout(listener, this.iframesTimeout);\n }\n }, {\n key: 'onIframeReady',\n value: function onIframeReady(ifr, successFn, errorFn) {\n try {\n if (ifr.contentWindow.document.readyState === 'complete') {\n if (this.isIframeBlank(ifr)) {\n this.observeIframeLoad(ifr, successFn, errorFn);\n } else {\n this.getIframeContents(ifr, successFn, errorFn);\n }\n } else {\n this.observeIframeLoad(ifr, successFn, errorFn);\n }\n } catch (e) {\n errorFn();\n }\n }\n }, {\n key: 'waitForIframes',\n value: function waitForIframes(ctx, done) {\n var _this2 = this;\n var eachCalled = 0;\n this.forEachIframe(ctx, function () {\n return true;\n }, function (ifr) {\n eachCalled++;\n _this2.waitForIframes(ifr.querySelector('html'), function () {\n if (! --eachCalled) {\n done();\n }\n });\n }, function (handled) {\n if (!handled) {\n done();\n }\n });\n }\n }, {\n key: 'forEachIframe',\n value: function forEachIframe(ctx, filter, each) {\n var _this3 = this;\n var end = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var ifr = ctx.querySelectorAll('iframe'),\n open = ifr.length,\n handled = 0;\n ifr = Array.prototype.slice.call(ifr);\n var checkEnd = function checkEnd() {\n if (--open <= 0) {\n end(handled);\n }\n };\n if (!open) {\n checkEnd();\n }\n ifr.forEach(function (ifr) {\n if (DOMIterator.matches(ifr, _this3.exclude)) {\n checkEnd();\n } else {\n _this3.onIframeReady(ifr, function (con) {\n if (filter(ifr)) {\n handled++;\n each(con);\n }\n checkEnd();\n }, checkEnd);\n }\n });\n }\n }, {\n key: 'createIterator',\n value: function createIterator(ctx, whatToShow, filter) {\n return document.createNodeIterator(ctx, whatToShow, filter, false);\n }\n }, {\n key: 'createInstanceOnIframe',\n value: function createInstanceOnIframe(contents) {\n return new DOMIterator(contents.querySelector('html'), this.iframes);\n }\n }, {\n key: 'compareNodeIframe',\n value: function compareNodeIframe(node, prevNode, ifr) {\n var compCurr = node.compareDocumentPosition(ifr),\n prev = Node.DOCUMENT_POSITION_PRECEDING;\n if (compCurr & prev) {\n if (prevNode !== null) {\n var compPrev = prevNode.compareDocumentPosition(ifr),\n after = Node.DOCUMENT_POSITION_FOLLOWING;\n if (compPrev & after) {\n return true;\n }\n } else {\n return true;\n }\n }\n return false;\n }\n }, {\n key: 'getIteratorNode',\n value: function getIteratorNode(itr) {\n var prevNode = itr.previousNode();\n var node = void 0;\n if (prevNode === null) {\n node = itr.nextNode();\n } else {\n node = itr.nextNode() && itr.nextNode();\n }\n return {\n prevNode: prevNode,\n node: node\n };\n }\n }, {\n key: 'checkIframeFilter',\n value: function checkIframeFilter(node, prevNode, currIfr, ifr) {\n var key = false,\n handled = false;\n ifr.forEach(function (ifrDict, i) {\n if (ifrDict.val === currIfr) {\n key = i;\n handled = ifrDict.handled;\n }\n });\n if (this.compareNodeIframe(node, prevNode, currIfr)) {\n if (key === false && !handled) {\n ifr.push({\n val: currIfr,\n handled: true\n });\n } else if (key !== false && !handled) {\n ifr[key].handled = true;\n }\n return true;\n }\n if (key === false) {\n ifr.push({\n val: currIfr,\n handled: false\n });\n }\n return false;\n }\n }, {\n key: 'handleOpenIframes',\n value: function handleOpenIframes(ifr, whatToShow, eCb, fCb) {\n var _this4 = this;\n ifr.forEach(function (ifrDict) {\n if (!ifrDict.handled) {\n _this4.getIframeContents(ifrDict.val, function (con) {\n _this4.createInstanceOnIframe(con).forEachNode(whatToShow, eCb, fCb);\n });\n }\n });\n }\n }, {\n key: 'iterateThroughNodes',\n value: function iterateThroughNodes(whatToShow, ctx, eachCb, filterCb, doneCb) {\n var _this5 = this;\n var itr = this.createIterator(ctx, whatToShow, filterCb);\n var ifr = [],\n elements = [],\n node = void 0,\n prevNode = void 0,\n retrieveNodes = function retrieveNodes() {\n var _getIteratorNode = _this5.getIteratorNode(itr);\n prevNode = _getIteratorNode.prevNode;\n node = _getIteratorNode.node;\n return node;\n };\n while (retrieveNodes()) {\n if (this.iframes) {\n this.forEachIframe(ctx, function (currIfr) {\n return _this5.checkIframeFilter(node, prevNode, currIfr, ifr);\n }, function (con) {\n _this5.createInstanceOnIframe(con).forEachNode(whatToShow, function (ifrNode) {\n return elements.push(ifrNode);\n }, filterCb);\n });\n }\n elements.push(node);\n }\n elements.forEach(function (node) {\n eachCb(node);\n });\n if (this.iframes) {\n this.handleOpenIframes(ifr, whatToShow, eachCb, filterCb);\n }\n doneCb();\n }\n }, {\n key: 'forEachNode',\n value: function forEachNode(whatToShow, each, filter) {\n var _this6 = this;\n var done = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : function () {};\n var contexts = this.getContexts();\n var open = contexts.length;\n if (!open) {\n done();\n }\n contexts.forEach(function (ctx) {\n var ready = function ready() {\n _this6.iterateThroughNodes(whatToShow, ctx, each, filter, function () {\n if (--open <= 0) {\n done();\n }\n });\n };\n if (_this6.iframes) {\n _this6.waitForIframes(ctx, ready);\n } else {\n ready();\n }\n });\n }\n }], [{\n key: 'matches',\n value: function matches(element, selector) {\n var selectors = typeof selector === 'string' ? [selector] : selector,\n fn = element.matches || element.matchesSelector || element.msMatchesSelector || element.mozMatchesSelector || element.oMatchesSelector || element.webkitMatchesSelector;\n if (fn) {\n var match = false;\n selectors.every(function (sel) {\n if (fn.call(element, sel)) {\n match = true;\n return false;\n }\n return true;\n });\n return match;\n } else {\n return false;\n }\n }\n }]);\n return DOMIterator;\n }();\n var Mark$1 = function () {\n function Mark(ctx) {\n classCallCheck(this, Mark);\n this.ctx = ctx;\n this.ie = false;\n var ua = window.navigator.userAgent;\n if (ua.indexOf('MSIE') > -1 || ua.indexOf('Trident') > -1) {\n this.ie = true;\n }\n }\n createClass(Mark, [{\n key: 'log',\n value: function log(msg) {\n var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'debug';\n var log = this.opt.log;\n if (!this.opt.debug) {\n return;\n }\n if ((typeof log === 'undefined' ? 'undefined' : _typeof(log)) === 'object' && typeof log[level] === 'function') {\n log[level]('mark.js: ' + msg);\n }\n }\n }, {\n key: 'escapeStr',\n value: function escapeStr(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n }\n }, {\n key: 'createRegExp',\n value: function createRegExp(str) {\n if (this.opt.wildcards !== 'disabled') {\n str = this.setupWildcardsRegExp(str);\n }\n str = this.escapeStr(str);\n if (Object.keys(this.opt.synonyms).length) {\n str = this.createSynonymsRegExp(str);\n }\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.setupIgnoreJoinersRegExp(str);\n }\n if (this.opt.diacritics) {\n str = this.createDiacriticsRegExp(str);\n }\n str = this.createMergedBlanksRegExp(str);\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.createJoinersRegExp(str);\n }\n if (this.opt.wildcards !== 'disabled') {\n str = this.createWildcardsRegExp(str);\n }\n str = this.createAccuracyRegExp(str);\n return str;\n }\n }, {\n key: 'createSynonymsRegExp',\n value: function createSynonymsRegExp(str) {\n var syn = this.opt.synonyms,\n sens = this.opt.caseSensitive ? '' : 'i',\n joinerPlaceholder = this.opt.ignoreJoiners || this.opt.ignorePunctuation.length ? '\\0' : '';\n for (var index in syn) {\n if (syn.hasOwnProperty(index)) {\n var value = syn[index],\n k1 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(index) : this.escapeStr(index),\n k2 = this.opt.wildcards !== 'disabled' ? this.setupWildcardsRegExp(value) : this.escapeStr(value);\n if (k1 !== '' && k2 !== '') {\n str = str.replace(new RegExp('(' + this.escapeStr(k1) + '|' + this.escapeStr(k2) + ')', 'gm' + sens), joinerPlaceholder + ('(' + this.processSynomyms(k1) + '|') + (this.processSynomyms(k2) + ')') + joinerPlaceholder);\n }\n }\n }\n return str;\n }\n }, {\n key: 'processSynomyms',\n value: function processSynomyms(str) {\n if (this.opt.ignoreJoiners || this.opt.ignorePunctuation.length) {\n str = this.setupIgnoreJoinersRegExp(str);\n }\n return str;\n }\n }, {\n key: 'setupWildcardsRegExp',\n value: function setupWildcardsRegExp(str) {\n str = str.replace(/(?:\\\\)*\\?/g, function (val) {\n return val.charAt(0) === '\\\\' ? '?' : '\\x01';\n });\n return str.replace(/(?:\\\\)*\\*/g, function (val) {\n return val.charAt(0) === '\\\\' ? '*' : '\\x02';\n });\n }\n }, {\n key: 'createWildcardsRegExp',\n value: function createWildcardsRegExp(str) {\n var spaces = this.opt.wildcards === 'withSpaces';\n return str.replace(/\\u0001/g, spaces ? '[\\\\S\\\\s]?' : '\\\\S?').replace(/\\u0002/g, spaces ? '[\\\\S\\\\s]*?' : '\\\\S*');\n }\n }, {\n key: 'setupIgnoreJoinersRegExp',\n value: function setupIgnoreJoinersRegExp(str) {\n return str.replace(/[^(|)\\\\]/g, function (val, indx, original) {\n var nextChar = original.charAt(indx + 1);\n if (/[(|)\\\\]/.test(nextChar) || nextChar === '') {\n return val;\n } else {\n return val + '\\0';\n }\n });\n }\n }, {\n key: 'createJoinersRegExp',\n value: function createJoinersRegExp(str) {\n var joiner = [];\n var ignorePunctuation = this.opt.ignorePunctuation;\n if (Array.isArray(ignorePunctuation) && ignorePunctuation.length) {\n joiner.push(this.escapeStr(ignorePunctuation.join('')));\n }\n if (this.opt.ignoreJoiners) {\n joiner.push('\\\\u00ad\\\\u200b\\\\u200c\\\\u200d');\n }\n return joiner.length ? str.split(/\\u0000+/).join('[' + joiner.join('') + ']*') : str;\n }\n }, {\n key: 'createDiacriticsRegExp',\n value: function createDiacriticsRegExp(str) {\n var sens = this.opt.caseSensitive ? '' : 'i',\n dct = this.opt.caseSensitive ? ['aàáảãạăằắẳẵặâầấẩẫậäåāą', 'AÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćč', 'CÇĆČ', 'dđď', 'DĐĎ', 'eèéẻẽẹêềếểễệëěēę', 'EÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïī', 'IÌÍỈĨỊÎÏĪ', 'lł', 'LŁ', 'nñňń', 'NÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøō', 'OÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rř', 'RŘ', 'sšśșş', 'SŠŚȘŞ', 'tťțţ', 'TŤȚŢ', 'uùúủũụưừứửữựûüůū', 'UÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿ', 'YÝỲỶỸỴŸ', 'zžżź', 'ZŽŻŹ'] : ['aàáảãạăằắẳẵặâầấẩẫậäåāąAÀÁẢÃẠĂẰẮẲẴẶÂẦẤẨẪẬÄÅĀĄ', 'cçćčCÇĆČ', 'dđďDĐĎ', 'eèéẻẽẹêềếểễệëěēęEÈÉẺẼẸÊỀẾỂỄỆËĚĒĘ', 'iìíỉĩịîïīIÌÍỈĨỊÎÏĪ', 'lłLŁ', 'nñňńNÑŇŃ', 'oòóỏõọôồốổỗộơởỡớờợöøōOÒÓỎÕỌÔỒỐỔỖỘƠỞỠỚỜỢÖØŌ', 'rřRŘ', 'sšśșşSŠŚȘŞ', 'tťțţTŤȚŢ', 'uùúủũụưừứửữựûüůūUÙÚỦŨỤƯỪỨỬỮỰÛÜŮŪ', 'yýỳỷỹỵÿYÝỲỶỸỴŸ', 'zžżźZŽŻŹ'];\n var handled = [];\n str.split('').forEach(function (ch) {\n dct.every(function (dct) {\n if (dct.indexOf(ch) !== -1) {\n if (handled.indexOf(dct) > -1) {\n return false;\n }\n str = str.replace(new RegExp('[' + dct + ']', 'gm' + sens), '[' + dct + ']');\n handled.push(dct);\n }\n return true;\n });\n });\n return str;\n }\n }, {\n key: 'createMergedBlanksRegExp',\n value: function createMergedBlanksRegExp(str) {\n return str.replace(/[\\s]+/gmi, '[\\\\s]+');\n }\n }, {\n key: 'createAccuracyRegExp',\n value: function createAccuracyRegExp(str) {\n var _this = this;\n var chars = '!\"#$%&\\'()*+,-./:;<=>?@[\\\\]^_`{|}~¡¿';\n var acc = this.opt.accuracy,\n val = typeof acc === 'string' ? acc : acc.value,\n ls = typeof acc === 'string' ? [] : acc.limiters,\n lsJoin = '';\n ls.forEach(function (limiter) {\n lsJoin += '|' + _this.escapeStr(limiter);\n });\n switch (val) {\n case 'partially':\n default:\n return '()(' + str + ')';\n case 'complementary':\n lsJoin = '\\\\s' + (lsJoin ? lsJoin : this.escapeStr(chars));\n return '()([^' + lsJoin + ']*' + str + '[^' + lsJoin + ']*)';\n case 'exactly':\n return '(^|\\\\s' + lsJoin + ')(' + str + ')(?=$|\\\\s' + lsJoin + ')';\n }\n }\n }, {\n key: 'getSeparatedKeywords',\n value: function getSeparatedKeywords(sv) {\n var _this2 = this;\n var stack = [];\n sv.forEach(function (kw) {\n if (!_this2.opt.separateWordSearch) {\n if (kw.trim() && stack.indexOf(kw) === -1) {\n stack.push(kw);\n }\n } else {\n kw.split(' ').forEach(function (kwSplitted) {\n if (kwSplitted.trim() && stack.indexOf(kwSplitted) === -1) {\n stack.push(kwSplitted);\n }\n });\n }\n });\n return {\n 'keywords': stack.sort(function (a, b) {\n return b.length - a.length;\n }),\n 'length': stack.length\n };\n }\n }, {\n key: 'isNumeric',\n value: function isNumeric(value) {\n return Number(parseFloat(value)) == value;\n }\n }, {\n key: 'checkRanges',\n value: function checkRanges(array) {\n var _this3 = this;\n if (!Array.isArray(array) || Object.prototype.toString.call(array[0]) !== '[object Object]') {\n this.log('markRanges() will only accept an array of objects');\n this.opt.noMatch(array);\n return [];\n }\n var stack = [];\n var last = 0;\n array.sort(function (a, b) {\n return a.start - b.start;\n }).forEach(function (item) {\n var _callNoMatchOnInvalid = _this3.callNoMatchOnInvalidRanges(item, last),\n start = _callNoMatchOnInvalid.start,\n end = _callNoMatchOnInvalid.end,\n valid = _callNoMatchOnInvalid.valid;\n if (valid) {\n item.start = start;\n item.length = end - start;\n stack.push(item);\n last = end;\n }\n });\n return stack;\n }\n }, {\n key: 'callNoMatchOnInvalidRanges',\n value: function callNoMatchOnInvalidRanges(range, last) {\n var start = void 0,\n end = void 0,\n valid = false;\n if (range && typeof range.start !== 'undefined') {\n start = parseInt(range.start, 10);\n end = start + parseInt(range.length, 10);\n if (this.isNumeric(range.start) && this.isNumeric(range.length) && end - last > 0 && end - start > 0) {\n valid = true;\n } else {\n this.log('Ignoring invalid or overlapping range: ' + ('' + JSON.stringify(range)));\n this.opt.noMatch(range);\n }\n } else {\n this.log('Ignoring invalid range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n }\n return {\n start: start,\n end: end,\n valid: valid\n };\n }\n }, {\n key: 'checkWhitespaceRanges',\n value: function checkWhitespaceRanges(range, originalLength, string) {\n var end = void 0,\n valid = true,\n max = string.length,\n offset = originalLength - max,\n start = parseInt(range.start, 10) - offset;\n start = start > max ? max : start;\n end = start + parseInt(range.length, 10);\n if (end > max) {\n end = max;\n this.log('End range automatically set to the max value of ' + max);\n }\n if (start < 0 || end - start < 0 || start > max || end > max) {\n valid = false;\n this.log('Invalid range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n } else if (string.substring(start, end).replace(/\\s+/g, '') === '') {\n valid = false;\n this.log('Skipping whitespace only range: ' + JSON.stringify(range));\n this.opt.noMatch(range);\n }\n return {\n start: start,\n end: end,\n valid: valid\n };\n }\n }, {\n key: 'getTextNodes',\n value: function getTextNodes(cb) {\n var _this4 = this;\n var val = '',\n nodes = [];\n this.iterator.forEachNode(NodeFilter.SHOW_TEXT, function (node) {\n nodes.push({\n start: val.length,\n end: (val += node.textContent).length,\n node: node\n });\n }, function (node) {\n if (_this4.matchesExclude(node.parentNode)) {\n return NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_ACCEPT;\n }\n }, function () {\n cb({\n value: val,\n nodes: nodes\n });\n });\n }\n }, {\n key: 'matchesExclude',\n value: function matchesExclude(el) {\n return DOMIterator.matches(el, this.opt.exclude.concat(['script', 'style', 'title', 'head', 'html']));\n }\n }, {\n key: 'wrapRangeInTextNode',\n value: function wrapRangeInTextNode(node, start, end) {\n var hEl = !this.opt.element ? 'mark' : this.opt.element,\n startNode = node.splitText(start),\n ret = startNode.splitText(end - start);\n var repl = document.createElement(hEl);\n repl.setAttribute('data-markjs', 'true');\n if (this.opt.className) {\n repl.setAttribute('class', this.opt.className);\n }\n repl.textContent = startNode.textContent;\n startNode.parentNode.replaceChild(repl, startNode);\n return ret;\n }\n }, {\n key: 'wrapRangeInMappedTextNode',\n value: function wrapRangeInMappedTextNode(dict, start, end, filterCb, eachCb) {\n var _this5 = this;\n dict.nodes.every(function (n, i) {\n var sibl = dict.nodes[i + 1];\n if (typeof sibl === 'undefined' || sibl.start > start) {\n if (!filterCb(n.node)) {\n return false;\n }\n var s = start - n.start,\n e = (end > n.end ? n.end : end) - n.start,\n startStr = dict.value.substr(0, n.start),\n endStr = dict.value.substr(e + n.start);\n n.node = _this5.wrapRangeInTextNode(n.node, s, e);\n dict.value = startStr + endStr;\n dict.nodes.forEach(function (k, j) {\n if (j >= i) {\n if (dict.nodes[j].start > 0 && j !== i) {\n dict.nodes[j].start -= e;\n }\n dict.nodes[j].end -= e;\n }\n });\n end -= e;\n eachCb(n.node.previousSibling, n.start);\n if (end > n.end) {\n start = n.end;\n } else {\n return false;\n }\n }\n return true;\n });\n }\n }, {\n key: 'wrapMatches',\n value: function wrapMatches(regex, ignoreGroups, filterCb, eachCb, endCb) {\n var _this6 = this;\n var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;\n this.getTextNodes(function (dict) {\n dict.nodes.forEach(function (node) {\n node = node.node;\n var match = void 0;\n while ((match = regex.exec(node.textContent)) !== null && match[matchIdx] !== '') {\n if (!filterCb(match[matchIdx], node)) {\n continue;\n }\n var pos = match.index;\n if (matchIdx !== 0) {\n for (var i = 1; i < matchIdx; i++) {\n pos += match[i].length;\n }\n }\n node = _this6.wrapRangeInTextNode(node, pos, pos + match[matchIdx].length);\n eachCb(node.previousSibling);\n regex.lastIndex = 0;\n }\n });\n endCb();\n });\n }\n }, {\n key: 'wrapMatchesAcrossElements',\n value: function wrapMatchesAcrossElements(regex, ignoreGroups, filterCb, eachCb, endCb) {\n var _this7 = this;\n var matchIdx = ignoreGroups === 0 ? 0 : ignoreGroups + 1;\n this.getTextNodes(function (dict) {\n var match = void 0;\n while ((match = regex.exec(dict.value)) !== null && match[matchIdx] !== '') {\n var start = match.index;\n if (matchIdx !== 0) {\n for (var i = 1; i < matchIdx; i++) {\n start += match[i].length;\n }\n }\n var end = start + match[matchIdx].length;\n _this7.wrapRangeInMappedTextNode(dict, start, end, function (node) {\n return filterCb(match[matchIdx], node);\n }, function (node, lastIndex) {\n regex.lastIndex = lastIndex;\n eachCb(node);\n });\n }\n endCb();\n });\n }\n }, {\n key: 'wrapRangeFromIndex',\n value: function wrapRangeFromIndex(ranges, filterCb, eachCb, endCb) {\n var _this8 = this;\n this.getTextNodes(function (dict) {\n var originalLength = dict.value.length;\n ranges.forEach(function (range, counter) {\n var _checkWhitespaceRange = _this8.checkWhitespaceRanges(range, originalLength, dict.value),\n start = _checkWhitespaceRange.start,\n end = _checkWhitespaceRange.end,\n valid = _checkWhitespaceRange.valid;\n if (valid) {\n _this8.wrapRangeInMappedTextNode(dict, start, end, function (node) {\n return filterCb(node, range, dict.value.substring(start, end), counter);\n }, function (node) {\n eachCb(node, range);\n });\n }\n });\n endCb();\n });\n }\n }, {\n key: 'unwrapMatches',\n value: function unwrapMatches(node) {\n var parent = node.parentNode;\n var docFrag = document.createDocumentFragment();\n while (node.firstChild) {\n docFrag.appendChild(node.removeChild(node.firstChild));\n }\n parent.replaceChild(docFrag, node);\n if (!this.ie) {\n parent.normalize();\n } else {\n this.normalizeTextNode(parent);\n }\n }\n }, {\n key: 'normalizeTextNode',\n value: function normalizeTextNode(node) {\n if (!node) {\n return;\n }\n if (node.nodeType === 3) {\n while (node.nextSibling && node.nextSibling.nodeType === 3) {\n node.nodeValue += node.nextSibling.nodeValue;\n node.parentNode.removeChild(node.nextSibling);\n }\n } else {\n this.normalizeTextNode(node.firstChild);\n }\n this.normalizeTextNode(node.nextSibling);\n }\n }, {\n key: 'markRegExp',\n value: function markRegExp(regexp, opt) {\n var _this9 = this;\n this.opt = opt;\n this.log('Searching with expression \"' + regexp + '\"');\n var totalMatches = 0,\n fn = 'wrapMatches';\n var eachCb = function eachCb(element) {\n totalMatches++;\n _this9.opt.each(element);\n };\n if (this.opt.acrossElements) {\n fn = 'wrapMatchesAcrossElements';\n }\n this[fn](regexp, this.opt.ignoreGroups, function (match, node) {\n return _this9.opt.filter(node, match, totalMatches);\n }, eachCb, function () {\n if (totalMatches === 0) {\n _this9.opt.noMatch(regexp);\n }\n _this9.opt.done(totalMatches);\n });\n }\n }, {\n key: 'mark',\n value: function mark(sv, opt) {\n var _this10 = this;\n this.opt = opt;\n var totalMatches = 0,\n fn = 'wrapMatches';\n var _getSeparatedKeywords = this.getSeparatedKeywords(typeof sv === 'string' ? [sv] : sv),\n kwArr = _getSeparatedKeywords.keywords,\n kwArrLen = _getSeparatedKeywords.length,\n sens = this.opt.caseSensitive ? '' : 'i',\n handler = function handler(kw) {\n var regex = new RegExp(_this10.createRegExp(kw), 'gm' + sens),\n matches = 0;\n _this10.log('Searching with expression \"' + regex + '\"');\n _this10[fn](regex, 1, function (term, node) {\n return _this10.opt.filter(node, kw, totalMatches, matches);\n }, function (element) {\n matches++;\n totalMatches++;\n _this10.opt.each(element);\n }, function () {\n if (matches === 0) {\n _this10.opt.noMatch(kw);\n }\n if (kwArr[kwArrLen - 1] === kw) {\n _this10.opt.done(totalMatches);\n } else {\n handler(kwArr[kwArr.indexOf(kw) + 1]);\n }\n });\n };\n if (this.opt.acrossElements) {\n fn = 'wrapMatchesAcrossElements';\n }\n if (kwArrLen === 0) {\n this.opt.done(totalMatches);\n } else {\n handler(kwArr[0]);\n }\n }\n }, {\n key: 'markRanges',\n value: function markRanges(rawRanges, opt) {\n var _this11 = this;\n this.opt = opt;\n var totalMatches = 0,\n ranges = this.checkRanges(rawRanges);\n if (ranges && ranges.length) {\n this.log('Starting to mark with the following ranges: ' + JSON.stringify(ranges));\n this.wrapRangeFromIndex(ranges, function (node, range, match, counter) {\n return _this11.opt.filter(node, range, match, counter);\n }, function (element, range) {\n totalMatches++;\n _this11.opt.each(element, range);\n }, function () {\n _this11.opt.done(totalMatches);\n });\n } else {\n this.opt.done(totalMatches);\n }\n }\n }, {\n key: 'unmark',\n value: function unmark(opt) {\n var _this12 = this;\n this.opt = opt;\n var sel = this.opt.element ? this.opt.element : '*';\n sel += '[data-markjs]';\n if (this.opt.className) {\n sel += '.' + this.opt.className;\n }\n this.log('Removal selector \"' + sel + '\"');\n this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT, function (node) {\n _this12.unwrapMatches(node);\n }, function (node) {\n var matchesSel = DOMIterator.matches(node, sel),\n matchesExclude = _this12.matchesExclude(node);\n if (!matchesSel || matchesExclude) {\n return NodeFilter.FILTER_REJECT;\n } else {\n return NodeFilter.FILTER_ACCEPT;\n }\n }, this.opt.done);\n }\n }, {\n key: 'opt',\n set: function set$$1(val) {\n this._opt = _extends({}, {\n 'element': '',\n 'className': '',\n 'exclude': [],\n 'iframes': false,\n 'iframesTimeout': 5000,\n 'separateWordSearch': true,\n 'diacritics': true,\n 'synonyms': {},\n 'accuracy': 'partially',\n 'acrossElements': false,\n 'caseSensitive': false,\n 'ignoreJoiners': false,\n 'ignoreGroups': 0,\n 'ignorePunctuation': [],\n 'wildcards': 'disabled',\n 'each': function each() {},\n 'noMatch': function noMatch() {},\n 'filter': function filter() {\n return true;\n },\n 'done': function done() {},\n 'debug': false,\n 'log': window.console\n }, val);\n },\n get: function get$$1() {\n return this._opt;\n }\n }, {\n key: 'iterator',\n get: function get$$1() {\n return new DOMIterator(this.ctx, this.opt.iframes, this.opt.exclude, this.opt.iframesTimeout);\n }\n }]);\n return Mark;\n }();\n function Mark(ctx) {\n var _this = this;\n var instance = new Mark$1(ctx);\n this.mark = function (sv, opt) {\n instance.mark(sv, opt);\n return _this;\n };\n this.markRegExp = function (sv, opt) {\n instance.markRegExp(sv, opt);\n return _this;\n };\n this.markRanges = function (sv, opt) {\n instance.markRanges(sv, opt);\n return _this;\n };\n this.unmark = function (opt) {\n instance.unmark(opt);\n return _this;\n };\n return this;\n }\n return Mark;\n});"],"sourceRoot":""}