1(function(){if(window.__cstIndexLoaded)return;window.__cstIndexLoaded=true;const script=document.createElement("script");script.textContent="window['otkConsent']={\"ads_data_redaction\":true,\"url_passthrough\":true,\"useDefaultTemplate\":false};/**\n * Google consent mode section start\n * @type {*[]}\n */\nwindow.dataLayer = window.dataLayer || [];\n// Use var, not const: this script is evaluated twice (in gcm.js and in the\n// index.js finalContent), and a const redeclaration would throw a SyntaxError.\nvar CMP_ALREADY_SET = typeof window.__CST_CMP_ALREADY_SET !== 'undefined';\n\nwindow.gtmConsentCallback = function () {};\nwindow.gtmInitConsentCallback = function () {};\nwindow.gtmConsentikCMP = function (onUserConsent, initConsentUpdated) {\n window.gtmConsentCallback = onUserConsent;\n if (typeof initConsentUpdated === 'function') {\n window.gtmInitConsentCallback = initConsentUpdated;\n }\n};\n\nfunction gtag() {\n dataLayer.push(arguments);\n}\n\n(function (window, document) {\n const dataConfig = window.otkConsent;\n window.cstGCM = {};\n window.cstGCM = {\n url_passthrough: false,\n ads_data_redaction: false,\n config: {\n ad_user_data: 'denied',\n ad_personalization: 'denied',\n ad_storage: 'denied',\n analytics_storage: 'denied',\n functionality_storage: 'denied',\n personalization_storage: 'denied',\n security_storage: 'denied',\n wait_for_update: 500,\n \n }\n };\n\n // The embed's inline snippet already fires a synchronous global-denied default (so\n // script-optimization plugins like WP Rocket/Autoptimize/NitroPack can't defer or\n // reorder it), but gcm.js's own default below must still run: it's the only one that\n // carries REGION_PLACEMENT, and Google Consent Mode merges 'default' commands by\n // scope â a region-scoped command here is never skipped or overwritten by the\n // inline snippet's global-scope command, so there is no downside to firing both.\n // CMP_ALREADY_SET is the only dedup needed, to stop the index.js finalContent copy\n // (evaluated a second time) from firing this again.\n if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n gtag('set', 'developer_id.dNjA1Yz', true);\n gtag('consent', 'default', window.cstGCM.config);\n \n }\n\n let savedCookie = _getCookie('_consentik_cookie', window);\n let blockedMarketing = true;\n\n if (savedCookie) {\n savedCookie = JSON.parse(savedCookie);\n const acceptedCat = savedCookie.consent;\n blockedMarketing = !acceptedCat.includes('advertising');\n window.cstGCM.config = {\n ad_user_data: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n ad_personalization: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n ad_storage: acceptedCat.includes('advertising') ? 'granted' : 'denied',\n analytics_storage: acceptedCat.includes('analytics') ? 'granted' : 'denied',\n functionality_storage: acceptedCat.includes('functional') ? 'granted' : 'denied',\n personalization_storage: acceptedCat.includes('functional') ? 'granted' : 'denied',\n security_storage: acceptedCat.includes('functional') ? 'granted' : 'denied'\n };\n // CMP_ALREADY_SET means gcm.js already ran the update (from index.js finalContent path)\n if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n gtag('consent', 'update', window.cstGCM.config);\n }\n }\n\n window.cstGCM.ads_data_redaction = window.otkConsent.ads_data_redaction && blockedMarketing;\n window.cstGCM.url_passthrough = window.otkConsent.url_passthrough;\n // CMP_ALREADY_SET guard prevents double-set from index.js finalContent\n if (!dataConfig.useDefaultTemplate && !CMP_ALREADY_SET) {\n window.cstGCM.ads_data_redaction && gtag('set', 'ads_data_redaction', window.cstGCM.ads_data_redaction);\n window.cstGCM.url_passthrough && gtag('set', 'url_passthrough', window.cstGCM.url_passthrough);\n }\n\n function _getCookie(key, window) {\n let keyValue = window.document.cookie.match('(^|;) ?' + key + '=([^;]*)(;|$)');\n return keyValue ? keyValue[2] : null;\n }\n})(window, document);\n\n/**\n * Google consent mode section stop\n * @type {*[]}\n */\n",script.id="cst-gcm";const head=document.head||document.getElementsByTagName("head")[0];head.insertBefore(script,head.firstChild);window.cstSiteId="92e307d2d7acf396d37ae6951bfdae70";window.cstInstanceId="b9aa92e2-9ad3-4a09-a6b1-55fb3b82b16b";window.cstRootLink="https://cmp.consentik.com";/*! 2 * jQueryOT JavaScript Library v3.6.0 3 * https://jQueryOT.com/ 4 * 5 * Includes Sizzle.js 6 * https://sizzlejs.com/ 7 * 8 * Copyright OpenJS Foundation and other contributors 9 * Released under the MIT license 10 * https://jQueryOT.org/license 11 * 12 * Date: 2021-03-02T17:08Z 13 */ 14!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQueryOT requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,(function(e,t){"use strict";var n=[],r=Object.getPrototypeOf,i=n.slice,o=n.flat?function(e){return n.flat.call(e)}:function(e){return n.concat.apply([],e)},a=n.push,s=n.indexOf,u={},l=u.toString,c=u.hasOwnProperty,f=c.toString,p=f.call(Object),d={},h=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},g=function(e){return null!=e&&e===e.window}
vendor: 5,579 bytes, lines 14-25
14,v=e.document,y={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||v).createElement("script");if(o.text=e,t)for(r in y)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?u[l.call(e)]||"object":typeof e}var b="3.6.0",w=function(e,t){return new w.fn.init(e,t)};function T(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!h(e)&&!g(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}w.fn=w.prototype={jQueryOT:b,constructor:w,length:0,toArray:function(){return i.call(this)},get:function(e){return null==e?i.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=w.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return w.each(this,e)},map:function(e){return this.pushStack(w.map(this,(function(t,n){return e.call(t,n,t)})))},slice:function(){return this.pushStack(i.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(w.grep(this,(function(e,t){return(t+1)%2})))},odd:function(){return this.pushStack(w.grep(this,(function(e,t){return t%2})))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(n>=0&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:a,sort:n.sort,splice:n.splice},w.extend=w.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||h(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(w.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||w.isPlainObject(n)?n:{},i=!1,a[t]=w.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},w.extend({expando:"jQueryOT"+(b+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==l.call(e))&&(!(t=r(e))||"function"==typeof(n=c.call(t,"constructor")&&t.constructor)&&f.call(n)===p)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(T(e))for(n=e.length;r<n&&!1!==t.call(e[r],r,e[r]);r++);else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},makeArray:function(e,t){var n=t||[];return null!=e&&(T(Object(e))?w.merge(n,"string"==typeof e?[e]:e):a.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:s.call(t,e,n)},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,a=0,s=[];if(T(e))for(r=e.length;a<r;a++)null!=(i=t(e[a],a,n))&&s.push(i);else for(a in e)null!=(i=t(e[a],a,n))&&s.push(i);return o(s)},guid:1,support:d}),"function"==typeof Symbol&&(w.fn[Symbol.iterator]=n[Symbol.iterator]),w.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),(function(e,t){u["[object "+t+"]"]=t.toLowerCase()}));var C= 15/*! 16 * Sizzle CSS Selector Engine v2.3.6 17 * https://sizzlejs.com/ 18 * 19 * Copyright JS Foundation and other contributors 20 * Released under the MIT license 21 * https://js.foundation/ 22 * 23 * Date: 2021-02-16 24 */ 25function(e){var t,n,r,i,o,a,s,u,l,c,f,p,d,h,g,v,y,m,x,b="sizzle"+1*new Date,w=e.document,T=0,C=0,E=ue(),S=ue(),k=ue(),A=ue(),N=function(e,t){return e===t&&(f=!0),0},j={}.hasOwnProperty,D=[],L=D.pop,q=D.push,O=D.push,H=D.slice,P=function(e,t){for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},R="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",I="(?:\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",W="\\["+M+"*("+I+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+I+"))|)"+M+"*\\]",F=":("+I+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+W+")*)|.*)\\)|)",B=new RegExp(M+"+","g"),$=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),_=new RegExp("^"+M+"*,"+M+"*"),z=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),Q={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},G=/HTML$/i,Y=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"�":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){p()},ae=be((function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()}),{dir:"parentNode",next:"legend"});try{O.apply(D=H.call(w.childNodes),w.childNodes),D[w.childNodes.length].nodeType}
vendor: 4,109 bytes, line 25
25catch(e){O={apply:D.length?function(e,t){q.apply(e,H.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}function se(e,t,r,i){var o,s,l,c,f,h,y,m=t&&t.ownerDocument,w=t?t.nodeType:9;if(r=r||[],"string"!=typeof e||!e||1!==w&&9!==w&&11!==w)return r;if(!i&&(p(t),t=t||d,g)){if(11!==w&&(f=Z.exec(e)))if(o=f[1]){if(9===w){if(!(l=t.getElementById(o)))return r;if(l.id===o)return r.push(l),r}else if(m&&(l=m.getElementById(o))&&x(t,l)&&l.id===o)return r.push(l),r}else{if(f[2])return O.apply(r,t.getElementsByTagName(e)),r;if((o=f[3])&&n.getElementsByClassName&&t.getElementsByClassName)return O.apply(r,t.getElementsByClassName(o)),r}if(n.qsa&&!A[e+" "]&&(!v||!v.test(e))&&(1!==w||"object"!==t.nodeName.toLowerCase())){if(y=e,m=t,1===w&&(U.test(e)||z.test(e))){for((m=ee.test(e)&&ye(t.parentNode)||t)===t&&n.scope||((c=t.getAttribute("id"))?c=c.replace(re,ie):t.setAttribute("id",c=b)),s=(h=a(e)).length;s--;)h[s]=(c?"#"+c:":scope")+" "+xe(h[s]);y=h.join(",")}try{return O.apply(r,m.querySelectorAll(y)),r}catch(t){A(e,!0)}finally{c===b&&t.removeAttribute("id")}}}return u(e.replace($,"$1"),t,r,i)}function ue(){var e=[];return function t(n,i){return e.push(n+" ")>r.cacheLength&&delete t[e.shift()],t[n+" "]=i}}function le(e){return e[b]=!0,e}function ce(e){var t=d.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){for(var n=e.split("|"),i=n.length;i--;)r.attrHandle[n[i]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function de(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function he(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ge(e){return function(t){return"form"in t?t.parentNode&&!1===t.disabled?"label"in t?"label"in t.parentNode?t.parentNode.disabled===e:t.disabled===e:t.isDisabled===e||t.isDisabled!==!e&&ae(t)===e:t.disabled===e:"label"in t&&t.disabled===e}}function ve(e){return le((function(t){return t=+t,le((function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))}))}))}function ye(e){return e&&void 0!==e.getElementsByTagName&&e}for(t in n=se.support={},o=se.isXML=function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!G.test(t||n&&n.nodeName||"HTML")},p=se.setDocument=function(e){var t,i,a=e?e.ownerDocument||e:w;return a!=d&&9===a.nodeType&&a.documentElement?(h=(d=a).documentElement,g=!o(d),w!=d&&(i=d.defaultView)&&i.top!==i&&(i.addEventListener?i.addEventListener("unload",oe,!1):i.attachEvent&&i.attachEvent("onunload",oe)),n.scope=ce((function(e){return h.appendChild(e).appendChild(d.createElement("div")),void 0!==e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length})),n.attributes=ce((function(e){return e.className="i",!e.getAttribute("className")})),n.getElementsByTagName=ce((function(e){return e.appendChild(d.createComment("")),!e.getElementsByTagName("*").length})),n.getElementsByClassName=K.test(d.getElementsByClassName),n.getById=ce((function(e){return h.appendChild(e).id=b,!d.getElementsByName||!d.getElementsByName(b).length})),n.getById?(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n=t.getElementById(e);return n?[n]:[]}}):(r.filter.ID=function(e){var t=e.replace(te,ne);return function(e){var n=void 0!==e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}},r.find.ID=function(e,t){if(void 0!==t.getElementById&&g){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];for(i=t.getElementsByName(e),r=0;o=i[r++];)if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),r.find.TAG=n.getElementsByTagName?function(e,t){return void 0!==t.getElementsByTagName?t.getElementsByTagName(e):n.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);
vendor: 15,678 bytes, line 25
25if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},r.find.CLASS=n.getElementsByClassName&&function(e,t){if(void 0!==t.getElementsByClassName&&g)return t.getElementsByClassName(e)},y=[],v=[],(n.qsa=K.test(d.querySelectorAll))&&(ce((function(e){var t;h.appendChild(e).innerHTML="<a id='"+b+"'></a><select id='"+b+"-\r\\' msallowcapture=''><option selected=''></option></select>",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+b+"-]").length||v.push("~="),(t=d.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+b+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")})),ce((function(e){e.innerHTML="<a href='' disabled='disabled'></a><select disabled='disabled'><option/></select>";var t=d.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),h.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")}))),(n.matchesSelector=K.test(m=h.matches||h.webkitMatchesSelector||h.mozMatchesSelector||h.oMatchesSelector||h.msMatchesSelector))&&ce((function(e){n.disconnectedMatch=m.call(e,"*"),m.call(e,"[s!='']:x"),y.push("!=",F)})),v=v.length&&new RegExp(v.join("|")),y=y.length&&new RegExp(y.join("|")),t=K.test(h.compareDocumentPosition),x=t||K.test(h.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},N=t?function(e,t){if(e===t)return f=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!n.sortDetached&&t.compareDocumentPosition(e)===r?e==d||e.ownerDocument==w&&x(w,e)?-1:t==d||t.ownerDocument==w&&x(w,t)?1:c?P(c,e)-P(c,t):0:4&r?-1:1)}:function(e,t){if(e===t)return f=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==d?-1:t==d?1:i?-1:o?1:c?P(c,e)-P(c,t):0;if(i===o)return pe(e,t);for(n=e;n=n.parentNode;)a.unshift(n);for(n=t;n=n.parentNode;)s.unshift(n);for(;a[r]===s[r];)r++;return r?pe(a[r],s[r]):a[r]==w?-1:s[r]==w?1:0},d):d},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(p(e),n.matchesSelector&&g&&!A[t+" "]&&(!y||!y.test(t))&&(!v||!v.test(t)))try{var r=m.call(e,t);if(r||n.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(e){A(t,!0)}return se(t,d,null,[e]).length>0},se.contains=function(e,t){return(e.ownerDocument||e)!=d&&p(e),x(e,t)},se.attr=function(e,t){(e.ownerDocument||e)!=d&&p(e);var i=r.attrHandle[t.toLowerCase()],o=i&&j.call(r.attrHandle,t.toLowerCase())?i(e,t,!g):void 0;return void 0!==o?o:n.attributes||!g?e.getAttribute(t):(o=e.getAttributeNode(t))&&o.specified?o.value:null},se.escape=function(e){return(e+"").replace(re,ie)},se.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},se.uniqueSort=function(e){var t,r=[],i=0,o=0;if(f=!n.detectDuplicates,c=!n.sortStable&&e.slice(0),e.sort(N),f){for(;t=e[o++];)t===e[o]&&(i=r.push(o));for(;i--;)e.splice(r[i],1)}return c=null,e},i=se.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=i(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=i(t);return n},r=se.selectors={cacheLength:50,createPseudo:le,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=a(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=E[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&E(e,(function(e){return t.test("string"==typeof e.className&&e.className||void 0!==e.getAttribute&&e.getAttribute("class")||"")}))},ATTR:function(e,t,n){return function(r){var i=se.attr(r,e);return null==i?"!="===t:!t||(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i.replace(B," ")+" ").indexOf(n)>-1:"|="===t&&(i===n||i.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,p,d,h,g=o!==a?"nextSibling":"previousSibling",v=t.parentNode,y=s&&t.nodeName.toLowerCase(),m=!u&&!s,x=!1;if(v){if(o){for(;g;){for(p=t;p=p[g];)if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?v.firstChild:v.lastChild],a&&m){for(x=(d=(l=(c=(f=(p=v)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1])&&l[2],p=d&&v.childNodes[d];p=++d&&p&&p[g]||(x=d=0)||h.pop();)if(1===p.nodeType&&++x&&p===t){c[e]=[T,d,x];break}}else if(m&&(x=d=(l=(c=(f=(p=t)[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]||[])[0]===T&&l[1]),!1===x)for(;(p=++d&&p&&p[g]||(x=d=0)||h.pop())&&((s?p.nodeName.toLowerCase()!==y:1!==p.nodeType)||!++x||(m&&((c=(f=p[b]||(p[b]={}))[p.uniqueID]||(f[p.uniqueID]={}))[e]=[T,x]),p!==t)););return(x-=i)===r||x%r==0&&x/r>=0}}},PSEUDO:function(e,t){var n,i=r.pseudos[e]||r.setFilters[e.toLowerCase()]||se.error("unsupported pseudo: "+e);return i[b]?i(t):i.length>1?(n=[e,e,"",t],r.setFilters.hasOwnProperty(e.toLowerCase())?le((function(e,n){for(var r,o=i(e,t),a=o.length;a--;)e[r=P(e,o[a])]=!(n[r]=o[a])})):function(e){return i(e,0,n)}):i}},pseudos:{not:le((function(e){var t=[],n=[],r=s(e.replace($,"$1"));return r[b]?le((function(e,t,n,i){for(var o,a=r(e,null,i,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))})):function(e,i,o){return t[0]=e,r(t,null,o,n),t[0]=null,!n.pop()}})),has:le((function(e){return function(t){return se(e,t).length>0}})),contains:le((function(e){return e=e.replace(te,ne),function(t){return(t.textContent||i(t)).indexOf(e)>-1}})),lang:le((function(e){return V.test(e||"")||se.error("unsupported lang: "+e),e=e.replace(te,ne).toLowerCase(),function(t){var n;do{if(n=g?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}})),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===h},focus:function(e){return e===d.activeElement&&(!d.hasFocus||d.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:ge(!1),disabled:ge(!0),checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!r.pseudos.empty(e)},header:function(e){return J.test(e.nodeName)},input:function(e){return Y.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ve((function(){return[0]})),last:ve((function(e,t){return[t-1]})),eq:ve((function(e,t,n){return[n<0?n+t:n]})),even:ve((function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e})),odd:ve((function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e})),lt:ve((function(e,t,n){for(var r=n<0?n+t:n>t?t:n;--r>=0;)e.push(r);return e})),gt:ve((function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e}))}},r.pseudos.nth=r.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})r.pseudos[t]=de(t);for(t in{submit:!0,reset:!0})r.pseudos[t]=he(t);function me(){}function xe(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function be(e,t,n){var r=t.dir,i=t.next,o=i||r,a=n&&"parentNode"===o,s=C++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||a)return e(t,n,i);return!1}:function(t,n,u){var l,c,f,p=[T,s];if(u){for(;t=t[r];)if((1===t.nodeType||a)&&e(t,n,u))return!0}else for(;t=t[r];)if(1===t.nodeType||a)if(c=(f=t[b]||(t[b]={}))[t.uniqueID]||(f[t.uniqueID]={}),i&&i===t.nodeName.toLowerCase())t=t[r]||t;else{if((l=c[o])&&l[0]===T&&l[1]===s)return p[2]=l[2];if(c[o]=p,p[2]=e(t,n,u))return!0}return!1}}function we(e){return e.length>1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function Te(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function Ce(e,t,n,r,i,o){return r&&!r[b]&&(r=Ce(r)),i&&!i[b]&&(i=Ce(i,o)),le((function(o,a,s,u){var l,c,f,p=[],d=[],h=a.length,g=o||function(e,t,n){for(var r=0,i=t.length;r<i;r++)se(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),v=!e||!o&&t?g:Te(g,p,e,s,u),y=n?i||(o?e:h||r)?[]:a:v;if(n&&n(v,y,s,u),r)for(l=Te(y,d),r(l,[],s,u),c=l.length;c--;)(f=l[c])&&(y[d[c]]=!(v[d[c]]=f));if(o){if(i||e){if(i){for(l=[],c=y.length;c--;)(f=y[c])&&l.push(v[c]=f);i(null,y=[],l,u)}for(c=y.length;c--;)(f=y[c])&&(l=i?P(o,f):p[c])>-1&&(o[l]=!(a[l]=f))}}else y=Te(y===a?y.splice(h,y.length):y),i?i(null,a,y,u):O.apply(a,y)}))}function Ee(e){for(var t,n,i,o=e.length,a=r.relative[e[0].type],s=a||r.relative[" "],u=a?1:0,c=be((function(e){return e===t}),s,!0),f=be((function(e){return P(t,e)>-1}),s,!0),p=[function(e,n,r){var i=!a&&(r||n!==l)||((t=n).nodeType?c(e,n,r):f(e,n,r));return t=null,i}];u<o;u++)if(n=r.relative[e[u].type])p=[be(we(p),n)];else{if((n=r.filter[e[u].type].apply(null,e[u].matches))[b]){for(i=++u;i<o&&!r.relative[e[i].type];i++);return Ce(u>1&&we(p),u>1&&xe(e.slice(0,u-1).concat({value:" "===e[u-2].type?"*":""})).replace($,"$1"),n,u<i&&Ee(e.slice(u,i)),i<o&&Ee(e=e.slice(i)),i<o&&xe(e))}p.push(n)}return we(p)}return me.prototype=r.filters=r.pseudos,r.setFilters=new me,a=se.tokenize=function(e,t){var n,i,o,a,s,u,l,c=S[e+" "];if(c)return t?0:c.slice(0);for(s=e,u=[],l=r.preFilter;s;){for(a in n&&!(i=_.exec(s))||(i&&(s=s.slice(i[0].length)||s),u.push(o=[])),n=!1,(i=z.exec(s))&&(n=i.shift(),o.push({value:n,type:i[0].replace($," ")}),s=s.slice(n.length)),r.filter)!(i=Q[a].exec(s))||l[a]&&!(i=l[a](i))||(n=i.shift(),o.push({value:n,type:a,matches:i}),s=s.slice(n.length));if(!n)break}return t?s.length:s?se.error(e):S(e,u).slice(0)},s=se.compile=function(e,t){var n,i=[],o=[],s=k[e+" "];if(!s){for(t||(t=a(e)),n=t.length;n--;)(s=Ee(t[n]))[b]?i.push(s):o.push(s);s=k(e,function(e,t){var n=t.length>0,i=e.length>0,o=function(o,a,s,u,c){var f,h,v,y=0,m="0",x=o&&[],b=[],w=l,C=o||i&&r.find.TAG("*",c),E=T+=null==w?1:Math.random()||.1,S=C.length;for(c&&(l=a==d||a||c);m!==S&&null!=(f=C[m]);m++){if(i&&f){for(h=0,a||f.ownerDocument==d||(p(f),s=!g);v=e[h++];)if(v(f,a||d,s)){u.push(f);break}c&&(T=E)}n&&((f=!v&&f)&&y--,o&&x.push(f))}if(y+=m,n&&m!==y){for(h=0;v=t[h++];)v(x,b,a,s);if(o){if(y>0)for(;m--;)x[m]||b[m]||(b[m]=L.call(u));b=Te(b)}O.apply(u,b),c&&!o&&b.length>0&&y+t.length>1&&se.uniqueSort(u)}return c&&(T=E,l=w),x};return n?le(o):o}(o,i)),s.selector=e}return s},u=se.select=function(e,t,n,i){var o,u,l,c,f,p="function"==typeof e&&e,d=!i&&a(e=p.selector||e);if(n=n||[],1===d.length){if((u=d[0]=d[0].slice(0)).length>2&&"ID"===(l=u[0]).type&&9===t.nodeType&&g&&r.relative[u[1].type]){if(!(t=(r.find.ID(l.matches[0].replace(te,ne),t)||[])[0]))return n;p&&(t=t.parentNode),e=e.slice(u.shift().value.length)}for(o=Q.needsContext.test(e)?0:u.length;o--&&(l=u[o],!r.relative[c=l.type]);)if((f=r.find[c])&&(i=f(l.matches[0].replace(te,ne),ee.test(u[0].type)&&ye(t.parentNode)||t))){if(u.splice(o,1),!(e=i.length&&xe(u)))return O.apply(n,i),n;break}}return(p||s(e,d))(i,t,!g,n,!t||ee.test(e)&&ye(t.parentNode)||t),n},n.sortStable=b.split("").sort(N).join("")===b,n.detectDuplicates=!!f,p(),n.sortDetached=ce((function(e){return 1&e.compareDocumentPosition(d.createElement("fieldset"))})),ce((function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")}))||fe("type|href|height|width",(function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)})),n.attributes&&ce((function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")}))||fe("value",(function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue})),ce((function(e){return null==e.getAttribute("disabled")}))||fe(R,(function(e,t,n){var r;if(!n)return!0===e[t]?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null})),se}(e);w.find=C,w.expr=C.selectors,w.expr[":"]=w.expr.pseudos,w.uniqueSort=w.unique=C.uniqueSort,w.text=C.getText,w.isXMLDoc=C.isXML,w.contains=C.contains,w.escapeSelector=C.escape;var E=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&w(e).is(n))break;r.push(e)}return r},S=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},k=w.expr.match.needsContext;function A(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}var N=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,t,n){return h(t)?w.grep(e,(function(e,r){return!!t.call(e,r,e)!==n})):t.nodeType?w.grep(e,(function(e){return e===t!==n})):"string"!=typeof t?w.grep(e,(function(e){return s.call(t,e)>-1!==n})):w.filter(t,e,n)}w.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?w.find.matchesSelector(r,e)?[r]:[]:w.find.matches(e,w.grep(t,(function(e){return 1===e.nodeType})))},w.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(w(e).filter((function(){for(t=0;t<r;t++)if(w.contains(i[t],this))return!0})));for(n=this.pushStack([]),t=0;t<r;t++)w.find(e,i[t],n);return r>1?w.uniqueSort(n):n},filter:function(e){return this.pushStack(j(this,e||[],!1))},not:function(e){return this.pushStack(j(this,e||[],!0))},is:function(e){return!!j(this,"string"==typeof e&&k.test(e)?w(e):e||[],!1).length}});var D,L=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(w.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||D,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&e.length>=3?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jQueryOT?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof w?t[0]:t,w.merge(this,w.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:v,!0)),N.test(r[1])&&w.isPlainObject(t))for(r in t)h(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=v.getElementById(r[2]))&&(this[0]=i,this.length=1),this}
vendor: 4,203 bytes, line 25
25return e.nodeType?(this[0]=e,this.length=1,this):h(e)?void 0!==n.ready?n.ready(e):e(w):w.makeArray(e,this)}).prototype=w.fn,D=w(v);var q=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function H(e,t){for(;(e=e[t])&&1!==e.nodeType;);return e}w.fn.extend({has:function(e){var t=w(e,this),n=t.length;return this.filter((function(){for(var e=0;e<n;e++)if(w.contains(this,t[e]))return!0}))},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&w(e);if(!k.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?a.index(n)>-1:1===n.nodeType&&w.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?w.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?s.call(w(e),this[0]):s.call(this,e.jQueryOT?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(w.uniqueSort(w.merge(this.get(),w(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),w.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return E(e,"parentNode")},parentsUntil:function(e,t,n){return E(e,"parentNode",n)},next:function(e){return H(e,"nextSibling")},prev:function(e){return H(e,"previousSibling")},nextAll:function(e){return E(e,"nextSibling")},prevAll:function(e){return E(e,"previousSibling")},nextUntil:function(e,t,n){return E(e,"nextSibling",n)},prevUntil:function(e,t,n){return E(e,"previousSibling",n)},siblings:function(e){return S((e.parentNode||{}).firstChild,e)},children:function(e){return S(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(A(e,"template")&&(e=e.content||e),w.merge([],e.childNodes))}},(function(e,t){w.fn[e]=function(n,r){var i=w.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=w.filter(r,i)),this.length>1&&(O[e]||w.uniqueSort(i),q.test(e)&&i.reverse()),this.pushStack(i)}}));var P=/[^\x20\t\r\n\f]+/g;function R(e){return e}function M(e){throw e}function I(e,t,n,r){var i;try{e&&h(i=e.promise)?i.call(e).done(t).fail(n):e&&h(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}w.Callbacks=function(e){e="string"==typeof e?function(e){var t={};return w.each(e.match(P)||[],(function(e,n){t[n]=!0})),t}(e):w.extend({},e);var t,n,r,i,o=[],a=[],s=-1,u=function(){for(i=i||e.once,r=t=!0;a.length;s=-1)for(n=a.shift();++s<o.length;)!1===o[s].apply(n[0],n[1])&&e.stopOnFalse&&(s=o.length,n=!1);e.memory||(n=!1),t=!1,i&&(o=n?[]:"")},l={add:function(){return o&&(n&&!t&&(s=o.length-1,a.push(n)),function t(n){w.each(n,(function(n,r){h(r)?e.unique&&l.has(r)||o.push(r):r&&r.length&&"string"!==x(r)&&t(r)}))}(arguments),n&&!t&&u()),this},remove:function(){return w.each(arguments,(function(e,t){for(var n;(n=w.inArray(t,o,n))>-1;)o.splice(n,1),n<=s&&s--})),this},has:function(e){return e?w.inArray(e,o)>-1:o.length>0},empty:function(){return o&&(o=[]),this},disable:function(){return i=a=[],o=n="",this},disabled:function(){return!o},lock:function(){return i=a=[],n||t||(o=n=""),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=[e,(n=n||[]).slice?n.slice():n],a.push(n),t||u()),this},fire:function(){return l.fireWith(this,arguments),this},fired:function(){return!!r}};return l},w.extend({Deferred:function(t){var n=[["notify","progress",w.Callbacks("memory"),w.Callbacks("memory"),2],["resolve","done",w.Callbacks("once memory"),w.Callbacks("once memory"),0,"resolved"],["reject","fail",w.Callbacks("once memory"),w.Callbacks("once memory"),1,"rejected"]],r="pending",i={state:function(){return r},always:function(){return o.done(arguments).fail(arguments),this},catch:function(e){return i.then(null,e)},pipe:function(){var e=arguments;return w.Deferred((function(t){w.each(n,(function(n,r){var i=h(e[r[4]])&&e[r[4]];o[r[1]]((function(){var e=i&&i.apply(this,arguments);e&&h(e.promise)?e.promise().progress(t.notify).done(t.resolve).fail(t.reject):t[r[0]+"With"](this,i?[e]:arguments)}))})),e=null})).promise()},then:function(t,r,i){var o=0;function a(t,n,r,i){return function(){var s=this,u=arguments,l=function(){var e,l;
vendor: 16,187 bytes, line 25
25if(!(t<o)){if((e=r.apply(s,u))===n.promise())throw new TypeError("Thenable self-resolution");l=e&&("object"==typeof e||"function"==typeof e)&&e.then,h(l)?i?l.call(e,a(o,n,R,i),a(o,n,M,i)):(o++,l.call(e,a(o,n,R,i),a(o,n,M,i),a(o,n,R,n.notifyWith))):(r!==R&&(s=void 0,u=[e]),(i||n.resolveWith)(s,u))}},c=i?l:function(){try{l()}catch(e){w.Deferred.exceptionHook&&w.Deferred.exceptionHook(e,c.stackTrace),t+1>=o&&(r!==M&&(s=void 0,u=[e]),n.rejectWith(s,u))}};t?c():(w.Deferred.getStackHook&&(c.stackTrace=w.Deferred.getStackHook()),e.setTimeout(c))}}return w.Deferred((function(e){n[0][3].add(a(0,e,h(i)?i:R,e.notifyWith)),n[1][3].add(a(0,e,h(t)?t:R)),n[2][3].add(a(0,e,h(r)?r:M))})).promise()},promise:function(e){return null!=e?w.extend(e,i):i}},o={};return w.each(n,(function(e,t){var a=t[2],s=t[5];i[t[1]]=a.add,s&&a.add((function(){r=s}),n[3-e][2].disable,n[3-e][3].disable,n[0][2].lock,n[0][3].lock),a.add(t[3].fire),o[t[0]]=function(){return o[t[0]+"With"](this===o?void 0:this,arguments),this},o[t[0]+"With"]=a.fireWith})),i.promise(o),t&&t.call(o,o),o},when:function(e){var t=arguments.length,n=t,r=Array(n),o=i.call(arguments),a=w.Deferred(),s=function(e){return function(n){r[e]=this,o[e]=arguments.length>1?i.call(arguments):n,--t||a.resolveWith(r,o)}};if(t<=1&&(I(e,a.done(s(n)).resolve,a.reject,!t),"pending"===a.state()||h(o[n]&&o[n].then)))return a.then();for(;n--;)I(o[n],s(n),a.reject);return a.promise()}});var W=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;w.Deferred.exceptionHook=function(t,n){e.console&&e.console.warn&&t&&W.test(t.name)&&e.console.warn("jQueryOT.Deferred exception: "+t.message,t.stack,n)},w.readyException=function(t){e.setTimeout((function(){throw t}))};var F=w.Deferred();function B(){v.removeEventListener("DOMContentLoaded",B),e.removeEventListener("load",B),w.ready()}w.fn.ready=function(e){return F.then(e).catch((function(e){w.readyException(e)})),this},w.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--w.readyWait:w.isReady)||(w.isReady=!0,!0!==e&&--w.readyWait>0||F.resolveWith(v,[w]))}}),w.ready.then=F.then,"complete"===v.readyState||"loading"!==v.readyState&&!v.documentElement.doScroll?e.setTimeout(w.ready):(v.addEventListener("DOMContentLoaded",B),e.addEventListener("load",B));var $=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)$(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,h(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(w(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},_=/^-ms-/,z=/-([a-z])/g;function U(e,t){return t.toUpperCase()}function X(e){return e.replace(_,"ms-").replace(z,U)}var V=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function Q(){this.expando=w.expando+Q.uid++}Q.uid=1,Q.prototype={cache:function(e){var t=e[this.expando];return t||(t={},V(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[X(t)]=n;else for(r in t)i[X(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][X(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(X):(t=X(t))in r?[t]:t.match(P)||[]).length;for(;n--;)delete r[t[n]]}(void 0===t||w.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!w.isEmptyObject(t)}};var G=new Q,Y=new Q,J=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,K=/[A-Z]/g;function Z(e,t,n){var r;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(K,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n=function(e){return"true"===e||"false"!==e&&("null"===e?null:e===+e+""?+e:J.test(e)?JSON.parse(e):e)}(n)}catch(e){}Y.set(e,t,n)}else n=void 0;return n}w.extend({hasData:function(e){return Y.hasData(e)||G.hasData(e)},data:function(e,t,n){return Y.access(e,t,n)},removeData:function(e,t){Y.remove(e,t)},_data:function(e,t,n){return G.access(e,t,n)},_removeData:function(e,t){G.remove(e,t)}}),w.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=Y.get(o),1===o.nodeType&&!G.get(o,"hasDataAttrs"))){for(n=a.length;n--;)a[n]&&0===(r=a[n].name).indexOf("data-")&&(r=X(r.slice(5)),Z(o,r,i[r]));G.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof e?this.each((function(){Y.set(this,e)})):$(this,(function(t){var n;if(o&&void 0===t)return void 0!==(n=Y.get(o,e))||void 0!==(n=Z(o,e))?n:void 0;this.each((function(){Y.set(this,e,t)}))}),null,t,arguments.length>1,null,!0)},removeData:function(e){return this.each((function(){Y.remove(this,e)}))}}),w.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=G.get(e,t),n&&(!r||Array.isArray(n)?r=G.access(e,t,w.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=w.queue(e,t),r=n.length,i=n.shift(),o=w._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,(function(){w.dequeue(e,t)}),o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return G.get(e,n)||G.access(e,n,{empty:w.Callbacks("once memory").add((function(){G.remove(e,[t+"queue",n])}))})}}),w.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length<n?w.queue(this[0],e):void 0===t?this:this.each((function(){var n=w.queue(this,e,t);w._queueHooks(this,e),"fx"===e&&"inprogress"!==n[0]&&w.dequeue(this,e)}))},dequeue:function(e){return this.each((function(){w.dequeue(this,e)}))},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=w.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};for("string"!=typeof e&&(t=e,e=void 0),e=e||"fx";a--;)(n=G.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var ee=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,te=new RegExp("^(?:([+-])=|)("+ee+")([a-z%]*)$","i"),ne=["Top","Right","Bottom","Left"],re=v.documentElement,ie=function(e){return w.contains(e.ownerDocument,e)},oe={composed:!0};re.getRootNode&&(ie=function(e){return w.contains(e.ownerDocument,e)||e.getRootNode(oe)===e.ownerDocument});var ae=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&ie(e)&&"none"===w.css(e,"display")};function se(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return w.css(e,t,"")},u=s(),l=n&&n[3]||(w.cssNumber[t]?"":"px"),c=e.nodeType&&(w.cssNumber[t]||"px"!==l&&+u)&&te.exec(w.css(e,t));if(c&&c[3]!==l){for(u/=2,l=l||c[3],c=+u||1;a--;)w.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,w.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ue={};function le(e){var t,n=e.ownerDocument,r=e.nodeName,i=ue[r];return i||(t=n.body.appendChild(n.createElement(r)),i=w.css(t,"display"),t.parentNode.removeChild(t),"none"===i&&(i="block"),ue[r]=i,i)}function ce(e,t){for(var n,r,i=[],o=0,a=e.length;o<a;o++)(r=e[o]).style&&(n=r.style.display,t?("none"===n&&(i[o]=G.get(r,"display")||null,i[o]||(r.style.display="")),""===r.style.display&&ae(r)&&(i[o]=le(r))):"none"!==n&&(i[o]="none",G.set(r,"display",n)));for(o=0;o<a;o++)null!=i[o]&&(e[o].style.display=i[o]);return e}w.fn.extend({show:function(){return ce(this,!0)},hide:function(){return ce(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each((function(){ae(this)?w(this).show():w(this).hide()}))}});var fe,pe,de=/^(?:checkbox|radio)$/i,he=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,ge=/^$|^module$|\/(?:java|ecma)script/i;fe=v.createDocumentFragment().appendChild(v.createElement("div")),(pe=v.createElement("input")).setAttribute("type","radio"),pe.setAttribute("checked","checked"),pe.setAttribute("name","t"),fe.appendChild(pe),d.checkClone=fe.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.innerHTML="<textarea>x</textarea>",d.noCloneChecked=!!fe.cloneNode(!0).lastChild.defaultValue,fe.innerHTML="<option></option>",d.option=!!fe.lastChild;var ve={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function ye(e,t){var n;return n=void 0!==e.getElementsByTagName?e.getElementsByTagName(t||"*"):void 0!==e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?w.merge([e],n):n}function me(e,t){for(var n=0,r=e.length;n<r;n++)G.set(e[n],"globalEval",!t||G.get(t[n],"globalEval"))}ve.tbody=ve.tfoot=ve.colgroup=ve.caption=ve.thead,ve.th=ve.td,d.option||(ve.optgroup=ve.option=[1,"<select multiple='multiple'>","</select>"]);var xe=/<|&#?\w+;/;function be(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))w.merge(p,o.nodeType?[o]:o);else if(xe.test(o)){for(a=a||f.appendChild(t.createElement("div")),s=(he.exec(o)||["",""])[1].toLowerCase(),u=ve[s]||ve._default,a.innerHTML=u[1]+w.htmlPrefilter(o)+u[2],c=u[0];c--;)a=a.lastChild;w.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));for(f.textContent="",d=0;o=p[d++];)if(r&&w.inArray(o,r)>-1)i&&i.push(o);else if(l=ie(o),a=ye(f.appendChild(o),"script"),l&&me(a),n)for(c=0;o=a[c++];)ge.test(o.type||"")&&n.push(o);return f}var we=/^([^.]*)(?:\.(.+)|)/;function Te(){return!0}function Ce(){return!1}function Ee(e,t){return e===function(){try{return v.activeElement}catch(e){}}()==("focus"===t)}function Se(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Se(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Ce;else if(!i)return e;return 1===o&&(a=i,i=function(e){return w().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=w.guid++)),e.each((function(){w.event.add(this,t,i,r,n)}))}function ke(e,t,n){n?(G.set(e,t,!1),w.event.add(e,t,{namespace:!1,handler:function(e){var r,o,a=G.get(this,t);if(1&e.isTrigger&&this[t]){if(a.length)(w.event.special[t]||{}).delegateType&&e.stopPropagation();else if(a=i.call(arguments),G.set(this,t,a),r=n(this,t),this[t](),a!==(o=G.get(this,t))||r?G.set(this,t,!1):o={},a!==o)return e.stopImmediatePropagation(),e.preventDefault(),o&&o.value}else a.length&&(G.set(this,t,{value:w.event.trigger(w.extend(a[0],w.Event.prototype),a.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===G.get(e,t)&&w.event.add(e,t,Te)}w.event={global:{},add:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.get(e);if(V(e))for(n.handler&&(n=(o=n).handler,i=o.selector),i&&w.find.matchesSelector(re,i),n.guid||(n.guid=w.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(t){return void 0!==w&&w.event.triggered!==t.type?w.event.dispatch.apply(e,arguments):void 0}),l=(t=(t||"").match(P)||[""]).length;l--;)d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=w.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=w.event.special[d]||{},c=w.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&w.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(e,r,h,a)||e.addEventListener&&e.addEventListener(d,a)),f.add&&(f.add.call(e,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),w.event.global[d]=!0)},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=G.hasData(e)&&G.get(e);if(v&&(u=v.events)){for(l=(t=(t||"").match(P)||[""]).length;l--;)if(d=g=(s=we.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){for(f=w.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;o--;)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||w.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)w.event.remove(e,d+t[l],n,r,!0);w.isEmptyObject(u)&&G.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=w.event.fix(e),l=(G.get(this,"events")||Object.create(null))[u.type]||[],c=w.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){for(a=w.event.handlers.call(this,u,l),t=0;(i=a[t++])&&!u.isPropagationStopped();)for(u.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!u.isImmediatePropagationStopped();)u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((w.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()));return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&e.button>=1))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?w(i,this).index(l)>-1:w.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(e,t){Object.defineProperty(w.Event.prototype,e,{enumerable:!0,configurable:!0,get:h(t)?function(){if(this.originalEvent)return t(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[e]},set:function(t){Object.defineProperty(this,e,{enumerable:!0,configurable:!0,writable:!0,value:t})}})},fix:function(e){return e[w.expando]?e:new w.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&ke(t,"click",Te),!1},trigger:function(e){var t=this||e;return de.test(t.type)&&t.click&&A(t,"input")&&ke(t,"click"),!0},_default:function(e){var t=e.target;return de.test(t.type)&&t.click&&A(t,"input")&&G.get(t,"click")||A(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},w.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},w.Event=function(e,t){if(!(this instanceof w.Event))return new w.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Te:Ce,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&w.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[w.expando]=!0},w.Event.prototype={constructor:w.Event,isDefaultPrevented:Ce,isPropagationStopped:Ce,isImmediatePropagationStopped:Ce,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Te,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Te,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Te,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},w.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,char:!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},w.event.addProp),w.each({focus:"focusin",blur:"focusout"},(function(e,t){w.event.special[e]={setup:function(){return ke(this,e,Ee),!1},trigger:function(){return ke(this,e),!0},_default:function(){return!0},delegateType:t}}
vendor: 5,920 bytes, line 25
25)),w.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},(function(e,t){w.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=e.relatedTarget,i=e.handleObj;return r&&(r===this||w.contains(this,r))||(e.type=i.origType,n=i.handler.apply(this,arguments),e.type=t),n}}})),w.fn.extend({on:function(e,t,n,r){return Se(this,e,t,n,r)},one:function(e,t,n,r){return Se(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,w(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=Ce),this.each((function(){w.event.remove(this,e,n,t)}))}});var Ae=/<script|<style|<link/i,Ne=/checked\s*(?:[^=]|=\s*.checked.)/i,je=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g;function De(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&w(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function qe(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(G.hasData(e)&&(s=G.get(e).events))for(i in G.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)w.event.add(t,i,s[i][n]);Y.hasData(e)&&(o=Y.access(e),a=w.extend({},o),Y.set(t,a))}}function He(e,t){var n=t.nodeName.toLowerCase();"input"===n&&de.test(e.type)?t.checked=e.checked:"input"!==n&&"textarea"!==n||(t.defaultValue=e.defaultValue)}function Pe(e,t,n,r){t=o(t);var i,a,s,u,l,c,f=0,p=e.length,g=p-1,v=t[0],y=h(v);if(y||p>1&&"string"==typeof v&&!d.checkClone&&Ne.test(v))return e.each((function(i){var o=e.eq(i);y&&(t[0]=v.call(this,i,o.html())),Pe(o,t,n,r)}));if(p&&(a=(i=be(t,e[0].ownerDocument,!1,e,r)).firstChild,1===i.childNodes.length&&(i=a),a||r)){for(u=(s=w.map(ye(i,"script"),Le)).length;f<p;f++)l=i,f!==g&&(l=w.clone(l,!0,!0),u&&w.merge(s,ye(l,"script"))),n.call(e[f],l,f);if(u)for(c=s[s.length-1].ownerDocument,w.map(s,qe),f=0;f<u;f++)l=s[f],ge.test(l.type||"")&&!G.access(l,"globalEval")&&w.contains(c,l)&&(l.src&&"module"!==(l.type||"").toLowerCase()?w._evalUrl&&!l.noModule&&w._evalUrl(l.src,{nonce:l.nonce||l.getAttribute("nonce")},c):m(l.textContent.replace(je,""),l,c))}return e}function Re(e,t,n){for(var r,i=t?w.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||w.cleanData(ye(r)),r.parentNode&&(n&&ie(r)&&me(ye(r,"script")),r.parentNode.removeChild(r));return e}w.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s=e.cloneNode(!0),u=ie(e);if(!(d.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||w.isXMLDoc(e)))for(a=ye(s),r=0,i=(o=ye(e)).length;r<i;r++)He(o[r],a[r]);if(t)if(n)for(o=o||ye(e),a=a||ye(s),r=0,i=o.length;r<i;r++)Oe(o[r],a[r]);else Oe(e,s);return(a=ye(s,"script")).length>0&&me(a,!u&&ye(e,"script")),s},cleanData:function(e){for(var t,n,r,i=w.event.special,o=0;void 0!==(n=e[o]);o++)if(V(n)){if(t=n[G.expando]){if(t.events)for(r in t.events)i[r]?w.event.remove(n,r):w.removeEvent(n,r,t.handle);n[G.expando]=void 0}n[Y.expando]&&(n[Y.expando]=void 0)}}}),w.fn.extend({detach:function(e){return Re(this,e,!0)},remove:function(e){return Re(this,e)},text:function(e){return $(this,(function(e){return void 0===e?w.text(this):this.empty().each((function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)}))}),null,e,arguments.length)},append:function(){return Pe(this,arguments,(function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||De(this,e).appendChild(e)}))},prepend:function(){return Pe(this,arguments,(function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=De(this,e);t.insertBefore(e,t.firstChild)}}))},before:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this)}))},after:function(){return Pe(this,arguments,(function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)}))},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(w.cleanData(ye(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map((function(){return w.clone(this,e,t)}))},html:function(e){return $(this,(function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Ae.test(e)&&!ve[(he.exec(e)||["",""])[1].toLowerCase()]){e=w.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(w.cleanData(ye(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)}),null,e,arguments.length)},replaceWith:function(){var e=[];return Pe(this,arguments,(function(t){var n=this.parentNode;w.inArray(this,e)<0&&(w.cleanData(ye(this)),n&&n.replaceChild(t,this))}),e)}}),w.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},(function(e,t){w.fn[e]=function(e){for(var n,r=[],i=w(e),o=i.length-1,s=0;s<=o;s++)n=s===o?this:this.clone(!0),w(i[s])[t](n),a.apply(r,n.get());return this.pushStack(r)}}));var Me=new RegExp("^("+ee+")(?!px)[a-z%]+$","i"),Ie=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},We=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Fe=new RegExp(ne.join("|"),"i");function Be(e,t,n){var r,i,o,a,s=e.style;return(n=n||Ie(e))&&(""!==(a=n.getPropertyValue(t)||n[t])||ie(e)||(a=w.style(e,t)),!d.pixelBoxStyles()&&Me.test(a)&&Fe.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o)),void 0!==a?a+"":a}function $e(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function t(){if(c){l.style.cssText="position:absolute;
25left:-11111px;width:60px;margin-top:1px;padding:0;border:0",c.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",re.appendChild(l).appendChild(c);var t=e.getComputedStyle(c);r="1%"!==t.top,u=12===n(t.marginLeft),c.style.right="60%",a=36===n(t.right),i=36===n(t.width),c.style.position="absolute",o=12===n(c.offsetWidth/3),re.removeChild(l),c=null}}function n(e){return Math.round(parseFloat(e))}var r,i,o,a,s,u,l=v.createElement("div"),c=v.createElement("div");c.style&&(c.style.backgroundClip="content-box",c.cloneNode(!0).style.backgroundClip="",d.clearCloneStyle="content-box"===c.style.backgroundClip,w.extend(d,{boxSizingReliable:function(){return t(),i},pixelBoxStyles:function(){return t(),a},pixelPosition:function(){return t(),r},reliableMarginLeft:function(){return t(),u},scrollboxSize:function(){return t(),o},reliableTrDimensions:function(){var t,n,r,i;return null==s&&(t=v.createElement("table"),n=v.createElement("tr"),r=v.createElement("div"),t.style.cssText="position:absolute;left:-11111px;border-collapse:separate",n.style.cssText="border:1px solid",n.style.height="1px",r.style.height="9px",r.style.display="block",re.appendChild(t).appendChild(n).appendChild(r),i=e.getComputedStyle(n),s=parseInt(i.height,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10)===n.offsetHeight,re.removeChild(t)),s}}))}();var _e=["Webkit","Moz","ms"],ze=v.createElement("div").style,Ue={};function Xe(e){var t=w.cssProps[e]||Ue[e];return t||(e in ze?e:Ue[e]=function(e){for(var t=e[0].toUpperCase()+e.slice(1),n=_e.length;n--;)if((e=_e[n]+t)in ze)return e}(e)||e)}var Ve=/^(none|table(?!-c[ea]).+)/,Qe=/^--/,Ge={position:"absolute",visibility:"hidden",display:"block"},Ye={letterSpacing:"0",fontWeight:"400"};function Je(e,t,n){var r=te.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function Ke(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(u+=w.css(e,n+ne[a],!0,i)),r?("content"===n&&(u-=w.css(e,"padding"+ne[a],!0,i)),"margin"!==n&&(u-=w.css(e,"border"+ne[a]+"Width",!0,i))):(u+=w.css(e,"padding"+ne[a],!0,i),"padding"!==n?u+=w.css(e,"border"+ne[a]+"Width",!0,i):s+=w.css(e,"border"+ne[a]+"Width",!0,i));return!r&&o>=0&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u}function Ze(e,t,n){var r=Ie(e),i=(!d.boxSizingReliable()||n)&&"border-box"===w.css(e,"boxSizing",!1,r),o=i,a=Be(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(Me.test(a)){if(!n)return a;a="auto"}return(!d.boxSizingReliable()&&i||!d.reliableTrDimensions()&&A(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===w.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===w.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+Ke(e,t,n||(i?"border":"content"),o,r,a)+"px"}function et(e,t,n,r,i){return new et.prototype.init(e,t,n,r,i)}w.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Be(e,"o
25pacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=X(t),u=Qe.test(t),l=e.style;if(u||(t=Xe(s)),a=w.cssHooks[t]||w.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=te.exec(n))&&i[1]&&(n=se(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(w.cssNumber[s]?"":"px")),d.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=X(t);return Qe.test(t)||(t=Xe(s)),(a=w.cssHooks[t]||w.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Be(e,t,r)),"normal"===i&&t in Ye&&(i=Ye[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),w.each(["height","width"],(function(e,t){w.cssHooks[t]={get:function(e,n,r){if(n)return!Ve.test(w.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?Ze(e,t,r):We(e,Ge,(function(){return Ze(e,t,r)}))},set:function(e,n,r){var i,o=Ie(e),a=!d.scrollboxSize()&&"absolute"===o.position,s=(a||r)&&"border-box"===w.css(e,"boxSizing",!1,o),u=r?Ke(e,t,r,s,o):0;return s&&a&&(u-=Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-parseFloat(o[t])-Ke(e,t,"border",!1,o)-.5)),u&&(i=te.exec(n))&&"px"!==(i[3]||"px")&&(e.style[t]=n,n=w.css(e,t)),Je(0,n,u)}}})),w.cssHooks.marginLeft=$e(d.reliableMarginLeft,(function(e,t){if(t)return(parseFloat(Be(e,"marginLeft"))||e.getBoundingClientRect().left-We(e,{marginLeft:0},(function(){return e.getBoundingClientRect().left})))+"px"})),w.each({margin:"",padding:"",border:"Width"},(function(e,t){w.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+ne[r]+t]=o[r]||o[r-2]||o[0];return i}},"margin"!==e&&(w.cssHooks[e+t].set=Je)})),w.fn.extend({css:function(e,t){return $(this,(function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Ie(e),i=t.length;a<i;a++)o[t[a]]=w.css(e,t[a],!1,r);return o}return void 0!==n?w.style(e,t,n):w.css(e,t)}),e,t,arguments.length>1)}}),w.Tween=et,et.prototype={constructor:et,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||w.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(w.cssNumber[n]?"":"px")},cur:function(){var e=et.propHooks[this.prop];return e&&e.get?e.get(this):et.propHooks._default.get(this)},run:function(e){var t,n=et.propHooks[this.prop];return this.options.duration?this.pos=t=w.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):et.propHooks._default.set(this),this}},et.prototype.init.prototype=et.prototype,et.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=w.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){w.fx.step[e.prop]?w.fx.step[e.prop](e):1!==e.elem.nodeType||!w.cssHooks[e.prop]&&null==e.elem.style[Xe(e.prop)]?e.elem[e.prop]=e.now:w.style(e.elem,e.prop,e.now+e.unit)}}},et.propHooks.scrollTop=et.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},w.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},w.fx=et.prototype.init,w.fx.step={};var tt,nt,rt=/^(?:toggle|show|hide)$/,it=/queueHooks$/;function ot(){nt&&(!1===v.hidden&&e.requestAnimationFrame?e.requestAnimationFrame(ot):e.setTimeout(ot,w.fx.interval),w.fx.tick())}function at(){return e.setTimeout((function(){tt=void 0})),tt=Date.now()}function st(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=ne[r])]=i["padding"+n]=e;
vendor: 4,900 bytes, line 25
25return t&&(i.opacity=i.width=e),i}function ut(e,t,n){for(var r,i=(lt.tweeners[t]||[]).concat(lt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function lt(e,t,n){var r,i,o=0,a=lt.prefilters.length,s=w.Deferred().always((function(){delete u.elem})),u=function(){if(i)return!1;for(var t=tt||at(),n=Math.max(0,l.startTime+l.duration-t),r=1-(n/l.duration||0),o=0,a=l.tweens.length;o<a;o++)l.tweens[o].run(r);return s.notifyWith(e,[l,r,n]),r<1&&a?n:(a||s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l]),!1)},l=s.promise({elem:e,props:w.extend({},t),opts:w.extend(!0,{specialEasing:{},easing:w.easing._default},n),originalProperties:t,originalOptions:n,startTime:tt||at(),duration:n.duration,tweens:[],createTween:function(t,n){var r=w.Tween(e,l.opts,t,n,l.opts.specialEasing[t]||l.opts.easing);return l.tweens.push(r),r},stop:function(t){var n=0,r=t?l.tweens.length:0;if(i)return this;for(i=!0;n<r;n++)l.tweens[n].run(1);return t?(s.notifyWith(e,[l,1,0]),s.resolveWith(e,[l,t])):s.rejectWith(e,[l,t]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=X(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=w.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);o<a;o++)if(r=lt.prefilters[o].call(l,e,c,l.opts))return h(r.stop)&&(w._queueHooks(l.elem,l.opts.queue).stop=r.stop.bind(r)),r;return w.map(c,ut,l),h(l.opts.start)&&l.opts.start.call(e,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),w.fx.timer(w.extend(u,{elem:e,anim:l,queue:l.opts.queue})),l}w.Animation=w.extend(lt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return se(n.elem,e,te.exec(t),n),n}]},tweener:function(e,t){h(e)?(t=e,e=["*"]):e=e.match(P);for(var n,r=0,i=e.length;r<i;r++)n=e[r],lt.tweeners[n]=lt.tweeners[n]||[],lt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ae(e),v=G.get(e,"fxshow");for(r in n.queue||(null==(a=w._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always((function(){p.always((function(){a.unqueued--,w.queue(e,"fx").length||a.empty.fire()}))}))),t)if(i=t[r],rt.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||w.style(e,r)}if((u=!w.isEmptyObject(t))||!w.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=G.get(e,"display")),"none"===(c=w.css(e,"display"))&&(l?c=l:(ce([e],!0),l=e.style.display||l,c=w.css(e,"display"),ce([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===w.css(e,"float")&&(u||(p.done((function(){h.display=l})),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always((function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]}))),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=G.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&ce([e],!0),p.done((function(){for(r in g||ce([e]),G.remove(e,"fxshow"),d)w.style(e,r,d[r])}))),u=ut(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?lt.prefilters.unshift(e):lt.prefilters.push(e)}}),w.speed=function(e,t,n){var r=e&&"object"==typeof e?w.extend({},e):{complete:n||!n&&t||h(e)&&e,duration:e,easing:n&&t||t&&!h(t)&&t};return w.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in w.fx.speeds?r.duration=w.fx.speeds[r.duration]:r.duration=w.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){h(r.old)&&r.old.call(this),r.queue&&w.dequeue(this,r.queue)},r},w.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ae).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=w.isEmptyObject(e),o=w.speed(t,n,r),a=function(){var t=lt(this,w.extend({},e),o);(i||G.get(this,"finish"))&&t.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(e,t,n){var r=function(e){var t=e.stop;delete e.stop,t(n)};return"string"!=typeof e&&(n=t,t=e,e=void 0),t&&this.queue(e||"fx",[]),this.each((function(){var t=!0,i=null!=e&&e+"queueHooks",o=w.timers,a=G.get(this);if(i)a[i]&&a[i].stop&&r(a[i]);else for(i in a)a[i]&&a[i].stop&&it.test(i)&&r(a[i]);for(i=o.length;i--;)o[i].elem!==this||null!=e&&o[i].queue!==e||(o[i].anim.stop(n),t=!1,o.splice(i,1));!t&&n||w.dequeue(this,e)}))},finish:function(e){return!1!==e&&(e=e||"fx"),this.each((function(){var t,n=G.get(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=w.timers,a=r?r.length:0;for(n.finish=!0,w.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1)
vendor: 4,191 bytes, line 25
25);for(t=0;t<a;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish}))}}),w.each(["toggle","show","hide"],(function(e,t){var n=w.fn[t];w.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(st(t,!0),e,r,i)}})),w.each({slideDown:st("show"),slideUp:st("hide"),slideToggle:st("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},(function(e,t){w.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}})),w.timers=[],w.fx.tick=function(){var e,t=0,n=w.timers;for(tt=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||w.fx.stop(),tt=void 0},w.fx.timer=function(e){w.timers.push(e),w.fx.start()},w.fx.interval=13,w.fx.start=function(){nt||(nt=!0,ot())},w.fx.stop=function(){nt=null},w.fx.speeds={slow:600,fast:200,_default:400},w.fn.delay=function(t,n){return t=w.fx&&w.fx.speeds[t]||t,n=n||"fx",this.queue(n,(function(n,r){var i=e.setTimeout(n,t);r.stop=function(){e.clearTimeout(i)}}))},function(){var e=v.createElement("input"),t=v.createElement("select").appendChild(v.createElement("option"));e.type="checkbox",d.checkOn=""!==e.value,d.optSelected=t.selected,(e=v.createElement("input")).value="t",e.type="radio",d.radioValue="t"===e.value}();var ct,ft=w.expr.attrHandle;w.fn.extend({attr:function(e,t){return $(this,w.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each((function(){w.removeAttr(this,e)}))}}),w.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return void 0===e.getAttribute?w.prop(e,t,n):(1===o&&w.isXMLDoc(e)||(i=w.attrHooks[t.toLowerCase()]||(w.expr.match.bool.test(t)?ct:void 0)),void 0!==n?null===n?void w.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=w.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!d.radioValue&&"radio"===t&&A(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(P);if(i&&1===e.nodeType)for(;n=i[r++];)e.removeAttribute(n)}}),ct={set:function(e,t,n){return!1===t?w.removeAttr(e,n):e.setAttribute(n,n),n}},w.each(w.expr.match.bool.source.match(/\w+/g),(function(e,t){var n=ft[t]||w.find.attr;ft[t]=function(e,t,r){var i,o,a=t.toLowerCase();return r||(o=ft[a],ft[a]=i,i=null!=n(e,t,r)?a:null,ft[a]=o),i}}));var pt=/^(?:input|select|textarea|button)$/i,dt=/^(?:a|area)$/i;function ht(e){return(e.match(P)||[]).join(" ")}function gt(e){return e.getAttribute&&e.getAttribute("class")||""}function vt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(P)||[]}w.fn.extend({prop:function(e,t){return $(this,w.prop,e,t,arguments.length>1)},removeProp:function(e){return this.each((function(){delete this[w.propFix[e]||e]}))}}),w.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&w.isXMLDoc(e)||(t=w.propFix[t]||t,i=w.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=w.find.attr(e,"tabindex");return t?parseInt(t,10):pt.test(e.nodeName)||dt.test(e.nodeName)&&e.href?0:-1}}},propFix:{for:"htmlFor",class:"className"}}),d.optSelected||(w.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),w.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],(function(){w.propFix[this.toLowerCase()]=this})),w.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).addClass(e.call(this,t,gt(this)))}));if((t=vt(e)).length)for(;n=this[u++];)if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(h(e))return this.each((function(t){w(this).removeClass(e.call(this,t,gt(this)))}));if(!arguments.length)return this.attr("class","");if((t=vt(e)).length)for(;n=this[u++];
vendor: 7,360 bytes, line 25
25)if(i=gt(n),r=1===n.nodeType&&" "+ht(i)+" "){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");i!==(s=ht(r))&&n.setAttribute("class",s)}return this},toggleClass:function(e,t){var n=typeof e,r="string"===n||Array.isArray(e);return"boolean"==typeof t&&r?t?this.addClass(e):this.removeClass(e):h(e)?this.each((function(n){w(this).toggleClass(e.call(this,n,gt(this),t),t)})):this.each((function(){var t,i,o,a;if(r)for(i=0,o=w(this),a=vt(e);t=a[i++];)o.hasClass(t)?o.removeClass(t):o.addClass(t);else void 0!==e&&"boolean"!==n||((t=gt(this))&&G.set(this,"__className__",t),this.setAttribute&&this.setAttribute("class",t||!1===e?"":G.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+ht(gt(n))+" ").indexOf(t)>-1)return!0;return!1}});var yt=/\r/g;w.fn.extend({val:function(e){var t,n,r,i=this[0];return arguments.length?(r=h(e),this.each((function(n){var i;1===this.nodeType&&(null==(i=r?e.call(this,n,w(this).val()):e)?i="":"number"==typeof i?i+="":Array.isArray(i)&&(i=w.map(i,(function(e){return null==e?"":e+""}))),(t=w.valHooks[this.type]||w.valHooks[this.nodeName.toLowerCase()])&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))}))):i?(t=w.valHooks[i.type]||w.valHooks[i.nodeName.toLowerCase()])&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:"string"==typeof(n=i.value)?n.replace(yt,""):null==n?"":n:void 0}}),w.extend({valHooks:{option:{get:function(e){var t=w.find.attr(e,"value");return null!=t?t:ht(w.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!A(n.parentNode,"optgroup"))){if(t=w(n).val(),a)return t;s.push(t)}return s},set:function(e,t){for(var n,r,i=e.options,o=w.makeArray(t),a=i.length;a--;)((r=i[a]).selected=w.inArray(w.valHooks.option.get(r),o)>-1)&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),w.each(["radio","checkbox"],(function(){w.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=w.inArray(w(e).val(),t)>-1}},d.checkOn||(w.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})})),d.focusin="onfocusin"in e;var mt=/^(?:focusinfocus|focusoutblur)$/,xt=function(e){e.stopPropagation()};w.extend(w.event,{trigger:function(t,n,r,i){var o,a,s,u,l,f,p,d,y=[r||v],m=c.call(t,"type")?t.type:t,x=c.call(t,"namespace")?t.namespace.split("."):[];if(a=d=s=r=r||v,3!==r.nodeType&&8!==r.nodeType&&!mt.test(m+w.event.triggered)&&(m.indexOf(".")>-1&&(x=m.split("."),m=x.shift(),x.sort()),l=m.indexOf(":")<0&&"on"+m,(t=t[w.expando]?t:new w.Event(m,"object"==typeof t&&t)).isTrigger=i?2:3,t.namespace=x.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+x.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:w.makeArray(n,[t]),p=w.event.special[m]||{},i||!p.trigger||!1!==p.trigger.apply(r,n))){if(!i&&!p.noBubble&&!g(r)){for(u=p.delegateType||m,mt.test(u+m)||(a=a.parentNode);a;a=a.parentNode)y.push(a),s=a;s===(r.ownerDocument||v)&&y.push(s.defaultView||s.parentWindow||e)}for(o=0;(a=y[o++])&&!t.isPropagationStopped();)d=a,t.type=o>1?u:p.bindType||m,(f=(G.get(a,"events")||Object.create(null))[t.type]&&G.get(a,"handle"))&&f.apply(a,n),(f=l&&a[l])&&f.apply&&V(a)&&(t.result=f.apply(a,n),!1===t.result&&t.preventDefault());return t.type=m,i||t.isDefaultPrevented()||p._default&&!1!==p._default.apply(y.pop(),n)||!V(r)||l&&h(r[m])&&!g(r)&&((s=r[l])&&(r[l]=null),w.event.triggered=m,t.isPropagationStopped()&&d.addEventListener(m,xt),r[m](),t.isPropagationStopped()&&d.removeEventListener(m,xt),w.event.triggered=void 0,s&&(r[l]=s)),t.result}},simulate:function(e,t,n){var r=w.extend(new w.Event,n,{type:e,isSimulated:!0});w.event.trigger(r,null,t)}}),w.fn.extend({trigger:function(e,t){return this.each((function(){w.event.trigger(e,t,this)}))},triggerHandler:function(e,t){var n=this[0];if(n)return w.event.trigger(e,t,n,!0)}}),d.focusin||w.each({focus:"focusin",blur:"focusout"},(function(e,t){var n=function(e){w.event.simulate(t,e.target,w.event.fix(e))};w.event.special[t]={setup:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t);i||r.addEventListener(e,n,!0),G.access(r,t,(i||0)+1)},teardown:function(){var r=this.ownerDocument||this.document||this,i=G.access(r,t)-1;i?G.access(r,t,i):(r.removeEventListener(e,n,!0),G.remove(r,t))}}}));var bt=e.location,wt={guid:Date.now()},Tt=/\?/;w.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{n=(new e.DOMParser).parseFromString(t,"text/xml")}catch(e){}return r=n&&n.getElementsByTagName("parsererror")[0],n&&!r||w.error("Invalid XML: "+(r?w.map(r.childNodes,(function(e){return e.textContent})).join("\n"):t)),n};var Ct=/\[\]$/,Et=/\r?\n/g,St=/^(?:submit|button|image|reset|file)$/i,kt=/^(?:input|select|textarea|keygen)/i;function At(e,t,n,r){var i;if(Array.isArray(t))w.each(t,(function(t,i){n||Ct.test(e)?r(e,i):At(e+"["+("object"==typeof i&&null!=i?t:"")+"]",i,n,r)}));else if(n||"object"!==x(t))r(e,t);else for(i in t)At(e+"["+i+"]",t[i],n,r)}w.param=function(e,t){var n,r=[],i=function(e,t){var n=h(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jQueryOT&&!w.isPlainObject(e))w.each(e,(function(){i(this.name,this.value)}));else for(n in e)At(n,e[n],t,i);return r.join("&")},w.fn.extend({serialize:function(){return w.param(this.serializeArray())},serializeArray:function(){return this.map((function(){var e=w.prop(this,"elements");return e?w.makeArray(e):this})).filter((function(){var e=this.type;return this.name&&!w(this).is(":disabled")&&kt.test(this.nodeName)&&!St.test(e)&&(this.checked||!de.test(e))})).map((function(e,t){var n=w(this).val();return null==n?null:Array.isArray(n)?w.map(n,(function(e){return{name:t.name,value:e.replace(Et,"\r\n")}})):{name:t.name,value:n.replace(Et,"\r\n")}})).get()}});var Nt=/%20/g,jt=/#.*$/,Dt=/([?&])_=[^&]*/,Lt=/^(.*?):[ \t]*([^\r\n]*)$/gm,qt=/^(?:GET|HEAD)$/,Ot=/^\/\//,Ht={},Pt={},Rt="*/".concat("*"),Mt=v.createElement("a");function It(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(P)||[];if(h(n))for(;r=o[i++];)"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function Wt(e,t,n,r){var i={},o=e===Pt;function a(s){var u;return i[s]=!0,w.each(e[s]||[],(function(e,s){var l=s(t,n,r);return"string"!=typeof l||o||i[l]?o?!(u=l):void 0:(t.dataTypes.unshift(l),a(l),!1)})),u}return a(t.dataTypes[0])||!i["*"]&&a("*")}function Ft(e,t){var n,r,i=w.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&w.extend(!0,e,r),e}Mt.href=bt.href,w.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:bt.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Rt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":w.parseXML}
vendor: 7,816 bytes, line 25
25,flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Ft(Ft(e,w.ajaxSettings),t):Ft(w.ajaxSettings,e)},ajaxPrefilter:It(Ht),ajaxTransport:It(Pt),ajax:function(t,n){"object"==typeof t&&(n=t,t=void 0),n=n||{};var r,i,o,a,s,u,l,c,f,p,d=w.ajaxSetup({},n),h=d.context||d,g=d.context&&(h.nodeType||h.jQueryOT)?w(h):w.event,y=w.Deferred(),m=w.Callbacks("once memory"),x=d.statusCode||{},b={},T={},C="canceled",E={readyState:0,getResponseHeader:function(e){var t;if(l){if(!a)for(a={};t=Lt.exec(o);)a[t[1].toLowerCase()+" "]=(a[t[1].toLowerCase()+" "]||[]).concat(t[2]);t=a[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return l?o:null},setRequestHeader:function(e,t){return null==l&&(e=T[e.toLowerCase()]=T[e.toLowerCase()]||e,b[e]=t),this},overrideMimeType:function(e){return null==l&&(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(l)E.always(e[E.status]);else for(t in e)x[t]=[x[t],e[t]];return this},abort:function(e){var t=e||C;return r&&r.abort(t),S(0,t),this}};if(y.promise(E),d.url=((t||d.url||bt.href)+"").replace(Ot,bt.protocol+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=(d.dataType||"*").toLowerCase().match(P)||[""],null==d.crossDomain){u=v.createElement("a");try{u.href=d.url,u.href=u.href,d.crossDomain=Mt.protocol+"//"+Mt.host!=u.protocol+"//"+u.host}catch(e){d.crossDomain=!0}}if(d.data&&d.processData&&"string"!=typeof d.data&&(d.data=w.param(d.data,d.traditional)),Wt(Ht,d,n,E),l)return E;for(f in(c=w.event&&d.global)&&0==w.active++&&w.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!qt.test(d.type),i=d.url.replace(jt,""),d.hasContent?d.data&&d.processData&&0===(d.contentType||"").indexOf("application/x-www-form-urlencoded")&&(d.data=d.data.replace(Nt,"+")):(p=d.url.slice(i.length),d.data&&(d.processData||"string"==typeof d.data)&&(i+=(Tt.test(i)?"&":"?")+d.data,delete d.data),!1===d.cache&&(i=i.replace(Dt,"$1"),p=(Tt.test(i)?"&":"?")+"_="+wt.guid+++p),d.url=i+p),d.ifModified&&(w.lastModified[i]&&E.setRequestHeader("If-Modified-Since",w.lastModified[i]),w.etag[i]&&E.setRequestHeader("If-None-Match",w.etag[i])),(d.data&&d.hasContent&&!1!==d.contentType||n.contentType)&&E.setRequestHeader("Content-Type",d.contentType),E.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Rt+"; q=0.01":""):d.accepts["*"]),d.headers)E.setRequestHeader(f,d.headers[f]);if(d.beforeSend&&(!1===d.beforeSend.call(h,E,d)||l))return E.abort();if(C="abort",m.add(d.complete),E.done(d.success),E.fail(d.error),r=Wt(Pt,d,n,E)){if(E.readyState=1,c&&g.trigger("ajaxSend",[E,d]),l)return E;d.async&&d.timeout>0&&(s=e.setTimeout((function(){E.abort("timeout")}),d.timeout));try{l=!1,r.send(b,S)}catch(e){if(l)throw e;S(-1,e)}}else S(-1,"No Transport");function S(t,n,a,u){var f,p,v,b,T,C=n;l||(l=!0,s&&e.clearTimeout(s),r=void 0,o=u||"",E.readyState=t>0?4:0,f=t>=200&&t<300||304===t,a&&(b=function(e,t,n){for(var r,i,o,a,s=e.contents,u=e.dataTypes;"*"===u[0];)u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(d,E,a)),!f&&w.inArray("script",d.dataTypes)>-1&&w.inArray("json",d.dataTypes)<0&&(d.converters["text script"]=function(){}),b=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];for(o=c.shift();o;)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e.throws)t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(d,b,E,f),f?(d.ifModified&&((T=E.getResponseHeader("Last-Modified"))&&(w.lastModified[i]=T),(T=E.getResponseHeader("etag"))&&(w.etag[i]=T)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=b.state,p=b.data,f=!(v=b.error))):(v=C,!t&&C||(C="error",t<0&&(t=0))),E.status=t,E.statusText=(n||C)+"",f?y.resolveWith(h,[p,C,E]):y.rejectWith(h,[E,C,v]),E.statusCode(x),x=void 0,c&&g.trigger(f?"ajaxSuccess":"ajaxError",[E,d,f?p:v]),m.fireWith(h,[E,C]),c&&(g.trigger("ajaxComplete",[E,d]),--w.active||w.event.trigger("ajaxStop")))}return E},getJSON:function(e,t,n){return w.get(e,t,n,"json")},getScript:function(e,t){return w.get(e,void 0,t,"script")}}),w.each(["get","post"],(function(e,t){w[t]=function(e,n,r,i){return h(n)&&(i=i||r,r=n,n=void 0),w.ajax(w.extend({url:e,type:t,dataType:i,data:n,success:r},w.isPlainObject(e)&&e))}})),w.ajaxPrefilter((function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")})),w._evalUrl=function(e,t,n){return w.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){w.globalEval(e,t,n)}})},w.fn.extend({wrapAll:function(e){var t;return this[0]&&(h(e)&&(e=e.call(this[0])),t=w(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map((function(){for(var e=this;e.firstElementChild;)e=e.firstElementChild;return e})).append(this)),this},wrapInner:function(e){return h(e)?this.each((function(t){w(this).wrapInner(e.call(this,t))})):this.each((function(){var t=w(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)}))},wrap:function(e){var t=h(e);return this.each((function(n){w(this).wrapAll(t?e.call(this,n):e)}))},unwrap:function(e){return this.parent(e).not("body").each((function(){w(this).replaceWith(this.childNodes)})),this}}),w.expr.pseudos.hidden=function(e){return!w.expr.pseudos.visible(e)},w.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},w.ajaxSettings.xhr=function(){try{return new e.XMLHttpRequest}catch(e){}};var Bt={0:200,1223:204},$t=w.ajaxSettings.xhr();d.cors=!!$t&&"withCredentials"in $t,d.ajax=$t=!!$t,w.ajaxTransport((function(t){var n,r;if(d.cors||$t&&!t.crossDomain)return{send:function(i,o){var a,s=t.xhr();if(s.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(a in t.xhrFields)s[a]=t.xhrFields[a];for(a in t.mimeType&&s.overrideMimeType&&s.overrideMimeType(t.mimeType),t.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest"),i)s.setRequestHeader(a,i[a]);n=function(e){return function(){n&&(n=r=s.onload=s.onerror=s.onabort=s.ontimeout=s.onreadystatechange=null,"abort"===e?s.abort():"error"===e?"number"!=typeof s.status?o(0,"error"):o(s.status,s.statusText):o(Bt[s.status]||s.status,s.statusText,"text"!==(s.responseType||"text")||"string"!=typeof s.responseText?{binary:s.response}:{text:s.responseText},s.getAllResponseHeaders()))}},s.onload=n(),r=s.onerror=s.ontimeout=n("error"),void 0!==s.onabort?s.onabort=r:s.onreadystatechange=function(){4===s.readyState&&e.setTimeout((function(){n&&r()}))},n=n("abort");try{s.send(t.hasContent&&t.data||null)}catch(e){if(n)throw e}},abort:function(){n&&n()}}})),w.ajaxPrefilter((function(e){e.crossDomain&&(e.contents.script=!1)})),w.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return w.globalEval(e),e}}}),w.ajaxPrefilter("script",(function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")})),w.ajaxTransport("script",(function(e){var t,n;if(e.crossDomain||e.scriptAttrs)return{send:function(r,i){t=w("<script>").attr(e.scriptAttrs||{}
vendor: 5,351 bytes, line 25
25).prop({charset:e.scriptCharset,src:e.url}).on("load error",n=function(e){t.remove(),n=null,e&&i("error"===e.type?404:200,e.type)}),v.head.appendChild(t[0])},abort:function(){n&&n()}}}));var _t,zt=[],Ut=/(=)\?(?=&|$)|\?\?/;w.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=zt.pop()||w.expando+"_"+wt.guid++;return this[e]=!0,e}}),w.ajaxPrefilter("json jsonp",(function(t,n,r){var i,o,a,s=!1!==t.jsonp&&(Ut.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&Ut.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=h(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(Ut,"$1"+i):!1!==t.jsonp&&(t.url+=(Tt.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||w.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always((function(){void 0===o?w(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,zt.push(i)),a&&h(o)&&o(a[0]),a=o=void 0})),"script"})),d.createHTMLDocument=((_t=v.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===_t.childNodes.length),w.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(d.createHTMLDocument?((r=(t=v.implementation.createHTMLDocument("")).createElement("base")).href=v.location.href,t.head.appendChild(r)):t=v),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=be([e],t,o),o&&o.length&&w(o).remove(),w.merge([],i.childNodes)));var r,i,o},w.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=ht(e.slice(s)),e=e.slice(0,s)),h(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&w.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done((function(e){o=arguments,a.html(r?w("<div>").append(w.parseHTML(e)).find(r):e)})).always(n&&function(e,t){a.each((function(){n.apply(this,o||[e.responseText,t,e])}))}),this},w.expr.pseudos.animated=function(e){return w.grep(w.timers,(function(t){return e===t.elem})).length},w.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=w.css(e,"position"),c=w(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=w.css(e,"top"),u=w.css(e,"left"),("absolute"===l||"fixed"===l)&&(o+u).indexOf("auto")>-1?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),h(t)&&(t=t.call(e,n,w.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},w.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each((function(t){w.offset.setOffset(this,e,t)}));var t,n,r=this[0];return r?r.getClientRects().length?(t=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:t.top+n.pageYOffset,left:t.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===w.css(r,"position"))t=r.getBoundingClientRect();else{for(t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;e&&(e===n.body||e===n.documentElement)&&"static"===w.css(e,"position");)e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=w(e).offset()).top+=w.css(e,"borderTopWidth",!0),i.left+=w.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-w.css(r,"marginTop",!0),left:t.left-i.left-w.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map((function(){for(var e=this.offsetParent;e&&"static"===w.css(e,"position");)e=e.offsetParent;return e||re}))}}),w.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},(function(e,t){var n="pageYOffset"===t;w.fn[e]=function(r){return $(this,(function(e,r,i){var o;if(g(e)?o=e:9===e.nodeType&&(o=e.defaultView),void 0===i)return o?o[t]:e[r];o?o.scrollTo(n?o.pageXOffset:i,n?i:o.pageYOffset):e[r]=i}),e,r,arguments.length)}})),w.each(["top","left"],(function(e,t){w.cssHooks[t]=$e(d.pixelPosition,(function(e,n){if(n)return n=Be(e,t),Me.test(n)?w(e).position()[t]+"px":n}))})),w.each({Height:"height",Width:"width"},(function(e,t){w.each({padding:"inner"+e,content:t,"":"outer"+e},(function(n,r){w.fn[r]=function(i,o){var a=arguments.length&&(n||"boolean"!=typeof i),s=n||(!0===i||!0===o?"margin":"border");return $(this,(function(t,n,i){var o;return g(t)?0===r.indexOf("outer")?t["inner"+e]:t.document.documentElement["client"+e]:9===t.nodeType?(o=t.documentElement,Math.max(t.body["scroll"+e],o["scroll"+e],t.body["offset"+e],o["offset"+e],o["client"+e])):void 0===i?w.css(t,n,s):w.style(t,n,i,s)}),t,a?i:void 0,a)}}))})),w.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],(function(e,t){w.fn[t]=function(e){return this.on(t,e)}})),w.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),w.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),(function(e,t){w.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}));var Xt=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;w.proxy=function(e,t){var n,r,o;
25if("string"==typeof t&&(n=e[t],t=e,e=n),h(e))return r=i.call(arguments,2),o=function(){return e.apply(t||this,r.concat(i.call(arguments)))},o.guid=e.guid=e.guid||w.guid++,o},w.holdReady=function(e){e?w.readyWait++:w.ready(!0)},w.isArray=Array.isArray,w.parseJSON=JSON.parse,w.nodeName=A,w.isFunction=h,w.isWindow=g,w.camelCase=X,w.type=x,w.now=Date.now,w.isNumeric=function(e){var t=w.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},w.trim=function(e){return null==e?"":(e+"").replace(Xt,"")},"function"==typeof define&&define.amd&&define("jQueryOT",[],(function(){return w}));var Vt=e.jQueryOT,Qt=e.$OT;return w.noConflict=function(t){return e.$OT===w&&(e.$OT=Qt),t&&e.jQueryOT===w&&(e.jQueryOT=Vt),w},void 0===t&&(e.jQueryOT=e.$OT=w),w}));const cstVersion=(new Date).getTime(),cstSelfTag=document.currentScript,cstSrcUrl=cstSelfTag&&cstSelfTag.src||"",variables=cstSrcUrl.split("/"),paths=cstSrcUrl.split("sites");function verifyScript(){const n=new URL(window.location.href),t=new URLSearchParams(n.search);let e={hasEmbedded:!1,hasGCM:!1};t.get("verify")&&(t.get("verify")===window.cstInstanceId?(e.hasEmbedded=!0,e.hasGCM=!!document.querySelector("#cst-gcm"),(window.opener||window!==window.top)&&(window.opener.postMessage(e,t.get("origin")),window.close())):(window.opener.postMessage({hasEmbedded:!1,hasGCM:!1},t.get("origin")),window.close()))}function createMainStyle(){const n=document.createElement("style");n.id="cst-main-style",n.textContent='#consentik-cookie * {\n box-sizing: border-box;\n font-family: var(--cst-font-family);\n font-size: var(--cst-text-size);\n}\ndiv[data-hook="consent-banner-revisit-settings-container"] {\n display: none\n}\n#consentik-cookie div#cst-banner-title {\n display: flex;\n gap: 10px;\n align-items: center;\n margin: 0 0 5px 0;\n font: var(--cst-font-family);\n}\n\n#consentik-cookie #cst-cookie-banner {\n display: none;\n background: var(--cst-banner-bgcolor);\n color: var(--cst-banner-textcolor);\n font-family: var(--cst-font-family);\n box-shadow: -7px 7px 12px -1px rgba(115, 115, 115, 0.3);\n -webkit-box-shadow: -7px 7px 12px -1px rgba(115, 115, 115, 0.3);\n border-radius: 5px;\n animation: cstFadeIn 200ms linear;\n}\n@keyframes cstFadeIn {\n from {\n opacity: 0;\n }\n to {\n opacity: 1;\n }\n}\n#consentik-cookie #cst-cookie-banner:has(.cst-close-icon) {\n padding-top: 30px;\n}\n#consentik-cookie #cst-cookie-banner.ot-large-width:has(.cst-close-icon) {\n padding-top: 10px;\n}\n#consentik-cookie p.cst-cookies-message-context {\n display: flex;\n align-items: flex-start;\n gap: 10px;\n margin-top: 0;\n}\n\n#consentik-cookie img#cst-banner-icon {\n width: 24px;\n height: auto;\n}\n#consentik-cookie a.cst-privacy-link {\n color: var(--cst-title-color-popup);\n text-decoration: underline;\n}\n#consentik-cookie div#cst-preferences-popup {\n position: fixed;\n color: var(--cst-banner-textcolor);\n background: var(--cst-banner-bgcolor);\n z-index: 10000;\n bottom: 0;\n width: 100%;\n display: flex;\n padding: 20px;\n font: var(--cst-font-family);\n font-size: var(--cst-text-size);\n box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n -webkit-box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n -moz-box-shadow: -9px -9px 10px -5px rgba(161, 161, 161, 0.39);\n animation: cstFadeIn 200ms linear;\n}\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar {\n width: 5px;\n }\n \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-track {\n background: #f1f1f134;\n }\n \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-thumb {\n background: rgba(170, 172, 170, 0.199);\n border-radius: 5px;\n }\n \n\n#consentik-cookie div#cst-preferences-popup::-webkit-scrollbar-thumb:hover {\n background: rgba(122, 122, 122, 0.247);\n }\n\n#consentik-cookie .cst-preferences-body {\n max-height: 50vh;\n overflow-y: auto;\n scrollbar-width: thin;\n scrollbar-color: var(--cst-banner-textcolor-fade) transparent;\n}\n\n#consentik-cookie .cst-preferences-body::-webkit-scrollbar {\n width: 5px;\n}\n\n#consentik-cookie .cst-preferences-body::-webkit-scrollbar-track {\n background: #ffffff57;\n}\n\n .cst-reopener-wrapper {\n z-index: 99999999 !important;\n position: fixed;\n display: none;\n }\n \n \n .cst-position-bottom-right.cst-reopener-icon {\n bottom: var(--cst-ro-btn-vtc-margin);\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n top: unset;\n }\n \n .cst-position-top-right.cst-reopener-icon {\n top: var(--cst-ro-btn-vtc-margin);\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n bottom: unset;\n }\n \n .cst-position-top-left.cst-reopener-icon {\n top: var(--cst-ro-btn-vtc-margin);\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n bottom: unset;\n }\n \n .cst-position-bottom-left.cst-reopener-icon {\n bottom: var(--cst-ro-btn-vtc-margin);\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n top: unset;\n }\n \n \n .cst-position-bottom-right.cst-reopener-text {\n bottom: 5px;\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n top: unset;\n \n }\n \n .cst-position-top-right.cst-reopener-text {\n top: 5px;\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n bottom: unset;\n }\n \n .cst-position-top-left.cst-reopener-text {\n top: 5px;\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n bottom: unset;\n \n }\n \n \n .cst-position-bottom-left.cst-reopener-text {\n bottom: 5px;\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n top: unset;\n }\n \n .cst-position-bottom-left .cst-cookie-btn-text,\n .cst-position-bottom-right .cst-cookie-btn-text {\n border-radius: 8px 8px 0 0;\n }\n \n .cst-position-top-left .cst-cookie-btn-text,\n .cst-position-top-right .cst-cookie-btn-text {\n border-radius: 0 0 8px 8px;\n }\n \n img.cst-cookie-btn-icon.cst-reopen-trigger {\n max-width: 40px;\n height: auto;\n cursor: pointer;\n }\n \n .cst-reopen-trigger:hover {\n opacity: 0.9;\n }\n span.cst-cookie-btn-text.cst-reopen-trigger {\n background: var(--cst-ro-btn-bg);\n color: var(--cst-ro-btn-color);\n padding: 10px;\n cursor: pointer;\n font-size: var(--cst-text-size);\n }\n \n\n#consentik-cookie .cst-popup-title {\n display: flex;\n gap: 10px;
25\n align-items: center;\n}\n#consentik-cookie p.cst-popup-title-text {\n font: var(--cst-font-family); \n font-size: 16px;\n \n}\n#consentik-cookie p.cst-popup-message {\n padding: 10px 10px 10px 0;\n margin: 0;\n}\n#consentik-cookie .cst-category-wrapper {\n display: flex;\n flex-direction: column;\n padding: 4px 0;\n margin-right: 20px;\n transition: all 0.3s;\n}\n\n\n#consentik-cookie .cst-category-title-trigger {\n display: flex;\n justify-content: space-between;\n width: 100%;\n align-items: center;\n cursor: pointer;\n}\n#consentik-cookie .cst-category-title-trigger:hover {\n opacity: 0.9;\n background: var(--cst-banner-textcolor-overlay);\n border-radius: 5px;\n}\n#consentik-cookie .cst-category-button {\n display: flex;\n align-items: center;\n}\n#consentik-cookie .cst-category-trigger {\n font-size: 12px;\n text-decoration: underline;\n cursor: pointer;\n}\n#consentik-cookie .cst-category-trigger:hover {\n opacity: 0.85;\n}\n#consentik-cookie #cst-category-details, #consentik-cookie .cst-cookies-detail-list {\n display: none;\n}\n#consentik-cookie img.cst-popup-title-icon {\n width: 24px;\n height: auto;\n}\n#consentik-cookie .cst-preferences-header {\n display: flex;\n justify-content: space-between;\n}\n\n#consentik-cookie button.cst-cookies-btn.cst-selected-btn {\n background: var(--cst-preferences-bgcolor);\n color: var(--cst-preferences-textcolor);\n}\n#consentik-cookie button.cst-cookies-btn.cst-all-btn {\n background: var(--cst-submit-bgcolor);\n color: var(--cst-submit-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-decline,\n#consentik-cookie #cst-cookies-decline-popup {\n background: var(--cst-dismiss-bgcolor);\n color: var(--cst-dismiss-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-preferences{\n background: var(--cst-preferences-bgcolor);\n color: var(--cst-preferences-textcolor);\n}\n#consentik-cookie .cst-btn-group #cst-cookies-submit {\n background: var(--cst-submit-bgcolor);\n color: var(--cst-submit-textcolor);\n}\n#consentik-cookie span.cst-ot-cookie:hover {\n opacity: 0.9;\n}\n\n#consentik-cookie button.cst-cookies-btn {\n padding: 8px 16px;\n cursor: pointer;\n transition: opacity 0.2s;\n font-size: var(--cst-text-size) !important;\n min-width: 100px;\n border-radius: 8px;\n font-weight: 700;\n font-family: var(--cst-font-family);\n border: 0;\n}\n#consentik-cookie button.cst-cookies-btn:hover {\n opacity: 0.9;\n}\n#consentik-cookie .cst-group-buttons {\n display: flex;\n gap: 15px;\n align-items: center;\n justify-content: flex-end;\n margin-right: 20px;\n padding-top: 10px;\n}\n#consentik-cookie .cst-category-details {\n display: none;\n}\n#consentik-cookie .cst-close-icon,\n#consentik-cookie .cst-close-icon-popup {\n cursor: pointer;\n color: var(--cst-banner-text-color);\n position: absolute;\n right: 10px;\n top: 5px;\n background: none;\n border: none;\n padding: 0;\n line-height: 1;\n}\n#consentik-cookie svg.cst-arrow {\n stroke: var(--cst-banner-textcolor);\n}\n\n#consentik-cookie .cst-category-title[aria-expanded="true"] svg.cst-arrow {\n transform: rotate(90deg);\n}\nul.cst-cookies-detail-list {\n margin: 5px 0;\n background: var(--cst-banner-textcolor-overlay);\n padding: 10px;\n }\n \n li.cst-cookie-detail-item {\n list-style-type: none;\n padding-bottom: 5px;\n border-bottom: 1px solid var(--cst-banner-textcolor-fade);\n }\n\nli.cst-cookie-detail-item:last-child {\n border-bottom: none;\n}\n \n li.cst-cookie-detail-item dl {\n display: inline-flex;\n flex-wrap: wrap;\n margin: 0;\n }\n \n li.cst-cookie-detail-item dt {\n border: 0;\n clear: both;\n display: block;\n flex: 0 1 30%;\n font-size: var(--cst-text-size);\n font-weight: 500;\n line-height: 1.375;\n margin: 0 0 5px;\n padding: 0;\n max-width: 200px;\n }\n li.cst-cookie-detail-item dd {\n flex: 0 1 70%;\n border: 0;\n clear: both;\n display: block;\n font-size: var(--cst-text-size);\n font-weight: 500;\n line-height: 1.375;\n margin: 0 0 0.5em;\n padding: 0;\n }
25\n.cst-category-switch .cst-input-switch {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\ninput.cst-input-switch:focus-visible + label.cst-category-label {\n outline: 2px solid var(--cst-banner-textcolor);\n outline-offset: 2px;\n}\n#consentik-cookie button:focus-visible,\n#consentik-cookie [role="button"]:focus-visible {\n outline: 2px solid var(--cst-banner-textcolor);\n outline-offset: 2px;\n}\n.cst-category-switch input.cst-input-switch[checked=checked]+label:after,\n.cst-category-switch input.cst-input-switch[checked=true]+label:after {\n left: calc(100% - 3px);\n transform: translateX(-100%);\n}\n\n.cst-category-switch label.cst-category-label:after {\n content: "";\n position: absolute;\n top: 3px;\n left: 3px;\n width: 11px;\n height: 11px;\n background: var(--cst-banner-bgcolor);\n border-radius: 3px;\n transition: all .1s;\n}\n\n.cst-category-switch label.cst-category-label:active:after {\n width: 26px;\n}\n\nlabel.cst-category-label {\n width: 30px;\n position: relative;\n display: block;\n height: 17px;\n background: var(--cst-banner-textcolor-fade);\n border-radius: 5px;\n cursor: pointer;\n}\ninput.cst-input-switch[checked="true"] ~ .cst-category-label,\ninput.cst-input-switch[checked="checked"] ~ .cst-category-label {\n background: var(--cst-banner-textcolor);\n}\n.cst-category-title {\n display: flex;\n align-items: center;\n gap: 5px;\n width: 100%;\n height: 100%;\n padding: 4px 0;\n font: var(--cst-font-family) !important;\n font-weight: bold !important;\n font-size: var(--cst-text-size) !important;\n}\n\n@media(max-width: 767px) {\n #consentik-cookie p.cst-popup-message {\n padding: 10px 0;\n }\n #consentik-cookie .cst-preferences-header {\n justify-content: space-between;\n flex-direction: column-reverse;\n gap: 10px;\n }\n #consentik-cookie .cst-group-buttons {\n display: flex;\n gap: 5px;\n align-items: stretch;\n justify-content: space-around;\n margin-right: unset;\n }\n #consentik-cookie .cst-group-buttons button {\n flex: 1;\n }\n #consentik-cookie div#cst-preferences-popup {\n max-height: 90vh;\n overflow: auto;\n padding: 15px;\n }\n #consentik-cookie button.cst-cookies-btn{\n min-width: unset;\n padding: 6px 16px;\n }\n #consentik-cookie div#cst-preferences-popup:has(.cst-close-icon-popup) {\n padding-top: 30px;\n }\n #consentik-cookie p.cst-cookies-message-context {\n gap: 5px;\n flex-direction: column;\n align-items: center;\n }\n}\n@media (max-width: 576px) {\n #consentik-cookie .cst-group-buttons {\n flex-wrap: wrap;\n flex-direction: column;\n }\n}\n\n#consentik-cookie .cst-powered-by {\n flex-basis: 100%;\n width: 100%;\n margin-top: 10px;\n text-align: center;\n font-size: calc(var(--cst-text-size) - 2px) !important;\n font-weight: 400 !important;\n line-height: 1.4 !important;\n color: var(--cst-banner-textcolor-fade) !important;\n}\n#consentik-cookie .cst-powered-by a {\n font-size: inherit !important;\n font-weight: 700 !important;\n color: var(--cst-banner-textcolor-fade) !important;\n text-decoration: underline;\n}',document.body?document.body.appendChild(n):document.addEventListener("DOMContentLoaded",()=>{document.body.appendChild(n)})}function cstAddPSLScript(){const n=document.createElement("script");n.type="module",n.textContent='import psl from "https://cdn.jsdelivr.net/npm/psl@latest/dist/psl.mjs";window.cstPsl = psl;',document.head.appendChild(n)}window.cstSiteId=window.cstSiteId||variables[variables.length-2],window.cstInstanceId=window.cstInstanceId||variables[variables.length-3],window.cstRootLink=window.cstRootLink||paths[0]||"",createMainStyle(),cstAddPSLScript(),function(){const n=new URLSearchParams(window.location.search);if(window.gcmDebuggerMode=n.has("gcm-debugger"),n.has("gcm-debugger")){const n=(window.cstRootLink||"").replace(/\/$/,""),t=document.createElement("script");t.src=n+"/extensions/functions/gcm-debugger-unmin.js?v="+cstVersion;const e=document.createElement("link");e.href=n+"/extensions/styles/gcm-debugger.css?v="+cstVersion,e.rel="stylesheet",e.type="text/css",document.head.appendChild(e);setTimeout(()=>{document.body?document.body.appendChild(t):document.addEventListener("DOMContentLoaded",()=>{document.body.appendChild(t)})},500)}}(),window.cstVerifyGCMRealTime=function(){const n=new URL(window.location.href),t=new URLSearchParams(n.search),e=t.get("origin"),o=t.get("gcm-debugger"),i=window.cstInstanceId;if(!o)return;if(o!==i)return void window.opener.postMessage({dataLayer:[],message:"Instance ID n
25ot matched"},e);if(!e||!window.opener&&window===window.top)return;!function(n="ð¢ GCM DEBUG]"){const t=document.title;let e=!1;const o=setInterval(()=>{document.title=e?t:n,e=!e},2e3)}("ð¢ GCM DEBUG"),window.dataLayer=window.dataLayer||[];const c=n=>{try{return JSON.parse(JSON.stringify(n))}catch(n){return console.log("ERROR",n),null}};const s=async(n=[])=>{const t=document.documentElement.innerHTML,e=!!document.querySelector("#cst-gcm"),o=[...t.match(/G-[A-Z0-9]{10}/g)||[],...t.match(/GTM-[A-Z0-9]+/g)||[],...t.match(/UA-[0-9]{4,10}-[0-9]+/g)||[]],i=void 0!==window.Shopify,c=window.Shopify?.customerPrivacy,s=i&&"function"==typeof c?.getTrackingConsent&&"function"==typeof c?.setTrackingConsent,r=window.cstAppData?.tcf?.config?.active,a=r&&"undefined"!=typeof __tcfapi,p=await new Promise(n=>{"undefined"==typeof __tcfapi&&n(!1),__tcfapi("getTCData",2,t=>{const e="tcloaded"===t.eventStatus;n(e)})}),d=n.some(n=>"consent"===n[0]&&"default"===n[1]),l=n.find(n=>"consent"===n[0]&&"default"===n[1]),g=l?.[2],b=window.otkConsent&&Object.fromEntries(Object.entries(window.otkConsent).filter(([n])=>g?.hasOwnProperty(n)).map(([n,t])=>[n,"boolean"==typeof t?t?"granted":"denied":t])),u=l&&b&&Object.entries(b).every(([n,t])=>g?.[n]===t),m=performance.getEntriesByType("resource").filter(n=>"script"===n.initiatorType),f=m.find(n=>n.name.includes(window.cstInstanceId+"/"+window.cstSiteId+"/index.js")),k=m.find(n=>
25n.name.includes("gtag/js")),x=m.find(n=>n.name.includes("gtm.js")),h=m.find(n=>n.name.includes("adsbygoogle.js")),w=f&&(!k||f?.startTime<(k?.startTime??1/0))&&f?.startTime<(x?.startTime??1/0)&&f?.startTime<(h?.startTime??1/0);return{tagIds:Array.from(new Set(o)),hasGCM:e,defFired:d,defValid:u,cmpFirst:w,hasTCFApi:a,hasTCFValid:p,spaPrivacy:s,showTCF:r,isSPA:i,hasEmbedded:!0,pageTitle:document.title}};(async()=>{const n=window.dataLayer.map(c).filter(Boolean),t=await s(n);return window.opener.postMessage({...t,dataLayer:n,message:"dataLayer snapshot"},e),t})().then(n=>{console.log("GCM CHECK")}),window.addEventListener("beforeunload",function(n){window.opener.postMessage({message:"dataLayer reload",status:"reload"},e)});const r=window.dataLayer.push;window.dataLayer.push=async function(...n){const t=r.apply(this,n),o=n.map(c).filter(Boolean),i=window.dataLayer.map(c).filter(Boolean),a=await s(i);return window.opener.postMessage({...a,dataLayer:i,newData:o,message:"dataLayer updated"},e),t}},setTimeout(()=>{window.cstVerifyGCMRealTime()},1e3),verifyScript();console.warn("DEBUG LOG"),window.cstMainId="consentik-cookie",window.cstCookieName="_consentik_cookie";const CST_SELECTOR={banner:"#"+window.cstMainId+" #cst-cookie-banner",popup:"#"+window.cstMainId+" #cst-preferences-popup",overlay:"#"+window.cstMainId+" #cst-overlay",blockOverlay:"#"+window.cstMainId+" .cst-block-overlay",corner:"#"+window.cstMainId+" .cst-corner",opener:"#"+window.cstMainId+" .cst-reopener-wrapper"},SUBMIT_TYPE={SHOW:"show",DECLINE:"decline",ACCEPT_PARTIAL:"acceptPartial",ACCEPT_ALL:"acceptAll"};window.hostname=window.location.hostname,window.gtmConsentCallback=function(){},window.gtmInitConsentCallback=function(){},window.gtmConsentikCMP=function(t,e){window.gtmConsentCallback=t,"function"==typeof e&&(window.gtmInitConsentCallback=e)};const otEuCountries=["BE","BG","CZ","DK","DE","EE","IE","GR","ES","FR","HR","IT","CY","LV","LT","LU","HU","MT","NL","AT","PL","PT","RO","SI","SK","FI","SE","UK","GB","IS","LI","NO","CH","ME","MK","AL","RS","TR","BA","AM","AZ","BY","MD","GE","UA"],EU="eu",CALIFORNIA="california",COLORADO="colorado",JAPAN="japan",BRAZIL="brazil",SINGAPORE="singapore",CONSENT_KEY={ESSENTIAL:"essential",FUNCTIONAL:"functional",ADVERTISING:"advertising",ANALYTICS:"analytics"},cstHelpers={cookieName:"_consentik_cookie",consentName:"consent-policy",consentTcf:"consentik_tcf",consentGoogleAtp:"consentik_ac_string",consentGcm:"_consentik_gcm",setStorage(t,e){window.localStorage.setItem(t,e)},getStorage:t=>window.localStorage.getItem(t),deleteStorage(t){window.localStorage.removeItem(t)},getCookie(t){let e=document.cookie.match("(^|;) ?"+t+"=([^;]*)(;|$)");return e?e[2]:null},waitForShopify:(t=4e3,e=150)=>new Promise(n=>{if(window.Shopify)return void n(!0);const s=Date.now(),o=setInterval(()=>{window.Shopify?(clearInterval(o),n(!0)):Date.now()-s>=t&&(clearInterval(o),n(!1))},e)}),async initShopifyCustomerPrivacy(){if(!window.Shopify){if(!await this.waitForShopify())return}"function"==typeof window.Shopify.loadFeatures&&window.Shopify.loadFeatures([{name:"consent-tracking-api",version:"0.1"}],t=>{t?console.warn("Consentik: consent-tracking-api load failed",t):(window.__cstCPReady=!0,window.__cstPendingTrackingConsent&&window.Shopify.customerPrivacy&&(window.Shopify.customerPrivacy.setTrackingConsent(window.__cstPendingTrackingConsent,()=>{}),window.__cstPendingTrackingConsent=null))})},async applyShopifyTrackingConsent(t){if(!window.Shopify){if(!await this.waitForShopify())return}const e=window.Shopify.customerPrivacy;e&&"function"==typeof e.setTrackingConsent?e.setTrackingConsent(t,()=>{}):"function"==typeof window.Shopify.loadFeatures&&(window.__cstPendingTrackingConsent=t,this.initShopifyCustomerPrivacy())},deleteCookie(t,e="/"){let n=t+`=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=${e}`;const s=cstHelpers.getCookieDomain();s&&(n+=`; domain=${s}`),document.cookie=n},getCookieDomain(){const t=window.location.hostname;if("localhost"===t||/^[\d.]+$/.test(t))return null;const e=window.cstPsl?.parse(t);return e?.domain?(e.domain,"."+e.domain):null}
25,setCookie(t,e,n=null,s="/"){"string"!=typeof e&&(e=JSON.stringify(e));let o=window.CSTSettings?.cookieLifeTime??30;n&&(o=n);const i=new Date;i.setTime(i.getTime()+864e5*o);let a=`${t}=${e}; expires=${i.toUTCString()}; path=${s}`;const r=cstHelpers.getCookieDomain();r&&(a+=`; domain=${r}`),document.cookie=a},getBannerElement(t){const e={privacyWrapper:"",googlePrivacyWrapper:"",preferencesBtn:"",dismissBtn:"",dismissBtnPopup:"",logo:"",titleBanner:""},{privacyLink:n,privacyLinkText:s,googlePrivacyLink:o,googlePrivacyText:i,title:a,declineText:r,preferenceText:c,showPreference:d,showIcon:l,showDecline:p}=t;return l&&(e.logo=`<img id="cst-banner-icon" style='display="none";width=0' src="${t.iconUrl}" alt="logo" />`),e.privacyWrapper=n?`<span class="cst-privacy-wrapper"><a target="_blank" class="cst-privacy-link" href="${n}">${s}</a></span>`:"",e.googlePrivacyWrapper=o?`<span class="cst-google-privacy-wrapper"><a target="_blank" class="cst-privacy-link" href="${o}">${i}</a></span>`:"",e.titleBanner=a?`<div id="cst-banner-title">${e.logo}<h2>${a}</h2></div>`:"",1==d&&(e.preferencesBtn=`<button id='cst-cookies-preferences' role="button" class='cst-cookies-btn'>${c}</button>`),"1"==p&&(e.dismissBtn=`<button id="cst-cookies-decline" class='cst-cookies-btn' >${r}</button>`),e},getPopupElement(t){const{titlePopup:e,showIcon:n,acceptSelectText:s,acceptAllText:o,messagePopup:i,titlePreference:a,showDeclinePopup:r,declineText:c}=t,d={titlePopup:"",messPopup:"",icon:"",acceptSelected:"",acceptAll:"",preferencesTitle:"",decline:""};return d.icon=1==n?`<img class="cst-popup-title-icon" src="${t.iconUrl}" alt="logo" />`:"",d.decline=1==r?`<button id="cst-cookies-decline-popup" class='cst-cookies-btn' >${c}</button>`:"",d.titlePopup=d.icon?`<div class="cst-popup-title">${d.icon}<h2 id="cst-popup-title-text" class="cst-popup-title-text">${e}</h2></div>`:`<h2 id="cst-popup-title-text" class="cst-popup-title-text">${e}</h2>`,d.messPopup=i?`<p class="cst-popup-message">${i}</p>`:"",d.preferencesTitle=a?`<h3 class="cst-popup-title">${a}</h3>`:"",d.acceptSelected=s?`<button class='cst-cookies-btn cst-selected-btn'>${s}</button>`:"",d.acceptAll=o?`<button class='cst-cookies-btn cst-all-btn'>${o}</button>`:"",d},getBannerLayout(t){const e={top:!1,bottom:!1,left:!1,right:!1,type:"full"},n=t.layout.split("_"),s=n[0].toLowerCase(),o=n[1]?.toLowerCase()??"",i=n[2]?.toLowerCase()??"";return e.type=s,o&&(e[o]=!0),i&&(e[i]=!0),e},addRootCSS(t){if(t&&t.textColor){const{textColor:e,bgColor:n,textSize:s,popupWidth:o,submitColor:i,submitBgColor:a,declineColor:r,declineBgColor:c,preferenceTextColor:d,preferenceBgColor:l,fontName:p}=t,u=`\n <style id="cst-root-css">\n :root {\n --cst-title-color-popup: ${e};\n --cst-banner-bgcolor: ${n};\n --cst-banner-bgcolor-popup:${n};\n --cst-banner-textcolor: ${e};\n --cst-banner-textcolor-fade: ${e+cstHelpers.opacityToHex(.5)};\n --cst-banner-textcolor-overlay: ${e+cstHelpers.opacityToHex(.06)};\n --cst-text-size: ${s}px;\n --cst-popup-width: ${o};\n --cst-submit-textcolor: ${i};\n --cst-submit-bgcolor: ${a};\n --cst-dismiss-textcolor: ${r};\n --cst-dismiss-bgcolor: ${c};\n --cst-preferences-textcolor: ${d};\n --cst-preferences-bgcolor: ${l};\n --cst-font-family: ${p?`"${p}",`:""}Arial,Helvetica,san-serif;\n }\n </style>`;$OT("head").append(u)}},async otGetUserInfo(){const t=cstHelpers.getStorage("cst_cached");if(t)return JSON.parse(t);const e=await this.otFetchGeoData(),n=this.otGetBrowserName(),s=this.otGetDeviceInfo(),o={loc:e.loc,ip:e.ip,region:e.region,browser:n,device:s};return cstHelpers.setStorage("cst_cached",JSON.stringify(o)),o},otGetBrowserName(){const t=navigator.userAgent;switch(!0){case/MSIE|Trident/.test(t):return"Internet Explorer";case/Edge/.test(t):return"Edge";case/Chrome/.test(t):return"Chrome";case/Safari/.test(t):return"Safari";case/Firefox/.test(t):return"Firefox";case/Opera|OPR/.test(t):return"Opera";default:return"Unknown"}},otGetDeviceInfo(){const t=navigator.userAgent;return/Mobi|Android|iPhone/.test(t)?"m":/iPad|Tablet/.test(t)?"t":"d"},async otFetchGeoData(){try{const t=await fetch("https://get.geojs.io/v1/ip/geo.json"),e=await t.json();return{loc:e.country_code,ip:e.ip,region:e.region}}catch(t){console.error({error:t})}},async otFetchIPForData(){try{const t=await fetch("https://www.cloudflare.com/cdn-cgi/trace"),e=(await t.text()).trim().split("\n").reduce((t,e)=>{const[n,s]=e.split("=");return t[n]=s,t},{});return{loc:e.loc,ip:e.ip}}catch(t){return this.otFetchGeoData()}},otHandleSpecificRegions(t){switch(t){case"0":return[EU];case"1":return[CALIFORNIA];case"2":return[EU,CALIFORNIA];default:return"string"==typeof t?JSON.parse(t)||[]:t||[]}},isRegionEnabled(t,e){switch(t){case EU:return otEuCountries.includes(e.loc);case CALIFORNIA:return"California"===e.region;case COLORADO:return"Colorado"===e.region;case JAPAN:return"JP"===e.loc;case BRAZIL:return"BR"===e.loc;case SINGAPORE:return"SG"===e.loc;default:return!1}},async checkCountryAppEnabled(t){try{const e=window.cstUserInfo||await this.otFetchIPForData();return this.otHandleSpecificRegions(t).some(t=>this.isRegionEnabled(t,e))}catch(t){throw new Error("Error checking if country app is enabled:",t)}},async otCheckCustomerRegion(t,e){return window.cstUserInfo=window.cstUserInfo||await this.otFetchGeoData(),!1!==t||await this.checkCountryAppEnabled(e)},hexToRgba(t,e){if(!t)return"";t=t.replace(/^#/,"");return`rgba(${parseInt(t.slice(0,2),16)}, ${parseInt(t.slice(2,4),16)}, ${parseInt(t.slice(4,6),16)}, ${e||.3})`},opacityToHex(t){if(!t)return"";let e=t;e<0?e=0:e>1&&(e=1);return Math.round(255*e).toString(16).padStart(2,"0").toUpperCase()},loadCSS(t,e){const n=`${t}`,s=document.createElement("style");s.id=e,s.textContent=n,document.head.appendChild(s)}};function showGCMDebugMode(){if(window.gcmDebuggerMode){if(!window.dataLayer)return;const t=window.dataLayer.filter(t=>"consent"===t[0]).map(t=>{const e=t[2]?t[2]:"Empty";return Object.assign({key:t[1]?t[1]:"unknow"},e)});return console.log("â
Google consent debug mode enabled"),void console.table(t)}console.log("â Google consent debug mode disabled")}window.cstInstanceId&&($OT=jQueryOT.noConflict(),$OT(document).ready(function(){new ConsentikCookieBanner(cstInstanceId,cstSiteId)}));class ConsentikCookieBanner{constructor(t,e){this.bannerId="cst-cookie-banner",this.instanceId=t,this.siteId=e,this.appData={},this.init()}init(){this.getAppData()}async getAppData(){const t=window.cstRootLink+"/sites/"+this.instanceId+"/"+this.siteId+"/index.json";try{const e=await fetch(t).then(t=>t.json()).then(t=>t);if(e){window.cstAppData=e,window.cstCategories=e.categories?.sort((t,e)=>t.id-e.id),window.cstCookies=e.cookies,this.appData=e;const{appEnable:t,showAllRegions:n,showSpecificRegion:s}=e.settings,o=t&&await cstHelpers.otCheckCustomerRegion(n,s);if(!t)return;if(cstHelpers.initShopifyCustomerPrivacy(),!o)return void(cstHelpers.getCookie(cstHelpers.cookieName)||cstHelpers.applyShopifyTrackingConsent({analytics:!0,marketing:!0,preferences:!0,sale_of_data:!0}));showGCMDebugMode(),window.cstVerifyGCMRealTime(),this.bannerInit()}}catch(t){console.log(t)}}bannerInit(){if(window.CSTSettings=this.appData.settings,this.appData.tcf?.config?.active)return cstHelpers.loadCSS(":root {\n --cst-space-sm: 8px;\n --cst-space-md: 16px;\n --cst-space-lg: 24px;\n --cst-width-large: 768px;\n --cst-font-size: 14px;\n --cst-bgcolor: #ffffff;\n --cst-bgcolor-opacity: rgba(51, 51, 51, 0.1);\n --cst-textcolor: #333333;\n --cst-highlight-color: #005B2A;\n --cst-font-family: inherit;\n}\n\n/* Screen-reader-only utility â element hidden visually but announced by AT */\n.ot-cookies-wrapper .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0,0,0,0);\n white-space: nowrap;\n border: 0;\n}\n\n.ot-cookies-wrapper * {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n border-width: 0;\n border-style: solid;\n font-size: inherit;\n color: inherit;\n font-family: var(--cst-font-family);\n}\n\n.ot-cookies-wrapper {\n font-size: var(--cst-font-size);\n line-height: 1.6;\n color: var(--cst-textcolor);\n}\n\n.ot-cookies-wrapper h1,\n.ot-cookies-wrapper h2,\n.ot-cookies-wrapper h3,\n.ot-cookies-wrapper h4,\n.ot-cookies-wrapper h5,\n.ot-cookies-wrapper h6 {\n font-weight: 600;\n}\n\n.cst-reopener-wrapper {\n z-index: 99999999 !important;\n position: fixed;\n}\n\n.cst-position-bottom-right.cst-reopener-icon {\n bottom: var(--cst-ro-btn-vtc-margin);\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n top: unset;\n}\n\n.cst-position-top-right.cst-reopener-icon {\n top: var(--cst-ro-btn-vtc-margin);\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n bottom: unset;\n}\n\n.cst-position-top-left.cst-reopener-icon {\n top: var(--cst-ro-btn-vtc-margin);\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n bottom: unset;\n}\n\n.cst-position-bottom-left.cst-reopener-icon {\n bottom: var(--cst-ro-btn-vtc-margin);\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n top: unset;\n}\n\n.cst-position-bottom-right.cst-reopener-text {\n bottom: 0;\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n top: unset;\n\n}\n\n.cst-position-top-right.cst-reopener-text {\n top: 0;\n right: var(--cst-ro-btn-hrz-margin);\n left: unset;\n bottom: unset;\n}\n\n.cst-position-top-left.cst-reopener-text {\n top: 0;\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n bottom: unset;\n\n}\n\n.cst-position-bottom-left.cst-reopener-text {\n bottom: 0;\n left: var(--cst-ro-btn-hrz-margin);\n right: unset;\n top: unset;\n}\n\n.cst-position-bottom-left .cst-cookie-btn-text,\n.cst-position-bottom-right .cst-cookie-btn-text {\n border-radius: 8px 8px 0 0;\n}\n\n.cst-position-top-left .cst-cookie-btn-text,\n.cst-position-top-right .cst-cookie-btn-text {\n border-radius: 0 0 8px 8px;\n}\n\nspan.cst-cookie-btn-text.cst-reopen-trigger {\n background: var(--cst-ro-btn-bg);\n color: var(--cst-ro-btn-color);\n padding: 10px;\n cursor: pointer;\n font-size: var(--cst-font-size);\n}\n\nimg.cst-cookie-btn-icon.cst-reopen-trigger {\n max-width: 40px;\n height: auto;\n cursor: pointer;\n}\n\n.cst-reopen-trigger:hover {\n opacity: 0.9;\n}\n\n.cst-cookie-btn-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n.cst-tcf-layout {\n position: fixed;\n width: 100%;\n bottom: 0;\n left: 0;\n right: 0;\n height: fit-content;\n padding: var(--cst-space-lg) var(--cst-space-lg) var(--cst-space-md);\n background-color: var(--cst-bgcolor);\n box-shadow: 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 #0000, 0 0 15px rgba(0, 0, 0, 0.35);\n flex-direction: column;\n justify-content: space-between;\n gap: var(--cst-space-sm);\n animation: cstFadeIn .25s ease-in-out;\n pointer-events: auto;\n z-index: 9999;\n}\n\n.cst-tcf-layout.center {\n display: none;\n top: 50%;\n bottom: unset;\n left: 50%;\n right: unset;\n max-width: var(--cst-width-large);\n transform: translate(-50%, -50%);\n border-radius: var(--cst-space-sm);\n}\n\n.cst-tcf-tab {\n display: flex;\n flex-direction: column;\n gap: var(--cst-space-sm);\n width: 100%;\n}\n\n.ot-cookies-close {\n position: absolute;\n top: 0;\n right: var(--cst-space-sm);\n cursor: pointer;\n user-select: none;\n padding: var(--cst-space-sm);\n /* Reset button styles for the close button */\n background: none;\n border: none;\n display: flex;\n align-items: center;\n justify-content: center;\n min-width: 36px;\n min-height: 36px;\n border-radius: 4px;\n}\n\n.cst-tcf-layout button {\n display: flex;\n align-items: center;\n justify-content: center;
25\n cursor: pointer;\n background-color: transparent;\n background-image: none;\n text-transform: none;\n font-family: inherit;\n line-height: inherit;\n}\n\n.cst-tcf-layout button.ot-cookies-button {\n white-space: nowrap;\n font-weight: 700;\n text-transform: none;\n opacity: 1;\n padding: var(--cst-space-sm) var(--cst-space-md);\n border-radius: 4px;\n min-width: -moz-fit-content;\n min-width: fit-content;\n background: transparent;\n color: var(--cst-highlight-color);\n border: 2px solid var(--cst-highlight-color);\n}\n\n.cst-tcf-layout button.ot-cookies-button:not(:disabled):hover, .ot-cookies-close:hover {\n opacity: .8;\n}\n\n.cst-tcf-layout button.ot-cookies-button[data-intent=allow],\n.cst-tcf-layout button.ot-cookies-button[data-intent=deny] {\n background-color: var(--cst-highlight-color);\n color: var(--cst-bgcolor);\n}\n\n.cst-tcf-layout a, .cst-tcf-layout button[role=link]:not(.ot-cookies-button) {\n -webkit-user-select: none;\n -moz-user-select: none;\n user-select: none;\n color: var(--cst-highlight-color);\n text-decoration: underline var(--cst-highlight-color) solid .075em;\n text-underline-offset: 2px;\n}\n\n.cst-tcf-layout a:hover,\n.cst-tcf-layout button[role=link]:not(.ot-cookies-button):hover {\n opacity: 0.8;\n}\n\n.ot-cookies-wrapper .content-banner {\n overflow-y: auto;\n max-height: 50vh;\n}\n\n.cst-tcf-content, .ot-content-info {\n display: flex;\n flex-direction: column;\n align-items: start;\n gap: var(--cst-space-md);\n}\n\n.cst-tcf-layout.center .cst-tcf-content,\n.cst-tcf-layout.center .ot-content-info {\n gap: max(0.5* var(--cst-space-sm));\n}\n\n.ot-cookies-links {\n display: flex;\n flex-wrap: wrap;\n gap: var(--cst-space-sm) var(--cst-space-md);\n}\n\n/* WCAG 2.4.7 Focus Visible â allow default focus ring on all focusable elements */\n.ot-cookies-wrapper a:focus-visible,\n.ot-cookies-wrapper button:focus-visible,\n.cst-tcf-layout button:focus-visible {\n outline: 3px solid var(--cst-highlight-color);\n outline-offset: 2px;\n border-radius: 2px;\n}\n\n.ot-cookies-buttons {\n display: flex;\n flex-direction: column;\n gap: var(--cst-space-sm);\n}\n\n.ot-cookies-buttons button {\n flex: 1;\n}\n\n@media screen and (min-width: 448px) {\n .cst-tcf-layout .ot-cookies-buttons {\n flex-direction: row;\n align-items: center;\n flex-wrap: wrap;\n }\n}\n\n@media screen and (min-width: 576px) {\n .ot-cookies-wrapper .content-banner {\n overflow-y: auto;\n max-height: 50vh;\n }\n\n .cst-tcf-layout .ot-cookies-buttons {\n justify-content: flex-end;\n }\n\n .ot-cookies-buttons button {\n flex-grow: 0;\n }\n}\n\n@keyframes cstFadeIn {\n 0% {\n opacity: 0;\n }\n 100% {\n opacity: 100;\n }\n}\n\n.ot-cookies-tab {\n display: flex;\n width: 100%;\n justify-content: flex-start;\n overflow-x: auto;\n overflow-y: hidden;\n}\n\n.ot-cookies-tab button {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n opacity: .6;\n font-weight: 600;\n flex-grow: 1;\n user-select: none;\n padding-block: var(--cst-space-sm);\n border-bottom-width: 1px;\n}\n\n.ot-cookies-tab button[data-state=active] {\n color: var(--cst-highlight-color);\n opacity: 1;\n}\n\n.ot-cookies-tab button[data-state=active]::after {\n content: '';\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: 2px;\n background-color: var(--cst-highlight-color);\n}\n\n.ot-content-tab {\n flex-grow: 1;\n overflow-y: auto;\n max-height: calc(100vh - 50vh);\n}\n\n.ot-cookie-content {\n display: none;\n padding-right: var(--cst-space-sm);\n padding-bottom: var(--cst-space-md);\n}\n\n.ot-cookie-content.active {\n display: block;\n}\n\n.ot-group-consent.cst-divider::before {\n content: '';\n display: block;\n width: 100%;\n height: 1px;\n background-color: var(--cst-textcolor);\n opacity: 0.5;\n margin-block: var(--cst-space-md);\n}\n\n.ot-group-consent-header {\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n}\n\n.ot-group-consent-header .flex {\n display: flex;\n align-items: center;\n gap: var(--cst-space-sm);\n}\n\n.ot-group-consent + .ot-group-consent {\n margin-top: var(--cst-space-md);\n}\n\n.ot-group-action {\n display: flex;\n align-items: center;\n gap: var(--cst-space-sm);\n margin-left: auto;\n}\n\n.font-semibold {\n font-weight: 600;\n}\n\n.ot-heading-consent .heading {\n text-align: left;\n}\n\n.ot-heading-consent .heading:hover {\n text-decoration: underline;\n}\n\n.ot-group-item-wrapper {\n font-size: calc(var(--cst-font-size) - 2px);\n margin-left: var(--cst-space-lg);\n padding-top: calc(var(--cst-space-sm) * 0.5);\n}\n\n.ot-group-item + .ot-group-item {\n margin-top: calc(0.4 * var(--cst-space-sm));\n}\n\n.ot-consent-action.flex {\n align-items: center;\n}\n\n.ot-consent-action, .ot-helper-text {\n font-size: calc(var(--cst-font-size) - 2px);\n}\n\n.ot-helper-text {\n color: var(--cst-highlight-color);\n}\n\n/* GVL standard text shown under a group heading (Features). Full-width row in the\n wrapping header flex, indented past the chevron. */\n.ot-group-note {\n flex-basis: 100%;\n margin: var(--cst-space-xs, 4px) 0 0 24px;\n font-size: calc(var(--cst-font-size) - 2px);\n opacity: 0.85;\n}\n\n.cst-tcf-layout svg.category-icon {\n stroke: var(--cst-textcolor);\n}\n\n/* WCAG 2.1.1 Keyboard + 4.1.2 Name/Role/Value\n Use visually-hidden (not display:none) so checkbox stays keyboard/AT accessible */\n.omgCookie-switch input.omgCookie-input-switch[type=\"checkbox\"] {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n/* WCAG 2.5.8 Target Size Minimum â switch track must be ⥠24 à 24 CSS px */\n.omgCookie-switch label.omgCookie {\n
25cursor: pointer;\n text-indent: -9999px;\n width: 36px;\n height: 22px;\n background: var(--cst-textcolor);\n display: block;\n border-radius: 5px;\n position: relative;\n opacity: 0.4;\n}\n\n/* WCAG 2.4.7 Focus Visible â visible ring on the label when checkbox is focused */\n.omgCookie-switch input.omgCookie-input-switch:focus-visible + label.omgCookie {\n outline: 3px solid var(--cst-highlight-color);\n outline-offset: 2px;\n}\n\n.omgCookie-switch input.omgCookie-input-switch[data-checked=true]+label {\n background: var(--cst-textcolor);\n opacity: 1;\n}\n\n.omgCookie-switch input.omgCookie-input-switch[data-checked=true] + label:after {\n left: calc(100% - 3px);\n transform: translateX(-100%);\n}\n\n.omgCookie-switch label.omgCookie:after,\nlabel.ot-quick-label:after {\n content: \"\";\n position: absolute;\n top: 4px;\n left: 3px;\n width: 14px;\n height: 14px;\n background: var(--cst-bgcolor);\n border-radius: 3px;\n transition: all .1s;\n}\n\nlabel.ot-quick-label:after {\n background: var(--cst-bgcolor);\n}\n\n.omgCookie-switch label.omgCookie:active:after {\n width: 26px;\n}\n\n.ot-item-content {\n padding: var(--cst-space-sm);\n background-color: var(--cst-bgcolor-opacity);\n border-radius: var(--cst-space-sm);\n margin-top: var(--cst-space-sm);\n margin-left: var(--cst-space-lg);\n display: flex;\n align-items: start;\n flex-direction: column;\n gap: var(--cst-space-sm);\n text-align: left;\n}\n\n.mt-sm {\n margin-top: var(--cst-space-sm);\n}\n\n.ml-none {\n margin-left: 0;\n}\n\n.my-md {\n margin-inline: var(--cst-space-md);\n}\n\n/* aria-expanded is on the .ot-group-consent div but also mirrored on the button */\n.ot-group-consent[aria-expanded=true] > .ot-group-consent-header > .ot-heading-consent > svg,\n.ot-heading-consent[aria-expanded=true] > svg {\n transform: rotate(90deg);\n}\n\n.font-italic {\n font-style: italic;\n}\n\n.ot-cookies-wrapper .google-atp-policy {\n margin-right: 10px;\n}\n\n.ot-cookies-wrapper .google-atp-policy:hover {\n text-decoration: underline;\n cursor: pointer;\n}\n\n.cst-tcf-layout .cst-powered-by {\n width: 100%;\n margin-top: var(--cst-space-sm);\n text-align: center;\n font-size: calc(var(--cst-font-size) - 2px) !important;\n font-weight: 400 !important;\n line-height: 1.4 !important;\n opacity: 0.65;\n}\n.cst-tcf-layout .cst-powered-by a {\n font-size: inherit !important;\n font-weight: 700 !important;\n color: inherit;\n text-decoration: underline;\n}","cst-tcf-css"),void new ConsentikTcf(this.appData.tcf);$OT("body").append(`<div id="${window.cstMainId}">\n <div id="${this.bannerId}" style="display: none;width=0"></div>\n </div>`);const t=cstHelpers.getBannerLayout(this.appData.settings).type;switch(cstHelpers.addRootCSS(this.appData.settings),t){case"full":default:new ConsentikFullLayout(CSTSettings);break;case"corner":new ConsentikFloatLayout(CSTSettings);break;case"center":new ConsentikCenterLayout(CSTSettings)}}loadScript(t){let e=document.createElement("script");e.type="text/javascript",e.src=t,e.defer=!0,document.getElementsByTagName("head")[0].appendChild(e)}async checkAppEnabled(t){const{appEnable:e,showAllRegions:n,showSpecificRegion:s}=t;window.cstUserInfo=await cstHelpers.otGetUserInfo();const o=await cstHelpers.otCheckCustomerRegion(n,s);return e&&o}checkGivenConsent(){}}class ConsentikBanner{constructor(t){this.settings=t,this.appData=window.cstAppData,this.advanced=window.cstAppData?.advanced,this.bannerId="cst-cookie-banner",this.popupId="cst-preferences-popup",this.arrowIcon='<svg class="cst-arrow" viewB
25ox="0 0 24 24" width="16" height="16" stroke="#333333" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="css-i6dzq1"><polyline points="9 18 15 12 9 6"></polyline></svg>',this.bannerWrapper="<div id='cst-cookie-wrapper'>\n <div id=\"cst-cookie-banner\"></div> \n \n </div>",this.layout="full",this.init()}init(){console.log("â
Consentik Standard Layout Loaded (WCAG 2.2 AA Updated Version)");if($OT("#"+this.bannerId).length){this.renderReOpener(),this.renderBanner();const t=this.settings.delayTime>0?1e3*this.settings.delayTime-500:0;setTimeout(()=>{this.initRender()},t),this.addLayoutStyle(),this.loadLayoutCSS(),this.addCustomCSS(),this.addEventListeners()}}initRender(){const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t):null;if(t){if(e.expires<Date.now())this.hideOpener(),this.showBanner();else{this.hideBanner(),this.showOpener();const t=e.consent??[],n=t.includes("advertising"),s=t.includes("analytics"),o=t.includes("functional"),i={ad_user_data:n?"granted":"denied",ad_personalization:n?"granted":"denied",ad_storage:n?"granted":"denied",analytics_storage:s?"granted":"denied",functionality_storage:o?"granted":"denied",personalization_storage:o?"granted":"denied",security_storage:o?"granted":"denied"};window.cstDataConsent=i,window.gtmInitConsentCallback(i)}}else this.hideOpener(),this.showBanner();this.updateWPConsent(e?.consent??[])}renderReOpener(){if(this.settings.showReopenBtn){let t="";const e=this.advanced?.reopenConf?.position,n=this.advanced?.reopenConf?.displayAs,s=this.advanced?.reopenConf?.btnText;s&&(t=`\n <div class="cst-cookie-btn-text-wrapper">\n <span class="cst-cookie-btn-text cst-reopen-trigger">${s}</span>\n </div>\n `);const o=this.settings?.reopenIconUrl,i=`\n <div class="cst-reopener-wrapper cst-position-${e??"bottom-right"} cst-reopener-${n??"icon"}">\n ${n&&"icon"===n?`\n <div class="cst-cookie-btn-icon-wrapper">\n <img class="cst-cookie-btn-icon cst-reopen-trigger" src="${o}" />\n </div>\n `:t}\n </div>\n `;$OT(".cst-reopener-wrapper").remove(),$OT("#"+window.cstMainId).append(i),$OT(".cst-reopener-wrapper").on("click",()=>{this.showBanner(),this.hideOpener()}),this.initReopenStyle()}}initReopenStyle(){const t=this.advanced?.reopenConf?.btnBg,e=this.advanced?.reopenConf?.btnColor,n=this.advanced?.reopenConf?.horizontalMargin,s=this.advanced?.reopenConf?.verticalMargin,o=`\n <style id="cst-reopen-style">\n :root {\n --cst-ro-btn-bg: ${t};\n --cst-ro-btn-color: ${e};\n --cst-ro-btn-hrz-margin: ${n}px;\n --cst-ro-btn-vtc-margin: ${s}px;\n --cst-text-size: ${this.settings.textSize}px\n }\n </style>\n `;$OT("#"+window.cstMainId).before(o)}renderBanner(){$OT("#"+this.bannerId).empty();const{title:t,message:e,submitText:n,popupWidth:s}=CSTSettings,{privacyWrapper:o,googlePrivacyWrapper:i,preferencesBtn:a,dismissBtn:r,logo:c,titleBanner:d}=cstHelpers.getBannerElement(CSTSettings),l=`<div class="cst-external-link-wrapper">\n ${o}\n ${i}\n </div>`;console.log("render banner"),$OT("#"+this.bannerId).append(`\n <style>\n #${this.bannerId} {\n display: none;\n }\n </style>\n ${this.addCloseIcon()}\n <div class='cst-banner-content'>\n ${d}\n <div id='cst-cookies-message'>\n <div id='cst-cookies-message-context'>\n \n <p class="cst-cookies-message-context">\n ${t?"":c} ${e?.replace(/\n/g,"<br />")}\n </p>\n ${"corner"!==this.layout?l:""}\n </div>\n </div>\n </div>\n <div class="cst-btn-group-wrapper">\n ${"corner"===this.layout?l:""}\n <div class="cst-btn-group">\n ${r}\n ${a}\n <button id='cst-cookies-submit' class='cst-cookies-btn'>${n}</button>\n </div>\n </div>\n <div class="cst-powered-by">\n Powered by <a href="https://consentik.com/?utm_source=cmp_banner&utm_medium=referral&utm_campaign=p
25owered_by" target="_blank" rel="noopener noreferrer">Consentik</a>\n </div>\n `);const p=s<=50?"ot-small-width":s>50&&s<=90?"ot-medium-width":"ot-large-width";$OT("#"+this.bannerId).addClass(p)}renderPreferencesPopup(){const{titlePopup:t,messPopup:e,icon:n,acceptSelected:s,acceptAll:o,decline:i}=cstHelpers.getPopupElement(this.settings);$OT("#"+this.popupId).empty(),$OT("#"+this.popupId).append(`\n <div class="cst-preferences-popup" role="dialog" aria-modal="true" aria-labelledby="cst-popup-title-text">\n <div class="cst-group-function">\n ${this.addCloseIconPopup()}\n </div>\n <div class="cst-preferences-header">\n ${t}\n </div>\n <div class="cst-preferences-body">\n ${e}\n <div class="cst-preferences-categories">\n ${this.renderListCategories()}\n </div>\n </div>\n <div class="cst-group-buttons">\n ${i}\n ${s}\n ${o}\n </div>\n </div>\n `),this.addPopupEventListeners()}renderListCategories(){const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t):null;let n=[];return e&&(n=e.consent),window.cstCategories.length>0?window.cstCategories.map(t=>{const{name:e,description:s,nameConsent:o,status:i,id:a}=t,r=o.includes("essential")||n.includes(o);return`<div class="cst-category-wrapper" data-id="category-${a}">\n <div class="cst-category-title-trigger" >\n <span class="cst-category-title" aria-expanded="false" data-id="category-${a}" role="button" tabindex="0">\n ${this.arrowIcon} \n ${e}\n \n </span>\n <div class="cst-category-button">\n <div class="cst-category-switch">\n <input class="cst-input-switch" ${r?'checked="checked" ':""} ${o.includes("essential")?"disabled":""} data-name="${e}" type="checkbox" data-id="${o}" id="cst-switch-${o}">\n <label class="cst-category-label" for="cst-switch-${o}"></label>\n </div>\n </div>\n </div>\n <div class="cst-category-details" data-id="category-${a}">\n <div class="cst-category-description">${s}</div>\n \n\n <div class="cst-cookies-table-wrapper" data-id="category-${a}">\n ${this.renderListCookies(a)}\n </div>\n </div>\n </div>`}).join(""):""}renderListCookies(t){const e=window.cstCookies.filter(e=>e.categoryId===t&&e.status),n=e.map(t=>`<li class="cst-cookie-detail-item">\n <dl>\n <dt>Name</dt>\n <dd>${t.name}</dd>\n <dt>Provider</dt>\n <dd>${t.platform?`<a href="${t.privacyLink}" target="_blank">${t.platform}</a>`:""}</dd>\n <dt>Domain</dt>\n <dd>${t.domain||window.location.origin}</dd>\n <dt>Path</dt>\n <dd>${t.path||"/"}</dd>\n <dt>Type</dt>\n <dd>${t.type||""}</dd>\n <dt>Retention</dt>\n <dd>${t.expired||""}</dd>\n <dt>Purpose</dt>\n <dd>${t.description}</dd>\n </dl>\n </li>`).join("");return e.length?`<span class="cst-category-trigger" data-id="category-${t}" role="button" tabindex="0"><small>Cookies Details</small></span><ul class="cst-cookies-detail-list" data-id="category-${t}">${n}</ul>`:""}addEventListeners(){$OT("#cst-cookies-submit").on("click",()=>{this.acceptAll()}),$OT("#cst-cookies-preferences").on("click",()=>{$OT("#"+this.popupId).length?this.showPopup():($OT("#"+window.cstMainId).append(`<div id="${this.popupId}"></div>`),this.hideBanner(),this.renderPreferencesPopup())}),$OT("#cst-cookies-decline").on("click",()=>{this.declineCookies()}),$OT(".cst-close-icon").off("click").on("click",()=>{this.hideBanner()})}addPopupEventListeners(){$OT(".cst-category-title").on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key&&" "!==t.key)return;t.preventDefault();const e=$OT(t.currentTarget),n=e.attr("data-id"),s=$OT(`.cst-category-details[data-id="${n}"]`);
25s.is(":visible")?(s.slideUp(),e.attr("aria-expanded","false")):(e.attr("aria-expanded","true"),s.slideDown(),s.show())}),$OT(".cst-category-trigger").on("click keydown",t=>{if("keydown"===t.type&&"Enter"!==t.key&&" "!==t.key)return;t.preventDefault();const e=$OT(t.currentTarget).attr("data-id"),n=$OT(`.cst-cookies-detail-list[data-id="${e}"]`);n.is(":visible")?n.slideUp():n.slideDown()}),$OT(".cst-close-icon-popup").off("click keydown").on("click keydown",t=>{"keydown"===t.type&&"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.hidePopup(),this.showBanner())}),$OT(".cst-input-switch").on("change",t=>{const e=$OT(t.currentTarget),n=(e.attr("data-id"),e.attr("checked"));e.attr("checked","checked"!==n&&"true"!==n)}),$OT(".cst-input-switch").on("keydown",t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),$OT(t.currentTarget).trigger("click"))}),$OT(".cst-all-btn").on("click",()=>{this.acceptAll()}),$OT(".cst-selected-btn").on("click",()=>{const t=$OT('.cst-input-switch[checked="checked"]');let e=[];for(let n of t){const t=$OT(n).attr("data-id");e.push(t)}this.acceptedPartial(e)}),$OT("#cst-cookies-decline-popup").on("click",()=>{this.declineCookies()}),$OT(document).on("keydown.cstPopupInternal",t=>{const e=$OT(CST_SELECTOR.popup);if(e.is(":visible")){if("Escape"===t.key)return this.hidePopup(),void this.showBanner();if("Tab"===t.key){const n=e.find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');if(0===n.length)return;const s=n[0],o=n[n.length-1];t.shiftKey?document.activeElement===s&&(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),s.focus())}}})}setCheckedCategory(t){window.cstCategories?.forEach(e=>{const{nameConsent:n}=e,s=t[n];$OT(`#cst-switch-${n}`).attr("checked",s)})}declineCookies(){this.sendConsentData({essential:!0,analytics:!1,functional:!1,advertising:!1,dataToThirdParty:!1},"decline")}acceptAll(){const t={essential:!0,analytics:!0,functional:!0,advertising:!0,dataToThirdParty:!0};this.setCheckedCategory(t),this.sendConsentData(t,"all")}acceptedPartial(t){const e={essential:!0,analytics:t.includes(CONSENT_KEY.ANALYTICS),functional:t.includes(CONSENT_KEY.FUNCTIONAL),advertising:t.includes(CONSENT_KEY.ADVERTISING),dataToThirdParty:t.includes(CONSENT_KEY.ADVERTISING)};this.sendConsentData(e,"partial")}showOpener(){setTimeout(()=>{$OT(CST_SELECTOR.opener).fadeIn(200)},0)}hideOpener(){$OT(CST_SELECTOR.opener).fadeOut(100)}hideBanner(){$OT(CST_SELECTOR.banner).fadeOut(200)}showBanner(){$OT(CST_SELECTOR.banner).attr("style","display:flex"),this.showIcon()}showIcon(){$OT("#cst-banner-icon").fadeIn(200)}hidePopup(){$OT(CST_SELECTOR.popup).fadeOut(200)}showPopup(){$OT(CST_SELECTOR.popup).fadeIn(200,()=>{const t=$OT(CST_SELECTOR.popup).find('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');t.length&&t[0].focus()})}async sendConsentData(t,e){const n=(new Date).getTime()+24*this.settings.cookieLifeTime*60*60*1e3,s=Object.keys(t).filter(e=>!0===t[e]),o=JSON.stringify({type:e,consent:e===SUBMIT_TYPE.DECLINE?["essential"]:s,expires:n}),i="/; domain=."+window.location.origin.split(".").slice(1).join(".");if(cstHelpers.applyShopifyTrackingConsent({analytics:t?.analytics??!1,marketing:t?.advertising??!1,preferences:t?.functional??!1,sale_of_data:t?.advertising??!1}),void 0!==window.consentPolicyManager)try{window.consentPolicyManager.setUserConsentPolicy({functional:t?.functional??!1,analytics:t?.analytics??!1,advertising:t?.advertising??!1})}catch(t){}cstHelpers.setCookie(cstHelpers.cookieName,o),cstHelpers.deleteCookie(cstHelpers.consentName,i),this.hideBanner(),this.hidePopup(),this.showOpener(),this.updateBannerGCMV2(t),this.updateWPConsent(t)}updateWPConsent(t){const e=Array.isArray(t)?t.reduce((t,e)=>({...t,[e]:!0}),{}):t,n=t=>(Array.isArray(t)?t:[t]).some(t=>!0===e[t])?"allow":"deny";"function"==typeof wp_set_consent?(wp_set_consent("marketing",n("advertising")),wp_set_consent("statistics",n("analytics")),wp_set_consent("functional",n("functional")),wp_set_consent("preferences",n(["preferences","functional"])),console.log("Consentik: WP Consent API updated.")):console.log("Consentik: WP Consent API plugin is not active.")}updateBannerGCMV2(t){const e=window.otkConsent;console.log(e);const n=t.analytics,s=t.advertising,o=t.functional,i=[CONSENT_KEY.ESSENTIAL];if(n&&i.push(CONSENT_KEY.ANALYTICS),s&&i.push(CONSENT_KEY.ADVERTISING),o&&i.push(CONSENT_KEY.FUNCTIONAL),cstHelpers.setCo
25okie(cstHelpers.consentGcm,JSON.stringify(i)),"undefined"!=typeof gtag&&e){const n={ad_user_data:t.advertising?"granted":"denied",ad_personalization:t.advertising?"granted":"denied",ad_storage:t.advertising?"granted":"denied",analytics_storage:t.analytics?"granted":"denied",functionality_storage:t.functional?"granted":"denied",personalization_storage:t.functional?"granted":"denied",security_storage:t.functional?"granted":"denied"},s=!t.advertising;e.useDefaultTemplate||(gtag("consent","update",n),s&>ag("set","ads_data_redaction",window.cstGCM.ads_data_redaction)),window.cstDataConsent={security_storage:n.security_storage,ad_storage:n.ad_storage,ad_personalization:n.ad_personalization,ad_user_data:n.ad_user_data,analytics_storage:n.analytics_storage,functionality_storage:n.functionality_storage,personalization_storage:n.personalization_storage},window.gtmConsentCallback(window.cstDataConsent)}showGCMDebugMode()}addCustomCSS(){const t=this.settings.customCss;t&&$OT("body").append(`<style id="cst-custom-css">${t}</style>`)}addCloseIcon(){return this.settings?.showCloseIcon?'<button type="button" aria-label="Close Banner" class="cst-close-icon">â</button>':""}addCloseIconPopup(){return'<button type="button" aria-label="Close Preferences" class="cst-close-icon-popup">â</button>'}}class ConsentikFullLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("#consentik-cookie div#cst-cookie-banner {\n background: var(--cst-banner-bgcolor);\n color: var(--cst-banner-textcolor);\n padding: 20px;\n display: flex;\n flex-wrap: wrap;\n font: var(--cst-font-family);\n font-size: var(--cst-text-size) !important;\n z-index: 1000;\n justify-content: space-between;\n align-items: flex-start;\n}\n#consentik-cookie #cst-cookie-banner .cst-btn-group-wrapper {\n width: 100%;\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n max-width: 35%;\n gap: 10px;\n}\n#consentik-cookie #cst-cookie-banner .cst-btn-group {\n display: flex;\n}\n#consentik-cookie #cst-cookie-banner.ot-small-width .cst-btn-group {\n flex-direction: column;\n align-items: stretch;\n text-align: center;\n gap: 5px;\n}\n#consentik-cookie #cst-cookie-banner span.cst-ot-cookie {\n padding: 4px 12px;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n#consentik-cookie div#cst-cookies-message-context {\n display: flex;\n flex-direction: column;\n gap: 5px;\n}\n\n#consentik-cookie .cst-external-link-wrapper {\n display: flex;\n gap: 10px;\n flex-wrap: wrap;\n}\n\n@media(max-width: 767px) {\n #consentik-cookie #cst-cookie-banner {\n position: fixed;\n left: 0;\n width: 100%;\n flex-direction: column;\n gap: 10px;\n }\n #consentik-cookie #cst-cookie-banner .cst-banner-content {\n width: 100%;\n max-width: 100%;\n align-items: center;\n }\n #consentik-cookie #cst-cookie-banner .cst-btn-group-wrapper {\n max-width: 100%;\n gap: 10px;\n }\n #consentik-cookie #cst-cookie-banner.ot-small-width .cst-btn-group {\n width: 100%;\n }\n #consentik-cookie .cst-external-link-wrapper {\n justify-content: center;\n }\n}","cst-full-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{unitSpace:n,marginTop:s,popupWidth:o,textColor:i,marginBottom:a}=t;let r="";const c=cstHelpers.getBannerLayout(t);r+=`\n ${e}
25 {\n ${c.top?"top":"bottom"}: ${c.top?s:a||0}${n};\n }\n `,$OT("head").append(`\n <style id="cst-style">\n ${e} {\n position: fixed;\n left: ${o>0?(100-o)/2:0}%;\n width: ${o>0?o:"100"}%;\n }\n ${e} .cst-btn-group-wrapper {\n width: ${o<70?"100%":"auto"};\n display: flex;\n justify-content: flex-end;\n max-width: 35%;\n }\n ${e} .cst-btn-group {\n flex-direction: ${o<65?"column":"row"};\n }\n ${e} .cst-banner-content {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n width: ${o<70?"100%":"auto"};\n max-width: 65%;\n }\n ${e} #cst-cookies-message {\n flex-direction: ${o<65?"column":"row"}\n }\n ${e} .navSelect {border-bottom: 1px solid ${i}45}\n #cst-cookies-body button {\n color: ${i};\n }\n #cst-cookies-body button .accordion-title {\n padding: 0.5em 1.5em 0.5em 0;\n margin:0;\n color: textColor\n } \n ${r}\n </style>\n `)}}class ConsentikFloatLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("div#cst-cookie-banner {\n background: var(--cst-banner-bgcolor);\n color: var(--cst-banner-textcolor);\n padding: 10px;\n display: flex;\n flex-wrap: wrap;\n font: var(--cst-font-family);\n font-size: var(--cst-text-size) !important;\n}\ndiv#cst-cookies-message-context {\n display: flex;\n flex-direction: column;\n gap: 10px;\n}\n#cst-cookie-banner .cst-btn-group-wrapper {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: center;\n max-width: 100%;\n gap: 10px;\n justify-content: space-between;\n}\n#cst-cookie-banner .cst-btn-group {\n display: flex;\n}\n#cst-cookie-banner.ot-small-width .cst-btn-group {\n flex-direction: row;\n align-items: stretch;\n text-align: center;\n gap: 5px;\n}\n#cst-cookie-banner span.cst-ot-cookie {\n padding: 4px 12px;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n@media(max-width: 767px) {\n #cst-cookie-banner {\n position: fixed;\n left: 0;\n width: 100%;\n flex-direction: column;\n gap: 10px;\n }\n #cst-cookie-banner .cst-banner-content {\n width: 100%;\n max-width: 100%;\n }\n #cst-cookie-banner .cst-btn-group-wrapper {\n max-width: 100%;\n gap: 5px;\n flex-direction: column;\n }\n #cst-cookie-banner.ot-small-width .cst-btn-group {\n width: 100%;\n flex-direction: column;\n }\n \n}","cst-float-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{textColor:n,unitSpace:s,marginTop:o,marginBottom:i,marginLeft:a,marginRight:r}=t;let c="";
25const d=cstHelpers.getBannerLayout(t),l=d.top?"top":"bottom",p=d.left?"left":"right";c+=`\n ${e} {\n ${l}: ${d.top?o:i||0}${s};\n ${p}: ${d.left?a:r||0}${s};\n ${d.top?"bottom":"top"}: unset;\n ${d.left?"right":"left"}: unset;\n }\n `,$OT("head").append(`\n <style id="cst-style">\n ${e} {\n position: fixed;\n left: 0;\n width: 33%;\n bottom: 0;\n flex-direction: column;\n gap: 20px;\n z-index: 10000\n }\n ${e} .cst-btn-group-wrapper {\n width: auto;\n display: flex;\n justify-content: flex-end;\n max-width: 100%;\n }\n ${e} .cst-banner-content {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n width: auto;\n max-width: 100%;\n }\n ${e} .navSelect {border-bottom: 1px solid ${n}45}\n #cst-cookies-body button {\n color: ${n};\n }\n ${c}\n </style>\n `)}}class ConsentikCenterLayout extends ConsentikBanner{loadLayoutCSS(){cstHelpers.loadCSS("div#cst-cookie-banner {\n background: var(--cst-banner-bgcolor);\n color: var(--cst-banner-textcolor);\n padding: 20px;\n display: flex;\n flex-wrap: wrap;\n font: var(--cst-font-family);\n font-size: var(--cst-text-size) !important;\n}\n#cst-cookie-banner .cst-btn-group-wrapper {\n width: 100%;\n display: flex;\n flex-direction: row;\n align-items: flex-end;\n max-width: 100%;\n gap: 10px;\n}\n#cst-cookie-banner .cst-btn-group {\n display: flex;\n gap: 10px;\n}\n#cst-cookie-banner.ot-small-width .cst-btn-group {\n flex-direction: row;\n align-items: stretch;\n text-align: center;\n gap: 10px;\n}\n#cst-cookie-banner span.cst-ot-cookie {\n padding: 4px 12px;\n cursor: pointer;\n transition: opacity 0.2s;\n}\n\n@media (max-width: 767px) {\n #consentik-cookie .cst-external-link-wrapper {\n text-align: center;\n}\n #cst-cookie-banner.ot-small-width .cst-btn-group {\n flex-direction: column;\n align-items: stretch;\n text-align: center;\n gap: 10px;\n width: 100%;\n }\n #cst-cookie-banner {\n position: fixed;\n left: 5%;\n width: 90%;\n top: 25%;\n flex-direction: column;\n gap: 20px;\n z-index: 10000;\n padding: 10px;\n \n }\n #consentik-cookie p.cst-popup-message {\n max-width: 100%;\n padding: 10px 0;\n}\n#consentik-cookie .cst-preferences-header {\n justify-content: space-between;\n flex-direction: column-reverse;\n gap: 10px;\n}\n#consentik-cookie .cst-group-buttons {\n display: flex;\n gap: 5px;\n align-items: stretch;\n justify-content: space-around;\n margin-right: unset;\n}\n#consentik-cookie div#cst-preferences-popup {\n padding: 10px;\n max-height: 90vh;\n min-height: 50vh;\n overflow: auto;\n}\n#consentik-cookie button.cst-cookies-btn{\n min-width: unset;\n}\n#consentik-cookie div#cst-preferences-popup:has(.cst-close-icon) {\n padding-top: 30px;\n}\n}\n","cst-center-style")}addLayoutStyle(){const t=this.settings,e="#"+this.bannerId,{popupWidth:n,textColor:s}=t,o=n>0?n:"40";$OT("head").append(`\n <style id="cst-style">\n ${e} {\n position: fixed;\n left: ${(100-o)/2}%;\n width: ${o}%;\n top: 25%;\n flex-direction: column;\n gap: 20px;\n z-index: 10000;\n }\n ${e} .cst-btn-group-wrapper {\n width: auto;\n display: flex;\n justify-content: center;\n max-width: 100%;\n }\n ${e} .cst-banner-content {\n display: flex;\n align-items: flex-start;\n flex-direction: column;\n width: auto;\n max-width: 100%;\n gap: 10px\n }\n ${e} .navSelect {border-bottom: 1px solid ${s}45}\n #cst-cookies-body button {\n color: ${s};\n }\n </style>\n `)}}class ConsentikTcf{constructor(t){this.config={showGoogleAdditionalConsent:!0,...t.config},this.content=t.content,this.settings=window.cstAppData?.settings,this.advanced=window.cstAppData?.advanced,this.bannerId="cst-consentik-cookie",this.acStringVersion="2",this.arrowIcon='<svg viewBox="0 0 24 24" width="16" height="16" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round" class="category-icon"><polyline points="9 18 15 12 9 6"></polyline></svg>',this.endpointVendorList="https://apps.consentik.com/tcf/vendor-list.json",$OT("body").remove("#"+this.bannerId).append(`<div id='${this.bannerId}' class='ot-cookies-wrapper'></div>`),this.listenerStore=[],this.listLegInt={vendorLegitimateInterests:new Set,purposeLegitimateInterests:new Set},this.dataConsent=Object.assign({vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[]},window.cstCategories.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{})),this.initListTab(),this.loadModule().then(t=>{this.tcModel=new t.TCModel,this.tcModel.cmpId=451,this.tcModel.cmpVersion=2,this.tcModel.isServiceSpecific=!this.useLegacyTcfCore(),this.tcModel.gdprApplies=otEuCountries.includes(window.cstUserInfo.loc),this.tcModel.publisherCountryCode=window.cstUserInfo.loc||this.tcModel.publisherCountryCode,this.encodeTCString=t.TCString.encode,this.decodeTCString=t.TCString.decode,this.init()})}
25async init(){console.log("â
Consentik TCF Layout Loaded (WCAG 2.2 AA Updated Version)"),await this.otFetchVendorList();$OT("#"+this.bannerId).length&&(this.otRenderReOpener(),this.ocbBannerInit(),this.otInitRootCSS(),$OT(`#${this.bannerId}`).append(`<style id="ot-custom-css">${this.settings.customCss}</style>`))}ocbBannerInit(){this.otRenderCookieBanner(!0),this.otBaseActionCookies();const t=cstHelpers.getCookie(cstHelpers.cookieName),e=t?JSON.parse(t)?.consent:null,n=cstHelpers.getCookie(cstHelpers.consentTcf),s=t?JSON.parse(n):null,o=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),i=o?JSON.parse(o):null;if(this.updateWPConsentTCF("",e),e&&s&&(!this.config?.showGoogleAdditionalConsent||i)){if(this.shouldResetConsent(s,i))this.resetCookieAndShowBanner();else{this.setConsentTcData(this.filteredData(s,i,e)),this.refreshStoredTcString(s);const t={ad_user_data:[1,7].every(t=>this.dataConsent.purposes?.includes(t))?"granted":"denied",ad_personalization:[3,4].every(t=>this.dataConsent.purposes?.includes(t))?"granted":"denied",ad_storage:this.dataConsent.purposes?.includes(1)?"granted":"denied",analytics_storage:this.dataConsent?.analytics?"granted":"denied",functionality_storage:this.dataConsent?.functional?"granted":"denied",personalization_storage:this.dataConsent?.functional?"granted":"denied",security_storage:this.dataConsent?.functional?"granted":"denied"};window.cstDataConsent=t,window.gtmInitConsentCallback(t),this.otToggleBanner().hide()}}else this.resetCookieAndShowBanner()}resetCookieAndShowBanner=()=>{cstHelpers.deleteCookie(cstHelpers.cookieName),cstHelpers.deleteCookie(cstHelpers.consentGcm),cstHelpers.deleteCookie(cstHelpers.consentTcf),cstHelpers.deleteCookie(cstHelpers.consentGoogleAtp);const t=this.settings.delayTime>0?1e3*this.settings.delayTime-500:0;setTimeout(()=>{this.otToggleBanner().show()},t)};refreshStoredTcString=t=>{try{const e=this.decodeTCString(t);if(e.isServiceSpecific===this.tcModel.isServiceSpecific&&e.cmpVersion===this.tcModel.cmpVersion)return;cstHelpers.setCookie(cstHelpers.consentTcf,JSON.stringify(this.encodeTCString(this.tcModel)))}catch(t){console.warn("[Consentik] Could not refresh the stored TC String:",t)}};shouldResetConsent=(t,e)=>{try{const n=this.decodeTCString(t),s=Array.from(n.vendorConsents.values()),o=new Set(window.listIdsPublished.vendorsDisclosed);for(const t of s)if(!o.has(t))return!0;if(this.config?.showGoogleAdditionalConsent){const t=this.getGoogleAtpConsent(e),n=new Set(window.listIdsPublished.googleATP);for(const e of t)if(!n.has(e))return!0}return!1}catch(t){return!0}};filteredData=(t,e,n)=>{const s=this.decodeTCString(t),o=n?.reduce((t,e)=>(t[e]=!0,t),{}),i=Array.from(s.vendorConsents.values()).filter(t=>window.listIdsPublished.vendorsDisclosed.includes(t)),a=Array.from(s.vendorLegitimateInterests.values()).filter(t=>this.listLegInt.vendorLegitimateInterests.has(t)),r=Array.from(s.purposeConsents.values()).filter(t=>window.listIdsPublished.purposes.includes(t)),c=Array.from(s.purposeLegitimateInterests.values()).filter(t=>this.listLegInt.purposeLegitimateInterests.has(t)),d=Array.from(s.specialFeatureOptins.values()).filter(t=>window.listIdsPublished.specialFeatures.includes(t)),l=this.getGoogleAtpConsent(e).filter(t=>window.listIdsPublished.googleATP.includes(t));return{vendors:i,vendorLegitimateInterests:a,purposes:r,purposeLegitimateInterests:c,specialFeatures:d,googleATP:l,...this.config?.showGoogleAdditionalConsent?{googleATP:l}:{},...o}};otRenderCookieBanner=(t=!1)=>{$OT("#ot-cookies-banner").remove(),$OT("#ot-cookies-preference").remove(),$OT(`#${this.bannerId}`).append(`\n <div id="ot-cookies-banner" class="cst-tcf-layout" role="region" aria-label="Cookie consent" style="display: ${t?"none":"initial"}">\n <button type="button" class="ot-cookies-close" aria-label="Close cookie banner">✕</button>\n <div class="cst-tcf-content content-banner">\n <section aria-labelledby="ot-tcf-banner-title">\n <h2 id="ot-tcf-banner-title">${this.content.firstTitle}</h2>\n <p>${this.content.firstMsg?.replace("{vendors}",window.gvl?.vendors?.length??0)}\n </p>\n </section>\n <section>\n <h3>${this.content.secondTitle}</h3>\n <p>${this.content.secondMsg}</p>\n </section>\n <section>\n <h3>${this.content.thirdTitle}</h3>\n <p>${this.content.thirdMsg}</p>\n </section>\n </div>\n <div class="ot-cookies-links">\n <a href="${this.content.privacyUrl}" target="_blank">${this.content.privacyText}</a>\n <a href="${this.settings.googlePrivacyLink}" target="_blank">${this.settings.googlePrivacyText}</a>\n <button type="button" class="ot-show-preferences">${this.content.listPartnerTxt}</button>\n </div>\n <div class="ot-cookies-buttons">\n <button type="button" class="ot-cookies-button" data-intent="preference">${this.content.preferenceBtn}</button>\n <button type="button" class="ot-cookies-button" data-intent="deny">${this.content.rejectBtn}</button>\n <button type="button" class="ot-cookies-button" data-intent="allow">${this.content.acceptBtn}</button>\n </div>\n <div class="cst-powered-by">\n Powered by <a href="https://consentik.com/?utm_source=cmp_banner&utm_medium=referral&utm_campaign=p
25owered_by" target="_blank" rel="noopener noreferrer">Consentik</a>\n </div>\n </div>\n \n <div id="ot-cookies-preference" class="cst-tcf-layout center" role="dialog" aria-modal="true" aria-labelledby="ot-pref-popup-title">\n <button type="button" class="ot-cookies-close" aria-label="Close preferences popup">✕</button>\n <div class="cst-tcf-content">\n <div class="ot-content-info">\n </div>\n <div class="ot-cookies-links">\n <a href="${this.content.privacyUrl}" target="_blank">${this.content.privacyText}</a>\n <a href="${this.settings.googlePrivacyLink}" target="_blank">${this.settings.googlePrivacyText}</a>\n <button type="button" id="show-list-vendors">${this.content.listPartnerTxt}</button>\n </div>\n <div class="cst-tcf-tab"></div>\n </div>\n <div class="ot-cookies-buttons">\n <button type="button" class="ot-cookies-button" data-intent="save">${this.content.savePreferenceBtn}</button>\n <button type="button" class="ot-cookies-button" data-intent="deny">${this.content.rejectBtn}</button>\n <button type="button" class="ot-cookies-button" data-intent="allow">${this.content.acceptBtn}</button>\n </div>\n </div>\n `)};otFetchVendorList=async()=>{try{const t=await fetch(this.endpointVendorList),e=await t.json(),n=this.config.vendors?.length?Object.values(e.vendors).filter(t=>this.config.vendors.includes(String(t.id))&&!t.deletedDate):Object.values(e.vendors).filter(t=>!t.deletedDate),s=this.config.googleAtp?.length?Object.values(e.googleATP).filter(t=>this.config.googleAtp.includes(String(t.id))):Object.values(e.googleATP),o=n.reduce((t,e)=>(e.purposes.forEach(e=>{t.purposes[e]=(t?.purposes?.[e]||0)+1}),e.legIntPurposes.forEach(e=>{t.purposes[e]=(t?.purposes?.[e]||0)+1}),e.specialPurposes.forEach(e=>{t.specialPurposes[e]=(t?.specialPurposes?.[e]||0)+1}),e.features.forEach(e=>{t.features[e]=(t?.features?.[e]||0)+1}),e.specialFeatures.forEach(e=>{t.specialFeatures[e]=(t?.specialFeatures?.[e]||0)+1}),t),{purposes:{},specialPurposes:{},features:{},specialFeatures:{}});window.gvl={...e,...this.content.dataPurpose,vendors:n,googleATP:s,statistics:o},window.listIdsPublished={vendorsDisclosed:n?.map(t=>t.id)??[],vendors:(n??[]).filter(t=>t.purposes.length).map(t=>t.id)??[],vendorsAlwaysActive:(n??[]).filter(t=>!t.purposes.length).map(t=>t.id)??[],googleATP:s?.map(t=>t.id)??[],purposes:this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t)),purposesSet:new Set(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))),specialFeatures:this.content.dataPurpose?.specialFeatures?.map(t=>Number(t.id))??Object.keys(e.specialFeatures).map(t=>Number(t)),analyticsPurposes:[8,9,10].filter(t=>(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))).includes(t)),advertisingPurposes:[1,3,4,7].filter(t=>(this.content.dataPurpose?.purposes?.map(t=>Number(t.id))??Object.keys(e.purposes).map(t=>Number(t))).includes(t))},this.tcModel.vendorsDisclosed.set(window.listIdsPublished.vendorsDisclosed),n.forEac
25h(t=>{t.legIntPurposes.forEach(t=>this.listLegInt.purposeLegitimateInterests.add(t)),t.legIntPurposes.length&&this.listLegInt.vendorLegitimateInterests.add(t.id)});const i={...e,vendors:window.gvl.vendors.reduce((t,e)=>(t[e.id]=e,t),{})};this.tcModel.gvl=i,window.__tcfapi=(t,n,s,o)=>{const i=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),a=i?JSON.parse(i):null,r={cmpId:this.tcModel.cmpId,cmpVersion:this.tcModel.cmpVersion,gdprApplies:this.tcModel.gdprApplies,gvlVersion:e.vendorListVersion,tcfPolicyVersion:e.tcfPolicyVersion,...this.config?.showGoogleAdditionalConsent?{addtlConsent:a??""}:{},enableAdvertiserConsentMode:window.cstAppData?.integrate?.googleConsentMode?.enableAdvertiserConsentMode??!0};if("ping"===t)s(Object.assign({displayStatus:"visible",apiVersion:String(n),cmpLoaded:!0,cmpStatus:"loaded"},r));else if("addEventListener"===t||"getTCData"===t){const t=this.listenerStore.length?this.listenerStore[this.listenerStore.length-1]+1:1;this.listenerStore.push(t);const e=Array.from(this.tcModel.purposeConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),n=Array.from(this.tcModel.purposeLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),o=Array.from(this.tcModel.specialFeatureOptins.set_).reduce((t,e)=>(t[e]=!0,t),{}),i=Array.from(this.tcModel.publisherConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),a=Array.from(this.tcModel.publisherLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),c=Array.from(this.tcModel.publisherCustomConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),d=Array.from(this.tcModel.publisherCustomLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),l=Array.from(this.tcModel.vendorConsents.set_).reduce((t,e)=>(t[e]=!0,t),{}),p=Array.from(this.tcModel.vendorLegitimateInterests.set_).reduce((t,e)=>(t[e]=!0,t),{}),u=Array.from(this.tcModel.vendorsDisclosed.set_).reduce((t,e)=>(t[e]=!0,t),{});s(Object.assign({tcString:this.encodeTCString(this.tcModel),eventStatus:"tcloaded",listenerId:t,cmpStatus:"loaded",isServiceSpecific:this.tcModel.isServiceSpecific_,useNonStandardTexts:this.tcModel.useNonStandardTexts??this.tcModel.useNonStandardStacks??!1,publisherCC:this.tcModel.publisherCountryCode_,purposeOneTreatment:this.tcModel.purposeOneTreatment_,purpose:{consents:e,legitimateInterests:n},specialFeatureOptins:o,publisher:{consents:i,legitimateInterests:a,customPurpose:{consents:c,legitimateInterests:d},restrictions:{}},vendor:{consents:l,legitimateInterests:p,disclosedVendors:u}},r),!0)}else"removeEventListener"===t?this.listenerStore.includes(o)?(s(!0),this.listenerStore=this.listenerStore.filter(t=>t!==o)):s(!1):"getVendorList"===t&&s(e,!0)}}catch(t){console.error("[Consentik] Failed to load/process IAB vendor list â TCF consent will not encode:",t)}finally{window.gvl||(window.gvl={dataCategories:{},features:[],googleATP:[],purposes:[],specialFeatures:[],specialPurposes:[],statistics:{purposes:{},specialPurposes:{},features:{},specialFeatures:{}},vendors:[]}),this.tcModel&&!this.tcModel.gvl&&console.error("[Consentik] TCModel has no GVL after vendor-list processing â consent encoding will fail. Check vendor-list data / GVL.populate().")}};otRenderReOpener=()=>{const t=this.advanced?.reopenConf?.position,e=this.settings?.reopenIconUrl??window.cstRootLink+"/images/cookies/logo-0.png",n=`\n <div class="cst-reopener-wrapper cst-position-${t??"bottom-right"} cst-reopener-icon">\n ${`\n <div class="cst-cookie-btn-icon-wrapper">\n <img class="cst-cookie-btn-icon cst-reopen-trigger" ${e&&e.includes(".gif")?'data-gif="true"':""} src="${e}" />\n </div>\n `}\n </div>\n `;$OT(`#${this.bannerId}`).append(n);$OT(".cst-reopener-wrapper").on("click",()=>{this.otToggleBanner().show()}),this.otReOpenerStyle()};otReOpenerStyle=()=>{const t=this.advanced?.reopenConf?.btnBg,e=this.advanced?.reopenConf?.btnColor,n=this.advanced?.reopenConf?.horizontalMargin,s=this.advanced?.reopenConf?.verticalMargin,o=`\n <style id="ot-reopen-style">\n :root {\n --cst-ro-btn-bg: ${t};\n --cst-ro-btn-color: ${e};\n --cst-ro-btn-hrz-margin: ${n??10}px;\n --cst-ro-btn-vtc-margin: ${s??10}px;\n }\n </style>\n `;
25$OT(`#${this.bannerId}`).before(o)};otInitRootCSS=()=>{const{bgColor:t="#FFFFFF",textColor:e="#333333",highlightColor:n="#005B2A"}=this.config,s=`\n <style id="cst-root-css">\n :root {\n --cst-textcolor: ${e};\n --cst-bgcolor: ${t};\n --cst-bgcolor-opacity: ${cstHelpers.hexToRgba(e,.1)};\n --cst-highlight-color: ${n};\n ${this.settings.fontName?`--cst-font-family: "${this.settings.fontName}", Arial,Helvetica,san-serif;`:""}\n ${this.settings.textSize?`--cst-font-size: ${this.settings.textSize}px`:""}\n }\n </style>`;$OT("head").append(s)};showPreferencePopup=()=>{$OT("#ot-cookies-banner").fadeOut(200),$OT("#ot-cookies-preference").css("display","flex"),setTimeout(()=>{const t=$OT("#ot-cookies-preference").find('button, [href], input, [tabindex]:not([tabindex="-1"])')[0];t&&t.focus()},250),$OT(".ot-content-info").html(`\n <h2 id="ot-pref-popup-title">${this.content.popupTitle}</h2>\n <p style="text-align: left;">${this.content.popupMsg?.replace("{duration}",this.settings?.cookieLifeTime??30)}</p>\n `),$OT(".cst-tcf-tab").html(`\n <div class="ot-cookies-tab" role="tablist" aria-label="Consent categories">\n <button role="tab" aria-selected="true" aria-controls="vendors" data-state="active" data-id="vendors">${this.content.tabLabel}</button>\n <button role="tab" aria-selected="false" aria-controls="purposes" data-id="purposes">${this.content.purposesLabel}</button>\n <button role="tab" aria-selected="false" aria-controls="categories" data-id="categories">${this.content.categoryLabel}</button>\n </div>\n <div class="ot-content-tab">\n ${window.LIST_TAB.map((t,e)=>`<div id="${t.id}" role="tabpanel" aria-labelledby="tab-${t.id}" class="ot-cookie-content ${0===e?"active":""}">\n ${t.listGroup.map(e=>{let n=!1;return n=Array.isArray(this.dataConsent[e.id])?this.isConsentAll(e.id,e.legInt):this.dataConsent[e.id],"purposes"===t.id&&!this.content.dataPurpose?.[e.id]?.length||e.shouldShow&&!e.shouldShow(this.config)?"":"purposes"!==t.id||this.content.dataPurpose?.[e.id]?.length?`\n <div \n id="ot-consent-${t.id}-${e.id}"\n class="ot-group-consent${e?.divider?" cst-divider":""}"\n data-action="${e.isNoAction?"false":"true"}"\n data-id="${e.id}"\n data-legint="${e?.legInt??""}"\n >\n <div class="ot-group-consent-header">\n <button class="ot-heading-consent font-semibold flex" aria-expanded="false" aria-controls="details-${t.id}-${e.id}">\n ${this.arrowIcon}\n <span class="heading">${e.title} ${this.content.dataPurpose?.[e.id]?`(${this.content.dataPurpose[e.id].length})`:window.gvl?.[e.id]?`(${Object.values(window.gvl[e.id]).length})`:""}\n </span>\n </button>\n <div style="margin-left: auto;">\n ${e.isNoAction?"":`\n <div class="ot-consent-action flex">\n <span>${e.labelAction?e.labelAction:""}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input \n class="omgCookie-input-switch"\n type="checkbox" \n data-checked="${n}"\n disable-uncheck="${e?.disableUncheck??!1}"\n disable="${e?.disableUncheck??!1}"\n id="switch-ot-${e.id}"\n ${e?.disableUncheck?'disabled aria-disabled="true"':""}\n aria-label="${e.title}"\n />\n <label class="omgCookie" for="switch-ot-${e.id}"><span class="sr-only">${e.title}</span></label>\n </div>\n </div>\n </div>\n `}
25\n <span class="ot-helper-text">${e.helperText??""}</span>\n </div>\n ${e.note?`<p class="ot-group-note">${e.note}</p>`:""}\n </div>\n </div>`:""}).join("")}\n </div>`).join("")}\n </div>\n `);const t=$OT(".ot-cookies-tab button"),e=$OT(".ot-content-tab .ot-cookie-content");t.on("click",function(){t.removeAttr("data-state").attr("aria-selected","false"),this.setAttribute("data-state","active"),this.setAttribute("aria-selected","true");const n=this.getAttribute("data-id");e.removeClass("active"),$OT(`#${n}`).addClass("active")}),$OT(".omgCookie-input-switch").on("change",t=>{t.stopPropagation();const e=$OT(t.target);if("true"===e.attr("disable-uncheck"))return;const n=e.closest(".ot-group-consent").attr("data-id"),s=e.closest('.ot-group-consent[data-legint]:not([data-legint=""])').attr("data-legint"),o="true"===e.attr("data-checked");this.syncAllConsent(n,!o,s),this.dataConsent[n]=o?window.gvl[n]?[]:!o:window.gvl[n]?window.listIdsPublished[n]:!o,s&&(this.dataConsent[s]=o?[]:Array.from(this.listLegInt[s])),e.attr("data-checked",!o);$OT(`[data-selector="${n}"]`).attr("data-checked",!o)}),this.onRenderListItem("vendors",this.renderListSubVendor,this.renderVendorDetails),this.onRenderListItem("purposes",this.renderSubPurpose,this.renderPurposeDetails),this.onRenderListItem("categories",this.renderCategoryDetails)};onRenderListItem=(t,e,n)=>{$OT(`[id^="ot-consent-${t}-"] > .ot-group-consent-header`).on("click",s=>{const o=$OT(s.target).closest(".ot-group-consent"),i=o.find("> .ot-group-consent-header > .ot-heading-consent");if("false"===i.attr("aria-expanded")){const s=$OT(`[id^="ot-consent-${t}-"] > .ot-group-consent-header > .ot-heading-consent[aria-expanded="true"]`);s.length&&(s.attr("aria-expanded","false"),s.closest(".ot-group-consent").find(".ot-group-item-wrapper").remove()),i.attr("aria-expanded","true");const a=o.attr("data-id"),r="false"===o.attr("data-action");o.append(e(a,r));const c=o.find(".google-atp-policy");c&&c.on("click",function(){window.open(this.getAttribute("aria-link"),"_blank")});o.find('.ot-group-item:not([collapse="false"]) .ot-group-consent-header').on("click",t=>{const e=$OT(t.currentTarget).closest(".ot-group-consent");if("false"===e.attr("aria-expanded")){const t=o.find('.ot-group-item[aria-expanded="true"]');t&&(t.attr("aria-expanded","false"),t.find(".ot-item-content").remove()),e.attr("aria-expanded","true"),n&&e.append(n(a,e));const s=e.find("#ot-show-more-vendor");s&&s.on("click",t=>{const n=t.target.getAttribute("aria-link");fetch(n).then(t=>t.json()).then(t=>{s.remove(),e.find(".ot-item-content").append(this.renderMoreVendor(t))}).catch(t=>{open(n,"_blank"),console.error(t)})})}else e.attr("aria-expanded","false"),e.find(".ot-item-content").remove()});$OT(`[data-selector="${a}"]`).on("change",t=>{t.stopPropagation();const e=$OT(t.target),n=e.closest('.ot-group-consent[data-legint]:not([data-legint=""])').attr("data-legint"),s="true"===e.attr("data-checked");e.attr("data-checked",!s);const[o,i]=e.attr("id").split("-");s?(this.dataConsent[o]=this.dataConsent[o].filter(t=>t!==Number(i)),$OT(`#switch-ot-${a}`).attr("data-checked",!1)):(this.dataConsent[o].push(Number(i)),this.isConsentAll(a,n)&&$OT(`#switch-ot-${a}`).attr("data-checked",!0));const r=Number(i);this.syncConsentChildren(o,r,!s)})}else i.attr("aria-expanded","false"),o.find(".ot-group-item-wrapper").remove()})};renderVendorItem=(t,e)=>`\n <div class="ot-group-item-wrapper">\n ${t.map(t=>`<div \n class="ot-group-consent ot-group-item"\n data-id="${t.id}"\n aria-expanded="false"\n >\n <div class="ot-group-consent-header">\n <button class="ot-heading-consent flex" aria-expanded="false">\n ${this.arrowIcon}\n <span class="heading">${t.name}</span>\n </button>\n <div class="ot-group-action">\n ${e?.legInt&&this.listLegInt.vendorLegitimateInterests.has(t.id)?`\n <div class="ot-consent-action flex">
25\n <span>${this.content.legInterestTxt}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input\n class="omgCookie-input-switch"\n type="checkbox"\n data-checked="${this.dataConsent[e.legInt].includes(t.id)}"\n id="${e.legInt}-${t.id}"\n data-selector="${e.id}"\n />\n <label class="omgCookie" for="${e.legInt}-${t.id}"></label>\n </div>\n </div>\n </div>\n `:""}\n ${t.purposes.length?`\n <div class="ot-consent-action flex">\n <span>${this.content.consentSwitch}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input\n class="omgCookie-input-switch"\n type="checkbox" \n data-checked="${this.dataConsent[e.id].includes(t.id)}"\n id="${e.id}-${t.id}" \n data-selector="${e.id}"\n />\n <label class="omgCookie" for="${e.id}-${t.id}"></label>\n </div>\n </div>\n </div>\n `:""}\n </div>\n </div>\n </div>`).join("")}\n </div>`;renderGoogleAtpItem=(t,e)=>`<div class="ot-group-item-wrapper">\n ${t.map(t=>`<div\n class="ot-group-consent ot-group-item"\n collapse="false"\n >\n <div class="ot-group-consent-header">\n <div class="ot-heading-consent flex">\n <span>${t.name}</span>\n </div>\n <div class="ot-group-action">\n <span class="google-atp-policy" aria-link="${t.policyUrl}"><em>${this.content.privacyText}</em></span>\n <div class="ot-consent-action flex">\n <span>${this.content.consentSwitch}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input\n class="omgCookie-input-switch"\n type="checkbox"\n data-checked="${this.dataConsent[e.id].includes(t.id)}"\n id="${e.id}-${t.id}"\n data-selector="${e.id}"\n />\n <label class="omgCookie" for="${e.id}-${t.id}"></label>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>`).join("")}\n </div>`;renderListSubVendor=t=>{const e=window.LIST_TAB[0].listGroup.find(e=>e.id===t);return e.renderItem(Object.values(window.gvl[t]),e)};renderVendorDetails=(t,e)=>{const n=Object.values(window.gvl[t]).find(t=>t.id===Number(e.attr("data-id")));return`\n <div class="ot-item-content">\n <p><span class="font-semibold">${this.content.policyTitle}:</span> <a href="${n.urls[0].privacy}" target="_blank">${n.urls[0].privacy}</a></p>\n <p><span class="font-semibold">${this.content.legitimateTitle}:</span> <a href="${n.urls[0].legIntClaim}" target="_blank">${n.urls[0].legIntClaim}</a></p>\n <div>\n <p><span class="font-semibold">${this.content.retentionPeriodTitle}:</span> ${n.dataRetention.stdRetention} ${this.content.purposeTabLabel.daysTxt}</p>\n ${Object.keys(n.dataRetention.purposes).length||Object.keys(n.dataRetention.specialPurposes).length?`<p><i>${this.content.purposeTabLabel.subTitleRetention}</i></p>`:""}\n </div>\n \n ${n.purposes.length?`\n <div>\n <p class="font-semibold">${this.content.purposeTabLabel.purposes_consent}</p>\n <ul class="my-md">\n ${n.purposes.map(t=>{const e=this.content.dataPurpose.purposes.find(({id:e})=>e===t)?.name,s=t in n.dataRetention.purposes;return`<li>${e?e+(s?` (${this.content.purposeTabLabel.retentionTime?.replace("{time}",n.dataRetention.purposes[t])})`:""):""}</li>`}).join("")}\n </ul>\n </div>`:""}\n ${n.legIntPurposes.length?`\n <div>\n <p class="font-semibold">${this.content.purposeTabLabel.purposes_legitimate}</p>\n <ul class="my-md">\n ${n.legIntPurposes.map(t=>`<li>${this.content.dataPurpose.purposes.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n </ul>\n </div>`:""}\n ${n.specialPurposes.length?`\n <div>\n <p class="font-semibold">${this.content.purposeTabLabel.special_purposes}</p>\n <ul class="my-md">\n ${n.specialPurposes.map(t=>{const e=this.content.dataPurpose.specialPurposes.find(({id:e})=>e===t)?.name,s=t in n.dataRetention.specialPurposes;return`<li>${e?e+(s?` (${this.content.purposeTabLabel.retentionTime?.replace("{time}",n.dataRetention.specialPurposes[t])})`:""):""}</li>`}).join("")}\n </ul>\n </div>`:""}\n ${n.features.length?`\n <div>\n <p class="font-semibold">${this.content.purposeTabLabel.features_title}</p>\n ${this.content.standardTexts?.features?`<p class="ot-group-note">${this.content.standardTexts.features}</p>`:""}\n <ul class="my-md">\n ${n.features.map(t=>`<li>${this.content.dataPurpose.features.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n </ul>\n </div>`:""}\n ${n.specialFeatures.length?`\n <div>\n <p class="font-semibold">${this.content.purposeTabLabel.special_features_label}</p>\n <ul class="my-md">\n ${n.specialFeatures.map(t=>`<li>${this.content.dataPurpose.specialFeatures.find(({id:e})=>e===t)?.name??""}</li>`).join("")}\n </ul>\n </div>\n `:""}\n ${n.dataDeclaration.length?`\n <div>\n <p class="font-semibold">${this.content.dataCategoriesTitle}</p>\n <ul class="my-md">\n ${n.dataDeclaration.map(t=>`<li>${this.content.dataCategories.find(e=>e.id===t)?.name??""}</li>`).join("")}\n </ul>\n </div>`:""}\n <div>\n <p class="font-semibold">${this.content.overviewTitle}</p>\n <ul class="my-md">\n ${n.usesCookies||n.usesNonCookieAccess?`<li>${this.content.purposeTabLabel.data_tracking_method}: ${n.usesCookies?n.usesNonCookieAccess?this.content.purposeTabLabel.useCookiesAndNonCookie:this.content.purposeTabLabel.useCookie:this.content.purposeTabLabel.useNonCookie}</li>`:""}\n ${n.cookieRefresh?`<li>${this.content.purposeTabLabel.cookie_lifetime_refreshed}</li>`:""}\n ${n.cookieMaxAgeSeconds?`\n <li>${this.content.purposeTabLabel.max_duration_cookies}: ${Math.floor(n.cookieMaxAgeSeconds/60/60/24)} ${this.content.purposeTabLabel.daysTxt}\n </li>`:""}\n </ul>\n </div>\n <button role="link" id="ot-show-more-vendor" aria-link="${n.deviceStorageDisclosureUrl}">${this.content.showMore}</button>\n </div>\n `};
25renderSubPurpose=(t,e)=>{const n=window.LIST_TAB[1].listGroup.find(e=>e.id===t);return`\n <div class="ot-group-item-wrapper">\n ${window.gvl[t].map(s=>`<div \n class="ot-group-consent ot-group-item" \n data-id="${s.id}" \n aria-expanded="false" \n >\n <div class="ot-group-consent-header">\n <button class="ot-heading-consent flex">\n ${this.arrowIcon}\n <span class="heading">${s?.name}</span>\n </button>\n ${e?"":`\n <div class="ot-group-action">\n ${n?.legInt&&this.listLegInt.purposeLegitimateInterests.has(s.id)?`\n <div class="ot-consent-action flex">\n <span>${this.content.legInterestTxt}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input\n class="omgCookie-input-switch"\n type="checkbox"\n data-checked="${this.dataConsent[n.legInt].includes(s.id)}"\n id="${n.legInt}-${s.id}" \n data-selector="${t}"\n />\n <label class="omgCookie" for="${n.legInt}-${s.id}"></label>\n </div>\n </div>\n </div>\n `:""}\n <div class="ot-consent-action flex">\n <span>${this.content.consentSwitch}</span>\n <div style="display: flex;align-items: center;gap: 10px;">\n <div class="omgCookie-switch">\n <input \n class="omgCookie-input-switch" \n type="checkbox"\n data-checked="${this.dataConsent[t].includes(s.id)}"\n id="${t}-${s.id}" \n data-selector="${t}"\n />\n <label class="omgCookie" for="${t}-${s.id}"></label>\n </div>\n </div>\n </div>\n </div>\n `}\n </div>\n </div>`).join("")}\n </div>`};renderPurposeDetails=(t,e)=>{const n=Number(e.attr("data-id")),s=this.content.dataPurpose?.[t]?.find(t=>t.id===n);return`\n <div class="ot-item-content">\n <p>${s.description}</p>\n <div>\n ${s.illustrations.length?`\n <p class="font-semibold">${this.content.purposeTabLabel.illustrations}</p>\n <ul class="my-md">\n ${s.illustrations.map(t=>`<li>${t}</li>`).join("")}\n </ul>\n `:""}\n </div>\n ${this.listLegInt.purposeLegitimateInterests.has(n)&&window.LIST_TAB[1].listGroup.find(e=>e.id===t).legInt?`<p class="font-semibold">${this.content.purposeTabLabel.number_vendors_leg}: ${window.gvl.statistics[t]?.[n]??0}</p>`:`<p class="font-semibold">${this.content.purposeTabLabel.number_vendors}: ${window.gvl.statistics[t]?.[n]??0}</p>`}\n </div>\n `};renderCategoryDetails=t=>{const e=window.LIST_TAB.find(t=>"categories"===t.id).listGroup.find(e=>e.id===t)?.content;return`\n <div class="ot-group-item-wrapper">\n <div class="ot-group-consent ot-group-item">\n <div class="ot-item-content ml-none">\n <p>${e}</p>\n </div>\n </div>\n </div>`};renderMoreVendor=t=>`\n <div>\n <p class="font-semibold">${this.content.disclosuresTitle}</p>\n <ul class="my-md">\n ${t.disclosures.map(t=>`\n <li class="font-semibold">${t.identifier} (${t.type})</li>\n <div>\n <p>${this.content.maxAgeTitle}: <span class="font-italic">${t.maxAgeSeconds} ${this.content.purposeTabLabel.secondsTxt}</span></p>\n <p>${this.content.refreshCookieTitle}: <span>${this.content.purposeTabLabel.yesTxt}</span></p>\n <p>${this.content.domainTitle}: <span class="font-italic">${t.domain?t.domain:t.domains.join(", ")}</span>\n </p>\n ${window.gvl.purposes.filter(({id:e})=>t.purposes.includes(e)).map(t=>`\n <p>${t.name}</p>\n `).join("")}\n </div>`).join("")}\n </ul>\n </div>\n <div>\n <p class="font-semibold">${this.content.domainTitle}</p>\n <ul class="my-md">\n ${t.domains.map(t=>`\n <li>${t.domain} <span class="font-italic">(${t.use})</span></li>`).join("")}\n </ul>\n </div>\n `;otToggleBanner=()=>({show:function(){$OT("#ot-cookies-banner").css("display","flex"),$OT(".cst-reopener-wrapper").fadeOut(100)},hide:(t=!1)=>
25{if($OT("#ot-cookies-banner").fadeOut(200),$OT("#ot-cookies-preference").fadeOut(200),$OT(".cst-reopener-wrapper").fadeIn(100),!t)return;const e=cstHelpers.getCookie(cstHelpers.cookieName),n=e?JSON.parse(e).consent:null,s=cstHelpers.getCookie(cstHelpers.consentTcf),o=e?JSON.parse(s):null,i=cstHelpers.getCookie(cstHelpers.consentGoogleAtp),a=i?JSON.parse(i):null;let r={vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[],...window.cstCategories.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{})};n&&o&&(!this.config?.showGoogleAdditionalConsent||a)&&(r=this.filteredData(o,a,n)),this.setConsentTcData(r)}});otBaseActionCookies=()=>{$OT(".ot-cookies-close").on("click",()=>this.otToggleBanner().hide(!0)),$OT(".ot-show-preferences").on("click",this.showPreferencePopup),$OT("#show-list-vendors").on("click",()=>{$OT('.ot-cookies-tab button[data-id="vendors"]').trigger("click")}),$OT('button[data-intent="preference"]').on("click",this.showPreferencePopup),$OT('button[data-intent="save"]').on("click",()=>{this.setConsentTcData(this.dataConsent),this.saveConsent(SUBMIT_TYPE.ACCEPT_PARTIAL)}),$OT('button[data-intent="allow"]').on("click",()=>{this.setConsentTcData({vendors:window.listIdsPublished.vendors,vendorLegitimateInterests:Array.from(this.listLegInt.vendorLegitimateInterests),purposes:window.listIdsPublished.purposes,purposeLegitimateInterests:Array.from(this.listLegInt.purposeLegitimateInterests),specialFeatures:window.listIdsPublished.specialFeatures,googleATP:window.listIdsPublished.googleATP,...window.cstCategories.reduce((t,e)=>(t[e.nameConsent]=!0,t),{})}),this.saveConsent(SUBMIT_TYPE.ACCEPT_ALL)}),$OT('button[data-intent="deny"]').on("click",()=>{this.clearConsentTcData(),this.saveConsent(SUBMIT_TYPE.DECLINE)}),$OT(document).on("keydown.cstTcfPopup",t=>{const e=$OT("#ot-cookies-preference");if(e.is(":visible")){if("Escape"===t.key){this.otToggleBanner().hide(!0);const t=$OT(".cst-reopen-trigger")[0];return void(t&&t.focus())}if("Tab"===t.key){const n=e.find('button:not([disabled]), [href], input:not([disabled]), select, textarea, [tabindex]:not([tabindex="-1"])');if(!n.length)return;const s=n[0],o=n[n.length-1];t.shiftKey?document.activeElement===s&&(t.preventDefault(),o.focus()):document.activeElement===o&&(t.preventDefault(),s.focus())}}})};setConsentTcData=t=>{this.tcModel.vendorConsents.empty(),this.tcModel.vendorLegitimateInterests.empty(),this.tcModel.purposeConsents.empty(),this.tcModel.purposeLegitimateInterests.empty(),this.tcModel.specialFeatureOptins.empty(),this.tcModel.vendorConsents.set(t.vendors),this.tcModel.vendorLegitimateInterests.set(t.vendorLegitimateInterests),this.tcModel.purposeConsents.set(t.purposes),this.tcModel.purposeLegitimateInterests.set(t.purposeLegitimateInterests),this.tcModel.specialFeatureOptins.set(t.specialFeatures),this.dataConsent=Object.assign(this.dataConsent,t)};saveConsent=t=>{this.otToggleBanner().hide(),this.updateGCMV2(),cstHelpers.setCookie(cstHelpers.consentTcf,JSON.stringify(this.encodeTCString(this.tcModel)));const e=window.cstCategories?.filter(({nameConsent:t})=>this.dataConsent[t]).map(({nameConsent:t})=>t);cstHelpers.setCookie(cstHelpers.cookieName,JSON.stringify({type:t,consent:t===SUBMIT_TYPE.DECLINE?[CONSENT_KEY.ESSENTIAL]:e})),this.config?.showGoogleAdditionalConsent&&cstHelpers.setCookie(cstHelpers.consentGoogleAtp,JSON.stringify(this.setGoogleAtpConsent(this.dataConsent.googleATP,window.gvl.googleATP))),this.updateWPConsentTCF(t)};clearConsentTcData=()=>{this.tcModel.vendorConsents.empty(),this.tcModel.vendorLegitimateInterests.empty(),this.tcModel.purposeConsents.empty(),this.tcModel.purposeLegitimateInterests.empty(),this.tcModel.specialFeatureOptins.empty(),this.dataConsent=Object.assign({vendors:[],vendorLegitimateInterests:[],purposes:[],purposeLegitimateInterests:[],specialFeatures:[],googleATP:[]},window.cstCategories?.reduce((t,e)=>(t[e.nameConsent]="essential"===e.nameConsent,t),{}))};static TCF_CORE_URLS={current:{stub:"https://cdn.jsdelivr.net/npm/@iabtechlabtcf/[email protected]/+esm",core:"https://cdn.jsdelivr.net/npm/@iabtechlabtcf/[email protected]/+esm"},legacy:{stub:"https://cdn.jsdelivr.net/npm/@iabtcf/[email protected]/+esm",core:"https://cdn.jsdelivr.net/npm/@iabtcf/[email protected]/+esm"}};useLegacyTcfCore(){return!0===this.config?.useLegacyTcfCore}async loadModule(){async function t(t){try{if(!(await fetch(t,{method:"HEAD"})).ok)throw new Error(`ð´ Cannot access ${t}`);return await import(t)}catch(e){return console.error(`â Failed to import ${t}`,e),null}}const e=ConsentikTcf.TCF_CORE_URLS[this.useLegacyTcfCore()?"legacy":"current"],n=await t(e.stub);return n?.default?.(),await t(e.core)}initListTab=()=>{window.LIST_TAB=[{id:"vendors",listGroup:[{id:"vendors",legInt:"vendorLegitimateInterests",title:this.content.thirdVendorTitle,labelAction:this.content.consentToAll,renderItem:this.renderVendorItem},{id:"googleATP",title:this.content.purposeTabLabel.googleAtpLabel,labelAction:this.content.consentToAll,renderItem:this.renderGoogleAtpItem,divider:!0,shouldShow:({showGoogleAdditionalConsent:t=!0})=>t}]},{id:"purposes",listGroup:[{id:"purposes",legInt:"purposeLegitimateInterests",title:this.content.purposeTabLabel.purposes_label,labelAction:this.content.consentToAll},{id:"specialPurposes",title:this.content.purposeTabLabel.special_purposes_label,helperText:this.content.alwaysActive,isNoAction:!0,labelAction:this.content.consentToAll},{id:"features",title:this.content.purposeTabLabel.features_label,isNoAction:!0,labelAction:this.content.consentToAll,note:this.content.standardTexts?.features},{id:"specialFeatures",title:this.content.purposeTabLabel.special_features_label,labelAction:this.content.consentToAll}]},{id:"categories",listGroup:window.cstCategories.map(t=>({id:t.nameConsent,title:t.name,disableUncheck:t.nameConsent===CONSENT_KEY.ESSENTIAL,content:t.description}))}]};setGoogleAtpConsent(t,e){const n=e.filter(e=>!new Set(t).has(e.id)).map(t=>
25t.id).join(".");return`${this.acStringVersion}${t.length?"~"+t.join("."):""}${n?"~dv."+n:""}`}getGoogleAtpConsent(t){if(!t||"string"!=typeof t)return[];const e=t.split("~");return e.length<2||e[1].startsWith("dv")?[]:e[1].split(".").map(Number)}updateWPConsentTCF(t,e){const n=e||this.dataConsent,s=Array.isArray(n)?n.reduce((t,e)=>({...t,[e]:!0}),{}):n,o=e=>{const n=(Array.isArray(e)?e:[e]).some(t=>s[t]);return t===SUBMIT_TYPE.ACCEPT_ALL||n?"allow":"deny"};"function"==typeof wp_set_consent?(wp_set_consent("marketing",o("advertising")),wp_set_consent("statistics",o("analytics")),wp_set_consent("functional",o("functional")),wp_set_consent("preferences",o(["preferences","functional"])),console.log("Consentik: WP Consent API updated.")):console.log("Consentik: WP Consent API plugin is not active.")}updateGCMV2=()=>{const t=window.otkConsent,e=[1,7].every(t=>this.dataConsent.purposes?.includes(t)),n=[3,4].every(t=>this.dataConsent.purposes?.includes(t)),s=this.dataConsent?.analytics,o=this.dataConsent?.functional,i=this.dataConsent?.advertising,a=[CONSENT_KEY.ESSENTIAL];if(s&&a.push(CONSENT_KEY.ANALYTICS),(e||n||i)&&a.push(CONSENT_KEY.ADVERTISING),o&&a.push(CONSENT_KEY.FUNCTIONAL),cstHelpers.setCookie(cstHelpers.consentGcm,JSON.stringify(a)),"undefined"!=typeof gtag&&t){const a={ad_user_data:e?"granted":"denied",ad_personalization:n?"granted":"denied",ad_storage:this.dataConsent.purposes.includes(1)?"granted":"denied",analytics_storage:s?"granted":"denied",functionality_storage:o?"granted":"denied",personalization_storage:o?"granted":"denied",security_storage:o?"granted":"denied"},r=!i;t.useDefaultTemplate||(gtag("consent","update",a),r&>ag("set","ads_data_redaction",window.cstGCM.ads_data_redaction)),window.cstDataConsent={security_storage:a.security_storage,ad_storage:a.ad_storage,ad_personalization:a.ad_personalization,ad_user_data:a.ad_user_data,analytics_storage:a.analytics_storage,functionality_storage:a.functionality_storage,personalization_storage:a.personalization_storage},window.gtmConsentCallback(window.cstDataConsent)}showGCMDebugMode()};syncAllConsent=(t,e,n)=>{switch(t){case"vendors":e?(this.dataConsent.purposes=window.listIdsPublished.purposes,this.dataConsent.purposeLegitimateInterests=Array.from(this.listLegInt.purposeLegitimateInterests),this.dataConsent.specialFeatures=window.listIdsPublished.specialFeatures):(this.dataConsent.purposes=[],this.dataConsent.purposeLegitimateInterests=[],this.dataConsent.specialFeatures=[]),$OT("#switch-ot-purposes").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="purposes"]').attr("data-checked",e),$OT("#switch-ot-specialFeatures").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="specialFeatures"]').attr("data-checked",e),this.syncAllPurposeToCategories(e);break;case"purposes":e?(this.dataConsent.vendors=window.listIdsPublished.vendors,this.dataConsent.vendorLegitimateInterests=Array.from(this.listLegInt.vendorLegitimateInterests)):(this.dataConsent.vendors=[],this.dataConsent.vendorLegitimateInterests=[]),$OT("#switch-ot-vendors").attr("data-checked",e),$OT('.omgCookie-input-switch[data-selector="vendors"]').attr("data-checked",e),this.syncAllPurposeToCategories(e);break;case"analytics":this.syncCategoriesToPurposes("analytics",e);break;case"advertising":this.syncCategoriesToPurposes("advertising",e)}};syncAllPurposeToCategories=t=>{window.listIdsPublished.analyticsPurposes.length&&(this.dataConsent.analytics=t,$OT("#switch-ot-analytics").attr("data-checked",t)),window.listIdsPublished.advertisingPurposes.length&&(this.dataConsent.advertising=t,$OT("#switch-ot-advertising").attr("data-checked",t))};syncPurposeToVendors=(t,e=[])=>{const n=new Set(this.dataConsent.vendors),s=new Set(this.dataConsent.purposes);for(const o of window.gvl.vendors){const i=new Set(o.purposes),a=e.some(t=>i.has(t)),r=n.has(o.id);if(a)if(t){if(r)continue;(i.isSubsetOf?i.isSubsetOf(s):o.purposes.every(t=>s.has(t)))&&(this.dataConsent.vendors.push(o.id),$OT(`#vendors-${o.id}`).attr("data-checked",!0))}else{if(!r)continue;this.dataConsent.vendors=this.dataConsent.vendors.filter(t=>t!==o.id),$OT(`#vendors-${o.id}`).attr("data-checked",!1)}}this.isConsentAll("vendors","vendorLegitimateInterests")?$OT("#switch-ot-vendors").attr("data-checked",!0):$OT("#switch-ot-vendors").attr("data-checked",!1)};syncConsentChildren=(t,e,n)=>{switch(t){case"vendors":{const t=window.gvl.vendors.find(t=>
25t.id===e);if(!t)break;const s=new Set(t.purposes),o=new Set(t.specialFeatures);if(n)s.forEach(t=>{this.dataConsent.purposes.includes(t)||(this.dataConsent.purposes.push(t),$OT(`#purposes-${t}`).attr("data-checked",!0))}),o.forEach(t=>{this.dataConsent.specialFeatures.includes(t)||(this.dataConsent.specialFeatures.push(t),$OT(`#specialFeatures-${t}`).attr("data-checked",!0))});else{const t=new Set,e=new Set,n=new Set(this.dataConsent.vendors);for(const s of window.gvl.vendors)n.has(s.id)&&(s.purposes.forEach(e=>t.add(e)),s.specialFeatures.forEach(t=>e.add(t)));s.forEach(e=>{t.has(e)||(this.dataConsent.purposes=this.dataConsent.purposes.filter(t=>t!==e),$OT(`#purposes-${e}`).attr("data-checked",!1))}),o.forEach(t=>{e.has(t)||(this.dataConsent.specialFeatures=this.dataConsent.specialFeatures.filter(e=>e!==t),$OT(`#specialFeatures-${t}`).attr("data-checked",!1))})}this.isConsentAll("purposes","purposeLegitimateInterests")?$OT("#switch-ot-purposes").attr("data-checked",!0):$OT("#switch-ot-purposes").attr("data-checked",!1),this.isConsentAll("specialFeatures")?$OT("#switch-ot-specialFeatures").attr("data-checked",!0):$OT("#switch-ot-specialFeatures").attr("data-checked",!1);const i=new Set(this.dataConsent.purposes),a=new Set(window.listIdsPublished.analyticsPurposes),r=new Set(window.listIdsPublished.advertisingPurposes);if(Array.from(s).some(t=>a.has(t))){const t=a.isSubsetOf?a.isSubsetOf(i):window.listIdsPublished.analyticsPurposes.every(t=>i.has(t));this.dataConsent.analytics=t,$OT("#switch-ot-analytics").attr("data-checked",t)}if(Array.from(s).some(t=>r.has(t))){const t=r.isSubsetOf?r.isSubsetOf(i):window.listIdsPublished.advertisingPurposes.every(t=>i.has(t));this.dataConsent.advertising=t,$OT("#switch-ot-advertising").attr("data-checked",t)}break}case"vendorLegitimateInterests":{const t=window.gvl.vendors.find(t=>t.id===e);if(!t)break;const s=new Set(t.legIntPurposes);if(n)s.forEach(t=>{this.dataConsent.purposeLegitimateInterests.includes(t)||(this.dataConsent.purposeLegitimateInterests.push(t),$OT(`#purposeLegitimateInterests-${t}`).attr("data-checked",!0))}),this.isConsentAll("purposes","purposeLegitimateInterests")&&$OT("#switch-ot-purposes").attr("data-checked",!0);else{const t=new Set,e=new Set(this.dataConsent.vendorLegitimateInterests);for(const n of window.gvl.vendors)e.has(n.id)&&n.legIntPurposes.forEach(e=>t.add(e));s.forEach(e=>{t.has(e)||(this.dataConsent.purposeLegitimateInterests=this.dataConsent.purposeLegitimateInterests.filter(t=>t!==e),$OT(`#purposeLegitimateInterests-${e}`).attr("data-checked",!1))}),$OT("#switch-ot-purposes").attr("data-checked",!1)}break}case"purposes":{const t=new Set(this.dataConsent.purposes);if(window.listIdsPublished.analyticsPurposes.includes(e)){const e=new Set(window.listIdsPublished.analyticsPurposes),n=e.isSubsetOf?e.isSubsetOf(t):window.listIdsPublished.analyticsPurposes.every(e=>t.has(e));this.dataConsent.analytics=n,$OT("#switch-ot-analytics").attr("data-checked",n)}if(window.listIdsPublished.advertisingPurposes.includes(e)){const e=new Set(window.listIdsPublished.advertisingPurposes),n=e.isSubsetOf?e.isSubsetOf(t):window.listIdsPublished.advertisingPurposes.every(e=>t.has(e));this.dataConsent.advertising=n,$OT("#switch-ot-advertising").attr("data-checked",n)}this.syncPurposeToVendors(n,e?[e]:[]);break}case"purposeLegitimateInterests":{const t=new Set(this.dataConsent.vendorLegitimateInterests),s=new Set(this.dataConsent.purposeLegitimateInterests);for(const o of window.gvl.vendors){const i=new Set(o.legIntPurposes);if(!i.has(e))continue;const a=t.has(o.id);if(n){if(a)continue;(i.isSubsetOf?i.isSubsetOf(s):o.legIntPurposes.every(t=>s.has(t)))&&(this.dataConsent.vendorLegitimateInterests.push(o.id),$OT(`#vendorLegitimateInterests-${o.id}`).attr("data-checked",!0))}else{if(!a)continue;this.dataConsent.vendorLegitimateInterests=this.dataConsent.vendorLegitimateInterests.filter(t=>t!==o.id),$OT(`#vendorLegitimateInterests-${o.id}`).attr("data-checked",!1)}}this.isConsentAll("vendors","vendorLegitimateInterests")?$OT("#switch-ot-vendors").attr("data-checked",!0):$OT("#switch-ot-vendors").attr("data-checked",!1);break}}};syncCategoriesToPurposes=(t,e)=>{const n="analytics"===t?window.listIdsPublished.analyticsPurposes:"advertising"===t?window.listIdsPublished.advertisingPurposes:[];if(e){let t=!1;for(const e of n)this.dataConsent.purposes.includes(e)||(this.dataConsent.purposes.push(e),$OT(`#purposes-${e}`).attr("data-checked",!0),t=!0);t&&this.isConsentAll("purposes","purposeLegitimateInterests")&&$OT("#switch-ot-purposes").attr("data-checked",!0)}else{const t=new Set(n);this.dataConsent.purposes=this.dataConsent.purposes.filter(e=>!t.has(e));for(const t of n)$OT(`#purposes-${t}`).attr("data-checked",!1);$OT("#switch-ot-purposes").attr("data-checked",!1)}
25this.syncPurposeToVendors(e,n)};isConsentAll=(t,e)=>this.dataConsent[t].length===window.listIdsPublished[t].length&&(!e||this.dataConsent[e].length===this.listLegInt[e].size)};(function () { 26 'use strict'; 27 28 var urlParams = new URLSearchParams(window.location.search); 29 if (!urlParams.has('gcm-debugger')) return; 30 31 // ââ Build marker ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 32 // Bump BUILD_VERSION on every change to this script. When you open the realtime 33 // debugger, this line appears in the opened storefront window's console â if you 34 // see this version, the deployed gcm-debugger.js is up to date. 35 var BUILD_VERSION = '2026-06-29.1 (hasTCFValid)'; 36 console.log('%c[Consentik GCM Debugger] build ' + BUILD_VERSION, 'color:#008060;font-weight:bold'); 37 38 // ââ Constants âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 39 var CONSENT_TYPES = [ 40 'ad_storage', 41 'analytics_storage', 42 'ad_user_data', 43 'ad_personalization', 44 'functionality_storage', 45 'personalization_storage', 46 'security_storage' 47 ]; 48 49 var ICON_OK = '<svg class="cst-icon cst-ok-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M4 10.5l4 4 8-8"/></svg>'; 50 var ICON_ERR = '<svg class="cst-icon cst-err-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M5 5l10 10M15 5L5 15"/></svg>'; 51 var ICON_WARN = '<svg class="cst-icon cst-warn-icon" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M10 3L2 17h16L10 3z"/><line x1="10" y1="11" x2="10" y2="13"/><circle cx="10" cy="15.5" r=".5" fill="currentColor"/></svg>'; 52 var ICON_DRAG = '<svg class="cst-icon cst-drag-icon" viewBox="0 0 20 20" fill="currentColor"><circle cx="7" cy="5" r="1.3"/><circle cx="13" cy="5" r="1.3"/><circle cx="7" cy="10" r="1.3"/><circle cx="13" cy="10" r="1.3"/><circle cx="7" cy="15" r="1.3"/><circle cx="13" cy="15" r="1.3"/></svg>'; 53 var ICON_CHEVRON = '<svg class="cst-chevron" viewBox="0 0 20 20" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round"><path d="M5 8l5 5 5-5"/></svg>'; 54 55 // ââ State âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 56 var activeTab = 'overview'; 57 var isCollapsed = false; 58 var eventLog = []; 59 var activeFilter = 'all'; 60 61 // ââ DataLayer helpers âââââââââââââââââââââââââââââââââââââââââââââââââââââ 62 function getDL() { return window.dataLayer || []; } 63 64 function findDefaults(dl) { 65 return dl.filter(function(d) { return d && d[0] === 'consent' && d[1] === 'default'; }); 66 } 67 68 function findLastUpdate(dl) { 69 var updates = dl.filter(function(d) { return d && d[0] === 'consent' && d[1] === 'update'; }); 70 return updates.length ? updates[updates.length - 1] : null; 71 } 72 73 function computeChecks(dl) { 74 var defaults = findDefaults(dl); 75 var defEntry = defaults[0]; 76 var updateEntry = findLastUpdate(dl); 77 78 var defFired = defaults.length > 0; 79 var defValid = defFired && defEntry[2] && 80 (defEntry[2].ad_storage !== undefined || defEntry[2].analytics_storage !== undefined); 81 var hasWaitUpdate = defFired && defEntry[2] && defEntry[2].wait_for_update !== undefined; 82 83 var defIdx = -1, gtIdx = -1; 84 for (var i = 0; i < dl.length; i++) { 85 if (dl[i] && dl[i][0] === 'consent' && dl[i][1] === 'default' && defIdx === -1) defIdx = i; 86 if (dl[i] && (dl[i][0] === 'js' || dl[i][0] === 'config') && gtIdx === -1) gtIdx = i; 87 } 88 var cmpFirst = defIdx !== -1 && (gtIdx === -1 || defIdx < gtIdx); 89 90 // updateFired: either via dataLayer OR banner set cstDataConsent after user action 91 var updateFired = !!updateEntry || !!window.cstDataConsent; 92 93 return { 94 hasEmbedded: !!window.cstInstanceId, 95 hasGCM: defFired || typeof window.gtag === 'function', 96 defFired: defFired, 97 defValid: defValid, 98 hasWaitUpdate: hasWaitUpdate, 99 cmpFirst: cmpFirst, 100 updateFired: updateFired 101 }; 102 } 103 104 function getConsentVal(type, defaults, updateEntry) { 105 var defEntry = defaults[0]; 106 var defVal = defEntry && defEntry[2] ? defEntry[2][type] : undefined; 107 108 // Priority 1: window.cstDataConsent â set by banner after every user action 109 if (window.cstDataConsent && window.cstDataConsent[type] !== undefined) { 110 return { def: defVal, current: window.cstDataConsent[type] }; 111 } 112 // Priority 2: last dataLayer consent update 113 var updVal = updateEntry && updateEntry[2] ? updateEntry[2][type] : undefined; 114 return { def: defVal, current: updVal !== undefined ? updVal : defVal }; 115 } 116 117 // ââ Render helpers ââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 118 function badge(value) { 119 if (value === 'granted') return '<span class="cst-badge cst-granted">granted</span>'; 120 if (value === 'denied') return '<span class="cst-badge cst-denied">denied</span>'; 121 return '<span class="cst-badge cst-na">â</span>'; 122 } 123 124 function checkRow(icon, label, detail, cssClass) { 125 var pill = cssClass === 'ok' ? 'PASS' : cssClass === 'fail' ? 'FAIL' : 'WARN'; 126 return '<div class="cst-check ' + cssClass + '">' + 127 '<span class="cst-check-icon">' + icon + '</span>' + 128 '<span class="cst-check-body">' + 129 '<span class="cst-check-label">' + label + '</span>' + 130 (detail ? '<span class="cst-check-detail">' + detail + '</span>' : '') + 131 '</span>' + 132 '<span class="cst-check-status">' + pill + '</span>' + 133 '</div>'; 134 } 135 136 function renderOverview() { 137 var dl = getDL(); 138 var defaults = findDefaults(dl); 139 var updateEntry = findLastUpdate(dl); 140 var checks = computeChecks(dl); 141 var defEntry = defaults[0]; 142 143 // Compliance checks 144 var rows = [ 145 checkRow( 146 checks.hasEmbedded ? ICON_OK : ICON_ERR, 147 'Consentik CMP script added', 148 checks.hasEmbedded ? '' : 'Script not detected on this page', 149 checks.hasEmbedded ? 'ok' : 'fail' 150 ), 151 checkRow( 152 checks.hasGCM ? ICON_OK : ICON_ERR, 153 'Google Consent Mode initialized',
154 checks.hasGCM ? '' : 'No gtag("consent", "default", ...) found in dataLayer', 155 checks.hasGCM ? 'ok' : 'fail' 156 ), 157 checkRow( 158 !checks.defFired ? ICON_ERR : checks.cmpFirst ? ICON_OK : ICON_WARN, 159 'Consent default fired before Google tags', 160 !checks.defFired 161 ? 'No consent default found in dataLayer' 162 : !checks.cmpFirst 163 ? 'Consent default fired AFTER Google tags â late consent!' 164 : '', 165 !checks.defFired ? 'fail' : checks.cmpFirst ? 'ok' : 'warn' 166 ), 167 checkRow( 168 checks.defValid ? ICON_OK : ICON_ERR, 169 'Default command is valid', 170 !checks.defValid ? 'At least ad_storage or analytics_storage must be set' : '', 171 checks.defValid ? 'ok' : 'fail' 172 ), 173 checkRow( 174 checks.hasWaitUpdate ? ICON_OK : ICON_WARN, 175 'wait_for_update is set', 176 !checks.hasWaitUpdate 177 ? 'Recommended: add wait_for_update to hold Google tags' 178 : 'wait_for_update: ' + (defEntry && defEntry[2] ? defEntry[2].wait_for_update : '?') + ' ms', 179 checks.hasWaitUpdate ? 'ok' : 'warn' 180 ), 181 checkRow( 182 checks.updateFired ? ICON_OK : ICON_WARN, 183 'Consent update fired after user decision', 184 !checks.updateFired ? 'Waiting for user interactionâ¦' : '', 185 checks.updateFired ? 'ok' : 'warn' 186 ) 187 ]; 188 189 // Consent table 190 var tableRows = CONSENT_TYPES.map(function(type) { 191 var v = getConsentVal(type, defaults, updateEntry); 192 var changed = v.def !== v.current; 193 return '<tr' + (changed ? ' class="cst-changed-row"' : '') + '>' + 194 '<td class="cst-type">' + type + '</td>' + 195 '<td>' + badge(v.def) + '</td>' + 196 '<td>' + badge(v.current) + '</td>' + 197 '</tr>'; 198 }).join(''); 199 200 // Region info 201 var regionRows = ''; 202 defaults.forEach(function(d) { 203 if (d[2] && d[2].region && d[2].region.length) { 204 regionRows += '<div class="cst-meta-row">' + 205 '<span class="cst-meta-key">region</span>' + 206 '<span class="cst-meta-val">' + d[2].region.join(', ') + '</span>' + 207 '</div>'; 208 } 209 }); 210 211 var waitMs = defEntry && defEntry[2] && defEntry[2].wait_for_update; 212 var waitRow = '<div class="cst-meta-row' + (waitMs ? '' : ' cst-meta-missing') + '">' + 213 '<span class="cst-meta-key">wait_for_update</span>' + 214 '<span class="cst-meta-val">' + (waitMs ? waitMs + ' ms' : 'not set') + '</span>' + 215 '</div>'; 216 217 return '<div class="cst-section">' + 218 '<div class="cst-section-title">Compliance Checks</div>' + 219 '<div class="cst-checks" id="cst-checks">' + rows.join('') + '</div>' + 220 '</div>' + 221 '<div class="cst-section">' + 222 '<div class="cst-section-title">Consent State</div>' + 223 '<div class="cst-table-wrap">' + 224 '<table class="cst-table">' + 225 '<colgroup><col style="width:54%"><col style="width:23%"><col style="width:23%"></colgroup>' + 226 '<thead><tr><th>Consent Type</th><th>Default</th><th>Current</th></tr></thead>' + 227 '<tbody id="cst-consent-tbody">' + tableRows + '</tbody>' + 228 '</table>' + 229 '</div>' + 230 '</div>' + 231 '<div class="cst-section cst-meta-section">' + 232 waitRow + 233 regionRows + 234 '</div>'; 235 } 236 237 function renderEvents() { 238 var lines = eventLog.map(function(e) { 239 return renderEventLine(e.entry, e.time); 240 }).join(''); 241 return '<div class="cst-event-log" id="cst-event-log">' + 242 (lines || '<div class="cst-empty">Waiting for eventsâ¦</div>') + 243 '</div>'; 244 } 245 246 function renderEventLine(entry, time) { 247 var type = entry ? (entry[0] || '') : ''; 248 var sub = entry && entry[1] ? ' <strong>' + entry[1] + '</strong>' : ''; 249 var highlight = (type === 'consent') ? ' cst-log-consent' : ''; 250 return '<div class="cst-log-line' + highlight + '" data-entry-type="' + type + '">' + 251 '<span class="cst-log-time">' + time + '</span>' + 252 '<span class="cst-log-type">' + type + sub + '</span>' + 253 '</div>'; 254 } 255 256 // ââ Build DOM âââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 257 function buildPanel() { 258 var w = document.createElement('div'); 259 w.id = 'cst-gcm-debugger-wrapper'; 260 w.innerHTML = 261 '<div class="cst-dbg-header" id="cst-dbg-handle">' + 262 '<div class="cst-dbg-header-left">' + 263 '<span class="cst-dbg-logo">G</span>' + 264 '<span class="cst-dbg-title">GCM Debugger</span>' + 265 '<span class="cst-dbg-badge">LIVE</span>' + 266 '</div>' + 267 '<button class="cst-icon-btn" id="cst-btn-collapse" title="Collapse">' + ICON_CHEVRON + '<span class="cst-ping" id="cst-ping"></span></button>' + 268 '</div>' + 269 '<div id="cst-collapse-body">' + 270 '<div class="cst-dbg-tabs">' + 271 '<button class="cst-tab active" data-tab="overview">Overview</button>' + 272 '<button class="cst-tab" data-tab="events">Events <span class="cst-tab-badge" id="cst-events-count">0</span></button>' + 273 '</div>' + 274 '<div class="cst-dbg-body">' + 275 '<div class="cst-pane active" id="cst-pane-overview">' + renderOverview() + '</div>' + 276 '<div class="cst-pane" id="cst-pane-events">' + 277 '<div class="cst-filter-bar">' + 278 '<button class="cst-chip active" data-filter="all">All</button>' + 279 '<button class="cst-chip" data-filter="consent">Consent</button>' + 280 '<button class="cst-chip" data-filter="tags">Tags</button>' + 281 '</div>' + 282 renderEvents() + 283 '</div>' + 284 '</div>' + 285 '</div>'; 286 return w; 287 } 288 289 // ââ Event wiring ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 290 function setupTabs(w) {
291 w.querySelectorAll('.cst-tab').forEach(function(btn) { 292 btn.addEventListener('click', function() { 293 activeTab = this.getAttribute('data-tab'); 294 w.querySelectorAll('.cst-tab').forEach(function(t) { 295 t.classList.toggle('active', t.getAttribute('data-tab') === activeTab); 296 }); 297 w.querySelectorAll('.cst-pane').forEach(function(p) { 298 p.classList.toggle('active', p.id === 'cst-pane-' + activeTab); 299 }); 300 }); 301 }); 302 } 303 304 function setupCollapse(w) { 305 var btn = w.querySelector('#cst-btn-collapse'); 306 var body = w.querySelector('#cst-collapse-body'); 307 if (!btn || !body) return; 308 btn.addEventListener('click', function() { 309 isCollapsed = !isCollapsed; 310 body.style.display = isCollapsed ? 'none' : ''; 311 w.classList.toggle('cst-gcm-collapsed', isCollapsed); 312 }); 313 } 314 315 function setupDrag(w) { 316 var handle = w.querySelector('#cst-dbg-handle'); 317 if (!handle) return; 318 var sx = 0, sy = 0, sl = 0, st = 0; 319 320 handle.addEventListener('mousedown', function(e) { 321 if (e.target.closest && e.target.closest('button')) return; 322 e.preventDefault(); 323 sx = e.clientX; sy = e.clientY; 324 var rect = w.getBoundingClientRect(); 325 sl = rect.left; st = rect.top; 326 327 function onMove(e) { 328 var nl = Math.max(0, Math.min(sl + e.clientX - sx, window.innerWidth - w.offsetWidth)); 329 var nt = Math.max(0, Math.min(st + e.clientY - sy, window.innerHeight - w.offsetHeight)); 330 w.style.left = nl + 'px'; 331 w.style.top = nt + 'px'; 332 w.style.right = 'auto'; 333 w.style.bottom = 'auto'; 334 } 335 function onUp() { 336 document.removeEventListener('mousemove', onMove); 337 document.removeEventListener('mouseup', onUp); 338 } 339 document.addEventListener('mousemove', onMove); 340 document.addEventListener('mouseup', onUp); 341 }); 342 } 343 344 function setupFilterChips(w) { 345 w.querySelectorAll('.cst-chip[data-filter]').forEach(function(chip) { 346 chip.addEventListener('click', function() { 347 activeFilter = this.getAttribute('data-filter'); 348 w.querySelectorAll('.cst-chip[data-filter]').forEach(function(c) { 349 c.classList.toggle('active', c.getAttribute('data-filter') === activeFilter); 350 }); 351 var log = w.querySelector('#cst-event-log'); 352 if (!log) return; 353 log.querySelectorAll('.cst-log-line[data-entry-type]').forEach(function(row) { 354 row.style.display = matchesFilter(row.getAttribute('data-entry-type'), activeFilter) ? '' : 'none'; 355 }); 356 }); 357 }); 358 } 359 360 // ââ Live updates ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 361 function refreshOverview(w) { 362 var pane = w.querySelector('#cst-pane-overview'); 363 if (pane) pane.innerHTML = renderOverview(); 364 } 365 366 function matchesFilter(type, filter) { 367 if (filter === 'all') return true; 368 if (filter === 'consent') return type === 'consent'; 369 if (filter === 'tags') return type !== 'consent' && type !== 'js'; 370 return true; 371 } 372 373 function triggerPing(w) { 374 var ping = w.querySelector('#cst-ping'); 375 if (!ping) return; 376 ping.classList.remove('active'); 377 void ping.offsetWidth; // force reflow to restart animation 378 ping.classList.add('active'); 379 setTimeout(function() { ping.classList.remove('active'); }, 1300); 380 } 381 382 function appendToEventLog(w, entry) { 383 var log = w.querySelector('#cst-event-log'); 384 if (!log) return; 385 var empty = log.querySelector('.cst-empty'); 386 if (empty) empty.remove(); 387 388 var type = entry ? (entry[0] || '') : ''; 389 var sub = entry && entry[1] ? ' <strong>' + entry[1] + '</strong>' : ''; 390 var highlight = (type === 'consent') ? ' cst-log-consent' : ''; 391 392 var line = document.createElement('div'); 393 line.className = 'cst-log-line cst-event-fresh' + highlight; 394 line.setAttribute('data-entry-type', type); 395 if (!matchesFilter(type, activeFilter)) line.style.display = 'none'; 396 line.innerHTML = 397 '<span class="cst-log-time">' + new Date().toLocaleTimeString() + '</span>' + 398 '<span class="cst-log-type">' + type + sub + '</span>'; 399 log.appendChild(line); 400 log.scrollTop = log.scrollHeight; 401 402 // Update count badge 403 var countBadge = w.querySelector('#cst-events-count'); 404 if (countBadge) countBadge.textContent = eventLog.length; 405 406 // Ping chevron when panel is collapsed and a consent event fires 407 if (isCollapsed && type === 'consent') triggerPing(w); 408 } 409 410 function setupDataLayerInterceptor(w) { 411 if (!window.dataLayer) return; 412 var orig = window.dataLayer.push.bind(window.dataLayer); 413 window.dataLayer.push = function() { 414 var result = orig.apply(window.dataLayer, arguments); 415 for (var i = 0; i < arguments.length; i++) { 416 var entry = arguments[i]; 417 var time = new Date().toLocaleTimeString(); 418 eventLog.push({ entry: entry, time: time }); 419 appendToEventLog(w, entry); 420 if (entry && entry[0] === 'consent') { 421 refreshOverview(w); 422 postToOpener(computeChecks(window.dataLayer)); 423 } 424 } 425 return result; 426 }; 427 } 428 429 // Watch window.cstDataConsent â the banner always sets this after a user consent action, 430 // even when gtag('consent','update') is not called (e.g. useDefaultTemplate sites). 431 function watchConsentSignal(w) { 432 var _stored = window.cstDataConsent; 433 try { 434 Object.defineProperty(window, 'cstDataConsent', { 435 configurable: true, 436 enumerable: true, 437 get: function() { return _stored; }, 438 set: function(val) { 439 _stored = val; 440 var time = new Date().toLocaleTimeString(); 441 // Synthesize a consent update entry for the event log 442 var syntheticEntry = ['consent', 'update', val]; 443 eventLog.push({ entry: syntheticEntry, time: time }); 444 appendToEventLog(w, syntheticEntry); 445 refreshOverview(w); 446 postToOpener(computeChecks(window.dataLayer)); 447 } 448 }); 449 } catch (e) { /* already defined non-configurable â skip */ } 450 } 451 452 // ââ Inject CSS inline (placeholder replaced by merge.js / minify.js) âââââ 453 function injectStyles() { 454 if (document.getElementById('cst-gcm-debugger-styles')) return; 455 var style = document.createElement('style'); 456 style.id = 'cst-gcm-debugger-styles'; 457 style.textContent = `/* âââââââââââââââââââââââââââââââââââââââââââââââââââââââ 458 Consentik · GCM Debugger Panel 459 Design: Consentik brand â ink #053b3b · lime #E7FD99 460 âââââââââââââââââââââââââââââââââââââââââââââââââââââââ */ 461 462@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;600;700&family=Lexend:wght@400;500;600;700&display=swap'); 463 464/* ââ Tokens âââââââââââââââââââââââââââââââââââââââââââââ */ 465#cst-gcm-debugger-wrapper { 466 --ink: #053b3b; 467 --ink-75: rgba(5,59,59,.75); 468 --ink-40: rgba(5,59,59,.40); 469 --ink-12: rgba(5,59,59,.12); 470 --ink-06: rgba(5,59,59,.06); 471 --lime: #E7FD99; 472 --lime-soft: rgba(231,253,153,.28); 473 --lime-bar: #b8e832; 474 --green: #0fa84a; 475 --green-soft: #cfeed7; 476 --green-bg: #edfbf2; 477 --warn: #c98a1a; 478 --warn-bg: #fcf3d6; 479 --danger: #d94545; 480 --danger-soft: #fde2e2; 481 --muted: #4a6a64; 482 --line: #e9f1ec; 483 --bg-soft: #f4f9f6; 484 --bg-page: #faf9f5; 485 --sans: 'Lexend', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; 486 --mono: 'JetBrains Mono', ui-monospace, 'SF Mono', Menlo, Consolas, monospace; 487 --ease-out: cubic-bezier(.16,.84,.32,1); 488 489 /* ââ Base ââ */ 490 position: fixed; 491 right: 20px; 492 bottom: 20px; 493 width: 448px; 494 max-width: calc(100vw - 32px); 495 z-index: 2147483647; 496 background: #ffffff; 497 border: 1px solid var(--ink-12); 498 border-radius: 14px; 499 box-shadow: 500 0 0 0 1px rgba(10,18,48,.04), 501 0 4px 16px rgba(10,18,48,.08), 502 0 20px 48px rgba(10,18,48,.12); 503 font-family: var(--sans); 504 font-size: 13px; 505 color: var(--ink); 506 overflow: hidden; 507 line-height: 1.5; 508} 509 510:where(#cst-gcm-debugger-wrapper) *, 511:where(#cst-gcm-debugger-wrapper) *::before, 512:where(#cst-gcm-debugger-wrapper) *::after { 513 box-sizing: border-box; 514 margin: 0; 515 padding: 0; 516 font-size: inherit; 517 font-family: inherit; 518 line-height: inherit; 519} 520:where(#cst-gcm-debugger-wrapper) button { 521 cursor: pointer;
522 color: inherit; 523 font: inherit; 524 border: none; 525 background: transparent; 526 -webkit-appearance: none; 527 appearance: none; 528} 529 530/* ââ Header âââââââââââââââââââââââââââââââââââââââââââââ */ 531.cst-dbg-header { 532 display: flex; 533 align-items: center; 534 justify-content: space-between; 535 padding: 10px 12px 10px 14px; 536 background: var(--ink); 537 cursor: grab; 538 user-select: none; 539 gap: 10px; 540} 541.cst-dbg-header:active { cursor: grabbing; } 542 543.cst-dbg-header-left { 544 display: flex; 545 align-items: center; 546 gap: 9px; 547} 548 549/* Logo: ink square with lime G */ 550.cst-dbg-logo { 551 width: 24px; 552 height: 24px; 553 border-radius: 6px; 554 background: rgba(231,253,153,.15); 555 border: 1.5px solid rgba(231,253,153,.35); 556 display: flex; 557 align-items: center; 558 justify-content: center; 559 flex-shrink: 0; 560 font-size: 12px; 561 font-weight: 800; 562 color: var(--lime); 563 letter-spacing: -0.5px; 564} 565 566.cst-dbg-title { 567 font-size: 13px; 568 font-weight: 600; 569 color: rgba(255,255,255,.92); 570 white-space: nowrap; 571} 572 573/* LIVE badge */ 574.cst-dbg-badge { 575 display: inline-flex; 576 align-items: center; 577 gap: 5px; 578 font-size: 10px; 579 font-weight: 600; 580 letter-spacing: .06em; 581 color: var(--green); 582 background: var(--green-bg); 583 padding: 3px 8px 3px 6px; 584 border-radius: 20px; 585 white-space: nowrap; 586} 587.cst-dbg-badge::before { 588 content: ''; 589 width: 6px; 590 height: 6px; 591 border-radius: 50%; 592 background: var(--green); 593 display: block; 594 flex-shrink: 0; 595 animation: cst-gcm-pulse 1.6s ease-in-out infinite; 596} 597 598@keyframes cst-gcm-pulse { 599 0%, 100% { box-shadow: 0 0 0 0 rgba(15,168,74,.45); } 600 50% { box-shadow: 0 0 0 4px rgba(15,168,74,0); } 601} 602 603/* Collapse button */ 604.cst-icon-btn { 605 position: relative; 606 display: flex; 607 align-items: center; 608 justify-content: center; 609 width: 28px; 610 height: 28px; 611 border-radius: 6px; 612 color: rgba(255,255,255,.55); 613 transition: background 150ms ease, color 150ms ease; 614 flex-shrink: 0; 615} 616.cst-icon-btn:hover { background: rgba(255,255,255,.1); color: rgba(255,255,255,.9); } 617 618/* Collapsed-state ping dot */ 619.cst-ping { 620 position: absolute; 621 top: 3px; 622 right: 3px; 623 width: 7px; 624 height: 7px; 625 border-radius: 50%; 626 background: var(--lime); 627 display: none; 628 animation: cst-gcm-flash 1.2s var(--ease-out) forwards; 629} 630.cst-ping.active { display: block; } 631 632@keyframes cst-gcm-flash { 633 0% { transform: scale(.4); opacity: 1; } 634 100% { transform: scale(2.2); opacity: 0; } 635} 636 637/* ââ Icons ââââââââââââââââââââââââââââââââââââââââââââââ */ 638.cst-icon { 639 width: 14px; 640 height: 14px; 641 display: block; 642 flex-shrink: 0; 643} 644.cst-ok-icon { color: var(--green); } 645.cst-err-icon { color: var(--danger); } 646.cst-warn-icon { color: var(--warn); } 647.cst-chevron { 648 width: 14px; 649 height: 14px; 650 display: block; 651 transition: transform 250ms var(--ease-out); 652} 653.cst-gcm-collapsed .cst-chevron { transform: rotate(180deg); } 654 655/* ââ Tabs âââââââââââââââââââââââââââââââââââââââââââââââ */ 656.cst-dbg-tabs { 657 display: flex; 658 background: var(--bg-soft); 659 border-bottom: 1px solid var(--line); 660 padding: 0 16px; 661} 662 663.cst-tab { 664 display: inline-flex; 665 align-items: center; 666 gap: 6px; 667 padding: 9px 12px; 668 background: transparent; 669 border-bottom: 2px solid transparent; 670 cursor: pointer; 671 font-size: 12.5px; 672 font-weight: 500; 673 color: var(--muted); 674 transition: color 150ms ease, border-color 150ms ease; 675 margin-bottom: -1px; 676 white-space: nowrap; 677} 678.cst-tab.active { color: var(--ink); border-bottom-color: var(--ink); font-weight: 600; } 679.cst-tab:hover:not(.active) { color: var(--ink); } 680 681/* Event count badge on tab */ 682.cst-tab-badge { 683 display: inline-flex; 684 align-items: center; 685 justify-content: center; 686 min-width: 18px; 687 height: 16px; 688 padding: 0 5px; 689 border-radius: 20px; 690 font-size: 10px; 691 font-weight: 700; 692 font-family: var(--mono); 693 background: var(--line); 694 color: var(--muted); 695 transition: background 150ms ease, color 150ms ease; 696} 697.cst-tab.active .cst-tab-badge { 698 background: var(--ink); 699 color: var(--lime); 700} 701 702/* ââ Body âââââââââââââââââââââââââââââââââââââââââââââââ */ 703.cst-dbg-body { 704 max-height: 430px; 705 overflow-y: auto; 706 overflow-x: hidden; 707 scrollbar-width: thin; 708 scrollbar-color: var(--line) transparent; 709}
710.cst-dbg-body::-webkit-scrollbar { width: 3px; } 711.cst-dbg-body::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; } 712 713.cst-pane { display: none; padding: 16px; } 714.cst-pane.active { display: block; } 715 716/* ââ Section ââââââââââââââââââââââââââââââââââââââââââââ */ 717.cst-section { margin-bottom: 20px; } 718.cst-section:last-child { margin-bottom: 0; } 719 720.cst-section-title { 721 font-size: 10.5px; 722 font-weight: 700; 723 text-transform: uppercase; 724 letter-spacing: .09em; 725 color: var(--muted); 726 margin-bottom: 10px; 727 display: flex; 728 align-items: center; 729 gap: 8px; 730} 731.cst-section-title::after { 732 content: ''; 733 flex: 1; 734 height: 1px; 735 background: var(--line); 736} 737 738/* ââ Compliance checks ââââââââââââââââââââââââââââââââââ */ 739.cst-checks { display: flex; flex-direction: column; } 740 741.cst-check { 742 display: flex; 743 align-items: flex-start; 744 gap: 9px; 745 padding: 9px 8px; 746 border-radius: 8px; 747 transition: background 150ms ease; 748 cursor: default; 749} 750.cst-check:hover { background: var(--bg-soft); } 751 752.cst-check-icon { 753 flex-shrink: 0; 754 display: flex; 755 align-items: center; 756 justify-content: center; 757 width: 18px; 758 height: 18px;
759 margin-top: 1px; 760} 761 762.cst-check-body { 763 flex: 1; 764 min-width: 0; 765 display: flex; 766 flex-direction: column; 767 gap: 2px; 768} 769 770.cst-check-label { 771 font-size: 12.5px; 772 font-weight: 500; 773 color: var(--ink); 774 line-height: 1.4; 775} 776.cst-check-label code { 777 font-family: var(--mono); 778 font-size: 11px; 779 background: var(--bg-soft); 780 padding: 1px 4px; 781 border-radius: 3px; 782 color: var(--ink-75); 783} 784 785.cst-check-detail { 786 font-size: 11.5px; 787 color: var(--muted); 788 line-height: 1.4; 789} 790.cst-check.fail .cst-check-detail { color: var(--danger); } 791.cst-check.warn .cst-check-detail { color: var(--warn); } 792 793.cst-check-status { 794 flex-shrink: 0; 795 margin-top: 2px; 796 font-size: 9.5px; 797 font-weight: 700; 798 letter-spacing: .07em; 799 padding: 2px 8px; 800 border-radius: 20px; 801 font-family: var(--mono); 802 white-space: nowrap; 803} 804.cst-check.ok .cst-check-status { background: var(--green-soft); color: var(--green); } 805.cst-check.fail .cst-check-status { background: var(--danger-soft); color: var(--danger); } 806.cst-check.warn .cst-check-status { background: var(--warn-bg); color: var(--warn); } 807 808/* ââ Consent state table ââââââââââââââââââââââââââââââââ */ 809.cst-table-wrap { 810 border: 1px solid var(--line); 811 border-radius: 10px; 812 overflow: hidden; 813} 814 815.cst-table { 816 width: 100%; 817 border-collapse: collapse; 818 font-size: 12.5px; 819 table-layout: fixed; 820} 821 822.cst-table th { 823 text-align: left; 824 padding: 8px 12px; 825 background: var(--bg-soft); 826 color: var(--muted); 827 font-size: 10.5px; 828 font-weight: 700; 829 text-transform: uppercase; 830 letter-spacing: .07em; 831 border-bottom: 1px solid var(--line); 832} 833.cst-table th:nth-child(2), 834.cst-table th:nth-child(3) { text-align: center; } 835 836.cst-table td { 837 padding: 8px 12px; 838 border-bottom: 1px solid var(--line); 839 vertical-align: middle; 840 color: var(--ink); 841 transition: background 250ms ease; 842} 843.cst-table td:nth-child(2), 844.cst-table td:nth-child(3) { text-align: center; } 845.cst-table tr:last-child td { border-bottom: none; } 846.cst-table tr:hover td { background: var(--bg-soft); } 847 848/* Changed row: lime-soft bg + lime left accent bar */ 849.cst-table tr.cst-changed-row td { background: var(--lime-soft); } 850.cst-table tr.cst-changed-row td:first-child { 851 border-left: 3px solid var(--lime-bar); 852 padding-left: 9px; 853} 854.cst-table tr.cst-changed-row:hover td { background: rgba(231,253,153,.38); } 855 856.cst-type { 857 font-family: var(--mono); 858 font-size: 11.5px; 859 color: var(--ink); 860} 861 862/* ââ Badges âââââââââââââââââââââââââââââââââââââââââââââ */ 863.cst-badge { 864 display: inline-block; 865 padding: 2px 9px; 866 border-radius: 20px; 867 font-size: 11px; 868 font-weight: 600; 869 white-space: nowrap; 870 font-family: var(--mono); 871} 872.cst-granted { background: var(--green-soft); color: var(--green); } 873.cst-denied { background: var(--bg-soft); color: var(--muted); } 874.cst-na { color: var(--line); font-size: 18px; line-height: 1; font-family: inherit; } 875 876/* ââ Meta section âââââââââââââââââââââââââââââââââââââââ */ 877.cst-meta-section { 878 margin-top: 14px; 879 padding-top: 14px; 880 border-top: 1px solid var(--line); 881} 882 883.cst-meta-row { 884 display: flex; 885 align-items: center; 886 padding: 4px 8px; 887 gap: 10px; 888 border-radius: 6px; 889} 890.cst-meta-row:hover { background: var(--bg-soft); } 891 892.cst-meta-key { 893 font-family: var(--mono); 894 font-size: 11.5px; 895 color: var(--muted); 896 min-width: 136px; 897 flex-shrink: 0; 898} 899.cst-meta-val { 900 font-size: 12.5px; 901 color: var(--ink); 902 font-weight: 500; 903} 904.cst-meta-missing .cst-meta-val { color: var(--danger); } 905 906/* ââ Filter chips âââââââââââââââââââââââââââââââââââââââ */ 907.cst-filter-bar { 908 display: flex; 909 align-items: center; 910 gap: 6px; 911 padding-bottom: 12px; 912} 913 914.cst-chip { 915 display: inline-flex; 916 align-items: center; 917 gap: 4px; 918 padding: 3px 10px; 919 border-radius: 20px; 920 font-size: 11.5px; 921 font-weight: 500; 922 color: var(--muted); 923 background: var(--bg-soft); 924 border: 1px solid var(--line); 925 cursor: pointer; 926 transition: all 150ms ease; 927 white-space: nowrap; 928} 929.cst-chip:hover { color: var(--ink); border-color: var(--ink-40); } 930.cst-chip.active { 931 background: var(--ink); 932 color: var(--lime); 933 border-color: var(--ink); 934 font-weight: 600; 935} 936 937/* ââ Event log ââââââââââââââââââââââââââââââââââââââââââ */ 938.cst-event-log { 939 font-family: var(--mono); 940 font-size: 11.5px; 941 border: 1px solid var(--line); 942 border-radius: 10px; 943 overflow: hidden; 944 overflow-y: auto; 945 max-height: 340px; 946 scrollbar-width: thin; 947 scrollbar-color: var(--line) transparent; 948}
949.cst-event-log::-webkit-scrollbar { width: 3px; } 950.cst-event-log::-webkit-scrollbar-thumb { background: var(--line); border-radius: 3px; } 951 952.cst-log-line { 953 display: flex; 954 align-items: baseline; 955 gap: 10px; 956 padding: 8px 12px; 957 border-bottom: 1px solid var(--line); 958 background: #fff; 959} 960.cst-log-line:nth-child(even) { background: var(--bg-soft); } 961.cst-log-line:last-child { border-bottom: none; } 962 963/* New event slide-in + lime flash */ 964.cst-log-line.cst-event-fresh { 965 animation: cst-gcm-event-in 500ms var(--ease-out) both; 966} 967@keyframes cst-gcm-event-in { 968 0% { transform: translateY(-4px); background: rgba(231,253,153,.55); } 969 60% { background: rgba(231,253,153,.2); } 970 100% { transform: translateY(0); background: transparent; } 971} 972 973.cst-log-time { 974 color: var(--muted); 975 font-size: 10.5px; 976 flex-shrink: 0; 977 min-width: 68px; 978 opacity: .65; 979} 980.cst-log-type { color: var(--ink-75); word-break: break-word; flex: 1; } 981.cst-log-consent .cst-log-type { 982 color: var(--green); 983 font-weight: 700; 984} 985.cst-log-consent { 986 background: var(--green-bg); 987} 988.cst-log-consent:nth-child(even) { background: #e8f8ef; } 989 990.cst-empty { 991 text-align: center; 992 color: var(--muted); 993 font-size: 12.5px; 994 padding: 32px 16px; 995 font-family: var(--sans); 996 opacity: .6; 997} 998 999/* ââ Responsive âââââââââââââââââââââââââââââââââââââââââ */ 1000@media (max-width: 500px) { 1001 #cst-gcm-debugger-wrapper { 1002 width: calc(100vw - 24px); 1003 right: 12px; 1004 bottom: 12px; 1005 } 1006} 1007`; 1008 document.head.appendChild(style); 1009 } 1010 1011 // ââ Init ââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââââ 1012 function loadInitialEvents() { 1013 var dl = getDL(); 1014 for (var i = 0; i < dl.length; i++) { 1015 var d = dl[i]; 1016 if (d && d[0]) { 1017 eventLog.push({ entry: d, time: '(init)' }); 1018 } 1019 } 1020 } 1021 1022 function collectTagIds() { 1023 var result = new Set(); 1024 try { 1025 var walker = document.createTreeWalker(document.documentElement, NodeFilter.SHOW_TEXT, null); 1026 while (walker.nextNode()) { 1027 var text = walker.currentNode.textContent; 1028 if (!text) continue; 1029 (text.match(/G-[A-Z0-9]{10}/g) || []).forEach(function(t) { result.add(t); }); 1030 (text.match(/GTM-[A-Z0-9]+/g) || []).forEach(function(t) { result.add(t); }); 1031 (text.match(/UA-[0-9]{4,10}-[0-9]+/g) || []).forEach(function(t) { result.add(t); }); 1032 } 1033 } catch(e) {} 1034 return Array.from(result); 1035 } 1036 1037 function postToOpener(checks) { 1038 var origin = urlParams.get('origin'); 1039 if (!origin || !window.opener) return; 1040 var hasTCFApi = typeof window.__tcfapi === 'function'; 1041 1042 var send = function(hasTCFValid) { 1043 try { 1044 var payload = { 1045 type: 'gcm-debugger', 1046 dataLayer: eventLog.map(function(e) { 1047 var entry = e.entry; 1048 // Arguments objects cannot be cloned by postMessage â convert to plain array 1049 if (entry !== null && typeof entry === 'object' && !Array.isArray(entry)) { 1050 entry = Array.prototype.slice.call(entry); 1051 } 1052 return entry; 1053 }), 1054 tagIds: collectTagIds(), 1055 pageTitle: document.title, 1056 hasGCM: checks.hasGCM, 1057 hasEmbedded: checks.hasEmbedded, 1058 defFired: checks.defFired, 1059 defValid: checks.defValid, 1060 cmpFirst: checks.cmpFirst, 1061 hasTCFApi: hasTCFApi, 1062 hasTCFValid: hasTCFApi && hasTCFValid, 1063 spaPrivacy: !!(window.Shopify && window.Shopify.customerPrivacy && 1064 typeof window.Shopify.customerPrivacy.getTrackingConsent === 'function' && 1065 typeof window.Shopify.customerPrivacy.setTrackingConsent === 'function'), 1066 showTCF: !!(window.cstAppData && window.cstAppData.tcf && window.cstAppData.tcf.config && window.cstAppData.tcf.config.active), 1067 isSPA: typeof window.Shopify !== 'undefined', 1068 lateConsent: checks.defFired && !checks.cmpFirst 1069 }; 1070 window.opener.postMessage(payload, origin); 1071 } catch(e) {} 1072 }; 1073 1074 // hasTCFValid mirrors the verify logic: the __tcfapi stub must actually answer 1075 // getTCData with success. It's async, so resolve it (with a timeout) before posting. 1076 if (!hasTCFApi) { send(false); return; } 1077 var done = false;
1078 var finish = function(v) { if (done) return; done = true; send(v); }; 1079 try { 1080 window.__tcfapi('getTCData', 2, function(_data, success) { finish(!!success); }); 1081 } catch(e) { finish(false); } 1082 setTimeout(function() { finish(false); }, 2000); 1083 } 1084 1085 function init() { 1086 var existing = document.querySelector('#cst-gcm-debugger-wrapper'); 1087 if (existing) existing.remove(); 1088 1089 injectStyles(); 1090 loadInitialEvents(); 1091 1092 var w = buildPanel(); 1093 document.body.appendChild(w); 1094 1095 // Sync count badge with events already loaded 1096 var countBadge = w.querySelector('#cst-events-count'); 1097 if (countBadge) countBadge.textContent = eventLog.length; 1098 1099 setupTabs(w); 1100 setupCollapse(w); 1101 setupDrag(w); 1102 setupFilterChips(w); 1103 setupDataLayerInterceptor(w); 1104 watchConsentSignal(w); 1105 1106 // Send initial check results to admin opener window 1107 postToOpener(computeChecks(getDL())); 1108 } 1109 1110 if (document.readyState === 'loading') { 1111 document.addEventListener('DOMContentLoaded', init); 1112 } else { 1113 init(); 1114 } 1115})(); 1116})();
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.