PageSourceSearch

https://hpblondon.com/about-us/files/stacks_page_page8.js?rwcache=775153573

js hpblondon.com collected 2026-10-09 04:14:23 UTC 92,707 bytes, 1,428 lines download raw bytes

vendor: 7,199 bytes, lines 1-2
1/*! jQuery Migrate v1.2.1 | (c) 2005, 2013 jQuery Foundation, Inc. and other contributors | jquery.org/license */
2jQuery.migrateMute===void 0&&(jQuery.migrateMute=!0),function(e,t,n){function r(n){var r=t.console;i[n]||(i[n]=!0,e.migrateWarnings.push(n),r&&r.warn&&!e.migrateMute&&(r.warn("JQMIGRATE: "+n),e.migrateTrace&&r.trace&&r.trace()))}function a(t,a,i,o){if(Object.defineProperty)try{return Object.defineProperty(t,a,{configurable:!0,enumerable:!0,get:function(){return r(o),i},set:function(e){r(o),i=e}}),n}catch(s){}e._definePropertyBroken=!0,t[a]=i}var i={};e.migrateWarnings=[],!e.migrateMute&&t.console&&t.console.log&&t.console.log("JQMIGRATE: Logging is active"),e.migrateTrace===n&&(e.migrateTrace=!0),e.migrateReset=function(){i={},e.migrateWarnings.length=0},"BackCompat"===document.compatMode&&r("jQuery is not compatible with Quirks Mode");var o=e("<input/>",{size:1}).attr("size")&&e.attrFn,s=e.attr,u=e.attrHooks.value&&e.attrHooks.value.get||function(){return null},c=e.attrHooks.value&&e.attrHooks.value.set||function(){return n},l=/^(?:input|button)$/i,d=/^[238]$/,p=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,f=/^(?:checked|selected)$/i;a(e,"attrFn",o||{},"jQuery.attrFn is deprecated"),e.attr=function(t,a,i,u){var c=a.toLowerCase(),g=t&&t.nodeType;return u&&(4>s.length&&r("jQuery.fn.attr( props, pass ) is deprecated"),t&&!d.test(g)&&(o?a in o:e.isFunction(e.fn[a])))?e(t)[a](i):("type"===a&&i!==n&&l.test(t.nodeName)&&t.parentNode&&r("Can't change the 'type' of an input or button in IE 6/7/8"),!e.attrHooks[c]&&p.test(c)&&(e.attrHooks[c]={get:function(t,r){var a,i=e.prop(t,r);return i===!0||"boolean"!=typeof i&&(a=t.getAttributeNode(r))&&a.nodeValue!==!1?r.toLowerCase():n},set:function(t,n,r){var a;return n===!1?e.removeAttr(t,r):(a=e.propFix[r]||r,a in t&&(t[a]=!0),t.setAttribute(r,r.toLowerCase())),r}},f.test(c)&&r("jQuery.fn.attr('"+c+"') may use property instead of attribute")),s.call(e,t,a,i))},e.attrHooks.value={get:function(e,t){var n=(e.nodeName||"").toLowerCase();return"button"===n?u.apply(this,arguments):("input"!==n&&"option"!==n&&r("jQuery.fn.attr('value') no longer gets properties"),t in e?e.value:null)},set:function(e,t){var a=(e.nodeName||"").toLowerCase();return"button"===a?c.apply(this,arguments):("input"!==a&&"option"!==a&&r("jQuery.fn.attr('value', val) no longer sets properties"),e.value=t,n)}};var g,h,v=e.fn.init,m=e.parseJSON,y=/^([^<]*)(<[\w\W]+>)([^>]*)$/;e.fn.init=function(t,n,a){var i;return t&&"string"==typeof t&&!e.isPlainObject(n)&&(i=y.exec(e.trim(t)))&&i[0]&&("<"!==t.charAt(0)&&r("$(html) HTML strings must start with '<' character"),i[3]&&r("$(html) HTML text after last tag is ignored"),"#"===i[0].charAt(0)&&(r("HTML string cannot start with a '#' character"),e.error("JQMIGRATE: Invalid selector string (XSS)")),n&&n.context&&(n=n.context),e.parseHTML)?v.call(this,e.parseHTML(i[2],n,!0),n,a):v.apply(this,arguments)},e.fn.init.prototype=e.fn,e.parseJSON=function(e){return e||null===e?m.apply(this,arguments):(r("jQuery.parseJSON requires a valid JSON string"),null)},e.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e.browser||(g=e.uaMatch(navigator.userAgent),h={},g.browser&&(h[g.browser]=!0,h.version=g.version),h.chrome?h.webkit=!0:h.webkit&&(h.safari=!0),e.browser=h),a(e,"browser",e.browser,"jQuery.browser is deprecated"),e.sub=function(){function t(e,n){return new t.fn.init(e,n)}e.extend(!0,t,this),t.superclass=this,t.fn=t.prototype=this(),t.fn.constructor=t,t.sub=this.sub,t.fn.init=function(r,a){return a&&a instanceof e&&!(a instanceof t)&&(a=t(a)),e.fn.init.call(this,r,a,n)},t.fn.init.prototype=t.fn;var n=t(document);return r("jQuery.sub() is deprecated"),t},e.ajaxSetup({converters:{"text json":e.parseJSON}});var b=e.fn.data;e.fn.data=function(t){var a,i,o=this[0];return!o||"events"!==t||1!==arguments.length||(a=e.data(o,t),i=e._data(o,t),a!==n&&a!==i||i===n)?b.apply(this,arguments):(r("Use of jQuery.fn.data('events') is deprecated"),i)};var j=/\/(java|ecma)script/i,w=e.fn.andSelf||e.fn.addBack;e.fn.andSelf=function(){return r("jQuery.fn.andSelf() replaced by jQuery.fn.addBack()"),w.apply(this,arguments)},e.clean||(e.clean=function(t,a,i,o){a=a||document,a=!a.nodeType&&a[0]||a,a=a.ownerDocument||a,r("jQuery.clean() is deprecated");var s,u,c,l,d=[];if(e.merge(d,e.buildFragment(t,a).childNodes),i)for(c=function(e){return!e.type||j.test(e.type)?o?o.push(e.parentNode?e.parentNode.removeChild(e):e):i.appendChild(e):n},s=0;null!=(u=d[s]);s++)e.nodeName(u,"script")&&c(u)||(i.appendChild(u),u.getElementsByTagName!==n&&(l=e.grep(e.merge([],u.getElementsByTagName("script")),c),d.splice.apply(d,[s+1,0].concat(l)),s+=l.length));return d});var Q=e.event.add,x=e.event.remove,k=e.event.trigger,N=e.fn.toggle,T=e.fn.live,M=e.fn.die,S="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",C=RegExp("\\b(?:"+S+")\\b"),H=/(?:^|\s)hover(\.\S+|)\b/,A=function(t){return"string"!=typeof t||e.event.special.hover?t:(H.test(t)&&r("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),t&&t.replace(H,"mouseenter$1 mouseleave$1"))};e.event.props&&"attrChange"!==e.event.props[0]&&e.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),e.event.dispatch&&a(e.event,"handle",e.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),e.event.add=function(e,t,n,a,i){e!==document&&C.test(t)&&r("AJAX events should be attached to document: "+t),Q.call(this,e,A(t||""),n,a,i)},e.event.remove=function(e,t,n,r,a){x.call(this,e,A(t)||"",n,r,a)},e.fn.error=function(){var e=Array.prototype.slice.call(arguments,0);return r("jQuery.fn.error() is deprecated"),e.splice(0,0,"error"),arguments.length?this.bind.apply(this,e):(this.triggerHandler.apply(this,e),this)},e.fn.toggle=function(t,n){if(!e.isFunction(t)||!e.isFunction(n))return N.apply(this,arguments);r("jQuery.fn.toggle(handler, handler...) is deprecated");var a=arguments,i=t.guid||e.guid++,o=0,s=function(n){var r=(e._data(this,"lastToggle"+t.guid)||0)%o;return e._data(this,"lastToggle"+t.guid,r+1),n.preventDefault(),a[r].apply(this,arguments)||!1};for(s.guid=i;a.length>o;)a[o++].guid=i;return this.click(s)},e.fn.live=function(t,n,a){return r("jQuery.fn.live() is deprecated"),T?T.apply(this,arguments):(e(this.context).on(t,this.selector,n,a),this)},e.fn.die=function(t,n){return r("jQuery.fn.die() is deprecated"),M?M.apply(this,arguments):(e(this.context).off(t,this.selector||"**",n),this)},e.event.trigger=function(e,t,n,a){return n||C.test(e)||r("Global events are undocumented and deprecated"),k.call(this,e,t,n||document,a)},e.each(S.split("|"),function(t,n){e.event.special[n]={setup:function(){var t=this;return t!==document&&(e.event.add(document,n+"."+e.guid,function(){e.event.trigger(n,null,t,!0)}),e._data(this,n,e.guid++)),!1},teardown:function(){return this!==document&&e.event.remove(document,n+"."+e._data(this,n)),!1}}})}(jQuery,window);
2
3var stacks = {};
4stacks.jQuery = jQuery.noConflict(true);
5stacks.com_bigwhiteduck_stacks_headerpro = {};
6stacks.com_bigwhiteduck_stacks_headerpro = (function(stack) {
7var jQuery = stacks.jQuery;var $ = jQuery; var elements=document.getElementsByClassName('hp-slice');while(elements.length>0){elements[0].parentNode.removeChild(elements[0]);}
8
9return stack;})(stacks.com_bigwhiteduck_stacks_headerpro);
10stacks.com_bigwhiteduck_stacks_paragraphpro_readmore = {};
11stacks.com_bigwhiteduck_stacks_paragraphpro_readmore = (function(stack) {
12var jQuery = stacks.jQuery;var $ = jQuery;!function(e){function t(t,n){if(this.element=t,this.options=e.extend({},i,n),e(this.element).data("max-height",this.options.maxHeight),e(this.element).data("height-margin",this.options.heightMargin),delete this.options.maxHeight,this.options.embedCSS&&!o){var s=".readmore-js-toggle, .readmore-js-section { "+this.options.sectionCSS+" } .readmore-js-section { overflow: hidden; }";!function(e,t){var a=e.createElement("style");a.type="text/css",a.styleSheet?a.styleSheet.cssText=t:a.appendChild(e.createTextNode(t)),e.getElementsByTagName("head")[0].appendChild(a)}(document,s),o=!0}
13this._defaults=i,this._name=a,this.init()}
14var a="readmore_pro",i={uniqueID:'rm-ppro',speed:100,maxHeight:200,heightMargin:16,moreLink:'<a href="#">Read More</a>',lessLink:'<a href="#">Close</a>',linkAlign:'link-left',embedCSS:!0,sectionCSS:"display: block; width: 100%;",startOpen:!1,expandedClass:"readmore-js-expanded",collapsedClass:"readmore-js-collapsed",beforeToggle:function(){},afterToggle:function(){}},o=!1;t.prototype={init:function(){var t=this;e(this.element).each(function(){var a=e(this),i=a.css("max-height").replace(/[^-\d\.]/g,"")>a.data("max-height")?a.css("max-height").replace(/[^-\d\.]/g,""):a.data("max-height"),o=a.data("height-margin");if("none"!=a.css("max-height")&&a.css("max-height","none"),t.setBoxHeight(a),a.outerHeight(!0)<=i+o)return!0;a.addClass("readmore-js-section "+t.options.collapsedClass).data("collapsedHeight",i);var n=t.options.startOpen?t.options.lessLink:t.options.moreLink;a.after(e(n).on("click",function(e){t.toggleSlider(this,a,e)}).addClass("readmore-js-toggle").addClass(t.options.uniqueID).addClass(t.options.linkAlign)),t.options.startOpen||a.css({height:i})}),e(window).on("resize",function(){t.resizeBoxes()})},toggleSlider:function(t,a,i){i.preventDefault();var o=this,n=newLink=sectionClass="",s=!1,l=e(a).data("collapsedHeight");e(a).height()<=l?(n=e(a).data("expandedHeight")+"px",newLink="lessLink",s=!0,sectionClass=o.options.expandedClass):(n=l,newLink="moreLink",sectionClass=o.options.collapsedClass),o.options.beforeToggle(t,a,s),e(a).animate({height:n},{duration:o.options.speed,complete:function(){o.options.afterToggle(t,a,s),e(t).replaceWith(e(o.options[newLink]).on("click",function(e){o.toggleSlider(this,a,e)}).addClass("readmore-js-toggle").addClass(o.options.uniqueID).addClass(o.options.linkAlign)),e(this).removeClass(o.options.collapsedClass+" "+o.options.expandedClass).addClass(sectionClass)}})},setBoxHeight:function(e){var t=e.clone().css({height:"auto",width:e.width(),overflow:"hidden"}).insertAfter(e),a=t.outerHeight(!0);t.remove(),e.data("expandedHeight",a)},resizeBoxes:function(){var t=this;e(".readmore-js-section").each(function(){var a=e(this);t.setBoxHeight(a),(a.height()>a.data("expandedHeight")||a.hasClass(t.options.expandedClass)&&a.height()<a.data("expandedHeight"))&&a.css("height",a.data("expandedHeight"))})},destroy:function(){var t=this;e(this.element).each(function(){var a=e(this);a.removeClass("readmore-js-section "+t.options.collapsedClass+" "+t.options.expandedClass).css({"max-height":"",height:"auto"}).next(".readmore-js-toggle").remove(),a.removeData()})}},e.fn[a]=function(i){var o=arguments;return void 0===i||"object"==typeof i?this.each(function(){if(e.data(this,"plugin_"+a)){var o=e.data(this,"plugin_"+a);o.destroy.apply(o)}
15e.data(this,"plugin_"+a,new t(this,i))}):"string"==typeof i&&"_"!==i[0]&&"init"!==i?this.each(function(){var n=e.data(this,"plugin_"+a);n instanceof t&&"function"==typeof n[i]&&n[i].apply(n,Array.prototype.slice.call(o,1))}):void 0}}(jQuery)
16
17return stack;})(stacks.com_bigwhiteduck_stacks_paragraphpro_readmore);
18stacks.stacks_in_36334_3 = {};
19stacks.stacks_in_36334_3 = (function(stack) {
20var jQuery = stacks.jQuery;var $ = jQuery;
21return stack;})(stacks.stacks_in_36334_3);
22stacks.stacks_in_36271 = {};
23stacks.stacks_in_36271 = (function(stack) {
24var jQuery = stacks.jQuery;var $ = jQuery;/*
25 * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/
26 *
27 * Uses the built in easing capabilities added In jQuery 1.1
28 * to offer multiple easing options
29 *
30 * TERMS OF USE - jQuery Easing
31 *
32 * Open source under the BSD License.
33 *
34 * Copyright © 2008 George McGinley Smith
35 * All rights reserved.
36 *
37 * Redistribution and use in source and binary forms, with or without modification,
38 * are permitted provided that the following conditions are met:
39 *
40 * Redistributions of source code must retain the above copyright notice, this list of
41 * conditions and the following disclaimer.
42 * Redistributions in binary form must reproduce the above copyright notice, this list
43 * of conditions and the following disclaimer in the documentation and/or other materials
44 * provided with the distribution.
45 *
46 * Neither the name of the author nor the names of contributors may be used to endorse
47 * or promote products derived from this software without specific prior written permission.
48 *
49 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
50 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
51 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
52 *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
53 *  EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
54 *  GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
55 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
56 *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
57 * OF THE POSSIBILITY OF SUCH DAMAGE.
58 *
59*/
60
61// t: current time, b: begInnIng value, c: change In value, d: duration
62jQuery.easing['jswing'] = jQuery.easing['swing'];
63
64jQuery.extend( jQuery.easing,
65{
66	def: 'easeOutQuad',
67	swing: function (x, t, b, c, d) {
68		//alert(jQuery.easing.default);
69		return jQuery.easing[jQuery.easing.def](x, t, b, c, d);
70	},
71	easeInQuad: function (x, t, b, c, d) {
72		return c*(t/=d)*t + b;
73	},
74	easeOutQuad: function (x, t, b, c, d) {
75		return -c *(t/=d)*(t-2) + b;
76	},
77	easeInOutQuad: function (x, t, b, c, d) {
78		if ((t/=d/2) < 1) return c/2*t*t + b;
79		return -c/2 * ((--t)*(t-2) - 1) + b;
80	},
81	easeInCubic: function (x, t, b, c, d) {
vendor: 4,251 bytes, lines 82-203
82		return c*(t/=d)*t*t + b;
83	},
84	easeOutCubic: function (x, t, b, c, d) {
85		return c*((t=t/d-1)*t*t + 1) + b;
86	},
87	easeInOutCubic: function (x, t, b, c, d) {
88		if ((t/=d/2) < 1) return c/2*t*t*t + b;
89		return c/2*((t-=2)*t*t + 2) + b;
90	},
91	easeInQuart: function (x, t, b, c, d) {
92		return c*(t/=d)*t*t*t + b;
93	},
94	easeOutQuart: function (x, t, b, c, d) {
95		return -c * ((t=t/d-1)*t*t*t - 1) + b;
96	},
97	easeInOutQuart: function (x, t, b, c, d) {
98		if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
99		return -c/2 * ((t-=2)*t*t*t - 2) + b;
100	},
101	easeInQuint: function (x, t, b, c, d) {
102		return c*(t/=d)*t*t*t*t + b;
103	},
104	easeOutQuint: function (x, t, b, c, d) {
105		return c*((t=t/d-1)*t*t*t*t + 1) + b;
106	},
107	easeInOutQuint: function (x, t, b, c, d) {
108		if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
109		return c/2*((t-=2)*t*t*t*t + 2) + b;
110	},
111	easeInSine: function (x, t, b, c, d) {
112		return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
113	},
114	easeOutSine: function (x, t, b, c, d) {
115		return c * Math.sin(t/d * (Math.PI/2)) + b;
116	},
117	easeInOutSine: function (x, t, b, c, d) {
118		return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
119	},
120	easeInExpo: function (x, t, b, c, d) {
121		return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b;
122	},
123	easeOutExpo: function (x, t, b, c, d) {
124		return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b;
125	},
126	easeInOutExpo: function (x, t, b, c, d) {
127		if (t==0) return b;
128		if (t==d) return b+c;
129		if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b;
130		return c/2 * (-Math.pow(2, -10 * --t) + 2) + b;
131	},
132	easeInCirc: function (x, t, b, c, d) {
133		return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
134	},
135	easeOutCirc: function (x, t, b, c, d) {
136		return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
137	},
138	easeInOutCirc: function (x, t, b, c, d) {
139		if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
140		return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
141	},
142	easeInElastic: function (x, t, b, c, d) {
143		var s=1.70158;var p=0;var a=c;
144		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
145		if (a < Math.abs(c)) { a=c; var s=p/4; }
146		else var s = p/(2*Math.PI) * Math.asin (c/a);
147		return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
148	},
149	easeOutElastic: function (x, t, b, c, d) {
150		var s=1.70158;var p=0;var a=c;
151		if (t==0) return b;  if ((t/=d)==1) return b+c;  if (!p) p=d*.3;
152		if (a < Math.abs(c)) { a=c; var s=p/4; }
153		else var s = p/(2*Math.PI) * Math.asin (c/a);
154		return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
155	},
156	easeInOutElastic: function (x, t, b, c, d) {
157		var s=1.70158;var p=0;var a=c;
158		if (t==0) return b;  if ((t/=d/2)==2) return b+c;  if (!p) p=d*(.3*1.5);
159		if (a < Math.abs(c)) { a=c; var s=p/4; }
160		else var s = p/(2*Math.PI) * Math.asin (c/a);
161		if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
162		return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
163	},
164	easeInBack: function (x, t, b, c, d, s) {
165		if (s == undefined) s = 1.70158;
166		return c*(t/=d)*t*((s+1)*t - s) + b;
167	},
168	easeOutBack: function (x, t, b, c, d, s) {
169		if (s == undefined) s = 1.70158;
170		return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
171	},
172	easeInOutBack: function (x, t, b, c, d, s) {
173		if (s == undefined) s = 1.70158;
174		if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
175		return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
176	},
177	easeInBounce: function (x, t, b, c, d) {
178		return c - jQuery.easing.easeOutBounce (x, d-t, 0, c, d) + b;
179	},
180	easeOutBounce: function (x, t, b, c, d) {
181		if ((t/=d) < (1/2.75)) {
182			return c*(7.5625*t*t) + b;
183		} else if (t < (2/2.75)) {
184			return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
185		} else if (t < (2.5/2.75)) {
186			return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
187		} else {
188			return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
189		}
190	},
191	easeInOutBounce: function (x, t, b, c, d) {
192		if (t < d/2) return jQuery.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b;
193		return jQuery.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b;
194	}
195});
196
197
198// Begin Elixir Javascript
199
200$(document).ready(function() {
201	// Accordion
202	var all_panels = $('ul#stacks_in_36271_accordion > li > .accordion_content').hide();
203	// Add initial closed arrow icon to all accordion items
204	$('#stacks_in_36271 .accordion_icon i.arrow_icon').addClass('fa-angle-right');
205
206	// When an accordion label is clicked...
207	$("ul#stacks_in_36271_accordion > li > .accordion_label").click(function(){
208
209		
210			// If the Open All toggle is enabled we reset the switch to the initial position, indicating that not all items are open.
211			$('#stacks_in_36271_open_all').removeClass('stacks_in_36271_open_all_true').addClass('stacks_in_36271_open_all_false').addClass('fa-toggle-off').removeClass('fa-toggle-on');
212
213			// Handles hiding and showing the Open / Close All labels.
214			$('#stacks_in_36271_open_all_text').removeClass('hide_toggle');
215			$('#stacks_in_36271_close_all_text').addClass('hide_toggle');
216		
217
218		
219			// If Multi-View is not turned on...
220			// We remove the active class, if there is one, from any currently active labels.
221		  $('.stacks_in_36271_active').removeClass('stacks_in_36271_active');
222			// As well as remove the active, selected class if any are active.
223			$('.stacks_in_36271_accordion_selectedarrow_icon').removeClass('stacks_in_36271_accordion_selectedarrow_icon');
224			// Changes icon arrows
225	    $('ul#stacks_in_36271_accordion > li > .accordion_label').find('i.arrow_icon').removeClass('fa-angle-down').addClass('fa-angle-right');
226  	
227
228		// Add selected class to active items
229	  $(this).addClass('stacks_in_36271_active').addClass('stacks_in_36271_accordion_selectedarrow_icon');
230
231		// Change icon from closed to open on label that was clicked
232    $(this).find('i.arrow_icon').removeClass('fa-angle-right').addClass('fa-angle-down');
233
234
235    if(false == $(this).next().is(':visible')) {
236			
237        all_panels.stop().slideUp(325, 'easeOutCubic');
238  		
239    }
240
241    if(true == $(this).next().is(':visible')) {
242			
243        all_panels.stop().slideUp(325, 'easeOutCubic');
244		    $('ul#stacks_in_36271_accordion > li > .accordion_label').find('i.arrow_icon').removeClass('fa-angle-down').addClass('fa-angle-right');
245		  
246        $(this).removeClass('stacks_in_36271_accordion_selectedarrow_icon');
247    }
248
249		// Toggle to content area related to the clicked label open or closed.
250    $(this).next().stop().slideToggle(325, 'easeOutCubic');
251		$('.accordion_content').delay(325).css({'height':'auto'});
252
253	});
254
255
256	
257		$('#stacks_in_36271_open_all').click(function() {
258			$(this).toggleClass('fa-toggle-off').toggleClass('fa-toggle-on');
259
260			$('#stacks_in_36271_open_all_text, #stacks_in_36271_close_all_text').toggleClass('hide_toggle');
261
262			if ($(this).hasClass('stacks_in_36271_open_all_false')) {
263				$('ul#stacks_in_36271_accordion > li > .accordion_content').slideDown(325, 'easeOutCubic');
264			  $('ul#stacks_in_36271_accordion > li > .accordion_label').addClass('stacks_in_36271_active').addClass('stacks_in_36271_accordion_selectedarrow_icon');
265				$('ul#stacks_in_36271_accordion > li > .accordion_label').find('i.arrow_icon').removeClass('fa-angle-right').addClass('fa-angle-down');
266			  $(this).removeClass('stacks_in_36271_open_all_false').addClass('stacks_in_36271_open_all_true');
267				$('.accordion_content').delay(325).css({'height':'auto'});
268			} else {
269				$('ul#stacks_in_36271_accordion > li > .accordion_content').slideUp(325, 'easeOutCubic');
270			  $('ul#stacks_in_36271_accordion > li > .accordion_label').removeClass('stacks_in_36271_active').removeClass('stacks_in_36271_accordion_selectedarrow_icon');
271				$('ul#stacks_in_36271_accordion > li > .accordion_label').find('i.arrow_icon').removeClass('fa-angle-down').addClass('fa-angle-right');
272				$(this).removeClass('stacks_in_36271_open_all_true').addClass('stacks_in_36271_open_all_false');
273				$('.accordion_content').delay(325).css({'height':'auto'});
274			}
275		});
276	
277
278	
279
280	// Ensures that each content area doesn't end up with excess height if it is opened at iPhone
281	// width and then scaled up to a larger width when the browser window is adjusted.
282	$( window ).resize(function() {
283	  $('.accordion_content').css({'height':'auto'});
284	});
285
286});
287
288return stack;})(stacks.stacks_in_36271);
289stacks.stacks_in_36273 = {};
290stacks.stacks_in_36273 = (function(stack) {
291var jQuery = stacks.jQuery;var $ = jQuery;// Start Grid stack each Javascript code��$(document).ready(function() {�	�	jQuery.fn.cleanWhitespace = function() {�	    textNodes = this.contents().filter(�	        function() { return (this.nodeType == 3 && !/\S/.test(this.nodeValue)); })�	        .remove();�	    return this;�	}�	�	$('.stacks_in_36273gridWrapper > div').each(function(){�		$(this).cleanWhitespace();�	});��	�function stacks_in_36273equalheights(){�	 var currentTallest = 0,�     currentRowStart = 0,�     rowDivs = new Array(),�     $el,�     topPosition = 0;�	�	 $('#stacks_in_36273 .dooGridItem').each(function() {�	�	   $el = $(this);�	   if("true" == "false"){�		   topPosition = 0;�	   }else{�		   topPosition = $el.offset().top;�	   }�	   console.log(topPosition);�	   �	   if (currentRowStart != topPosition) {�	�	     // we just came to a new row.  Set all the heights on the completed row�	     for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {�	       rowDivs[currentDiv].height(currentTallest);�	     }�	�	     // set the variables for the new row�	     rowDivs.length = 0; // empty the array�	     currentRowStart = topPosition;�	     currentTallest = $el.height();�	     rowDivs.push($el);�	�	   } else {�	�	     // another div on the current row.  Add it to the list and check if it's taller�	     rowDivs.push($el);�	     currentTallest = (currentTallest < $el.height()) ? ($el.height()) : (currentTallest);�	�	  }�	   �	  // do the last row�	   for (currentDiv = 0 ; currentDiv < rowDivs.length ; currentDiv++) {�	     rowDivs[currentDiv].height(currentTallest);�	   }�	   �	   });� };� � if("false" == "true"){�	 $(window).load(function() {�	 	stacks_in_36273equalheights();�	 });�	 $(window).resize(function(){�		$('#stacks_in_36273 .dooGridItem').css("height","auto");�	 	stacks_in_36273equalheights();�	 });� }� �});��// End Grid stack each Javascript code
292return stack;})(stacks.stacks_in_36273);
293stacks.stacks_in_36291 = {};
294stacks.stacks_in_36291 = (function(stack) {
295var jQuery = stacks.jQuery;var $ = jQuery;$(document).ready(function() {
296    var showChar = 250;
297    var ellipsestext = "...";
298    var moretext = "Read more";
299    var lesstext = "Show less";
300    $('#readMoreStackstacks_in_36291').each(function() {
301        var content = $(this).html();
302        if(content.length > showChar) {
303            var c = content.substr(0, showChar);
304            var h = content.substr(showChar, content.length - showChar);
305            var html = c + '<span class="moreellipses" id="readMoreEllipsesstacks_in_36291">' + ellipsestext+ '&nbsp;</span><span class="morecontent" id="readMoreContentstacks_in_36291"><span>' + h + '</span><a href="" class="morelink myButton" id="readMoreLinkstacks_in_36291">' + moretext + '</a></span>';
306            $(this).html(html);
307        }
308    });
309    $("#readMoreLinkstacks_in_36291").click(function(){
310        if($(this).hasClass("less")) {
311            $(this).removeClass("less");
312            $(this).html(moretext);
313        } else {
314            $(this).addClass("less");
315            $(this).html(lesstext);
316        }
317        $(this).parent().prev().toggle();
318        $(this).prev().toggle();
319        return false;
320    });
321});
322return stack;})(stacks.stacks_in_36291);
323stacks.stacks_in_36322 = {};
324stacks.stacks_in_36322 = (function(stack) {
325var jQuery = stacks.jQuery;var $ = jQuery;// Start Obscure Email stack Javascript code��$(document).ready(function() {��function findPlainTextExceptInLinks(element, substring, callback) {�    for (var childi= element.childNodes.length; childi-->0;) {�        var child= element.childNodes[childi];�        if (child.nodeType===1) {�            if (child.tagName.toLowerCase()!=='a')�                findPlainTextExceptInLinks(child, substring, callback);�        } else if (child.nodeType===3) {�            var index= child.data.length;�            while (true) {�                index= child.data.lastIndexOf(substring, index);�                if (index===-1)�                    break;�                callback.call(window, child, index)�            }�        }�    }�}��var substring= 'sbsecretaryEmail';�findPlainTextExceptInLinks(document.body, substring, function(node, index) {�    node.splitText(index+substring.length);�    var span= document.createElement('span');�    span.className = "stacks_in_36322InjectHere";�    span.appendChild(node.splitText(index));�    node.parentNode.insertBefore(span, node.nextSibling);�});��var stacks_in_36322fiddler = "thelondonclinic.co.uk"��if("show" == "show"){�var stacks_in_36322subject = "Enquiry via gallstone website"�}else{�var stacks_in_36322subject = ""�}��if("hide" == "hide"){�$(".stacks_in_36322InjectHere").replaceWith("<A href='mailto:" + "secretary.bhattacharya" + "@" + stacks_in_36322fiddler + "?subject=" + stacks_in_36322subject + "'>" + "secretary.bhattacharya" + "@" + stacks_in_36322fiddler + "</a>" + "<NOSCRIPT><em> Email address protected by JavaScript. </em></NOSCRIPT>");�}�else{�$(".stacks_in_36322InjectHere").replaceWith("<A href='mailto:" + "secretary.bhattacharya" + "@" + stacks_in_36322fiddler + "?subject=" + stacks_in_36322subject + "'>" + "Contact Us" + "</a>" + "<NOSCRIPT><em> Email address protected by JavaScript. </em></NOSCRIPT>");�}��});��// End Obscure Email stack Javascript code�
326return stack;})(stacks.stacks_in_36322);
327stacks.stacks_in_36335_2 = {};
328stacks.stacks_in_36335_2 = (function(stack) {
329var jQuery = stacks.jQuery;var $ = jQuery;//
330if(window.liveSearchDefined == null) {
331  window.liveSearchDefined = true;
332/*
333  Tipue Search 5.0
334  Copyright (c) 2015 Tipue
335  Tipue Search is released under the MIT License
336  http://www.tipue.com/search
337  */
338
339/* Tipue Search Copyright (c) 2015 Tipue
340
341  Permission is hereby granted, free of charge, to any person obtaining
342  a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including
343  without limitation the rights to use, copy, modify, merge, publish,
344    distribute, sublicense, and/or sell copies of the Software, and to
345    permit persons to whom the Software is furnished to do so, subject to
346    the following conditions:
347
348  The above copyright notice and this permission notice shall be
349  included in all copies or substantial portions of the Software.
350
351  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
352    EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
353    MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
354    NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
355    LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
356    OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
357    WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
358      */
359  var tipuesearch_pages = [];
360  var tipuesearch_stop_words = ["zzzzzz"];
361  //var tipuesearch_stop_words = ["a", "about", "above", "after", "again", "against", "all", "am", "an", "and", "any", "are", "aren't", "as", "at", "be", "because", "been", "before", "being", "below", "between", "both", "but", "by", "can't", "cannot", "could", "couldn't", "did", "didn't", "do", "does", "doesn't", "doing", "don't", "down", "during", "each", "few", "for", "from", "further", "had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "he's", "her", "here", "here's", "hers", "herself", "him", "himself", "his", "how", "how's", "i", "i'd", "i'll", "i'm", "i've", "if", "in", "into", "is", "isn't", "it", "it's", "its", "itself", "let's", "me", "more", "most", "mustn't", "my", "myself", "no", "nor", "not", "of", "off", "on", "once", "only", "or", "other", "ought", "our", "ours", "ourselves", "out", "over", "own", "same", "shan't", "she", "she'd", "she'll", "she's", "should", "shouldn't", "so", "some", "such", "than", "that", "that's", "the", "their", "theirs", "them", "themselves", "then", "there", "there's", "these", "they", "they'd", "they'll", "they're", "they've", "this", "those", "through", "to", "too", "under", "until", "up", "very", "was", "wasn't", "we", "we'd", "we'll", "we're", "we've", "were", "weren't", "what", "what's", "when", "when's", "where", "where's", "which", "while", "who", "who's", "whom", "why", "why's", "with", "won't", "would", "wouldn't", "you", "you'd", "you'll", "you're", "you've", "your", "yours", "yourself", "yourselves"];
362  // Word replace
363  var tipuesearch_replace = {'words': [
364    {'word': 'tipua', 'replace_with': 'tipue'},
365    {'word': 'javscript', 'replace_with': 'javascript'},
366    {'word': 'jqeury', 'replace_with': '$'}
367  ]};
368  // Weighting
369  var tipuesearch_weight = {'weight': [
370    {'url': 'http://tipue.dev/search', 'score': 200},
371    {'url': 'http://tipue.dev/about', 'score': 100},
372    {'url': 'http://tipue.dev/tos', 'score': -1200}
373  ]};
374  // Stemming
375  var tipuesearch_stem = {'words': [
376    {'word': 'e-mail', 'stem': 'email'},
377    {'word': 'javascript', 'stem': 'jQuery'},
378    {'word': 'javascript', 'stem': 'js'}
379  ]};
380
381  //
382  var tipuesearch_string_1 = 'No title';
383  var tipuesearch_string_2 = 'Showing results for';
384  var tipuesearch_string_3 = 'Search instead for';
385  var tipuesearch_string_4 = '1 result';
386  var tipuesearch_string_5 = 'results';
387  var tipuesearch_string_6 = 'Prev';
388  var tipuesearch_string_7 = 'Next';
389  var tipuesearch_string_8 = 'Nothing found';
390  var tipuesearch_string_9 = 'Common words are largely ignored';
391  var tipuesearch_string_10 = 'Search too short';
392  var tipuesearch_string_11 = 'Should be one character or more';
393  var tipuesearch_string_12 = 'Should be 2 characters or more';
394  var tipuesearch_string_13 = 'characters or more';
395  //
396
397  //
398
399  //Tipue Search
400
401  /*
402  Tipue Search 5.0
403  Copyright (c) 2015 Tipue
404  Tipue Search is released under the MIT License
405  http://www.tipue.com/search
406  */
407
408
409  (function($) {
410
411    $.fn.tipuesearch = function(options) {
412
413      var set = $.extend( {
414
415        'show'                   : 7,
416        'newWindow'              : false,
417        'showURL'                : true,
418        'showTitleCount'         : true,
419        'minimumLength'          : 3,
420        'descriptiveWords'       : 25,
421        'highlightTerms'         : true,
422        'highlightEveryTerm'     : false,
423        'mode'                   : 'static',
424        'liveDescription'        : '*',
425        'liveContent'            : '*',
426        'contentLocation'        : 'tipuesearch/tipuesearch_content.json',
427        'debug'                  : false,
428        'thisId'                 : 0
429
430      }, options);
431
432      return this.each(function() {
433
434        var tipuesearch_in = {
435          pages: []
436        };
437        $.ajaxSetup({
438          async: true//modified from false
439        });
440        var tipuesearch_t_c = 0;
441
442        //if (set.mode == 'live') {
443  			function buildIndex() {
444          //$.each(tipuesearch_pages, function(index, value) {
445          var promises = [];
446          $(".tipue_search_loading .ts-count-wrap .ts-total").html(tipuesearch_pages.length);
447          $.each(tipuesearch_pages, function(index, val) {
448            let thisUrl = this.replace(/#/g,"?LSHASH");
449            promises.push($.get(thisUrl).always(function(html) {
450  						let value = this.url;
451              value = value.replace(/\?LSHASH/g,"#");
452              window.customDesc = 0;
453              var noSearch, cont, desc, tex;
454  						var tempHtml = "<div><div class='liveSearchAll'>"+html+"</div></div>";
455  						var ownerDocument = document.implementation.createHTMLDocument('virtual');
456  						html = $(tempHtml, ownerDocument);
457  						var htmlObj = html;
458  						htmlObj.find("img").remove();
459  						htmlObj.find("svg").remove();
460  						htmlObj.find("video").remove();
461  						htmlObj.find("script").remove();
462  						htmlObj.find("style").remove();
463  						htmlObj.find("link").remove();
464  						htmlObj.find("nav").remove();
465  						htmlObj.find("i").remove();
466              htmlObj.find("li > a:not([href^='#'])").remove();
467              htmlObj.find(".additional-pages").remove();
468              htmlObj.find(".excluded-pages").remove();
469  						htmlObj.find("code").remove();
470  						htmlObj.find("pre").remove();
471  						htmlObj.find("samp").remove();
472  					  //Get title
473  						if ($("title", htmlObj).length > 0) {
474  							var tit = $("title", htmlObj).text();
475              } else {
476                var tit = value;
477                desc = "";
478              }
479  						htmlObj.find("title").remove();
480  						//Check for hashtags
481              var hashLink = value.split('#')[1],
482                  hasHashLink = false;
483              if(typeof hashLink !== "undefined" && hashLink !== "") {
484                hasHashLink = true;
485                if("False" == "True") {
486                  console.log("Hash link found: #" + hashLink);
487                }
488              }
489  						//Find search container
490              if(hasHashLink && htmlObj.find("#"+hashLink).length) {
491                tex = htmlObj.find("#"+hashLink).text();
492                if("False" == "True") {
493                  console.log("Hash ID found in page, only searching ID element.");
494                }
495              } else if (hasHashLink && htmlObj.find('a[href="#'+hashLink+'"]:not(.ls-add-page)').length) {
496                tex = htmlObj.find('a[href="#'+hashLink+'"]:not(.ls-add-page)').parent().text();
497                if("False" == "True") {
498                  console.log("Hash link found in page, only searching link's parent element.");
499                }
500              } else if (htmlObj.find(".container").length > 0) {
501                if(hasHashLink && "False" == "True") {
502                  console.log("ERROR: No matching hash link or element found. Searching .container instead.");
503                }
504                tex = htmlObj.find(".container").text();
505
506              } else if (htmlObj.find(".stacks_top").length > 0) {
507                if(hasHashLink && "False" == "True") {
508                  console.log("ERROR: No matching hash link or element found. Searching .stacks_top instead.");
509                }
510                tex = htmlObj.find(".stacks_top").text();
511              } else {
512                if(hasHashLink && "False" == "True") {
513                  console.log("ERROR: No matching hash link or element found. Searching entire page instead.");
514                }
515  							tex = htmlObj.text();
516              }
517
518              tex=tex.replace(/\s+/g," ");
519              tex=tex.replace(/<!--LIVESEARCH-->[\s\S]*?<!--LIVESEARCH-->/g,"");
520              tex=tex.replace(/<!--NOSEARCH-->[\s\S]*?<!--NOSEARCH-->/g,"");
521              tex=tex.replace(/<!---NOSEARCH--->[\s\S]*?<!---NOSEARCH--->/g,"");
522              tex=tex.replace(/<!—NOSEARCH—>[\s\S]*?<!—NOSEARCH—>/g,"");
523              tex=tex.replace(/<!--&mdash;NOSEARCH&mdash;-->[\s\S]*?<!--&mdash;NOSEARCH&mdash;-->/g,"");
524              tex=tex.replace(/<!---NOSE ARCH--->[\s\S]*?<!---NOSE ARCH--->/g,"");
525              tex=tex.replace(/&nbsp;/g,"");
526
527  						desc = tex;
528  						cont = tex;
529
530  						//custom description
531              if (htmlObj.find(".live-search-description").parent().length > 0)   {
532                desc = htmlObj.find(".live-search-description").parent().text() + desc;
533                window.customDesc = 1;
534              }
535
536              //
537              jQuery.each(window.hideWords, function(){
538                var thisValue = this.valueOf();
539                thisValue = thisValue.replace(/ +(?= )/g,'').replace(/^\s\s*/, '').replace(/\s\s*$/, '');
540                thisValue = new RegExp(thisValue, "g");
541                desc=desc.replace(thisValue, "");
542                tit=tit.replace(thisValue,"");
543              });
544              //
545              tit=tit.replace(/\|/g, "");
546
547              if(noSearch == 1) {
548                tit = " ";
549                desc = " ";
550                cont = " ";
551                value = " ";
552              }
553              var getHash;
554              if(value.includes('#')) {
555                getHash = value.substring(value.indexOf('#'));
556                value = value.substr(0, value.indexOf('#'));
557              }
558              if(getHash == undefined || getHash == "#") {
559                getHash = "";
560              }
561              tipuesearch_in.pages.push(
562                {
563                  "title": tit,
564                  "text": desc,
565                  "tags": cont,
566                  "url": value,
567                  "url_base": value,
568                  "hash": getHash
569                });
570                $(".tipue_search_loading .ts-count-wrap .ts-count").html(parseInt($(".tipue_search_loading .ts-count-wrap .ts-count").html())+1);
571                if(!pagOn){getTipueSearch(loadPage, true);}
572                if(parseInt($(".tipue_search_loading .ts-count-wrap .ts-count").html())+1 >= tipuesearch_pages.length) {
573                  setTimeout(function() {
574                    $(".tipue_search_spinner").remove();
575                    $('#'+set.thisId+'_tipue_search_content').addClass("showWarning");
576        						clearInterval(tipuesearch_in.updateResults);
577        					},300);
578                }
579            }));
580          });
581        }
582
583        if (set.mode == 'json')
584        {
585          $.getJSON(set.contentLocation)
586            .done(function(json)
587                  {
588            tipuesearch_in = $.extend({}, json);
589          });
590        }
591
592        if (set.mode == 'static')
593        {
594          tipuesearch_in = $.extend({}, tipuesearch);
595        }
596
597        var tipue_search_w = '';
598        if (set.newWindow)
599        {
600          tipue_search_w = ' target="_blank"';
601        }
602
603        function getURLP(name) {
604          return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20')) || null;
605        }
606
607        var built = 0,
608            loadPage = 0,
609            pagOn = false;
610        $(this).keyup(function(event) {
611          if(event.keyCode == '13') {//enter key pressed
612  					if(built==0){
613              $('#'+set.thisId+'_tipue_search_content .tipue_search_loading').html('<div class="tipue_search_spinner"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.67,285.59v-29.8C434.67,157.06,354.43,77,255.47,77a179,179,0,0,0-140.14,67.36m-38.53,82v29.8C76.8,355,157,435,256,435a180.45,180.45,0,0,0,140-66.92" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></path><polyline points="32 256 76 212 122 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline><polyline points="480 256 436 300 390 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline></svg><div class="ts-count-wrap"><span class="ts-count">0</span>/<span class="ts-total"></span></div></div>');
614  						buildIndex();
615  						built=1;
616  					} else {
617  						getTipueSearch(0, true);
618  					}
619          }
620        });
621        $(this).next().on("click",function(event) {//submit button pressed
622  					if(built==0){
623              $('#'+set.thisId+'_tipue_search_content .tipue_search_loading').html('<div class="tipue_search_spinner"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.67,285.59v-29.8C434.67,157.06,354.43,77,255.47,77a179,179,0,0,0-140.14,67.36m-38.53,82v29.8C76.8,355,157,435,256,435a180.45,180.45,0,0,0,140-66.92" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></path><polyline points="32 256 76 212 122 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline><polyline points="480 256 436 300 390 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline></svg><div class="ts-count-wrap"><span class="ts-count">0</span>/<span class="ts-total"></span></div></div>');
624  						buildIndex();
625  						built=1;
626  					} else {
627  						getTipueSearch(0, true);
628  					}
629        });
630        if (getURLP('q')) {//page loaded with a query string
631          $('#'+set.thisId+'_tipue_search_input').val(getURLP('q'));
632          if(built==0){
633            $("body").addClass("searching"+set.thisId);
634            $('#'+set.thisId+'_tipue_search_content .tipue_search_loading').html('<div class="tipue_search_spinner"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M434.67,285.59v-29.8C434.67,157.06,354.43,77,255.47,77a179,179,0,0,0-140.14,67.36m-38.53,82v29.8C76.8,355,157,435,256,435a180.45,180.45,0,0,0,140-66.92" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></path><polyline points="32 256 76 212 122 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline><polyline points="480 256 436 300 390 256" style="fill:none;stroke-linecap:round;stroke-linejoin:round;stroke-width:32px"></polyline></svg><div class="ts-count-wrap"><span class="ts-count">0</span>/<span class="ts-total"></span></div></div>');
635            buildIndex();
636            built=1;
637          } else {
638              getTipueSearch(0, true);
639          }
640        }
641
642        function getTipueSearch(start, replace)
643        {
644          $('#'+set.thisId+'_tipue_search_content').hide();
645          $('#'+set.thisId+'_tipue_search_content').show();
646
647          var out = '';
648          var results = '';
649          var show_replace = false;
650          var show_stop = false;
651          var standard = true;
652          var c = 0;
653          found = [];
654          var d = $('#'+set.thisId+'_tipue_search_input').val().toLowerCase();
655          var urlVar = "";
656          var randomN = Math.floor(Math.random() * 10001)
657          if("false" == "true") {
658            urlVar = "?s=" + encodeURIComponent(d) + "&r=" + randomN;
659          } else {
660            urlVar = "?r=" + randomN;
661          }
662          d = $.trim(d);
663
664          if ((d.match("^\"") && d.match("\"$")) || (d.match("^'") && d.match("'$")))
665          {
666            standard = false;
667          }
668
669          if (standard)
670          {
671            var d_w = d.split(' ');
672            d = '';
673            for (var i = 0; i < d_w.length; i++)
674            {
675              var a_w = true;
676              for (var f = 0; f < tipuesearch_stop_words.length; f++)
677              {
678                if (d_w[i] == tipuesearch_stop_words[f])
679                {
680                  a_w = false;
681                  show_stop = true;
682                }
683              }
684              if (a_w)
685              {
686                d = d + ' ' + d_w[i];
687              }
688            }
689            d = $.trim(d);
690            d_w = d.split(' ');
691          }
692          else
693          {
694            d = d.substring(1, d.length - 1);
695          }
696
697          if (d.length >= set.minimumLength)
698          {
699            if (standard)
700            {
701              if (replace)
702              {
703                var d_r = d;
704                for (var i = 0; i < d_w.length; i++)
705                {
706                  for (var f = 0; f < tipuesearch_replace.words.length; f++)
707                  {
708                    if (d_w[i] == tipuesearch_replace.words[f].word)
709                    {
710                      d = d.replace(d_w[i], tipuesearch_replace.words[f].replace_with);
711                      show_replace = true;
712                    }
713                  }
714                }
715                d_w = d.split(' ');
716              }
717
718              var d_t = d;
719              for (var i = 0; i < d_w.length; i++)
720              {
721                for (var f = 0; f < tipuesearch_stem.words.length; f++)
722                {
723                  if (d_w[i] == tipuesearch_stem.words[f].word)
724                  {
725                    d_t = d_t + ' ' + tipuesearch_stem.words[f].stem;
726                  }
727                }
728              }
729              d_w = d_t.split(' ');
730
731              for (var i = 0; i < tipuesearch_in.pages.length; i++)
732              {
733                var score = 0;
734                var s_t = tipuesearch_in.pages[i].text;
735                //console.log(d_w);
736                //console.log(s_t);
737                for (var f = 0; f < d_w.length; f++)
738                {
739                  var pat = new RegExp(d_w[f], 'gi');
740                  if (tipuesearch_in.pages[i].title.search(pat) != -1)
741                  {
742                    var m_c = tipuesearch_in.pages[i].title.match(pat).length;
743                    score += (20 * m_c);
744                  }
745                  if (tipuesearch_in.pages[i].text.search(pat) != -1)
746                  {
747                    var m_c = tipuesearch_in.pages[i].text.match(pat).length;
748                    score += (20 * m_c);
749                  }
750
751                  if (set.highlightTerms)
752                  {
753                    if (set.highlightEveryTerm)
754                    {
755                      var patr = new RegExp('(' + d_w[f] + ')', 'gi');
756                    }
757                    else
758                    {
759                      var patr = new RegExp('(' + d_w[f] + ')', 'i');
760                    }
761                    //console.log(s_t);
762                    s_t = s_t.replace(patr, "<span class=\"h01\">$1</span>");
763                    var s_t_check = s_t.split(/\s+/).slice(0,20).join(" ");
764                    //if(s_t.includes("<span") ) {
765                    if(s_t.indexOf("<span") >= 0) {
766                      var s_t_start = s_t.split(/\s+/).slice(0,10).join(" "),// 10(9) words at the start of the search container
767                          s_t_snip = s_t.substring(s_t.indexOf("<") - (30));// show 30 characters before the searched term
768                      //if(!s_t_check.includes("<span")) {
769                      if(s_t_check.indexOf("<span") < 0) {// if highlighted term is not inside of the first 10(9) words
770                        s_t_snip = s_t_snip.substring(s_t_snip.indexOf(" ") + 1);
771                        s_t = s_t_start + " ... " + s_t_snip;//first 10(9) words + ... + the rest of the searched text. It will be trimmed later by the set description length
772                      }
773                    }
774                  }
775
776                  if (tipuesearch_in.pages[i].tags.search(pat) != -1)
777                  {
778                    var m_c = tipuesearch_in.pages[i].tags.match(pat).length;
779                    score += (10 * m_c);
780                  }
781
782                  if (tipuesearch_in.pages[i].url.search(pat) != -1)
783                  {
784                    score += 20;
785                  }
786
787                  if (score != 0)
788                  {
789                    for (var e = 0; e < tipuesearch_weight.weight.length; e++)
790                    {
791                      if (tipuesearch_in.pages[i].url == tipuesearch_weight.weight[e].url)
792                      {
793                        score += tipuesearch_weight.weight[e].score;
794                      }
795                    }
796                  }
797
798                  if (d_w[f].match('^-'))
799                  {
800                    pat = new RegExp(d_w[f].substring(1), 'i');
801                    if (tipuesearch_in.pages[i].title.search(pat) != -1 || tipuesearch_in.pages[i].text.search(pat) != -1 || tipuesearch_in.pages[i].tags.search(pat) != -1)
802                    {
803                      score = 0;
804                    }
805                  }
806                }
807
808                if (score != 0)
809                {
810                  found.push(
811                    {
812                      "score": score,
813                      "title": tipuesearch_in.pages[i].title + " " + tipuesearch_in.pages[i].hash,
814                      "desc": s_t,
815                      "url_base": tipuesearch_in.pages[i].url + tipuesearch_in.pages[i].hash,
816                      "url": tipuesearch_in.pages[i].url + urlVar + tipuesearch_in.pages[i].hash
817                    });
818                  c++;
819                }
820              }
821            }
822            else
823            {
824              for (var i = 0; i < tipuesearch_in.pages.length; i++)
825              {
826                var score = 0;
827                var s_t = tipuesearch_in.pages[i].text;
828                var pat = new RegExp(d, 'gi');
829                if (tipuesearch_in.pages[i].title.search(pat) != -1)
830                {
831                  var m_c = tipuesearch_in.pages[i].title.match(pat).length;
832                  score += (20 * m_c);
833                }
834                if (tipuesearch_in.pages[i].text.search(pat) != -1)
835                {
836                  var m_c = tipuesearch_in.pages[i].text.match(pat).length;
837                  score += (20 * m_c);
838                }
839
840                if (set.highlightTerms)
841                {
842                  if (set.highlightEveryTerm)
843                  {
844                    var patr = new RegExp('(' + d + ')', 'gi');
845                  }
846                  else
847                  {
848                    var patr = new RegExp('(' + d + ')', 'i');
849                  }
850                  //console.log(s_t);
851                  s_t = s_t.replace(patr, "<span class=\"h01\">$1</span>");
852                  var s_t_check = s_t.split(/\s+/).slice(0,20).join(" ");
853                  //if(s_t.includes("<span") ) {
854                  if(s_t.indexOf("<span") >= 0) {
855                    var s_t_start = s_t.split(/\s+/).slice(0,10).join(" "),// 10(9) words at the start of the search container
856                        s_t_snip = s_t.substring(s_t.indexOf("<") - (30));// show 30 characters before the searched term
857                    //if(!s_t_check.includes("<span")) {
858                    if(s_t_check.indexOf("<span") < 0) {// if highlighted term is not inside of the first 10(9) words
859                      s_t_snip = s_t_snip.substring(s_t_snip.indexOf(" ") + 1);
860                      s_t = s_t_start + " ... " + s_t_snip;//first 10(9) words + ... + the rest of the searched text. It will be trimmed later by the set description length
861                    }
862                  }
863                }
864
865                if (tipuesearch_in.pages[i].tags.search(pat) != -1)
866                {
867                  var m_c = tipuesearch_in.pages[i].tags.match(pat).length;
868                  score += (10 * m_c);
869                }
870
871                if (tipuesearch_in.pages[i].url.search(pat) != -1)
872                {
873                  score += 20;
874                }
875
876                if (score != 0)
877                {
878                  for (var e = 0; e < tipuesearch_weight.weight.length; e++)
879                  {
880                    if (tipuesearch_in.pages[i].url == tipuesearch_weight.weight[e].url)
881                    {
882                      score += tipuesearch_weight.weight[e].score;
883                    }
884                  }
885                }
886
887                if (score != 0)
888                {
889                  found.push(
890                    {
891                      "score": score,
892                      "title": tipuesearch_in.pages[i].title + " " + tipuesearch_in.pages[i].hash,
893                      "desc": s_t,
894                      "url_base": tipuesearch_in.pages[i].url + tipuesearch_in.pages[i].hash,
895                      "url": tipuesearch_in.pages[i].url + urlVar + tipuesearch_in.pages[i].hash
896                    });
897                  c++;
898                }
899              }
900            }
901
902            if (c != 0)
903            {
904              if (set.showTitleCount && tipuesearch_t_c == 0)
905              {
906                var title = document.title;
907                document.title = '(' + c + ') ' + title;
908                tipuesearch_t_c++;
909              }
910
911              if (show_replace == 1)
912              {
913                out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_2 + ' ' + d + '. ' + tipuesearch_string_3 + ' <a id="'+set.thisId+'_tipue_search_replaced">' + d_r + '</a></div>';
914              }
915              if (c == 1)
916              {
917                out += '<div id="'+set.thisId+'_tipue_search_results_count">' + tipuesearch_string_4 + '</div>';
918              }
919              else
920              {
921                c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
922                out += '<div id="'+set.thisId+'_tipue_search_results_count">' + c_c + ' ' + tipuesearch_string_5 + '</div>';
923              }
924
925              found.sort(function(a, b) { return b.score - a.score } );
926
927              var l_o = 0;
928              for (var i = 0; i < found.length; i++)
929              {
930                if (l_o >= start && l_o < set.show + start)
931                {
932                  out += '<div class="tipue_search_content_title"><a href="' + found[i].url + '"' + tipue_search_w + '>' +  found[i].title + '</a></div>';
933
934                  if (set.debug)
935                  {
936                    out += '<div class="tipue_search_content_debug">Score: ' + found[i].score + '</div>';
937                  }
938
939                  if (set.showURL)
940                  {
941                    var s_u = found[i].url.toLowerCase();
942                    if(s_u.indexOf('http://') == 0)
943                    {
944                      s_u = s_u.slice(7);
945                    }
946                    out += '<div class="tipue_search_content_url"><a href="' + (found[i].url) + '"' + tipue_search_w + '>' + found[i].url_base + '</a></div>';
947                  }
948
949                  if (found[i].desc)
950                  {
951                    var t = found[i].desc;
952                    var t_d = '';
953                    var t_w = t.split(' ');
954                    if (t_w.length < set.descriptiveWords){
955                      t_d = t;
956                    } else {
957                      for (var f = 0; f < set.descriptiveWords; f++)
958                      {
959                        t_d += t_w[f] + ' ';
960                      }
961                    }
962                    t_d = $.trim(t_d);
963                    if (t_d.charAt(t_d.length - 1) != '.') {
964                      t_d += ' ...';
965                    }
966                    out += '<div class="tipue_search_content_text">' + t_d + '</div>';
967                  }
968                }
969                l_o++;
970              }
971
972              if (c > set.show)
973              {
974                var pages = Math.ceil(c / set.show);
975                var page = (start / set.show);
976                loadPage = start;
977                out += '<div id="'+set.thisId+'_tipue_search_foot"><ul id="'+set.thisId+'_tipue_search_foot_boxes">';
978
979                if (start > 0)
980                {
981                  out += '<li><a class="tipue_search_foot_box" id="' + (start - set.show) + '_' + replace + '">' + tipuesearch_string_6 + '</a></li>';
982                }
983
984                if (page <= 2)
985                {
986                  var p_b = pages;
987                  if (pages > 3)
988                  {
989                    p_b = 3;
990                  }
991                  for (var f = 0; f < p_b; f++)
992                  {
993                    if (f == page)
994                    {
995                      out += '<li class="current">' + (f + 1) + '</li>';
996
997                    }
998                    else
999                    {
1000                      out += '<li><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
1001                    }
1002                  }
1003                }
1004                else
1005                {
1006                  var p_b = page + 2;
1007                  if (p_b > pages)
1008                  {
1009                    p_b = pages;
1010                  }
1011                  for (var f = page - 1; f < p_b; f++)
1012                  {
1013                    if (f == page)
1014                    {
1015                      out += '<li class="current">' + (f + 1) + '</li>';
1016                    }
1017                    else
1018                    {
1019                      out += '<li><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
1020                    }
1021                  }
1022                }
1023
1024                if (page + 1 != pages)
1025                {
1026                  out += '<li><a class="tipue_search_foot_box" id="' + (start + set.show) + '_' + replace + '">' + tipuesearch_string_7 + '</a></li>';
1027                }
1028
1029                out += '</ul></div>';
1030              }
1031            }
1032            else
1033            {
1034              out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_8 + '</div>';
1035            }
1036          }
1037          else
1038          {
1039            if (show_stop)
1040            {
1041              out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_8 + '. ' + tipuesearch_string_9 + '</div>';
1042            }
1043            else
1044            {
1045              out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_10 + '</div>';
1046              if (set.minimumLength == 1)
1047              {
1048                out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_11 + '</div>';
1049              }
1050              else
1051              {
1052                out += '<div id="'+set.thisId+'_tipue_search_warning">' + tipuesearch_string_12 + '</div>';
1053              }
1054            }
1055          }
1056
1057          $('#'+set.thisId+'_tipue_search_content').hide();
1058          $('#'+set.thisId+'_tipue_search_content .tipue_search_results').html(out);
1059          $('#'+set.thisId+'_tipue_search_content').slideDown(200);
1060
1061          $('#'+set.thisId+'_tipue_search_replaced').click(function()
1062                                                 {
1063            getTipueSearch(0, false);
1064          });
1065
1066          $('.tipue_search_foot_box').click(function() {
1067            pagOn = true;
1068            var id_v = $(this).attr('id');
1069            var id_a = id_v.split('_');
1070
1071            getTipueSearch(parseInt(id_a[0]), id_a[1]);
1072          });
1073        }
1074
1075      });
1076    };
1077
1078  })(jQuery);
1079  /*!***************************************************
1080  * mark.js v8.11.1
1081  * https://markjs.io/
1082  * Copyright (c) 2014–2018, Julian Kühnel
1083  * Released under the MIT license https://git.io/vwTVl
1084  *****************************************************/
1085  !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Mark=t()}(this,function(){"use strict";var e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},t=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")},n=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}(),r=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},i=function(){function e(n){var r=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:5e3;t(this,e),this.ctx=n,this.iframes=r,this.exclude=i,this.iframesTimeout=o}return n(e,[{key:"getContexts",value:function(){var e=[];return(void 0!==this.ctx&&this.ctx?NodeList.prototype.isPrototypeOf(this.ctx)?Array.prototype.slice.call(this.ctx):Array.isArray(this.ctx)?this.ctx:"string"==typeof this.ctx?Array.prototype.slice.call(document.querySelectorAll(this.ctx)):[this.ctx]:[]).forEac
vendor: 11,230 bytes, line 1085
1085h(function(t){var n=e.filter(function(e){return e.contains(t)}).length>0;-1!==e.indexOf(t)||n||e.push(t)}),e}},{key:"getIframeContents",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:function(){},r=void 0;try{var i=e.contentWindow;if(r=i.document,!i||!r)throw new Error("iframe inaccessible")}catch(e){n()}r&&t(r)}},{key:"isIframeBlank",value:function(e){var t="about:blank",n=e.getAttribute("src").trim();return e.contentWindow.location.href===t&&n!==t&&n}},{key:"observeIframeLoad",value:function(e,t,n){var r=this,i=!1,o=null,a=function a(){if(!i){i=!0,clearTimeout(o);try{r.isIframeBlank(e)||(e.removeEventListener("load",a),r.getIframeContents(e,t,n))}catch(e){n()}}};e.addEventListener("load",a),o=setTimeout(a,this.iframesTimeout)}},{key:"onIframeReady",value:function(e,t,n){try{"complete"===e.contentWindow.document.readyState?this.isIframeBlank(e)?this.observeIframeLoad(e,t,n):this.getIframeContents(e,t,n):this.observeIframeLoad(e,t,n)}catch(e){n()}}},{key:"waitForIframes",value:function(e,t){var n=this,r=0;this.forEachIframe(e,function(){return!0},function(e){r++,n.waitForIframes(e.querySelector("html"),function(){--r||t()})},function(e){e||t()})}},{key:"forEachIframe",value:function(t,n,r){var i=this,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},a=t.querySelectorAll("iframe"),s=a.length,c=0;a=Array.prototype.slice.call(a);var u=function(){--s<=0&&o(c)};s||u(),a.forEach(function(t){e.matches(t,i.exclude)?u():i.onIframeReady(t,function(e){n(t)&&(c++,r(e)),u()},u)})}},{key:"createIterator",value:function(e,t,n){return document.createNodeIterator(e,t,n,!1)}},{key:"createInstanceOnIframe",value:function(t){return new e(t.querySelector("html"),this.iframes)}},{key:"compareNodeIframe",value:function(e,t,n){if(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_PRECEDING){if(null===t)return!0;if(t.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_FOLLOWING)return!0}return!1}},{key:"getIteratorNode",value:function(e){var t=e.previousNode();return{prevNode:t,node:null===t?e.nextNode():e.nextNode()&&e.nextNode()}}},{key:"checkIframeFilter",value:function(e,t,n,r){var i=!1,o=!1;return r.forEach(function(e,t){e.val===n&&(i=t,o=e.handled)}),this.compareNodeIframe(e,t,n)?(!1!==i||o?!1===i||o||(r[i].handled=!0):r.push({val:n,handled:!0}),!0):(!1===i&&r.push({val:n,handled:!1}),!1)}},{key:"handleOpenIframes",value:function(e,t,n,r){var i=this;e.forEach(function(e){e.handled||i.getIframeContents(e.val,function(e){i.createInstanceOnIframe(e).forEachNode(t,n,r)})})}},{key:"iterateThroughNodes",value:function(e,t,n,r,i){for(var o,a=this,s=this.createIterator(t,e,r),c=[],u=[],l=void 0,h=void 0;void 0,o=a.getIteratorNode(s),h=o.prevNode,l=o.node;)this.iframes&&this.forEachIframe(t,function(e){return a.checkIframeFilter(l,h,e,c)},function(t){a.createInstanceOnIframe(t).forEachNode(e,function(e){return u.push(e)},r)}),u.push(l);u.forEach(function(e){n(e)}),this.iframes&&this.handleOpenIframes(c,e,n,r),i()}},{key:"forEachNode",value:function(e,t,n){var r=this,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){},o=this.getContexts(),a=o.length;a||i(),o.forEach(function(o){var s=function(){r.iterateThroughNodes(e,o,t,n,function(){--a<=0&&i()})};r.iframes?r.waitForIframes(o,s):s()})}}],[{key:"matches",value:function(e,t){var n="string"==typeof t?[t]:t,r=e.matches||e.matchesSelector||e.msMatchesSelector||e.mozMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector;if(r){var i=!1;return n.every(function(t){return!r.call(e,t)||(i=!0,!1)}),i}return!1}}]),e}(),o=function(){function e(n){t(this,e),this.opt=r({},{diacritics:!0,synonyms:{},accuracy:"partially",caseSensitive:!1,ignoreJoiners:!1,ignorePunctuation:[],wildcards:"disabled"},n)}return n(e,[{key:"create",value:function(e){return"disabled"!==this.opt.wildcards&&(e=this.setupWildcardsRegExp(e)),e=this.escapeStr(e),Object.keys(this.opt.synonyms).length&&(e=this.createSynonymsRegExp(e)),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),this.opt.diacritics&&(e=this.createDiacriticsRegExp(e)),e=this.createMergedBlanksRegExp(e),(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.createJoinersRegExp(e)),"disabled"!==this.opt.wildcards&&(e=this.createWildcardsRegExp(e)),e=this.createAccuracyRegExp(e),new RegExp(e,"gm"+(this.opt.caseSensitive?"":"i"))}},{key:"escapeStr",value:function(e){return e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}},{key:"createSynonymsRegExp",value:function(e){var t=this.opt.synonyms,n=this.opt.caseSensitive?"":"i",r=this.opt.ignoreJoiners||this.opt.ignorePunctuation.length?"\0":"";for(var i in t)if(t.hasOwnProperty(i)){var o=t[i],a="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(i):this.escapeStr(i),s="disabled"!==this.opt.wildcards?this.setupWildcardsRegExp(o):this.escapeStr(o);""!==a&&""!==s&&(e=e.replace(new RegExp("("+this.escapeStr(a)+"|"+this.escapeStr(s)+")","gm"+n),r+"("+this.processSynonyms(a)+"|"+this.processSynonyms(s)+")"+r))}return e}},{key:"processSynonyms",value:function(e){return(this.opt.ignoreJoiners||this.opt.ignorePunctuation.length)&&(e=this.setupIgnoreJoinersRegExp(e)),e}},{key:"setupWildcardsRegExp",value:function(e){return(e=e.replace(/(?:\\)*\?/g,function(e){return"\\"===e.charAt(0)?"?":"�"})).replace(/(?:\\)*\*/g,function(e){return"\\"===e.charAt(0)?"*":"�"})}},{key:"createWildcardsRegExp",value:function(e){var t="withSpaces"===this.opt.wildcards;return e.replace(/\u0001/g,t?"[\\S\\s]?":"\\S?").replace(/\u0002/g,t?"[\\S\\s]*?":"\\S*")}},{key:"setupIgnoreJoinersRegExp",value:function(e){return e.replace(/[^(|)\\]/g,function(e,t,n){var r=n.charAt(t+1);return/[(|)\\]/.test(r)||""===r?e:e+"\0"})}},{key:"createJoinersRegExp",value:function(e){var t=[],n=this.opt.ignorePunctuation;return Array.isArray(n)&&n.length&&t.push(this.escapeStr(n.join(""))),this.opt.ignoreJoiners&&t.push("\\u00ad\\u200b\\u200c\\u200d"),t.length?e.split(/\u0000+/).join("["+t.join("")+"]*"):e}},{key:"createDiacriticsRegExp",value:function(e){var t=this.opt.caseSensitive?"":"i",n=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ŽŻŹ"],r=[];return e.split("").forEach(function(i){n.every(function(n){if(-1!==n.indexOf(i)){if(r.indexOf(n)>-1)return!1;e=e.replace(new RegExp("["+n+"]","gm"+t),"["+n+"]"),r.push(n)}return!0})}),e}},{key:"createMergedBlanksRegExp",value:function(e){return e.replace(/[\s]+/gim,"[\\s]+")}},{key:"createAccuracyRegExp",value:function(e){var t=this,n=this.opt.accuracy,r="string"==typeof n?n:n.value,i="";switch(("string"==typeof n?[]:n.limiters).forEach(function(e){i+="|"+t.escapeStr(e)}),r){case"partially":default:return"()("+e+")";case"complementary":return"()([^"+(i="\\s"+(i||this.escapeStr("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~¡¿")))+"]*"+e+"[^"+i+"]*)";case"exactly":return"(^|\\s"+i+")("+e+")(?=$|\\s"+i+")"}}}]),e}(),a=function(){function a(e){t(this,a),this.ctx=e,this.ie=!1;var n=window.navigator.userAgent;(n.indexOf("MSIE")>-1||n.indexOf("Trident")>-1)&&(this.ie=!0)}return n(a,[{key:"log",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"debug",r=this.opt.log;this.opt.debug&&"object"===(void 0===r?"undefined":e(r))&&"function"==typeof r[n]&&r[n]("mark.js: "+t)}},{key:"getSeparatedKeywords",value:function(e){var t=this,n=[];return e.forEach(function(e){t.opt.separateWordSearch?e.split(" ").forEach(function(e){e.trim()&&-1===n.indexOf(e)&&n.push(e)}):e.trim()&&-1===n.indexOf(e)&&n.push(e)}),{keywords:n.sort(function(e,t){return t.length-e.length}),length:n.length}}},{key:"isNumeric",value:function(e){return Number(parseFloat(e))==e}},{key:"checkRanges",value:function(e){var t=this;if(!Array.isArray(e)||"[object Object]"!==Object.prototype.toString.call(e[0]))return this.log("markRanges() will only accept an array of objects"),this.opt.noMatch(e),[];var n=[],r=0;return e.sort(function(e,t){return e.start-t.start}).forEach(function(e){var i=t.callNoMatchOnInvalidRanges(e,r),o=i.start,a=i.end;i.valid&&(e.start=o,e.length=a-o,n.push(e),r=a)}),n}},{key:"callNoMatchOnInvalidRanges",value:function(e,t){var n=void 0,r=void 0,i=!1;return e&&void 0!==e.start?(r=(n=parseInt(e.start,10))+parseInt(e.length,10),this.isNumeric(e.start)&&this.isNumeric(e.length)&&r-t>0&&r-n>0?i=!0:(this.log("Ignoring invalid or overlapping range: "+JSON.stringify(e)),this.opt.noMatch(e))):(this.log("Ignoring invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:n,end:r,valid:i}}},{key:"checkWhitespaceRanges",value:function(e,t,n){var r=void 0,i=!0,o=n.length,a=t-o,s=parseInt(e.start,10)-a;return(r=(s=s>o?o:s)+parseInt(e.length,10))>o&&(r=o,this.log("End range automatically set to the max value of "+o)),s<0||r-s<0||s>o||r>o?(i=!1,this.log("Invalid range: "+JSON.stringify(e)),this.opt.noMatch(e)):""===n.substring(s,r).replace(/\s+/g,"")&&(i=!1,this.log("Skipping whitespace only range: "+JSON.stringify(e)),this.opt.noMatch(e)),{start:s,end:r,valid:i}}},{key:"getTextNodes",value:function(e){var t=this,n="",r=[];this.iterator.forEachNode(NodeFilter.SHOW_TEXT,function(e){r.push({start:n.length,end:(n+=e.textContent).length,node:e})},function(e){return t.matchesExclude(e.parentNode)?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},function(){e({value:n,nodes:r})})}},{key:"matchesExclude",value:function(e){return i.matches(e,this.opt.exclude.concat(["script","style","title","head","html"]))}},{key:"wrapRangeInTextNode",value:function(e,t,n){var r=this.opt.element?this.opt.element:"mark",i=e.splitText(t),o=i.splitText(n-t),a=document.createElement(r);return a.setAttribute("data-markjs","true"),this.opt.className&&a.setAttribute("class",this.opt.className),a.textContent=i.textContent,i.parentNode.replaceChild(a,i),o}},{key:"wrapRangeInMappedTextNode",value:function(e,t,n,r,i){var o=this;e.nodes.every(function(a,s){var c=e.nodes[s+1];if(void 0===c||c.start>t){if(!r(a.node))return!1;var u=t-a.start,l=(n>a.end?a.end:n)-a.start,h=e.value.substr(0,a.start),f=e.value.substr(l+a.start);if(a.node=o.wrapRangeInTextNode(a.node,u,l),e.value=h+f,e.nodes.forEac
vendor: 4,181 bytes, line 1085
1085h(function(t,n){n>=s&&(e.nodes[n].start>0&&n!==s&&(e.nodes[n].start-=l),e.nodes[n].end-=l)}),n-=l,i(a.node.previousSibling,a.start),!(n>a.end))return!1;t=a.end}return!0})}},{key:"wrapGroups",value:function(e,t,n,r){return r((e=this.wrapRangeInTextNode(e,t,t+n)).previousSibling),e}},{key:"separateGroups",value:function(e,t,n,r,i){for(var o=t.length,a=1;a<o;a++){var s=e.textContent.indexOf(t[a]);t[a]&&s>-1&&r(t[a],e)&&(e=this.wrapGroups(e,s,t[a].length,i))}return e}},{key:"wrapMatches",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){t.nodes.forEach(function(t){t=t.node;for(var i=void 0;null!==(i=e.exec(t.textContent))&&""!==i[a];){if(o.opt.separateGroups)t=o.separateGroups(t,i,a,n,r);else{if(!n(i[a],t))continue;var s=i.index;if(0!==a)for(var c=1;c<a;c++)s+=i[c].length;t=o.wrapGroups(t,s,i[a].length,r)}e.lastIndex=0}}),i()})}},{key:"wrapMatchesAcrossElements",value:function(e,t,n,r,i){var o=this,a=0===t?0:t+1;this.getTextNodes(function(t){for(var s=void 0;null!==(s=e.exec(t.value))&&""!==s[a];){var c=s.index;if(0!==a)for(var u=1;u<a;u++)c+=s[u].length;var l=c+s[a].length;o.wrapRangeInMappedTextNode(t,c,l,function(e){return n(s[a],e)},function(t,n){e.lastIndex=n,r(t)})}i()})}},{key:"wrapRangeFromIndex",value:function(e,t,n,r){var i=this;this.getTextNodes(function(o){var a=o.value.length;e.forEach(function(e,r){var s=i.checkWhitespaceRanges(e,a,o.value),c=s.start,u=s.end;s.valid&&i.wrapRangeInMappedTextNode(o,c,u,function(n){return t(n,e,o.value.substring(c,u),r)},function(t){n(t,e)})}),r()})}},{key:"unwrapMatches",value:function(e){for(var t=e.parentNode,n=document.createDocumentFragment();e.firstChild;)n.appendChild(e.removeChild(e.firstChild));t.replaceChild(n,e),this.ie?this.normalizeTextNode(t):t.normalize()}},{key:"normalizeTextNode",value:function(e){if(e){if(3===e.nodeType)for(;e.nextSibling&&3===e.nextSibling.nodeType;)e.nodeValue+=e.nextSibling.nodeValue,e.parentNode.removeChild(e.nextSibling);else this.normalizeTextNode(e.firstChild);this.normalizeTextNode(e.nextSibling)}}},{key:"markRegExp",value:function(e,t){var n=this;this.opt=t,this.log('Searching with expression "'+e+'"');var r=0,i="wrapMatches";this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),this[i](e,this.opt.ignoreGroups,function(e,t){return n.opt.filter(t,e,r)},function(e){r++,n.opt.each(e)},function(){0===r&&n.opt.noMatch(e),n.opt.done(r)})}},{key:"mark",value:function(e,t){var n=this;this.opt=t;var r=0,i="wrapMatches",a=this.getSeparatedKeywords("string"==typeof e?[e]:e),s=a.keywords,c=a.length;this.opt.acrossElements&&(i="wrapMatchesAcrossElements"),0===c?this.opt.done(r):function e(t){var a=new o(n.opt).create(t),u=0;n.log('Searching with expression "'+a+'"'),n[i](a,1,function(e,i){return n.opt.filter(i,t,r,u)},function(e){u++,r++,n.opt.each(e)},function(){0===u&&n.opt.noMatch(t),s[c-1]===t?n.opt.done(r):e(s[s.indexOf(t)+1])})}(s[0])}},{key:"markRanges",value:function(e,t){var n=this;this.opt=t;var r=0,i=this.checkRanges(e);i&&i.length?(this.log("Starting to mark with the following ranges: "+JSON.stringify(i)),this.wrapRangeFromIndex(i,function(e,t,r,i){return n.opt.filter(e,t,r,i)},function(e,t){r++,n.opt.each(e,t)},function(){n.opt.done(r)})):this.opt.done(r)}},{key:"unmark",value:function(e){var t=this;this.opt=e;var n=this.opt.element?this.opt.element:"*";n+="[data-markjs]",this.opt.className&&(n+="."+this.opt.className),this.log('Removal selector "'+n+'"'),this.iterator.forEachNode(NodeFilter.SHOW_ELEMENT,function(e){t.unwrapMatches(e)},function(e){var r=i.matches(e,n),o=t.matchesExclude(e);return!r||o?NodeFilter.FILTER_REJECT:NodeFilter.FILTER_ACCEPT},this.opt.done)}},{key:"opt",set:function(e){this._opt=r({},{element:"",className:"",exclude:[],iframes:!1,iframesTimeout:5e3,separateWordSearch:!0,acrossElements:!1,ignoreGroups:0,each:function(){},noMatch:function(){},filter:function(){return!0},done:function(){},debug:!1,log:window.console},e)},get:function(){return this._opt}},{key:"iterator",get:function(){return new i(this.ctx,this.opt.iframes,this.opt.exclude,this.opt.iframesTimeout)}}]),a}();return function(e){var t=this,n=new a(e);return this.mark=function(e,r){return n.mark(e,r),t}
1085,this.markRegExp=function(e,r){return n.markRegExp(e,r),t},this.markRanges=function(e,r){return n.markRanges(e,r),t},this.unmark=function(e){return n.unmark(e),t},this}});
1086  function stringIsEmpty(value) {
1087    return value ? value.trim().length == 0 : true;
1088  }
1089  function highlight() {
1090    var liveSearchTerm = location.search.split('s=')[1];
1091    if (liveSearchTerm == null){
1092
1093    } else if (liveSearchTerm.includes('&')) {
1094      liveSearchTerm = liveSearchTerm.substring(0, liveSearchTerm.indexOf('&'));
1095    }
1096    liveSearchTerm = decodeURIComponent(liveSearchTerm);
1097    if("False" == "True") {
1098      console.log("Search Term/s: " + liveSearchTerm);
1099    }
1100    if(!stringIsEmpty(liveSearchTerm)) {
1101      var markInstance;
1102      if ($(".container").length > 0 ) {
1103        markInstance = new Mark(document.querySelector(".container"));
1104        markInstance.mark(liveSearchTerm, { wildcards: "enabled", exclude: ["nav *"],
1105                                           done: function() {
1106                                             if($('mark').length) {
1107                                               $("html, body").animate({ scrollTop: $('mark').offset().top - 300 }, 300);
1108                                             }
1109                                           }
1110                                          });
1111        if($('mark').length) {
1112          $('html, body').scrollTop($("mark").offset().top - $('html, body').offset().top + $('html, body').scrollTop());
1113        }
1114      } else if ($(".stacks_top").length > 0){
1115        markInstance = new Mark(document.querySelector("div.stacks_top"));
1116        markInstance.mark(liveSearchTerm, { wildcards: "enabled", exclude: ["nav *"],
1117                                           done: function() {
1118                                             if($('mark').length) {
1119                                               $("html, body").animate({ scrollTop: $('mark').offset().top - 300 }, 300);
1120                                             }
1121                                           }
1122                                          });
1123      } else {
1124        markInstance = new Mark(document.querySelector("body"));
1125        markInstance.mark(liveSearchTerm, { wildcards: "enabled", exclude: ["nav *"],
1126                                           done: function() {
1127                                             if($('mark').length) {
1128                                               $("html, body").animate({ scrollTop: $('mark').offset().top - 300  }, 300);
1129                                             }
1130                                           }
1131                                          });
1132      }
1133    }
1134  }
1135  function cleanString(input) {
1136    var output = "";
1137    for (var i=0; i<input.length; i++) {
1138      if (input.charCodeAt(i) <= 127) {
1139        output += input.charAt(i);
1140      }
1141    }
1142    return output;
1143  }
1144  function searchFinalize() {
1145    if("False" == "True") {
1146      if ($(".container").length > 0) {
1147        console.log("Search Container: .container");
1148      } else if ($(".stacks_top").length > 0){
1149        console.log("Search Container: .stacks_top");
1150      } else {
1151        console.log("Search Container: None");
1152      }
1153      console.log("Automatically identified pages:");
1154      for (i = 0; i < tipuesearch_pages.length; i++){
1155        console.log(tipuesearch_pages[i]);
1156      }
1157    }
1158
1159    //  jQuery.each(pages, function(index, value) {
1160    //      tipuesearch_pages.push(this);
1161    //  });
1162    //
1163
1164    //Exclude pages
1165    //
1166    var tipuesearch_pages_remove = [];
1167    $('.excluded-pages a').each(function (index, value){
1168      var pageIndex = tipuesearch_pages.indexOf(this.href);
1169      if (pageIndex > -1) {
1170        tipuesearch_pages.splice(pageIndex, 1);
1171      }
1172      tipuesearch_pages_remove.push(this.href);
1173    });
1174    if("False" == "True") {
1175      console.log("Excluded pages:");
1176      for (i = 0; i < tipuesearch_pages_remove.length; i++){
1177        console.log(tipuesearch_pages_remove[i]);
1178      }
1179    }
1180    //
1181
1182    //Remove duplicates
1183    var arrayUnique = function (arr) {
1184      return arr.filter(function(item, index){
1185        return arr.indexOf(item) >= index;
1186      });
1187    };
1188    tipuesearch_pages = arrayUnique(tipuesearch_pages);
1189
1190    $.when(tipuesearch_pages).done(function() {
1191      if("False" == "True") {
1192        console.log("Final list of pages to search:");
1193      }
1194      //Remove URL variables
1195      for (i = 0; i < tipuesearch_pages.length; i++){
1196        tipuesearch_pages[i] = tipuesearch_pages[i].replace(/\?.*\#/, '#');
1197        var hasVar = tipuesearch_pages[i].indexOf('?');
1198        tipuesearch_pages[i] = tipuesearch_pages[i].substring(0, hasVar != -1 ? hasVar : tipuesearch_pages[i].length);
1199        if("False" == "True") {console.log(tipuesearch_pages[i]);}
1200      }
1201    });
1202    searchEventsstacks_in_36335_2();
1203    jQuery("body").addClass("tipue_search_loaded");
1204  }
1205  function searchInit(data) {
1206
1207    let sitemapUrls = [],
1208        xmlReqPromises = [];
1209    //
1210    sitemapUrls.push(window.liveSearchBaseUrl + "sitemap.xml");
1211    $.when.apply($, sitemapUrls.map(function(val) {
1212      let thisUrl = val.trim();
1213      xmlReqPromises.push(
1214      new Promise(function(resolve, reject) {
1215        $.ajax({
1216          type: "GET",
1217          url: thisUrl,
1218          dataType: "xml",
1219          cache: false
1220        }).done(function( data ) {
1221          if("False" == "True") {
1222            console.log("Sitemap found: " + thisUrl + "sitemap.xml");
1223          }
1224          let xmlPages = $(data).find("url");
1225          $(xmlPages).each(function(){
1226            tipuesearch_pages.push($(this).find("loc").text());
1227          }).promise().done(function() {
1228            resolve();
1229          });
1230        }).fail( function(xhr, textStatus, errorThrown) {
1231          if("False" == "True") {
1232            console.log("Sitemap not found: " + thisUrl + "sitemap.xml");
1233          }
1234          resolve();
1235        });
1236      }));
1237    })).then(function() {
1238      Promise.all(xmlReqPromises).then(function() {
1239        if(tipuesearch_pages.length < 1) {
1240          console.log("No sitemap.xml files found");
1241          //Get folder path
1242          var path = jQuery(".stacks_in_36335_2_pages").html();
1243          path = path.split('href="');
1244          window.folderPath = "";
1245          jQuery.each(path, function(index, value) {
1246            var newArr = this.split('"');
1247            if (index == 1 && newArr[0] != "./") {
1248              if (newArr[0].match("^../../../../../")) {
1249                window.folderPath = "../../../../../";
1250              } else if (newArr[0].match("^../../../../")) {
1251                window.folderPath = "../../../../";
1252              }  else if (newArr[0].match("^../../../")) {
1253                window.folderPath = "../../../";
1254              }  else if (newArr[0].match("^../../")) {
1255                window.folderPath = "../../";
1256              }  else if (newArr[0].match("^../")) {
1257                window.folderPath = "../";
1258              }
1259              newArr = newArr[0];
1260            }
1261          });
1262          //Get all links
1263          var pages = [], duplicates;
1264          for (var i= document.links.length; i-->0;) {
1265            if (document.links[i].hostname===location.hostname) {
1266              var href = document.links[i].href;
1267              href = href.replace(/\?.*/,'');
1268              href = href.replace(/\#.*/,'');
1269              if (href.match(/\.(jpeg|jpg|gif|pdf|png)$/) == null) {
1270                duplicates = document.links[i].href;
1271                if(duplicates.substr(duplicates.indexOf("#") + 1) == "") {
1272                  duplicates = duplicates.replace(/\#.*/,'');
1273                }
1274                if($.inArray(duplicates, tipuesearch_pages) === -1) {
1275                  tipuesearch_pages.push(document.links[i].href);
1276                }
1277              }
1278            }
1279          }
1280          searchFinalize();
1281        } else {
1282          searchFinalize();
1283        }
1284      });
1285    });
1286  }
1287  jQuery(window).load(function() {
1288    highlight();
1289  });
1290}
1291function searchEventsstacks_in_36335_2() {
1292  //More results
1293  if ($(".live-search-results").length && $(window).width() > 768) {
1294    $("#stacks_in_36335_2_tipue_search_content").appendTo(".live-search-results");
1295  } else if ($(".live-search-results-mobile").length) {
1296    $("#stacks_in_36335_2_tipue_search_content").appendTo(".live-search-results-mobile");
1297  }
1298  //Search
1299  jQuery('#stacks_in_36335_2_tipue_search_input').tipuesearch({
1300    'mode': 'live', //The mode for loading content. The value can be 'static', 'live' or 'json'. The default is 'static'.
1301    'liveDescription': '*', // the element containing the descriptive text
1302    //
1303    'liveContent': '.container', //the element containing the content to be searched.
1304    //
1305    //
1306    'show': 5, //The number of results displayed. The default is 7.
1307    'newWindow': false, //The search result opens in a new browser tab if set to true. The default is false.
1308    'showURL': false, //The URL is displayed in each search result if set to true. The default is true.
1309    'showTitleCount': true, //The number of search results is displayed in the document title if set to true. The default is true.
1310    'minimumLength': 3, //The minimum length of characters in a search query. The default is 3.
1311    'descriptiveWords': 60, //The number of words displayed in the descriptive text in the search search. The default is 25.
1312    'highlightTerms': true, //Search terms are highlighted if set to true. The default is true. The highlight CSS is set in the h01 class.
1313    'highlightEveryTerm': true, //Every occurrence of search terms are highlighted if set to true. The default is false.
1314    'thisId': 'stacks_in_36335_2'
1315  });
1316  jQuery('form#stacks_in_36335_2_live-search').on('submit', function() {
1317    jQuery("body").addClass("searchingstacks_in_36335_2");
1318    return false;
1319  });
1320  jQuery('#stacks_in_36335_2_tipue_search_input, #stacks_in_36335_2_tipue_search_content').on('click', function(e) {
1321    e.stopPropagation();
1322  });
1323  jQuery(document).on('click', function (e) {
1324    jQuery("body").removeClass("searchingstacks_in_36335_2");
1325  });
1326}
1327//
1328jQuery(document).ready( function() {
1329  //
1330  var suggestions = $("#searchstacks_in_36335_2").html();
1331  suggestions = suggestions.replace(/(?:\r\n|\r|\n)/g, '</option><option>');
1332  suggestions.concat("<option>","</option>");
1333  $("#searchstacks_in_36335_2").html(suggestions);
1334  //
1335  //
1336  //
1337  if(window.liveSearchInitialized == null) {
1338    searchInit();
1339    window.liveSearchInitialized = true;
1340  } else {
1341    searchEventsstacks_in_36335_2();
1342  }
1343  //
1344});
1345
1346return stack;})(stacks.stacks_in_36335_2);
1347stacks.stacks_in_36761 = {};
1348stacks.stacks_in_36761 = (function(stack) {
1349var jQuery = stacks.jQuery;var $ = jQuery;
1350
1351
1352return stack;})(stacks.stacks_in_36761);
1353stacks.stacks_in_36513 = {};
1354stacks.stacks_in_36513 = (function(stack) {
1355var jQuery = stacks.jQuery;var $ = jQuery; $(function(){var stack=$('#stacks_in_36510'),para=$('p:first',stack),wrapper=$('.ppro-wrap',stack),img=$('img',wrapper),paraContent=para.html();para.html(wrapper.html()+paraContent);wrapper.remove();});
1356
1357return stack;})(stacks.stacks_in_36513);
1358stacks.stacks_in_36528 = {};
1359stacks.stacks_in_36528 = (function(stack) {
1360var jQuery = stacks.jQuery;var $ = jQuery;
1361$(function(){var stack=$('#stacks_in_36510'),frame=false,para="all"=="first"?$('p:first',stack):"all"=="last"?$('p:last',stack):"all"=="stack"?$(stack):para=$('p',stack);if(frame){stack.parent().addClass('framed-stacks_in_36510');}
1362para.addClass('ppro-shrinking');para.readmore_pro({uniqueID:"rm-stacks_in_36528 ",speed:120,maxHeight:384,moreLink:'<a href="#"> <i class="rm-icon fa fa-chevron-down"></i> Read More</a>',lessLink:'<a href="#"> <i class="rm-icon fa fa-chevron-up"></i> Read Less</a>',linkAlign:'toggle-left',startOpen:false,afterToggle:function(trigger,element,expanded){var test;setTimeout(function(){$(window).trigger('resize');},1);}});var
1363bpOpen=$('.myReadmore1.joeyTrigger>.joeyOpenLabel, .myReadmore1.joeyTrigger>.openIcon '),bpClosed=$('.myReadmore1.joeyTrigger>.joeyCloseLabel, .myReadmore1.joeyTrigger>.closeIcon ');bpClosed.toggle();$('.myReadmore1').click(function(e){e.stopPropagation();e.preventDefault();bpOpen.toggle();bpClosed.toggle();$('.rm-stacks_in_36528').trigger('click');});});
1364
1365return stack;})(stacks.stacks_in_36528);
1366stacks.stacks_in_36588 = {};
1367stacks.stacks_in_36588 = (function(stack) {
1368var jQuery = stacks.jQuery;var $ = jQuery;// Start Obscure Email stack Javascript code��$(document).ready(function() {��function findPlainTextExceptInLinks(element, substring, callback) {�    for (var childi= element.childNodes.length; childi-->0;) {�        var child= element.childNodes[childi];�        if (child.nodeType===1) {�            if (child.tagName.toLowerCase()!=='a')�                findPlainTextExceptInLinks(child, substring, callback);�        } else if (child.nodeType===3) {�            var index= child.data.length;�            while (true) {�                index= child.data.lastIndexOf(substring, index);�                if (index===-1)�                    break;�                callback.call(window, child, index)�            }�        }�    }�}��var substring= 'sbsecretaryEmail';�findPlainTextExceptInLinks(document.body, substring, function(node, index) {�    node.splitText(index+substring.length);�    var span= document.createElement('span');�    span.className = "stacks_in_36588InjectHere";�    span.appendChild(node.splitText(index));�    node.parentNode.insertBefore(span, node.nextSibling);�});��var stacks_in_36588fiddler = "thelondonclinic.co.uk"��if("show" == "show"){�var stacks_in_36588subject = "Enquiry via gallstone website"�}else{�var stacks_in_36588subject = ""�}��if("hide" == "hide"){�$(".stacks_in_36588InjectHere").replaceWith("<A href='mailto:" + "secretary.bhattacharya" + "@" + stacks_in_36588fiddler + "?subject=" + stacks_in_36588subject + "'>" + "secretary.bhattacharya" + "@" + stacks_in_36588fiddler + "</a>" + "<NOSCRIPT><em> Email address protected by JavaScript. </em></NOSCRIPT>");�}�else{�$(".stacks_in_36588InjectHere").replaceWith("<A href='mailto:" + "secretary.bhattacharya" + "@" + stacks_in_36588fiddler + "?subject=" + stacks_in_36588subject + "'>" + "Contact Us" + "</a>" + "<NOSCRIPT><em> Email address protected by JavaScript. </em></NOSCRIPT>");�}��});��// End Obscure Email stack Javascript code�
1369return stack;})(stacks.stacks_in_36588);
1370stacks.stacks_in_36655 = {};
1371stacks.stacks_in_36655 = (function(stack) {
1372var jQuery = stacks.jQuery;var $ = jQuery;/* OpenStreetMap 2.2.1 */
1373
1374$(function() {
1375
1376    if ($('#stacks_in_36655').length > 0) {
1377
1378        var leafletMap = L.map('stacks_in_36655').setView([51.521918, -0.149576], 16);
1379
1380        if ('ontouchstart' in window || navigator.msMaxTouchPoints) {
1381            // Mobile Device
1382            leafletMap.dragging.disable();
1383            if (leafletMap.tap) {
1384                leafletMap.tap.disable();
1385            }
1386        } else {
1387            // Desktop
1388            leafletMap.scrollWheelZoom.disable();
1389        }
1390
1391        
1392        L.tileLayer.provider("OpenStreetMap.Mapnik", {
1393            retina: true,
1394            apikey: ""
1395        }).addTo(leafletMap);
1396        
1397
1398        
1399
1400        
1401
1402        
1403        L.marker([51.521918, -0.149576], {icon: redIcon}).addTo(leafletMap).bindPopup('<a href="https://www.google.co.uk/maps/place/116+Harley+St,+Marylebone,+London+NW8+7JA/@51.5218756,-0.1502519,17z/data=!3m1!4b1!4m5!3m4!1s0x48761ad13c1379c3:0x7b03530ea82b9c7b!8m2!3d51.5218756!4d-0.1480579?hl=en-GB"  class="">5 Devonshire Place<br />London W1G 6HL</a>').openPopup();
1404        
1405
1406        
1407
1408        
1409
1410        
1411
1412        
1413
1414        
1415
1416        
1417
1418        
1419
1420        
1421
1422        
1423
1424
1425    }
1426
1427});
1428return stack;})(stacks.stacks_in_36655);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.