[]
{var e,t,r={234:(e,t,r)=>{“use strict”;r.d(t,{P_:()=>v,Mt:()=>b,C5:()=>s,OP:()=>k,lF:()=>N,Yu:()=>_,Dg:()=>m,CX:()=>c,GE:()=>w,sU:()=>R});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error(“All info objects require an agent identifier!”);if(!a[e])throw new Error(“Info for “.concat(e,” was never set”));return a[e]}function c(e,t){if(!e)throw new Error(“All info objects require an agent identifier!”);a[e]=(0,i.D)(t,o);const r=(0,n.ek)(e);r&&(r.info=a[e])}const u=e=>{if(!e||”string”!=typeof e)return!1;try{document.createDocumentFragment().querySelector(e)}catch{return!1}return!0};var d=r(7056),l=r(50);const f=”[data-nr-mask]”,g=()=>{const e={mask_selector:”*”,block_selector:”[data-nr-block]”,mask_input_options:{color:!1,date:!1,”datetime-local”:!1,email:!1,month:!1,number:!1,range:!1,search:!1,tel:!1,text:!1,time:!1,url:!1,week:!1,textarea:!1,select:!1,password:!0}};return{feature_flags:[],proxy:{assets:void 0,beacon:void 0},privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,block_internal:!0,enabled:!0,harvestTimeSeconds:10,autoStart:!0},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:d.oD,inactiveMs:d.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},metrics:{enabled:!0,autoStart:!0},page_action:{enabled:!0,harvestTimeSeconds:30,autoStart:!0},page_view_event:{enabled:!0,autoStart:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1,autoStart:!0},session_trace:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},harvest:{tooManyRequestsDelay:60},session_replay:{autoStart:!0,enabled:!1,harvestTimeSeconds:60,preload:!1,sampling_rate:10,error_sampling_rate:100,collect_fonts:!1,inline_images:!1,inline_stylesheet:!0,mask_all_inputs:!0,get mask_text_selector(){return e.mask_selector},set mask_text_selector(t){u(t)?e.mask_selector=””.concat(t,”,”).concat(f):””===t||null===t?e.mask_selector=f:(0,l.Z)(“An invalid session_replay.mask_selector was provided. ‘*’ will be used.”,t)},get block_class(){return”nr-block”},get ignore_class(){return”nr-ignore”},get mask_text_class(){return”nr-mask”},get block_selector(){return e.block_selector},set block_selector(t){u(t)?e.block_selector+=”,”.concat(t):””!==t&&(0,l.Z)(“An invalid session_replay.block_selector was provided and will not be used”,t)},get mask_input_options(){return e.mask_input_options},set mask_input_options(t){t&&”object”==typeof t?e.mask_input_options={…t,password:!0}:(0,l.Z)(“An invalid session_replay.mask_input_option was provided and will not be used”,t)}},spa:{enabled:!0,harvestTimeSeconds:10,autoStart:!0},soft_navigations:{enabled:!0,harvestTimeSeconds:10,autoStart:!0}}},p={},h=”All configuration objects require an agent identifier!”;function v(e){if(!e)throw new Error(h);if(!p[e])throw new Error(“Configuration for “.concat(e,” was never set”));return p[e]}function m(e,t){if(!e)throw new Error(h);p[e]=(0,i.D)(t,g());const r=(0,n.ek)(e);r&&(r.init=p[e])}function b(e,t){if(!e)throw new Error(h);var r=v(e);if(r){for(var n=t.split(“.”),i=0;i{“use strict”;r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||”object”!=typeof e)return(0,n.Z)(“Setting a Configurable requires an object as input”);if(!t||”object”!=typeof t)return(0,n.Z)(“Setting a Configurable requires a model to set its initial properties”);const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{Array.isArray(e[a])&&Array.isArray(t[a])?r[a]=Array.from(new Set([…e[a],…t[a]])):”object”==typeof e[a]&&”object”==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)(“An error occurred while setting a property of a Configurable”,e)}return r}catch(e){(0,n.Z)(“An error occured while setting a Configurable”,e)}}},6818:(e,t,r)=>{“use strict”;r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n=”1.255.0″,i=”PROD”,o=”CDN”},385:(e,t,r)=>{“use strict”;r.d(t,{Nk:()=>d,Tt:()=>s,_A:()=>o,cv:()=>l,iS:()=>a,il:()=>n,ux:()=>c,v6:()=>i,w1:()=>u});const n=”undefined”!=typeof window&&!!window.document,i=”undefined”!=typeof WorkerGlobalScope&&(“undefined”!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||”undefined”!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:”undefined”!=typeof WorkerGlobalScope&&(“undefined”!=typeof self&&self instanceof WorkerGlobalScope&&self||”undefined”!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=Boolean(“hidden”===o?.document?.visibilityState),s=/iPad|iPhone|iPod/.test(o.navigator?.userAgent),c=s&&”undefined”==typeof SharedWorker,u=((()=>{const e=o.navigator?.userAgent?.match(/Firefox[/s](d+.d+)/);Array.isArray(e)&&e.length>=2&&e[1]})(),Boolean(n&&window.document.documentMode)),d=!!o.navigator?.sendBeacon,l=Math.floor(o?.performance?.timeOrigin||o?.performance?.timing?.navigationStart||Date.now())},1117:(e,t,r)=>{“use strict”;r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:””,ee:void 0};class o{constructor(e){try{if(“object”!=typeof e)return(0,n.Z)(“shared context requires an object as input”);this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)(“An error occurred while setting SharedContext”,e)}}}},8e3:(e,t,r)=>{“use strict”;r.d(t,{LP:()=>l,RP:()=>c,o5:()=>u});var n=r(8325),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};d(e),s[e].get(t)||s[e].set(t,r)}function u(e,t){d(e),s[e].get(t)&&s[e].delete(t),s[e].size&&f(e)}function d(e){if(!e)throw new Error(“agentIdentifier required”);s[e]||(s[e]=new Map)}function l(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:””,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:”feature”,r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(d(e),!e||!s[e].get(t)||r)return g(e,t);s[e].get(t).staged=!0,f(e)}function f(e){const t=[…s[e]];t.every((e=>{let[t,r]=e;return r.staged}))&&(t.sort(((e,t)=>e[1].priority-t[1].priority)),t.forEach((t=>{let[r]=t;s[e].delete(r),g(e,r)})))}function g(e,t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u{“use strict”;r.d(t,{A:()=>c,ee:()=>u});var n=r(8632),i=r(2210),o=r(234);class a{constructor(e){this.contextId=e}}var s=r(3117);const c=”nr@context:”.concat(s.a),u=function e(t,r){var n={},s={},d={},l=!1;try{l=16===r.length&&(0,o.OP)(r).isolatedBacklog}catch(e){}var f={on:p,addEventListener:p,removeEventListener:function(e,t){var r=n[e];if(!r)return;for(var i=0;i{delete f.backlog[e]}))},isBuffering:function(e){return!!m()[s[e]]},debugId:r,backlog:l?{}:t&&”object”==typeof t.backlog?t.backlog:{},isolatedBacklog:l};return Object.defineProperty(f,”aborted”,{get:()=>{let e=f._aborted||!1;return e||(t&&(e=t.aborted),e)}}),f;function g(e){return e&&e instanceof a?e:e?(0,i.X)(e,c,(()=>new a(c))):new a(c)}function p(e,t){n[e]=h(e).concat(t)}function h(e){return n[e]||[]}function v(t){return d[t]=d[t]||e(f,t)}function m(){return f.backlog}}(void 0,”globalEE”),d=(0,n.fP)();d.ee||(d.ee=u)},5546:(e,t,r)=>{“use strict”;r.d(t,{E:()=>n,p:()=>i});var n=r(8325).ee.get(“handle”);function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{“use strict”;r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o=”feature”),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{“use strict”;r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener(“test”,null,e),n._A.removeEventListener(“test”,null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},3117:(e,t,r)=>{“use strict”;r.d(t,{a:()=>n});const n=(0,r(4402).Rl)()},4402:(e,t,r)=>{“use strict”;r.d(t,{Rl:()=>a,ky:()=>s});var n=r(385);const i=”xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx”;function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(30))),i.split(“”).map((e=>”x”===e?o(t,r++).toString(16):”y”===e?(3&o()|8).toString(16):e)).join(“”)}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(e)));const a=[];for(var s=0;s{“use strict”;r.d(t,{Bq:()=>n,Hb:()=>a,IK:()=>u,K4:()=>i,oD:()=>o,uT:()=>c,wO:()=>s});const n=”NRBA”,i=”SESSION”,o=144e5,a=18e5,s={PAUSE:”session-pause”,RESET:”session-reset”,RESUME:”session-resume”,UPDATE:”session-update”},c={SAME_TAB:”same-tab”,CROSS_TAB:”cross-tab”},u={OFF:0,FULL:1,ERROR:2}},7894:(e,t,r)=>{“use strict”;function n(){return Math.floor(performance.now())}r.d(t,{z:()=>n})},50:(e,t,r)=>{“use strict”;function n(e,t){“function”==typeof console.warn&&(console.warn(“New Relic: “.concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2825:(e,t,r)=>{“use strict”;r.d(t,{N:()=>c,T:()=>s});var n=r(8325),i=r(385);const o=”newrelic”;const a=new Set,s={};function c(e,t){const r=n.ee.get(t);s[t]??={},e&&”object”==typeof e&&(a.has(t)||(r.emit(“rumresp”,[e]),s[t]=e,a.add(t),function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};try{i._A.dispatchEvent(new CustomEvent(o,{detail:e}))}catch(e){}}({loaded:!0})))}},2210:(e,t,r)=>{“use strict”;r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{“use strict”;r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{“use strict”;r.d(t,{P:()=>o});var n=r(8325);const i=()=>{const e=new WeakSet;return(t,r)=>{if(“object”==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit(“internal-error”,[e])}catch(e){}}}},3960:(e,t,r)=>{“use strict”;r.d(t,{KB:()=>a,b2:()=>o});var n=r(3239);function i(){return”undefined”==typeof document||”complete”===document.readyState}function o(e,t){if(i())return e();(0,n.bP)(“load”,e,t)}function a(e){if(i())return e();(0,n.iz)(“DOMContentLoaded”,e)}},8632:(e,t,r)=>{“use strict”;r.d(t,{EZ:()=>d,ce:()=>o,ek:()=>u,fP:()=>a,gG:()=>l,h5:()=>c,mF:()=>s});var n=r(385),i=r(7894);const o={beacon:”bam.nr-data.net”,errorBeacon:”bam.nr-data.net”};function a(){return n._A.NREUM||(n._A.NREUM={}),void 0===n._A.newrelic&&(n._A.newrelic=n._A.NREUM),n._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:n._A.setTimeout,SI:n._A.setImmediate,CT:n._A.clearTimeout,XHR:n._A.XMLHttpRequest,REQ:n._A.Request,EV:n._A.Event,PR:n._A.Promise,MO:n._A.MutationObserver,FETCH:n._A.fetch}),e}function c(e,t){let r=a();r.initializedAgents??={},t.initializedAt={ms:(0,i.z)(),date:new Date},r.initializedAgents[e]=t}function u(e){let t=a();return t.initializedAgents?.[e]}function d(e,t){a()[e]=t}function l(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,…t}}(),function(){let e=a();const t=e.init||{};e.init={…t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={…t}}(),a()}},7956:(e,t,r)=>{“use strict”;r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;(0,n.iz)(“visibilitychange”,(function(){if(t)return void(“hidden”===document.visibilityState&&e());e(document.visibilityState)}),r,i)}},3081:(e,t,r)=>{“use strict”;r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i=”sm”,o=”cm”,a=”storeSupportabilityMetrics”,s=”storeEventMetrics”},7633:(e,t,r)=>{“use strict”;r.d(t,{t:()=>n});const n=r(3325).D.pageViewEvent},9251:(e,t,r)=>{“use strict”;r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},7144:(e,t,r)=>{“use strict”;r.d(t,{Ef:()=>i});var n=r(7056);r(3325).D.sessionReplay;const i={RECORD:”recordReplay”,PAUSE:”pauseReplay”};n.IK.ERROR,n.IK.FULL,n.IK.OFF},5938:(e,t,r)=>{“use strict”;r.d(t,{W:()=>i});var n=r(8325);class i{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=n.ee.get(e),this.featureName=r,this.blocked=!1}}},2758:(e,t,r)=>{“use strict”;r.d(t,{j:()=>w});var n=r(3325),i=r(234),o=r(5546),a=r(8325),s=r(8e3),c=r(3960),u=r(385),d=r(50),l=r(3081),f=r(8632),g=r(7144);const p=[“setErrorHandler”,”finished”,”addToTrace”,”addRelease”,”addPageAction”,”setCurrentRouteName”,”setPageViewName”,”setCustomAttribute”,”interaction”,”noticeError”,”setUserId”,”setApplicationVersion”,”start”,”recordReplay”,”pauseReplay”,g.Ef.RECORD,g.Ef.PAUSE],h=[“setErrorHandler”,”finished”,”addToTrace”,”addRelease”];var v=r(7894);function m(){const e=(0,f.gG)();p.forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i1?r-1:0),i=1;i{e.exposed&&e.api[t]&&o.push(e.api[t](…n))})),o.length>1?o:o[0]}(t,…n)}}))}var b=r(2825);const y=e=>{const t=e.startsWith(“http”);e+=”/”,r.p=t?e:”https://”+e};let A=!1;function w(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},p=arguments.length>2?arguments[2]:void 0,w=arguments.length>3?arguments[3]:void 0,{init:_,info:x,loader_config:E,runtime:D={loaderType:p},exposed:S=!0}=t;const k=(0,f.gG)();x||(_=k.init,x=k.info,E=k.loader_config),(0,i.Dg)(e.agentIdentifier,_||{}),(0,i.GE)(e.agentIdentifier,E||{}),x.jsAttributes??={},u.v6&&(x.jsAttributes.isWorker=!0),(0,i.CX)(e.agentIdentifier,x);const R=(0,i.P_)(e.agentIdentifier),N=[x.beacon,x.errorBeacon];A||(R.proxy.assets&&(y(R.proxy.assets),N.push(R.proxy.assets)),R.proxy.beacon&&N.push(R.proxy.beacon),m(),(0,f.EZ)(“activatedFeatures”,b.T),e.runSoftNavOverSpa&&=!0===R.soft_navigations.enabled&&R.feature_flags.includes(“soft_nav”)),D.denyList=[…R.ajax.deny_list||[],…R.ajax.block_internal?N:[]],(0,i.sU)(e.agentIdentifier,D),void 0===e.api&&(e.api=function(e,t){let f=arguments.length>2&&void 0!==arguments[2]&&arguments[2];t||(0,s.RP)(e,”api”);const p={};var m=a.ee.get(e),b=m.get(“tracer”),y=”api-“,A=y+”ixn-“;function w(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{…a,jsAttributes:{…a.jsAttributes,[t]:r}}),E(y,n,!0,o||null===r?”session”:void 0)(t,r)}function _(){}h.forEach((e=>{p[e]=E(y,e,!0,”api”)})),p.addPageAction=E(y,”addPageAction”,!0,n.D.pageAction),p.setPageViewName=function(t,r){if(“string”==typeof t)return”/”!==t.charAt(0)&&(t=”/”+t),(0,i.OP)(e).customTransaction=(r||”http://custom.transaction”)+t,E(y,”setPageViewName”,!0)()},p.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(“string”==typeof e){if([“string”,”number”,”boolean”].includes(typeof t)||null===t)return w(e,t,”setCustomAttribute”,r);(0,d.Z)(“Failed to execute setCustomAttribute.nNon-null value must be a string, number or boolean type, but a type of was provided.”))}else(0,d.Z)(“Failed to execute setCustomAttribute.nName must be a string type, but a type of was provided.”))},p.setUserId=function(e){if(“string”==typeof e||null===e)return w(“enduser.id”,e,”setUserId”,!0);(0,d.Z)(“Failed to execute setUserId.nNon-null value must be a string type, but a type of was provided.”))},p.setApplicationVersion=function(e){if(“string”==typeof e||null===e)return w(“application.version”,e,”setApplicationVersion”,!1);(0,d.Z)(“Failed to execute setApplicationVersion. Expected , but got .”))},p.start=e=>{try{const t=e?”defined”:”undefined”;(0,o.p)(l.xS,[“API/start/”.concat(t,”/called”)],void 0,n.D.metrics,m);const r=Object.values(n.D);if(void 0===e)e=r;else{if((e=Array.isArray(e)&&e.length?e:[e]).some((e=>!r.includes(e))))return(0,d.Z)(“Invalid feature name supplied. Acceptable feature names are: “.concat(r));e.includes(n.D.pageViewEvent)||e.push(n.D.pageViewEvent)}e.forEach((e=>{m.emit(“”.concat(e,”-opt-in”))}))}catch(e){(0,d.Z)(“An unexpected issue occurred”,e)}},p[g.Ef.RECORD]=function(){(0,o.p)(l.xS,[“API/recordReplay/called”],void 0,n.D.metrics,m),(0,o.p)(g.Ef.RECORD,[],void 0,n.D.sessionReplay,m)},p[g.Ef.PAUSE]=function(){(0,o.p)(l.xS,[“API/pauseReplay/called”],void 0,n.D.metrics,m),(0,o.p)(g.Ef.PAUSE,[],void 0,n.D.sessionReplay,m)},p.interaction=function(e){return(new _).get(“object”==typeof e?e:{})};const x=_.prototype={createTracer:function(e,t){var r={},i=this,a=”function”==typeof t;return(0,o.p)(l.xS,[“API/createTracer/called”],void 0,n.D.metrics,m),f||(0,o.p)(A+”tracer”,[(0,v.z)(),e,r],i,n.D.spa,m),function(){if(b.emit((a?””:”no-“)+”fn-start”,[(0,v.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw b.emit(“fn-err”,[arguments,this,e],r),e}finally{b.emit(“fn-end”,[(0,v.z)()],r)}}}};function E(e,t,r,i){return function(){return(0,o.p)(l.xS,[“API/”+t+”/called”],void 0,n.D.metrics,m),i&&(0,o.p)(e+t,[(0,v.z)(),…arguments],r?null:this,i,m),r?void 0:this}}function D(){r.e(75).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,s.LP)(e,”api”)})).catch((()=>{(0,d.Z)(“Downloading runtime APIs failed…”),m.abort()}))}return[“actionText”,”setName”,”setAttribute”,”save”,”ignore”,”onEnd”,”getContext”,”end”,”get”].forEach((e=>{x[e]=E(A,e,void 0,f?n.D.softNav:n.D.spa)})),p.setCurrentRouteName=f?E(A,”routeName”,void 0,n.D.softNav):E(y,”routeName”,!0,n.D.spa),p.noticeError=function(e,t){“string”==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,[“API/noticeError/called”],void 0,n.D.metrics,m),(0,o.p)(“err”,[e,(0,v.z)(),!1,t],void 0,n.D.jserrors,m)},u.il?(0,c.b2)((()=>D()),!0):D(),p}(e.agentIdentifier,w,e.runSoftNavOverSpa)),void 0===e.exposed&&(e.exposed=S),A=!0}},8993:(e,t,r)=>{r.nc=(()=>{try{return document?.currentScript?.nonce}catch(e){}return””})()},3325:(e,t,r)=>{“use strict”;r.d(t,{D:()=>n,p:()=>i});const n={ajax:”ajax”,jserrors:”jserrors”,metrics:”metrics”,pageAction:”page_action”,pageViewEvent:”page_view_event”,pageViewTiming:”page_view_timing”,sessionReplay:”session_replay”,sessionTrace:”session_trace”,softNav:”soft_navigations”,spa:”spa”},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.softNav]:9,[n.sessionReplay]:10}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>”nr-rum-1.255.0.min.js”,i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t=”NRBA-1.255.0.PROD:”,i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName(“script”),d=0;d{s.onerror=s.onload=null,clearTimeout(p);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},p=setTimeout(g.bind(null,void 0,{type:”timeout”,target:s}),12e4);s.onerror=g.bind(null,s.onerror),s.onload=g.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{“undefined”!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:”Module”}),Object.defineProperty(e,”__esModule”,{value:!0})},i.p=”https://js-agent.newrelic.com/”,(()=>{var e={50:0,832:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&(“load”===r.type?”missing”:r.type),a=r&&r.target&&r.target.src;s.message=”Loading chunk “+t+” failed.n(“+o+”: “+a+”)”,s.name=”ChunkLoadError”,s.type=o,s.request=a,n[1](s)}}),”chunk-“+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u{“use strict”;i(8993);var e=i(50),t=i(7144),r=i(4402);class n{agentIdentifier;constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:(0,r.ky)(16);this.agentIdentifier=e}#e(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),i=1;i{t[r]=function(e,t){return!0===(0,a.Mt)(t,””.concat(e,”.enabled”))}(r,e)})),t}var u=i(2758);var d=i(8e3),l=i(5938),f=i(3960),g=i(385);const p=e=>g.il&&!0===(0,a.Mt)(e,”privacy.cookies_enabled”);function h(e){return a.Yu.MO&&p&&!0===(0,a.Mt)(e,”session_trace.enabled”)}class v extends l.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler=void 0,this.featAggregate=void 0,this.onAggregateImported=void 0,!1===(0,a.Mt)(this.agentIdentifier,””.concat(this.featureName,”.autoStart”))&&(this.auto=!1),this.auto&&(0,d.RP)(e,r)}importAggregator(){let t,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate)return;if(!this.auto)return void this.ee.on(“”.concat(this.featureName,”-opt-in”),(()=>{(0,d.RP)(this.agentIdentifier,this.featureName),this.auto=!0,this.importAggregator()}));this.onAggregateImported=new Promise((e=>{t=e}));const n=async()=>{let n;try{if(p(this.agentIdentifier)){const{setupAgentSession:e}=await i.e(75).then(i.bind(i,3108));n=e(this.agentIdentifier)}}catch(t){(0,e.Z)(“A problem occurred when starting up session manager. This page will not start or extend any session.”,t),this.featureName===o.D.sessionReplay&&this.abortHandler?.()}try{if(!this.#t(this.featureName,n))return(0,d.LP)(this.agentIdentifier,this.featureName),void t(!1);const{lazyFeatureLoader:e}=await i.e(75).then(i.bind(i,8582)),{Aggregate:o}=await e(this.featureName,”aggregate”);this.featAggregate=new o(this.agentIdentifier,this.aggregator,r),t(!0)}catch(r){(0,e.Z)(“Downloading and initializing “.concat(this.featureName,” failed…”),r),this.abortHandler?.(),(0,d.LP)(this.agentIdentifier,this.featureName,!0),t(!1),this.ee&&this.ee.abort()}};g.il?(0,f.b2)((()=>n()),!0):n()}#t(e,t){return e!==o.D.sessionReplay||(r=this.agentIdentifier,n=t,!(!h(r)||!n?.isNew&&!n?.state.sessionReplayMode));var r,n}}var m=i(7633);class b extends v{static featureName=m.t;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,m.t,r),this.importAggregator()}}var y=i(1117),A=i(1284);class w extends y.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,A.D)(e,(function(e,r){t[e]=_(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,A.D)(r,(function(e,t){if(“count”!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=_(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=_(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r=””,n=!1,i=0;it.max&&(t.max=e),e2&&void 0!==arguments[2])||arguments[2];super(e,t,N.t,r),g.il&&((0,k.N)((()=>(0,S.p)(“docHidden”,[(0,P.z)()],void 0,N.t,this.ee)),!0),(0,R.bP)(“pagehide”,(()=>(0,S.p)(“winPagehide”,[(0,P.z)()],void 0,N.t,this.ee))),this.importAggregator())}}var I=i(3081);class T extends v{static featureName=I.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,I.t9,r),this.importAggregator()}}new class extends n{constructor(t,r){super(r),g._A?(this.sharedAggregator=new w({agentIdentifier:this.agentIdentifier}),this.features={},(0,E.h5)(this.agentIdentifier,this),this.desiredFeatures=new Set(t.features||[]),this.desiredFeatures.add(b),this.runSoftNavOverSpa=[…this.desiredFeatures].some((e=>e.featureName===o.D.softNav)),(0,u.j)(this,t,t.loaderType||”agent”),this.run()):(0,e.Z)(“Failed to initialize the agent. Could not determine the runtime environment.”)}get config(){return{info:this.info,init:this.init,loader_config:this.loader_config,runtime:this.runtime}}run(){try{const t=c(this.agentIdentifier),r=[…this.desiredFeatures];r.sort(((e,t)=>o.p[e.featureName]-o.p[t.featureName])),r.forEach((r=>{if(!t[r.featureName]&&r.featureName!==o.D.pageViewEvent)return;if(this.runSoftNavOverSpa&&r.featureName===o.D.spa)return;if(!this.runSoftNavOverSpa&&r.featureName===o.D.softNav)return;const n=function(e){switch(e){case o.D.ajax:return[o.D.jserrors];case o.D.sessionTrace:return[o.D.ajax,o.D.pageViewEvent];case o.D.sessionReplay:return[o.D.sessionTrace];case o.D.pageViewTiming:return[o.D.pageViewEvent];default:return[]}}(r.featureName);n.every((e=>e in this.features))||(0,e.Z)(“”.concat(r.featureName,” is enabled but one or more dependent features has not been initialized (“).concat((0,D.P)(n),”). This may cause unintended consequences or missing data…”)),this.features[r.featureName]=new r(this.agentIdentifier,this.sharedAggregator)}))}catch(t){(0,e.Z)(“Failed to initialize all enabled instrument classes (agent aborted) -“,t);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,E.fP)();delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.features,delete this.sharedAggregator;return r.ee.get(this.agentIdentifier).abort(),!1}}}({features:[b,j,T],loaderType:”lite”})})()})();]]> Fishing Accessories | Best Selling Fishing Products { for (const mutation of mutationList) { if (mutation.type === ‘childList’ && mutation.addedNodes.length > 0) { var klevuContainers = [].slice.call(mutation.addedNodes).filter(function(e) { return e.tagName === ‘DIV’ && e.classList.contains(‘klevuWrap’) }); for (const container of klevuContainers) { for (const klevuLink of Array.from(container.querySelectorAll(‘a’))) { klevuLink.dataset.uwRmIgnore = “”; } } } } }); observer.observe(document.querySelector(‘body’), { subtree: true, childList: true }); }); ]]> Meta -> Setup -> Get Started’ ); ]]> { if (parseFloat(a.name) parseFloat(b.name)) { return 1; } return 0; }); } const reorderFacetsString = (type) => { type.sort((a, b) => { if (a.name b.name) { return 1; } return 0; }); } if ( filter.key === ‘product_depth_range’ || filter.key === ‘product_width_range’ || filter.key === ‘product_height_range’) { reorderFacetsFloat(filter.options); } if (filter.key === ‘price_group’) { reorderFacetsString(filter.options) } }); }); } }); } catch (error) { console.log(error) } } }); // Create new event for category pages klevu.coreEvent.build({ name: “setKlevuCatnavTemplateOverride”, fire: function () { if (klevu.getGlobalSetting(“flags.setRemoteConfigCatnav.build”, false)) { window.pageType = ‘catnav’; window.setRemoteConfig = ‘setRemoteConfigCatnav’; return true; } return false; }, maxCount: 150, delay: 100 }); // Create new event for quick search klevu.coreEvent.build({ name: “setKlevuQuickTemplateFiltersOverride”, fire: function () { if (klevu.getGlobalSetting(“flags.setRemoteConfigQuick.build”, false)) { return true; } return false; }, maxCount: 150, delay: 100 }); // Create new event for the landing page klevu.coreEvent.build({ name: “setklevuLandingTemplateOverride”, fire: function () { if (klevu.getGlobalSetting(“flags.setRemoteConfigLanding.build”, false)) { return true; } return false; }, maxCount: 150, delay: 100 }); // Attach the category events to klevu klevu.coreEvent.attach(“setKlevuCatnavTemplateOverride”, { name: “attachKlevuCatnavTemplateOverride”, fire: function () { // Apply the facets supplied in the current URL string klevu.search.catnav.getScope().chains.request.control.addAfter(“initRequest”, { name: “selectFiltersFromURL”, fire: function (data, scope) { // UNCOMMENT, if you want to change default number of products // klevu.each(data.request.current.recordQueries, function (key, query) { // query.settings.limit = 48; // }); // UNCOMMENT, if you want to change default number of facet items klevu.each( data.request.current.recordQueries, function (key, query) { query.filters.filtersToReturn.options.limit = 150; }); // Restore Search Params On Page Load klevu.search.modules.addParamsToURL.base.restoreSearchParamsOnPageLoad(data, scope); } }); klevu.search.catnav.getScope().chains.template.events.add({ name: “addURLtoHistory”, fire: function (data, scope) { // Add selected FILTERS and PAGINATION to the URL klevu.search.modules.addParamsToURL.base.addURLtoHistory(data, scope); } }); window.onpopstate = function (event) { try { // passing activeQueryId because it’s lost once we reset the data below var activeQueryId = klevu.getObjectPath(klevu.search.catnav.getScope().element.kObject.getScope().data, “context.activeQueryId”); // code to get ready to reset all the data var data = klevu.search.catnav.getScope().element.kObject.getScope().data; var scope = klevu.search.catnav.getScope().element; scope.kScope.data = scope.kObject.resetData(scope.kElem); scope.kScope.data.context.keyCode = 0; scope.kScope.data.context.eventObject = event; scope.kScope.data.context.event = “keyUp”; scope.kScope.data.context.preventDefault = false; // Get payload for Filters & Pagination klevu.search.modules.addParamsToURL.base.updatePayloadOnPopState(data, scope, activeQueryId); // Fire request, re-render results klevu.event.fireChain(scope.kScope, “chains.events.keyUp”, scope, scope.kScope.data, event); } catch (error) { console.log(error) } }; klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML(“#klevuLandingTemplateProductBlockOverride”), “productBlock”, true); klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML(“#landingPageProductAddToCartOverride”), “landingPageProductAddToCart”, true); klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML(“#klevuQuickTemplateFiltersOverride”), “filters”, true); klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML(“#klevuLandingTemplateInfiniteScrollDownOverride”), “klevuLandingTemplateInfiniteScrollDown”, true); // attach click event to button klevu.search.catnav.getScope().chains.template.events.add({ name: “applyFilters”, fire: function (data, scope) { var target = klevu.getSetting( scope.kScope.settings, “settings.search.searchBoxTarget”); klevu.each(klevu.dom.find(“#kuFilterOpener”, target), function ( key, value) { klevu.event.attach(value, “click”, function (event) { document .getElementsByTagName(“body”)[0] .classList.toggle(“filter_opened”); }); }); } }); try { klevu.search.catnav .getScope() .template.setHelper( “isScreenWidthSmaller”, function isScreenWidthSmaller(screenWidth) { if (!screenWidth) screenWidth = 768; var widthOfScreen = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; return widthOfScreen <= screenWidth; }); } catch (error) { console.log(error); } klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#kuFilterTagsTemplateOverride"), "kuFilterTagsTemplate", true); klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuResultsPagePersonalizations"), "results", true); klevu.search.catnav.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuLandingTemplateResultsHeadingTitleOverride"), "klevuLandingTemplateResultsHeadingTitle", true); klevu.search.catnav.getScope().chains.events.keyUp.remove({ name: "scrollToTop" }); //Removes old keyup // Re-add scroll up to catnav, adjusting top to be top of product listing as we are leaving cms on the page now. klevu.afterTemplateRender("catnav", function (data, scope) { for (const element of document.getElementsByClassName("klevuFilterOption")) { element.addEventListener('click', function (e) { var top = document.getElementsByClassName('category-view')[0].offsetHeight; document.body.scrollTop = document.documentElement.scrollTop = top; }); } }); // trigger content updated on render of page results for ajax add to cart. klevu.afterTemplateRender("catnav", function (data, scope) { require(['catalogAddToCart', 'mage/mage', 'mage/apply/main'], function (addToCart, mage, mageApply) { jQuery(".kuResultWrap [data-role=tocart-form] input[name=form_key]").val(window.getCookieByName('form_key')); mageApply.apply('.kuResultWrap [data-role=tocart-form]'); }); require(['jquery'], function($) { $(document).trigger('klevuLoaded'); }); }); // Power up the quick search functionality klevu({ powerUp: { catnav: true } }); } }); // Attach the quick search events to klevu // sets new template over klevuSearchPersonlizations // increases suggestions returned // overrides the klevuTemplateBase klevu.coreEvent.attach("setKlevuQuickTemplateFiltersOverride", { name: "attachKlevuQuickTemplateFiltersOverride", fire: function () { klevu.search.quick.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuQuickTemplateFiltersOverride"), "filters", true); // Override the klevuQuickProductBlock template with our own klevu.search.quick.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuSearchPersonalizations_cmsBlock"), "klevuSearchPersonalizations", true); // Modify the number of suggestions returned, additionally adds a filter to the query. klevu.search.quick.getScope().chains.request.control.addAfter("initRequest", { name: "modifyQuickQuery", fire: function (data, scope) { klevu.search.modules.overrideSearchTerm(data, scope); klevu.search.modules.filterVisibleInKlevuSearch(data, scope); } }); // Override the klevuQuickProductBlock template with our own klevu.each(klevu.search.extraSearchBox, function (key, box) { box.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuQuickTemplateBase_showPersonalizations"), "klevuTemplateBase", true); }); // Power up the quick search functionality klevu({ powerUp: { quick: true } }); } }); // Attach the landing page events to klevu klevu.coreEvent.attach("setklevuLandingTemplateOverride", { name: "attachklevuLandingTemplateProductBlockOverride", fire: function () { klevu.search.landing.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuLandingTemplateProductBlockOverride"), "productBlock", true); klevu.search.landing.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#landingPageProductAddToCartOverride"), "landingPageProductAddToCart", true); klevu.search.landing.getScope().template.setTemplate( klevu.dom.helpers.getHTML("#klevuLandingTemplateFiltersOverride"), "filters", true); // modifies the query for the search result landing page klevu.search.landing.getScope().chains.request.control.addAfter("initRequest", { name: "modifyLandingQuery", fire: function (data, scope) { klevu.search.modules.filterVisibleInKlevuSearch(data, scope); } }); // attach click event to button klevu.search.landing.getScope().chains.template.events.add({ name: "applyFilters", fire: function (data, scope) { var target = klevu.getSetting( scope.kScope.settings, "settings.search.searchBoxTarget"); klevu.each(klevu.dom.find("#kuFilterOpener", target), function ( key, value) { klevu.event.attach(value, "click", function (event) { document .getElementsByTagName("body")[0] .classList.toggle("filter_opened"); }); }); } }); try { klevu.search.landing .getScope() .template.setHelper( "isScreenWidthSmaller", function isScreenWidthSmaller(screenWidth) { if (!screenWidth) screenWidth = 768; var widthOfScreen = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth; return widthOfScreen div:not(.logo-container)"; var defaultIgnoreClass = ".kuPreventDocumentClick"; var documentClickIgnoreSelector = klevu.getGlobalSetting("search.documentClickPreventSelector", defaultIgnoreClass); if (documentClickIgnoreSelector !== defaultIgnoreClass) { documentClickIgnoreSelector += "," + defaultIgnoreClass; } documentClickIgnoreSelector += "," + headerIgnoreSelector; var parent = klevu.dom.helpers.getClosest(data.event.target, documentClickIgnoreSelector); if (parent && !data.event.target.matches("button.search-close-button")) { return; } klevu.each(klevu.search.extraSearchBox, function (key, box) { var fullPage = klevu.getSetting(box.getScope().settings, "settings.search.fullPageLayoutEnabled", true); if (!fullPage) { var target = klevu.getSetting(box.getScope().settings, "settings.search.searchBoxTarget"); target.style = "display: none !important;"; var header = document.querySelector("header.page-header"); header.classList.remove("search-overlay"); var wrapper = document.querySelector(".page-wrapper"); wrapper.classList.remove("search-overlay-active"); var body = document.querySelector("body#html-body"); body.classList.remove("search-open"); var overlay = document.querySelector(".klevu-overlay"); overlay.style = "display: none;"; } }); } }); } }); // modified to always allow popular search terms klevu.extensions.theme.module.attach("setRemoteConfigQuick", { name: "addPopularSearchEvents", fire: function () { var isPopularSearchEnabled = klevu.search.modules.kmcInputs.base.getShowPopularSearchesValue(); if (!isPopularSearchEnabled) { return; } klevu.each(klevu.search.extraSearchBox, function (key, box) { box.getScope().template.setTemplate(klevu.dom.helpers.getHTML("#kuTemplatePopularSearches"), "kuTemplatePopularSearches", true); /** * Event to add popular searches data into the data template object */ box.getScope().chains.template.process.success.add({ name: "addPopularSearchData", fire: function (data, scope) { // kadro: removed if/else so this always runs data.template.popularSearches = klevu.search.modules.kmcInputs.base.getWebstorePopularTermsValue(); } }); /** * Event to bind popular searches element click event */ box.getScope().chains.template.events.add({ name: "attachPopularSearchUIEvents", fire: function (data, scope) { var target = klevu.getSetting(scope.kScope.settings, "settings.search.searchBoxTarget"); klevu.each(klevu.dom.find(".kuPopularSearchTerm", target), function (key, element) { klevu.event.attach(element, "click", function (event) { var termValue = element.dataset.value; if (termValue) { scope.kElem.value = termValue; var target = klevu.dom.helpers.getClosest(element, ".klevuTarget"); if (target) { var elScope = target.kElem; elScope.kScope.data = elScope.kObject.resetData(elScope.kElem); elScope.kScope.data.context.keyCode = 0; elScope.kScope.data.context.eventObject = event; elScope.kScope.data.context.event = "keyUp"; elScope.kScope.data.context.preventDefault = false; klevu.event.fireChain(elScope.kScope, "chains.events.keyUp", elScope, elScope.kScope.data, event); } } }); }); } }); box.getScope().chains.events.focus.add({ name: "hideAllOverlay", fire: function (data, scope) { klevu.each(klevu.search.extraSearchBox, function (key, box) { var fullPage = klevu.getSetting(box.getScope().settings, "settings.search.fullPageLayoutEnabled", true); if (!fullPage) { var target = klevu.getSetting(box.getScope().settings, "settings.search.searchBoxTarget"); target.style = "display: none !important;"; var header = document.querySelector("header.page-header"); header.classList.remove("search-overlay"); var wrapper = document.querySelector(".page-wrapper"); wrapper.classList.remove("search-overlay-active"); var body = document.querySelector("body#html-body"); body.classList.remove("search-open"); var overlay = document.querySelector(".klevu-overlay"); overlay.style = "display: none;"; } }); } }); box.getScope().chains.events.focus.add({ name: "displayOverlay", fire: function (data, scope) { var target = klevu.getSetting(scope.kScope.settings, "settings.search.searchBoxTarget"); target.style = "display: block !important;"; var header = document.querySelector("header.page-header"); header.classList.add("search-overlay"); var wrapper = document.querySelector(".page-wrapper"); wrapper.classList.add("search-overlay-active"); var body = document.querySelector("body#html-body"); body.classList.add("search-open"); var overlay = document.querySelector(".klevu-overlay"); overlay.style = "display: block;"; } }); // where to position the template box.getScope().chains.template.events.add({ name: "positionTemplate", fire: function (data, scope) { var position, leftPosition, topPosition, searchBoxWidth, searchBoxHeight, screenWidth, minLtrWidth, halfScreen; var getScreenWidth = function () { var doc = document, docBody = doc.body, docElem = doc.documentElement, win = window, viewportWidth, viewportHeight; // the more standards compliant browsers // (mozilla/netscape/opera/IE7) use window.innerWidth and window.innerHeight if (typeof(docBody.clientWidth) == 'number') { viewportWidth = docBody.clientWidth; } else if (typeof win.innerWidth !== 'undefined') { viewportWidth = win.innerWidth; } else if (typeof docElem != 'undefined' && typeof docElem.clientWidth != 'undefined' && docElem.clientWidth != 0) { // IE6 in standards compliant mode // (i.e. with a valid doctype as the first line in the document) viewportWidth = docElem.clientWidth; } else { // older versions of IE viewportWidth = doc.getElementsByTagName('body')[0].clientWidth } return viewportWidth; }; var getSearchBoxPosition = function (searchBox) { var _x = 0, _y = 0, currEl = searchBox, style, position, doc = document, body = doc.body, fixedPosition = false, oldOffsetTop = 0, win = window; while (currEl && currEl.tagName.toLowerCase() !== 'body') { if (!win.getComputedStyle) { win.getComputedStyle = function (searchBox, pseudo) { this.searchBox = searchBox; this.getPropertyValue = function (prop) { var re = /(-([a-z]){1})/g; if (prop === 'float') { prop = 'styleFloat'; } if (re.test(prop)) { prop = prop.replace(re, function () { return arguments[2].toUpperCase(); }); } return searchBox.currentStyle[prop] ? searchBox.currentStyle[prop] : null; } return this; } } style = win.getComputedStyle(currEl, null); if (style) { position = style.getPropertyValue('position'); if (position === 'fixed') { fixedPosition = true; break; } else { currEl = currEl.parentNode; } } else { currEl = currEl.parentNode; } } var change = 1, scrollTop = (win.pageYOffset !== undefined) ? win.pageYOffset : (doc.documentElement || body.parentNode || body).scrollTop; while (searchBox && !isNaN(searchBox.offsetLeft) && !isNaN(searchBox.offsetTop)) { _x += searchBox.offsetLeft - searchBox.scrollLeft; if (fixedPosition && change === 1) { _y += searchBox.offsetTop + scrollTop; change = 0; } else { _y += searchBox.offsetTop; } searchBox = searchBox.offsetParent; } return { top: _y, left: _x }; }; screenWidth = getScreenWidth(); position = getSearchBoxPosition(scope.kElem); topPosition = position.top; leftPosition = position.left; searchBoxWidth = scope.kElem.offsetWidth; searchBoxHeight = scope.kElem.offsetHeight; halfScreen = screenWidth / 2; minLtrWidth = searchBoxWidth; // Kadro edit, added 5 px to position of overlay divTop = searchBoxHeight + topPosition + 5 + 'px'; if (leftPosition >= halfScreen) { divRight = screenWidth – (leftPosition + searchBoxWidth) + ‘px’; divLeft = ‘auto’; } else { divRight = ‘auto’; divLeft = leftPosition + ‘px’; } var target = klevu.getSetting(scope.kScope.settings, “settings.search.searchBoxTarget”); klevu.dom.find(“.klevuWrap”, target)[0].style = “top:” + divTop + “;left: ” + divLeft + “;right: ” + divRight + “;”; } }); }); } }); // Add methods used in custom event, increases the max number of suggestions. (function (klevu) { klevu.extend(true, klevu.search.modules, { overrideSearchTerm: function (data, scope) { klevu.each(data.request.current.recordQueries, function (key, query) { klevu.setObjectPath( data, “localOverrides.query.” + query.id + “.settings.limit”, 5 // The maximum number of suggestions to be returned ); }); } }); })(klevu); /** * adds a filter to include in results products that have a true “visible_in_klevu_search” attribute. */ (function (klevu) { klevu.extend(true, klevu.search.modules, { filterVisibleInKlevuSearch: function (data, scope, queryId) { var activeQueryId = klevu.getObjectPath(data, “context.activeQueryId”); if (queryId && queryId.length) { activeQueryId = queryId; } var applyFilters = klevu.getObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”) if (applyFilters) { applyFilters.push({ key: “visible_in_klevu_search”, values: [“Yes”] }); } else { klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”, [{ key: “visible_in_klevu_search”, values: [“Yes”] } ]); } } }); })(klevu); // filters & pagination to URL (function (klevu) { klevu.extend(true, klevu.search.modules, { addParamsToURL: { base: { addURLtoHistory: function (data, scope, queryId) { // Global stuff if (typeof window.history === “undefined” || typeof window.history.pushState === “undefined”) { console.error(“This browser does not have the support of window.history or window.history.pushState”); return; } var searchPath = new URLSearchParams(window.location.search); var currentSearchPath; var previousSearchPath = searchPath.toString(); // this is in case we’re running our code where we dont have context.activeQueryId var activeQueryId = klevu.getObjectPath(data, “context.activeQueryId”); if (queryId && queryId.length) { activeQueryId = queryId; } // Check if there any filter selected let applyFilters = typeof data.localOverrides.query[activeQueryId].filters !== ‘undefined’ ? data.localOverrides.query[activeQueryId].filters.applyFilters : {}; let isThereFiltersSelected = false; // Check if applyFilters is an object (but not an array), and not empty if (typeof applyFilters === ‘object’ && !Array.isArray(applyFilters) && applyFilters !== null && Object.keys(applyFilters).length > 0) { isThereFiltersSelected = true; } // PAGINATION TO URL var hasPaginationEnabled = klevu.getSetting(klevu, “settings.theme.modules.pagination.searchResultsPage.enable”); var paginationQueryParam = “Page”; var currentPage = 0; if (hasPaginationEnabled) { var activeQueryMeta = klevu.getObjectPath(data, “template.query.” + activeQueryId + “.meta”); if (activeQueryMeta) { var productListLimit = activeQueryMeta.noOfResults; currentPage = Math.ceil(activeQueryMeta.offset / productListLimit) + 1; } if (currentPage === 0 || currentPage === 1) { searchPath.delete(paginationQueryParam); } else { searchPath.set(paginationQueryParam, currentPage); } currentSearchPath = searchPath.toString(); }; // FILTERS TO URL var activeQueryFilters = klevu.getObjectPath(data, “template.query.” + activeQueryId + “.filters”); var filterValuesQueryParam = “”; if (activeQueryFilters) { klevu.each(activeQueryFilters, function (key, filter) { var selectedFilterKeyString = “”; var filterOptions = filter.options; var selectedValues = “”; if (filterOptions && filterOptions.length) { klevu.each(filterOptions, function (key, option) { if (option.selected === true) { if (selectedValues.length) { selectedValues += “,”; } selectedValues += option.value; } }); } else if (filter.type === “SLIDER”) { var startValue = filter.start; var endValue = filter.end; var minValue = filter.min; var maxValue = filter.max; if (typeof startValue !== “undefined” && startValue !== null && typeof endValue !== “undefined” && endValue !== null) { if (Number(startValue) === Number(minValue) && Number(endValue) === Number(maxValue)) { // just skipping } else { selectedValues = startValue + “-” + endValue; } } } if (selectedValues.length) { // selectedFilterKeyString += filter.key + “:” + selectedValues; selectedFilterKeyString += encodeURIComponent(filter.key) + “:” + encodeURIComponent(selectedValues); } if (selectedFilterKeyString.length) { if (filterValuesQueryParam.length) { filterValuesQueryParam += “;”; } filterValuesQueryParam += selectedFilterKeyString; } }); } if (filterValuesQueryParam.length > 0 && isThereFiltersSelected) { searchPath.set(“Filters”, filterValuesQueryParam); } else { searchPath.delete(“Filters”); } currentSearchPath = searchPath.toString(); // ============================== // Final URL change if (previousSearchPath !== currentSearchPath) { //Hides the category cms content on pagination/filters after inital load if (isThereFiltersSelected) { document.getElementsByTagName(‘body’)[0].classList.add(“catalog-category-filters”); } else { document.getElementsByTagName(‘body’)[0].classList.remove(“catalog-category-filters”); } if (currentPage > 1) { document.getElementsByTagName(‘body’)[0].classList.add(“catalog-category-pagination”); } else { document.getElementsByTagName(‘body’)[0].classList.remove(“catalog-category-pagination”); } var historyState = { page: currentPage, filters: currentSearchPath }; window.history.pushState(historyState, null, currentSearchPath ? ‘?’ + currentSearchPath : window.location.pathname); } }, restoreSearchParamsOnPageLoad: function (data, scope) { var hasAlreadyTriggered = klevu.getObjectPath(scope.kScope, “element.kScope.getAndUpdateFiltersTriggered”); if (hasAlreadyTriggered) return; // var activeQueryId = klevu.getObjectPath(data, “context.activeQueryId”); var activeQueryId = “productList”; var filtersFromURL = klevu.dom.helpers.getQueryStringValue(“Filters”); var paginationFromURL = klevu.dom.helpers.getQueryStringValue(“Page”); var matchedQueryParamId = “”; var matchedQueryParamValue = “”; var recordQueries = klevu.getObjectPath(data, “request.current.recordQueries”); if (recordQueries && recordQueries.length) { klevu.each(recordQueries, function (key, recordQuery) { if (recordQuery.id) { if ((paginationFromURL && paginationFromURL.length) || (filtersFromURL && filtersFromURL.length)) { matchedQueryParamId = recordQuery.id; matchedQueryParamValue = paginationFromURL || filtersFromURL; } } }); } klevu.setObjectPath(scope.kScope, “element.kScope.getAndUpdateFiltersTriggered”, true); matchedQueryParamId = “productList”; if (matchedQueryParamId.length && matchedQueryParamValue.length) { activeQueryId = matchedQueryParamId; var storage = klevu.getSetting(scope.kScope.settings, “settings.storage”); if (storage.tabs) { storage.tabs.setStorage(“local”); storage.tabs.mergeFromGlobal(); storage.tabs.addElement(“active”, activeQueryId); storage.tabs.mergeToGlobal(); } } if (paginationFromURL && paginationFromURL > 1) { if (recordQueries && recordQueries.length) { klevu.each(recordQueries, function (key, recordQuery) { if (recordQuery.id === activeQueryId) { var limit = klevu.getObjectPath(recordQuery, “settings.limit”); limit = Number(limit); if (limit > 0) { var expectedOffset = (paginationFromURL – 1) * limit; klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.settings.offset”, expectedOffset); } } }); } } // FILTERS if (filtersFromURL && filtersFromURL.length) { var facets = filtersFromURL.split(“;”); if (facets) { klevu.each(facets, function (key, facet) { var splitFacet = facet.split(“:”); if (splitFacet.length) { var facetKey = decodeURIComponent(splitFacet[0]); var facetValues = decodeURIComponent(splitFacet[1]).split(“,”); var applyFilters = klevu.getObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”); if (applyFilters && applyFilters.length) { // if there’re some filters var isExistingKey = false; klevu.each(applyFilters, function (key, applyFilter) { if (applyFilter.key === facetKey) { isExistingKey = true; klevu.each(facetValues, function (key, facetValue) { var isFilterOptionMatched = false; klevu.each(applyFilter.values, function (key, value) { if (facetValue === value) { isFilterOptionMatched = true; } }); if (!isFilterOptionMatched) { applyFilter.values.push(facetValue); } }); } }); if (!isExistingKey) { applyFilters.push({ key: facetKey, values: facetValues }); } } else { klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”, [{ key: facetKey, values: facetValues } ]); } } }); } } }, updatePayloadOnPopState: function (data, scope, activeQueryId) { // SET PAGINATION PAYLOAD var paginationFromURL = klevu.dom.helpers.getQueryStringValue(“Page”); paginationFromURL = Number(paginationFromURL); var limit = klevu.search.catnav.getScope().element.kObject.getScope().data.request.original.queryRequest[0].settings.limit; limit = Number(limit); if (limit > 0) { var expectedOffset = ((paginationFromURL – 1) * limit) > 0 ? ((paginationFromURL – 1) * limit) : 0; klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.settings.offset”, expectedOffset); // klevu.search.modules.addParamsToURL.base.backBtnCounter.backBtn = 0; } // SET FILTER PAYLOAD var filtersFromURL = klevu.dom.helpers.getQueryStringValue(“Filters”); if (filtersFromURL && filtersFromURL.length) { var facets = filtersFromURL.split(“;”); // loop through all facets to get its values let facetKey = ”; let facetValues = []; let facetsArray = []; klevu.each(facets, function (key, facet) { var splitFacet = facet.split(“:”); if (splitFacet.length) { facetKey = decodeURIComponent(splitFacet[0]); facetValues = decodeURIComponent(splitFacet[1]).split(“,”); facetsArray.push({ key: facetKey, values: facetValues }); } }); // set the payload with correct filters: klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”, facetsArray); } else { // reset filters if Back button pressed, and there’s no filters klevu.setObjectPath(data, “localOverrides.query.” + activeQueryId + “.filters.applyFilters.filters”, []); } } }, build: true } }); })(klevu); klevu({ theme: { modules: { resultInfiniteScroll: { searchResultsPage: { enable: true }, categoryPage: { enable: true } } } } }); klevu.afterTemplateRender(“catnav”, function(data, scope){ document.getElementsByTagName(‘body’)[0].classList.add(‘ku-klevu’); document.body.style.minHeight = ‘0’; const currentDocumentHeight = document.documentElement.scrollHeight; document.body.style.minHeight = ‘${currentDocumentHeight}px’; scope.kScope.chains.events.keyUp.remove({name: “scrollToTop”}); }); // Magento image path needs to be updated if pubIsInUse klevu.coreEvent.attach(“setRemoteConfigRecsBaseUpdates”, { name: “klevuMagentoImage”, fire: function () { klevu.recs.base.getScope().chains.search.control.add({ name: “klevuMagentoImage”, fire: function (data, scope) { scope.recsScope.searchObject.getScope().chains.template.process.success.add({ name: “klevuMagentoImage”, fire: function (data, scope) { if (typeof window.klevu_pubIsInUse == “undefined”) { window.klevu_pubIsInUse = true; } klevu.each(data.template.query, function (key, query) { if (query.result.length > 0) { klevu.each(query.result, function (key, product) { if (window.klevu_pubIsInUse) { product.image = product.image.replace(‘pub/’, ”); product.image = product.image.replace(‘needtochange/’, ”); } else { product.image = product.image.replace(‘needtochange/’, ‘pub/’); } }); } }); } }); } }); } }); klevu(options); klevu.beforeActivation(“catnav”, function (data, scope) { scope.kScope.chains.template.events.add({ name: “hideLoadMoreButtonForWindowScroll”, fire: function (data, scope) { return true; }, }); window.onscroll = function (ev) { if ( window.innerHeight + Math.ceil(window.pageYOffset) >= document.body.offsetHeight – 50 ) { var hasAlreadyTriggered = klevu.getObjectPath( klevu.search.catnav.getScope().data, “context.triggeredFromInfiniteScroll” ); if (!hasAlreadyTriggered) { return true; } } }; }); }); ]]> View More Products ]]> View Product