CINXE.COM
Synoshi - #1 Cepillo Eléctrico Giratorio: ¡70 % de descuento! | Synoshi
<!DOCTYPE html> <html lang="es" dir="ltr" class="tw-scroll-smooth"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link rel="preload" as="style" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap"/> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:wght@100..900&display=swap" media="print" onload="this.media='all'"/> <noscript> <link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap"/> </noscript> <title> Synoshi - #1 Cepillo Eléctrico Giratorio: ¡70 % de descuento! | Synoshi </title> <meta property="og:image" content="https://get-synoshi.com/theme/synoshi/og-image.jpg"> <link rel="icon" type="image/png" href="https://get-synoshi.com/theme/synoshi/favicon_.png"> <meta name="description" content="El Cepillo Eléctrico Giratorio Synoshi hace que la limpieza sea rápida y sin esfuerzo ✅. Compra ahora el Cepillo Synoshi con un descuento de 70 %. La herramienta de limpieza definitiva."> <link rel="canonical" href="https://get-synoshi.com/?l=es"/> <meta name="robots" content="noindex, nofollow"> <meta name="csrf-token" content="tEhWf5bQohb5NovAZhHXwkfhingERLi0zTetRJK2"> <script> window.addEventListener('storage', function (event) { if (event.key === 'last_csrf_token') { updateCsrf(event.newValue); } }); const localStorage = window.localStorage; if (localStorage) { function getCookie(name) { const value = `; ${document.cookie}`; const parts = value.split(`; ${name}=`); if (parts.length === 2) return parts.pop().split(';').shift(); } var cookieSessionId = getCookie('orbio_session_id'); var requestSessionId = 'ofnsVNJ8IZ8HTHlS'; if (cookieSessionId === requestSessionId) { localStorage.setItem('last_csrf_token', 'tEhWf5bQohb5NovAZhHXwkfhingERLi0zTetRJK2') } else if (localStorage.getItem('last_csrf_token')) { updateCsrf(localStorage.getItem('last_csrf_token')); } } function updateCsrf(value) { var metaTag = document.querySelector('meta[name="csrf-token"]'); var hiddenInput = document.querySelector('input[name="_token"]'); if (metaTag) { metaTag.setAttribute('content', value); } if (hiddenInput) { hiddenInput.value = value; } if (window.livewireScriptConfig) { window.livewireScriptConfig.csrf = value; } } </script> <script type="module"> function q_(){import.meta.url,import("_").catch(()=>1);async function*t(){}}const Mi=Object.prototype.toString;function Gi(t){switch(Mi.call(t)){case"[object Error]":case"[object Exception]":case"[object DOMException]":return!0;default:return Ut(t,Error)}}function oe(t,e){return Mi.call(t)===`[object ${e}]`}function Pi(t){return oe(t,"ErrorEvent")}function Gr(t){return oe(t,"DOMError")}function Ga(t){return oe(t,"DOMException")}function Ct(t){return oe(t,"String")}function Yi(t){return t===null||typeof t!="object"&&typeof t!="function"}function Qt(t){return oe(t,"Object")}function _r(t){return typeof Event<"u"&&Ut(t,Event)}function Pa(t){return typeof Element<"u"&&Ut(t,Element)}function Ya(t){return oe(t,"RegExp")}function gn(t){return!!(t&&t.then&&typeof t.then=="function")}function Fa(t){return Qt(t)&&"nativeEvent"in t&&"preventDefault"in t&&"stopPropagation"in t}function Fi(t){return typeof t=="number"&&t!==t}function Ut(t,e){try{return t instanceof e}catch(n){return!1}}function Me(t){return t&&t.Math==Math?t:void 0}const nt=typeof globalThis=="object"&&Me(globalThis)||typeof window=="object"&&Me(window)||typeof self=="object"&&Me(self)||typeof global=="object"&&Me(global)||function(){return this}()||{};function Oe(){return nt}function hr(t,e,n){const r=n||nt,i=r.__SENTRY__=r.__SENTRY__||{};return i[t]||(i[t]=e())}const Je=Oe(),za=80;function Pt(t,e={}){try{let n=t;const r=5,i=[];let s=0,a=0;const o=" > ",c=o.length;let u;const d=Array.isArray(e)?e:e.keyAttrs,l=!Array.isArray(e)&&e.maxStringLength||za;for(;n&&s++<r&&(u=$a(n,d),!(u==="html"||s>1&&a+i.length*c+u.length>=l));)i.push(u),a+=u.length,n=n.parentNode;return i.reverse().join(o)}catch(n){return"<unknown>"}}function $a(t,e){const n=t,r=[];let i,s,a,o,c;if(!n||!n.tagName)return"";r.push(n.tagName.toLowerCase());const u=e&&e.length?e.filter(l=>n.getAttribute(l)).map(l=>[l,n.getAttribute(l)]):null;if(u&&u.length)u.forEach(l=>{r.push(`[${l[0]}="${l[1]}"]`)});else if(n.id&&r.push(`#${n.id}`),i=n.className,i&&Ct(i))for(s=i.split(/\s+/),c=0;c<s.length;c++)r.push(`.${s[c]}`);const d=["aria-label","type","name","title","alt"];for(c=0;c<d.length;c++)a=d[c],o=n.getAttribute(a),o&&r.push(`[${a}="${o}"]`);return r.join("")}function Ha(){try{return Je.document.location.href}catch(t){return""}}function ja(t){return Je.document&&Je.document.querySelector?Je.document.querySelector(t):null}class J extends Error{constructor(e,n="warn"){super(e),this.message=e,this.name=new.target.prototype.constructor.name,Object.setPrototypeOf(this,new.target.prototype),this.logLevel=n}}const Wa=/^(?:(\w+):)\/\/(?:(\w+)(?::(\w+)?)?@)([\w.-]+)(?::(\d+))?\/(.+)/;function qa(t){return t==="http"||t==="https"}function ce(t,e=!1){const{host:n,path:r,pass:i,port:s,projectId:a,protocol:o,publicKey:c}=t;return`${o}://${c}${e&&i?`:${i}`:""}@${n}${s?`:${s}`:""}/${r&&`${r}/`}${a}`}function zi(t){const e=Wa.exec(t);if(!e)throw new J(`Invalid Sentry Dsn: ${t}`);const[n,r,i="",s,a="",o]=e.slice(1);let c="",u=o;const d=u.split("/");if(d.length>1&&(c=d.slice(0,-1).join("/"),u=d.pop()),u){const l=u.match(/^\d+/);l&&(u=l[0])}return $i({host:s,pass:i,path:c,projectId:u,port:a,protocol:n,publicKey:r})}function $i(t){return{protocol:t.protocol,publicKey:t.publicKey||"",pass:t.pass||"",host:t.host,port:t.port||"",path:t.path||"",projectId:t.projectId}}function Za(t){if(!(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__))return;const{port:e,projectId:n,protocol:r}=t;if(["protocol","publicKey","host","projectId"].forEach(s=>{if(!t[s])throw new J(`Invalid Sentry Dsn: ${s} missing`)}),!n.match(/^\d+$/))throw new J(`Invalid Sentry Dsn: Invalid projectId ${n}`);if(!qa(r))throw new J(`Invalid Sentry Dsn: Invalid protocol ${r}`);if(e&&isNaN(parseInt(e,10)))throw new J(`Invalid Sentry Dsn: Invalid port ${e}`);return!0}function Hi(t){const e=typeof t=="string"?zi(t):$i(t);return Za(e),e}const Va="Sentry Logger ",sn=["debug","info","warn","error","log","assert","trace"];function ji(t){if(!("console"in nt))return t();const e=nt.console,n={};sn.forEach(r=>{const i=e[r]&&e[r].__sentry_original__;r in e&&i&&(n[r]=e[r],e[r]=i)});try{return t()}finally{Object.keys(n).forEach(r=>{e[r]=n[r]})}}function Pr(){let t=!1;const e={enable:()=>{t=!0},disable:()=>{t=!1}};return typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?sn.forEach(n=>{e[n]=(...r)=>{t&&ji(()=>{nt.console[n](`${Va}[${n}]:`,...r)})}}):sn.forEach(n=>{e[n]=()=>{}}),e}let f;typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?f=hr("logger",Pr):f=Pr();function ye(t,e=0){return typeof t!="string"||e===0||t.length<=e?t:`${t.slice(0,e)}...`}function Yr(t,e){if(!Array.isArray(t))return"";const n=[];for(let r=0;r<t.length;r++){const i=t[r];try{n.push(String(i))}catch(s){n.push("[value cannot be serialized]")}}return n.join(e)}function Xa(t,e,n=!1){return Ct(t)?Ya(e)?e.test(t):Ct(e)?n?t===e:t.includes(e):!1:!1}function ue(t,e=[],n=!1){return e.some(r=>Xa(t,r,n))}function X(t,e,n){if(!(e in t))return;const r=t[e],i=n(r);if(typeof i=="function")try{Wi(i,r)}catch(s){}t[e]=i}function pr(t,e,n){Object.defineProperty(t,e,{value:n,writable:!0,configurable:!0})}function Wi(t,e){const n=e.prototype||{};t.prototype=e.prototype=n,pr(t,"__sentry_original__",e)}function mr(t){return t.__sentry_original__}function Ka(t){return Object.keys(t).map(e=>`${encodeURIComponent(e)}=${encodeURIComponent(t[e])}`).join("&")}function qi(t){if(Gi(t))return{message:t.message,name:t.name,stack:t.stack,...zr(t)};if(_r(t)){const e={type:t.type,target:Fr(t.target),currentTarget:Fr(t.currentTarget),...zr(t)};return typeof CustomEvent<"u"&&Ut(t,CustomEvent)&&(e.detail=t.detail),e}else return t}function Fr(t){try{return Pa(t)?Pt(t):Object.prototype.toString.call(t)}catch(e){return"<unknown>"}}function zr(t){if(typeof t=="object"&&t!==null){const e={};for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n]);return e}else return{}}function Ja(t,e=40){const n=Object.keys(qi(t));if(n.sort(),!n.length)return"[object has no keys]";if(n[0].length>=e)return ye(n[0],e);for(let r=n.length;r>0;r--){const i=n.slice(0,r).join(", ");if(!(i.length>e))return r===n.length?i:ye(i,e)}return""}function ut(t){return Mn(t,new Map)}function Mn(t,e){if(Qt(t)){const n=e.get(t);if(n!==void 0)return n;const r={};e.set(t,r);for(const i of Object.keys(t))typeof t[i]<"u"&&(r[i]=Mn(t[i],e));return r}if(Array.isArray(t)){const n=e.get(t);if(n!==void 0)return n;const r=[];return e.set(t,r),t.forEach(i=>{r.push(Mn(i,e))}),r}return t}const Zi=50,$r=/\(error: (.*)\)/;function Vi(...t){const e=t.sort((n,r)=>n[0]-r[0]).map(n=>n[1]);return(n,r=0)=>{const i=[],s=n.split(` `);for(let a=r;a<s.length;a++){const o=s[a];if(o.length>1024)continue;const c=$r.test(o)?o.replace($r,"$1"):o;if(!c.match(/\S*Error: /)){for(const u of e){const d=u(c);if(d){i.push(d);break}}if(i.length>=Zi)break}}return to(i)}}function Qa(t){return Array.isArray(t)?Vi(...t):t}function to(t){if(!t.length)return[];const e=t.slice(0,Zi),n=e[e.length-1].function;n&&/sentryWrapped/.test(n)&&e.pop(),e.reverse();const r=e[e.length-1].function;return r&&/captureMessage|captureException/.test(r)&&e.pop(),e.map(i=>({...i,filename:i.filename||e[e.length-1].filename,function:i.function||"?"}))}const xn="<anonymous>";function Bt(t){try{return!t||typeof t!="function"?xn:t.name||xn}catch(e){return xn}}const Gn=Oe();function Xi(){if(!("fetch"in Gn))return!1;try{return new Headers,new Request("http://www.example.com"),new Response,!0}catch(t){return!1}}function Pn(t){return t&&/^function fetch\(\)\s+\{\s+\[native code\]\s+\}$/.test(t.toString())}function eo(){if(!Xi())return!1;if(Pn(Gn.fetch))return!0;let t=!1;const e=Gn.document;if(e&&typeof e.createElement=="function")try{const n=e.createElement("iframe");n.hidden=!0,e.head.appendChild(n),n.contentWindow&&n.contentWindow.fetch&&(t=Pn(n.contentWindow.fetch)),e.head.removeChild(n)}catch(n){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",n)}return t}const Ge=Oe();function no(){const t=Ge.chrome,e=t&&t.app&&t.app.runtime,n="history"in Ge&&!!Ge.history.pushState&&!!Ge.history.replaceState;return!e&&n}const P=Oe(),Rt="__sentry_xhr_v2__",Ee={},Hr={};function ro(t){if(!Hr[t])switch(Hr[t]=!0,t){case"console":io();break;case"dom":_o();break;case"xhr":oo();break;case"fetch":so();break;case"history":co();break;case"error":ho();break;case"unhandledrejection":po();break;default:(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("unknown instrumentation type:",t);return}}function V(t,e){Ee[t]=Ee[t]||[],Ee[t].push(e),ro(t)}function dt(t,e){if(!(!t||!Ee[t]))for(const n of Ee[t]||[])try{n(e)}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(`Error while triggering instrumentation handler. Type: ${t} Name: ${Bt(n)} Error:`,r)}}function io(){"console"in P&&sn.forEach(function(t){t in P.console&&X(P.console,t,function(e){return function(...n){dt("console",{args:n,level:t}),e&&e.apply(P.console,n)}})})}function so(){eo()&&X(P,"fetch",function(t){return function(...e){const{method:n,url:r}=ao(e),i={args:e,fetchData:{method:n,url:r},startTimestamp:Date.now()};return dt("fetch",{...i}),t.apply(P,e).then(s=>(dt("fetch",{...i,endTimestamp:Date.now(),response:s}),s),s=>{throw dt("fetch",{...i,endTimestamp:Date.now(),error:s}),s})}})}function Yn(t,e){return!!t&&typeof t=="object"&&!!t[e]}function jr(t){return typeof t=="string"?t:t?Yn(t,"url")?t.url:t.toString?t.toString():"":""}function ao(t){if(t.length===0)return{method:"GET",url:""};if(t.length===2){const[n,r]=t;return{url:jr(n),method:Yn(r,"method")?String(r.method).toUpperCase():"GET"}}const e=t[0];return{url:jr(e),method:Yn(e,"method")?String(e.method).toUpperCase():"GET"}}function oo(){if(!("XMLHttpRequest"in P))return;const t=XMLHttpRequest.prototype;X(t,"open",function(e){return function(...n){const r=n[1],i=this[Rt]={method:Ct(n[0])?n[0].toUpperCase():n[0],url:n[1],request_headers:{}};Ct(r)&&i.method==="POST"&&r.match(/sentry_key/)&&(this.__sentry_own_request__=!0);const s=()=>{const a=this[Rt];if(a&&this.readyState===4){try{a.status_code=this.status}catch(o){}dt("xhr",{args:n,endTimestamp:Date.now(),startTimestamp:Date.now(),xhr:this})}};return"onreadystatechange"in this&&typeof this.onreadystatechange=="function"?X(this,"onreadystatechange",function(a){return function(...o){return s(),a.apply(this,o)}}):this.addEventListener("readystatechange",s),X(this,"setRequestHeader",function(a){return function(...o){const[c,u]=o,d=this[Rt];return d&&(d.request_headers[c.toLowerCase()]=u),a.apply(this,o)}}),e.apply(this,n)}}),X(t,"send",function(e){return function(...n){const r=this[Rt];return r&&n[0]!==void 0&&(r.body=n[0]),dt("xhr",{args:n,startTimestamp:Date.now(),xhr:this}),e.apply(this,n)}})}let Pe;function co(){if(!no())return;const t=P.onpopstate;P.onpopstate=function(...n){const r=P.location.href,i=Pe;if(Pe=r,dt("history",{from:i,to:r}),t)try{return t.apply(this,n)}catch(s){}};function e(n){return function(...r){const i=r.length>2?r[2]:void 0;if(i){const s=Pe,a=String(i);Pe=a,dt("history",{from:s,to:a})}return n.apply(this,r)}}X(P.history,"pushState",e),X(P.history,"replaceState",e)}const uo=1e3;let Ye,Fe;function lo(t,e){if(!t||t.type!==e.type)return!0;try{if(t.target!==e.target)return!0}catch(n){}return!1}function fo(t){if(t.type!=="keypress")return!1;try{const e=t.target;if(!e||!e.tagName)return!0;if(e.tagName==="INPUT"||e.tagName==="TEXTAREA"||e.isContentEditable)return!1}catch(e){}return!0}function Wr(t,e=!1){return n=>{if(!n||Fe===n||fo(n))return;const r=n.type==="keypress"?"input":n.type;Ye===void 0?(t({event:n,name:r,global:e}),Fe=n):lo(Fe,n)&&(t({event:n,name:r,global:e}),Fe=n),clearTimeout(Ye),Ye=P.setTimeout(()=>{Ye=void 0},uo)}}function _o(){if(!("document"in P))return;const t=dt.bind(null,"dom"),e=Wr(t,!0);P.document.addEventListener("click",e,!1),P.document.addEventListener("keypress",e,!1),["EventTarget","Node"].forEach(n=>{const r=P[n]&&P[n].prototype;!r||!r.hasOwnProperty||!r.hasOwnProperty("addEventListener")||(X(r,"addEventListener",function(i){return function(s,a,o){if(s==="click"||s=="keypress")try{const c=this,u=c.__sentry_instrumentation_handlers__=c.__sentry_instrumentation_handlers__||{},d=u[s]=u[s]||{refCount:0};if(!d.handler){const l=Wr(t);d.handler=l,i.call(this,s,l,o)}d.refCount++}catch(c){}return i.call(this,s,a,o)}}),X(r,"removeEventListener",function(i){return function(s,a,o){if(s==="click"||s=="keypress")try{const c=this,u=c.__sentry_instrumentation_handlers__||{},d=u[s];d&&(d.refCount--,d.refCount<=0&&(i.call(this,s,d.handler,o),d.handler=void 0,delete u[s]),Object.keys(u).length===0&&delete c.__sentry_instrumentation_handlers__)}catch(c){}return i.call(this,s,a,o)}}))})}let ze=null;function ho(){ze=P.onerror,P.onerror=function(t,e,n,r,i){return dt("error",{column:r,error:i,line:n,msg:t,url:e}),ze&&!ze.__SENTRY_LOADER__?ze.apply(this,arguments):!1},P.onerror.__SENTRY_INSTRUMENTED__=!0}let $e=null;function po(){$e=P.onunhandledrejection,P.onunhandledrejection=function(t){return dt("unhandledrejection",t),$e&&!$e.__SENTRY_LOADER__?$e.apply(this,arguments):!0},P.onunhandledrejection.__SENTRY_INSTRUMENTED__=!0}function mo(){const t=typeof WeakSet=="function",e=t?new WeakSet:[];function n(i){if(t)return e.has(i)?!0:(e.add(i),!1);for(let s=0;s<e.length;s++)if(e[s]===i)return!0;return e.push(i),!1}function r(i){if(t)e.delete(i);else for(let s=0;s<e.length;s++)if(e[s]===i){e.splice(s,1);break}}return[n,r]}function lt(){const t=nt,e=t.crypto||t.msCrypto;if(e&&e.randomUUID)return e.randomUUID().replace(/-/g,"");const n=e&&e.getRandomValues?()=>e.getRandomValues(new Uint8Array(1))[0]:()=>Math.random()*16;return([1e7]+1e3+4e3+8e3+1e11).replace(/[018]/g,r=>(r^(n()&15)>>r/4).toString(16))}function Ki(t){return t.exception&&t.exception.values?t.exception.values[0]:void 0}function vt(t){const{message:e,event_id:n}=t;if(e)return e;const r=Ki(t);return r?r.type&&r.value?`${r.type}: ${r.value}`:r.type||r.value||n||"<unknown>":n||"<unknown>"}function Fn(t,e,n){const r=t.exception=t.exception||{},i=r.values=r.values||[],s=i[0]=i[0]||{};s.value||(s.value=e||""),s.type||(s.type=n||"Error")}function ve(t,e){const n=Ki(t);if(!n)return;const r={type:"generic",handled:!0},i=n.mechanism;if(n.mechanism={...r,...i,...e},e&&"data"in e){const s={...i&&i.data,...e.data};n.mechanism.data=s}}function qr(t){if(t&&t.__sentry_captured__)return!0;try{pr(t,"__sentry_captured__",!0)}catch(e){}return!1}function Ji(t){return Array.isArray(t)?t:[t]}function go(){return typeof __SENTRY_BROWSER_BUNDLE__<"u"&&!!__SENTRY_BROWSER_BUNDLE__}function yo(){return"npm"}function Qi(){return!go()&&Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]"}function Eo(t,e){return t.require(e)}function pt(t,e=100,n=1/0){try{return zn("",t,e,n)}catch(r){return{ERROR:`**non-serializable** (${r})`}}}function ts(t,e=3,n=100*1024){const r=pt(t,e);return To(r)>n?ts(t,e-1,n):r}function zn(t,e,n=1/0,r=1/0,i=mo()){const[s,a]=i;if(e==null||["number","boolean","string"].includes(typeof e)&&!Fi(e))return e;const o=So(t,e);if(!o.startsWith("[object "))return o;if(e.__sentry_skip_normalization__)return e;const c=typeof e.__sentry_override_normalization_depth__=="number"?e.__sentry_override_normalization_depth__:n;if(c===0)return o.replace("object ","");if(s(e))return"[Circular ~]";const u=e;if(u&&typeof u.toJSON=="function")try{const _=u.toJSON();return zn("",_,c-1,r,i)}catch(_){}const d=Array.isArray(e)?[]:{};let l=0;const h=qi(e);for(const _ in h){if(!Object.prototype.hasOwnProperty.call(h,_))continue;if(l>=r){d[_]="[MaxProperties ~]";break}const p=h[_];d[_]=zn(_,p,c-1,r,i),l++}return a(e),d}function So(t,e){try{if(t==="domain"&&e&&typeof e=="object"&&e._events)return"[Domain]";if(t==="domainEmitter")return"[DomainEmitter]";if(typeof global<"u"&&e===global)return"[Global]";if(typeof window<"u"&&e===window)return"[Window]";if(typeof document<"u"&&e===document)return"[Document]";if(Fa(e))return"[SyntheticEvent]";if(typeof e=="number"&&e!==e)return"[NaN]";if(typeof e=="function")return`[Function: ${Bt(e)}]`;if(typeof e=="symbol")return`[${String(e)}]`;if(typeof e=="bigint")return`[BigInt: ${String(e)}]`;const n=bo(e);return/^HTML(\w*)Element$/.test(n)?`[HTMLElement: ${n}]`:`[object ${n}]`}catch(n){return`**non-serializable** (${n})`}}function bo(t){const e=Object.getPrototypeOf(t);return e?e.constructor.name:"null prototype"}function wo(t){return~-encodeURI(t).split(/%..|./).length}function To(t){return wo(JSON.stringify(t))}var gt;(function(t){t[t.PENDING=0]="PENDING";const n=1;t[t.RESOLVED=n]="RESOLVED";const r=2;t[t.REJECTED=r]="REJECTED"})(gt||(gt={}));function St(t){return new tt(e=>{e(t)})}function an(t){return new tt((e,n)=>{n(t)})}class tt{__init(){this._state=gt.PENDING}__init2(){this._handlers=[]}constructor(e){tt.prototype.__init.call(this),tt.prototype.__init2.call(this),tt.prototype.__init3.call(this),tt.prototype.__init4.call(this),tt.prototype.__init5.call(this),tt.prototype.__init6.call(this);try{e(this._resolve,this._reject)}catch(n){this._reject(n)}}then(e,n){return new tt((r,i)=>{this._handlers.push([!1,s=>{if(!e)r(s);else try{r(e(s))}catch(a){i(a)}},s=>{if(!n)i(s);else try{r(n(s))}catch(a){i(a)}}]),this._executeHandlers()})}catch(e){return this.then(n=>n,e)}finally(e){return new tt((n,r)=>{let i,s;return this.then(a=>{s=!1,i=a,e&&e()},a=>{s=!0,i=a,e&&e()}).then(()=>{if(s){r(i);return}n(i)})})}__init3(){this._resolve=e=>{this._setResult(gt.RESOLVED,e)}}__init4(){this._reject=e=>{this._setResult(gt.REJECTED,e)}}__init5(){this._setResult=(e,n)=>{if(this._state===gt.PENDING){if(gn(n)){n.then(this._resolve,this._reject);return}this._state=e,this._value=n,this._executeHandlers()}}}__init6(){this._executeHandlers=()=>{if(this._state===gt.PENDING)return;const e=this._handlers.slice();this._handlers=[],e.forEach(n=>{n[0]||(this._state===gt.RESOLVED&&n[1](this._value),this._state===gt.REJECTED&&n[2](this._value),n[0]=!0)})}}}function vo(t){const e=[];function n(){return t===void 0||e.length<t}function r(a){return e.splice(e.indexOf(a),1)[0]}function i(a){if(!n())return an(new J("Not adding Promise because buffer limit was reached."));const o=a();return e.indexOf(o)===-1&&e.push(o),o.then(()=>r(o)).then(null,()=>r(o).then(null,()=>{})),o}function s(a){return new tt((o,c)=>{let u=e.length;if(!u)return o(!0);const d=setTimeout(()=>{a&&a>0&&o(!1)},a);e.forEach(l=>{St(l).then(()=>{--u||(clearTimeout(d),o(!0))},c)})})}return{$:e,add:i,drain:s}}function In(t){if(!t)return{};const e=t.match(/^(([^:/?#]+):)?(\/\/([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?$/);if(!e)return{};const n=e[6]||"",r=e[8]||"";return{host:e[4],path:e[5],protocol:e[2],search:n,hash:r,relative:e[5]+n+r}}const Ro=["fatal","error","warning","log","info","debug"];function ko(t){return t==="warn"?"warning":Ro.includes(t)?t:"log"}const es=Oe(),$n={nowSeconds:()=>Date.now()/1e3};function No(){const{performance:t}=es;if(!t||!t.now)return;const e=Date.now()-t.now();return{now:()=>t.now(),timeOrigin:e}}function Do(){try{return Eo(module,"perf_hooks").performance}catch(t){return}}const On=Qi()?Do():No(),Zr=On===void 0?$n:{nowSeconds:()=>(On.timeOrigin+On.now())/1e3},yn=$n.nowSeconds.bind($n),Yt=Zr.nowSeconds.bind(Zr),bt=(()=>{const{performance:t}=es;if(!t||!t.now)return;const e=3600*1e3,n=t.now(),r=Date.now(),i=t.timeOrigin?Math.abs(t.timeOrigin+n-r):e,s=i<e,a=t.timing&&t.timing.navigationStart,c=typeof a=="number"?Math.abs(a+n-r):e,u=c<e;return s||u?i<=c?t.timeOrigin:a:r})(),xo=new RegExp("^[ \\t]*([0-9a-f]{32})?-?([0-9a-f]{16})?-?([01])?[ \\t]*$");function ns(t){const e=t.match(xo);if(!t||!e)return;let n;return e[3]==="1"?n=!0:e[3]==="0"&&(n=!1),{traceId:e[1],parentSampled:n,parentSpanId:e[2]}}function Wt(t,e=[]){return[t,e]}function Io(t,e){const[n,r]=t;return[n,[...r,e]]}function on(t,e){const n=t[1];for(const r of n){const i=r[0].type;if(e(r,i))return!0}return!1}function Oo(t,e){return on(t,(n,r)=>e.includes(r))}function Hn(t,e){return(e||new TextEncoder).encode(t)}function rs(t,e){const[n,r]=t;let i=JSON.stringify(n);function s(a){typeof i=="string"?i=typeof a=="string"?i+a:[Hn(i,e),a]:i.push(typeof a=="string"?Hn(a,e):a)}for(const a of r){const[o,c]=a;if(s(` ${JSON.stringify(o)} `),typeof c=="string"||c instanceof Uint8Array)s(c);else{let u;try{u=JSON.stringify(c)}catch(d){u=JSON.stringify(pt(c))}s(u)}}return typeof i=="string"?i:Ao(i)}function Ao(t){const e=t.reduce((i,s)=>i+s.length,0),n=new Uint8Array(e);let r=0;for(const i of t)n.set(i,r),r+=i.length;return n}function Co(t,e,n){let r=typeof t=="string"?e.encode(t):t;function i(c){const u=r.subarray(0,c);return r=r.subarray(c+1),u}function s(){let c=r.indexOf(10);return c<0&&(c=r.length),JSON.parse(n.decode(i(c)))}const a=s(),o=[];for(;r.length;){const c=s(),u=typeof c.length=="number"?c.length:void 0;o.push([c,u?i(u):s()])}return[a,o]}function Uo(t,e){const n=typeof t.data=="string"?Hn(t.data,e):t.data;return[ut({type:"attachment",length:n.length,filename:t.filename,content_type:t.contentType,attachment_type:t.attachmentType}),n]}const Bo={session:"session",sessions:"session",attachment:"attachment",transaction:"transaction",event:"error",client_report:"internal",user_report:"default",profile:"profile",replay_event:"replay",replay_recording:"replay",check_in:"monitor"};function Vr(t){return Bo[t]}function gr(t){if(!t||!t.sdk)return;const{name:e,version:n}=t.sdk;return{name:e,version:n}}function is(t,e,n,r){const i=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:t.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!n&&{dsn:ce(r)},...i&&{trace:ut({...i})}}}function Lo(t,e,n){const r=[{type:"client_report"},{timestamp:n||yn(),discarded_events:t}];return Wt(e?{dsn:e}:{},[r])}const Mo=60*1e3;function ss(t,e=Date.now()){const n=parseInt(`${t}`,10);if(!isNaN(n))return n*1e3;const r=Date.parse(`${t}`);return isNaN(r)?Mo:r-e}function Go(t,e){return t[e]||t.all||0}function Po(t,e,n=Date.now()){return Go(t,e)>n}function Yo(t,{statusCode:e,headers:n},r=Date.now()){const i={...t},s=n&&n["x-sentry-rate-limits"],a=n&&n["retry-after"];if(s)for(const o of s.trim().split(",")){const[c,u]=o.split(":",2),d=parseInt(c,10),l=(isNaN(d)?60:d)*1e3;if(!u)i.all=r+l;else for(const h of u.split(";"))i[h]=r+l}else a?i.all=r+ss(a,r):e===429&&(i.all=r+60*1e3);return i}const jn="baggage",as="sentry-",Fo=/^sentry-/,zo=8192;function $o(t){if(!Ct(t)&&!Array.isArray(t))return;let e={};if(Array.isArray(t))e=t.reduce((r,i)=>{const s=Xr(i);return{...r,...s}},{});else{if(!t)return;e=Xr(t)}const n=Object.entries(e).reduce((r,[i,s])=>{if(i.match(Fo)){const a=i.slice(as.length);r[a]=s}return r},{});if(Object.keys(n).length>0)return n}function os(t){const e=Object.entries(t).reduce((n,[r,i])=>(i&&(n[`${as}${r}`]=i),n),{});return Ho(e)}function Xr(t){return t.split(",").map(e=>e.split("=").map(n=>decodeURIComponent(n.trim()))).reduce((e,[n,r])=>(e[n]=r,e),{})}function Ho(t){if(Object.keys(t).length!==0)return Object.entries(t).reduce((e,[n,r],i)=>{const s=`${encodeURIComponent(n)}=${encodeURIComponent(r)}`,a=i===0?s:`${e},${s}`;return a.length>zo?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Not adding key: ${n} with val: ${r} to baggage header due to exceeding baggage size limits.`),e):a},"")}const En="production";function jo(t){const e=Yt(),n={sid:lt(),init:!0,timestamp:e,started:e,duration:0,status:"ok",errors:0,ignoreDuration:!1,toJSON:()=>qo(n)};return t&&te(n,t),n}function te(t,e={}){if(e.user&&(!t.ipAddress&&e.user.ip_address&&(t.ipAddress=e.user.ip_address),!t.did&&!e.did&&(t.did=e.user.id||e.user.email||e.user.username)),t.timestamp=e.timestamp||Yt(),e.ignoreDuration&&(t.ignoreDuration=e.ignoreDuration),e.sid&&(t.sid=e.sid.length===32?e.sid:lt()),e.init!==void 0&&(t.init=e.init),!t.did&&e.did&&(t.did=`${e.did}`),typeof e.started=="number"&&(t.started=e.started),t.ignoreDuration)t.duration=void 0;else if(typeof e.duration=="number")t.duration=e.duration;else{const n=t.timestamp-t.started;t.duration=n>=0?n:0}e.release&&(t.release=e.release),e.environment&&(t.environment=e.environment),!t.ipAddress&&e.ipAddress&&(t.ipAddress=e.ipAddress),!t.userAgent&&e.userAgent&&(t.userAgent=e.userAgent),typeof e.errors=="number"&&(t.errors=e.errors),e.status&&(t.status=e.status)}function Wo(t,e){let n={};e?n={status:e}:t.status==="ok"&&(n={status:"exited"}),te(t,n)}function qo(t){return ut({sid:`${t.sid}`,init:t.init,started:new Date(t.started*1e3).toISOString(),timestamp:new Date(t.timestamp*1e3).toISOString(),status:t.status,errors:t.errors,did:typeof t.did=="number"||typeof t.did=="string"?`${t.did}`:void 0,duration:t.duration,attrs:{release:t.release,environment:t.environment,ip_address:t.ipAddress,user_agent:t.userAgent}})}const Zo=100;class Dt{constructor(){this._notifyingListeners=!1,this._scopeListeners=[],this._eventProcessors=[],this._breadcrumbs=[],this._attachments=[],this._user={},this._tags={},this._extra={},this._contexts={},this._sdkProcessingMetadata={}}static clone(e){const n=new Dt;return e&&(n._breadcrumbs=[...e._breadcrumbs],n._tags={...e._tags},n._extra={...e._extra},n._contexts={...e._contexts},n._user=e._user,n._level=e._level,n._span=e._span,n._session=e._session,n._transactionName=e._transactionName,n._fingerprint=e._fingerprint,n._eventProcessors=[...e._eventProcessors],n._requestSession=e._requestSession,n._attachments=[...e._attachments],n._sdkProcessingMetadata={...e._sdkProcessingMetadata}),n}addScopeListener(e){this._scopeListeners.push(e)}addEventProcessor(e){return this._eventProcessors.push(e),this}setUser(e){return this._user=e||{},this._session&&te(this._session,{user:e}),this._notifyScopeListeners(),this}getUser(){return this._user}getRequestSession(){return this._requestSession}setRequestSession(e){return this._requestSession=e,this}setTags(e){return this._tags={...this._tags,...e},this._notifyScopeListeners(),this}setTag(e,n){return this._tags={...this._tags,[e]:n},this._notifyScopeListeners(),this}setExtras(e){return this._extra={...this._extra,...e},this._notifyScopeListeners(),this}setExtra(e,n){return this._extra={...this._extra,[e]:n},this._notifyScopeListeners(),this}setFingerprint(e){return this._fingerprint=e,this._notifyScopeListeners(),this}setLevel(e){return this._level=e,this._notifyScopeListeners(),this}setTransactionName(e){return this._transactionName=e,this._notifyScopeListeners(),this}setContext(e,n){return n===null?delete this._contexts[e]:this._contexts[e]=n,this._notifyScopeListeners(),this}setSpan(e){return this._span=e,this._notifyScopeListeners(),this}getSpan(){return this._span}getTransaction(){const e=this.getSpan();return e&&e.transaction}setSession(e){return e?this._session=e:delete this._session,this._notifyScopeListeners(),this}getSession(){return this._session}update(e){if(!e)return this;if(typeof e=="function"){const n=e(this);return n instanceof Dt?n:this}return e instanceof Dt?(this._tags={...this._tags,...e._tags},this._extra={...this._extra,...e._extra},this._contexts={...this._contexts,...e._contexts},e._user&&Object.keys(e._user).length&&(this._user=e._user),e._level&&(this._level=e._level),e._fingerprint&&(this._fingerprint=e._fingerprint),e._requestSession&&(this._requestSession=e._requestSession)):Qt(e)&&(e=e,this._tags={...this._tags,...e.tags},this._extra={...this._extra,...e.extra},this._contexts={...this._contexts,...e.contexts},e.user&&(this._user=e.user),e.level&&(this._level=e.level),e.fingerprint&&(this._fingerprint=e.fingerprint),e.requestSession&&(this._requestSession=e.requestSession)),this}clear(){return this._breadcrumbs=[],this._tags={},this._extra={},this._user={},this._contexts={},this._level=void 0,this._transactionName=void 0,this._fingerprint=void 0,this._requestSession=void 0,this._span=void 0,this._session=void 0,this._notifyScopeListeners(),this._attachments=[],this}addBreadcrumb(e,n){const r=typeof n=="number"?n:Zo;if(r<=0)return this;const i={timestamp:yn(),...e};return this._breadcrumbs=[...this._breadcrumbs,i].slice(-r),this._notifyScopeListeners(),this}getLastBreadcrumb(){return this._breadcrumbs[this._breadcrumbs.length-1]}clearBreadcrumbs(){return this._breadcrumbs=[],this._notifyScopeListeners(),this}addAttachment(e){return this._attachments.push(e),this}getAttachments(){return this._attachments}clearAttachments(){return this._attachments=[],this}applyToEvent(e,n={}){if(this._extra&&Object.keys(this._extra).length&&(e.extra={...this._extra,...e.extra}),this._tags&&Object.keys(this._tags).length&&(e.tags={...this._tags,...e.tags}),this._user&&Object.keys(this._user).length&&(e.user={...this._user,...e.user}),this._contexts&&Object.keys(this._contexts).length&&(e.contexts={...this._contexts,...e.contexts}),this._level&&(e.level=this._level),this._transactionName&&(e.transaction=this._transactionName),this._span){e.contexts={trace:this._span.getTraceContext(),...e.contexts};const r=this._span.transaction;if(r){e.sdkProcessingMetadata={dynamicSamplingContext:r.getDynamicSamplingContext(),...e.sdkProcessingMetadata};const i=r.name;i&&(e.tags={transaction:i,...e.tags})}}return this._applyFingerprint(e),e.breadcrumbs=[...e.breadcrumbs||[],...this._breadcrumbs],e.breadcrumbs=e.breadcrumbs.length>0?e.breadcrumbs:void 0,e.sdkProcessingMetadata={...e.sdkProcessingMetadata,...this._sdkProcessingMetadata},this._notifyEventProcessors([...cs(),...this._eventProcessors],e,n)}setSDKProcessingMetadata(e){return this._sdkProcessingMetadata={...this._sdkProcessingMetadata,...e},this}_notifyEventProcessors(e,n,r,i=0){return new tt((s,a)=>{const o=e[i];if(n===null||typeof o!="function")s(n);else{const c=o({...n},r);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&o.id&&c===null&&f.log(`Event processor "${o.id}" dropped event`),gn(c)?c.then(u=>this._notifyEventProcessors(e,u,r,i+1).then(s)).then(null,a):this._notifyEventProcessors(e,c,r,i+1).then(s).then(null,a)}})}_notifyScopeListeners(){this._notifyingListeners||(this._notifyingListeners=!0,this._scopeListeners.forEach(e=>{e(this)}),this._notifyingListeners=!1)}_applyFingerprint(e){e.fingerprint=e.fingerprint?Ji(e.fingerprint):[],this._fingerprint&&(e.fingerprint=e.fingerprint.concat(this._fingerprint)),e.fingerprint&&!e.fingerprint.length&&delete e.fingerprint}}function cs(){return hr("globalEventProcessors",()=>[])}function Ae(t){cs().push(t)}const us=4,Vo=100;class yr{constructor(e,n=new Dt,r=us){this._version=r,this._stack=[{scope:n}],e&&this.bindClient(e)}isOlderThan(e){return this._version<e}bindClient(e){const n=this.getStackTop();n.client=e,e&&e.setupIntegrations&&e.setupIntegrations()}pushScope(){const e=Dt.clone(this.getScope());return this.getStack().push({client:this.getClient(),scope:e}),e}popScope(){return this.getStack().length<=1?!1:!!this.getStack().pop()}withScope(e){const n=this.pushScope();try{e(n)}finally{this.popScope()}}getClient(){return this.getStackTop().client}getScope(){return this.getStackTop().scope}getStack(){return this._stack}getStackTop(){return this._stack[this._stack.length-1]}captureException(e,n){const r=this._lastEventId=n&&n.event_id?n.event_id:lt(),i=new Error("Sentry syntheticException");return this._withClient((s,a)=>{s.captureException(e,{originalException:e,syntheticException:i,...n,event_id:r},a)}),r}captureMessage(e,n,r){const i=this._lastEventId=r&&r.event_id?r.event_id:lt(),s=new Error(e);return this._withClient((a,o)=>{a.captureMessage(e,n,{originalException:e,syntheticException:s,...r,event_id:i},o)}),i}captureEvent(e,n){const r=n&&n.event_id?n.event_id:lt();return e.type||(this._lastEventId=r),this._withClient((i,s)=>{i.captureEvent(e,{...n,event_id:r},s)}),r}lastEventId(){return this._lastEventId}addBreadcrumb(e,n){const{scope:r,client:i}=this.getStackTop();if(!i)return;const{beforeBreadcrumb:s=null,maxBreadcrumbs:a=Vo}=i.getOptions&&i.getOptions()||{};if(a<=0)return;const c={timestamp:yn(),...e},u=s?ji(()=>s(c,n)):c;u!==null&&(i.emit&&i.emit("beforeAddBreadcrumb",u,n),r.addBreadcrumb(u,a))}setUser(e){this.getScope().setUser(e)}setTags(e){this.getScope().setTags(e)}setExtras(e){this.getScope().setExtras(e)}setTag(e,n){this.getScope().setTag(e,n)}setExtra(e,n){this.getScope().setExtra(e,n)}setContext(e,n){this.getScope().setContext(e,n)}configureScope(e){const{scope:n,client:r}=this.getStackTop();r&&e(n)}run(e){const n=Wn(this);try{e(this)}finally{Wn(n)}}getIntegration(e){const n=this.getClient();if(!n)return null;try{return n.getIntegration(e)}catch(r){return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Cannot retrieve integration ${e.id} from the current Hub`),null}}startTransaction(e,n){const r=this._callExtensionMethod("startTransaction",e,n);return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&!r&&console.warn(`Tracing extension 'startTransaction' has not been added. Call 'addTracingExtensions' before calling 'init': Sentry.addTracingExtensions(); Sentry.init({...}); `),r}traceHeaders(){return this._callExtensionMethod("traceHeaders")}captureSession(e=!1){if(e)return this.endSession();this._sendSessionUpdate()}endSession(){const n=this.getStackTop().scope,r=n.getSession();r&&Wo(r),this._sendSessionUpdate(),n.setSession()}startSession(e){const{scope:n,client:r}=this.getStackTop(),{release:i,environment:s=En}=r&&r.getOptions()||{},{userAgent:a}=nt.navigator||{},o=jo({release:i,environment:s,user:n.getUser(),...a&&{userAgent:a},...e}),c=n.getSession&&n.getSession();return c&&c.status==="ok"&&te(c,{status:"exited"}),this.endSession(),n.setSession(o),o}shouldSendDefaultPii(){const e=this.getClient(),n=e&&e.getOptions();return!!(n&&n.sendDefaultPii)}_sendSessionUpdate(){const{scope:e,client:n}=this.getStackTop(),r=e.getSession();r&&n&&n.captureSession&&n.captureSession(r)}_withClient(e){const{scope:n,client:r}=this.getStackTop();r&&e(r,n)}_callExtensionMethod(e,...n){const i=de().__SENTRY__;if(i&&i.extensions&&typeof i.extensions[e]=="function")return i.extensions[e].apply(this,n);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Extension method ${e} couldn't be found, doing nothing.`)}}function de(){return nt.__SENTRY__=nt.__SENTRY__||{extensions:{},hub:void 0},nt}function Wn(t){const e=de(),n=cn(e);return ds(e,t),n}function g(){const t=de();if(t.__SENTRY__&&t.__SENTRY__.acs){const e=t.__SENTRY__.acs.getCurrentHub();if(e)return e}return Xo(t)}function Xo(t=de()){return(!Ko(t)||cn(t).isOlderThan(us))&&ds(t,new yr),cn(t)}function Ko(t){return!!(t&&t.__SENTRY__&&t.__SENTRY__.hub)}function cn(t){return hr("hub",()=>new yr,t)}function ds(t,e){if(!t)return!1;const n=t.__SENTRY__=t.__SENTRY__||{};return n.hub=e,!0}function Er(t){if(typeof __SENTRY_TRACING__=="boolean"&&!__SENTRY_TRACING__)return!1;const e=g().getClient(),n=t||e&&e.getOptions();return!!n&&(n.enableTracing||"tracesSampleRate"in n||"tracesSampler"in n)}function le(t){return(t||g()).getScope().getTransaction()}let Kr=!1;function Jo(){Kr||(Kr=!0,V("error",qn),V("unhandledrejection",qn))}function qn(){const t=le();if(t){const e="internal_error";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Transaction: ${e} -> Global error occured`),t.setStatus(e)}}qn.tag="sentry_tracingErrorCallback";class Sn{__init(){this.spans=[]}constructor(e=1e3){Sn.prototype.__init.call(this),this._maxlen=e}add(e){this.spans.length>this._maxlen?e.spanRecorder=void 0:this.spans.push(e)}}class yt{__init2(){this.traceId=lt()}__init3(){this.spanId=lt().substring(16)}__init4(){this.startTimestamp=Yt()}__init5(){this.tags={}}__init6(){this.data={}}__init7(){this.instrumenter="sentry"}constructor(e){if(yt.prototype.__init2.call(this),yt.prototype.__init3.call(this),yt.prototype.__init4.call(this),yt.prototype.__init5.call(this),yt.prototype.__init6.call(this),yt.prototype.__init7.call(this),!e)return this;e.traceId&&(this.traceId=e.traceId),e.spanId&&(this.spanId=e.spanId),e.parentSpanId&&(this.parentSpanId=e.parentSpanId),"sampled"in e&&(this.sampled=e.sampled),e.op&&(this.op=e.op),e.description&&(this.description=e.description),e.data&&(this.data=e.data),e.tags&&(this.tags=e.tags),e.status&&(this.status=e.status),e.startTimestamp&&(this.startTimestamp=e.startTimestamp),e.endTimestamp&&(this.endTimestamp=e.endTimestamp),e.instrumenter&&(this.instrumenter=e.instrumenter)}startChild(e){const n=new yt({...e,parentSpanId:this.spanId,sampled:this.sampled,traceId:this.traceId});if(n.spanRecorder=this.spanRecorder,n.spanRecorder&&n.spanRecorder.add(n),n.transaction=this.transaction,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&n.transaction){const r=e&&e.op||"< unknown op >",i=n.transaction.name||"< unknown name >",s=n.transaction.spanId,a=`[Tracing] Starting '${r}' span on transaction '${i}' (${s}).`;n.transaction.metadata.spanMetadata[n.spanId]={logMessage:a},f.log(a)}return n}setTag(e,n){return this.tags={...this.tags,[e]:n},this}setData(e,n){return this.data={...this.data,[e]:n},this}setStatus(e){return this.status=e,this}setHttpStatus(e){this.setTag("http.status_code",String(e));const n=ls(e);return n!=="unknown_error"&&this.setStatus(n),this}isSuccess(){return this.status==="ok"}finish(e){if((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this.transaction&&this.transaction.spanId!==this.spanId){const{logMessage:n}=this.transaction.metadata.spanMetadata[this.spanId];n&&f.log(n.replace("Starting","Finishing"))}this.endTimestamp=typeof e=="number"?e:Yt()}toTraceparent(){let e="";return this.sampled!==void 0&&(e=this.sampled?"-1":"-0"),`${this.traceId}-${this.spanId}${e}`}toContext(){return ut({data:this.data,description:this.description,endTimestamp:this.endTimestamp,op:this.op,parentSpanId:this.parentSpanId,sampled:this.sampled,spanId:this.spanId,startTimestamp:this.startTimestamp,status:this.status,tags:this.tags,traceId:this.traceId})}updateWithContext(e){return this.data=e.data||{},this.description=e.description,this.endTimestamp=e.endTimestamp,this.op=e.op,this.parentSpanId=e.parentSpanId,this.sampled=e.sampled,this.spanId=e.spanId||this.spanId,this.startTimestamp=e.startTimestamp||this.startTimestamp,this.status=e.status,this.tags=e.tags||{},this.traceId=e.traceId||this.traceId,this}getTraceContext(){return ut({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,trace_id:this.traceId})}toJSON(){return ut({data:Object.keys(this.data).length>0?this.data:void 0,description:this.description,op:this.op,parent_span_id:this.parentSpanId,span_id:this.spanId,start_timestamp:this.startTimestamp,status:this.status,tags:Object.keys(this.tags).length>0?this.tags:void 0,timestamp:this.endTimestamp,trace_id:this.traceId})}}function ls(t){if(t<400&&t>=100)return"ok";if(t>=400&&t<500)switch(t){case 401:return"unauthenticated";case 403:return"permission_denied";case 404:return"not_found";case 409:return"already_exists";case 413:return"failed_precondition";case 429:return"resource_exhausted";default:return"invalid_argument"}if(t>=500&&t<600)switch(t){case 501:return"unimplemented";case 503:return"unavailable";case 504:return"deadline_exceeded";default:return"internal_error"}return"unknown_error"}class Jt extends yt{__init(){this._measurements={}}__init2(){this._contexts={}}__init3(){this._frozenDynamicSamplingContext=void 0}constructor(e,n){super(e),Jt.prototype.__init.call(this),Jt.prototype.__init2.call(this),Jt.prototype.__init3.call(this),this._hub=n||g(),this._name=e.name||"",this.metadata={source:"custom",...e.metadata,spanMetadata:{}},this._trimEnd=e.trimEnd,this.transaction=this;const r=this.metadata.dynamicSamplingContext;r&&(this._frozenDynamicSamplingContext={...r})}get name(){return this._name}set name(e){this.setName(e)}setName(e,n="custom"){this._name=e,this.metadata.source=n}initSpanRecorder(e=1e3){this.spanRecorder||(this.spanRecorder=new Sn(e)),this.spanRecorder.add(this)}setContext(e,n){n===null?delete this._contexts[e]:this._contexts[e]=n}setMeasurement(e,n,r=""){this._measurements[e]={value:n,unit:r}}setMetadata(e){this.metadata={...this.metadata,...e}}finish(e){if(this.endTimestamp!==void 0)return;this.name||((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Transaction has no name, falling back to `<unlabeled transaction>`."),this.name="<unlabeled transaction>"),super.finish(e);const n=this._hub.getClient();if(n&&n.emit&&n.emit("finishTransaction",this),this.sampled!==!0){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] Discarding transaction because its trace was not chosen to be sampled."),n&&n.recordDroppedEvent("sample_rate","transaction");return}const r=this.spanRecorder?this.spanRecorder.spans.filter(o=>o!==this&&o.endTimestamp):[];this._trimEnd&&r.length>0&&(this.endTimestamp=r.reduce((o,c)=>o.endTimestamp&&c.endTimestamp?o.endTimestamp>c.endTimestamp?o:c:o).endTimestamp);const i=this.metadata,s={contexts:{...this._contexts,trace:this.getTraceContext()},spans:r,start_timestamp:this.startTimestamp,tags:this.tags,timestamp:this.endTimestamp,transaction:this.name,type:"transaction",sdkProcessingMetadata:{...i,dynamicSamplingContext:this.getDynamicSamplingContext()},...i.source&&{transaction_info:{source:i.source}}};return Object.keys(this._measurements).length>0&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding measurements to transaction",JSON.stringify(this._measurements,void 0,2)),s.measurements=this._measurements),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Finishing ${this.op} transaction: ${this.name}.`),this._hub.captureEvent(s)}toContext(){const e=super.toContext();return ut({...e,name:this.name,trimEnd:this._trimEnd})}updateWithContext(e){return super.updateWithContext(e),this.name=e.name||"",this._trimEnd=e.trimEnd,this}getDynamicSamplingContext(){if(this._frozenDynamicSamplingContext)return this._frozenDynamicSamplingContext;const e=this._hub||g(),n=e&&e.getClient();if(!n)return{};const{environment:r,release:i}=n.getOptions()||{},{publicKey:s}=n.getDsn()||{},a=this.metadata.sampleRate,o=a!==void 0?a.toString():void 0,{segment:c}=e.getScope().getUser()||{},u=this.metadata.source,d=u&&u!=="url"?this.name:void 0,l=ut({environment:r||En,release:i,transaction:d,user_segment:c,public_key:s,trace_id:this.traceId,sample_rate:o});return n.emit&&n.emit("createDsc",l),l}setHub(e){this._hub=e}}const Qe={idleTimeout:1e3,finalTimeout:3e4,heartbeatInterval:5e3},Qo="finishReason",qt=["heartbeatFailed","idleTimeout","documentHidden","finalTimeout","externalFinish","cancelled"];class tc extends Sn{constructor(e,n,r,i){super(i),this._pushActivity=e,this._popActivity=n,this.transactionSpanId=r}add(e){e.spanId!==this.transactionSpanId&&(e.finish=n=>{e.endTimestamp=typeof n=="number"?n:Yt(),this._popActivity(e.spanId)},e.endTimestamp===void 0&&this._pushActivity(e.spanId)),super.add(e)}}class Tt extends Jt{__init(){this.activities={}}__init2(){this._heartbeatCounter=0}__init3(){this._finished=!1}__init4(){this._idleTimeoutCanceledPermanently=!1}__init5(){this._beforeFinishCallbacks=[]}__init6(){this._finishReason=qt[4]}constructor(e,n,r=Qe.idleTimeout,i=Qe.finalTimeout,s=Qe.heartbeatInterval,a=!1){super(e,n),this._idleHub=n,this._idleTimeout=r,this._finalTimeout=i,this._heartbeatInterval=s,this._onScope=a,Tt.prototype.__init.call(this),Tt.prototype.__init2.call(this),Tt.prototype.__init3.call(this),Tt.prototype.__init4.call(this),Tt.prototype.__init5.call(this),Tt.prototype.__init6.call(this),a&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`Setting idle transaction on scope. Span ID: ${this.spanId}`),n.configureScope(o=>o.setSpan(this))),this._restartIdleTimeout(),setTimeout(()=>{this._finished||(this.setStatus("deadline_exceeded"),this._finishReason=qt[3],this.finish())},this._finalTimeout)}finish(e=Yt()){if(this._finished=!0,this.activities={},this.op==="ui.action.click"&&this.setTag(Qo,this._finishReason),this.spanRecorder){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] finishing IdleTransaction",new Date(e*1e3).toISOString(),this.op);for(const n of this._beforeFinishCallbacks)n(this,e);this.spanRecorder.spans=this.spanRecorder.spans.filter(n=>{if(n.spanId===this.spanId)return!0;n.endTimestamp||(n.endTimestamp=e,n.setStatus("cancelled"),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] cancelling span since transaction ended early",JSON.stringify(n,void 0,2)));const r=n.startTimestamp<e;return r||(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] discarding Span since it happened after Transaction was finished",JSON.stringify(n,void 0,2)),r}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] flushing IdleTransaction")}else(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] No active IdleTransaction");if(this._onScope){const n=this._idleHub.getScope();n.getTransaction()===this&&n.setSpan(void 0)}return super.finish(e)}registerBeforeFinishCallback(e){this._beforeFinishCallbacks.push(e)}initSpanRecorder(e){if(!this.spanRecorder){const n=i=>{this._finished||this._pushActivity(i)},r=i=>{this._finished||this._popActivity(i)};this.spanRecorder=new tc(n,r,this.spanId,e),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("Starting heartbeat"),this._pingHeartbeat()}this.spanRecorder.add(this)}cancelIdleTimeout(e,{restartOnChildSpanChange:n}={restartOnChildSpanChange:!0}){this._idleTimeoutCanceledPermanently=n===!1,this._idleTimeoutID&&(clearTimeout(this._idleTimeoutID),this._idleTimeoutID=void 0,Object.keys(this.activities).length===0&&this._idleTimeoutCanceledPermanently&&(this._finishReason=qt[5],this.finish(e)))}setFinishReason(e){this._finishReason=e}_restartIdleTimeout(e){this.cancelIdleTimeout(),this._idleTimeoutID=setTimeout(()=>{!this._finished&&Object.keys(this.activities).length===0&&(this._finishReason=qt[1],this.finish(e))},this._idleTimeout)}_pushActivity(e){this.cancelIdleTimeout(void 0,{restartOnChildSpanChange:!this._idleTimeoutCanceledPermanently}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] pushActivity: ${e}`),this.activities[e]=!0,(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] new activities count",Object.keys(this.activities).length)}_popActivity(e){if(this.activities[e]&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] popActivity ${e}`),delete this.activities[e],(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] new activities count",Object.keys(this.activities).length)),Object.keys(this.activities).length===0){const n=Yt();this._idleTimeoutCanceledPermanently?(this._finishReason=qt[5],this.finish(n)):this._restartIdleTimeout(n+this._idleTimeout/1e3)}}_beat(){if(this._finished)return;const e=Object.keys(this.activities).join("");e===this._prevHeartbeatString?this._heartbeatCounter++:this._heartbeatCounter=1,this._prevHeartbeatString=e,this._heartbeatCounter>=3?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] Transaction finished because of no change for 3 heart beats"),this.setStatus("deadline_exceeded"),this._finishReason=qt[0],this.finish()):this._pingHeartbeat()}_pingHeartbeat(){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`pinging Heartbeat -> current counter: ${this._heartbeatCounter}`),setTimeout(()=>{this._beat()},this._heartbeatInterval)}}function ec(){const e=this.getScope().getSpan();return e?{"sentry-trace":e.toTraceparent()}:{}}function fs(t,e,n){if(!Er(e))return t.sampled=!1,t;if(t.sampled!==void 0)return t.setMetadata({sampleRate:Number(t.sampled)}),t;let r;return typeof e.tracesSampler=="function"?(r=e.tracesSampler(n),t.setMetadata({sampleRate:Number(r)})):n.parentSampled!==void 0?r=n.parentSampled:typeof e.tracesSampleRate<"u"?(r=e.tracesSampleRate,t.setMetadata({sampleRate:Number(r)})):(r=1,t.setMetadata({sampleRate:r})),nc(r)?r?(t.sampled=Math.random()<r,t.sampled?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] starting ${t.op} transaction - ${t.name}`),t):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Discarding transaction because it's not included in the random sample (sampling rate = ${Number(r)})`),t)):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Discarding transaction because ${typeof e.tracesSampler=="function"?"tracesSampler returned 0 or false":"a negative sampling decision was inherited or tracesSampleRate is set to 0"}`),t.sampled=!1,t):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("[Tracing] Discarding transaction because of invalid sample rate."),t.sampled=!1,t)}function nc(t){return Fi(t)||!(typeof t=="number"||typeof t=="boolean")?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Given sample rate is invalid. Sample rate must be a boolean or a number between 0 and 1. Got ${JSON.stringify(t)} of type ${JSON.stringify(typeof t)}.`),!1):t<0||t>1?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Given sample rate is invalid. Sample rate must be between 0 and 1. Got ${t}.`),!1):!0}function rc(t,e){const n=this.getClient(),r=n&&n.getOptions()||{},i=r.instrumenter||"sentry",s=t.instrumenter||"sentry";i!==s&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(`A transaction was started with instrumenter=\`${s}\`, but the SDK is configured with the \`${i}\` instrumenter. The transaction will not be sampled. Please use the ${i} instrumentation to start transactions.`),t.sampled=!1);let a=new Jt(t,this);return a=fs(a,r,{parentSampled:t.parentSampled,transactionContext:t,...e}),a.sampled&&a.initSpanRecorder(r._experiments&&r._experiments.maxSpans),n&&n.emit&&n.emit("startTransaction",a),a}function Jr(t,e,n,r,i,s,a){const o=t.getClient(),c=o&&o.getOptions()||{};let u=new Tt(e,t,n,r,a,i);return u=fs(u,c,{parentSampled:e.parentSampled,transactionContext:e,...s}),u.sampled&&u.initSpanRecorder(c._experiments&&c._experiments.maxSpans),o&&o.emit&&o.emit("startTransaction",u),u}function _s(){const t=de();t.__SENTRY__&&(t.__SENTRY__.extensions=t.__SENTRY__.extensions||{},t.__SENTRY__.extensions.startTransaction||(t.__SENTRY__.extensions.startTransaction=rc),t.__SENTRY__.extensions.traceHeaders||(t.__SENTRY__.extensions.traceHeaders=ec),Jo())}function ic(t,e,n=()=>{}){const r={...t};r.name!==void 0&&r.description===void 0&&(r.description=r.name);const i=g(),s=i.getScope(),a=s.getSpan(),o=a?a.startChild(r):i.startTransaction(r);s.setSpan(o);function c(){o&&o.finish(),i.getScope().setSpan(a)}let u;try{u=e(o)}catch(d){throw o&&o.setStatus("internal_error"),n(d),c(),d}return gn(u)?Promise.resolve(u).then(()=>{c()},d=>{o&&o.setStatus("internal_error"),n(d),c()}):c(),u}function bn(t,e){return g().captureException(t,{captureContext:e})}function sc(t,e){const n=typeof e=="string"?e:void 0,r=typeof e!="string"?{captureContext:e}:void 0;return g().captureMessage(t,n,r)}function ac(t,e){return g().captureEvent(t,e)}function oc(t){g().configureScope(t)}function hs(t){g().addBreadcrumb(t)}function ps(t,e){g().setContext(t,e)}function cc(t){g().setExtras(t)}function uc(t,e){g().setExtra(t,e)}function dc(t){g().setTags(t)}function lc(t,e){g().setTag(t,e)}function fc(t){g().setUser(t)}function ms(t){g().withScope(t)}function _c(t,e){return g().startTransaction({...t},e)}const hc="7";function gs(t){const e=t.protocol?`${t.protocol}:`:"",n=t.port?`:${t.port}`:"";return`${e}//${t.host}${n}${t.path?`/${t.path}`:""}/api/`}function pc(t){return`${gs(t)}${t.projectId}/envelope/`}function mc(t,e){return Ka({sentry_key:t.publicKey,sentry_version:hc,...e&&{sentry_client:`${e.name}/${e.version}`}})}function ys(t,e={}){const n=typeof e=="string"?e:e.tunnel,r=typeof e=="string"||!e._metadata?void 0:e._metadata.sdk;return n||`${pc(t)}?${mc(t,r)}`}function gc(t,e){const n=Hi(t),r=`${gs(n)}embed/error-page/`;let i=`dsn=${ce(n)}`;for(const s in e)if(s!=="dsn")if(s==="user"){const a=e.user;if(!a)continue;a.name&&(i+=`&name=${encodeURIComponent(a.name)}`),a.email&&(i+=`&email=${encodeURIComponent(a.email)}`)}else i+=`&${encodeURIComponent(s)}=${encodeURIComponent(e[s])}`;return`${r}?${i}`}function yc(t,e){return e&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||e.name,t.sdk.version=t.sdk.version||e.version,t.sdk.integrations=[...t.sdk.integrations||[],...e.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...e.packages||[]]),t}function Ec(t,e,n,r){const i=gr(n),s={sent_at:new Date().toISOString(),...i&&{sdk:i},...!!r&&{dsn:ce(e)}},a="aggregates"in t?[{type:"sessions"},t]:[{type:"session"},t];return Wt(s,[a])}function Sc(t,e,n,r){const i=gr(n),s=t.type&&t.type!=="replay_event"?t.type:"event";yc(t,n&&n.sdk);const a=is(t,i,r,e);return delete t.sdkProcessingMetadata,Wt(a,[[{type:s},t]])}const Qr=[];function bc(t){const e={};return t.forEach(n=>{const{name:r}=n,i=e[r];i&&!i.isDefaultInstance&&n.isDefaultInstance||(e[r]=n)}),Object.keys(e).map(n=>e[n])}function wc(t){const e=t.defaultIntegrations||[],n=t.integrations;e.forEach(a=>{a.isDefaultInstance=!0});let r;Array.isArray(n)?r=[...e,...n]:typeof n=="function"?r=Ji(n(e)):r=e;const i=bc(r),s=vc(i,a=>a.name==="Debug");if(s!==-1){const[a]=i.splice(s,1);i.push(a)}return i}function Tc(t){const e={};return t.forEach(n=>{n&&Es(n,e)}),e}function Es(t,e){e[t.name]=t,Qr.indexOf(t.name)===-1&&(t.setupOnce(Ae,g),Qr.push(t.name),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`Integration installed: ${t.name}`))}function vc(t,e){for(let n=0;n<t.length;n++)if(e(t[n])===!0)return n;return-1}function Ss(t,e,n,r){const{normalizeDepth:i=3,normalizeMaxBreadth:s=1e3}=t,a={...e,event_id:e.event_id||n.event_id||lt(),timestamp:e.timestamp||yn()},o=n.integrations||t.integrations.map(d=>d.name);Rc(a,t),Nc(a,o),e.type===void 0&&kc(a,t.stackParser);let c=r;n.captureContext&&(c=Dt.clone(c).update(n.captureContext));let u=St(a);if(c){if(c.getAttachments){const d=[...n.attachments||[],...c.getAttachments()];d.length&&(n.attachments=d)}u=c.applyToEvent(a,n)}return u.then(d=>typeof i=="number"&&i>0?Dc(d,i,s):d)}function Rc(t,e){const{environment:n,release:r,dist:i,maxValueLength:s=250}=e;"environment"in t||(t.environment="environment"in e?n:En),t.release===void 0&&r!==void 0&&(t.release=r),t.dist===void 0&&i!==void 0&&(t.dist=i),t.message&&(t.message=ye(t.message,s));const a=t.exception&&t.exception.values&&t.exception.values[0];a&&a.value&&(a.value=ye(a.value,s));const o=t.request;o&&o.url&&(o.url=ye(o.url,s))}const ti=new WeakMap;function kc(t,e){const n=nt._sentryDebugIds;if(!n)return;let r;const i=ti.get(e);i?r=i:(r=new Map,ti.set(e,r));const s=Object.keys(n).reduce((c,u)=>{let d;const l=r.get(u);l?d=l:(d=e(u),r.set(u,d));for(let h=d.length-1;h>=0;h--){const _=d[h];if(_.filename){c[_.filename]=n[u];break}}return c},{}),a=new Set;try{t.exception.values.forEach(c=>{c.stacktrace.frames.forEach(u=>{u.filename&&a.add(u.filename)})})}catch(c){}t.debug_meta=t.debug_meta||{},t.debug_meta.images=t.debug_meta.images||[];const o=t.debug_meta.images;a.forEach(c=>{s[c]&&o.push({type:"sourcemap",code_file:c,debug_id:s[c]})})}function Nc(t,e){e.length>0&&(t.sdk=t.sdk||{},t.sdk.integrations=[...t.sdk.integrations||[],...e])}function Dc(t,e,n){if(!t)return null;const r={...t,...t.breadcrumbs&&{breadcrumbs:t.breadcrumbs.map(i=>({...i,...i.data&&{data:pt(i.data,e,n)}}))},...t.user&&{user:pt(t.user,e,n)},...t.contexts&&{contexts:pt(t.contexts,e,n)},...t.extra&&{extra:pt(t.extra,e,n)}};return t.contexts&&t.contexts.trace&&r.contexts&&(r.contexts.trace=t.contexts.trace,t.contexts.trace.data&&(r.contexts.trace.data=pt(t.contexts.trace.data,e,n))),t.spans&&(r.spans=t.spans.map(i=>(i.data&&(i.data=pt(i.data,e,n)),i))),r}const ei="Not capturing exception because it's already been captured.";class Lt{__init(){this._integrations={}}__init2(){this._integrationsInitialized=!1}__init3(){this._numProcessing=0}__init4(){this._outcomes={}}__init5(){this._hooks={}}constructor(e){if(Lt.prototype.__init.call(this),Lt.prototype.__init2.call(this),Lt.prototype.__init3.call(this),Lt.prototype.__init4.call(this),Lt.prototype.__init5.call(this),this._options=e,e.dsn){this._dsn=Hi(e.dsn);const n=ys(this._dsn,e);this._transport=e.transport({recordDroppedEvent:this.recordDroppedEvent.bind(this),...e.transportOptions,url:n})}else(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("No DSN provided, client will not do anything.")}captureException(e,n,r){if(qr(e)){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(ei);return}let i=n&&n.event_id;return this._process(this.eventFromException(e,n).then(s=>this._captureEvent(s,n,r)).then(s=>{i=s})),i}captureMessage(e,n,r,i){let s=r&&r.event_id;const a=Yi(e)?this.eventFromMessage(String(e),n,r):this.eventFromException(e,r);return this._process(a.then(o=>this._captureEvent(o,r,i)).then(o=>{s=o})),s}captureEvent(e,n,r){if(n&&n.originalException&&qr(n.originalException)){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(ei);return}let i=n&&n.event_id;return this._process(this._captureEvent(e,n,r).then(s=>{i=s})),i}captureSession(e){if(!this._isEnabled()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("SDK not enabled, will not capture session.");return}typeof e.release!="string"?(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Discarded session because of missing or non-string release"):(this.sendSession(e),te(e,{init:!1}))}getDsn(){return this._dsn}getOptions(){return this._options}getSdkMetadata(){return this._options._metadata}getTransport(){return this._transport}flush(e){const n=this._transport;return n?this._isClientDoneProcessing(e).then(r=>n.flush(e).then(i=>r&&i)):St(!0)}close(e){return this.flush(e).then(n=>(this.getOptions().enabled=!1,n))}setupIntegrations(){this._isEnabled()&&!this._integrationsInitialized&&(this._integrations=Tc(this._options.integrations),this._integrationsInitialized=!0)}getIntegrationById(e){return this._integrations[e]}getIntegration(e){try{return this._integrations[e.id]||null}catch(n){return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Cannot retrieve integration ${e.id} from the current Client`),null}}addIntegration(e){Es(e,this._integrations)}sendEvent(e,n={}){if(this._dsn){let r=Sc(e,this._dsn,this._options._metadata,this._options.tunnel);for(const s of n.attachments||[])r=Io(r,Uo(s,this._options.transportOptions&&this._options.transportOptions.textEncoder));const i=this._sendEnvelope(r);i&&i.then(s=>this.emit("afterSendEvent",e,s),null)}}sendSession(e){if(this._dsn){const n=Ec(e,this._dsn,this._options._metadata,this._options.tunnel);this._sendEnvelope(n)}}recordDroppedEvent(e,n,r){if(this._options.sendClientReports){const i=`${e}:${n}`;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`Adding outcome: "${i}"`),this._outcomes[i]=this._outcomes[i]+1||1}}on(e,n){this._hooks[e]||(this._hooks[e]=[]),this._hooks[e].push(n)}emit(e,...n){this._hooks[e]&&this._hooks[e].forEach(r=>r(...n))}_updateSessionFromEvent(e,n){let r=!1,i=!1;const s=n.exception&&n.exception.values;if(s){i=!0;for(const c of s){const u=c.mechanism;if(u&&u.handled===!1){r=!0;break}}}const a=e.status==="ok";(a&&e.errors===0||a&&r)&&(te(e,{...r&&{status:"crashed"},errors:e.errors||Number(i||r)}),this.captureSession(e))}_isClientDoneProcessing(e){return new tt(n=>{let r=0;const i=1,s=setInterval(()=>{this._numProcessing==0?(clearInterval(s),n(!0)):(r+=i,e&&r>=e&&(clearInterval(s),n(!1)))},i)})}_isEnabled(){return this.getOptions().enabled!==!1&&this._dsn!==void 0}_prepareEvent(e,n,r){const i=this.getOptions(),s=Object.keys(this._integrations);return!n.integrations&&s.length>0&&(n.integrations=s),Ss(i,e,n,r)}_captureEvent(e,n={},r){return this._processEvent(e,n,r).then(i=>i.event_id,i=>{if(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__){const s=i;s.logLevel==="log"?f.log(s.message):f.warn(s)}})}_processEvent(e,n,r){const i=this.getOptions(),{sampleRate:s}=i;if(!this._isEnabled())return an(new J("SDK not enabled, will not capture event.","log"));const a=ws(e),o=bs(e),c=e.type||"error",u=`before send for type \`${c}\``;if(o&&typeof s=="number"&&Math.random()>s)return this.recordDroppedEvent("sample_rate","error",e),an(new J(`Discarding event because it's not included in the random sample (sampling rate = ${s})`,"log"));const d=c==="replay_event"?"replay":c;return this._prepareEvent(e,n,r).then(l=>{if(l===null)throw this.recordDroppedEvent("event_processor",d,e),new J("An event processor returned `null`, will not send event.","log");if(n.data&&n.data.__sentry__===!0)return l;const _=Ic(i,l,n);return xc(_,u)}).then(l=>{if(l===null)throw this.recordDroppedEvent("before_send",d,e),new J(`${u} returned \`null\`, will not send event.`,"log");const h=r&&r.getSession();!a&&h&&this._updateSessionFromEvent(h,l);const _=l.transaction_info;if(a&&_&&l.transaction!==e.transaction){const p="custom";l.transaction_info={..._,source:p}}return this.sendEvent(l,n),l}).then(null,l=>{throw l instanceof J?l:(this.captureException(l,{data:{__sentry__:!0},originalException:l}),new J(`Event processing pipeline threw an error, original event will not be sent. Details have been sent as a new event. Reason: ${l}`))})}_process(e){this._numProcessing++,e.then(n=>(this._numProcessing--,n),n=>(this._numProcessing--,n))}_sendEnvelope(e){if(this._transport&&this._dsn)return this.emit("beforeEnvelope",e),this._transport.send(e).then(null,n=>{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("Error while sending event:",n)});(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("Transport disabled")}_clearOutcomes(){const e=this._outcomes;return this._outcomes={},Object.keys(e).map(n=>{const[r,i]=n.split(":");return{reason:r,category:i,quantity:e[n]}})}}function xc(t,e){const n=`${e} must return \`null\` or a valid event.`;if(gn(t))return t.then(r=>{if(!Qt(r)&&r!==null)throw new J(n);return r},r=>{throw new J(`${e} rejected with ${r}`)});if(!Qt(t)&&t!==null)throw new J(n);return t}function Ic(t,e,n){const{beforeSend:r,beforeSendTransaction:i}=t;return bs(e)&&r?r(e,n):ws(e)&&i?i(e,n):e}function bs(t){return t.type===void 0}function ws(t){return t.type==="transaction"}function Oc(t,e){e.debug===!0&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__?f.enable():console.warn("[Sentry] Cannot initialize SDK with `debug` option using a non-debug bundle."));const n=g();n.getScope().update(e.initialScope);const i=new t(e);n.bindClient(i)}const Ac=30;function Sr(t,e,n=vo(t.bufferSize||Ac)){let r={};const i=a=>n.drain(a);function s(a){const o=[];if(on(a,(l,h)=>{const _=Vr(h);if(Po(r,_)){const p=ni(l,h);t.recordDroppedEvent("ratelimit_backoff",_,p)}else o.push(l)}),o.length===0)return St();const c=Wt(a[0],o),u=l=>{on(c,(h,_)=>{const p=ni(h,_);t.recordDroppedEvent(l,Vr(_),p)})},d=()=>e({body:rs(c,t.textEncoder)}).then(l=>(l.statusCode!==void 0&&(l.statusCode<200||l.statusCode>=300)&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Sentry responded with status code ${l.statusCode} to sent event.`),r=Yo(r,l),l),l=>{throw u("network_error"),l});return n.add(d).then(l=>l,l=>{if(l instanceof J)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("Skipped sending event because buffer is full."),u("queue_overflow"),St();throw l})}return s.__sentry__baseTransport__=!0,{send:s,flush:i}}function ni(t,e){if(!(e!=="event"&&e!=="transaction"))return Array.isArray(t)?t[1]:void 0}const Cc=100,ri=5e3,Uc=36e5;function An(t,e){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.info(`[Offline]: ${t}`,e)}function Bc(t){return e=>{const n=t(e),r=e.createStore?e.createStore(e):void 0;let i=ri,s;function a(d,l,h){return Oo(d,["replay_event","replay_recording","client_report"])?!1:e.shouldStore?e.shouldStore(d,l,h):!0}function o(d){r&&(s&&clearTimeout(s),s=setTimeout(async()=>{s=void 0;const l=await r.pop();l&&(An("Attempting to send previously queued event"),u(l).catch(h=>{An("Failed to retry sending",h)}))},d),typeof s!="number"&&s.unref&&s.unref())}function c(){s||(o(i),i=Math.min(i*2,Uc))}async function u(d){try{const l=await n.send(d);let h=Cc;if(l){if(l.headers&&l.headers["retry-after"])h=ss(l.headers["retry-after"]);else if((l.statusCode||0)>=400)return l}return o(h),i=ri,l}catch(l){if(r&&await a(d,l,i))return await r.insert(d),c(),An("Error sending. Event queued",l),{};throw l}}return e.flushAtStartup&&c(),{send:u,flush:d=>n.flush(d)}}}function Lc(t,e){let n;return on(t,(r,i)=>(e.includes(i)&&(n=Array.isArray(r)?r[1]:void 0),!!n)),n}function Mc(t,e){return n=>{const r=t(n),i={};function s(c){if(!i[c]){const u=ys(zi(c));i[c]=t({...n,url:u})}return i[c]}async function a(c){function u(h){const _=h&&h.length?h:["event"];return Lc(c,_)}const d=e({envelope:c,getEvent:u}).map(h=>s(h));return d.length===0&&d.push(r),(await Promise.all(d.map(h=>h.send(c))))[0]}async function o(c){const u=[...Object.keys(i).map(l=>i[l]),r];return(await Promise.all(u.map(l=>l.flush(c)))).every(l=>l)}return{send:a,flush:o}}}const Zn="7.51.2";let ii;class Ft{constructor(){Ft.prototype.__init.call(this)}static __initStatic(){this.id="FunctionToString"}__init(){this.name=Ft.id}setupOnce(){ii=Function.prototype.toString;try{Function.prototype.toString=function(...e){const n=mr(this)||this;return ii.apply(n,e)}}catch(e){}}}Ft.__initStatic();const Gc=[/^Script error\.?$/,/^Javascript error: Script error\.? on line 0$/];class xt{static __initStatic(){this.id="InboundFilters"}__init(){this.name=xt.id}constructor(e={}){this._options=e,xt.prototype.__init.call(this)}setupOnce(e,n){const r=i=>{const s=n();if(s){const a=s.getIntegration(xt);if(a){const o=s.getClient(),c=o?o.getOptions():{},u=Pc(a._options,c);return Yc(i,u)?null:i}}return i};r.id=this.name,e(r)}}xt.__initStatic();function Pc(t={},e={}){return{allowUrls:[...t.allowUrls||[],...e.allowUrls||[]],denyUrls:[...t.denyUrls||[],...e.denyUrls||[]],ignoreErrors:[...t.ignoreErrors||[],...e.ignoreErrors||[],...Gc],ignoreTransactions:[...t.ignoreTransactions||[],...e.ignoreTransactions||[]],ignoreInternal:t.ignoreInternal!==void 0?t.ignoreInternal:!0}}function Yc(t,e){return e.ignoreInternal&&Wc(t)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being internal Sentry Error. Event: ${vt(t)}`),!0):Fc(t,e.ignoreErrors)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \`ignoreErrors\` option. Event: ${vt(t)}`),!0):zc(t,e.ignoreTransactions)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \`ignoreTransactions\` option. Event: ${vt(t)}`),!0):$c(t,e.denyUrls)?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to being matched by \`denyUrls\` option. Event: ${vt(t)}. Url: ${un(t)}`),!0):Hc(t,e.allowUrls)?!1:((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`Event dropped due to not being matched by \`allowUrls\` option. Event: ${vt(t)}. Url: ${un(t)}`),!0)}function Fc(t,e){return t.type||!e||!e.length?!1:jc(t).some(n=>ue(n,e))}function zc(t,e){if(t.type!=="transaction"||!e||!e.length)return!1;const n=t.transaction;return n?ue(n,e):!1}function $c(t,e){if(!e||!e.length)return!1;const n=un(t);return n?ue(n,e):!1}function Hc(t,e){if(!e||!e.length)return!0;const n=un(t);return n?ue(n,e):!0}function jc(t){if(t.message)return[t.message];if(t.exception)try{const{type:e="",value:n=""}=t.exception.values&&t.exception.values[0]||{};return[`${n}`,`${e}: ${n}`]}catch(e){return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(`Cannot extract message for event ${vt(t)}`),[]}return[]}function Wc(t){try{return t.exception.values[0].type==="SentryError"}catch(e){}return!1}function qc(t=[]){for(let e=t.length-1;e>=0;e--){const n=t[e];if(n&&n.filename!=="<anonymous>"&&n.filename!=="[native code]")return n.filename||null}return null}function un(t){try{let e;try{e=t.exception.values[0].stacktrace.frames}catch(n){}return e?qc(e):null}catch(e){return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(`Cannot extract url for event ${vt(t)}`),null}}const Zc=Object.freeze(Object.defineProperty({__proto__:null,FunctionToString:Ft,InboundFilters:xt},Symbol.toStringTag,{value:"Module"})),y=nt;let Vn=0;function Ts(){return Vn>0}function Vc(){Vn++,setTimeout(()=>{Vn--})}function zt(t,e={},n){if(typeof t!="function")return t;try{const i=t.__sentry_wrapped__;if(i)return i;if(mr(t))return t}catch(i){return t}const r=function(){const i=Array.prototype.slice.call(arguments);try{n&&typeof n=="function"&&n.apply(this,arguments);const s=i.map(a=>zt(a,e));return t.apply(this,s)}catch(s){throw Vc(),ms(a=>{a.addEventProcessor(o=>(e.mechanism&&(Fn(o,void 0,void 0),ve(o,e.mechanism)),o.extra={...o.extra,arguments:i},o)),bn(s)}),s}};try{for(const i in t)Object.prototype.hasOwnProperty.call(t,i)&&(r[i]=t[i])}catch(i){}Wi(r,t),pr(t,"__sentry_wrapped__",r);try{Object.getOwnPropertyDescriptor(r,"name").configurable&&Object.defineProperty(r,"name",{get(){return t.name}})}catch(i){}return r}function vs(t,e){const n=br(t,e),r={type:e&&e.name,value:Qc(e)};return n.length&&(r.stacktrace={frames:n}),r.type===void 0&&r.value===""&&(r.value="Unrecoverable error caught"),r}function Xc(t,e,n,r){const s=g().getClient(),a=s&&s.getOptions().normalizeDepth,o={exception:{values:[{type:_r(e)?e.constructor.name:r?"UnhandledRejection":"Error",value:`Non-Error ${r?"promise rejection":"exception"} captured with keys: ${Ja(e)}`}]},extra:{__serialized__:ts(e,a)}};if(n){const c=br(t,n);c.length&&(o.exception.values[0].stacktrace={frames:c})}return o}function Cn(t,e){return{exception:{values:[vs(t,e)]}}}function br(t,e){const n=e.stacktrace||e.stack||"",r=Jc(e);try{return t(n,r)}catch(i){}return[]}const Kc=/Minified React error #\d+;/i;function Jc(t){if(t){if(typeof t.framesToPop=="number")return t.framesToPop;if(Kc.test(t.message))return 1}return 0}function Qc(t){const e=t&&t.message;return e?e.error&&typeof e.error.message=="string"?e.error.message:e:"No error message"}function Rs(t,e,n,r){const i=n&&n.syntheticException||void 0,s=wr(t,e,i,r);return ve(s),s.level="error",n&&n.event_id&&(s.event_id=n.event_id),St(s)}function ks(t,e,n="info",r,i){const s=r&&r.syntheticException||void 0,a=Xn(t,e,s,i);return a.level=n,r&&r.event_id&&(a.event_id=r.event_id),St(a)}function wr(t,e,n,r,i){let s;if(Pi(e)&&e.error)return Cn(t,e.error);if(Gr(e)||Ga(e)){const a=e;if("stack"in e)s=Cn(t,e);else{const o=a.name||(Gr(a)?"DOMError":"DOMException"),c=a.message?`${o}: ${a.message}`:o;s=Xn(t,c,n,r),Fn(s,c)}return"code"in a&&(s.tags={...s.tags,"DOMException.code":`${a.code}`}),s}return Gi(e)?Cn(t,e):Qt(e)||_r(e)?(s=Xc(t,e,n,i),ve(s,{synthetic:!0}),s):(s=Xn(t,e,n,r),Fn(s,`${e}`,void 0),ve(s,{synthetic:!0}),s)}function Xn(t,e,n,r){const i={message:e};if(r&&n){const s=br(t,n);s.length&&(i.exception={values:[{value:e,stacktrace:{frames:s}}]})}return i}const He=1024,Ns="Breadcrumbs";class $t{static __initStatic(){this.id=Ns}__init(){this.name=$t.id}constructor(e){$t.prototype.__init.call(this),this.options={console:!0,dom:!0,fetch:!0,history:!0,sentry:!0,xhr:!0,...e}}setupOnce(){this.options.console&&V("console",eu),this.options.dom&&V("dom",tu(this.options.dom)),this.options.xhr&&V("xhr",nu),this.options.fetch&&V("fetch",ru),this.options.history&&V("history",iu)}addSentryBreadcrumb(e){this.options.sentry&&g().addBreadcrumb({category:`sentry.${e.type==="transaction"?"transaction":"event"}`,event_id:e.event_id,level:e.level,message:vt(e)},{event:e})}}$t.__initStatic();function tu(t){function e(n){let r,i=typeof t=="object"?t.serializeAttribute:void 0,s=typeof t=="object"&&typeof t.maxStringLength=="number"?t.maxStringLength:void 0;s&&s>He&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`\`dom.maxStringLength\` cannot exceed ${He}, but a value of ${s} was configured. Sentry will use ${He} instead.`),s=He),typeof i=="string"&&(i=[i]);try{const a=n.event;r=su(a)?Pt(a.target,{keyAttrs:i,maxStringLength:s}):Pt(a,{keyAttrs:i,maxStringLength:s})}catch(a){r="<unknown>"}r.length!==0&&g().addBreadcrumb({category:`ui.${n.name}`,message:r},{event:n.event,name:n.name,global:n.global})}return e}function eu(t){for(let n=0;n<t.args.length;n++)if(t.args[n]==="ref=Ref<"){t.args[n+1]="viewRef";break}const e={category:"console",data:{arguments:t.args,logger:"console"},level:ko(t.level),message:Yr(t.args," ")};if(t.level==="assert")if(t.args[0]===!1)e.message=`Assertion failed: ${Yr(t.args.slice(1)," ")||"console.assert"}`,e.data.arguments=t.args.slice(1);else return;g().addBreadcrumb(e,{input:t.args,level:t.level})}function nu(t){const{startTimestamp:e,endTimestamp:n}=t,r=t.xhr[Rt];if(!e||!n||!r)return;const{method:i,url:s,status_code:a,body:o}=r,c={method:i,url:s,status_code:a},u={xhr:t.xhr,input:o,startTimestamp:e,endTimestamp:n};g().addBreadcrumb({category:"xhr",data:c,type:"http"},u)}function ru(t){const{startTimestamp:e,endTimestamp:n}=t;if(n&&!(t.fetchData.url.match(/sentry_key/)&&t.fetchData.method==="POST"))if(t.error){const r=t.fetchData,i={data:t.error,input:t.args,startTimestamp:e,endTimestamp:n};g().addBreadcrumb({category:"fetch",data:r,level:"error",type:"http"},i)}else{const r={...t.fetchData,status_code:t.response&&t.response.status},i={input:t.args,response:t.response,startTimestamp:e,endTimestamp:n};g().addBreadcrumb({category:"fetch",data:r,type:"http"},i)}}function iu(t){let e=t.from,n=t.to;const r=In(y.location.href);let i=In(e);const s=In(n);i.path||(i=r),r.protocol===s.protocol&&r.host===s.host&&(n=s.relative),r.protocol===i.protocol&&r.host===i.host&&(e=i.relative),g().addBreadcrumb({category:"navigation",data:{from:e,to:n}})}function su(t){return t&&!!t.target}function Ds(t,{metadata:e,tunnel:n,dsn:r}){const i={event_id:t.event_id,sent_at:new Date().toISOString(),...e&&e.sdk&&{sdk:{name:e.sdk.name,version:e.sdk.version}},...!!n&&!!r&&{dsn:ce(r)}},s=au(t);return Wt(i,[s])}function au(t){return[{type:"user_report"},t]}class xs extends Lt{constructor(e){const n=y.SENTRY_SDK_SOURCE||yo();e._metadata=e._metadata||{},e._metadata.sdk=e._metadata.sdk||{name:"sentry.javascript.browser",packages:[{name:`${n}:@sentry/browser`,version:Zn}],version:Zn},super(e),e.sendClientReports&&y.document&&y.document.addEventListener("visibilitychange",()=>{y.document.visibilityState==="hidden"&&this._flushOutcomes()})}eventFromException(e,n){return Rs(this._options.stackParser,e,n,this._options.attachStacktrace)}eventFromMessage(e,n="info",r){return ks(this._options.stackParser,e,n,r,this._options.attachStacktrace)}sendEvent(e,n){const r=this.getIntegrationById(Ns);r&&r.addSentryBreadcrumb&&r.addSentryBreadcrumb(e),super.sendEvent(e,n)}captureUserFeedback(e){if(!this._isEnabled()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("SDK not enabled, will not capture user feedback.");return}const n=Ds(e,{metadata:this.getSdkMetadata(),dsn:this.getDsn(),tunnel:this.getOptions().tunnel});this._sendEnvelope(n)}_prepareEvent(e,n,r){return e.platform=e.platform||"javascript",super._prepareEvent(e,n,r)}_flushOutcomes(){const e=this._clearOutcomes();if(e.length===0){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("No outcomes to send");return}if(!this._dsn){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("No dsn provided, will not send outcomes");return}(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("Sending outcomes:",e);const n=Lo(e,this._options.tunnel&&ce(this._dsn));this._sendEnvelope(n)}}let me;function ou(){if(me)return me;if(Pn(y.fetch))return me=y.fetch.bind(y);const t=y.document;let e=y.fetch;if(t&&typeof t.createElement=="function")try{const n=t.createElement("iframe");n.hidden=!0,t.head.appendChild(n);const r=n.contentWindow;r&&r.fetch&&(e=r.fetch),t.head.removeChild(n)}catch(n){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Could not create sandbox iframe for pure fetch check, bailing to window.fetch: ",n)}return me=e.bind(y)}function cu(){me=void 0}function Is(t,e=ou()){let n=0,r=0;function i(s){const a=s.body.length;n+=a,r++;const o={body:s.body,method:"POST",referrerPolicy:"origin",headers:t.headers,keepalive:n<=6e4&&r<15,...t.fetchOptions};try{return e(t.url,o).then(c=>(n-=a,r--,{statusCode:c.status,headers:{"x-sentry-rate-limits":c.headers.get("X-Sentry-Rate-Limits"),"retry-after":c.headers.get("Retry-After")}}))}catch(c){return cu(),n-=a,r--,an(c)}}return Sr(t,i)}const uu=4;function Os(t){function e(n){return new tt((r,i)=>{const s=new XMLHttpRequest;s.onerror=i,s.onreadystatechange=()=>{s.readyState===uu&&r({statusCode:s.status,headers:{"x-sentry-rate-limits":s.getResponseHeader("X-Sentry-Rate-Limits"),"retry-after":s.getResponseHeader("Retry-After")}})},s.open("POST",t.url);for(const a in t.headers)Object.prototype.hasOwnProperty.call(t.headers,a)&&s.setRequestHeader(a,t.headers[a]);s.send(n.body)})}return Sr(t,e)}const fe="?",du=10,lu=20,fu=30,_u=40,hu=50;function Ce(t,e,n,r){const i={filename:t,function:e,in_app:!0};return n!==void 0&&(i.lineno=n),r!==void 0&&(i.colno=r),i}const pu=/^\s*at (?:(.+?\)(?: \[.+\])?|.*?) ?\((?:address at )?)?(?:async )?((?:<anonymous>|[-a-z]+:|.*bundle|\/)?.*?)(?::(\d+))?(?::(\d+))?\)?\s*$/i,mu=/\((\S*)(?::(\d+))(?::(\d+))\)/,gu=t=>{const e=pu.exec(t);if(e){if(e[2]&&e[2].indexOf("eval")===0){const s=mu.exec(e[2]);s&&(e[2]=s[1],e[3]=s[2],e[4]=s[3])}const[r,i]=Ms(e[1]||fe,e[2]);return Ce(i,r,e[3]?+e[3]:void 0,e[4]?+e[4]:void 0)}},As=[fu,gu],yu=/^\s*(.*?)(?:\((.*?)\))?(?:^|@)?((?:[-a-z]+)?:\/.*?|\[native code\]|[^@]*(?:bundle|\d+\.js)|\/[\w\-. /=]+)(?::(\d+))?(?::(\d+))?\s*$/i,Eu=/(\S+) line (\d+)(?: > eval line \d+)* > eval/i,Su=t=>{const e=yu.exec(t);if(e){if(e[3]&&e[3].indexOf(" > eval")>-1){const s=Eu.exec(e[3]);s&&(e[1]=e[1]||"eval",e[3]=s[1],e[4]=s[2],e[5]="")}let r=e[3],i=e[1]||fe;return[i,r]=Ms(i,r),Ce(r,i,e[4]?+e[4]:void 0,e[5]?+e[5]:void 0)}},Cs=[hu,Su],bu=/^\s*at (?:((?:\[object object\])?.+) )?\(?((?:[-a-z]+):.*?):(\d+)(?::(\d+))?\)?\s*$/i,wu=t=>{const e=bu.exec(t);return e?Ce(e[2],e[1]||fe,+e[3],e[4]?+e[4]:void 0):void 0},Us=[_u,wu],Tu=/ line (\d+).*script (?:in )?(\S+)(?:: in function (\S+))?$/i,vu=t=>{const e=Tu.exec(t);return e?Ce(e[2],e[3]||fe,+e[1]):void 0},Ru=[du,vu],ku=/ line (\d+), column (\d+)\s*(?:in (?:<anonymous function: ([^>]+)>|([^)]+))\(.*\))? in (.*):\s*$/i,Nu=t=>{const e=ku.exec(t);return e?Ce(e[5],e[3]||e[4]||fe,+e[1],+e[2]):void 0},Du=[lu,Nu],Bs=[As,Cs,Us],Ls=Vi(...Bs),Ms=(t,e)=>{const n=t.indexOf("safari-extension")!==-1,r=t.indexOf("safari-web-extension")!==-1;return n||r?[t.indexOf("@")!==-1?t.split("@")[0]:fe,n?`safari-extension:${e}`:`safari-web-extension:${e}`]:[t,e]};class mt{static __initStatic(){this.id="GlobalHandlers"}__init(){this.name=mt.id}__init2(){this._installFunc={onerror:xu,onunhandledrejection:Iu}}constructor(e){mt.prototype.__init.call(this),mt.prototype.__init2.call(this),this._options={onerror:!0,onunhandledrejection:!0,...e}}setupOnce(){Error.stackTraceLimit=50;const e=this._options;for(const n in e){const r=this._installFunc[n];r&&e[n]&&(Cu(n),r(),this._installFunc[n]=void 0)}}}mt.__initStatic();function xu(){V("error",t=>{const[e,n,r]=Ys();if(!e.getIntegration(mt))return;const{msg:i,url:s,line:a,column:o,error:c}=t;if(Ts()||c&&c.__sentry_own_request__)return;const u=c===void 0&&Ct(i)?Au(i,s,a,o):Gs(wr(n,c||i,void 0,r,!1),s,a,o);u.level="error",Ps(e,c,u,"onerror")})}function Iu(){V("unhandledrejection",t=>{const[e,n,r]=Ys();if(!e.getIntegration(mt))return;let i=t;try{"reason"in t?i=t.reason:"detail"in t&&"reason"in t.detail&&(i=t.detail.reason)}catch(a){}if(Ts()||i&&i.__sentry_own_request__)return!0;const s=Yi(i)?Ou(i):wr(n,i,void 0,r,!0);s.level="error",Ps(e,i,s,"onunhandledrejection")})}function Ou(t){return{exception:{values:[{type:"UnhandledRejection",value:`Non-Error promise rejection captured with value: ${String(t)}`}]}}}function Au(t,e,n,r){const i=/^(?:[Uu]ncaught (?:exception: )?)?(?:((?:Eval|Internal|Range|Reference|Syntax|Type|URI|)Error): )?(.*)$/i;let s=Pi(t)?t.message:t,a="Error";const o=s.match(i);return o&&(a=o[1],s=o[2]),Gs({exception:{values:[{type:a,value:s}]}},e,n,r)}function Gs(t,e,n,r){const i=t.exception=t.exception||{},s=i.values=i.values||[],a=s[0]=s[0]||{},o=a.stacktrace=a.stacktrace||{},c=o.frames=o.frames||[],u=isNaN(parseInt(r,10))?void 0:r,d=isNaN(parseInt(n,10))?void 0:n,l=Ct(e)&&e.length>0?e:Ha();return c.length===0&&c.push({colno:u,filename:l,function:"?",in_app:!0,lineno:d}),t}function Cu(t){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`Global Handler attached: ${t}`)}function Ps(t,e,n,r){ve(n,{handled:!1,type:r}),t.captureEvent(n,{originalException:e})}function Ys(){const t=g(),e=t.getClient(),n=e&&e.getOptions()||{stackParser:()=>[],attachStacktrace:!1};return[t,n.stackParser,n.attachStacktrace]}const Uu=["EventTarget","Window","Node","ApplicationCache","AudioTrackList","ChannelMergerNode","CryptoOperation","EventSource","FileReader","HTMLUnknownElement","IDBDatabase","IDBRequest","IDBTransaction","KeyOperation","MediaController","MessagePort","ModalWindow","Notification","SVGElementInstance","Screen","TextTrack","TextTrackCue","TextTrackList","WebSocket","WebSocketWorker","Worker","XMLHttpRequest","XMLHttpRequestEventTarget","XMLHttpRequestUpload"];class Ht{static __initStatic(){this.id="TryCatch"}__init(){this.name=Ht.id}constructor(e){Ht.prototype.__init.call(this),this._options={XMLHttpRequest:!0,eventTarget:!0,requestAnimationFrame:!0,setInterval:!0,setTimeout:!0,...e}}setupOnce(){this._options.setTimeout&&X(y,"setTimeout",si),this._options.setInterval&&X(y,"setInterval",si),this._options.requestAnimationFrame&&X(y,"requestAnimationFrame",Bu),this._options.XMLHttpRequest&&"XMLHttpRequest"in y&&X(XMLHttpRequest.prototype,"send",Lu);const e=this._options.eventTarget;e&&(Array.isArray(e)?e:Uu).forEach(Mu)}}Ht.__initStatic();function si(t){return function(...e){const n=e[0];return e[0]=zt(n,{mechanism:{data:{function:Bt(t)},handled:!0,type:"instrument"}}),t.apply(this,e)}}function Bu(t){return function(e){return t.apply(this,[zt(e,{mechanism:{data:{function:"requestAnimationFrame",handler:Bt(t)},handled:!0,type:"instrument"}})])}}function Lu(t){return function(...e){const n=this;return["onload","onerror","onprogress","onreadystatechange"].forEach(i=>{i in n&&typeof n[i]=="function"&&X(n,i,function(s){const a={mechanism:{data:{function:i,handler:Bt(s)},handled:!0,type:"instrument"}},o=mr(s);return o&&(a.mechanism.data.handler=Bt(o)),zt(s,a)})}),t.apply(this,e)}}function Mu(t){const e=y,n=e[t]&&e[t].prototype;!n||!n.hasOwnProperty||!n.hasOwnProperty("addEventListener")||(X(n,"addEventListener",function(r){return function(i,s,a){try{typeof s.handleEvent=="function"&&(s.handleEvent=zt(s.handleEvent,{mechanism:{data:{function:"handleEvent",handler:Bt(s),target:t},handled:!0,type:"instrument"}}))}catch(o){}return r.apply(this,[i,zt(s,{mechanism:{data:{function:"addEventListener",handler:Bt(s),target:t},handled:!0,type:"instrument"}}),a])}}),X(n,"removeEventListener",function(r){return function(i,s,a){const o=s;try{const c=o&&o.__sentry_wrapped__;c&&r.call(this,i,c,a)}catch(c){}return r.call(this,i,o,a)}}))}const Gu="cause",Pu=5;class It{static __initStatic(){this.id="LinkedErrors"}__init(){this.name=It.id}constructor(e={}){It.prototype.__init.call(this),this._key=e.key||Gu,this._limit=e.limit||Pu}setupOnce(){const e=g().getClient();e&&Ae((n,r)=>{const i=g().getIntegration(It);return i?Yu(e.getOptions().stackParser,i._key,i._limit,n,r):n})}}It.__initStatic();function Yu(t,e,n,r,i){if(!r.exception||!r.exception.values||!i||!Ut(i.originalException,Error))return r;const s=Fs(t,n,i.originalException,e);return r.exception.values=[...s,...r.exception.values],r}function Fs(t,e,n,r,i=[]){if(!Ut(n[r],Error)||i.length+1>=e)return i;const s=vs(t,n[r]);return Fs(t,e,n[r],r,[s,...i])}class Ot{constructor(){Ot.prototype.__init.call(this)}static __initStatic(){this.id="HttpContext"}__init(){this.name=Ot.id}setupOnce(){Ae(e=>{if(g().getIntegration(Ot)){if(!y.navigator&&!y.location&&!y.document)return e;const n=e.request&&e.request.url||y.location&&y.location.href,{referrer:r}=y.document||{},{userAgent:i}=y.navigator||{},s={...e.request&&e.request.headers,...r&&{Referer:r},...i&&{"User-Agent":i}},a={...e.request,...n&&{url:n},headers:s};return{...e,request:a}}return e})}}Ot.__initStatic();class At{constructor(){At.prototype.__init.call(this)}static __initStatic(){this.id="Dedupe"}__init(){this.name=At.id}setupOnce(e,n){const r=i=>{if(i.type)return i;const s=n().getIntegration(At);if(s){try{if(Fu(i,s._previousEvent))return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Event dropped due to being a duplicate of previously captured event."),null}catch(a){return s._previousEvent=i}return s._previousEvent=i}return i};r.id=this.name,e(r)}}At.__initStatic();function Fu(t,e){return e?!!(zu(t,e)||$u(t,e)):!1}function zu(t,e){const n=t.message,r=e.message;return!(!n&&!r||n&&!r||!n&&r||n!==r||!$s(t,e)||!zs(t,e))}function $u(t,e){const n=ai(e),r=ai(t);return!(!n||!r||n.type!==r.type||n.value!==r.value||!$s(t,e)||!zs(t,e))}function zs(t,e){let n=oi(t),r=oi(e);if(!n&&!r)return!0;if(n&&!r||!n&&r||(n=n,r=r,r.length!==n.length))return!1;for(let i=0;i<r.length;i++){const s=r[i],a=n[i];if(s.filename!==a.filename||s.lineno!==a.lineno||s.colno!==a.colno||s.function!==a.function)return!1}return!0}function $s(t,e){let n=t.fingerprint,r=e.fingerprint;if(!n&&!r)return!0;if(n&&!r||!n&&r)return!1;n=n,r=r;try{return n.join("")===r.join("")}catch(i){return!1}}function ai(t){return t.exception&&t.exception.values&&t.exception.values[0]}function oi(t){const e=t.exception;if(e)try{return e.values[0].stacktrace.frames}catch(n){return}}const Hs=[new xt,new Ft,new Ht,new $t,new mt,new It,new At,new Ot];function js(t={}){t.defaultIntegrations===void 0&&(t.defaultIntegrations=Hs),t.release===void 0&&(typeof __SENTRY_RELEASE__=="string"&&(t.release=__SENTRY_RELEASE__),y.SENTRY_RELEASE&&y.SENTRY_RELEASE.id&&(t.release=y.SENTRY_RELEASE.id)),t.autoSessionTracking===void 0&&(t.autoSessionTracking=!0),t.sendClientReports===void 0&&(t.sendClientReports=!0);const e={...t,stackParser:Qa(t.stackParser||Ls),integrations:wc(t),transport:t.transport||(Xi()?Is:Os)};Oc(xs,e),t.autoSessionTracking&&Ku()}function Hu(t={},e=g()){if(!y.document){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("Global document not defined in showReportDialog call");return}const{client:n,scope:r}=e.getStackTop(),i=t.dsn||n&&n.getDsn();if(!i){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("DSN not configured for showReportDialog call");return}r&&(t.user={...r.getUser(),...t.user}),t.eventId||(t.eventId=e.lastEventId());const s=y.document.createElement("script");s.async=!0,s.src=gc(i,t),t.onLoad&&(s.onload=t.onLoad);const a=y.document.head||y.document.body;a?a.appendChild(s):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("Not injecting report dialog. No injection point found in HTML")}function ju(){return g().lastEventId()}function Wu(){}function qu(t){t()}function Zu(t){const e=g().getClient();return e?e.flush(t):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Cannot flush events. No client defined."),St(!1))}function Vu(t){const e=g().getClient();return e?e.close(t):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Cannot flush events and disable SDK. No client defined."),St(!1))}function Xu(t){return zt(t)()}function ci(t){t.startSession({ignoreDuration:!0}),t.captureSession()}function Ku(){if(typeof y.document>"u"){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Session tracking in non-browser environment with @sentry/browser is not supported.");return}const t=g();t.captureSession&&(ci(t),V("history",({from:e,to:n})=>{e===void 0||e===n||ci(g())}))}function Ju(t){const e=g().getClient();e&&e.captureUserFeedback(t)}const Qu=Object.freeze(Object.defineProperty({__proto__:null,Breadcrumbs:$t,Dedupe:At,GlobalHandlers:mt,HttpContext:Ot,LinkedErrors:It,TryCatch:Ht},Symbol.toStringTag,{value:"Module"})),G=nt,Tr="sentryReplaySession",td="replay_event",vr="Unable to send Replay",ed=3e5,nd=9e5,rd=36e5,id=5e3,sd=5500,ad=6e4,od=5e3,cd=3,je=15e4,We=5e3;var W;(function(t){t[t.Document=0]="Document",t[t.DocumentType=1]="DocumentType",t[t.Element=2]="Element",t[t.Text=3]="Text",t[t.CDATA=4]="CDATA",t[t.Comment=5]="Comment"})(W||(W={}));function ud(t){return t.nodeType===t.ELEMENT_NODE}function Se(t){const e=t==null?void 0:t.host;return!!(e&&e.shadowRoot&&e.shadowRoot===t)}function Ws({maskInputOptions:t,tagName:e,type:n}){e.toLowerCase()==="option"&&(e="select");const r=typeof n=="string"?n.toLowerCase():void 0;return t[e.toLowerCase()]||r&&t[r]||r==="password"||e==="input"&&!n&&t.text}function dd({tagName:t,type:e,maskInputOptions:n,maskInputSelector:r}){return r||Ws({maskInputOptions:n,tagName:t,type:e})}function Re({input:t,maskInputSelector:e,unmaskInputSelector:n,maskInputOptions:r,tagName:i,type:s,value:a,maskInputFn:o}){let c=a||"";return n&&t.matches(n)||(t.hasAttribute("data-rr-is-password")&&(s="password"),(Ws({maskInputOptions:r,tagName:i,type:s})||e&&t.matches(e))&&(o?c=o(c):c="*".repeat(c.length))),c}const ui="__rrweb_original__";function ld(t){const e=t.getContext("2d");if(!e)return!0;const n=50;for(let r=0;r<t.width;r+=n)for(let i=0;i<t.height;i+=n){const s=e.getImageData,a=ui in s?s[ui]:s;if(new Uint32Array(a.call(e,r,i,Math.min(n,t.width-r),Math.min(n,t.height-i)).data.buffer).some(c=>c!==0))return!1}return!0}function qs(t){const e=t.type;return t.hasAttribute("data-rr-is-password")?"password":e?e.toLowerCase():null}function Kn(t,e,n){return typeof n=="string"&&n.toLowerCase(),e==="INPUT"&&(n==="radio"||n==="checkbox")?t.getAttribute("value")||"":t.value}let fd=1;const _d=new RegExp("[^a-z0-9-_:]"),ke=-2;function Zs(t){return t?t.replace(/[\S]/g,"*"):""}function hd(){return fd++}function pd(t){if(t instanceof HTMLFormElement)return"form";const e=t.tagName.toLowerCase().trim();return _d.test(e)?"div":e}function Jn(t){try{const e=t.rules||t.cssRules;return e?Array.from(e).map(md).join(""):null}catch(e){return null}}function md(t){let e=t.cssText;if(gd(t))try{e=Jn(t.styleSheet)||e}catch(n){}return Vs(e)}function Vs(t){if(t.indexOf(":")>-1){const e=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return t.replace(e,"$1\\$2")}return t}function gd(t){return"styleSheet"in t}function yd(t){return t.cssRules?Array.from(t.cssRules).map(e=>e.cssText?Vs(e.cssText):"").join(""):""}function Ed(t){let e="";return t.indexOf("//")>-1?e=t.split("/").slice(0,3).join("/"):e=t.split("/")[0],e=e.split("?")[0],e}let Zt,di;const Sd=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,bd=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,wd=/^(data:)([^,]*),(.*)/i;function tn(t,e){return(t||"").replace(Sd,(n,r,i,s,a,o)=>{const c=i||a||o,u=r||s||"";if(!c)return n;if(!bd.test(c))return`url(${u}${c}${u})`;if(wd.test(c))return`url(${u}${c}${u})`;if(c[0]==="/")return`url(${u}${Ed(e)+c}${u})`;const d=e.split("/"),l=c.split("/");d.pop();for(const h of l)h!=="."&&(h===".."?d.pop():d.push(h));return`url(${u}${d.join("/")}${u})`})}const Td=/^[^ \t\n\r\u000c]+/,vd=/^[, \t\n\r\u000c]+/;function Rd(t,e){if(e.trim()==="")return e;let n=0;function r(s){let a,o=s.exec(e.substring(n));return o?(a=o[0],n+=a.length,a):""}let i=[];for(;r(vd),!(n>=e.length);){let s=r(Td);if(s.slice(-1)===",")s=Xt(t,s.substring(0,s.length-1)),i.push(s);else{let a="";s=Xt(t,s);let o=!1;for(;;){let c=e.charAt(n);if(c===""){i.push((s+a).trim());break}else if(o)c===")"&&(o=!1);else if(c===","){n+=1,i.push((s+a).trim());break}else c==="("&&(o=!0);a+=c,n+=1}}}return i.join(", ")}function Xt(t,e){if(!e||e.trim()==="")return e;const n=t.createElement("a");return n.href=e,n.href}function kd(t){return!!(t.tagName==="svg"||t.ownerSVGElement)}function Qn(){const t=document.createElement("a");return t.href="",t.href}function Xs(t,e,n,r,i,s,a,o){if(!i)return i;const c=r.toLowerCase(),u=n.toLowerCase();return c==="src"||c==="href"||c==="xlink:href"&&i[0]!=="#"||c==="background"&&(u==="table"||u==="td"||u==="th")?Xt(t,i):c==="srcset"?Rd(t,i):c==="style"?tn(i,Qn()):u==="object"&&c==="data"?Xt(t,i):s&&Nd(e,c,u,a)?o?o(i):Zs(i):i}function Nd(t,e,n,r){return r&&t.matches(r)?!1:["placeholder","title","aria-label"].indexOf(e)>-1||n==="input"&&e==="value"&&t.hasAttribute("type")&&["submit","button"].indexOf(t.getAttribute("type").toLowerCase())>-1}function Dd(t,e,n,r){if(r&&t.matches(r))return!1;if(typeof e=="string"){if(t.classList.contains(e))return!0}else for(let i=0;i<t.classList.length;i++){const s=t.classList[i];if(e.test(s))return!0}return n?t.matches(n):!1}function dn(t,e,n,r,i){if(!t)return!1;if(t.nodeType!==t.ELEMENT_NODE)return dn(t.parentNode,e,n,r,i);if(r&&(t.matches(r)||t.closest(r)))return!1;if(i)return!0;if(typeof e=="string"){if(t.classList.contains(e))return!0}else for(let s=0;s<t.classList.length;s++){const a=t.classList[s];if(e.test(a))return!0}return n&&t.matches(n)?!0:dn(t.parentNode,e,n,r,i)}function xd(t,e,n){const r=t.contentWindow;if(!r)return;let i=!1,s;try{s=r.document.readyState}catch(o){return}if(s!=="complete"){const o=setTimeout(()=>{i||(e(),i=!0)},n);t.addEventListener("load",()=>{clearTimeout(o),i=!0,e()});return}const a="about:blank";if(r.location.href!==a||t.src===a||t.src===""){setTimeout(e,0);return}t.addEventListener("load",e)}function Id(t,e){var n;const{doc:r,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:o,maskTextSelector:c,unmaskTextSelector:u,inlineStylesheet:d,maskInputSelector:l,unmaskInputSelector:h,maskAllText:_,maskInputOptions:p={},maskTextFn:w,maskInputFn:D,dataURLOptions:S={},inlineImages:O,recordCanvas:x,keepIframeSrcFn:v}=e;let b;if(r.__sn){const N=r.__sn.id;b=N===1?void 0:N}switch(t.nodeType){case t.DOCUMENT_NODE:return t.compatMode!=="CSS1Compat"?{type:W.Document,childNodes:[],compatMode:t.compatMode,rootId:b}:{type:W.Document,childNodes:[],rootId:b};case t.DOCUMENT_TYPE_NODE:return{type:W.DocumentType,name:t.name,publicId:t.publicId,systemId:t.systemId,rootId:b};case t.ELEMENT_NODE:const N=Dd(t,i,s,a),T=pd(t);let E={};for(const{name:m,value:A}of Array.from(t.attributes))Cd(T,m)||(E[m]=Xs(r,t,T,m,A,_,u,w));if(T==="link"&&d){const m=Array.from(r.styleSheets).find($=>$.href===t.href);let A=null;m&&(A=Jn(m)),A&&(delete E.rel,delete E.href,E._cssText=tn(A,m.href))}if(T==="style"&&t.sheet&&!(t.innerText||t.textContent||"").trim().length){const m=Jn(t.sheet);m&&(E._cssText=tn(m,Qn()))}if(T==="input"||T==="textarea"||T==="select"||T==="option"){const m=t,A=qs(m),$=Kn(m,T.toUpperCase(),A),Q=t.checked;A!=="submit"&&A!=="button"&&$&&(E.value=Re({input:m,type:A,tagName:T,value:$,maskInputSelector:l,unmaskInputSelector:h,maskInputOptions:p,maskInputFn:D})),Q&&(E.checked=Q)}if(T==="option"&&(t.selected&&!p.select?E.selected=!0:delete E.selected),T==="canvas"&&x){if(t.__context==="2d")ld(t)||(E.rr_dataURL=t.toDataURL(S.type,S.quality));else if(!("__context"in t)){const m=t.toDataURL(S.type,S.quality),A=document.createElement("canvas");A.width=t.width,A.height=t.height;const $=A.toDataURL(S.type,S.quality);m!==$&&(E.rr_dataURL=m)}}if(T==="img"&&O){Zt||(Zt=r.createElement("canvas"),di=Zt.getContext("2d"));const m=t,A=m.crossOrigin;m.crossOrigin="anonymous";const $=()=>{try{Zt.width=m.naturalWidth,Zt.height=m.naturalHeight,di.drawImage(m,0,0),E.rr_dataURL=Zt.toDataURL(S.type,S.quality)}catch(Q){console.warn(`Cannot inline img src=${m.currentSrc}! Error: ${Q}`)}A?E.crossOrigin=A:delete E.crossOrigin};m.complete&&m.naturalWidth!==0?$():m.onload=$}if((T==="audio"||T==="video")&&(E.rr_mediaState=t.paused?"paused":"played",E.rr_mediaCurrentTime=t.currentTime),t.scrollLeft&&(E.rr_scrollLeft=t.scrollLeft),t.scrollTop&&(E.rr_scrollTop=t.scrollTop),N){const{width:m,height:A}=t.getBoundingClientRect();E={class:E.class,rr_width:`${m}px`,rr_height:`${A}px`}}return T==="iframe"&&!v(E.src)&&(t.contentDocument||(E.rr_src=E.src),delete E.src),{type:W.Element,tagName:T,attributes:E,childNodes:[],isSVG:kd(t)||void 0,needBlock:N,rootId:b};case t.TEXT_NODE:const U=t.parentNode&&t.parentNode.tagName;let I=t.textContent;const z=U==="STYLE"?!0:void 0,K=U==="SCRIPT"?!0:void 0;if(z&&I){try{t.nextSibling||t.previousSibling||!((n=t.parentNode.sheet)===null||n===void 0)&&n.cssRules&&(I=yd(t.parentNode.sheet))}catch(m){console.warn(`Cannot get CSS styles from text's parentNode. Error: ${m}`,t)}I=tn(I,Qn())}if(K&&(I="SCRIPT_PLACEHOLDER"),U==="TEXTAREA"&&I)I="";else if(U==="OPTION"&&I){const m=t.parentNode;I=Re({input:m,type:null,tagName:U,value:I,maskInputSelector:l,unmaskInputSelector:h,maskInputOptions:p,maskInputFn:D})}else!z&&!K&&dn(t,o,c,u,_)&&I&&(I=w?w(I):Zs(I));return{type:W.Text,textContent:I||"",isStyle:z,rootId:b};case t.CDATA_SECTION_NODE:return{type:W.CDATA,textContent:"",rootId:b};case t.COMMENT_NODE:return{type:W.Comment,textContent:t.textContent||"",rootId:b};default:return!1}}function B(t){return t==null?"":t.toLowerCase()}function Od(t,e){if(e.comment&&t.type===W.Comment)return!0;if(t.type===W.Element){if(e.script&&(t.tagName==="script"||t.tagName==="link"&&(t.attributes.rel==="preload"||t.attributes.rel==="modulepreload")&&t.attributes.as==="script"||t.tagName==="link"&&t.attributes.rel==="prefetch"&&typeof t.attributes.href=="string"&&t.attributes.href.endsWith(".js")))return!0;if(e.headFavicon&&(t.tagName==="link"&&t.attributes.rel==="shortcut icon"||t.tagName==="meta"&&(B(t.attributes.name).match(/^msapplication-tile(image|color)$/)||B(t.attributes.name)==="application-name"||B(t.attributes.rel)==="icon"||B(t.attributes.rel)==="apple-touch-icon"||B(t.attributes.rel)==="shortcut icon")))return!0;if(t.tagName==="meta"){if(e.headMetaDescKeywords&&B(t.attributes.name).match(/^description|keywords$/))return!0;if(e.headMetaSocial&&(B(t.attributes.property).match(/^(og|twitter|fb):/)||B(t.attributes.name).match(/^(og|twitter):/)||B(t.attributes.name)==="pinterest"))return!0;if(e.headMetaRobots&&(B(t.attributes.name)==="robots"||B(t.attributes.name)==="googlebot"||B(t.attributes.name)==="bingbot"))return!0;if(e.headMetaHttpEquiv&&t.attributes["http-equiv"]!==void 0)return!0;if(e.headMetaAuthorship&&(B(t.attributes.name)==="author"||B(t.attributes.name)==="generator"||B(t.attributes.name)==="framework"||B(t.attributes.name)==="publisher"||B(t.attributes.name)==="progid"||B(t.attributes.property).match(/^article:/)||B(t.attributes.property).match(/^product:/)))return!0;if(e.headMetaVerification&&(B(t.attributes.name)==="google-site-verification"||B(t.attributes.name)==="yandex-verification"||B(t.attributes.name)==="csrf-token"||B(t.attributes.name)==="p:domain_verify"||B(t.attributes.name)==="verify-v1"||B(t.attributes.name)==="verification"||B(t.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function be(t,e){const{doc:n,map:r,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:o,maskTextSelector:c,unmaskTextSelector:u,skipChild:d=!1,inlineStylesheet:l=!0,maskInputSelector:h,unmaskInputSelector:_,maskAllText:p,maskInputOptions:w={},maskTextFn:D,maskInputFn:S,slimDOMOptions:O,dataURLOptions:x={},inlineImages:v=!1,recordCanvas:b=!1,onSerialize:N,onIframeLoad:T,iframeLoadTimeout:E=5e3,keepIframeSrcFn:U=()=>!1}=e;let{preserveWhiteSpace:I=!0}=e;const z=Id(t,{doc:n,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:o,maskTextSelector:c,unmaskTextSelector:u,inlineStylesheet:l,maskInputSelector:h,unmaskInputSelector:_,maskAllText:p,maskInputOptions:w,maskTextFn:D,maskInputFn:S,dataURLOptions:x,inlineImages:v,recordCanvas:b,keepIframeSrcFn:U});if(!z)return console.warn(t,"not serialized"),null;let K;"__sn"in t?K=t.__sn.id:Od(z,O)||!I&&z.type===W.Text&&!z.isStyle&&!z.textContent.replace(/^\s+|\s+$/gm,"").length?K=ke:K=hd();const m=Object.assign(z,{id:K});if(t.__sn=m,K===ke)return null;r[K]=t,N&&N(t);let A=!d;if(m.type===W.Element&&(A=A&&!m.needBlock,delete m.needBlock,t.shadowRoot&&(m.isShadowHost=!0)),(m.type===W.Document||m.type===W.Element)&&A){O.headWhitespace&&z.type===W.Element&&z.tagName==="head"&&(I=!1);const $={doc:n,map:r,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:o,maskTextSelector:c,unmaskTextSelector:u,skipChild:d,inlineStylesheet:l,maskInputSelector:h,unmaskInputSelector:_,maskAllText:p,maskInputOptions:w,maskTextFn:D,maskInputFn:S,slimDOMOptions:O,dataURLOptions:x,inlineImages:v,recordCanvas:b,preserveWhiteSpace:I,onSerialize:N,onIframeLoad:T,iframeLoadTimeout:E,keepIframeSrcFn:U};for(const Q of Array.from(t.childNodes)){const ft=be(Q,$);ft&&m.childNodes.push(ft)}if(ud(t)&&t.shadowRoot)for(const Q of Array.from(t.shadowRoot.childNodes)){const ft=be(Q,$);ft&&(ft.isShadow=!0,m.childNodes.push(ft))}}return t.parentNode&&Se(t.parentNode)&&(m.isShadow=!0),m.type===W.Element&&m.tagName==="iframe"&&xd(t,()=>{const $=t.contentDocument;if($&&T){const Q=be($,{doc:$,map:r,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:o,maskTextSelector:c,unmaskTextSelector:u,skipChild:!1,inlineStylesheet:l,maskInputSelector:h,unmaskInputSelector:_,maskAllText:p,maskInputOptions:w,maskTextFn:D,maskInputFn:S,slimDOMOptions:O,dataURLOptions:x,inlineImages:v,recordCanvas:b,preserveWhiteSpace:I,onSerialize:N,onIframeLoad:T,iframeLoadTimeout:E,keepIframeSrcFn:U});Q&&T(t,Q)}},E),m}function Ad(t,e){const{blockClass:n="rr-block",blockSelector:r=null,unblockSelector:i=null,maskTextClass:s="rr-mask",maskTextSelector:a=null,unmaskTextSelector:o=null,inlineStylesheet:c=!0,inlineImages:u=!1,recordCanvas:d=!1,maskInputSelector:l=null,unmaskInputSelector:h=null,maskAllText:_=!1,maskAllInputs:p=!1,maskTextFn:w,maskInputFn:D,slimDOM:S=!1,dataURLOptions:O,preserveWhiteSpace:x,onSerialize:v,onIframeLoad:b,iframeLoadTimeout:N,keepIframeSrcFn:T=()=>!1}=e||{},E={};return[be(t,{doc:t,map:E,blockClass:n,blockSelector:r,unblockSelector:i,maskTextClass:s,maskTextSelector:a,unmaskTextSelector:o,skipChild:!1,inlineStylesheet:c,maskInputSelector:l,unmaskInputSelector:h,maskAllText:_,maskInputOptions:p===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0}:p===!1?{}:p,maskTextFn:w,maskInputFn:D,slimDOMOptions:S===!0||S==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:S==="all",headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:S===!1?{}:S,dataURLOptions:O,inlineImages:u,recordCanvas:d,preserveWhiteSpace:x,onSerialize:v,onIframeLoad:b,iframeLoadTimeout:N,keepIframeSrcFn:T}),E]}function Cd(t,e,n){return(t==="video"||t==="audio")&&e==="autoplay"}var L;(function(t){t[t.DomContentLoaded=0]="DomContentLoaded",t[t.Load=1]="Load",t[t.FullSnapshot=2]="FullSnapshot",t[t.IncrementalSnapshot=3]="IncrementalSnapshot",t[t.Meta=4]="Meta",t[t.Custom=5]="Custom",t[t.Plugin=6]="Plugin"})(L||(L={}));var Z;(function(t){t[t.Mutation=0]="Mutation",t[t.MouseMove=1]="MouseMove",t[t.MouseInteraction=2]="MouseInteraction",t[t.Scroll=3]="Scroll",t[t.ViewportResize=4]="ViewportResize",t[t.Input=5]="Input",t[t.TouchMove=6]="TouchMove",t[t.MediaInteraction=7]="MediaInteraction",t[t.StyleSheetRule=8]="StyleSheetRule",t[t.CanvasMutation=9]="CanvasMutation",t[t.Font=10]="Font",t[t.Log=11]="Log",t[t.Drag=12]="Drag",t[t.StyleDeclaration=13]="StyleDeclaration"})(Z||(Z={}));var ln;(function(t){t[t.MouseUp=0]="MouseUp",t[t.MouseDown=1]="MouseDown",t[t.Click=2]="Click",t[t.ContextMenu=3]="ContextMenu",t[t.DblClick=4]="DblClick",t[t.Focus=5]="Focus",t[t.Blur=6]="Blur",t[t.TouchStart=7]="TouchStart",t[t.TouchMove_Departed=8]="TouchMove_Departed",t[t.TouchEnd=9]="TouchEnd",t[t.TouchCancel=10]="TouchCancel"})(ln||(ln={}));var ee;(function(t){t[t["2D"]=0]="2D",t[t.WebGL=1]="WebGL",t[t.WebGL2=2]="WebGL2"})(ee||(ee={}));var li;(function(t){t[t.Play=0]="Play",t[t.Pause=1]="Pause",t[t.Seeked=2]="Seeked",t[t.VolumeChange=3]="VolumeChange"})(li||(li={}));var fi;(function(t){t.Start="start",t.Pause="pause",t.Resume="resume",t.Resize="resize",t.Finish="finish",t.FullsnapshotRebuilded="fullsnapshot-rebuilded",t.LoadStylesheetStart="load-stylesheet-start",t.LoadStylesheetEnd="load-stylesheet-end",t.SkipStart="skip-start",t.SkipEnd="skip-end",t.MouseInteraction="mouse-interaction",t.EventCast="event-cast",t.CustomEvent="custom-event",t.Flush="flush",t.StateChange="state-change",t.PlayBack="play-back"})(fi||(fi={}));function it(t,e,n=document){const r={capture:!0,passive:!0};return n.addEventListener(t,e,r),()=>n.removeEventListener(t,e,r)}function Ud(){return{map:{},getId(t){return!t||!t.__sn?-1:t.__sn.id},getNode(t){return this.map[t]||null},removeNodeFromMap(t){const e=t.__sn&&t.__sn.id;delete this.map[e],t.childNodes&&t.childNodes.forEach(n=>this.removeNodeFromMap(n))},has(t){return this.map.hasOwnProperty(t)},reset(){this.map={}}}}const Vt=`Please stop import mirror directly. Instead of that,\r now you can use replayer.getMirror() to access the mirror instance of a replayer,\r or you can use record.mirror to access the mirror instance during recording.`;let _i={map:{},getId(){return console.error(Vt),-1},getNode(){return console.error(Vt),null},removeNodeFromMap(){console.error(Vt)},has(){return console.error(Vt),!1},reset(){console.error(Vt)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(_i=new Proxy(_i,{get(t,e,n){return e==="map"&&console.error(Vt),Reflect.get(t,e,n)}}));function Ne(t,e,n={}){let r=null,i=0;return function(s){let a=Date.now();!i&&n.leading===!1&&(i=a);let o=e-(a-i),c=this,u=arguments;o<=0||o>e?(r&&(clearTimeout(r),r=null),i=a,t.apply(c,u)):!r&&n.trailing!==!1&&(r=setTimeout(()=>{i=n.leading===!1?0:Date.now(),r=null,t.apply(c,u)},o))}}function wn(t,e,n,r,i=window){const s=i.Object.getOwnPropertyDescriptor(t,e);return i.Object.defineProperty(t,e,r?n:{set(a){setTimeout(()=>{n.set.call(this,a)},0),s&&s.set&&s.set.call(this,a)}}),()=>wn(t,e,s||{},!0)}function ne(t,e,n){try{if(!(e in t))return()=>{};const r=t[e],i=n(r);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:r}})),t[e]=i,()=>{t[e]=r}}catch(r){return()=>{}}}function Ks(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Js(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function et(t,e,n,r){if(!t)return!1;if(t.nodeType===t.ELEMENT_NODE){let i=!1;const s=r&&t.matches(r);return typeof e=="string"?t.closest!==void 0?i=!s&&t.closest("."+e)!==null:i=!s&&t.classList.contains(e):!s&&t.classList.forEach(a=>{e.test(a)&&(i=!0)}),!i&&n&&(i=t.matches(n)),!s&&i||et(t.parentNode,e,n,r)}return t.nodeType===t.TEXT_NODE,et(t.parentNode,e,n,r)}function Un(t){return"__sn"in t?t.__sn.id===ke:!1}function Qs(t,e){if(Se(t))return!1;const n=e.getId(t);return e.has(n)?t.parentNode&&t.parentNode.nodeType===t.DOCUMENT_NODE?!1:t.parentNode?Qs(t.parentNode,e):!0:!0}function ta(t){return!!t.changedTouches}function Bd(t=window){"NodeList"in t&&!t.NodeList.prototype.forEach&&(t.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in t&&!t.DOMTokenList.prototype.forEach&&(t.DOMTokenList.prototype.forEach=Array.prototype.forEach),Node.prototype.contains||(Node.prototype.contains=function(n){if(!(0 in arguments))throw new TypeError("1 argument is required");do if(this===n)return!0;while(n=n&&n.parentNode);return!1})}function ea(t){return"__sn"in t?t.__sn.type===W.Element&&t.__sn.tagName==="iframe":!1}function na(t){return!!(t!=null&&t.shadowRoot)}function hi(t){return"__ln"in t}class Ld{constructor(){this.length=0,this.head=null}get(e){if(e>=this.length)throw new Error("Position outside of list range");let n=this.head;for(let r=0;r<e;r++)n=(n==null?void 0:n.next)||null;return n}addNode(e){const n={value:e,previous:null,next:null};if(e.__ln=n,e.previousSibling&&hi(e.previousSibling)){const r=e.previousSibling.__ln.next;n.next=r,n.previous=e.previousSibling.__ln,e.previousSibling.__ln.next=n,r&&(r.previous=n)}else if(e.nextSibling&&hi(e.nextSibling)&&e.nextSibling.__ln.previous){const r=e.nextSibling.__ln.previous;n.previous=r,n.next=e.nextSibling.__ln,e.nextSibling.__ln.previous=n,r&&(r.next=n)}else this.head&&(this.head.previous=n),n.next=this.head,this.head=n;this.length++}removeNode(e){const n=e.__ln;this.head&&(n.previous?(n.previous.next=n.next,n.next&&(n.next.previous=n.previous)):(this.head=n.next,this.head&&(this.head.previous=null)),e.__ln&&delete e.__ln,this.length--)}}const pi=(t,e)=>`${t}@${e}`;function mi(t){return"__sn"in t}class Md{constructor(){this.frozen=!1,this.locked=!1,this.texts=[],this.attributes=[],this.removes=[],this.mapRemoves=[],this.movedMap={},this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.processMutations=e=>{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(this.frozen||this.locked)return;const e=[],n=new Ld,r=o=>{let c=o,u=ke;for(;u===ke;)c=c&&c.nextSibling,u=c&&this.mirror.getId(c);return u},i=o=>{var c,u,d,l,h;const _=o.getRootNode?(c=o.getRootNode())===null||c===void 0?void 0:c.host:null;let p=_;for(;!((d=(u=p==null?void 0:p.getRootNode)===null||u===void 0?void 0:u.call(p))===null||d===void 0)&&d.host;)p=((h=(l=p==null?void 0:p.getRootNode)===null||l===void 0?void 0:l.call(p))===null||h===void 0?void 0:h.host)||null;const w=!this.doc.contains(o)&&(!p||!this.doc.contains(p));if(!o.parentNode||w)return;const D=Se(o.parentNode)?this.mirror.getId(_):this.mirror.getId(o.parentNode),S=r(o);if(D===-1||S===-1)return n.addNode(o);let O=be(o,{doc:this.doc,map:this.mirror.map,blockClass:this.blockClass,blockSelector:this.blockSelector,unblockSelector:this.unblockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,unmaskTextSelector:this.unmaskTextSelector,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,skipChild:!0,inlineStylesheet:this.inlineStylesheet,maskAllText:this.maskAllText,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:x=>{ea(x)&&this.iframeManager.addIframe(x),na(o)&&this.shadowDomManager.addShadowRoot(o.shadowRoot,document)},onIframeLoad:(x,v)=>{this.iframeManager.attachIframe(x,v),this.shadowDomManager.observeAttachShadow(x)}});O&&e.push({parentId:D,nextId:S,node:O})};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const o of this.movedSet)er(this.removes,o,this.mirror)&&!this.movedSet.has(o.parentNode)||i(o);for(const o of this.addedSet)!nr(this.droppedSet,o)&&!er(this.removes,o,this.mirror)||nr(this.movedSet,o)?i(o):this.droppedSet.add(o);let s=null;for(;n.length;){let o=null;if(s){const c=this.mirror.getId(s.value.parentNode),u=r(s.value);c!==-1&&u!==-1&&(o=s)}if(!o)for(let c=n.length-1;c>=0;c--){const u=n.get(c);if(u){const d=this.mirror.getId(u.value.parentNode),l=r(u.value);if(d!==-1&&l!==-1){o=u;break}}}if(!o){for(;n.head;)n.removeNode(n.head.value);break}s=o.previous,n.removeNode(o.value),i(o.value)}const a={texts:this.texts.map(o=>({id:this.mirror.getId(o.node),value:o.value})).filter(o=>this.mirror.has(o.id)),attributes:this.attributes.map(o=>({id:this.mirror.getId(o.node),attributes:o.attributes})).filter(o=>this.mirror.has(o.id)),removes:this.removes,adds:e};!a.texts.length&&!a.attributes.length&&!a.removes.length&&!a.adds.length||(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(a))},this.processMutation=e=>{if(!Un(e.target))switch(e.type){case"characterData":{const n=e.target.textContent;!et(e.target,this.blockClass,this.blockSelector,this.unblockSelector)&&n!==e.oldValue&&this.texts.push({value:dn(e.target,this.maskTextClass,this.maskTextSelector,this.unmaskTextSelector,this.maskAllText)&&n?this.maskTextFn?this.maskTextFn(n):n.replace(/[\S]/g,"*"):n,node:e.target});break}case"attributes":{const n=e.target;let r=n.getAttribute(e.attributeName);if(e.attributeName==="value"&&(r=Re({input:n,maskInputSelector:this.maskInputSelector,unmaskInputSelector:this.unmaskInputSelector,maskInputOptions:this.maskInputOptions,tagName:n.tagName,type:n.getAttribute("type"),value:r,maskInputFn:this.maskInputFn})),et(e.target,this.blockClass,this.blockSelector,this.unblockSelector)||r===e.oldValue)return;let i=this.attributes.find(s=>s.node===e.target);if(i||(i={node:e.target,attributes:{}},this.attributes.push(i)),e.attributeName==="type"&&n.tagName==="INPUT"&&(e.oldValue||"").toLowerCase()==="password"&&n.setAttribute("data-rr-is-password","true"),e.attributeName==="style"){const s=this.doc.createElement("span");e.oldValue&&s.setAttribute("style",e.oldValue),(i.attributes.style===void 0||i.attributes.style===null)&&(i.attributes.style={});try{const a=i.attributes.style;for(const o of Array.from(n.style)){const c=n.style.getPropertyValue(o),u=n.style.getPropertyPriority(o);(c!==s.style.getPropertyValue(o)||u!==s.style.getPropertyPriority(o))&&(u===""?a[o]=c:a[o]=[c,u])}for(const o of Array.from(s.style))n.style.getPropertyValue(o)===""&&(a[o]=!1)}catch(a){console.warn("[rrweb] Error when parsing update to style attribute:",a)}}else{const s=e.target;i.attributes[e.attributeName]=Xs(this.doc,s,s.tagName,e.attributeName,r,this.maskAllText,this.unmaskTextSelector,this.maskTextFn)}break}case"childList":{e.addedNodes.forEach(n=>this.genAdds(n,e.target)),e.removedNodes.forEach(n=>{const r=this.mirror.getId(n),i=Se(e.target)?this.mirror.getId(e.target.host):this.mirror.getId(e.target);et(e.target,this.blockClass,this.blockSelector,this.unblockSelector)||Un(n)||(this.addedSet.has(n)?(tr(this.addedSet,n),this.droppedSet.add(n)):this.addedSet.has(e.target)&&r===-1||Qs(e.target,this.mirror)||(this.movedSet.has(n)&&this.movedMap[pi(r,i)]?tr(this.movedSet,n):this.removes.push({parentId:i,id:r,isShadow:Se(e.target)?!0:void 0})),this.mapRemoves.push(n))});break}}},this.genAdds=(e,n)=>{if(!(n&&et(n,this.blockClass,this.blockSelector,this.unblockSelector))){if(mi(e)){if(Un(e))return;this.movedSet.add(e);let r=null;n&&mi(n)&&(r=n.__sn.id),r&&(this.movedMap[pi(e.__sn.id,r)]=!0)}else this.addedSet.add(e),this.droppedSet.delete(e);et(e,this.blockClass,this.blockSelector,this.unblockSelector)||e.childNodes.forEach(r=>this.genAdds(r))}}}init(e){["mutationCb","blockClass","blockSelector","unblockSelector","maskTextClass","maskTextSelector","unmaskTextSelector","maskInputSelector","unmaskInputSelector","inlineStylesheet","maskAllText","maskInputOptions","maskTextFn","maskInputFn","recordCanvas","inlineImages","slimDOMOptions","doc","mirror","iframeManager","shadowDomManager","canvasManager"].forEach(n=>{this[n]=e[n]})}freeze(){this.frozen=!0,this.canvasManager.freeze()}unfreeze(){this.frozen=!1,this.canvasManager.unfreeze(),this.emit()}isFrozen(){return this.frozen}lock(){this.locked=!0,this.canvasManager.lock()}unlock(){this.locked=!1,this.canvasManager.unlock(),this.emit()}reset(){this.shadowDomManager.reset(),this.canvasManager.reset()}}function tr(t,e){t.delete(e),e.childNodes.forEach(n=>tr(t,n))}function er(t,e,n){const{parentNode:r}=e;if(!r)return!1;const i=n.getId(r);return t.some(s=>s.id===i)?!0:er(t,r,n)}function nr(t,e){const{parentNode:n}=e;return n?t.has(n)?!0:nr(t,n):!1}const k=t=>(...n)=>{try{return t(...n)}catch(r){try{r.__rrweb__=!0}catch(i){}throw r}},Mt=[];function Ue(t){try{if("composedPath"in t){const e=t.composedPath();if(e.length)return e[0]}else if("path"in t&&t.path.length)return t.path[0]}catch(e){}return t&&t.target}function ra(t,e){var n,r;const i=new Md;Mt.push(i),i.init(t);let s=window.MutationObserver||window.__rrMutationObserver;const a=(r=(n=window==null?void 0:window.Zone)===null||n===void 0?void 0:n.__symbol__)===null||r===void 0?void 0:r.call(n,"MutationObserver");a&&window[a]&&(s=window[a]);const o=new s(k(c=>{t.onMutation&&t.onMutation(c)===!1||i.processMutations(c)}));return o.observe(e,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),o}function Gd({mousemoveCb:t,sampling:e,doc:n,mirror:r}){if(e.mousemove===!1)return()=>{};const i=typeof e.mousemove=="number"?e.mousemove:50,s=typeof e.mousemoveCallback=="number"?e.mousemoveCallback:500;let a=[],o;const c=Ne(l=>{const h=Date.now()-o;k(t)(a.map(_=>(_.timeOffset-=h,_)),l),a=[],o=null},s),u=Ne(l=>{const h=Ue(l),{clientX:_,clientY:p}=ta(l)?l.changedTouches[0]:l;o||(o=Date.now()),a.push({x:_,y:p,id:r.getId(h),timeOffset:Date.now()-o}),c(typeof DragEvent<"u"&&l instanceof DragEvent?Z.Drag:l instanceof MouseEvent?Z.MouseMove:Z.TouchMove)},i,{trailing:!1}),d=[it("mousemove",k(u),n),it("touchmove",k(u),n),it("drag",k(u),n)];return k(()=>{d.forEach(l=>l())})}function Pd({mouseInteractionCb:t,doc:e,mirror:n,blockClass:r,blockSelector:i,unblockSelector:s,sampling:a}){if(a.mouseInteraction===!1)return()=>{};const o=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,c=[],u=d=>l=>{const h=Ue(l);if(et(h,r,i,s))return;const _=ta(l)?l.changedTouches[0]:l;if(!_)return;const p=n.getId(h),{clientX:w,clientY:D}=_;k(t)({type:ln[d],id:p,x:w,y:D})};return Object.keys(ln).filter(d=>Number.isNaN(Number(d))&&!d.endsWith("_Departed")&&o[d]!==!1).forEach(d=>{const l=d.toLowerCase(),h=k(u(d));c.push(it(l,h,e))}),k(()=>{c.forEach(d=>d())})}function ia({scrollCb:t,doc:e,mirror:n,blockClass:r,blockSelector:i,unblockSelector:s,sampling:a}){const o=Ne(c=>{const u=Ue(c);if(!u||et(u,r,i,s))return;const d=n.getId(u);if(u===e){const l=e.scrollingElement||e.documentElement;k(t)({id:d,x:l.scrollLeft,y:l.scrollTop})}else k(t)({id:d,x:u.scrollLeft,y:u.scrollTop})},a.scroll||100);return it("scroll",k(o),e)}function Yd({viewportResizeCb:t}){let e=-1,n=-1;const r=Ne(()=>{const i=Ks(),s=Js();(e!==i||n!==s)&&(k(t)({width:Number(s),height:Number(i)}),e=i,n=s)},200);return it("resize",k(r),window)}function gi(t,e){const n=Object.assign({},t);return e||delete n.userTriggered,n}const Fd=["INPUT","TEXTAREA","SELECT"],yi=new WeakMap;function zd({inputCb:t,doc:e,mirror:n,blockClass:r,blockSelector:i,unblockSelector:s,ignoreClass:a,ignoreSelector:o,maskInputSelector:c,unmaskInputSelector:u,maskInputOptions:d,maskInputFn:l,sampling:h,userTriggeredOnInput:_}){function p(v){let b=Ue(v);const N=b&&b.tagName,T=v.isTrusted;if(N==="OPTION"&&(b=b.parentElement),!b||!N||Fd.indexOf(N)<0||et(b,r,i,s))return;const E=b,U=qs(E);if(E.classList.contains(a)||o&&E.matches(o))return;let I=Kn(E,N,U),z=!1;(U==="radio"||U==="checkbox")&&(z=b.checked),dd({maskInputOptions:d,maskInputSelector:c,tagName:N,type:U})&&(I=Re({input:E,maskInputOptions:d,maskInputSelector:c,unmaskInputSelector:u,tagName:N,type:U,value:I,maskInputFn:l})),w(b,k(gi)({text:I,isChecked:z,userTriggered:T},_));const K=b.name;U==="radio"&&K&&z&&e.querySelectorAll(`input[type="radio"][name="${K}"]`).forEach(m=>{if(m!==b){const A=Re({input:m,maskInputOptions:d,maskInputSelector:c,unmaskInputSelector:u,tagName:N,type:U,value:Kn(m,N,U),maskInputFn:l});w(m,k(gi)({text:A,isChecked:!z,userTriggered:!1},_))}})}function w(v,b){const N=yi.get(v);if(!N||N.text!==b.text||N.isChecked!==b.isChecked){yi.set(v,b);const T=n.getId(v);t(Object.assign(Object.assign({},b),{id:T}))}}const S=(h.input==="last"?["change"]:["input","change"]).map(v=>it(v,k(p),e)),O=Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,"value"),x=[[HTMLInputElement.prototype,"value"],[HTMLInputElement.prototype,"checked"],[HTMLSelectElement.prototype,"value"],[HTMLTextAreaElement.prototype,"value"],[HTMLSelectElement.prototype,"selectedIndex"],[HTMLOptionElement.prototype,"selected"]];return O&&O.set&&S.push(...x.map(v=>wn(v[0],v[1],{set(){k(p)({target:this})}}))),k(()=>{S.forEach(v=>v())})}function fn(t){const e=[];function n(r,i){if(qe("CSSGroupingRule")&&r.parentRule instanceof CSSGroupingRule||qe("CSSMediaRule")&&r.parentRule instanceof CSSMediaRule||qe("CSSSupportsRule")&&r.parentRule instanceof CSSSupportsRule||qe("CSSConditionRule")&&r.parentRule instanceof CSSConditionRule){const a=Array.from(r.parentRule.cssRules).indexOf(r);i.unshift(a)}else{const a=Array.from(r.parentStyleSheet.cssRules).indexOf(r);i.unshift(a)}return i}return n(t,e)}function $d({styleSheetRuleCb:t,mirror:e},{win:n}){if(!n.CSSStyleSheet||!n.CSSStyleSheet.prototype)return()=>{};const r=n.CSSStyleSheet.prototype.insertRule;n.CSSStyleSheet.prototype.insertRule=new Proxy(r,{apply:k((o,c,u)=>{const[d,l]=u,h=e.getId(c.ownerNode);return h!==-1&&t({id:h,adds:[{rule:d,index:l}]}),o.apply(c,u)})});const i=n.CSSStyleSheet.prototype.deleteRule;n.CSSStyleSheet.prototype.deleteRule=new Proxy(i,{apply:k((o,c,u)=>{const[d]=u,l=e.getId(c.ownerNode);return l!==-1&&t({id:l,removes:[{index:d}]}),o.apply(c,u)})});const s={};Ze("CSSGroupingRule")?s.CSSGroupingRule=n.CSSGroupingRule:(Ze("CSSMediaRule")&&(s.CSSMediaRule=n.CSSMediaRule),Ze("CSSConditionRule")&&(s.CSSConditionRule=n.CSSConditionRule),Ze("CSSSupportsRule")&&(s.CSSSupportsRule=n.CSSSupportsRule));const a={};return Object.entries(s).forEach(([o,c])=>{a[o]={insertRule:c.prototype.insertRule,deleteRule:c.prototype.deleteRule},c.prototype.insertRule=new Proxy(a[o].insertRule,{apply:k((u,d,l)=>{const[h,_]=l,p=e.getId(d.parentStyleSheet.ownerNode);return p!==-1&&t({id:p,adds:[{rule:h,index:[...fn(d),_||0]}]}),u.apply(d,l)})}),c.prototype.deleteRule=new Proxy(a[o].deleteRule,{apply:k((u,d,l)=>{const[h]=l,_=e.getId(d.parentStyleSheet.ownerNode);return _!==-1&&t({id:_,removes:[{index:[...fn(d),h]}]}),u.apply(d,l)})})}),k(()=>{n.CSSStyleSheet.prototype.insertRule=r,n.CSSStyleSheet.prototype.deleteRule=i,Object.entries(s).forEach(([o,c])=>{c.prototype.insertRule=a[o].insertRule,c.prototype.deleteRule=a[o].deleteRule})})}function Hd({styleDeclarationCb:t,mirror:e},{win:n}){const r=n.CSSStyleDeclaration.prototype.setProperty;n.CSSStyleDeclaration.prototype.setProperty=new Proxy(r,{apply:k((s,a,o)=>{var c,u;const[d,l,h]=o,_=e.getId((u=(c=a.parentRule)===null||c===void 0?void 0:c.parentStyleSheet)===null||u===void 0?void 0:u.ownerNode);return _!==-1&&t({id:_,set:{property:d,value:l,priority:h},index:fn(a.parentRule)}),s.apply(a,o)})});const i=n.CSSStyleDeclaration.prototype.removeProperty;return n.CSSStyleDeclaration.prototype.removeProperty=new Proxy(i,{apply:k((s,a,o)=>{var c,u;const[d]=o,l=e.getId((u=(c=a.parentRule)===null||c===void 0?void 0:c.parentStyleSheet)===null||u===void 0?void 0:u.ownerNode);return l!==-1&&t({id:l,remove:{property:d},index:fn(a.parentRule)}),s.apply(a,o)})}),k(()=>{n.CSSStyleDeclaration.prototype.setProperty=r,n.CSSStyleDeclaration.prototype.removeProperty=i})}function jd({mediaInteractionCb:t,blockClass:e,blockSelector:n,unblockSelector:r,mirror:i,sampling:s}){const a=c=>Ne(k(u=>{const d=Ue(u);if(!d||et(d,e,n,r))return;const{currentTime:l,volume:h,muted:_}=d;t({type:c,id:i.getId(d),currentTime:l,volume:h,muted:_})}),s.media||500),o=[it("play",a(0)),it("pause",a(1)),it("seeked",a(2)),it("volumechange",a(3))];return k(()=>{o.forEach(c=>c())})}function Wd({fontCb:t,doc:e}){const n=e.defaultView;if(!n)return()=>{};const r=[],i=new WeakMap,s=n.FontFace;n.FontFace=function(c,u,d){const l=new s(c,u,d);return i.set(l,{family:c,buffer:typeof u!="string",descriptors:d,fontSource:typeof u=="string"?u:JSON.stringify(Array.from(new Uint8Array(u)))}),l};const a=ne(e.fonts,"add",function(o){return function(c){return setTimeout(()=>{const u=i.get(c);u&&(t(u),i.delete(c))},0),o.apply(this,[c])}});return r.push(()=>{n.FontFace=s}),r.push(a),k(()=>{r.forEach(o=>o())})}function qd(t,e){const{mutationCb:n,mousemoveCb:r,mouseInteractionCb:i,scrollCb:s,viewportResizeCb:a,inputCb:o,mediaInteractionCb:c,styleSheetRuleCb:u,styleDeclarationCb:d,canvasMutationCb:l,fontCb:h}=t;t.mutationCb=(..._)=>{e.mutation&&e.mutation(..._),n(..._)},t.mousemoveCb=(..._)=>{e.mousemove&&e.mousemove(..._),r(..._)},t.mouseInteractionCb=(..._)=>{e.mouseInteraction&&e.mouseInteraction(..._),i(..._)},t.scrollCb=(..._)=>{e.scroll&&e.scroll(..._),s(..._)},t.viewportResizeCb=(..._)=>{e.viewportResize&&e.viewportResize(..._),a(..._)},t.inputCb=(..._)=>{e.input&&e.input(..._),o(..._)},t.mediaInteractionCb=(..._)=>{e.mediaInteaction&&e.mediaInteaction(..._),c(..._)},t.styleSheetRuleCb=(..._)=>{e.styleSheetRule&&e.styleSheetRule(..._),u(..._)},t.styleDeclarationCb=(..._)=>{e.styleDeclaration&&e.styleDeclaration(..._),d(..._)},t.canvasMutationCb=(..._)=>{e.canvasMutation&&e.canvasMutation(..._),l(..._)},t.fontCb=(..._)=>{e.font&&e.font(..._),h(..._)}}function Zd(t,e={}){const n=t.doc.defaultView;if(!n)return()=>{};qd(t,e);const r=ra(t,t.doc),i=Gd(t),s=Pd(t),a=ia(t),o=Yd(t),c=zd(t),u=jd(t),d=$d(t,{win:n}),l=Hd(t,{win:n}),h=t.collectFonts?Wd(t):()=>{},_=[];for(const p of t.plugins)_.push(p.observer(p.callback,n,p.options));return k(()=>{Mt.forEach(p=>p.reset()),r.disconnect(),i(),s(),a(),o(),c(),u();try{d(),l()}catch(p){}h(),_.forEach(p=>p())})}function qe(t){return typeof window[t]<"u"}function Ze(t){return!!(typeof window[t]<"u"&&window[t].prototype&&"insertRule"in window[t].prototype&&"deleteRule"in window[t].prototype)}class Vd{constructor(e){this.iframes=new WeakMap,this.mutationCb=e.mutationCb}addIframe(e){this.iframes.set(e,!0)}addLoadListener(e){this.loadListener=e}attachIframe(e,n){var r;this.mutationCb({adds:[{parentId:e.__sn.id,nextId:null,node:n}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),(r=this.loadListener)===null||r===void 0||r.call(this,e)}}class Xd{constructor(e){this.restorePatches=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror;const n=this;this.restorePatches.push(ne(HTMLElement.prototype,"attachShadow",function(r){return function(){const i=r.apply(this,arguments);return this.shadowRoot&&n.addShadowRoot(this.shadowRoot,this.ownerDocument),i}}))}addShadowRoot(e,n){ra(Object.assign(Object.assign({},this.bypassOptions),{doc:n,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e),ia(Object.assign(Object.assign({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror}))}observeAttachShadow(e){if(e.contentWindow){const n=this;this.restorePatches.push(ne(e.contentWindow.HTMLElement.prototype,"attachShadow",function(r){return function(){const i=r.apply(this,arguments);return this.shadowRoot&&n.addShadowRoot(this.shadowRoot,e.contentDocument),i}}))}}reset(){this.restorePatches.forEach(e=>e())}}function Kd(t,e){var n={};for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&e.indexOf(r)<0&&(n[r]=t[r]);if(t!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(t);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(t,r[i])&&(n[r[i]]=t[r[i]]);return n}function Jd(t,e,n,r,i,s){const a=[],o=Object.getOwnPropertyNames(e.CanvasRenderingContext2D.prototype);for(const c of o)try{if(typeof e.CanvasRenderingContext2D.prototype[c]!="function")continue;const u=ne(e.CanvasRenderingContext2D.prototype,c,function(d){return function(...l){return et(this.canvas,n,i,r)||setTimeout(()=>{const h=[...l];if(c==="drawImage"&&h[0]&&h[0]instanceof HTMLCanvasElement){const _=h[0],p=_.getContext("2d");let w=p==null?void 0:p.getImageData(0,0,_.width,_.height),D=w==null?void 0:w.data;h[0]=JSON.stringify(D)}t(this.canvas,{type:ee["2D"],property:c,args:h})},0),d.apply(this,l)}});a.push(u)}catch(u){const d=wn(e.CanvasRenderingContext2D.prototype,c,{set(l){t(this.canvas,{type:ee["2D"],property:c,args:[l],setter:!0})}});a.push(d)}return()=>{a.forEach(c=>c())}}function Qd(t,e,n,r){const i=[];try{const s=ne(t.HTMLCanvasElement.prototype,"getContext",function(a){return function(o,...c){return et(this,e,n,r)||"__context"in this||(this.__context=o),a.apply(this,[o,...c])}});i.push(s)}catch(s){console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(s=>s())}}var Kt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tl=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(var Ve=0;Ve<Kt.length;Ve++)tl[Kt.charCodeAt(Ve)]=Ve;var el=function(t){var e=new Uint8Array(t),n,r=e.length,i="";for(n=0;n<r;n+=3)i+=Kt[e[n]>>2],i+=Kt[(e[n]&3)<<4|e[n+1]>>4],i+=Kt[(e[n+1]&15)<<2|e[n+2]>>6],i+=Kt[e[n+2]&63];return r%3===2?i=i.substring(0,i.length-1)+"=":r%3===1&&(i=i.substring(0,i.length-2)+"=="),i};const Ei=new Map;function nl(t,e){let n=Ei.get(t);return n||(n=new Map,Ei.set(t,n)),n.has(e)||n.set(e,[]),n.get(e)}const sa=(t,e,n)=>{if(!t||!(aa(t,e)||typeof t=="object"))return;const r=t.constructor.name,i=nl(n,r);let s=i.indexOf(t);return s===-1&&(s=i.length,i.push(t)),s};function en(t,e,n){if(t instanceof Array)return t.map(r=>en(r,e,n));if(t===null)return t;if(t instanceof Float32Array||t instanceof Float64Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Uint8Array||t instanceof Uint16Array||t instanceof Int16Array||t instanceof Int8Array||t instanceof Uint8ClampedArray)return{rr_type:t.constructor.name,args:[Object.values(t)]};if(t instanceof ArrayBuffer){const r=t.constructor.name,i=el(t);return{rr_type:r,base64:i}}else{if(t instanceof DataView)return{rr_type:t.constructor.name,args:[en(t.buffer,e,n),t.byteOffset,t.byteLength]};if(t instanceof HTMLImageElement){const r=t.constructor.name,{src:i}=t;return{rr_type:r,src:i}}else{if(t instanceof ImageData)return{rr_type:t.constructor.name,args:[en(t.data,e,n),t.width,t.height]};if(aa(t,e)||typeof t=="object"){const r=t.constructor.name,i=sa(t,e,n);return{rr_type:r,index:i}}}}return t}const rl=(t,e,n)=>[...t].map(r=>en(r,e,n)),aa=(t,e)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof e[i]=="function").find(i=>t instanceof e[i]);function Si(t,e,n,r,i,s,a,o){const c=[],u=Object.getOwnPropertyNames(t);for(const d of u)try{if(typeof t[d]!="function")continue;const l=ne(t,d,function(h){return function(..._){const p=h.apply(this,_);if(sa(p,o,t),!et(this.canvas,r,s,i)){const w=a.getId(this.canvas),D=rl([..._],o,t),S={type:e,property:d,args:D};n(this.canvas,S)}return p}});c.push(l)}catch(l){const h=wn(t,d,{set(_){n(this.canvas,{type:e,property:d,args:[_],setter:!0})}});c.push(h)}return c}function il(t,e,n,r,i,s){const a=[];return a.push(...Si(e.WebGLRenderingContext.prototype,ee.WebGL,t,n,r,i,s,e)),typeof e.WebGL2RenderingContext<"u"&&a.push(...Si(e.WebGL2RenderingContext.prototype,ee.WebGL2,t,n,r,i,s,e)),()=>{a.forEach(o=>o())}}class sl{reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}constructor(e){this.pendingCanvasMutations=new Map,this.rafStamps={latestId:0,invokeId:null},this.frozen=!1,this.locked=!1,this.processMutation=function(n,r){(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(n)||this.pendingCanvasMutations.set(n,[]),this.pendingCanvasMutations.get(n).push(r)},this.mutationCb=e.mutationCb,this.mirror=e.mirror,e.recordCanvas===!0&&this.initCanvasMutationObserver(e.win,e.blockClass,e.blockSelector,e.unblockSelector)}initCanvasMutationObserver(e,n,r,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const s=Qd(e,n,i,r),a=Jd(this.processMutation.bind(this),e,n,i,r,this.mirror),o=il(this.processMutation.bind(this),e,n,i,r,this.mirror);this.resetObservers=()=>{s(),a(),o()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const e=n=>{this.rafStamps.latestId=n,requestAnimationFrame(e)};requestAnimationFrame(e)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,n)=>{const r=this.mirror.getId(n);this.flushPendingCanvasMutationFor(n,r)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,n){if(this.frozen||this.locked)return;const r=this.pendingCanvasMutations.get(e);if(!r||n===-1)return;const i=r.map(a=>Kd(a,["type"])),{type:s}=r[0];this.mutationCb({id:n,type:s,commands:i}),this.pendingCanvasMutations.delete(e)}}function q(t){return Object.assign(Object.assign({},t),{timestamp:Date.now()})}let H,we;const ge=Ud();function jt(t={}){const{emit:e,checkoutEveryNms:n,checkoutEveryNth:r,blockClass:i="rr-block",blockSelector:s=null,unblockSelector:a=null,ignoreClass:o="rr-ignore",ignoreSelector:c=null,maskTextClass:u="rr-mask",maskTextSelector:d=null,maskInputSelector:l=null,unmaskTextSelector:h=null,unmaskInputSelector:_=null,inlineStylesheet:p=!0,maskAllText:w=!1,maskAllInputs:D,maskInputOptions:S,slimDOMOptions:O,maskInputFn:x,maskTextFn:v,hooks:b,packFn:N,sampling:T={},mousemoveWait:E,recordCanvas:U=!1,userTriggeredOnInput:I=!1,collectFonts:z=!1,inlineImages:K=!1,plugins:m,keepIframeSrcFn:A=()=>!1,onMutation:$}=t;if(!e)throw new Error("emit function is required");E!==void 0&&T.mousemove===void 0&&(T.mousemove=E);const Q=D===!0?{color:!0,date:!0,"datetime-local":!0,email:!0,month:!0,number:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0,textarea:!0,select:!0,radio:!0,checkbox:!0}:S!==void 0?S:{},ft=O===!0||O==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:O==="all",headMetaDescKeywords:O==="all"}:O||{};Bd();let Ur,kn=0;const La=R=>{for(const at of m||[])at.eventProcessor&&(R=at.eventProcessor(R));return N&&(R=N(R)),R};H=(R,at)=>{var _t;if(!((_t=Mt[0])===null||_t===void 0)&&_t.isFrozen()&&R.type!==L.FullSnapshot&&!(R.type===L.IncrementalSnapshot&&R.data.source===Z.Mutation)&&Mt.forEach(rt=>rt.unfreeze()),e(La(R),at),R.type===L.FullSnapshot)Ur=R,kn=0;else if(R.type===L.IncrementalSnapshot){if(R.data.source===Z.Mutation&&R.data.isAttachIframe)return;kn++;const rt=r&&kn>=r,ot=n&&R.timestamp-Ur.timestamp>n;(rt||ot)&&we(!0)}};const Nn=R=>{H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.Mutation},R)}))},Br=R=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.Scroll},R)})),Lr=R=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.CanvasMutation},R)})),_e=new Vd({mutationCb:Nn}),Mr=new sl({recordCanvas:U,mutationCb:Lr,win:window,blockClass:i,blockSelector:s,unblockSelector:a,mirror:ge}),Dn=new Xd({mutationCb:Nn,scrollCb:Br,bypassOptions:{onMutation:$,blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:u,maskTextSelector:d,unmaskTextSelector:h,maskInputSelector:l,unmaskInputSelector:_,inlineStylesheet:p,maskAllText:w,maskInputOptions:Q,maskTextFn:v,maskInputFn:x,recordCanvas:U,inlineImages:K,sampling:T,slimDOMOptions:ft,iframeManager:_e,canvasManager:Mr},mirror:ge});we=(R=!1)=>{var at,_t,rt,ot;H(q({type:L.Meta,data:{href:window.location.href,width:Js(),height:Ks()}}),R),Mt.forEach(ct=>ct.lock());const[M,he]=Ad(document,{blockClass:i,blockSelector:s,unblockSelector:a,maskTextClass:u,maskTextSelector:d,unmaskTextSelector:h,maskInputSelector:l,unmaskInputSelector:_,inlineStylesheet:p,maskAllText:w,maskAllInputs:Q,maskTextFn:v,slimDOM:ft,recordCanvas:U,inlineImages:K,onSerialize:ct=>{ea(ct)&&_e.addIframe(ct),na(ct)&&Dn.addShadowRoot(ct.shadowRoot,document)},onIframeLoad:(ct,Ma)=>{_e.attachIframe(ct,Ma),Dn.observeAttachShadow(ct)},keepIframeSrcFn:A});if(!M)return console.warn("Failed to snapshot the document");ge.map=he,H(q({type:L.FullSnapshot,data:{node:M,initialOffset:{left:window.pageXOffset!==void 0?window.pageXOffset:(document==null?void 0:document.documentElement.scrollLeft)||((_t=(at=document==null?void 0:document.body)===null||at===void 0?void 0:at.parentElement)===null||_t===void 0?void 0:_t.scrollLeft)||(document==null?void 0:document.body.scrollLeft)||0,top:window.pageYOffset!==void 0?window.pageYOffset:(document==null?void 0:document.documentElement.scrollTop)||((ot=(rt=document==null?void 0:document.body)===null||rt===void 0?void 0:rt.parentElement)===null||ot===void 0?void 0:ot.scrollTop)||(document==null?void 0:document.body.scrollTop)||0}}})),Mt.forEach(ct=>ct.unlock())};try{const R=[];R.push(it("DOMContentLoaded",()=>{H(q({type:L.DomContentLoaded,data:{}}))}));const at=rt=>{var ot;return k(Zd)({onMutation:$,mutationCb:Nn,mousemoveCb:(M,he)=>H(q({type:L.IncrementalSnapshot,data:{source:he,positions:M}})),mouseInteractionCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.MouseInteraction},M)})),scrollCb:Br,viewportResizeCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.ViewportResize},M)})),inputCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.Input},M)})),mediaInteractionCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.MediaInteraction},M)})),styleSheetRuleCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.StyleSheetRule},M)})),styleDeclarationCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.StyleDeclaration},M)})),canvasMutationCb:Lr,fontCb:M=>H(q({type:L.IncrementalSnapshot,data:Object.assign({source:Z.Font},M)})),blockClass:i,ignoreClass:o,ignoreSelector:c,maskTextClass:u,maskTextSelector:d,unmaskTextSelector:h,maskInputSelector:l,unmaskInputSelector:_,maskInputOptions:Q,inlineStylesheet:p,sampling:T,recordCanvas:U,inlineImages:K,userTriggeredOnInput:I,collectFonts:z,doc:rt,maskAllText:w,maskInputFn:x,maskTextFn:v,blockSelector:s,unblockSelector:a,slimDOMOptions:ft,mirror:ge,iframeManager:_e,shadowDomManager:Dn,canvasManager:Mr,plugins:((ot=m==null?void 0:m.filter(M=>M.observer))===null||ot===void 0?void 0:ot.map(M=>({observer:M.observer,options:M.options,callback:he=>H(q({type:L.Plugin,data:{plugin:M.name,payload:he}}))})))||[]},b)};_e.addLoadListener(rt=>{try{R.push(at(rt.contentDocument))}catch(ot){console.warn(ot)}});const _t=()=>{we(),R.push(at(document))};return document.readyState==="interactive"||document.readyState==="complete"?_t():R.push(it("load",()=>{H(q({type:L.Load,data:{}})),_t()},window)),()=>{R.forEach(rt=>rt())}}catch(R){console.warn(R)}}jt.addCustomEvent=(t,e)=>{if(!H)throw new Error("please add custom event after start recording");H(q({type:L.Custom,data:{tag:t,payload:e}}))};jt.freezePage=()=>{Mt.forEach(t=>t.freeze())};jt.takeFullSnapshot=t=>{if(!we)throw new Error("please take full snapshot after start recording");we(t)};jt.mirror=ge;const al=["name","type","startTime","transferSize","duration"];function bi(t){return function(e){return al.every(n=>t[n]===e[n])}}function ol(t,e){const[n,r,i]=t.reduce((c,u)=>(u.entryType==="navigation"?c[0].push(u):u.entryType==="largest-contentful-paint"?c[1].push(u):c[2].push(u),c),[[],[],[]]),s=[],a=[];let o=r.length?r[r.length-1]:void 0;return e.forEach(c=>{if(c.entryType==="largest-contentful-paint"){(!o||o.startTime<c.startTime)&&(o=c);return}if(c.entryType==="navigation"){const u=c;c.duration>0&&!n.find(bi(u))&&!a.find(bi(u))&&a.push(u);return}s.push(c)}),[...o?[o]:[],...n,...i,...s,...a].sort((c,u)=>c.startTime-u.startTime)}function cl(t){const e=r=>{const i=ol(t.performanceEvents,r.getEntries());t.performanceEvents=i},n=new PerformanceObserver(e);return["element","event","first-input","largest-contentful-paint","layout-shift","longtask","navigation","paint","resource"].forEach(r=>{try{n.observe({type:r,buffered:!0})}catch(i){}}),n}const ul=`/*! pako 2.1.0 https://github.com/nodeca/pako @license (MIT AND Zlib) */ function t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),a=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),i=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),n=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),s=new Array(576);t(s);const r=new Array(60);t(r);const o=new Array(512);t(o);const l=new Array(256);t(l);const h=new Array(29);t(h);const d=new Array(30);function _(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}let f,c,u;function w(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const m=t=>t<256?o[t]:o[256+(t>>>7)],b=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},g=(t,e,a)=>{t.bi_valid>16-a?(t.bi_buf|=e<<t.bi_valid&65535,b(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=a-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)},p=(t,e,a)=>{g(t,a[2*e],a[2*e+1])},k=(t,e)=>{let a=0;do{a|=1&t,t>>>=1,a<<=1}while(--e>0);return a>>>1},v=(t,e,a)=>{const i=new Array(16);let n,s,r=0;for(n=1;n<=15;n++)r=r+a[n-1]<<1,i[n]=r;for(s=0;s<=e;s++){let e=t[2*s+1];0!==e&&(t[2*s]=k(i[e]++,e))}},y=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.sym_next=t.matches=0},x=t=>{t.bi_valid>8?b(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},z=(t,e,a,i)=>{const n=2*e,s=2*a;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[a]},A=(t,e,a)=>{const i=t.heap[a];let n=a<<1;for(;n<=t.heap_len&&(n<t.heap_len&&z(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!z(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i},E=(t,i,n)=>{let s,r,o,_,f=0;if(0!==t.sym_next)do{s=255&t.pending_buf[t.sym_buf+f++],s+=(255&t.pending_buf[t.sym_buf+f++])<<8,r=t.pending_buf[t.sym_buf+f++],0===s?p(t,r,i):(o=l[r],p(t,o+256+1,i),_=e[o],0!==_&&(r-=h[o],g(t,r,_)),s--,o=m(s),p(t,o,n),_=a[o],0!==_&&(s-=d[o],g(t,s,_)))}while(f<t.sym_next);p(t,256,i)},R=(t,e)=>{const a=e.dyn_tree,i=e.stat_desc.static_tree,n=e.stat_desc.has_stree,s=e.stat_desc.elems;let r,o,l,h=-1;for(t.heap_len=0,t.heap_max=573,r=0;r<s;r++)0!==a[2*r]?(t.heap[++t.heap_len]=h=r,t.depth[r]=0):a[2*r+1]=0;for(;t.heap_len<2;)l=t.heap[++t.heap_len]=h<2?++h:0,a[2*l]=1,t.depth[l]=0,t.opt_len--,n&&(t.static_len-=i[2*l+1]);for(e.max_code=h,r=t.heap_len>>1;r>=1;r--)A(t,a,r);l=s;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],A(t,a,1),o=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=o,a[2*l]=a[2*r]+a[2*o],t.depth[l]=(t.depth[r]>=t.depth[o]?t.depth[r]:t.depth[o])+1,a[2*r+1]=a[2*o+1]=l,t.heap[1]=l++,A(t,a,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const a=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,r=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length;let h,d,_,f,c,u,w=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(a[2*t.heap[t.heap_max]+1]=0,h=t.heap_max+1;h<573;h++)d=t.heap[h],f=a[2*a[2*d+1]+1]+1,f>l&&(f=l,w++),a[2*d+1]=f,d>i||(t.bl_count[f]++,c=0,d>=o&&(c=r[d-o]),u=a[2*d],t.opt_len+=u*(f+c),s&&(t.static_len+=u*(n[2*d+1]+c)));if(0!==w){do{for(f=l-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[l]--,w-=2}while(w>0);for(f=l;0!==f;f--)for(d=t.bl_count[f];0!==d;)_=t.heap[--h],_>i||(a[2*_+1]!==f&&(t.opt_len+=(f-a[2*_+1])*a[2*_],a[2*_+1]=f),d--)}})(t,e),v(a,h,t.bl_count)},Z=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=r,r=e[2*(i+1)+1],++o<l&&n===r||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4))},U=(t,e,a)=>{let i,n,s=-1,r=e[1],o=0,l=7,h=4;for(0===r&&(l=138,h=3),i=0;i<=a;i++)if(n=r,r=e[2*(i+1)+1],!(++o<l&&n===r)){if(o<h)do{p(t,n,t.bl_tree)}while(0!=--o);else 0!==n?(n!==s&&(p(t,n,t.bl_tree),o--),p(t,16,t.bl_tree),g(t,o-3,2)):o<=10?(p(t,17,t.bl_tree),g(t,o-3,3)):(p(t,18,t.bl_tree),g(t,o-11,7));o=0,s=n,0===r?(l=138,h=3):n===r?(l=6,h=3):(l=7,h=4)}};let S=!1;const D=(t,e,a,i)=>{g(t,0+(i?1:0),3),x(t),b(t,a),b(t,~a),a&&t.pending_buf.set(t.window.subarray(e,e+a),t.pending),t.pending+=a};var T=(t,e,a,i)=>{let o,l,h=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),R(t,t.l_desc),R(t,t.d_desc),h=(t=>{let e;for(Z(t,t.dyn_ltree,t.l_desc.max_code),Z(t,t.dyn_dtree,t.d_desc.max_code),R(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*n[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,l=t.static_len+3+7>>>3,l<=o&&(o=l)):o=l=a+5,a+4<=o&&-1!==e?D(t,e,a,i):4===t.strategy||l===o?(g(t,2+(i?1:0),3),E(t,s,r)):(g(t,4+(i?1:0),3),((t,e,a,i)=>{let s;for(g(t,e-257,5),g(t,a-1,5),g(t,i-4,4),s=0;s<i;s++)g(t,t.bl_tree[2*n[s]+1],3);U(t,t.dyn_ltree,e-1),U(t,t.dyn_dtree,a-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,h+1),E(t,t.dyn_ltree,t.dyn_dtree)),y(t),i&&x(t)},O={_tr_init:t=>{S||((()=>{let t,n,w,m,b;const g=new Array(16);for(w=0,m=0;m<28;m++)for(h[m]=w,t=0;t<1<<e[m];t++)l[w++]=m;for(l[w-1]=m,b=0,m=0;m<16;m++)for(d[m]=b,t=0;t<1<<a[m];t++)o[b++]=m;for(b>>=7;m<30;m++)for(d[m]=b<<7,t=0;t<1<<a[m]-7;t++)o[256+b++]=m;for(n=0;n<=15;n++)g[n]=0;for(t=0;t<=143;)s[2*t+1]=8,t++,g[8]++;for(;t<=255;)s[2*t+1]=9,t++,g[9]++;for(;t<=279;)s[2*t+1]=7,t++,g[7]++;for(;t<=287;)s[2*t+1]=8,t++,g[8]++;for(v(s,287,g),t=0;t<30;t++)r[2*t+1]=5,r[2*t]=k(t,5);f=new _(s,e,257,286,15),c=new _(r,a,0,30,15),u=new _(new Array(0),i,0,19,7)})(),S=!0),t.l_desc=new w(t.dyn_ltree,f),t.d_desc=new w(t.dyn_dtree,c),t.bl_desc=new w(t.bl_tree,u),t.bi_buf=0,t.bi_valid=0,y(t)},_tr_stored_block:D,_tr_flush_block:T,_tr_tally:(t,e,a)=>(t.pending_buf[t.sym_buf+t.sym_next++]=e,t.pending_buf[t.sym_buf+t.sym_next++]=e>>8,t.pending_buf[t.sym_buf+t.sym_next++]=a,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(l[a]+256+1)]++,t.dyn_dtree[2*m(e)]++),t.sym_next===t.sym_end),_tr_align:t=>{g(t,2,3),p(t,256,s),(t=>{16===t.bi_valid?(b(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}};var F=(t,e,a,i)=>{let n=65535&t|0,s=t>>>16&65535|0,r=0;for(;0!==a;){r=a>2e3?2e3:a,a-=r;do{n=n+e[i++]|0,s=s+n|0}while(--r);n%=65521,s%=65521}return n|s<<16|0};const L=new Uint32Array((()=>{let t,e=[];for(var a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e})());var N=(t,e,a,i)=>{const n=L,s=i+a;t^=-1;for(let a=i;a<s;a++)t=t>>>8^n[255&(t^e[a])];return-1^t},I={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"},B={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:C,_tr_stored_block:H,_tr_flush_block:M,_tr_tally:j,_tr_align:K}=O,{Z_NO_FLUSH:P,Z_PARTIAL_FLUSH:Y,Z_FULL_FLUSH:G,Z_FINISH:X,Z_BLOCK:W,Z_OK:q,Z_STREAM_END:J,Z_STREAM_ERROR:Q,Z_DATA_ERROR:V,Z_BUF_ERROR:$,Z_DEFAULT_COMPRESSION:tt,Z_FILTERED:et,Z_HUFFMAN_ONLY:at,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:st,Z_UNKNOWN:rt,Z_DEFLATED:ot}=B,lt=(t,e)=>(t.msg=I[e],e),ht=t=>2*t-(t>4?9:0),dt=t=>{let e=t.length;for(;--e>=0;)t[e]=0},_t=t=>{let e,a,i,n=t.w_size;e=t.hash_size,i=e;do{a=t.head[--i],t.head[i]=a>=n?a-n:0}while(--e);e=n,i=e;do{a=t.prev[--i],t.prev[i]=a>=n?a-n:0}while(--e)};let ft=(t,e,a)=>(e<<t.hash_shift^a)&t.hash_mask;const ct=t=>{const e=t.state;let a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+a),t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))},ut=(t,e)=>{M(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,ct(t.strm)},wt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},bt=(t,e,a,i)=>{let n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,e.set(t.input.subarray(t.next_in,t.next_in+n),a),1===t.state.wrap?t.adler=F(t.adler,e,n,a):2===t.state.wrap&&(t.adler=N(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)},gt=(t,e)=>{let a,i,n=t.max_chain_length,s=t.strstart,r=t.prev_length,o=t.nice_match;const l=t.strstart>t.w_size-262?t.strstart-(t.w_size-262):0,h=t.window,d=t.w_mask,_=t.prev,f=t.strstart+258;let c=h[s+r-1],u=h[s+r];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do{if(a=e,h[a+r]===u&&h[a+r-1]===c&&h[a]===h[s]&&h[++a]===h[s+1]){s+=2,a++;do{}while(h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&h[++s]===h[++a]&&s<f);if(i=258-(f-s),s=f-258,i>r){if(t.match_start=e,r=i,i>=o)break;c=h[s+r-1],u=h[s+r]}}}while((e=_[e&d])>l&&0!=--n);return r<=t.lookahead?r:t.lookahead},pt=t=>{const e=t.w_size;let a,i,n;do{if(i=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-262)&&(t.window.set(t.window.subarray(e,e+e-i),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,t.insert>t.strstart&&(t.insert=t.strstart),_t(t),i+=e),0===t.strm.avail_in)break;if(a=bt(t.strm,t.window,t.strstart+t.lookahead,i),t.lookahead+=a,t.lookahead+t.insert>=3)for(n=t.strstart-t.insert,t.ins_h=t.window[n],t.ins_h=ft(t,t.ins_h,t.window[n+1]);t.insert&&(t.ins_h=ft(t,t.ins_h,t.window[n+3-1]),t.prev[n&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=n,n++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<262&&0!==t.strm.avail_in)},kt=(t,e)=>{let a,i,n,s=t.pending_buf_size-5>t.w_size?t.w_size:t.pending_buf_size-5,r=0,o=t.strm.avail_in;do{if(a=65535,n=t.bi_valid+42>>3,t.strm.avail_out<n)break;if(n=t.strm.avail_out-n,i=t.strstart-t.block_start,a>i+t.strm.avail_in&&(a=i+t.strm.avail_in),a>n&&(a=n),a<s&&(0===a&&e!==X||e===P||a!==i+t.strm.avail_in))break;r=e===X&&a===i+t.strm.avail_in?1:0,H(t,0,0,r),t.pending_buf[t.pending-4]=a,t.pending_buf[t.pending-3]=a>>8,t.pending_buf[t.pending-2]=~a,t.pending_buf[t.pending-1]=~a>>8,ct(t.strm),i&&(i>a&&(i=a),t.strm.output.set(t.window.subarray(t.block_start,t.block_start+i),t.strm.next_out),t.strm.next_out+=i,t.strm.avail_out-=i,t.strm.total_out+=i,t.block_start+=i,a-=i),a&&(bt(t.strm,t.strm.output,t.strm.next_out,a),t.strm.next_out+=a,t.strm.avail_out-=a,t.strm.total_out+=a)}while(0===r);return o-=t.strm.avail_in,o&&(o>=t.w_size?(t.matches=2,t.window.set(t.strm.input.subarray(t.strm.next_in-t.w_size,t.strm.next_in),0),t.strstart=t.w_size,t.insert=t.strstart):(t.window_size-t.strstart<=o&&(t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,t.insert>t.strstart&&(t.insert=t.strstart)),t.window.set(t.strm.input.subarray(t.strm.next_in-o,t.strm.next_in),t.strstart),t.strstart+=o,t.insert+=o>t.w_size-t.insert?t.w_size-t.insert:o),t.block_start=t.strstart),t.high_water<t.strstart&&(t.high_water=t.strstart),r?4:e!==P&&e!==X&&0===t.strm.avail_in&&t.strstart===t.block_start?2:(n=t.window_size-t.strstart,t.strm.avail_in>n&&t.block_start>=t.w_size&&(t.block_start-=t.w_size,t.strstart-=t.w_size,t.window.set(t.window.subarray(t.w_size,t.w_size+t.strstart),0),t.matches<2&&t.matches++,n+=t.w_size,t.insert>t.strstart&&(t.insert=t.strstart)),n>t.strm.avail_in&&(n=t.strm.avail_in),n&&(bt(t.strm,t.window,t.strstart,n),t.strstart+=n,t.insert+=n>t.w_size-t.insert?t.w_size-t.insert:n),t.high_water<t.strstart&&(t.high_water=t.strstart),n=t.bi_valid+42>>3,n=t.pending_buf_size-n>65535?65535:t.pending_buf_size-n,s=n>t.w_size?t.w_size:n,i=t.strstart-t.block_start,(i>=s||(i||e===X)&&e!==P&&0===t.strm.avail_in&&i<=n)&&(a=i>n?n:i,r=e===X&&0===t.strm.avail_in&&a===i?1:0,H(t,t.block_start,a,r),t.block_start+=a,ct(t.strm)),r?3:1)},vt=(t,e)=>{let a,i;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-262&&(t.match_length=gt(t,a)),t.match_length>=3)if(i=j(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=ft(t,t.ins_h,t.window[t.strstart+1]);else i=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2},yt=(t,e)=>{let a,i,n;for(;;){if(t.lookahead<262){if(pt(t),t.lookahead<262&&e===P)return 1;if(0===t.lookahead)break}if(a=0,t.lookahead>=3&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-262&&(t.match_length=gt(t,a),t.match_length<=5&&(t.strategy===et||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=j(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=ft(t,t.ins_h,t.window[t.strstart+3-1]),a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(ut(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(i=j(t,0,t.window[t.strstart-1]),i&&ut(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=j(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2};function xt(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}const zt=[new xt(0,0,0,0,kt),new xt(4,4,8,4,vt),new xt(4,5,16,8,vt),new xt(4,6,32,32,vt),new xt(4,4,16,16,yt),new xt(8,16,32,32,yt),new xt(8,16,128,128,yt),new xt(8,32,128,256,yt),new xt(32,128,258,1024,yt),new xt(32,258,258,4096,yt)];function At(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=ot,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),dt(this.dyn_ltree),dt(this.dyn_dtree),dt(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),dt(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),dt(this.depth),this.sym_buf=0,this.lit_bufsize=0,this.sym_next=0,this.sym_end=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const Et=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||42!==e.status&&57!==e.status&&69!==e.status&&73!==e.status&&91!==e.status&&103!==e.status&&113!==e.status&&666!==e.status?1:0},Rt=t=>{if(Et(t))return lt(t,Q);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=2===e.wrap?57:e.wrap?42:113,t.adler=2===e.wrap?0:1,e.last_flush=-2,C(e),q},Zt=t=>{const e=Rt(t);var a;return e===q&&((a=t.state).window_size=2*a.w_size,dt(a.head),a.max_lazy_match=zt[a.level].max_lazy,a.good_match=zt[a.level].good_length,a.nice_match=zt[a.level].nice_length,a.max_chain_length=zt[a.level].max_chain,a.strstart=0,a.block_start=0,a.lookahead=0,a.insert=0,a.match_length=a.prev_length=2,a.match_available=0,a.ins_h=0),e},Ut=(t,e,a,i,n,s)=>{if(!t)return Q;let r=1;if(e===tt&&(e=6),i<0?(r=0,i=-i):i>15&&(r=2,i-=16),n<1||n>9||a!==ot||i<8||i>15||e<0||e>9||s<0||s>nt||8===i&&1!==r)return lt(t,Q);8===i&&(i=9);const o=new At;return t.state=o,o.strm=t,o.status=42,o.wrap=r,o.gzhead=null,o.w_bits=i,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=n+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<n+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.sym_buf=o.lit_bufsize,o.sym_end=3*(o.lit_bufsize-1),o.level=e,o.strategy=s,o.method=a,Zt(t)};var St={deflateInit:(t,e)=>Ut(t,e,ot,15,8,st),deflateInit2:Ut,deflateReset:Zt,deflateResetKeep:Rt,deflateSetHeader:(t,e)=>Et(t)||2!==t.state.wrap?Q:(t.state.gzhead=e,q),deflate:(t,e)=>{if(Et(t)||e>W||e<0)return t?lt(t,Q):Q;const a=t.state;if(!t.output||0!==t.avail_in&&!t.input||666===a.status&&e!==X)return lt(t,0===t.avail_out?$:Q);const i=a.last_flush;if(a.last_flush=e,0!==a.pending){if(ct(t),0===t.avail_out)return a.last_flush=-1,q}else if(0===t.avail_in&&ht(e)<=ht(i)&&e!==X)return lt(t,$);if(666===a.status&&0!==t.avail_in)return lt(t,$);if(42===a.status&&0===a.wrap&&(a.status=113),42===a.status){let e=ot+(a.w_bits-8<<4)<<8,i=-1;if(i=a.strategy>=at||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1,a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(57===a.status)if(t.adler=0,wt(a,31),wt(a,139),wt(a,8),a.gzhead)wt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),wt(a,255&a.gzhead.time),wt(a,a.gzhead.time>>8&255),wt(a,a.gzhead.time>>16&255),wt(a,a.gzhead.time>>24&255),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(wt(a,255&a.gzhead.extra.length),wt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=N(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69;else if(wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,0),wt(a,9===a.level?2:a.strategy>=at||a.level<2?4:0),wt(a,3),a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q;if(69===a.status){if(a.gzhead.extra){let e=a.pending,i=(65535&a.gzhead.extra.length)-a.gzindex;for(;a.pending+i>a.pending_buf_size;){let n=a.pending_buf_size-a.pending;if(a.pending_buf.set(a.gzhead.extra.subarray(a.gzindex,a.gzindex+n),a.pending),a.pending=a.pending_buf_size,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex+=n,ct(t),0!==a.pending)return a.last_flush=-1,q;e=0,i-=n}let n=new Uint8Array(a.gzhead.extra);a.pending_buf.set(n.subarray(a.gzindex,a.gzindex+i),a.pending),a.pending+=i,a.gzhead.hcrc&&a.pending>e&&(t.adler=N(t.adler,a.pending_buf,a.pending-e,e)),a.gzindex=0}a.status=73}if(73===a.status){if(a.gzhead.name){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,wt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex=0}a.status=91}if(91===a.status){if(a.gzhead.comment){let e,i=a.pending;do{if(a.pending===a.pending_buf_size){if(a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i)),ct(t),0!==a.pending)return a.last_flush=-1,q;i=0}e=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,wt(a,e)}while(0!==e);a.gzhead.hcrc&&a.pending>i&&(t.adler=N(t.adler,a.pending_buf,a.pending-i,i))}a.status=103}if(103===a.status){if(a.gzhead.hcrc){if(a.pending+2>a.pending_buf_size&&(ct(t),0!==a.pending))return a.last_flush=-1,q;wt(a,255&t.adler),wt(a,t.adler>>8&255),t.adler=0}if(a.status=113,ct(t),0!==a.pending)return a.last_flush=-1,q}if(0!==t.avail_in||0!==a.lookahead||e!==P&&666!==a.status){let i=0===a.level?kt(a,e):a.strategy===at?((t,e)=>{let a;for(;;){if(0===t.lookahead&&(pt(t),0===t.lookahead)){if(e===P)return 1;break}if(t.match_length=0,a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let a,i,n,s;const r=t.window;for(;;){if(t.lookahead<=258){if(pt(t),t.lookahead<=258&&e===P)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(n=t.strstart-1,i=r[n],i===r[++n]&&i===r[++n]&&i===r[++n])){s=t.strstart+258;do{}while(i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&i===r[++n]&&n<s);t.match_length=258-(s-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(a=j(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=j(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(ut(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===X?(ut(t,!0),0===t.strm.avail_out?3:4):t.sym_next&&(ut(t,!1),0===t.strm.avail_out)?1:2})(a,e):zt[a.level].func(a,e);if(3!==i&&4!==i||(a.status=666),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),q;if(2===i&&(e===Y?K(a):e!==W&&(H(a,0,0,!1),e===G&&(dt(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),ct(t),0===t.avail_out))return a.last_flush=-1,q}return e!==X?q:a.wrap<=0?J:(2===a.wrap?(wt(a,255&t.adler),wt(a,t.adler>>8&255),wt(a,t.adler>>16&255),wt(a,t.adler>>24&255),wt(a,255&t.total_in),wt(a,t.total_in>>8&255),wt(a,t.total_in>>16&255),wt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),ct(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?q:J)},deflateEnd:t=>{if(Et(t))return Q;const e=t.state.status;return t.state=null,113===e?lt(t,V):q},deflateSetDictionary:(t,e)=>{let a=e.length;if(Et(t))return Q;const i=t.state,n=i.wrap;if(2===n||1===n&&42!==i.status||i.lookahead)return Q;if(1===n&&(t.adler=F(t.adler,e,a,0)),i.wrap=0,a>=i.w_size){0===n&&(dt(i.head),i.strstart=0,i.block_start=0,i.insert=0);let t=new Uint8Array(i.w_size);t.set(e.subarray(a-i.w_size,a),0),e=t,a=i.w_size}const s=t.avail_in,r=t.next_in,o=t.input;for(t.avail_in=a,t.next_in=0,t.input=e,pt(i);i.lookahead>=3;){let t=i.strstart,e=i.lookahead-2;do{i.ins_h=ft(i,i.ins_h,i.window[t+3-1]),i.prev[t&i.w_mask]=i.head[i.ins_h],i.head[i.ins_h]=t,t++}while(--e);i.strstart=t,i.lookahead=2,pt(i)}return i.strstart+=i.lookahead,i.block_start=i.strstart,i.insert=i.lookahead,i.lookahead=0,i.match_length=i.prev_length=2,i.match_available=0,t.next_in=r,t.input=o,t.avail_in=s,i.wrap=n,q},deflateInfo:"pako deflate (from Nodeca project)"};const Dt=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Tt=function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(const e in a)Dt(a,e)&&(t[e]=a[e])}}return t},Ot=t=>{let e=0;for(let a=0,i=t.length;a<i;a++)e+=t[a].length;const a=new Uint8Array(e);for(let e=0,i=0,n=t.length;e<n;e++){let n=t[e];a.set(n,i),i+=n.length}return a};let Ft=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Ft=!1}const Lt=new Uint8Array(256);for(let t=0;t<256;t++)Lt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Lt[254]=Lt[254]=1;var Nt=t=>{if("function"==typeof TextEncoder&&TextEncoder.prototype.encode)return(new TextEncoder).encode(t);let e,a,i,n,s,r=t.length,o=0;for(n=0;n<r;n++)a=t.charCodeAt(n),55296==(64512&a)&&n+1<r&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),n++)),o+=a<128?1:a<2048?2:a<65536?3:4;for(e=new Uint8Array(o),s=0,n=0;s<o;n++)a=t.charCodeAt(n),55296==(64512&a)&&n+1<r&&(i=t.charCodeAt(n+1),56320==(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),n++)),a<128?e[s++]=a:a<2048?(e[s++]=192|a>>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},It=(t,e)=>{const a=e||t.length;if("function"==typeof TextDecoder&&TextDecoder.prototype.decode)return(new TextDecoder).decode(t.subarray(0,e));let i,n;const s=new Array(2*a);for(n=0,i=0;i<a;){let e=t[i++];if(e<128){s[n++]=e;continue}let r=Lt[e];if(r>4)s[n++]=65533,i+=r-1;else{for(e&=2===r?31:3===r?15:7;r>1&&i<a;)e=e<<6|63&t[i++],r--;r>1?s[n++]=65533:e<65536?s[n++]=e:(e-=65536,s[n++]=55296|e>>10&1023,s[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Ft)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let a="";for(let i=0;i<e;i++)a+=String.fromCharCode(t[i]);return a})(s,n)},Bt=(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let a=e-1;for(;a>=0&&128==(192&t[a]);)a--;return a<0||0===a?e:a+Lt[t[a]]>e?a:e};var Ct=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0};const Ht=Object.prototype.toString,{Z_NO_FLUSH:Mt,Z_SYNC_FLUSH:jt,Z_FULL_FLUSH:Kt,Z_FINISH:Pt,Z_OK:Yt,Z_STREAM_END:Gt,Z_DEFAULT_COMPRESSION:Xt,Z_DEFAULT_STRATEGY:Wt,Z_DEFLATED:qt}=B;function Jt(t){this.options=Tt({level:Xt,method:qt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Wt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=St.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==Yt)throw new Error(I[a]);if(e.header&&St.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Nt(e.dictionary):"[object ArrayBuffer]"===Ht.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=St.deflateSetDictionary(this.strm,t),a!==Yt)throw new Error(I[a]);this._dict_set=!0}}function Qt(t,e){const a=new Jt(e);if(a.push(t,!0),a.err)throw a.msg||I[a.err];return a.result}Jt.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize;let n,s;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Pt:Mt,"string"==typeof t?a.input=Nt(t):"[object ArrayBuffer]"===Ht.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;)if(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),(s===jt||s===Kt)&&a.avail_out<=6)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else{if(n=St.deflate(a,s),n===Gt)return a.next_out>0&&this.onData(a.output.subarray(0,a.next_out)),n=St.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Yt;if(0!==a.avail_out){if(s>0&&a.next_out>0)this.onData(a.output.subarray(0,a.next_out)),a.avail_out=0;else if(0===a.avail_in)break}else this.onData(a.output)}return!0},Jt.prototype.onData=function(t){this.chunks.push(t)},Jt.prototype.onEnd=function(t){t===Yt&&(this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Vt={Deflate:Jt,deflate:Qt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,Qt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,Qt(t,e)},constants:B};var $t=function(t,e){let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z,A;const E=t.state;a=t.next_in,z=t.input,i=a+(t.avail_in-5),n=t.next_out,A=t.output,s=n-(e-t.avail_out),r=n+(t.avail_out-257),o=E.dmax,l=E.wsize,h=E.whave,d=E.wnext,_=E.window,f=E.hold,c=E.bits,u=E.lencode,w=E.distcode,m=(1<<E.lenbits)-1,b=(1<<E.distbits)-1;t:do{c<15&&(f+=z[a++]<<c,c+=8,f+=z[a++]<<c,c+=8),g=u[f&m];e:for(;;){if(p=g>>>24,f>>>=p,c-=p,p=g>>>16&255,0===p)A[n++]=65535&g;else{if(!(16&p)){if(0==(64&p)){g=u[(65535&g)+(f&(1<<p)-1)];continue e}if(32&p){E.mode=16191;break t}t.msg="invalid literal/length code",E.mode=16209;break t}k=65535&g,p&=15,p&&(c<p&&(f+=z[a++]<<c,c+=8),k+=f&(1<<p)-1,f>>>=p,c-=p),c<15&&(f+=z[a++]<<c,c+=8,f+=z[a++]<<c,c+=8),g=w[f&b];a:for(;;){if(p=g>>>24,f>>>=p,c-=p,p=g>>>16&255,!(16&p)){if(0==(64&p)){g=w[(65535&g)+(f&(1<<p)-1)];continue a}t.msg="invalid distance code",E.mode=16209;break t}if(v=65535&g,p&=15,c<p&&(f+=z[a++]<<c,c+=8,c<p&&(f+=z[a++]<<c,c+=8)),v+=f&(1<<p)-1,v>o){t.msg="invalid distance too far back",E.mode=16209;break t}if(f>>>=p,c-=p,p=n-s,v>p){if(p=v-p,p>h&&E.sane){t.msg="invalid distance too far back",E.mode=16209;break t}if(y=0,x=_,0===d){if(y+=l-p,p<k){k-=p;do{A[n++]=_[y++]}while(--p);y=n-v,x=A}}else if(d<p){if(y+=l+d-p,p-=d,p<k){k-=p;do{A[n++]=_[y++]}while(--p);if(y=0,d<k){p=d,k-=p;do{A[n++]=_[y++]}while(--p);y=n-v,x=A}}}else if(y+=d-p,p<k){k-=p;do{A[n++]=_[y++]}while(--p);y=n-v,x=A}for(;k>2;)A[n++]=x[y++],A[n++]=x[y++],A[n++]=x[y++],k-=3;k&&(A[n++]=x[y++],k>1&&(A[n++]=x[y++]))}else{y=n-v;do{A[n++]=A[y++],A[n++]=A[y++],A[n++]=A[y++],k-=3}while(k>2);k&&(A[n++]=A[y++],k>1&&(A[n++]=A[y++]))}break}}break}}while(a<i&&n<r);k=c>>3,a-=k,c-=k<<3,f&=(1<<c)-1,t.next_in=a,t.next_out=n,t.avail_in=a<i?i-a+5:5-(a-i),t.avail_out=n<r?r-n+257:257-(n-r),E.hold=f,E.bits=c};const te=new Uint16Array([3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0]),ee=new Uint8Array([16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78]),ae=new Uint16Array([1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0]),ie=new Uint8Array([16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64]);var ne=(t,e,a,i,n,s,r,o)=>{const l=o.bits;let h,d,_,f,c,u,w=0,m=0,b=0,g=0,p=0,k=0,v=0,y=0,x=0,z=0,A=null;const E=new Uint16Array(16),R=new Uint16Array(16);let Z,U,S,D=null;for(w=0;w<=15;w++)E[w]=0;for(m=0;m<i;m++)E[e[a+m]]++;for(p=l,g=15;g>=1&&0===E[g];g--);if(p>g&&(p=g),0===g)return n[s++]=20971520,n[s++]=20971520,o.bits=1,0;for(b=1;b<g&&0===E[b];b++);for(p<b&&(p=b),y=1,w=1;w<=15;w++)if(y<<=1,y-=E[w],y<0)return-1;if(y>0&&(0===t||1!==g))return-1;for(R[1]=0,w=1;w<15;w++)R[w+1]=R[w]+E[w];for(m=0;m<i;m++)0!==e[a+m]&&(r[R[e[a+m]]++]=m);if(0===t?(A=D=r,u=20):1===t?(A=te,D=ee,u=257):(A=ae,D=ie,u=0),z=0,m=0,w=b,c=s,k=p,v=0,_=-1,x=1<<p,f=x-1,1===t&&x>852||2===t&&x>592)return 1;for(;;){Z=w-v,r[m]+1<u?(U=0,S=r[m]):r[m]>=u?(U=D[r[m]-u],S=A[r[m]-u]):(U=96,S=0),h=1<<w-v,d=1<<k,b=d;do{d-=h,n[c+(z>>v)+d]=Z<<24|U<<16|S|0}while(0!==d);for(h=1<<w-1;z&h;)h>>=1;if(0!==h?(z&=h-1,z+=h):z=0,m++,0==--E[w]){if(w===g)break;w=e[a+r[m]]}if(w>p&&(z&f)!==_){for(0===v&&(v=p),c+=b,k=w-v,y=1<<k;k+v<g&&(y-=E[k+v],!(y<=0));)k++,y<<=1;if(x+=1<<k,1===t&&x>852||2===t&&x>592)return 1;_=z&f,n[_]=p<<24|k<<16|c-s|0}}return 0!==z&&(n[c+z]=w-v<<24|64<<16|0),o.bits=p,0};const{Z_FINISH:se,Z_BLOCK:re,Z_TREES:oe,Z_OK:le,Z_STREAM_END:he,Z_NEED_DICT:de,Z_STREAM_ERROR:_e,Z_DATA_ERROR:fe,Z_MEM_ERROR:ce,Z_BUF_ERROR:ue,Z_DEFLATED:we}=B,me=16209,be=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){this.strm=null,this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const pe=t=>{if(!t)return 1;const e=t.state;return!e||e.strm!==t||e.mode<16180||e.mode>16211?1:0},ke=t=>{if(pe(t))return _e;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=16180,e.last=0,e.havedict=0,e.flags=-1,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,le},ve=t=>{if(pe(t))return _e;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,ke(t)},ye=(t,e)=>{let a;if(pe(t))return _e;const i=t.state;return e<0?(a=0,e=-e):(a=5+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?_e:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,ve(t))},xe=(t,e)=>{if(!t)return _e;const a=new ge;t.state=a,a.strm=t,a.window=null,a.mode=16180;const i=ye(t,e);return i!==le&&(t.state=null),i};let ze,Ae,Ee=!0;const Re=t=>{if(Ee){ze=new Int32Array(512),Ae=new Int32Array(32);let e=0;for(;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(ne(1,t.lens,0,288,ze,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ne(2,t.lens,0,32,Ae,0,t.work,{bits:5}),Ee=!1}t.lencode=ze,t.lenbits=9,t.distcode=Ae,t.distbits=5},Ze=(t,e,a,i)=>{let n;const s=t.state;return null===s.window&&(s.wsize=1<<s.wbits,s.wnext=0,s.whave=0,s.window=new Uint8Array(s.wsize)),i>=s.wsize?(s.window.set(e.subarray(a-s.wsize,a),0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),s.window.set(e.subarray(a-i,a-i+n),s.wnext),(i-=n)?(s.window.set(e.subarray(a-i,a),0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave<s.wsize&&(s.whave+=n))),0};var Ue={inflateReset:ve,inflateReset2:ye,inflateResetKeep:ke,inflateInit:t=>xe(t,15),inflateInit2:xe,inflate:(t,e)=>{let a,i,n,s,r,o,l,h,d,_,f,c,u,w,m,b,g,p,k,v,y,x,z=0;const A=new Uint8Array(4);let E,R;const Z=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]);if(pe(t)||!t.output||!t.input&&0!==t.avail_in)return _e;a=t.state,16191===a.mode&&(a.mode=16192),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,_=o,f=l,x=le;t:for(;;)switch(a.mode){case 16180:if(0===a.wrap){a.mode=16192;break}for(;d<16;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(2&a.wrap&&35615===h){0===a.wbits&&(a.wbits=15),a.check=0,A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0),h=0,d=0,a.mode=16181;break}if(a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&h)<<8)+(h>>8))%31){t.msg="incorrect header check",a.mode=me;break}if((15&h)!==we){t.msg="unknown compression method",a.mode=me;break}if(h>>>=4,d-=4,y=8+(15&h),0===a.wbits&&(a.wbits=y),y>15||y>a.wbits){t.msg="invalid window size",a.mode=me;break}a.dmax=1<<a.wbits,a.flags=0,t.adler=a.check=1,a.mode=512&h?16189:16191,h=0,d=0;break;case 16181:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(a.flags=h,(255&a.flags)!==we){t.msg="unknown compression method",a.mode=me;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=me;break}a.head&&(a.head.text=h>>8&1),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16182;case 16182:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.head&&(a.head.time=h),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,A[2]=h>>>16&255,A[3]=h>>>24&255,a.check=N(a.check,A,4,0)),h=0,d=0,a.mode=16183;case 16183:for(;d<16;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.head&&(a.head.xflags=255&h,a.head.os=h>>8),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0,a.mode=16184;case 16184:if(1024&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.length=h,a.head&&(a.head.extra_len=h),512&a.flags&&4&a.wrap&&(A[0]=255&h,A[1]=h>>>8&255,a.check=N(a.check,A,2,0)),h=0,d=0}else a.head&&(a.head.extra=null);a.mode=16185;case 16185:if(1024&a.flags&&(c=a.length,c>o&&(c=o),c&&(a.head&&(y=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Uint8Array(a.head.extra_len)),a.head.extra.set(i.subarray(s,s+c),y)),512&a.flags&&4&a.wrap&&(a.check=N(a.check,i,c,s)),o-=c,s+=c,a.length-=c),a.length))break t;a.length=0,a.mode=16186;case 16186:if(2048&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.name+=String.fromCharCode(y))}while(y&&c<o);if(512&a.flags&&4&a.wrap&&(a.check=N(a.check,i,c,s)),o-=c,s+=c,y)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=16187;case 16187:if(4096&a.flags){if(0===o)break t;c=0;do{y=i[s+c++],a.head&&y&&a.length<65536&&(a.head.comment+=String.fromCharCode(y))}while(y&&c<o);if(512&a.flags&&4&a.wrap&&(a.check=N(a.check,i,c,s)),o-=c,s+=c,y)break t}else a.head&&(a.head.comment=null);a.mode=16188;case 16188:if(512&a.flags){for(;d<16;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(4&a.wrap&&h!==(65535&a.check)){t.msg="header crc mismatch",a.mode=me;break}h=0,d=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=16191;break;case 16189:for(;d<32;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}t.adler=a.check=be(h),h=0,d=0,a.mode=16190;case 16190:if(0===a.havedict)return t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,de;t.adler=a.check=1,a.mode=16191;case 16191:if(e===re||e===oe)break t;case 16192:if(a.last){h>>>=7&d,d-=7&d,a.mode=16206;break}for(;d<3;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}switch(a.last=1&h,h>>>=1,d-=1,3&h){case 0:a.mode=16193;break;case 1:if(Re(a),a.mode=16199,e===oe){h>>>=2,d-=2;break t}break;case 2:a.mode=16196;break;case 3:t.msg="invalid block type",a.mode=me}h>>>=2,d-=2;break;case 16193:for(h>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if((65535&h)!=(h>>>16^65535)){t.msg="invalid stored block lengths",a.mode=me;break}if(a.length=65535&h,h=0,d=0,a.mode=16194,e===oe)break t;case 16194:a.mode=16195;case 16195:if(c=a.length,c){if(c>o&&(c=o),c>l&&(c=l),0===c)break t;n.set(i.subarray(s,s+c),r),o-=c,s+=c,l-=c,r+=c,a.length-=c;break}a.mode=16191;break;case 16196:for(;d<14;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(a.nlen=257+(31&h),h>>>=5,d-=5,a.ndist=1+(31&h),h>>>=5,d-=5,a.ncode=4+(15&h),h>>>=4,d-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=me;break}a.have=0,a.mode=16197;case 16197:for(;a.have<a.ncode;){for(;d<3;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.lens[Z[a.have++]]=7&h,h>>>=3,d-=3}for(;a.have<19;)a.lens[Z[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,E={bits:a.lenbits},x=ne(0,a.lens,0,19,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid code lengths set",a.mode=me;break}a.have=0,a.mode=16198;case 16198:for(;a.have<a.nlen+a.ndist;){for(;z=a.lencode[h&(1<<a.lenbits)-1],m=z>>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(g<16)h>>>=m,d-=m,a.lens[a.have++]=g;else{if(16===g){for(R=m+2;d<R;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(h>>>=m,d-=m,0===a.have){t.msg="invalid bit length repeat",a.mode=me;break}y=a.lens[a.have-1],c=3+(3&h),h>>>=2,d-=2}else if(17===g){for(R=m+3;d<R;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}h>>>=m,d-=m,y=0,c=3+(7&h),h>>>=3,d-=3}else{for(R=m+7;d<R;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}h>>>=m,d-=m,y=0,c=11+(127&h),h>>>=7,d-=7}if(a.have+c>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=me;break}for(;c--;)a.lens[a.have++]=y}}if(a.mode===me)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=me;break}if(a.lenbits=9,E={bits:a.lenbits},x=ne(1,a.lens,0,a.nlen,a.lencode,0,a.work,E),a.lenbits=E.bits,x){t.msg="invalid literal/lengths set",a.mode=me;break}if(a.distbits=6,a.distcode=a.distdyn,E={bits:a.distbits},x=ne(2,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,E),a.distbits=E.bits,x){t.msg="invalid distances set",a.mode=me;break}if(a.mode=16199,e===oe)break t;case 16199:a.mode=16200;case 16200:if(o>=6&&l>=258){t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,$t(t,f),r=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,h=a.hold,d=a.bits,16191===a.mode&&(a.back=-1);break}for(a.back=0;z=a.lencode[h&(1<<a.lenbits)-1],m=z>>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(b&&0==(240&b)){for(p=m,k=b,v=g;z=a.lencode[v+((h&(1<<p+k)-1)>>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}h>>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,a.length=g,0===b){a.mode=16205;break}if(32&b){a.back=-1,a.mode=16191;break}if(64&b){t.msg="invalid literal/length code",a.mode=me;break}a.extra=15&b,a.mode=16201;case 16201:if(a.extra){for(R=a.extra;d<R;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.length+=h&(1<<a.extra)-1,h>>>=a.extra,d-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=16202;case 16202:for(;z=a.distcode[h&(1<<a.distbits)-1],m=z>>>24,b=z>>>16&255,g=65535&z,!(m<=d);){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(0==(240&b)){for(p=m,k=b,v=g;z=a.distcode[v+((h&(1<<p+k)-1)>>p)],m=z>>>24,b=z>>>16&255,g=65535&z,!(p+m<=d);){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}h>>>=p,d-=p,a.back+=p}if(h>>>=m,d-=m,a.back+=m,64&b){t.msg="invalid distance code",a.mode=me;break}a.offset=g,a.extra=15&b,a.mode=16203;case 16203:if(a.extra){for(R=a.extra;d<R;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}a.offset+=h&(1<<a.extra)-1,h>>>=a.extra,d-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=me;break}a.mode=16204;case 16204:if(0===l)break t;if(c=f-l,a.offset>c){if(c=a.offset-c,c>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=me;break}c>a.wnext?(c-=a.wnext,u=a.wsize-c):u=a.wnext-c,c>a.length&&(c=a.length),w=a.window}else w=n,u=r-a.offset,c=a.length;c>l&&(c=l),l-=c,a.length-=c;do{n[r++]=w[u++]}while(--c);0===a.length&&(a.mode=16200);break;case 16205:if(0===l)break t;n[r++]=a.length,l--,a.mode=16200;break;case 16206:if(a.wrap){for(;d<32;){if(0===o)break t;o--,h|=i[s++]<<d,d+=8}if(f-=l,t.total_out+=f,a.total+=f,4&a.wrap&&f&&(t.adler=a.check=a.flags?N(a.check,n,f,r-f):F(a.check,n,f,r-f)),f=l,4&a.wrap&&(a.flags?h:be(h))!==a.check){t.msg="incorrect data check",a.mode=me;break}h=0,d=0}a.mode=16207;case 16207:if(a.wrap&&a.flags){for(;d<32;){if(0===o)break t;o--,h+=i[s++]<<d,d+=8}if(4&a.wrap&&h!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=me;break}h=0,d=0}a.mode=16208;case 16208:x=he;break t;case me:x=fe;break t;case 16210:return ce;default:return _e}return t.next_out=r,t.avail_out=l,t.next_in=s,t.avail_in=o,a.hold=h,a.bits=d,(a.wsize||f!==t.avail_out&&a.mode<me&&(a.mode<16206||e!==se))&&Ze(t,t.output,t.next_out,f-t.avail_out),_-=t.avail_in,f-=t.avail_out,t.total_in+=_,t.total_out+=f,a.total+=f,4&a.wrap&&f&&(t.adler=a.check=a.flags?N(a.check,n,f,t.next_out-f):F(a.check,n,f,t.next_out-f)),t.data_type=a.bits+(a.last?64:0)+(16191===a.mode?128:0)+(16199===a.mode||16194===a.mode?256:0),(0===_&&0===f||e===se)&&x===le&&(x=ue),x},inflateEnd:t=>{if(pe(t))return _e;let e=t.state;return e.window&&(e.window=null),t.state=null,le},inflateGetHeader:(t,e)=>{if(pe(t))return _e;const a=t.state;return 0==(2&a.wrap)?_e:(a.head=e,e.done=!1,le)},inflateSetDictionary:(t,e)=>{const a=e.length;let i,n,s;return pe(t)?_e:(i=t.state,0!==i.wrap&&16190!==i.mode?_e:16190===i.mode&&(n=1,n=F(n,e,a,0),n!==i.check)?fe:(s=Ze(t,e,a,a),s?(i.mode=16210,ce):(i.havedict=1,le)))},inflateInfo:"pako inflate (from Nodeca project)"};var Se=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1};const De=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Oe,Z_OK:Fe,Z_STREAM_END:Le,Z_NEED_DICT:Ne,Z_STREAM_ERROR:Ie,Z_DATA_ERROR:Be,Z_MEM_ERROR:Ce}=B;function He(t){this.options=Tt({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Ct,this.strm.avail_out=0;let a=Ue.inflateInit2(this.strm,e.windowBits);if(a!==Fe)throw new Error(I[a]);if(this.header=new Se,Ue.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Nt(e.dictionary):"[object ArrayBuffer]"===De.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(a=Ue.inflateSetDictionary(this.strm,e.dictionary),a!==Fe)))throw new Error(I[a])}He.prototype.push=function(t,e){const a=this.strm,i=this.options.chunkSize,n=this.options.dictionary;let s,r,o;if(this.ended)return!1;for(r=e===~~e?e:!0===e?Oe:Te,"[object ArrayBuffer]"===De.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;;){for(0===a.avail_out&&(a.output=new Uint8Array(i),a.next_out=0,a.avail_out=i),s=Ue.inflate(a,r),s===Ne&&n&&(s=Ue.inflateSetDictionary(a,n),s===Fe?s=Ue.inflate(a,r):s===Be&&(s=Ne));a.avail_in>0&&s===Le&&a.state.wrap>0&&0!==t[a.next_in];)Ue.inflateReset(a),s=Ue.inflate(a,r);switch(s){case Ie:case Be:case Ne:case Ce:return this.onEnd(s),this.ended=!0,!1}if(o=a.avail_out,a.next_out&&(0===a.avail_out||s===Le))if("string"===this.options.to){let t=Bt(a.output,a.next_out),e=a.next_out-t,n=It(a.output,t);a.next_out=e,a.avail_out=i-e,e&&a.output.set(a.output.subarray(t,t+e),0),this.onData(n)}else this.onData(a.output.length===a.next_out?a.output:a.output.subarray(0,a.next_out));if(s!==Fe||0!==o){if(s===Le)return s=Ue.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,!0;if(0===a.avail_in)break}}return!0},He.prototype.onData=function(t){this.chunks.push(t)},He.prototype.onEnd=function(t){t===Fe&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ot(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};const{Deflate:Me,deflate:je,deflateRaw:Ke,gzip:Pe}=Vt;var Ye=Me,Ge=je,Xe=B;const We=new class{constructor(){this._init()}clear(){this._init()}addEvent(t){if(!t)throw new Error("Adding invalid event");const e=this._hasEvents?",":"";this.deflate.push(e+t,Xe.Z_SYNC_FLUSH),this._hasEvents=!0}finish(){if(this.deflate.push("]",Xe.Z_FINISH),this.deflate.err)throw this.deflate.err;const t=this.deflate.result;return this._init(),t}_init(){this._hasEvents=!1,this.deflate=new Ye,this.deflate.push("[",Xe.Z_NO_FLUSH)}},qe={clear:()=>{We.clear()},addEvent:t=>We.addEvent(t),finish:()=>We.finish(),compress:t=>function(t){return Ge(t)}(t)};addEventListener("message",(function(t){const e=t.data.method,a=t.data.id,i=t.data.arg;if(e in qe&&"function"==typeof qe[e])try{const t=qe[e](i);postMessage({id:a,method:e,success:!0,response:t})}catch(t){postMessage({id:a,method:e,success:!1,response:t.message}),console.error(t)}})),postMessage({id:void 0,method:"init",success:!0,response:void 0});`;function dl(){const t=new Blob([ul]);return URL.createObjectURL(t)}function Rr(t){return t>9999999999?t:t*1e3}class oa{constructor(){this.events=[]}get hasEvents(){return this.events.length>0}get type(){return"sync"}destroy(){this.events=[]}async addEvent(e){this.events.push(e)}finish(){return new Promise(e=>{const n=this.events;this.events=[],e(JSON.stringify(n))})}clear(){this.events=[]}getEarliestTimestamp(){const e=this.events.map(n=>n.timestamp).sort()[0];return e?Rr(e):null}}class ll{constructor(e){this._worker=e,this._id=0}ensureReady(){return this._ensureReadyPromise?this._ensureReadyPromise:(this._ensureReadyPromise=new Promise((e,n)=>{this._worker.addEventListener("message",({data:r})=>{r.success?e():n()},{once:!0}),this._worker.addEventListener("error",r=>{n(r)},{once:!0})}),this._ensureReadyPromise)}destroy(){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Destroying compression worker"),this._worker.terminate()}postMessage(e,n){const r=this._getAndIncrementId();return new Promise((i,s)=>{const a=({data:o})=>{const c=o;if(c.method===e&&c.id===r){if(this._worker.removeEventListener("message",a),!c.success){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay]",c.response),s(new Error("Error in compression worker"));return}i(c.response)}};this._worker.addEventListener("message",a),this._worker.postMessage({id:r,method:e,arg:n})})}_getAndIncrementId(){return this._id++}}class fl{constructor(e){this._worker=new ll(e),this._earliestTimestamp=null}get hasEvents(){return!!this._earliestTimestamp}get type(){return"worker"}ensureReady(){return this._worker.ensureReady()}destroy(){this._worker.destroy()}addEvent(e){const n=Rr(e.timestamp);return(!this._earliestTimestamp||n<this._earliestTimestamp)&&(this._earliestTimestamp=n),this._sendEventToWorker(e)}finish(){return this._finishRequest()}clear(){this._earliestTimestamp=null,this._worker.postMessage("clear")}getEarliestTimestamp(){return this._earliestTimestamp}_sendEventToWorker(e){return this._worker.postMessage("addEvent",JSON.stringify(e))}async _finishRequest(){const e=await this._worker.postMessage("finish");return this._earliestTimestamp=null,e}}class _l{constructor(e){this._fallback=new oa,this._compression=new fl(e),this._used=this._fallback,this._ensureWorkerIsLoadedPromise=this._ensureWorkerIsLoaded()}get type(){return this._used.type}get hasEvents(){return this._used.hasEvents}destroy(){this._fallback.destroy(),this._compression.destroy()}clear(){return this._used.clear()}getEarliestTimestamp(){return this._used.getEarliestTimestamp()}addEvent(e){return this._used.addEvent(e)}async finish(){return await this.ensureWorkerIsLoaded(),this._used.finish()}ensureWorkerIsLoaded(){return this._ensureWorkerIsLoadedPromise}async _ensureWorkerIsLoaded(){try{await this._compression.ensureReady()}catch(e){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Failed to load the compression worker, falling back to simple buffer");return}await this._switchToCompressionWorker()}async _switchToCompressionWorker(){const{events:e}=this._fallback,n=[];for(const r of e)n.push(this._compression.addEvent(r));this._used=this._compression;try{await Promise.all(n)}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("[Replay] Failed to add events when switching buffers.",r)}}}function hl({useCompression:t}){if(t&&window.Worker)try{const e=dl();(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Using compression worker");const n=new Worker(e);return new _l(n)}catch(e){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Failed to create compression worker")}return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Using simple buffer"),new oa}function pl(t){ml(),t.session=void 0}function ml(){if("sessionStorage"in G)try{G.sessionStorage.removeItem(Tr)}catch(e){}}function rr(t,e,n=+new Date){return t===null||e===void 0||e<0?!0:e===0?!1:t+e<=n}function ca(t,e,n=+new Date){return rr(t.started,e.maxSessionLife,n)||rr(t.lastActivity,e.sessionIdleExpire,n)}function ua(t){return t===void 0?!1:Math.random()<t}function kr(t){if("sessionStorage"in G)try{G.sessionStorage.setItem(Tr,JSON.stringify(t))}catch(n){}}function Nr(t){const e=Date.now(),n=t.id||lt(),r=t.started||e,i=t.lastActivity||e,s=t.segmentId||0,a=t.sampled;return{id:n,started:r,lastActivity:i,segmentId:s,sampled:a,shouldRefresh:!0}}function gl(t,e){return ua(t)?"session":e?"buffer":!1}function yl({sessionSampleRate:t,allowBuffering:e,stickySession:n=!1}){const r=gl(t,e),i=Nr({sampled:r});return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Replay] Creating new session: ${i.id}`),n&&kr(i),i}function El(){if(!("sessionStorage"in G))return null;try{const e=G.sessionStorage.getItem(Tr);if(!e)return null;const n=JSON.parse(e);return Nr(n)}catch(e){return null}}function Bn({timeouts:t,currentSession:e,stickySession:n,sessionSampleRate:r,allowBuffering:i}){const s=e||n&&El();if(s)if(ca(s,t))if(s.shouldRefresh)(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Session has expired");else return{type:"new",session:Nr({sampled:!1})};else return{type:"saved",session:s};return{type:"new",session:yl({stickySession:n,sessionSampleRate:r,allowBuffering:i})}}async function Be(t,e,n){if(!t.eventBuffer||t.isPaused()||Rr(e.timestamp)+t.timeouts.sessionIdlePause<Date.now())return null;try{return n&&t.eventBuffer.clear(),await t.eventBuffer.addEvent(e)}catch(i){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(i),await t.stop("addEvent");const s=g().getClient();s&&s.recordDroppedEvent("internal_sdk_error","replay")}}function _n(t){return!t.type}function ir(t){return t.type==="transaction"}function Sl(t){return t.type==="replay_event"}function da(t){const e=bl();return(n,r)=>{if(!_n(n)&&!ir(n))return;const i=r&&r.statusCode;if(!(e&&(!i||i<200||i>=300))){if(ir(n)&&n.contexts&&n.contexts.trace&&n.contexts.trace.trace_id){t.getContext().traceIds.add(n.contexts.trace.trace_id);return}_n(n)&&(n.event_id&&t.getContext().errorIds.add(n.event_id),t.recordingMode==="buffer"&&n.tags&&n.tags.replayId&&setTimeout(()=>{t.sendBufferedReplayOrFlush()}))}}}function bl(){const t=g().getClient();if(!t)return!1;const e=t.getTransport();return e&&e.send.__sentry__baseTransport__||!1}var hn;(function(t){t[t.Document=0]="Document",t[t.DocumentType=1]="DocumentType",t[t.Element=2]="Element",t[t.Text=3]="Text",t[t.CDATA=4]="CDATA",t[t.Comment=5]="Comment"})(hn||(hn={}));function Gt(t){return{timestamp:Date.now()/1e3,type:"default",...t}}function la(t,e){e.category!=="sentry.transaction"&&(["ui.click","ui.input"].includes(e.category)?t.triggerUserActivity():t.checkAndHandleExpiredSession(),t.addUpdate(()=>(Be(t,{type:L.Custom,timestamp:(e.timestamp||0)*1e3,data:{tag:"breadcrumb",payload:pt(e,10,1e3)}}),e.category==="console")))}const wl=new Set(["id","class","aria-label","role","name","alt","title","data-test-id","data-testid"]);function Tl(t){const e={};for(const n in t)if(wl.has(n)){let r=n;(n==="data-testid"||n==="data-test-id")&&(r="testId"),e[r]=t[n]}return e}const vl=t=>e=>{if(!t.isEnabled())return;const n=Rl(e);n&&la(t,n)};function Rl(t){let e,n;const r=t.name==="click";try{n=r?Nl(t.event):fa(t.event),e=Pt(n,{maxStringLength:200})}catch(s){e="<unknown>"}const i=n&&"__sn"in n&&n.__sn.type===hn.Element?n.__sn:null;return Gt({category:`ui.${t.name}`,message:e,data:i?{nodeId:i.id,node:{id:i.id,tagName:i.tagName,textContent:n?Array.from(n.childNodes).map(s=>"__sn"in s&&s.__sn.type===hn.Text&&s.__sn.textContent).filter(Boolean).map(s=>s.trim()).join(""):"",attributes:Tl(i.attributes)}}:{}})}function fa(t){return Dl(t)?t.target:t}const kl="button,a";function Nl(t){const e=fa(t);return!e||!(e instanceof Element)?e:e.closest(kl)||e}function Dl(t){return!!t.target}function xl(t,e){return t.type||!t.exception||!t.exception.values||!t.exception.values.length?!1:e.originalException&&e.originalException.__rrweb__?!0:t.exception.values.some(n=>!n.stacktrace||!n.stacktrace.frames||!n.stacktrace.frames.length?!1:n.stacktrace.frames.some(r=>r.filename&&r.filename.includes("/rrweb/src/")))}function Il(t,e){return t.recordingMode!=="buffer"||e.message===vr||!e.exception||e.type?!1:ua(t.getOptions().errorSampleRate)}function Ol(t,e=!1){const n=e?da(t):void 0;return(r,i)=>{if(Sl(r))return delete r.breadcrumbs,r;if(!_n(r)&&!ir(r))return r;if(xl(r,i)&&!t.getOptions()._experiments.captureExceptions)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Ignoring error from rrweb internals",r),null;if((Il(t,r)||t.recordingMode==="session")&&(r.tags={...r.tags,replayId:t.getSessionId()}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&t.getOptions()._experiments.traceInternals&&_n(r)){const o=Cl(r);Al({message:`Tagging event (${r.event_id}) - ${r.message} - ${o.type}: ${o.value}`})}return n&&n(r,{statusCode:200}),r}}function Al(t){const{category:e,level:n,message:r,...i}=t;hs({category:e||"console",level:n||"debug",message:`[debug]: ${r}`,...i})}function Cl(t){return{type:"Unknown",value:"n/a",...t.exception&&t.exception.values&&t.exception.values[0]}}function Tn(t,e){return e.map(({type:n,start:r,end:i,name:s,data:a})=>Be(t,{type:L.Custom,timestamp:r,data:{tag:"performanceSpan",payload:{op:n,description:s,startTimestamp:r,endTimestamp:i,data:a}}}))}function Ul(t){const{from:e,to:n}=t,r=Date.now()/1e3;return{type:"navigation.push",start:r,end:r,name:n,data:{previous:e}}}function Bl(t){return e=>{if(!t.isEnabled())return;const n=Ul(e);n!==null&&(t.getContext().urls.push(n.name),t.triggerUserActivity(),t.addUpdate(()=>(Tn(t,[n]),!1)))}}function Ll(t,e){return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&t.getOptions()._experiments.traceInternals?!1:Ml(e)}function Ml(t){const e=g().getClient(),n=e&&e.getDsn();return n?t.includes(n.host):!1}function vn(t,e){t.isEnabled()&&e!==null&&(Ll(t,e.name)||t.addUpdate(()=>(Tn(t,[e]),!0)))}function Gl(t){const{startTimestamp:e,endTimestamp:n,fetchData:r,response:i}=t;if(!n)return null;const{method:s,url:a}=r;return{type:"resource.fetch",start:e/1e3,end:n/1e3,name:a,data:{method:s,statusCode:i&&i.status}}}function Pl(t){return e=>{if(!t.isEnabled())return;const n=Gl(e);vn(t,n)}}function Yl(t){const{startTimestamp:e,endTimestamp:n,xhr:r}=t,i=r[Rt];if(!e||!n||!i)return null;const{method:s,url:a,status_code:o}=i;return a===void 0?null:{type:"resource.xhr",name:a,start:e/1e3,end:n/1e3,data:{method:s,statusCode:o}}}function Fl(t){return e=>{if(!t.isEnabled())return;const n=Yl(e);vn(t,n)}}const kt=10,Dr=11,sr=12,wt=13,ar=14,re=15,Et=20,st=21,or=22,ie=23,_a=["true","false","null"];function zl(t,e){if(!e.length)return t;let n=t;const r=e.length-1,i=e[r];n=$l(n,i);for(let s=r;s>=0;s--)switch(e[s]){case kt:n=`${n}}`;break;case Et:n=`${n}]`;break}return n}function $l(t,e){switch(e){case kt:return`${t}"~~":"~~"`;case Dr:return`${t}:"~~"`;case sr:return`${t}~~":"~~"`;case wt:return Wl(t);case ar:return`${t}~~"`;case re:return`${t},"~~":"~~"`;case Et:return`${t}"~~"`;case st:return Hl(t);case or:return`${t}~~"`;case ie:return`${t},"~~"`}return t}function Hl(t){const e=jl(t);if(e>-1){const n=t.slice(e+1);return _a.includes(n.trim())?`${t},"~~"`:`${t.slice(0,e+1)}"~~"`}return t}function jl(t){for(let e=t.length-1;e>=0;e--){const n=t[e];if(n===","||n==="[")return e}return-1}function Wl(t){const e=t.lastIndexOf(":"),n=t.slice(e+1);return _a.includes(n.trim())?`${t},"~~":"~~"`:`${t.slice(0,e+1)}"~~"`}function ql(t){const e=[];for(let n=0;n<t.length;n++)Zl(e,t,n);return e}function Zl(t,e,n){const r=t[t.length-1],i=e[n];if(!/\s/.test(i)){if(i==='"'&&!ha(e,n)){Vl(t,r);return}switch(i){case"{":Xl(t,r);break;case"[":Kl(t,r);break;case":":Jl(t,r);break;case",":Ql(t,r);break;case"}":tf(t,r);break;case"]":ef(t,r);break}}}function Vl(t,e){if(e===ar){t.pop(),t.push(re);return}if(e===or){t.pop(),t.push(ie);return}if(e===wt){t.push(ar);return}if(e===st){t.push(or);return}if(e===kt){t.push(sr);return}if(e===sr){t.pop(),t.push(Dr);return}}function Xl(t,e){if(!e){t.push(kt);return}if(e===wt){t.push(kt);return}if(e===st&&t.push(kt),e===Et){t.push(kt);return}}function Kl(t,e){if(!e){t.push(Et),t.push(st);return}if(e===wt){t.push(Et),t.push(st);return}if(e===st&&(t.push(Et),t.push(st)),e===Et){t.push(Et),t.push(st);return}}function Jl(t,e){e===Dr&&(t.pop(),t.push(wt))}function Ql(t,e){if(e===wt){t.pop();return}if(e===re){t.pop(),t.pop();return}if(e!==st&&e===ie){t.pop();return}}function tf(t,e){e===kt&&t.pop(),e===wt&&(t.pop(),t.pop()),e===re&&(t.pop(),t.pop(),t.pop()),t[t.length-1]===wt&&t.push(re),t[t.length-1]===st&&t.push(ie)}function ef(t,e){e===Et&&t.pop(),e===st&&(t.pop(),t.pop()),e===ie&&(t.pop(),t.pop(),t.pop()),t[t.length-1]===wt&&t.push(re),t[t.length-1]===st&&t.push(ie)}function ha(t,e){return t[e-1]==="\\"&&!ha(t,e-1)}function pa(t){const e=ql(t);return zl(t,e)}function pn(t,e){if(t)try{if(typeof t=="string")return e.encode(t).length;if(t instanceof URLSearchParams)return e.encode(t.toString()).length;if(t instanceof FormData){const n=Ea(t);return e.encode(n).length}if(t instanceof Blob)return t.size;if(t instanceof ArrayBuffer)return t.byteLength}catch(n){}}function ma(t){if(!t)return;const e=parseInt(t,10);return isNaN(e)?void 0:e}function ga(t){if(typeof t=="string")return t;if(t instanceof URLSearchParams)return t.toString();if(t instanceof FormData)return Ea(t)}function ya(t,e){if(!e)return null;const{startTimestamp:n,endTimestamp:r,url:i,method:s,statusCode:a,request:o,response:c}=e;return{type:t,start:n/1e3,end:r/1e3,name:i,data:ut({method:s,statusCode:a,request:o,response:c})}}function De(t){return{headers:{},size:t,_meta:{warnings:["URL_SKIPPED"]}}}function Nt(t,e,n){if(!e&&Object.keys(t).length===0)return;if(!e)return{headers:t};if(!n)return{headers:t,size:e};const r={headers:t,size:e},{body:i,warnings:s}=nf(n);return r.body=i,s.length>0&&(r._meta={warnings:s}),r}function cr(t,e){return Object.keys(t).reduce((n,r)=>{const i=r.toLowerCase();return e.includes(i)&&t[r]&&(n[i]=t[r]),n},{})}function Ea(t){return new URLSearchParams(t).toString()}function nf(t){if(!t||typeof t!="string")return{body:t,warnings:[]};const e=t.length>je;if(rf(t))try{const n=e?pa(t.slice(0,je)):t;return{body:JSON.parse(n),warnings:e?["JSON_TRUNCATED"]:[]}}catch(n){return{body:e?`${t.slice(0,je)}…`:t,warnings:e?["INVALID_JSON","TEXT_TRUNCATED"]:["INVALID_JSON"]}}return{body:e?`${t.slice(0,je)}…`:t,warnings:e?["TEXT_TRUNCATED"]:[]}}function rf(t){const e=t[0],n=t[t.length-1];return e==="["&&n==="]"||e==="{"&&n==="}"}function Sa(t,e){return ue(t,e)}async function sf(t,e,n){try{const r=await of(t,e,n),i=ya("resource.fetch",r);vn(n.replay,i)}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay] Failed to capture fetch breadcrumb",r)}}function af(t,e,n){const{input:r,response:i}=e,s=ba(r),a=pn(s,n.textEncoder),o=i?ma(i.headers.get("content-length")):void 0;a!==void 0&&(t.data.request_body_size=a),o!==void 0&&(t.data.response_body_size=o)}async function of(t,e,n){const{startTimestamp:r,endTimestamp:i}=e,{url:s,method:a,status_code:o=0,request_body_size:c,response_body_size:u}=t.data,d=Sa(s,n.networkDetailAllowUrls),l=d?cf(n,e.input,c):De(c),h=await uf(d,n,e.response,u);return{startTimestamp:r,endTimestamp:i,url:s,method:a,statusCode:o,request:l,response:h}}function cf({networkCaptureBodies:t,networkRequestHeaders:e},n,r){const i=lf(n,e);if(!t)return Nt(i,r,void 0);const s=ba(n),a=ga(s);return Nt(i,r,a)}async function uf(t,{networkCaptureBodies:e,textEncoder:n,networkResponseHeaders:r},i,s){if(!t&&s!==void 0)return De(s);const a=wa(i.headers,r);if(!e&&s!==void 0)return Nt(a,s,void 0);try{const o=i.clone(),c=await df(o),u=c&&c.length&&s===void 0?pn(c,n):s;return t?e?Nt(a,u,c):Nt(a,u,void 0):De(u)}catch(o){return Nt(a,s,void 0)}}async function df(t){try{return await t.text()}catch(e){return}}function ba(t=[]){if(!(t.length!==2||typeof t[1]!="object"))return t[1].body}function wa(t,e){const n={};return e.forEach(r=>{t.get(r)&&(n[r]=t.get(r))}),n}function lf(t,e){return t.length===1&&typeof t[0]!="string"?wi(t[0],e):t.length===2?wi(t[1],e):{}}function wi(t,e){if(!t)return{};const n=t.headers;return n?n instanceof Headers?wa(n,e):Array.isArray(n)?{}:cr(n,e):{}}async function ff(t,e,n){try{const r=hf(t,e,n),i=ya("resource.xhr",r);vn(n.replay,i)}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay] Failed to capture fetch breadcrumb",r)}}function _f(t,e,n){const{xhr:r,input:i}=e,s=pn(i,n.textEncoder),a=r.getResponseHeader("content-length")?ma(r.getResponseHeader("content-length")):pn(r.response,n.textEncoder);s!==void 0&&(t.data.request_body_size=s),a!==void 0&&(t.data.response_body_size=a)}function hf(t,e,n){const{startTimestamp:r,endTimestamp:i,input:s,xhr:a}=e,{url:o,method:c,status_code:u=0,request_body_size:d,response_body_size:l}=t.data;if(!o)return null;if(!Sa(o,n.networkDetailAllowUrls)){const S=De(d),O=De(l);return{startTimestamp:r,endTimestamp:i,url:o,method:c,statusCode:u,request:S,response:O}}const h=a[Rt],_=h?cr(h.request_headers,n.networkRequestHeaders):{},p=cr(pf(a),n.networkResponseHeaders),w=Nt(_,d,n.networkCaptureBodies?ga(s):void 0),D=Nt(p,l,n.networkCaptureBodies?e.xhr.responseText:void 0);return{startTimestamp:r,endTimestamp:i,url:o,method:c,statusCode:u,request:w,response:D}}function pf(t){const e=t.getAllResponseHeaders();return e?e.split(`\r `).reduce((n,r)=>{const[i,s]=r.split(": ");return n[i.toLowerCase()]=s,n},{}):{}}function mf(t){const e=g().getClient();try{const n=new TextEncoder,{networkDetailAllowUrls:r,networkCaptureBodies:i,networkRequestHeaders:s,networkResponseHeaders:a}=t.getOptions(),o={replay:t,textEncoder:n,networkDetailAllowUrls:r,networkCaptureBodies:i,networkRequestHeaders:s,networkResponseHeaders:a};e&&e.on?e.on("beforeAddBreadcrumb",(c,u)=>gf(o,c,u)):(V("fetch",Pl(t)),V("xhr",Fl(t)))}catch(n){}}function gf(t,e,n){if(e.data)try{yf(e)&&Sf(n)&&(_f(e,n,t),ff(e,n,t)),Ef(e)&&bf(n)&&(af(e,n,t),sf(e,n,t))}catch(r){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Error when enriching network breadcrumb")}}function yf(t){return t.category==="xhr"}function Ef(t){return t.category==="fetch"}function Sf(t){return t&&t.xhr}function bf(t){return t&&t.response}let Ti=null;const wf=t=>e=>{if(!t.isEnabled())return;const n=Tf(e);n&&la(t,n)};function Tf(t){const e=t.getLastBreadcrumb&&t.getLastBreadcrumb();return Ti===e||!e||(Ti=e,e.category&&(["fetch","xhr","sentry.event","sentry.transaction"].includes(e.category)||e.category.startsWith("ui.")))?null:e.category==="console"?vf(e):Gt(e)}function vf(t){const e=t.data&&t.data.arguments;if(!Array.isArray(e)||e.length===0)return Gt(t);let n=!1;const r=e.map(i=>{if(!i)return i;if(typeof i=="string")return i.length>We?(n=!0,`${i.slice(0,We)}…`):i;if(typeof i=="object")try{const s=pt(i,7),a=JSON.stringify(s);if(a.length>We){const o=pa(a.slice(0,We)),c=JSON.parse(o);return n=!0,c}return s}catch(s){}return i});return Gt({...t,data:{...t.data,arguments:r,...n?{_meta:{warnings:["CONSOLE_ARG_TRUNCATED"]}}:{}}})}function Rf(t){const e=g().getScope(),n=g().getClient();e&&e.addScopeListener(wf(t)),V("dom",vl(t)),V("history",Bl(t)),mf(t),Ae(Ol(t,!vi(n))),vi(n)&&(n.on("afterSendEvent",da(t)),n.on("createDsc",r=>{const i=t.getSessionId();i&&t.isEnabled()&&t.recordingMode==="session"&&(r.replay_id=i)}))}function vi(t){return!!(t&&t.on)}async function kf(t){try{return Promise.all(Tn(t,[Nf(G.performance.memory)]))}catch(e){return[]}}function Nf(t){const{jsHeapSizeLimit:e,totalJSHeapSize:n,usedJSHeapSize:r}=t,i=Date.now()/1e3;return{type:"memory",name:"memory",start:i,end:i,data:{memory:{jsHeapSizeLimit:e,totalJSHeapSize:n,usedJSHeapSize:r}}}}const Ri={resource:Af,paint:If,navigation:Of,["largest-contentful-paint"]:Cf};function Df(t){return t.map(xf).filter(Boolean)}function xf(t){return Ri[t.entryType]===void 0?null:Ri[t.entryType](t)}function se(t){return((bt||G.performance.timeOrigin)+t)/1e3}function If(t){const{duration:e,entryType:n,name:r,startTime:i}=t,s=se(i);return{type:n,name:r,start:s,end:s+e,data:void 0}}function Of(t){const{entryType:e,name:n,decodedBodySize:r,duration:i,domComplete:s,encodedBodySize:a,domContentLoadedEventStart:o,domContentLoadedEventEnd:c,domInteractive:u,loadEventStart:d,loadEventEnd:l,redirectCount:h,startTime:_,transferSize:p,type:w}=t;return i===0?null:{type:`${e}.${w}`,start:se(_),end:se(s),name:n,data:{size:p,decodedBodySize:r,encodedBodySize:a,duration:i,domInteractive:u,domContentLoadedEventStart:o,domContentLoadedEventEnd:c,loadEventStart:d,loadEventEnd:l,domComplete:s,redirectCount:h}}}function Af(t){const{entryType:e,initiatorType:n,name:r,responseEnd:i,startTime:s,decodedBodySize:a,encodedBodySize:o,responseStatus:c,transferSize:u}=t;return["fetch","xmlhttprequest"].includes(n)?null:{type:`${e}.${n}`,start:se(s),end:se(i),name:r,data:{size:u,statusCode:c,decodedBodySize:a,encodedBodySize:o}}}function Cf(t){const{entryType:e,startTime:n,size:r}=t;let i=0;if(G.performance){const o=G.performance.getEntriesByType("navigation")[0];i=o&&o.activationStart||0}const s=Math.max(n-i,0),a=se(i)+s/1e3;return{type:e,name:e,start:a,end:a,data:{value:s,size:r,nodeId:jt.mirror.getId(t.element)}}}function Uf(t,e,n){let r,i,s;const a=n&&n.maxWait?Math.max(n.maxWait,e):0;function o(){return c(),r=t(),r}function c(){i!==void 0&&clearTimeout(i),s!==void 0&&clearTimeout(s),i=s=void 0}function u(){return i!==void 0||s!==void 0?o():r}function d(){return i&&clearTimeout(i),i=setTimeout(o,e),a&&s===void 0&&(s=setTimeout(o,a)),r}return d.cancel=c,d.flush=u,d}var ur;(function(t){t[t.DomContentLoaded=0]="DomContentLoaded";const n=1;t[t.Load=n]="Load";const r=2;t[t.FullSnapshot=r]="FullSnapshot";const i=3;t[t.IncrementalSnapshot=i]="IncrementalSnapshot";const s=4;t[t.Meta=s]="Meta";const a=5;t[t.Custom=a]="Custom";const o=6;t[t.Plugin=o]="Plugin"})(ur||(ur={}));function Bf(t){let e=!1;return(n,r)=>{if(!t.checkAndHandleExpiredSession()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("[Replay] Received replay event after session expired.");return}const i=r||!e;e=!0,t.addUpdate(()=>{if(t.recordingMode==="buffer"&&i&&t.setInitialState(),Be(t,n,i),!i)return!1;if(Mf(t,i),t.session&&t.session.previousSessionId)return!0;if(t.recordingMode==="buffer"&&t.session&&t.eventBuffer){const s=t.eventBuffer.getEarliestTimestamp();s&&(t.session.started=s,t.getOptions().stickySession&&kr(t.session))}return t.recordingMode==="session"&&t.flushImmediate(),!0})}}function Lf(t){const e=t.getOptions();return{type:ur.Custom,timestamp:Date.now(),data:{tag:"options",payload:{sessionSampleRate:e.sessionSampleRate,errorSampleRate:e.errorSampleRate,useCompressionOption:e.useCompression,blockAllMedia:e.blockAllMedia,maskAllText:e.maskAllText,maskAllInputs:e.maskAllInputs,useCompression:t.eventBuffer?t.eventBuffer.type==="worker":!1,networkDetailHasUrls:e.networkDetailAllowUrls.length>0,networkCaptureBodies:e.networkCaptureBodies,networkRequestHasHeaders:e.networkRequestHeaders.length>0,networkResponseHasHeaders:e.networkResponseHeaders.length>0}}}}function Mf(t,e){return!e||!t.session||t.session.segmentId!==0?Promise.resolve(null):Be(t,Lf(t),!1)}function Gf(t,e,n,r){return Wt(is(t,gr(t),r,n),[[{type:"replay_event"},t],[{type:"replay_recording",length:typeof e=="string"?new TextEncoder().encode(e).length:e.length},e]])}function Pf({recordingData:t,headers:e}){let n;const r=`${JSON.stringify(e)} `;if(typeof t=="string")n=`${r}${t}`;else{const s=new TextEncoder().encode(r);n=new Uint8Array(s.length+t.length),n.set(s),n.set(t,s.length)}return n}async function Yf({client:t,scope:e,replayId:n,event:r}){const i=typeof t._integrations=="object"&&t._integrations!==null&&!Array.isArray(t._integrations)?Object.keys(t._integrations):void 0,s=await Ss(t.getOptions(),r,{event_id:n,integrations:i},e);if(!s)return null;s.platform=s.platform||"javascript";const a=t.getSdkMetadata&&t.getSdkMetadata(),{name:o,version:c}=a&&a.sdk||{};return s.sdk={...s.sdk,name:o||"sentry.javascript.unknown",version:c||"0.0.0"},s}async function Ff({recordingData:t,replayId:e,segmentId:n,eventContext:r,timestamp:i,session:s}){const a=Pf({recordingData:t,headers:{segment_id:n}}),{urls:o,errorIds:c,traceIds:u,initialTimestamp:d}=r,l=g(),h=l.getClient(),_=l.getScope(),p=h&&h.getTransport(),w=h&&h.getDsn();if(!h||!_||!p||!w||!s.sampled)return;const D={type:td,replay_start_timestamp:d/1e3,timestamp:i/1e3,error_ids:c,trace_ids:u,urls:o,replay_id:e,segment_id:n,replay_type:s.sampled},S=await Yf({scope:_,client:h,replayId:e,event:D});if(!S){h.recordDroppedEvent("event_processor","replay",D),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("An event processor returned `null`, will not send event.");return}const O=Gf(S,a,w,h.getOptions().tunnel);let x;try{x=await p.send(O)}catch(v){const b=new Error(vr);try{b.cause=v}catch(N){}throw b}if(!x)return x;if(typeof x.statusCode=="number"&&(x.statusCode<200||x.statusCode>=300))throw new Ta(x.statusCode);return x}class Ta extends Error{constructor(e){super(`Transport returned status code ${e}`)}}async function va(t,e={count:0,interval:od}){const{recordingData:n,options:r}=t;if(n.length)try{return await Ff(t),!0}catch(i){if(i instanceof Ta)throw i;if(ps("Replays",{_retryCount:e.count}),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&r._experiments&&r._experiments.captureExceptions&&bn(i),e.count>=cd){const s=new Error(`${vr} - max retries exceeded`);try{s.cause=i}catch(a){}throw s}return e.interval*=++e.count,await new Promise((s,a)=>{setTimeout(async()=>{try{await va(t,e),s(!0)}catch(o){a(o)}},e.interval)})}}class F{__init(){this.eventBuffer=null}__init2(){this.performanceEvents=[]}__init3(){this.recordingMode="session"}__init4(){this.timeouts={sessionIdlePause:ed,sessionIdleExpire:nd,maxSessionLife:rd}}__init5(){this._performanceObserver=null}__init6(){this._flushLock=null}__init7(){this._lastActivity=Date.now()}__init8(){this._isEnabled=!1}__init9(){this._isPaused=!1}__init10(){this._hasInitializedCoreListeners=!1}__init11(){this._stopRecording=null}__init12(){this._context={errorIds:new Set,traceIds:new Set,urls:[],initialTimestamp:Date.now(),initialUrl:""}}constructor({options:e,recordingOptions:n}){F.prototype.__init.call(this),F.prototype.__init2.call(this),F.prototype.__init3.call(this),F.prototype.__init4.call(this),F.prototype.__init5.call(this),F.prototype.__init6.call(this),F.prototype.__init7.call(this),F.prototype.__init8.call(this),F.prototype.__init9.call(this),F.prototype.__init10.call(this),F.prototype.__init11.call(this),F.prototype.__init12.call(this),F.prototype.__init13.call(this),F.prototype.__init14.call(this),F.prototype.__init15.call(this),F.prototype.__init16.call(this),F.prototype.__init17.call(this),F.prototype.__init18.call(this),this._recordingOptions=n,this._options=e,this._debouncedFlush=Uf(()=>this._flush(),this._options.flushMinDelay,{maxWait:this._options.flushMaxDelay})}getContext(){return this._context}isEnabled(){return this._isEnabled}isPaused(){return this._isPaused}getOptions(){return this._options}initializeSampling(){const{errorSampleRate:e,sessionSampleRate:n}=this._options;if(!(e<=0&&n<=0||!this._loadAndCheckSession())){if(!this.session){this._handleException(new Error("Unable to initialize and create session"));return}this.session.sampled&&this.session.sampled!=="session"&&(this.recordingMode="buffer"),this._initializeRecording()}}start(){if(this._isEnabled&&this.recordingMode==="session")throw new Error("Replay recording is already in progress");if(this._isEnabled&&this.recordingMode==="buffer")throw new Error("Replay buffering is in progress, call `flush()` to save the replay");const e=this.session&&this.session.id,{session:n}=Bn({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:1,allowBuffering:!1});n.previousSessionId=e,this.session=n,this._initializeRecording()}startBuffering(){if(this._isEnabled)throw new Error("Replay recording is already in progress");const e=this.session&&this.session.id,{session:n}=Bn({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:0,allowBuffering:!0});n.previousSessionId=e,this.session=n,this.recordingMode="buffer",this._initializeRecording()}startRecording(){try{this._stopRecording=jt({...this._recordingOptions,...this.recordingMode==="buffer"&&{checkoutEveryNms:ad},emit:Bf(this),onMutation:this._onMutationHandler})}catch(e){this._handleException(e)}}stopRecording(){try{return this._stopRecording&&(this._stopRecording(),this._stopRecording=void 0),!0}catch(e){return this._handleException(e),!1}}async stop(e){if(this._isEnabled)try{if(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__){const n=`[Replay] Stopping Replay${e?` triggered by ${e}`:""}`;(this.getOptions()._experiments.traceInternals?console.warn:f.log)(n)}this._isEnabled=!1,this._removeListeners(),this.stopRecording(),this._debouncedFlush.cancel(),await this._flush({force:!0}),this.eventBuffer&&this.eventBuffer.destroy(),this.eventBuffer=null,pl(this)}catch(n){this._handleException(n)}}pause(){this._isPaused=!0,this.stopRecording()}resume(){this._loadAndCheckSession()&&(this._isPaused=!1,this.startRecording())}async sendBufferedReplayOrFlush({continueRecording:e=!0}={}){if(this.recordingMode==="session")return this.flushImmediate();await this.flushImmediate();const n=this.stopRecording();!e||!n||(this.recordingMode="session",this.session&&(this.session.shouldRefresh=!1,this._maybeSaveSession()),this.startRecording())}addUpdate(e){const n=e();this.recordingMode!=="buffer"&&n!==!0&&this._debouncedFlush()}triggerUserActivity(){if(this._updateUserActivity(),!this._stopRecording){if(!this._loadAndCheckSession())return;this.resume();return}this.checkAndHandleExpiredSession(),this._updateSessionActivity()}flushImmediate(){return this._debouncedFlush(),this._debouncedFlush.flush()}getSessionId(){return this.session&&this.session.id}checkAndHandleExpiredSession(){const e=this.getSessionId();if(this._lastActivity&&rr(this._lastActivity,this.timeouts.sessionIdlePause)&&this.session&&this.session.sampled==="session"){this.pause();return}return this._loadAndCheckSession()?e!==this.getSessionId()?(this._triggerFullSnapshot(),!1):!0:void 0}setInitialState(){const e=`${G.location.pathname}${G.location.hash}${G.location.search}`,n=`${G.location.origin}${e}`;this.performanceEvents=[],this._clearContext(),this._context.initialUrl=n,this._context.initialTimestamp=Date.now(),this._context.urls.push(n)}_initializeRecording(){this.setInitialState(),this._updateSessionActivity(),this.eventBuffer=hl({useCompression:this._options.useCompression}),this._removeListeners(),this._addListeners(),this._isEnabled=!0,this.startRecording()}_handleException(e){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay]",e),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&this._options._experiments&&this._options._experiments.captureExceptions&&bn(e)}_loadAndCheckSession(){const{type:e,session:n}=Bn({timeouts:this.timeouts,stickySession:!!this._options.stickySession,currentSession:this.session,sessionSampleRate:this._options.sessionSampleRate,allowBuffering:this._options.errorSampleRate>0});e==="new"&&this.setInitialState();const r=this.getSessionId();return n.id!==r&&(n.previousSessionId=r),this.session=n,this.session.sampled?!0:(this.stop("session unsampled"),!1)}_addListeners(){try{G.document.addEventListener("visibilitychange",this._handleVisibilityChange),G.addEventListener("blur",this._handleWindowBlur),G.addEventListener("focus",this._handleWindowFocus),G.addEventListener("keydown",this._handleKeyboardEvent),this._hasInitializedCoreListeners||(Rf(this),this._hasInitializedCoreListeners=!0)}catch(e){this._handleException(e)}"PerformanceObserver"in G&&(this._performanceObserver=cl(this))}_removeListeners(){try{G.document.removeEventListener("visibilitychange",this._handleVisibilityChange),G.removeEventListener("blur",this._handleWindowBlur),G.removeEventListener("focus",this._handleWindowFocus),G.removeEventListener("keydown",this._handleKeyboardEvent),this._performanceObserver&&(this._performanceObserver.disconnect(),this._performanceObserver=null)}catch(e){this._handleException(e)}}__init13(){this._handleVisibilityChange=()=>{G.document.visibilityState==="visible"?this._doChangeToForegroundTasks():this._doChangeToBackgroundTasks()}}__init14(){this._handleWindowBlur=()=>{const e=Gt({category:"ui.blur"});this._doChangeToBackgroundTasks(e)}}__init15(){this._handleWindowFocus=()=>{const e=Gt({category:"ui.focus"});this._doChangeToForegroundTasks(e)}}__init16(){this._handleKeyboardEvent=()=>{this.triggerUserActivity()}}_doChangeToBackgroundTasks(e){if(!this.session)return;const n=ca(this.session,this.timeouts);e&&!n&&this._createCustomBreadcrumb(e),this._conditionalFlush()}_doChangeToForegroundTasks(e){if(!this.session)return;if(!this.checkAndHandleExpiredSession()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Document has become active, but session has expired");return}e&&this._createCustomBreadcrumb(e)}_triggerFullSnapshot(e=!0){try{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Replay] Taking full rrweb snapshot"),jt.takeFullSnapshot(e)}catch(n){this._handleException(n)}}_updateUserActivity(e=Date.now()){this._lastActivity=e}_updateSessionActivity(e=Date.now()){this.session&&(this.session.lastActivity=e,this._maybeSaveSession())}_createCustomBreadcrumb(e){this.addUpdate(()=>{Be(this,{type:L.Custom,timestamp:e.timestamp||0,data:{tag:"breadcrumb",payload:e}})})}_addPerformanceEntries(){const e=[...this.performanceEvents];return this.performanceEvents=[],Promise.all(Tn(this,Df(e)))}_conditionalFlush(){this.recordingMode!=="buffer"&&this.flushImmediate()}_clearContext(){this._context.errorIds.clear(),this._context.traceIds.clear(),this._context.urls=[]}_updateInitialTimestampFromEventBuffer(){const{session:e,eventBuffer:n}=this;if(!e||!n||e.segmentId)return;const r=n.getEarliestTimestamp();r&&r<this._context.initialTimestamp&&(this._context.initialTimestamp=r)}_popEventContext(){const e={initialTimestamp:this._context.initialTimestamp,initialUrl:this._context.initialUrl,errorIds:Array.from(this._context.errorIds),traceIds:Array.from(this._context.traceIds),urls:this._context.urls};return this._clearContext(),e}async _runFlush(){if(!this.session||!this.eventBuffer){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay] No session or eventBuffer found to flush.");return}if(await this._addPerformanceEntries(),!(!this.eventBuffer||!this.eventBuffer.hasEvents)&&(await kf(this),!!this.eventBuffer))try{this._updateInitialTimestampFromEventBuffer();const e=await this.eventBuffer.finish(),n=this.session.id,r=this._popEventContext(),i=this.session.segmentId++;this._maybeSaveSession(),await va({replayId:n,recordingData:e,segmentId:i,eventContext:r,session:this.session,options:this.getOptions(),timestamp:Date.now()})}catch(e){this._handleException(e),this.stop("sendReplay");const n=g().getClient();n&&n.recordDroppedEvent("send_error","replay")}}__init17(){this._flush=async({force:e=!1}={})=>{if(!(!this._isEnabled&&!e)){if(!this.checkAndHandleExpiredSession()){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay] Attempting to finish replay event after session expired.");return}if(!this.session){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error("[Replay] No session found to flush.");return}if(this._debouncedFlush.cancel(),!this._flushLock){this._flushLock=this._runFlush(),await this._flushLock,this._flushLock=null;return}try{await this._flushLock}catch(n){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.error(n)}finally{this._debouncedFlush()}}}}_maybeSaveSession(){this.session&&this._options.stickySession&&kr(this.session)}__init18(){this._onMutationHandler=e=>{const n=e.length,r=this._options._experiments.mutationLimit||0,i=this._options._experiments.mutationBreadcrumbLimit||1e3,s=r&&n>r;if(n>i||s){const a=Gt({category:"replay.mutations",data:{count:n}});this._createCustomBreadcrumb(a)}return s?(this._triggerFullSnapshot(!1),!1):!0}}}function pe(t,e,n,r){const i=typeof r=="string"?r.split(","):[],s=[...t,...i,...e];return typeof n<"u"&&(typeof n=="string"&&s.push(`.${n}`),console.warn("[Replay] You are using a deprecated configuration item for privacy. Read the documentation on how to use the new privacy configuration.")),s.join(",")}function zf({mask:t,unmask:e,block:n,unblock:r,ignore:i,blockClass:s,blockSelector:a,maskTextClass:o,maskTextSelector:c,ignoreClass:u}){const d=['base[href="/"]'],l=pe(t,[".sentry-mask","[data-sentry-mask]"],o,c),h=pe(e,[".sentry-unmask","[data-sentry-unmask]"]),_={maskTextSelector:l,unmaskTextSelector:h,maskInputSelector:l,unmaskInputSelector:h,blockSelector:pe(n,[".sentry-block","[data-sentry-block]",...d],s,a),unblockSelector:pe(r,[".sentry-unblock","[data-sentry-unblock]"]),ignoreSelector:pe(i,[".sentry-ignore","[data-sentry-ignore]",'input[type="file"]'],u)};return s instanceof RegExp&&(_.blockClass=s),o instanceof RegExp&&(_.maskTextClass=o),_}function ki(){return typeof window<"u"&&(!Qi()||$f())}function $f(){return typeof process<"u"&&process.type==="renderer"}const Ni='img,image,svg,video,object,picture,embed,map,audio,link[rel="icon"],link[rel="apple-touch-icon"]',Hf=["content-length","content-type","accept"];let Di=!1;class xe{static __initStatic(){this.id="Replay"}__init(){this.name=xe.id}constructor({flushMinDelay:e=id,flushMaxDelay:n=sd,stickySession:r=!0,useCompression:i=!0,_experiments:s={},sessionSampleRate:a,errorSampleRate:o,maskAllText:c=!0,maskAllInputs:u=!0,blockAllMedia:d=!0,networkDetailAllowUrls:l=[],networkCaptureBodies:h=!0,networkRequestHeaders:_=[],networkResponseHeaders:p=[],mask:w=[],unmask:D=[],block:S=[],unblock:O=[],ignore:x=[],maskFn:v,blockClass:b,blockSelector:N,maskInputOptions:T,maskTextClass:E,maskTextSelector:U,ignoreClass:I}={}){if(xe.prototype.__init.call(this),this._recordingOptions={maskAllInputs:u,maskAllText:c,maskInputOptions:{...T||{},password:!0},maskTextFn:v,maskInputFn:v,...zf({mask:w,unmask:D,block:S,unblock:O,ignore:x,blockClass:b,blockSelector:N,maskTextClass:E,maskTextSelector:U,ignoreClass:I}),slimDOMOptions:"all",inlineStylesheet:!0,inlineImages:!1,collectFonts:!0},this._initialOptions={flushMinDelay:e,flushMaxDelay:n,stickySession:r,sessionSampleRate:a,errorSampleRate:o,useCompression:i,blockAllMedia:d,maskAllInputs:u,maskAllText:c,networkDetailAllowUrls:l,networkCaptureBodies:h,networkRequestHeaders:xi(_),networkResponseHeaders:xi(p),_experiments:s},typeof a=="number"&&(console.warn(`[Replay] You are passing \`sessionSampleRate\` to the Replay integration. This option is deprecated and will be removed soon. Instead, configure \`replaysSessionSampleRate\` directly in the SDK init options, e.g.: Sentry.init({ replaysSessionSampleRate: ${a} })`),this._initialOptions.sessionSampleRate=a),typeof o=="number"&&(console.warn(`[Replay] You are passing \`errorSampleRate\` to the Replay integration. This option is deprecated and will be removed soon. Instead, configure \`replaysOnErrorSampleRate\` directly in the SDK init options, e.g.: Sentry.init({ replaysOnErrorSampleRate: ${o} })`),this._initialOptions.errorSampleRate=o),this._initialOptions.blockAllMedia&&(this._recordingOptions.blockSelector=this._recordingOptions.blockSelector?`${this._recordingOptions.blockSelector},${Ni}`:Ni),this._isInitialized&&ki())throw new Error("Multiple Sentry Session Replay instances are not supported");this._isInitialized=!0}get _isInitialized(){return Di}set _isInitialized(e){Di=e}setupOnce(){ki()&&(this._setup(),setTimeout(()=>this._initialize()))}start(){this._replay&&this._replay.start()}startBuffering(){this._replay&&this._replay.startBuffering()}stop(){return this._replay?this._replay.stop():Promise.resolve()}flush(e){return!this._replay||!this._replay.isEnabled()?Promise.resolve():this._replay.sendBufferedReplayOrFlush(e)}getReplayId(){if(!(!this._replay||!this._replay.isEnabled()))return this._replay.getSessionId()}_initialize(){this._replay&&this._replay.initializeSampling()}_setup(){const e=jf(this._initialOptions);this._replay=new F({options:e,recordingOptions:this._recordingOptions})}}xe.__initStatic();function jf(t){const e=g().getClient(),n=e&&e.getOptions(),r={sessionSampleRate:0,errorSampleRate:0,...ut(t)};return n?(t.sessionSampleRate==null&&t.errorSampleRate==null&&n.replaysSessionSampleRate==null&&n.replaysOnErrorSampleRate==null&&console.warn("Replay is disabled because neither `replaysSessionSampleRate` nor `replaysOnErrorSampleRate` are set."),typeof n.replaysSessionSampleRate=="number"&&(r.sessionSampleRate=n.replaysSessionSampleRate),typeof n.replaysOnErrorSampleRate=="number"&&(r.errorSampleRate=n.replaysOnErrorSampleRate),r):(console.warn("SDK client is not available."),r)}function xi(t){return[...Hf,...t.map(e=>e.toLowerCase())]}const C=nt;function Wf(){C&&C.document?C.document.addEventListener("visibilitychange",()=>{const t=le();if(C.document.hidden&&t){const e="cancelled";(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Transaction: ${e} -> since tab moved to the background, op: ${t.op}`),t.status||t.setStatus(e),t.setTag("visibilitychange","document.hidden"),t.finish()}}):(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("[Tracing] Could not set up background tab detection due to lack of global document")}const xr=(t,e,n)=>{let r,i;return s=>{e.value>=0&&(s||n)&&(i=e.value-(r||0),(i||r===void 0)&&(r=e.value,e.delta=i,t(e)))}},qf=()=>`v3-${Date.now()}-${Math.floor(Math.random()*(9e12-1))+1e12}`,Zf=()=>{const t=C.performance.timing,e=C.performance.navigation.type,n={entryType:"navigation",startTime:0,type:e==2?"back_forward":e===1?"reload":"navigate"};for(const r in t)r!=="navigationStart"&&r!=="toJSON"&&(n[r]=Math.max(t[r]-t.navigationStart,0));return n},Ra=()=>C.__WEB_VITALS_POLYFILL__?C.performance&&(performance.getEntriesByType&&performance.getEntriesByType("navigation")[0]||Zf()):C.performance&&performance.getEntriesByType&&performance.getEntriesByType("navigation")[0],ka=()=>{const t=Ra();return t&&t.activationStart||0},Ir=(t,e)=>{const n=Ra();let r="navigate";return n&&(C.document.prerendering||ka()>0?r="prerender":r=n.type.replace(/_/g,"-")),{name:t,value:typeof e>"u"?-1:e,rating:"good",delta:0,entries:[],id:qf(),navigationType:r}},Le=(t,e,n)=>{try{if(PerformanceObserver.supportedEntryTypes.includes(t)){const r=new PerformanceObserver(i=>{e(i.getEntries())});return r.observe(Object.assign({type:t,buffered:!0},n||{})),r}}catch(r){}},Rn=(t,e)=>{const n=r=>{(r.type==="pagehide"||C.document.visibilityState==="hidden")&&(t(r),e&&(removeEventListener("visibilitychange",n,!0),removeEventListener("pagehide",n,!0)))};addEventListener("visibilitychange",n,!0),addEventListener("pagehide",n,!0)},Vf=t=>{const e=Ir("CLS",0);let n,r=0,i=[];const s=o=>{o.forEach(c=>{if(!c.hadRecentInput){const u=i[0],d=i[i.length-1];r&&i.length!==0&&c.startTime-d.startTime<1e3&&c.startTime-u.startTime<5e3?(r+=c.value,i.push(c)):(r=c.value,i=[c]),r>e.value&&(e.value=r,e.entries=i,n&&n())}})},a=Le("layout-shift",s);if(a){n=xr(t,e);const o=()=>{s(a.takeRecords()),n(!0)};return Rn(o),o}};let nn=-1;const Xf=()=>C.document.visibilityState==="hidden"&&!C.document.prerendering?0:1/0,Kf=()=>{Rn(({timeStamp:t})=>{nn=t},!0)},Or=()=>(nn<0&&(nn=Xf(),Kf()),{get firstHiddenTime(){return nn}}),Jf=t=>{const e=Or(),n=Ir("FID");let r;const i=o=>{o.startTime<e.firstHiddenTime&&(n.value=o.processingStart-o.startTime,n.entries.push(o),r(!0))},s=o=>{o.forEach(i)},a=Le("first-input",s);r=xr(t,n),a&&Rn(()=>{s(a.takeRecords()),a.disconnect()},!0)},Ii={},Qf=t=>{const e=Or(),n=Ir("LCP");let r;const i=a=>{const o=a[a.length-1];if(o){const c=Math.max(o.startTime-ka(),0);c<e.firstHiddenTime&&(n.value=c,n.entries=[o],r())}},s=Le("largest-contentful-paint",i);if(s){r=xr(t,n);const a=()=>{Ii[n.id]||(i(s.takeRecords()),s.disconnect(),Ii[n.id]=!0,r(!0))};return["keydown","click"].forEach(o=>{addEventListener(o,a,{once:!0,capture:!0})}),Rn(a,!0),a}};function Ln(t){return typeof t=="number"&&isFinite(t)}function ae(t,{startTimestamp:e,...n}){return e&&t.startTimestamp>e&&(t.startTimestamp=e),t.startChild({startTimestamp:e,...n})}function j(t){return t/1e3}function Na(){return C&&C.addEventListener&&C.performance}let Oi=0,Y={},ht,Te;function t_(){const t=Na();if(t&&bt){t.mark&&C.performance.mark("sentry-tracing-init"),s_();const e=r_(),n=i_();return()=>{e&&e(),n&&n()}}return()=>{}}function e_(){Le("longtask",e=>{for(const n of e){const r=le();if(!r)return;const i=j(bt+n.startTime),s=j(n.duration);r.startChild({description:"Main UI thread blocked",op:"ui.long-task",startTimestamp:i,endTimestamp:i+s})}})}function n_(){Le("event",e=>{for(const n of e){const r=le();if(!r)return;if(n.name==="click"){const i=j(bt+n.startTime),s=j(n.duration);r.startChild({description:Pt(n.target),op:`ui.interaction.${n.name}`,startTimestamp:i,endTimestamp:i+s})}}},{durationThreshold:0})}function r_(){return Vf(t=>{const e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding CLS"),Y.cls={value:t.value,unit:""},Te=e)})}function i_(){return Qf(t=>{const e=t.entries.pop();e&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding LCP"),Y.lcp={value:t.value,unit:"millisecond"},ht=e)})}function s_(){Jf(t=>{const e=t.entries.pop();if(!e)return;const n=j(bt),r=j(e.startTime);(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding FID"),Y.fid={value:t.value,unit:"millisecond"},Y["mark.fid"]={value:n+r,unit:"second"}})}function a_(t){const e=Na();if(!e||!C.performance.getEntries||!bt)return;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Tracing] Adding & adjusting spans using Performance API");const n=j(bt),r=e.getEntries();let i,s;if(r.slice(Oi).forEach(a=>{const o=j(a.startTime),c=j(a.duration);if(!(t.op==="navigation"&&n+o<t.startTimestamp))switch(a.entryType){case"navigation":{c_(t,a,n),i=n+j(a.responseStart),s=n+j(a.requestStart);break}case"mark":case"paint":case"measure":{o_(t,a,o,c,n);const u=Or(),d=a.startTime<u.firstHiddenTime;a.name==="first-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding FP"),Y.fp={value:a.startTime,unit:"millisecond"}),a.name==="first-contentful-paint"&&d&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding FCP"),Y.fcp={value:a.startTime,unit:"millisecond"});break}case"resource":{const u=a.name.replace(C.location.origin,"");d_(t,a,u,o,c,n);break}}}),Oi=Math.max(r.length-1,0),l_(t),t.op==="pageload"){typeof i=="number"&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding TTFB"),Y.ttfb={value:(i-t.startTimestamp)*1e3,unit:"millisecond"},typeof s=="number"&&s<=i&&(Y["ttfb.requestTime"]={value:(i-s)*1e3,unit:"millisecond"})),["fcp","fp","lcp"].forEach(o=>{if(!Y[o]||n>=t.startTimestamp)return;const c=Y[o].value,u=n+j(c),d=Math.abs((u-t.startTimestamp)*1e3),l=d-c;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Measurements] Normalized ${o} from ${c} to ${d} (${l})`),Y[o].value=d});const a=Y["mark.fid"];a&&Y.fid&&(ae(t,{description:"first input delay",endTimestamp:a.value+j(Y.fid.value),op:"ui.action",startTimestamp:a.value}),delete Y["mark.fid"]),"fcp"in Y||delete Y.cls,Object.keys(Y).forEach(o=>{t.setMeasurement(o,Y[o].value,Y[o].unit)}),f_(t)}ht=void 0,Te=void 0,Y={}}function o_(t,e,n,r,i){const s=i+n,a=s+r;return ae(t,{description:e.name,endTimestamp:a,op:e.entryType,startTimestamp:s}),s}function c_(t,e,n){["unloadEvent","redirect","domContentLoadedEvent","loadEvent","connect"].forEach(r=>{Xe(t,e,r,n)}),Xe(t,e,"secureConnection",n,"TLS/SSL","connectEnd"),Xe(t,e,"fetch",n,"cache","domainLookupStart"),Xe(t,e,"domainLookup",n,"DNS"),u_(t,e,n)}function Xe(t,e,n,r,i,s){const a=s?e[s]:e[`${n}End`],o=e[`${n}Start`];!o||!a||ae(t,{op:"browser",description:i||n,startTimestamp:r+j(o),endTimestamp:r+j(a)})}function u_(t,e,n){ae(t,{op:"browser",description:"request",startTimestamp:n+j(e.requestStart),endTimestamp:n+j(e.responseEnd)}),ae(t,{op:"browser",description:"response",startTimestamp:n+j(e.responseStart),endTimestamp:n+j(e.responseEnd)})}function d_(t,e,n,r,i,s){if(e.initiatorType==="xmlhttprequest"||e.initiatorType==="fetch")return;const a={};"transferSize"in e&&(a["http.response_transfer_size"]=e.transferSize),"encodedBodySize"in e&&(a["http.response_content_length"]=e.encodedBodySize),"decodedBodySize"in e&&(a["http.decoded_response_content_length"]=e.decodedBodySize),"renderBlockingStatus"in e&&(a["resource.render_blocking_status"]=e.renderBlockingStatus);const o=s+r,c=o+i;ae(t,{description:n,endTimestamp:c,op:e.initiatorType?`resource.${e.initiatorType}`:"resource.other",startTimestamp:o,data:a})}function l_(t){const e=C.navigator;if(!e)return;const n=e.connection;n&&(n.effectiveType&&t.setTag("effectiveConnectionType",n.effectiveType),n.type&&t.setTag("connectionType",n.type),Ln(n.rtt)&&(Y["connection.rtt"]={value:n.rtt,unit:"millisecond"})),Ln(e.deviceMemory)&&t.setTag("deviceMemory",`${e.deviceMemory} GB`),Ln(e.hardwareConcurrency)&&t.setTag("hardwareConcurrency",String(e.hardwareConcurrency))}function f_(t){ht&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding LCP Data"),ht.element&&t.setTag("lcp.element",Pt(ht.element)),ht.id&&t.setTag("lcp.id",ht.id),ht.url&&t.setTag("lcp.url",ht.url.trim().slice(0,200)),t.setTag("lcp.size",ht.size)),Te&&Te.sources&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Measurements] Adding CLS Data"),Te.sources.forEach((e,n)=>t.setTag(`cls.source.${n+1}`,Pt(e.node))))}const dr=["localhost",/^\//],mn={traceFetch:!0,traceXHR:!0,tracingOrigins:dr,tracePropagationTargets:dr};function Da(t){const{traceFetch:e,traceXHR:n,tracePropagationTargets:r,tracingOrigins:i,shouldCreateSpanForRequest:s}={traceFetch:mn.traceFetch,traceXHR:mn.traceXHR,...t},a=typeof s=="function"?s:u=>!0,o=u=>__(u,r||i),c={};e&&V("fetch",u=>{h_(u,a,o,c)}),n&&V("xhr",u=>{m_(u,a,o,c)})}function __(t,e){return ue(t,e||dr)}function h_(t,e,n,r){if(!Er()||!(t.fetchData&&e(t.fetchData.url)))return;if(t.endTimestamp){const c=t.fetchData.__span;if(!c)return;const u=r[c];u&&(t.response?u.setHttpStatus(t.response.status):t.error&&u.setStatus("internal_error"),u.finish(),delete r[c]);return}const i=t.response&&t.response.headers&&t.response.headers.get("content-length"),s=g().getScope(),a=s&&s.getSpan(),o=a&&a.transaction;if(a&&o){const{method:c,url:u}=t.fetchData,d=a.startChild({data:{url:u,type:"fetch",...i?{"http.response_content_length":i}:{},"http.method":c},description:`${c} ${u}`,op:"http.client"});t.fetchData.__span=d.spanId,r[d.spanId]=d;const l=t.args[0];t.args[1]=t.args[1]||{};const h=t.args[1];n(t.fetchData.url)&&(h.headers=p_(l,o.getDynamicSamplingContext(),d,h))}}function p_(t,e,n,r){const i=os(e),s=n.toTraceparent(),a=typeof Request<"u"&&Ut(t,Request)?t.headers:r.headers;if(a)if(typeof Headers<"u"&&Ut(a,Headers)){const o=new Headers(a);return o.append("sentry-trace",s),i&&o.append(jn,i),o}else if(Array.isArray(a)){const o=[...a,["sentry-trace",s]];return i&&o.push([jn,i]),o}else{const o="baggage"in a?a.baggage:void 0,c=[];return Array.isArray(o)?c.push(...o):o&&c.push(o),i&&c.push(i),{...a,"sentry-trace":s,baggage:c.length>0?c.join(","):void 0}}else return{"sentry-trace":s,baggage:i}}function m_(t,e,n,r){const i=t.xhr,s=i&&i[Rt];if(!Er()||i&&i.__sentry_own_request__||!(i&&s&&e(s.url)))return;if(t.endTimestamp){const u=i.__sentry_xhr_span_id__;if(!u)return;const d=r[u];d&&(d.setHttpStatus(s.status_code),d.finish(),delete r[u]);return}const a=g().getScope(),o=a&&a.getSpan(),c=o&&o.transaction;if(o&&c){const u=o.startChild({data:{...s.data,type:"xhr","http.method":s.method,url:s.url},description:`${s.method} ${s.url}`,op:"http.client"});if(i.__sentry_xhr_span_id__=u.spanId,r[i.__sentry_xhr_span_id__]=u,i.setRequestHeader&&n(s.url))try{i.setRequestHeader("sentry-trace",u.toTraceparent());const d=c.getDynamicSamplingContext(),l=os(d);l&&i.setRequestHeader(jn,l)}catch(d){}}}function g_(t,e=!0,n=!0){if(!C||!C.location){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn("Could not initialize routing instrumentation due to invalid location");return}let r=C.location.href,i;e&&(i=t({name:C.location.pathname,startTimestamp:bt?bt/1e3:void 0,op:"pageload",metadata:{source:"url"}})),n&&V("history",({to:s,from:a})=>{if(a===void 0&&r&&r.indexOf(s)!==-1){r=void 0;return}a!==s&&(r=void 0,i&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Finishing current transaction with op: ${i.op}`),i.finish()),i=t({name:C.location.pathname,op:"navigation",metadata:{source:"url"}}))})}const y_="BrowserTracing",E_={...Qe,markBackgroundTransactions:!0,routingInstrumentation:g_,startTransactionOnLocationChange:!0,startTransactionOnPageLoad:!0,enableLongTask:!0,_experiments:{},...mn};class Ar{__init(){this.name=y_}constructor(e){Ar.prototype.__init.call(this),_s(),this.options={...E_,...e},this.options._experiments.enableLongTask!==void 0&&(this.options.enableLongTask=this.options._experiments.enableLongTask),e&&!e.tracePropagationTargets&&e.tracingOrigins&&(this.options.tracePropagationTargets=e.tracingOrigins),this._collectWebVitals=t_(),this.options.enableLongTask&&e_(),this.options._experiments.enableInteractions&&n_()}setupOnce(e,n){this._getCurrentHub=n;const{routingInstrumentation:r,startTransactionOnLocationChange:i,startTransactionOnPageLoad:s,markBackgroundTransactions:a,traceFetch:o,traceXHR:c,tracePropagationTargets:u,shouldCreateSpanForRequest:d,_experiments:l}=this.options;r(h=>{const _=this._createRouteTransaction(h);return this.options._experiments.onStartRouteTransaction&&this.options._experiments.onStartRouteTransaction(_,h,n),_},s,i),a&&Wf(),l.enableInteractions&&this._registerInteractionListener(),Da({traceFetch:o,traceXHR:c,tracePropagationTargets:u,shouldCreateSpanForRequest:d})}_createRouteTransaction(e){if(!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${e.op} transaction because _getCurrentHub is invalid.`);return}const{beforeNavigate:n,idleTimeout:r,finalTimeout:i,heartbeatInterval:s}=this.options,a=e.op==="pageload",o=a?Ai("sentry-trace"):null,c=a?Ai("baggage"):null,u=o?ns(o):void 0,d=c?$o(c):void 0,l={...e,...u,metadata:{...e.metadata,dynamicSamplingContext:u&&!d?{}:d},trimEnd:!0},h=typeof n=="function"?n(l):l,_=h===void 0?{...l,sampled:!1}:h;_.metadata=_.name!==l.name?{..._.metadata,source:"custom"}:_.metadata,this._latestRouteName=_.name,this._latestRouteSource=_.metadata&&_.metadata.source,_.sampled===!1&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Will not send ${_.op} transaction because of beforeNavigate.`),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Tracing] Starting ${_.op} transaction on scope`);const p=this._getCurrentHub(),{location:w}=C,D=Jr(p,_,r,i,!0,{location:w},s);return D.registerBeforeFinishCallback(S=>{this._collectWebVitals(),a_(S)}),D}_registerInteractionListener(){let e;const n=()=>{const{idleTimeout:r,finalTimeout:i,heartbeatInterval:s}=this.options,a="ui.action.click",o=le();if(o&&o.op&&["navigation","pageload"].includes(o.op)){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${a} transaction because a pageload or navigation transaction is in progress.`);return}if(e&&(e.setFinishReason("interactionInterrupted"),e.finish(),e=void 0),!this._getCurrentHub){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${a} transaction because _getCurrentHub is invalid.`);return}if(!this._latestRouteName){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.warn(`[Tracing] Did not create ${a} transaction because _latestRouteName is missing.`);return}const c=this._getCurrentHub(),{location:u}=C,d={name:this._latestRouteName,op:a,trimEnd:!0,metadata:{source:this._latestRouteSource||"url"}};e=Jr(c,d,r,i,!0,{location:u},s)};["click"].forEach(r=>{addEventListener(r,n,{once:!1,capture:!0})})}}function Ai(t){const e=ja(`meta[name=${t}]`);return e?e.getAttribute("content"):null}function Ie(t){return new Promise((e,n)=>{t.oncomplete=t.onsuccess=()=>e(t.result),t.onabort=t.onerror=()=>n(t.error)})}function S_(t,e){const n=indexedDB.open(t);n.onupgradeneeded=()=>n.result.createObjectStore(e);const r=Ie(n);return i=>r.then(s=>i(s.transaction(e,"readwrite").objectStore(e)))}function xa(t){return Ie(t.getAllKeys())}function b_(t,e,n){return t(r=>xa(r).then(i=>{if(!(i.length>=n))return r.put(e,Math.max(...i,0)+1),Ie(r.transaction)}))}function w_(t){return t(e=>xa(e).then(n=>{if(n.length!==0)return Ie(e.get(n[0])).then(r=>(e.delete(n[0]),Ie(e.transaction).then(()=>r)))}))}function T_(t){let e;function n(){return e==null&&(e=S_(t.dbName||"sentry-offline",t.storeName||"queue")),e}return{insert:async r=>{try{const i=await rs(r,t.textEncoder);await b_(n(),i,t.maxQueueSize||30)}catch(i){}},pop:async()=>{try{const r=await w_(n());if(r)return Co(r,t.textEncoder||new TextEncoder,t.textDecoder||new TextDecoder)}catch(r){}}}}function v_(t){return e=>t({...e,createStore:T_})}function R_(t){return v_(Bc(t))}function k_(t){let e=[],n={};return{add(r,i){for(;e.length>=t;){const s=e.shift();s!==void 0&&delete n[s]}n[r]&&this.delete(r),e.push(r),n[r]=i},clear(){n={},e=[]},get(r){return n[r]},size(){return e.length},delete(r){if(!n[r])return!1;delete n[r];for(let i=0;i<e.length;i++)if(e[i]===r){e.splice(i,1);break}return!0}}}const lr=k_(20),Ci=1e6,rn=String(0),N_="main";let Ia="",Oa="",Aa="",fr=y.navigator&&y.navigator.userAgent||"",Ca="";const D_=y.navigator&&y.navigator.language||y.navigator&&y.navigator.languages&&y.navigator.languages[0]||"";function x_(t){return typeof t=="object"&&t!==null&&"getHighEntropyValues"in t}const Ui=y.navigator&&y.navigator.userAgentData;x_(Ui)&&Ui.getHighEntropyValues(["architecture","model","platform","platformVersion","fullVersionList"]).then(t=>{if(Ia=t.platform||"",Aa=t.architecture||"",Ca=t.model||"",Oa=t.platformVersion||"",t.fullVersionList&&t.fullVersionList.length>0){const e=t.fullVersionList[t.fullVersionList.length-1];fr=`${e.brand} ${e.version}`}}).catch(t=>{});function I_(t){return!("thread_metadata"in t)}function O_(t){return I_(t)?M_(t):t}function A_(t){if(!(!t||!t.sdk))return{name:t.sdk.name,version:t.sdk.version}}function C_(t,e){return e&&(t.sdk=t.sdk||{},t.sdk.name=t.sdk.name||e.name||"unknown sdk",t.sdk.version=t.sdk.version||e.version||"unknown sdk version",t.sdk.integrations=[...t.sdk.integrations||[],...e.integrations||[]],t.sdk.packages=[...t.sdk.packages||[],...e.packages||[]]),t}function U_(t,e,n,r){const i=t.sdkProcessingMetadata&&t.sdkProcessingMetadata.dynamicSamplingContext;return{event_id:t.event_id,sent_at:new Date().toISOString(),...e&&{sdk:e},...!!n&&{dsn:ce(r)},...t.type==="transaction"&&i&&{trace:ut({...i})}}}function B_(t){const e=t&&t.contexts&&t.contexts.trace&&t.contexts.trace.trace_id;return typeof e=="string"&&e.length!==32&&(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Profiling] Invalid traceId: ${e} on profiled event`),typeof e!="string"?"":e}function L_(t,e,n,r){if(t.type!=="transaction")throw new TypeError("Profiling events may only be attached to transactions, this should never occur.");const i=t.sdkProcessingMetadata.profile;if(i==null)throw new TypeError(`Cannot construct profiling event envelope without a valid profile. Got ${i} instead.`);if(!i.profile_id)throw new TypeError("Profile is missing profile_id");if(i.samples.length<=1)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Discarding profile because it contains less than 2 samples"),null;const s=B_(t),a=A_(n);C_(t,n&&n.sdk);const o=U_(t,a,r,e),c=O_(i),u=typeof t.start_timestamp=="number"?t.start_timestamp*1e3:Date.now(),d=typeof t.timestamp=="number"?t.timestamp*1e3:Date.now(),l={event_id:i.profile_id,timestamp:new Date(u).toISOString(),platform:"javascript",version:"1",release:t.release||"",environment:t.environment||En,runtime:{name:"javascript",version:y.navigator.userAgent},os:{name:Ia,version:Oa,build_number:fr},device:{locale:D_,model:Ca,manufacturer:fr,architecture:Aa,is_emulator:!1},profile:c,transactions:[{name:t.transaction||"",id:t.event_id||lt(),trace_id:s,active_thread_id:rn,relative_start_ns:"0",relative_end_ns:((d-u)*1e6).toFixed(0)}]};return Wt(o,[[{type:"profile"},l]])}function M_(t){let e,n=0;const r={samples:[],stacks:[],frames:[],thread_metadata:{[rn]:{name:N_}}};if(!t.samples.length)return r;const i=t.samples[0].timestamp;for(let s=0;s<t.samples.length;s++){const a=t.samples[s];if(a.stackId===void 0){e===void 0&&(e=n,r.stacks[e]=[],n++),r.samples[s]={elapsed_since_start_ns:((a.timestamp-i)*Ci).toFixed(0),stack_id:e,thread_id:rn};continue}let o=t.stacks[a.stackId];const c=[];for(;o;){c.push(o.frameId);const d=t.frames[o.frameId];r.frames[o.frameId]===void 0&&(r.frames[o.frameId]={function:d.name,file:d.resourceId?t.resources[d.resourceId]:void 0,line:d.line,column:d.column}),o=o.parentId===void 0?void 0:t.stacks[o.parentId]}const u={elapsed_since_start_ns:((a.timestamp-i)*Ci).toFixed(0),stack_id:n,thread_id:rn};r.stacks[n]=c,r.samples[s]=u,n++}return r}function G_(t,e){const n=lr.get(t);if(!n){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Couldn't find a transaction event for this profile, dropping it.");return}n.sdkProcessingMetadata=n.sdkProcessingMetadata||{},n.sdkProcessingMetadata&&!n.sdkProcessingMetadata.profile&&(n.sdkProcessingMetadata.profile=e);const i=g().getClient();if(!i){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] getClient did not return a Client, removing profile from event and forwarding to next event processors.");return}const s=i.getDsn();if(!s){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] getDsn did not return a Dsn, removing profile from event and forwarding to next event processors.");return}const a=i.getTransport();if(!a){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] getTransport did not return a Transport, removing profile from event and forwarding to next event processors.");return}(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Preparing envelope and sending a profiling event");const o=L_(n,s);if(lr.delete(t),!o){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Failed to construct envelope");return}(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Envelope constructed, sending it"),a.send(o).then(null,c=>{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Error while sending event:",c)})}const Bi=3e4;let Li=!1;function P_(t){return typeof t=="function"}function Y_(t){return t?Ua(t):((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Transaction is undefined, skipping profiling"),t)}function Ua(t){const e=y.Profiler;if(!P_(e))return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Profiling is not supported by this browser, Profiler interface missing on window object."),t;if(!t.sampled)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Transaction is not sampled, skipping profiling"),t;if(Li)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Profiling has been disabled for the duration of the current user session."),t;const n=g().getClient(),r=n&&n.getOptions(),i=r&&r.profilesSampleRate||0;if(i===void 0)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Profiling disabled, enable it by setting `profilesSampleRate` option to SDK init call."),t;if(Math.random()>i)return(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Skip profiling transaction due to sampling."),t;const s=10,a=Math.floor(Bi/s);let o;try{o=new e({sampleInterval:s,maxBufferSize:a})}catch(p){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&(f.log("[Profiling] Failed to initialize the Profiling constructor, this is likely due to a missing 'Document-Policy': 'js-profiling' header."),f.log("[Profiling] Disabling profiling for current user session.")),Li=!0}if(!o)return t;(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Profiling] started profiling transaction: ${t.name||t.description}`);const c=lt();let u=null;function d(){if(t&&o){if(u){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] profile for:",t.name||t.description,"already exists, returning early");return}o.stop().then(p=>{if(l&&(y.clearTimeout(l),l=void 0),(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Profiling] stopped profiling of transaction: ${t.name||t.description}`),!p){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log(`[Profiling] profiler returned null profile for: ${t.name||t.description}`,"this may indicate an overlapping transaction or a call to stopProfiling with a profile title that was never started");return}p.samples.length<2||(u={...p,profile_id:c},G_(c,u))}).catch(p=>((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] error while stopping profiler:",p),null))}}let l=y.setTimeout(()=>{(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] max profile duration elapsed, stopping profiling for:",t.name||t.description),d()},Bi);const h=t.finish.bind(t);function _(){return t&&(d(),t.setContext("profile",{profile_id:c})),h()}return t.finish=_,t}function F_(t){return function(n,r){const i=t.call(this,n,r);return i===void 0?((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Transaction is undefined, skipping profiling"),i):Ua(i)}}function z_(){const t=de();if(!t.__SENTRY__){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Can't find main carrier, profiling won't work.");return}if(t.__SENTRY__.extensions=t.__SENTRY__.extensions||{},!t.__SENTRY__.extensions.startTransaction){(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] startTransaction does not exists, profiling will not work. Make sure you import @sentry/tracing package before @sentry/profiling-node as import order matters.");return}(typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] startTransaction exists, patching it with profiling functionality..."),t.__SENTRY__.extensions.startTransaction=F_(t.__SENTRY__.extensions.startTransaction)}class Cr{constructor(){Cr.prototype.__init.call(this)}__init(){this.name="BrowserProfilingIntegration"}setupOnce(e){z_(),e(this.handleGlobalEvent.bind(this))}handleGlobalEvent(e){const n=e.contexts&&e.contexts.profile&&e.contexts.profile.profile_id;return n&&typeof n=="string"&&((typeof __SENTRY_DEBUG__>"u"||__SENTRY_DEBUG__)&&f.log("[Profiling] Profiling event found, caching it."),lr.add(n,e)),e}}let Ba={};y.Sentry&&y.Sentry.Integrations&&(Ba=y.Sentry.Integrations);const $_={...Ba,...Zc,...Qu},H_=Object.freeze(Object.defineProperty({__proto__:null,Breadcrumbs:$t,BrowserClient:xs,BrowserProfilingIntegration:Cr,BrowserTracing:Ar,Dedupe:At,FunctionToString:Ft,GlobalHandlers:mt,HttpContext:Ot,Hub:yr,InboundFilters:xt,Integrations:$_,LinkedErrors:It,Replay:xe,SDK_VERSION:Zn,Scope:Dt,TryCatch:Ht,WINDOW:y,addBreadcrumb:hs,addGlobalEventProcessor:Ae,addTracingExtensions:_s,captureEvent:ac,captureException:bn,captureMessage:sc,captureUserFeedback:Ju,chromeStackLineParser:As,close:Vu,configureScope:oc,createTransport:Sr,createUserFeedbackEnvelope:Ds,defaultIntegrations:Hs,defaultRequestInstrumentationOptions:mn,defaultStackLineParsers:Bs,defaultStackParser:Ls,eventFromException:Rs,eventFromMessage:ks,extractTraceparentData:ns,flush:Zu,forceLoad:Wu,geckoStackLineParser:Cs,getActiveTransaction:le,getCurrentHub:g,getHubFromCarrier:cn,init:js,instrumentOutgoingRequests:Da,lastEventId:ju,makeBrowserOfflineTransport:R_,makeFetchTransport:Is,makeMain:Wn,makeMultiplexedTransport:Mc,makeXHRTransport:Os,onLoad:qu,onProfilingStartRouteTransaction:Y_,opera10StackLineParser:Ru,opera11StackLineParser:Du,setContext:ps,setExtra:uc,setExtras:cc,setTag:lc,setTags:dc,setUser:fc,showReportDialog:Hu,spanStatusfromHttpCode:ls,startTransaction:_c,trace:ic,winjsStackLineParser:Us,withScope:ms,wrap:Xu},Symbol.toStringTag,{value:"Module"})),j_="https://75521e9e145e4ede8272f960ecec887b@o23479.ingest.sentry.io/1545626",W_="production";var Ke=[];js({dsn:j_,environment:W_,ignoreErrors:["top.GLOBALS","originalCreateNotification","canvas.contentDocument","MyApp_RemoveAllHighlights","http://tt.epicplay.com","Can't find variable: ZiteReader","jigsaw is not defined","ComboSearch is not defined","http://loading.retry.widdit.com/","atomicFindClose","fb_xd_fragment","bmi_SafeAddOnload","EBCallBackMessageReceived","conduitPage","_tfa is not defined","Can't find variable: _tfa","Can't find variable: iom","iom is not defined","Can't find variable: _vwo_code","_vwo_code is not defined","Can't find variable: msDiscoverChatAvailable","Non-Error promise rejection captured with value:","undefined is not an object (evaluating","missing ) after argument list","null is not an object (evaluating","SecurityError","Failed to load","Failed to fetch","Unable to preload CSS","Load failed","vcmidOfContent is not defined","onGoogleTranslateError","Can't find variable: _AutofillCallbackHandler","Can't find variable: zaloJSV2","Can't find variable: appControl","appControl is not defined","ResizeObserver loop limit exceeded","out of memory","Can't find variable: __firefox__","UET is not defined","pushNotification","Identifier 'VIDEO_PLAYING' has already been declared","NetworkError when attempting to fetch resource.","Firebase SDK","zoid destroyed all components","transaction_id","Notification.requestPermission"],beforeSend(t,e){let n=!1;const r=a([/\/OneSignal\/OneSignal-Website-SDK/i,/C:\//i,/https:\/\/omnisnippet1\.com/i,/https:\/\/www\.googletagmanager\.com\/gtm\.js\?id=GTM-WWQRLLH&l=gtmLayer/i,/uploads\/2319\/websites/i,/i18n\/pixel\/static\/main/i,/assets\/firebase/i]),i=["/inshop/launcher-v2.js","/sdks/OneSignalSDK.js","/sdks/OneSignalPageSDKES6.js","","/gtm.js","/gtag/js","/uwt.js","/scripts/sdk/everflow.js","/js/widget.js"];function s(o){return Object.prototype.toString.call(o)==="[object String]"}function a(o){var c=[];for(let u=0;u<o.length;u++){let d=o[u];s(d)?c.push(d.replace(/([.*+?^=!:${}()|\[\]\/\\])/g,"\\$1")):d&&d.source&&c.push(d.source)}return new RegExp(c.join("|"),"i")}if(t&&t.request&&t.request.url&&a([/graph\.facebook\.com/i,/connect\.facebook\.net\/en_US\/all\.js/i,/eatdifferent\.com\.woopra-ns\.com/i,/static\.woopra\.com\/js\/woopra\.js/i,/extensions\//i,/^chrome:\/\//i,/127\.0\.0\.1:4001\/isrunning/i,/webappstoolbarba\.texthelp\.com\//i,/metrics\.itunes\.apple\.com\.edgesuite\.net\//i,/dsw0trk\.com\/scripts\/sdk\/everflow\.js/i,/theme\.js\.download/i,/file:/i,/C:\//i,/sc\-static\.net\/scevent\.min\.js/i,/checkout\.bootstrap\.js/i]).test(t.request.url)||e&&e.originalException&&e.originalException.stack&&a([/\/\/js\.klarna\.com/i,/\<\!DOCTYPE html\>/i]).test(e.originalException.stack))return null;if(e&&e.originalException&&e.originalException.message)if(e.originalException.message in Ke){if(Ke[e.originalException.message]+=1,Ke[e.originalException.message]>5)return null}else Ke[e.originalException.message]=1;if(t&&t.exception&&t.exception.values&&t.exception.values[0]&&t.exception.values[0].stacktrace&&t.exception.values[0].stacktrace.frames&&t.exception.values[0].stacktrace.frames[0]){if(["<anonymous>","undefined"].includes(t.exception.values[0].stacktrace.frames[0].filename))return null;t.exception.values[0].stacktrace.frames.forEach(o=>{(i.includes(o.filename)||r.test(o.filename))&&(n=!0)})}return n?null:t}});window.Sentry=H_;export{q_ as __vite_legacy_guard}; </script> <link rel="preload" as="style" href="https://get-synoshi.com/build/assets/product-7ffeead4.css" /><link rel="stylesheet" href="https://get-synoshi.com/build/assets/product-7ffeead4.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-synoshi.com/build/assets/theme-64d605d0.css" /><link rel="stylesheet" href="https://get-synoshi.com/build/assets/theme-64d605d0.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-synoshi.com/build/assets/main-baaf6c09.css" /><link rel="stylesheet" href="https://get-synoshi.com/build/assets/main-baaf6c09.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-synoshi.com/build/assets/_ignore-rtl-build-41783ffe.css" /><link rel="stylesheet" href="https://get-synoshi.com/build/assets/_ignore-rtl-build-41783ffe.css" data-navigate-track="reload" /> <style> [wire\:loading][wire\:loading], [wire\:loading\.delay][wire\:loading\.delay], [wire\:loading\.inline-block][wire\:loading\.inline-block], [wire\:loading\.inline][wire\:loading\.inline], [wire\:loading\.block][wire\:loading\.block], [wire\:loading\.flex][wire\:loading\.flex], [wire\:loading\.table][wire\:loading\.table], [wire\:loading\.grid][wire\:loading\.grid], [wire\:loading\.inline-flex][wire\:loading\.inline-flex] { display: none; } [wire\:loading\.delay\.none][wire\:loading\.delay\.none], [wire\:loading\.delay\.shortest][wire\:loading\.delay\.shortest], [wire\:loading\.delay\.shorter][wire\:loading\.delay\.shorter], [wire\:loading\.delay\.short][wire\:loading\.delay\.short], [wire\:loading\.delay\.default][wire\:loading\.delay\.default], [wire\:loading\.delay\.long][wire\:loading\.delay\.long], [wire\:loading\.delay\.longer][wire\:loading\.delay\.longer], [wire\:loading\.delay\.longest][wire\:loading\.delay\.longest] { display: none; } [wire\:offline][wire\:offline] { display: none; } [wire\:dirty]:not(textarea):not(input):not(select) { display: none; } [x-cloak]:not([x-cloak-pointer-events-none]) { display: none !important; } [x-cloak][x-cloak-pointer-events-none] { pointer-events: none; } </style> <link rel="modulepreload" href="https://get-synoshi.com/build/assets/lazyload-b45a339c.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/will-be-removed-861b7b05.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/jquery-5fc13275.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/intersection-observer-90e9e37b.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/index-9b5fec24.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/_commonjsHelpers-042e6b4d.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/theme-a7886786.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/livewire.esm-0a5f2012.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/bootstrap-265771b1.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/whoops-b9817266.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/normalize-636e2359.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/text-wrapper-04ace8f7.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/track-visited-pages-8c5cc3a9.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/choices-90da538a.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/format-price-5af0b78f.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/product-value-parser-25984bef.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/dynamic-module-import-a60ef581.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/helpers-19863c19.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/debounce-b1b63336.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/preload-helper-6f27e6cf.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/alpine-c3ce3ad7.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/cart-option-a8aecb77.js" /><link rel="modulepreload" href="https://get-synoshi.com/build/assets/product-value-encoder-a50bb29a.js" /><script type="module" src="https://get-synoshi.com/build/assets/lazyload-b45a339c.js" data-navigate-track="reload"></script><script type="module" src="https://get-synoshi.com/build/assets/will-be-removed-861b7b05.js" data-navigate-track="reload"></script><script type="module" src="https://get-synoshi.com/build/assets/theme-a7886786.js" data-navigate-track="reload"></script><script type="module" src="https://get-synoshi.com/build/assets/alpine-c3ce3ad7.js" data-navigate-track="reload"></script> <style> :root { --btn-background-primary: #0084FD; --btn-badge-background: #FFFFFF; } </style> <script> var orbServerData = JSON.parse('{\u0022gtmLayerPage\u0022:\u0022product\u0022,\u0022pageCategory\u0022:\u0022product\u0022,\u0022brand\u0022:\u0022synoshi\u0022,\u0022country\u0022:\u0022SG\u0022,\u0022company\u0022:\u0022Everflow\u0022,\u0022locale\u0022:\u0022es\u0022,\u0022currency\u0022:\u0022EUR\u0022}'); var orbSessionData = JSON.parse('{\u0022uuid\u0022:\u002201937126-63c1-743a-86ac-11a89148cba0\u0022,\u0022subid1\u0022:null,\u0022subid2\u0022:null,\u0022subid3\u0022:null,\u0022subid4\u0022:null,\u0022subid5\u0022:null,\u0022utm_campaign\u0022:null,\u0022product_page_version\u0022:\u00221\u0022,\u0022transaction_id\u0022:null,\u0022affiliate_id\u0022:\u0022792\u0022,\u0022offid\u0022:\u002248\u0022,\u0022ttclid\u0022:null}'); orbSessionData = Object.assign({}, orbServerData, orbSessionData); </script> <script> window.gtmLayer = [{ page: orbServerData.gtmLayerPage || null, page_category: orbServerData.pageCategory, subid: window.orbSessionData.subid1, subid_2: window.orbSessionData.subid2, subid_3: window.orbSessionData.subid3, subid_4: window.orbSessionData.subid4, subid_5: window.orbSessionData.subid5, transaction_id: window.orbSessionData.transaction_id, affiliate_id: window.orbSessionData.affiliate_id, }]; </script> <!-- Facebook Pixel Code --> <script> !function(f,b,e,v,n,t,s) {if(f.fbq)return;n=f.fbq=function(){n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)}; if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0'; n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t,s)}(window,document,'script', 'https://connect.facebook.net/en_US/fbevents.js'); </script> <script> (function () { const fbGlobalPixel = '903090581609834'; fbq('init', fbGlobalPixel); fbq('trackSingle', fbGlobalPixel, 'PageView'); window.addEventListener("customer-info-form-touched", function () { fbq('trackSingle', fbGlobalPixel, 'InitiateCheckout'); }); })(); </script> <noscript> <img height="1" width="1" alt="" src="https://www.facebook.com/tr?id=903090581609834&ev=PageView&noscript=1"/> </noscript> <script> (function () { const fbBrandPixel = '954964012893111'; fbq('init', fbBrandPixel); fbq('trackSingle', fbBrandPixel, 'PageView'); window.addEventListener("customer-info-form-touched", function () { fbq('trackSingle', fbBrandPixel, 'InitiateCheckout'); }); })(); </script> <noscript> <img height="1" width="1" alt="" src="https://www.facebook.com/tr?id=954964012893111&ev=PageView&noscript=1"/> </noscript> <!-- End Facebook Pixel Code --> <script> (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:3346967,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); </script> <script type="text/javascript"> (function(c,l,a,r,i,t,y){ c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)}; t=l.createElement(r);t.async=1;t.src="https://www.clarity.ms/tag/"+i; y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y); })(window, document, "clarity", "script", "n40m3ci3o9"); </script> <script type="text/javascript"> function getEverflowCookie(name) { let matches = document.cookie.match(new RegExp( "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)" )); return matches ? decodeURIComponent(matches[1]) : undefined; } </script> <script type="text/javascript" src="https://www.dsw0trk.com/scripts/sdk/everflow.js"></script> <script type="text/javascript"> if (typeof EF !== 'undefined') { function getEverflowParam(name) { return EF.urlParameter(name) ?? orbSessionData[name] ?? null } EF.click({ offer_id: getEverflowParam('offid'), affiliate_id: getEverflowParam('affiliate_id'), sub1: getEverflowParam('subid'), sub2: getEverflowParam('subid2'), sub3: getEverflowParam('subid3'), sub4: getEverflowParam('subid4'), sub5: getEverflowParam('subid5'), uid: getEverflowParam('uid'), source_id: getEverflowParam('source_id'), parameters: { "ttclid" : getEverflowParam('ttclid'), "cjevent" : getEverflowCookie('cje') ?? null }, }).then(function (transactionId) { // TODO IE doesn't support promises if (!transactionId) { return; } var date = new Date(); date.setTime(date.getTime() + (2880*60*1000)); document.cookie = "transaction_id=" + transactionId + '; expires=' + date.toUTCString() + "; path=/"; }); } </script> <!-- Global site tag (gtag.js) - Google Analytics --> <script async src="https://www.googletagmanager.com/gtag/js?id=G-2DT0NCM1Q4&l=gaLayer"></script> <script> window.gaLayer = window.gaLayer || []; function gatag() { if (arguments[2]) { arguments[2].real_timestamp = Date.now(); } gaLayer.push(arguments); } function setConsentMode(necessary, marketing, analytics, preferences) { var consentMode = { 'functionality_storage': necessary ? 'granted' : 'denied', 'security_storage': necessary ? 'granted' : 'denied', 'ad_storage': marketing ? 'granted' : 'denied', 'analytics_storage': analytics ? 'granted' : 'denied', 'personalization_storage': preferences ? 'granted' : 'denied', }; gatag('consent', 'update', consentMode); localStorage.setItem('consentMode', JSON.stringify(consentMode)); } var eventParameters = { page: 'product' || location.pathname, page_category: 'product', upsell_index: null, product_page_version: window.orbSessionData && window.orbSessionData.product_page_version }; var userProperties = window.orbSessionData && { uuid: window.orbSessionData.uuid, locale: window.orbSessionData.locale, currency: window.orbSessionData.currency, brand: window.orbSessionData.brand, country: window.orbSessionData.country, company: window.orbSessionData.company, subid1: window.orbSessionData.subid1, subid2: window.orbSessionData.subid2, subid3: window.orbSessionData.subid3, subid4: window.orbSessionData.subid4, subid5: window.orbSessionData.subid5, utm_campaign: window.orbSessionData.utm_campaign } || {}; gatag('js', new Date()); gatag('config', 'G-2DT0NCM1Q4', eventParameters); // This used as "User flow active" property (by Jurate) gatag('config', 'G-Z62DB69GDT', eventParameters); gatag('set', 'user_properties', userProperties); gatag('event', 'split_test_view', JSON.parse('{\u0022split_test_id\u0022:3643,\u0022split_test_variation\u0022:\u00227191_#1 Show New Tracking Page Version\u0022,\u0022event_action\u0022:\u0022Viewed 3643\u0022,\u0022event_label\u0022:\u00227191_#1 Show New Tracking Page Version\u0022,\u0022event_category\u0022:\u0022Split tests\u0022}')); addEventListener('hashchange', function () { var newFragment = location.hash; gatag('event', 'page_view', { 'page_path': location.pathname + location.search + newFragment, 'url_fragment': newFragment.replace('#', '') }); }); </script> <script> (function(a, t, o, m, i) { a[m] = a[m] || []; a[m].push({ t: new Date().getTime(), event: 'snippetRun' }); var f = t.getElementsByTagName( o )[0], e = t.createElement(o); e.async = !0; e.dataset.namespace = "paypal_sdk"; e.src = 'https://www.paypal.com/sdk/js?components=shopping&client-id=' + i; f.parentNode.insertBefore(e, f); })(window, document, 'script', 'shoppingDDL', 'AU7kkFMn3BFZcexbHND2uDWokuqqYIm3RRTNDgKKMxTn5yWzDcnvcFE6rew0P65pqHFRmXTgDC7AGSVT'); var pptag = { send: function(e, p) { shoppingDDL.push({ event: e, payload: p }); }, set: function(s) { shoppingDDL.push({ set: s }); } }; pptag.send('page_view', { page_type: 'PRODUCT_PAGE_VIEW', }) </script> <script> function initialize(i, t) { var e; i.getElementById(t) ? initFreshChat() : ( (e = i.createElement("script")).id = t, e.async = !0, e.src = "https://wchat.freshchat.com/js/widget.js", e.onload = initFreshChat, i.head.appendChild(e) ) } function initiateCall() { setTimeout(function () { initialize(document, "freshchat-js-sdk"); }, 2000); } function initFreshChat() { if (window.fcWidget !== undefined) { window.fcWidget.init({ token: "8f45d611-cca6-497c-b3db-a29cc93d7273", host: "https://wchat.freshchat.com", }); } } function openChat() { if (window.fcWidget.isLoaded() === true) { window.fcWidget.track('open_campaign', { trigger: true, }) } } if (document.readyState === 'complete') { initiateCall(); } else { window.addEventListener ? window.addEventListener("load", initiateCall, false) : window.attachEvent("load", initiateCall, false); } </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Synoshi", "url": "https://get-synoshi.com/synoshi/product?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1", "logo": "https://get-synoshi.com/images/logos/synoshi.svg", "sameAs": [ "https://www.facebook.com/people/Synoshi/100089083382746/", "https://www.instagram.com/synoshiofficial/", "https://x.com/SynoshiScrubber", "https://www.tiktok.com/@getsynoshi" ] } </script> </head> <body class="synoshi-product bf2024 " > <div class="tw-max-w-[2000px] tw-mx-auto tw-text-base"> <div id="sticky-middle-banner" data-normalize-bp="sm" data-normalize-height="sale-banners" class="bf-2024-bg tw-sticky tw-top-[-1px] tw-z-[20] tw-py-2"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="bf2024-pp-text-color tw-flex tw-justify-center sm:tw-justify-between tw-items-center tw-flex-col sm:tw-flex-row"> <div class="tw-flex tw-items-center tw-max-w-[100%] sm:tw-max-w-[70%] sm:tw-w-full"> <p x-data="{ fullyDisplay: false }" x-init="document.addEventListener('DOMContentLoaded', () => { setTimeout(() => { this.fullyDisplay = true}, 1000) })" @font-size-adjusted="fullyDisplay = true" x-bind:class="fullyDisplay ? '!tw-opacity-100' : ''" data-ignore-child-elements="true" class="tw-opacity-0 tw-flex-grow-1 tw-flex-basis-0 tw-min-w-0 tw-flex-shrink-1 tw-whitespace-nowrap tw-font-[900] tw-italic tw-text-[26px] tw-mb-0 tw-me-1 md:tw-me-3"> PROMOCIÓN <span class="tw-font-[500]">BLACK FRIDAY</span> </p> <div class="tw-flex tw-flex-shrink-0 tw-items-center"> <svg class="flip-rtl tw-h-[22.4px] sm:tw-h-[36.8px] tw-relative tw-end-[-5px] sm:tw-end-[-2px]" viewBox="182.0893 224.42 19.1997 42" width="19.1997" height="42" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M 199.544 224.42 C 197.713 224.42 195.988 225.261 194.889 226.69 L 183.02 242.128 C 181.779 243.742 181.779 245.962 183.02 247.578 L 194.889 264.15 C 195.988 265.579 197.713 266.42 199.544 266.42 L 201.289 266.42 L 201.289 224.42 L 199.544 224.42 Z M 192.566 247.132 C 193.851 247.132 194.893 246.116 194.893 244.863 C 194.893 243.609 193.851 242.593 192.566 242.593 C 191.28 242.593 190.238 243.609 190.238 244.863 C 190.238 246.116 191.28 247.132 192.566 247.132 Z" fill="black" transform="matrix(1, 0, 0, 1, 0, -2.842170943040401e-14)"/> </svg> <div class="tw-rounded-e-[5px] tw-pe-3 tw-ps-1 tw-py-1 sm:tw-py-2 tw-bg-black tw-flex tw-items-center"> <p class="bf2024-badge-color tw-whitespace-nowrap tw-w-full tw-text-[18px] sm:tw-text-[26px] tw-italic tw-leading-[0.8] tw-mb-0"> <span class="tw-text-white tw-font-bold tw-text-[16px] sm:tw-text-[24px]">70 %</span> de descuento </p> </div> </div> </div> <div data-time="900000" data-include-hours="true" class="sm:tw-max-w-[30%] md:tw-max-w-[unset] countdown tw-flex tw-items-center tw-text-xs md:tw-text-base tw-mt-2 sm:tw-mt-0 sm:tw-ms-4"> <p class="tw-whitespace-nowrap tw-flex-grow-1 tw-flex-basis-0 tw-min-w-0 tw-flex-shrink-1 tw-font-[600] tw-text-xs md:tw-text-sm tw-mb-0"> Tiempo restante </p> <div class="tw-ms-3 tw-font-bold tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-[#FFFFFF66] tw-w-[22px] tw-h-[22px] md:tw-h-[42px] md:tw-w-[42px] flip-rtl--only-parent"> <span class="hours-1">0</span> <span class="hours-2">0</span> </div> <svg class="tw-mx-1 md:tw-mx-2" width="3" height="12" viewBox="0 0 3 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="1.5" cy="1.5" r="1.5" fill="black" fill-opacity="0.17"/> <circle cx="1.5" cy="10.5" r="1.5" fill="black" fill-opacity="0.17"/> </svg> <div class="tw-font-bold tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-[#FFFFFF66] tw-w-[22px] tw-h-[22px] md:tw-h-[42px] md:tw-w-[42px] flip-rtl--only-parent"> <span class="minutes-1">0</span> <span class="minutes-2">0</span> </div> <svg class="tw-mx-1 md:tw-mx-2" width="3" height="12" viewBox="0 0 3 12" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="1.5" cy="1.5" r="1.5" fill="black" fill-opacity="0.17"/> <circle cx="1.5" cy="10.5" r="1.5" fill="black" fill-opacity="0.17"/> </svg> <div class="tw-font-bold tw-flex tw-items-center tw-justify-center tw-rounded tw-bg-[#FFFFFF66] tw-w-[22px] tw-h-[22px] md:tw-h-[42px] md:tw-w-[42px] flip-rtl--only-parent"> <span class="seconds-1">0</span> <span class="seconds-2">0</span> </div> </div> </div> </div> </div> <div data-ga-section="1 - Navigation" class="tw-text-white tw-bg-black"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <nav id="nav" x-data="{ expanded: false }"> <div class="tw-py-s8 md:tw-py-s16 tw-text-base lg:tw-text-sm xl:tw-text-base tw-uppercase"> <div class="tw-flex tw-align-center tw-items-center tw-flex-nowrap"> <div class="tw-grow lg:tw-grow-0 tw-text-center lg:tw-text-left"> <a class="tw-inline-block tw-cursor-pointer tw-text-inherit" href="https://get-synoshi.com/?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" data-ga-category="Element" data-ga-click="1 - Navigation (Logo)" > <img class="tw-max-w-[105px] md:tw-max-w-[150px] tw-max-h-[40px] tw-inline-block" aria-label="Logotipo de Synoshi, ir a la página de inicio" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/images/logos/white/synoshi.svg" alt="Cepillo Eléctrico Giratorio Synoshi" > </a> </div> <div class="tw-grow tw-hidden lg:tw-flex tw-items-center tw-justify-end tw-px-0"> <div> <a data-wrap-text href="https://get-synoshi.com/synoshi/tracking?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-ml-6 tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (/synoshi/tracking)" > Estado del pedido </a> </div> <div> <a data-wrap-text href="https://support.synoshi.com/es/support/home" class="tw-ml-6 tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (Link 2)" > Información de contacto </a> </div> <div> <a href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-text-inherit tw-inline-block tw-font-bold tw-transition-all hover:tw-scale-105 tw-underline hover:tw-underline tw-leading-tight tw-ml-6" data-ga-category="Call To Action" data-ga-click="1 - Navigation (CTA)" > ¡Haz tu pedido ahora! </a> </div> </div> <div class="tw-grow-0 lg:tw-hidden tw-flex tw-justify-end" @click="expanded = ! expanded"> <span x-show="!expanded" class="tw-w-8 tw-cursor-pointer" data-ga-category="Element" data-ga-click="1 - Navigation (Hamburger Open)"> <svg class="tw-w-[inherit]" viewBox="0 0 50 23" width="30" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><rect y="0" width="50" height="3"/><rect y="10" width="50" height="3"/><rect y="20" width="50" height="3"/></g></svg> </span> <span x-show="expanded" class="tw-w-8 tw-cursor-pointer" style="display: none;" data-ga-category="Element" data-ga-click="1 - Navigation (Hamburger Close)"> <svg class="tw-w-[inherit]" x="0px" y="0px" width="30" viewBox="0 0 1000 1000" enable-background="new 0 0 1000 1000" xmlns="http://www.w3.org/2000/svg" xml:space="preserve"><g fill="currentColor"><path d="M10,39.4c0,8.8,2.9,14.7,8.8,20.6l441.4,441.4L21.8,940c-5.9,5.9-8.8,11.8-8.8,20.6c0,5.9,2.9,14.7,8.8,20.6c5.9,5.9,11.8,8.8,20.6,8.8c5.9,0,14.7-2.9,20.6-8.8l438.5-438.5L940,981.2c5.9,5.9,11.8,8.8,20.6,8.8c5.9,0,14.7-2.9,20.6-8.8c2.9-5.9,8.8-14.7,8.8-20.6c0-8.8-5.9-14.7-8.8-20.6L542.7,501.5L981.2,60c5.9-5.9,8.8-11.8,8.8-20.6c0-5.9-2.9-14.7-8.8-20.6c-5.9-2.9-11.8-8.8-20.6-8.8c-5.9,0-14.7,5.9-20.6,8.8L501.5,460.3L60,18.8C54.1,15.9,48.2,10,39.4,10c-5.9,0-14.7,5.9-20.6,8.8C13,24.7,10,33.5,10,39.4z"/></g></svg> </span> </div> </div> <div class="d-flex tw-align-center tw-items-center"> <div x-show="expanded" x-collapse style="display:none;" class="tw-grow tw-basis-full tw-text-center lg:tw-hidden tw-pb-2" > <div class="tw-mt-5 tw-flex tw-justify-center"> <a data-wrap-text href="https://get-synoshi.com/synoshi/tracking?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (/synoshi/tracking)" > Estado del pedido </a> </div> <div class="tw-mt-5 tw-flex tw-justify-center"> <a data-wrap-text href="https://support.synoshi.com/es/support/home" class="tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (Link 2)" > Información de contacto </a> </div> <div class="tw-mt-5 tw-flex tw-justify-center"> <a href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-text-inherit tw-inline-block tw-font-bold tw-transition-all hover:tw-scale-105 tw-underline hover:tw-underline tw-leading-tight" data-ga-category="Call To Action" data-ga-click="1 - Navigation (CTA)" > ¡Haz tu pedido ahora! </a> </div> </div> </div> </div> </nav> </div> </div> <div class="tw-bg-cover tw-bg-[bottom_center] md:tw-bg-[top_center] tw-overflow-hidden tw-relative rtl:-tw-scale-x-100 lg:tw-pt-6 tw-text-white tw-py-0 md:tw-pb-0 md:tw-pt-6" data-srcset="https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-mob-2.jpg?q=80&fm=jpg&w=778&s=f41fa06229dcd5c3c7ed93f5030bf08f 0, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-mob-2.jpg?q=80&fm=jpg&w=778&s=f41fa06229dcd5c3c7ed93f5030bf08f 576, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-2.jpg?q=80&fm=jpg&w=1037&s=bca85b9422c055bf04213d0441158a81 768, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-2.jpg?q=80&fm=jpg&w=1382&s=f19a3f6eb073ac3bcc4626eab511cf91 1023, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-2.jpg?q=80&fm=jpg&w=1891&s=a1e81d91e45a90335cc44297e34851d7 1400, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-2.jpg?q=80&fm=jpg&w=2106&s=90e5e35d69ed5e4ffbf6274e2480c2d5 1560, https://get-synoshi.com/assets/theme/synoshi/product/hero-bg-2.jpg?q=80&fm=jpg&w=2525&s=d788f68874bff5cc9a95dc75a9d66ad6 1870" data-ga-section="2 - Hero" > <div class="md:tw-hidden tw-absolute tw-top-0 tw-w-full"> <img height="864" width="563" class="md:tw-hidden tw-w-full tw-absolute sm:!tw-top-[-460px] tw-top-[-150px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="563" height="864" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/foam-bg.png?q=80&fm=png&fit=max&s=035f6ece67ced76a4c0252eb64883d90" alt="" > </div> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl !tw-px-0" > <div class="tw-flex tw-flex-wrap -tw-mx-colgap tw-grid md:tw-grid-cols-2 rtl:-tw-scale-x-100 tw-justify-center tw-items-center md:tw-justify-end tw-relative"> <div class="tw-px-colgap tw-self-end md:tw-order-1 tw-mx-auto tw-text-center order-1 tw-mb-10 md:tw-mb-0"> <div class="tw-max-w-[500px]"> <img height="591" width="327" class="md:tw-hidden tw-inline-block -tw-mb-[40px] tw-max-w-[60%] tw-pb-10" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="327" height="591" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-mob.png?q=80&fm=png&fit=max&s=40eebecc574b33e582a8396805f1495e" alt="synoshi product" > <img height="705" width="765" class="tw-hidden md:tw-inline-block rtl:-tw-scale-x-100" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="765" height="705" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product.png?q=80&fm=png&fit=max&s=b7c385bd9e99ffb0c6ea827c685753c9" alt="synoshi product" > </div> <div class="tw-relative"> </div> </div> <div class="tw-px-colgap tw-col-span-1 md:tw-py-10 tw-my-5 tw-z-[1]"> <h1 data-wrap-text class="tw-text-center tw-text-h4-mob md:tw-text-h4 md:tw-text-white tw-text-black sm:tw-max-w-[400px] tw-mx-auto"> </h1> <div class="tw-text-center tw-flex tw-flex-col tw-items-center"> <p class="my-0 tw-font-bold tw-text-[26px] sm:tw-text-[34px] tw-text-black md:tw-text-white">Descuento del</p> <p class="tw-my-0 tw-font-bold tw-relative tw-leading-none tw-text-[115px] tw-text-black md:tw-text-white tw-text-6xl sm:tw-text-8xl tw-py-2 md:tw-py-0"> <nobr>70 %</nobr> </p> <p class="tw-text-h2-mob md:tw-text-h3-mob tw-font-bold tw-mb-s16 tw-leading-tight tw-capitalize tw-hidden">Última oportunidad</p> <p data-wrap-text class="tw-my-0 tw-text-lg sm:tw-text-[22px] tw-mb-s16 tw-font-medium tw-text-black md:tw-text-white tw-px-2 !tw-font-bold sm:!tw-font-semibold !tw-text-base sm:!tw-text-h4">Hoy podría ser el último día para aprovechar esta gran oferta</p> <div class="tw-inline-flex tw-flex-col"> <a href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-bg-btn tw-inline-flex tw-justify-between tw-font-bold tw-p-s16 tw-rounded-md tw-text-center tw-text-btn-text tw-transition-all tw-drop-shadow-sm hover:tw-scale-105 hover:tw-brightness-[1.03] hover:tw-drop-shadow-md tw-leading-tight tw-w-full motion-safe:tw-animate-pulse" data-ga-category="Call To Action" data-ga-click="2 - Hero (CTA)" > PROMOCIÓN VIERNES NEGRO -70 % DE DESCUENTO <span class="tw-h-[1.2em] tw-w-[1.2em] tw-bg-white tw-rounded tw-inline-flex tw-items-center tw-justify-center tw-ms-s16 !tw-bg-white"> <svg class="tw-h-[0.5em] tw-text-btn" fill="none" viewBox="0 0 12 10" xmlns="http://www.w3.org/2000/svg"><path d="m6.02597 7.82888 1.41422 1.41421 4.24261-4.24264-4.24261-4.242638-1.41422 1.414218 1.82843 1.82843h-7.537139v2h7.537139z" fill="currentColor"/></svg> </span> </a> <span class="tw-inline-flex tw-flex-col tw-mt-s8 tw-w-full tw-text-center"> <span class="tw-leading-[0] tw-flex tw-justify-around"> <span class="tw-border-solid tw-border-x-[7px] tw-border-b-[12px] tw-border-transparent tw-inline-block tw-border-b-btn-badgeBg "></span> <span class="tw-border-solid tw-border-x-[7px] tw-border-b-[12px] tw-border-transparent tw-inline-block tw-border-b-btn-badgeBg "></span> </span> <span class="tw-inline-block tw-w-full tw-px-s16 tw-py-s8 tw-rounded-md tw-bg-btn-badgeBg tw-text-black" > ¡No te pierdas esta oferta especial! </span> </span> </div> </div> </div> </div> </div> </div> <div class="tw-bg-white tw-text-black tw-py-3"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl !tw-px-0 tw-max-w-screen-lg xl:tw-max-w-screen-xl lg:tw-container-lg xl:tw-container-xl lg:!tw-px-container-lg xl:!tw-px-container-xl" > <div class="tw-overflow-hidden" data-ga-section="3 - Sliding Elements Row"> <div class="tw-flex tw-flex-wrap -tw-mx-colgap tw-hidden lg:tw-flex tw-items-center tw-flex-nowrap tw-justify-between"> <div class="tw-px-colgap tw-flex tw-justify-center tw-items-center " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 1)" > <span style="height: 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 33 47" width="33" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m16.4998 45.7095c4.0395 0 7.9135-1.6315 10.7698-4.5357s4.461-6.8431 4.461-10.9503c0-8.6033-5.0769-18.067-15.2308-28.39098-10.15383 10.32398-15.23076 19.78768-15.23076 28.39098 0 4.1072 1.60467 8.0461 4.46099 10.9503 2.85633 2.9042 6.73037 4.5357 10.76977 4.5357z"/><path d="m9.646 29.7331 8.8846-12.4146v7.8979h5.5846l-8.8846 12.4404v-7.9237z"/></g></svg> </span> <span data-wrap-text class=""> Limpieza eficaz </span> </div> <div class="tw-px-colgap tw-flex tw-justify-center tw-items-center " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 2)" > <span style="height: 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="43" viewBox="0 0 43 43" width="43" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m5.16515 23.1172c-.12412-1.0747-.12412-2.1597 0-3.2344l-4.16515-4.6922 4.6538-7.88116 6.2826 1.25278c.8942-.62227 1.8444-1.16358 2.8389-1.61722l2.0244-5.945h9.3076l2.0244 5.945c.9944.45364 1.9446.99495 2.8388 1.61722l6.2826-1.25278 4.6538 7.88116-4.1651 4.6922c.1241 1.0747.1241 2.1597 0 3.2344l4.2582 4.6922-4.6538 7.8812-6.2826-1.2528c-.8942.6222-1.8444 1.1636-2.8389 1.6172l-2.1174 5.945h-9.3076l-2.0244-5.945c-.9945-.4536-1.9447-.995-2.8389-1.6172l-6.2826 1.2528-4.6538-7.8812z"/><path d="m21.5 24c1.3807 0 2.5-1.1193 2.5-2.5s-1.1193-2.5-2.5-2.5-2.5 1.1193-2.5 2.5 1.1193 2.5 2.5 2.5z"/></g></svg> </span> <span data-wrap-text class=""> Sin esfuerzo </span> </div> <div class="tw-px-colgap tw-flex tw-justify-center tw-items-center " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 3)" > <span style="height: 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 50 47" width="50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="currentColor" stroke-linecap="square"><path d="m1.67383 22.5962 4.71476 4.757 4.71471-4.757"/><path d="m27.605 10.7034v11.8927l7.0721 7.1357"/><path d="m27.6051 44.003c4.1962 0 8.2982-1.2554 11.7872-3.6077 3.489-2.3522 6.2084-5.6955 7.8142-9.6071s2.026-8.2158 1.2073-12.3683c-.8186-4.1525-2.8393-7.9669-5.8065-10.96069-2.9671-2.99381-6.7475-5.03261-10.8631-5.8586-4.1156-.825992-8.3815-.40206-12.2583 1.21817-3.8768 1.62024-7.1903 4.36401-9.52162 7.88432-2.33129 3.5204-3.57561 7.6592-3.57561 11.8931v2.3785"/><path d="m15.9894 29v2.3612m0 14.2555v2.3833m4.0106-14.2555c-.382-1.5889-1.7188-2.3833-4.0106-2.3833-3.4165 0-3.9894 2.3391-3.9894 3.5749 0 4.921 8 2.3392 8 7.1278 0 1.2358-.5729 3.5528-4.0106 3.5528-2.2706 0-3.6074-.7944-3.9894-2.3612"/></g></svg> </span> <span data-wrap-text class=""> Ahorra tiempo y dinero </span> </div> </div> <div class="tw-flex tw-flex-wrap -tw-mx-colgap tw-animate-[linear_rightToLeft_15s_infinite] rtl:tw-animate-[linear_leftToRight_15s_infinite] tw-basis-full tw-relative lg:tw-hidden tw-flex-nowrap" style="width: 2100px;"> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 1)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 33 47" width="33" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m16.4998 45.7095c4.0395 0 7.9135-1.6315 10.7698-4.5357s4.461-6.8431 4.461-10.9503c0-8.6033-5.0769-18.067-15.2308-28.39098-10.15383 10.32398-15.23076 19.78768-15.23076 28.39098 0 4.1072 1.60467 8.0461 4.46099 10.9503 2.85633 2.9042 6.73037 4.5357 10.76977 4.5357z"/><path d="m9.646 29.7331 8.8846-12.4146v7.8979h5.5846l-8.8846 12.4404v-7.9237z"/></g></svg> </span> <span data-wrap-text class=""> Limpieza eficaz </span> </div> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 2)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="43" viewBox="0 0 43 43" width="43" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m5.16515 23.1172c-.12412-1.0747-.12412-2.1597 0-3.2344l-4.16515-4.6922 4.6538-7.88116 6.2826 1.25278c.8942-.62227 1.8444-1.16358 2.8389-1.61722l2.0244-5.945h9.3076l2.0244 5.945c.9944.45364 1.9446.99495 2.8388 1.61722l6.2826-1.25278 4.6538 7.88116-4.1651 4.6922c.1241 1.0747.1241 2.1597 0 3.2344l4.2582 4.6922-4.6538 7.8812-6.2826-1.2528c-.8942.6222-1.8444 1.1636-2.8389 1.6172l-2.1174 5.945h-9.3076l-2.0244-5.945c-.9945-.4536-1.9447-.995-2.8389-1.6172l-6.2826 1.2528-4.6538-7.8812z"/><path d="m21.5 24c1.3807 0 2.5-1.1193 2.5-2.5s-1.1193-2.5-2.5-2.5-2.5 1.1193-2.5 2.5 1.1193 2.5 2.5 2.5z"/></g></svg> </span> <span data-wrap-text class=""> Sin esfuerzo </span> </div> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 3)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 50 47" width="50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="currentColor" stroke-linecap="square"><path d="m1.67383 22.5962 4.71476 4.757 4.71471-4.757"/><path d="m27.605 10.7034v11.8927l7.0721 7.1357"/><path d="m27.6051 44.003c4.1962 0 8.2982-1.2554 11.7872-3.6077 3.489-2.3522 6.2084-5.6955 7.8142-9.6071s2.026-8.2158 1.2073-12.3683c-.8186-4.1525-2.8393-7.9669-5.8065-10.96069-2.9671-2.99381-6.7475-5.03261-10.8631-5.8586-4.1156-.825992-8.3815-.40206-12.2583 1.21817-3.8768 1.62024-7.1903 4.36401-9.52162 7.88432-2.33129 3.5204-3.57561 7.6592-3.57561 11.8931v2.3785"/><path d="m15.9894 29v2.3612m0 14.2555v2.3833m4.0106-14.2555c-.382-1.5889-1.7188-2.3833-4.0106-2.3833-3.4165 0-3.9894 2.3391-3.9894 3.5749 0 4.921 8 2.3392 8 7.1278 0 1.2358-.5729 3.5528-4.0106 3.5528-2.2706 0-3.6074-.7944-3.9894-2.3612"/></g></svg> </span> <span data-wrap-text class=""> Ahorra tiempo y dinero </span> </div> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 1)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 33 47" width="33" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m16.4998 45.7095c4.0395 0 7.9135-1.6315 10.7698-4.5357s4.461-6.8431 4.461-10.9503c0-8.6033-5.0769-18.067-15.2308-28.39098-10.15383 10.32398-15.23076 19.78768-15.23076 28.39098 0 4.1072 1.60467 8.0461 4.46099 10.9503 2.85633 2.9042 6.73037 4.5357 10.76977 4.5357z"/><path d="m9.646 29.7331 8.8846-12.4146v7.8979h5.5846l-8.8846 12.4404v-7.9237z"/></g></svg> </span> <span data-wrap-text class=""> Limpieza eficaz </span> </div> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 2)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="43" viewBox="0 0 43 43" width="43" xmlns="http://www.w3.org/2000/svg"><g stroke="currentColor" stroke-linecap="square"><path d="m5.16515 23.1172c-.12412-1.0747-.12412-2.1597 0-3.2344l-4.16515-4.6922 4.6538-7.88116 6.2826 1.25278c.8942-.62227 1.8444-1.16358 2.8389-1.61722l2.0244-5.945h9.3076l2.0244 5.945c.9944.45364 1.9446.99495 2.8388 1.61722l6.2826-1.25278 4.6538 7.88116-4.1651 4.6922c.1241 1.0747.1241 2.1597 0 3.2344l4.2582 4.6922-4.6538 7.8812-6.2826-1.2528c-.8942.6222-1.8444 1.1636-2.8389 1.6172l-2.1174 5.945h-9.3076l-2.0244-5.945c-.9945-.4536-1.9447-.995-2.8389-1.6172l-6.2826 1.2528-4.6538-7.8812z"/><path d="m21.5 24c1.3807 0 2.5-1.1193 2.5-2.5s-1.1193-2.5-2.5-2.5-2.5 1.1193-2.5 2.5 1.1193 2.5 2.5 2.5z"/></g></svg> </span> <span data-wrap-text class=""> Sin esfuerzo </span> </div> <div class="tw-px-colgap tw-flex tw-items-center tw-content-center tw-justify-center tw-basis-full " data-ga-category="Element" data-ga-click="3 - Sliding Elements Row (Sliding element 3)" > <span style="height : 50px;" class="tw-inline-flex tw-items-center tw-mx-3 "> <svg class="tw-h-full tw-w-auto " fill="none" height="47" viewBox="0 0 50 47" width="50" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g stroke="currentColor" stroke-linecap="square"><path d="m1.67383 22.5962 4.71476 4.757 4.71471-4.757"/><path d="m27.605 10.7034v11.8927l7.0721 7.1357"/><path d="m27.6051 44.003c4.1962 0 8.2982-1.2554 11.7872-3.6077 3.489-2.3522 6.2084-5.6955 7.8142-9.6071s2.026-8.2158 1.2073-12.3683c-.8186-4.1525-2.8393-7.9669-5.8065-10.96069-2.9671-2.99381-6.7475-5.03261-10.8631-5.8586-4.1156-.825992-8.3815-.40206-12.2583 1.21817-3.8768 1.62024-7.1903 4.36401-9.52162 7.88432-2.33129 3.5204-3.57561 7.6592-3.57561 11.8931v2.3785"/><path d="m15.9894 29v2.3612m0 14.2555v2.3833m4.0106-14.2555c-.382-1.5889-1.7188-2.3833-4.0106-2.3833-3.4165 0-3.9894 2.3391-3.9894 3.5749 0 4.921 8 2.3392 8 7.1278 0 1.2358-.5729 3.5528-4.0106 3.5528-2.2706 0-3.6074-.7944-3.9894-2.3612"/></g></svg> </span> <span data-wrap-text class=""> Ahorra tiempo y dinero </span> </div> </div> </div> </div> </div> <div class="tw-bg-primary tw-py-10" data-ga-section="4 - Handheld Tool"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-font-bold"> Con el cepillo giratorio manual la limpieza no supone ningún esfuerzo </h2> </div> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="tw-flex tw-flex-wrap -tw-mx-colgap md:tw-flex-nowrap"> <div class="tw-px-colgap tw-w-full"> <img height="329" width="549" class="tw-mb-3" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="549" height="329" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/handed-1.jpg?q=50&fm=webp&fit=max&s=aac0ce1445d02975db26b259371a67fc" alt="Limpieza de los fogones" > <div class="tw-mt-3 tw-mb-6 md:tw-mb-0"> <b>Reduce el tiempo de limpieza a la mitad (¡y más!)</b><br>Ahórrate hasta <b>45 minutos de cada hora</b> que pasas limpiando y fregando: ¡Synoshi hace el trabajo duro por ti! </div> </div> <div class="tw-px-colgap tw-w-full"> <img height="328" width="549" class="tw-mb-3" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="549" height="328" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/handed-2.jpg?q=50&fm=webp&fit=max&s=159a2f190c76bf22f858ce5053b8924f" alt="Manchas en el baño" > <div class="tw-mt-3 tw-mb-6 md:tw-mb-0"> <b>Limpia el baño fácilmente y sin estrés</b><br>Synoshi puede eliminar la suciedad, la mugre, los restos de jabón, la cal, el calcio y las manchas de agua dura en cuestión de minutos. </div> </div> <div class="tw-px-colgap tw-w-full"> <img height="329" width="549" class="tw-mb-3" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="549" height="329" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/handed-3.jpg?q=50&fm=webp&fit=max&s=0fe6b2d44d7f838a466da541d4d6f290" alt="Superficies sucias" > <div class="tw-mt-3 "> <b>Protege tu piel sensible de productos químicos agresivos</b><br>Evita los guantes de látex que provocan alergias y el contacto directo con superficies sucias. No necesitas productos químicos peligrosos para limpiar tu hogar. </div> </div> </div> </div> </div> <div class="tw-py-10"> <div data-ga-section="5 - Por qué Synoshi es la herramienta de limpieza accesible DEFINITIVA"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h2-mob md:tw-text-h2 tw-mb-10 tw-font-bold md:!tw-text-h3 !tw-text-h3-mob"> Por qué Synoshi es la herramienta de limpieza accesible DEFINITIVA </h2> <div class="md:tw-grid tw-items-center tw-gap-2 tw-m-auto tw-text-center tw-grid-cols-[17%_auto_17%] lg:tw-max-w-[85%]"> <div class="tw-hidden md:tw-grid tw-h-full tw-content-evenly tw-gap-3"> <div class="tw-me-[-50%]"> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Manual</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Mantén tus manos en el cepillo Synoshi y lejos de la suciedad</span> </div> <div class=""> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Resistente al agua</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Tecnología IPX5 impermeable</span> </div> <div class="tw-me-[-50%]"> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Sin cables</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Sin cables que se enredan</span> </div> </div> <div> <img height="564" width="462" class="tw-m-auto md:tw-hidden" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="462" height="564" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-2-mob.png?q=80&fm=png&fit=max&s=a811140601a58849b846863566e24274" alt="Herramienta de limpieza Synoshi" > <img height="840" width="727" class="tw-m-auto tw-hidden md:tw-block" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="727" height="840" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-2.png?q=80&fm=png&fit=max&s=ed844438fa217af196e1fd3dc8b12095" alt="Herramienta de limpieza Synoshi" > </div> <div class="tw-hidden md:tw-grid tw-h-full tw-content-evenly tw-gap-3"> <div class="tw-ms-[-50%]"> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Múltiples cabezales de cepillado</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Para esquinas y superficies lisas</span> </div> <div class=""> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Mínimo esfuerzo</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Pasa menos tiempo limpiando</span> </div> <div class="tw-ms-[-50%]"> <span class="tw-text-sm tw-font-bold xl:tw-text-base tw-mb-1">Seguro</span><br> <span class="tw-text-sm xl:tw-text-base tw-mb-0">Diseño antideslizante</span> </div> </div> </div> <div class="tw-mt-10 tw-grid tw-gap-5 md:tw-hidden tw-text-center"> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="61" viewBox="0 0 61 61" width="61" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><clipPath id="a"><path d="m0 0h61v61h-61z"/></clipPath><g clip-path="url(#a)"><path d="m8.17026 35.5533 8.36274 15.4064c.1754.4098 4.4644 10.0402 20.1738 10.0402 15.5264 0 16.6568-16.5539 16.6683-16.775v-29.6251c0-2.7278-2.0683-4.94667-4.7599-4.94667-1.1304 0-2.8651.40797-2.8651 1.06367v-2.80217c0-2.72785-2.2608-4.94672-4.8876-4.94672-1.0447 0-2.0378.36219-2.787.96647-.4689-2.17885-2.4648-3.93450207-4.7256-3.93450207-.0267 0-.0534 0-.0819 0-.0286 0-.0534 0-.0801 0-2.5849 0-4.5941 2.21125207-4.5941 4.94672207v.08006c-.8311-.73772-1.8528-1.21428-2.947-1.21428-.0019 0-.0038 0-.0058 0-.08 0-1.8776.12962-3.2406 1.37059-.9512.86544-1.4316 2.43428-1.4316 4.09081v21.22612c0 .5261.427.9531.9532.9531.5261 0 .9531-.427.9531-.9531v-21.22612c0-1.08846.2688-1.90815.7968-2.39806.7282-.67481 1.7861-.61381 1.8796-.61381 1.6203 0 3.0423 1.41444 3.0423 3.06716v17.35833c0 .5261.427.9531.9532.9531.5261 0 .9531-.427.9531-.9531v-21.7408c0-1.69466 1.2124-3.02332 2.7679-3.04047 1.6012.01906 2.9508 1.40109 2.9508 3.04047v23.647c0 .5262.427.9532.9532.9532.5261 0 .9531-.427.9531-.9532v-20.67897c0-1.76138 1.2219-3.04047 2.7374-3.04047 1.5764.00191 2.9813 1.36487 2.9813 3.04047v17.91117c0 .5261.427.9531.9532.9531.5261 0 .9531-.427.9531-.9531v-11.165c0-.0209-.1106-.0381-.1106-.059 0-1.6756 1.2734-3.0405 2.9147-3.0405s2.9146 1.363 2.9146 3.0385l.0019 29.5698c-.0362.6081-1.0503 14.924-14.7639 14.924-14.3883 0-18.2638-8.5228-18.4582-8.9613l-8.36843-15.4158c-.01144-.0267-1.10944-2.5792.43843-4.026.7377-.6901 1.4488-1.0122 2.1636-.976 1.0446.0667 1.7881.9379 1.79.9379l7.8308 10.3395c.3165.4194.9131.5013 1.3344.1849.4194-.3184.5033-.915.1849-1.3344l-7.848-10.3624c-.0496-.061-1.2524-1.5326-3.1434-1.666-1.26-.0744-2.4686.4117-3.61426 1.483-2.52197 2.3619-.94931 6.0314-.84638 6.2563z" fill="currentColor"/></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Manual</p> <p class="tw-text-center tw-text-md tw-mb-0"> Mantén tus manos en el cepillo Synoshi y lejos de la suciedad </p> </div> </div> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="58" viewBox="0 0 61 58" width="61" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g fill="currentColor"><path d="m52.2019 7.3494c.5729-.25673 1.1802-.42725 1.8023-.50608v-5.875224c-.0001-.177806-.0523-.351635-.1498-.49983-.0976-.148195-.2363-.264204-.3989-.333573-.1626-.0693696-.3419-.0890324-.5155-.0565384-.1736.0324934-.3339.1157074-.4609.2392734-2.6766 2.603582-5.9286 4.336872-9.4023 5.056172-.0618.70692-.3075 1.38494-.7125 1.96573 3.6056-.55226 7.0006-2.05938 9.8376-4.36707z"/><path d="m46.4409 42.9916c-.1872.2324-.3796.4646-.5772.6964-6.6584 7.84-17.3767 11.7999-19.2454 12.4459-2.7539-1.0194-24.81859-9.7682-24.81859-27.4808v-25.87845c2.38034 1.74975 7.30916 4.78895 12.80509 4.78895 4.538 0 9.0324-1.56764 12.4516-4.32497 1.4027 1.12555 2.9538 2.04952 4.6089 2.74543-.0145-.11714-.0254-.23428-.0309-.35325-.0104-.51714.0926-1.03023.3018-1.50266-1.5548-.69856-2.999-1.62361-4.2863-2.74543-.1638-.14356-.3736-.22264-.5908-.22264-.2171 0-.4269.07908-.5907.22264-3.162 2.7738-7.4837 4.36889-11.8617 4.36889-6.85932 0-13.04603-5.467068-13.10783-5.523807-.12993-.114744-.28966-.1898082-.46046-.2163907-.170797-.0265824-.345581-.0035813-.503856.0663073-.158064.0711394-.292388.1866854-.386858.3327774-.0944705.146091-.14507488.316524-.14574288.490852v27.751751c0 8.3434 4.57345688 16.0644 13.22864688 22.3295 6.4612 4.6782 12.8224 6.8782 13.0878 6.9688.0932.0327.1912.0494.2899.0494.0925.0002.1845-.014.2727-.0421.5162-.1647 12.7342-4.1181 20.3588-13.0865.3344-.3941.6559-.788.9643-1.1815-.6395-.0691-1.2486-.3107-1.7632-.6991z"/><path d="m52.88 32.7657c.1458-.0196.2927-.0297.4399-.0302.0909 0 .1817.0046.2726.011.1806-.8834.3021-1.778.3636-2.6777-.589.2496-1.2119.4091-1.8478.4731-.0791.7613-.2042 1.5171-.3744 2.2632.2241-.0454.4521-.0687.6807-.0696.1556.0004.311.0105.4654.0302z"/><g clip-rule="evenodd" fill-rule="evenodd"><path d="m60.1 7.12428c1.8323.68087.7016 12.55122-1.9086 17.55062-3.1811 6.0958-9.7368 6.492-14.6765 2.3657-4.9398-4.1264-4.2881-11.3478.8488-14.862 5.137-3.51413 13.7168-5.80474 15.7363-5.05432z"/><path d="m41.5749 1.26737c.7425.27454.2844 5.0882-.7735 7.11433-1.2906 2.4709-3.9472 2.6319-5.9495.95907-2.0022-1.67289-1.7378-4.60135.3436-6.0244 2.0813-1.42305 5.5605-2.352832 6.3794-2.049z"/><path d="m52.9765 33.722c.7426.2746.2845 5.0882-.7743 7.1143-1.2897 2.4709-3.9464 2.632-5.9486.9591-2.0023-1.6729-1.7387-4.6013.3435-6.0244 2.0823-1.423 5.5614-2.3528 6.3794-2.049z"/><path d="m36.6686 20.2063c.5226.194.1999 3.5745-.5454 4.9976-.9088 1.7387-2.7729 1.8486-4.1808.6735-1.4078-1.175-1.2206-3.2323.2418-4.2316 1.4623-.9993 3.9099-1.6528 4.4844-1.4395z"/></g></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Resistente al agua</p> <p class="tw-text-center tw-text-md tw-mb-0"> Tecnología IPX5 impermeable </p> </div> </div> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="63" viewBox="0 0 68 63" width="68" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g fill="currentColor"><path d="m13.4998 43.0065h12.7075c.1774 0 .3475-.0695.4729-.193.1255-.1236.1959-.2911.1959-.4659 0-.1747-.0704-.3423-.1959-.4659-.1254-.1235-.2955-.1929-.4729-.1929h-12.7075c-.1774-.0003-.3473-.0698-.4727-.1933s-.196-.2909-.1962-.4656v-19.7662c.0005-.1745.0711-.3417.1965-.465s.2952-.1927.4724-.1929h12.7075c.1774 0 .3475-.0694.4729-.193.1255-.1236.1959-.2911.1959-.4659 0-.1747-.0704-.3423-.1959-.4658-.1254-.1236-.2955-.193-.4729-.193h-12.7075c-.532.0007-1.042.2092-1.4181.5797-.3762.3705-.5878.8728-.5885 1.3968v19.7653c.0007.524.2123 1.0263.5885 1.3969.3761.3705.8861.5789 1.4181.5797z"/><path d="m52.9628 25.8765v-4.6128c-.0007-.524-.2124-1.0263-.5885-1.3968-.3762-.3705-.8861-.579-1.4181-.5797h-12.7084c-.1774 0-.3475.0694-.473.1929-.1254.1236-.1959.2912-.1959.4659 0 .1748.0705.3423.1959.4659.1255.1235.2956.193.473.193h12.7084c.1774.0002.3473.0697.4727.1932s.196.2909.1962.4656v19.7662c-.0002.1747-.0708.3421-.1962.4656s-.2953.193-.4727.1933h-14.0461c-.1774 0-.3475.0694-.473.1929-.1254.1236-.1959.2912-.1959.4659s.0705.3423.1959.4659c.1255.1235.2956.193.473.193h14.0461c.532-.0008 1.0419-.2092 1.4181-.5798.3761-.3705.5878-.8728.5885-1.3968v-3.2942h3.3443c.532-.0007 1.042-.2092 1.4181-.5797.3762-.3705.5878-.8728.5885-1.3968v-7.9062c-.0007-.5239-.2123-1.0263-.5885-1.3968-.3761-.3705-.8861-.579-1.4181-.5797zm4.0132 1.9775v7.9061c-.0005.1745-.0711.3417-.1965.465-.1253.1233-.2952.1927-.4724.1929h-3.3443v-9.2238h3.3443c.1774.0002.3474.0697.4727.1932.1254.1235.196.291.1962.4656z"/><path d="m28.7609 51.8786c.1503.0595.3173.0632.4701.0104s.2808-.1586.3603-.2976l14.2435-24.7307c.0577-.1003.0878-.2137.0871-.3289-.0006-.1153-.0319-.2283-.0907-.328-.0587-.0996-.143-.1823-.2443-.2399-.1014-.0576-.2163-.088-.3333-.0883h-9.4665l4.0962-15.2915c.0381-.1498.0217-.3079-.0465-.4469-.0682-.13903-.1838-.25002-.3266-.31363-.1428-.06362-.3037-.07583-.4547-.0345s-.2825.13358-.3715.26063l-15.3913 22.7079c-.0669.0991-.1053.2141-.1112.333-.0059.1188.0209.2371.0776.3421.0567.1051.1413.1931.2446.2547.1034.0616.2218.0945.3426.0952h10.6335l-4.1266 17.3317c-.0372.1544-.0164.3169.0585.4574.075.1405.199.2495.3492.3069zm5.22-18.6049c.0229-.0967.0234-.1973.0013-.2942-.0221-.097-.0662-.1877-.1289-.2655-.0628-.0778-.1425-.1406-.2334-.1837-.0909-.0432-.1904-.0655-.2913-.0654h-10.2286l12.4677-18.3967-3.2964 12.299c-.0263.0975-.0295.1996-.0093.2984.0201.0989.063.1919.1254.2718s.1427.1447.2345.1892c.0919.0445.1929.0676.2952.0676h9.187l-11.3855 19.7653z"/><path d="m64.6657 24.3616c-.9635-4.8029-3.096-9.3037-6.2144-13.1159-10.605-12.97244-29.9467-15.02259-43.1063-4.5756-7.6573 6.0786-11.5524 15.0625-11.38265 24.0673.59229-.1635 1.2999-.1126 1.91618.0846-.2002-8.4814 3.4495-16.9564 10.66587-22.68154 12.3403-9.79905 30.4716-7.873408 40.416 4.28654 2.9232 3.5741 4.9221 7.7937 5.8251 12.2963.0243.1216.0726.2374.1422.3406s.1592.1919.2636.261c.1045.0691.2217.1173.345.1418.1234.0244.2504.0248.3738.0009.1235-.0239.241-.0715.3458-.14.1047-.0686.1948-.1569.265-.2597.0701-.1029.119-.2184.1439-.3399.0248-.1214.0252-.2466.0009-.3682z"/><path d="m.659747 27.7749-.6458002 3.1407c-.0424083.2082.0008096.4245.1201632.6013.119354.1769.305086.2999.516411.3419l.398549.0791-.482503 2.3564c-.02108.1031-.021337.2093-.000755.3125s.0616.2014.120711.289c.059112.0876.135159.1629.223801.2215.088641.0586.188136.0995.292816.1203.10468.0207.21248.021.31726.0007.10478-.0202.20447-.0607.2934-.1189.08892-.0582.16533-.1331.22486-.2204.05954-.0873.10103-.1854.12211-.2885l.48251-2.3554 2.3913.4752-.48343 2.3555c-.03982.2072.00487.4216.1244.5965.11952.175.30424.2965.51411.3383.20988.0417.42799.0003.60706-.1153s.30467-.2961.34956-.5023l.48251-2.3555.39855.0791c.21139.0417.43096-.0008.61051-.1184s.3044-.3005.34712-.5087l.6458-3.1406c.10558-.5156.10705-1.0465.0043-1.5626-.10274-.5161-.30767-1.0073-.6031-1.4453-.29543-.4381-.67557-.8146-1.11871-1.108-.44313-.2934-.9406-.4979-1.46398-.6019-.52339-.104-1.06244-.1054-1.58639-.0042s-1.02254.303-1.46729.594c-.44474.291-.82695.6655-1.12479 1.102-.297837.4365-.505477.9265-.611063 1.442z"/><path d="m63.4803 37.0433c-.5655-.2063-1.0545-.4263-1.4992-.7725-.8173 6.7341-4.0773 12.9505-9.1795 17.5044-11.7342 10.4951-29.9495 9.6327-40.6043-1.9293-3.13213-3.3982-5.37992-7.4947-6.55024-11.9374-.03126-.12-.0862-.2327-.1617-.3318s-.17007-.1825-.27831-.2456-.22804-.1045-.35254-.122c-.12451-.0175-.2513-.0106-.37312.0201-.12182.0308-.23629.085-.33687.1593-.10059.0744-.18532.1675-.24936.2742-.06403.1066-.10613.2246-.12387.3472-.01774.1227-.01078.2476.02048.3676 1.24902 4.74 3.64749 9.1105 6.98943 12.7361 11.3614 12.3299 30.7927 13.2532 43.312 2.0592 5.2776-4.7112 8.7113-11.0959 9.7036-18.0432-.1078-.02-.2137-.0489-.3165-.0863z"/><path d="m67.3402 35.6002.6458-3.1407c.0219-.1036.0227-.2105.0024-.3144-.0203-.104-.0613-.2029-.1206-.2912-.0594-.0882-.136-.164-.2253-.2229-.0892-.0589-.1895-.0997-.2949-.1202l-.3986-.0791.4825-2.3555c.0226-.1037.0241-.2108.0043-.315-.0197-.1043-.0603-.2037-.1193-.2924-.0591-.0887-.1354-.165-.2246-.2244-.0892-.0595-.1894-.1009-.295-.1219-.1055-.021-.2143-.0211-.3199-.0004s-.206.0619-.2953.1211c-.0894.0592-.1659.1353-.2252.2238-.0592.0886-.1001.1879-.1201.2921l-.4825 2.3555-2.3913-.4753.4825-2.3555c.0427-.2082-.0003-.4246-.1196-.6016s-.3051-.3001-.5165-.3421c-.2114-.0421-.4311.0003-.6108.1178s-.3046.3005-.3473.5088l-.4825 2.3563-.3986-.079c-.1049-.0209-.213-.0211-.3181-.0007-.105.0204-.2049.0611-.2939.1197-.089.0587-.1654.134-.2247.2218-.0593.0879-.1004.1863-.1209.2899l-.6458 3.1415c-.1056.5157-.107 1.0469-.0042 1.5632.1028.5162.3078 1.0075.6034 1.4457s.6758.8148 1.1192 1.1082c.4433.2935.9409.498 1.4645.602.5235.104 1.0628.1055 1.5869.0042s1.0228-.3033 1.4677-.5944.8272-.6657 1.1251-1.1024c.2979-.4366.5056-.9268.6112-1.4425z"/></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Sin cables</p> <p class="tw-text-center tw-text-md tw-mb-0"> Sin cables que se enredan </p> </div> </div> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="56" viewBox="0 0 91 56" width="91" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g fill="currentColor"><path d="m27.8089-.00012207c-5.5001 0-10.8766 1.64217207-15.4498 4.71885207-4.57313 3.07668-8.13747 7.44967-10.24226 12.56597-2.104793 5.1164-2.655499 10.7462-1.582486 16.1777 1.073016 5.4315 3.721556 10.4206 7.610706 14.3365 3.88914 3.9158 8.84424 6.5826 14.23864 7.663s10.9858.5259 16.0672-1.5934c5.0815-2.1192 9.4246-5.7081 12.4803-10.3127 3.0557-4.6045 4.6866-10.018 4.6866-15.5559-.0083-7.4235-2.9409-14.5405-8.1543-19.78968-5.2133-5.24919-12.2818-8.20189452-19.6546-8.21034207zm0 54.25902207c-5.1556-.0017-10.195-1.5425-14.4811-4.4276-4.28607-2.885-7.62634-6.9849-9.59854-11.7812-1.9722-4.7962-2.48777-10.0736-1.48153-15.1648 1.00624-5.0913 3.4891-9.7679 7.13471-13.43852 3.64556-3.67066 8.29026-6.17059 13.34676-7.18374 5.0565-1.01316 10.2979-.49404 15.0614 1.49171s8.8354 5.34897 11.7008 9.66445c2.8654 4.3156 4.3957 9.3896 4.3974 14.5807-.0061 6.9624-2.7558 13.638-7.6454 18.5612-4.8896 4.9231-11.5195 7.6917-18.4345 7.6978z"/><path d="m89.9885 43.4246-26.0136-40.20689c-.5714-.87822-1.351-1.5994-2.2684-2.09852-.9173-.499111-1.9437-.760456-2.9864-.760456-1.0428 0-2.0691.261345-2.9865.760456-.9174.49912-1.697 1.2203-2.2684 2.09852l-5.2563 8.12439c.4224.4816.7738 1.022 1.0432 1.6045l5.6741-8.77138c.414-.63209.9774-1.15086 1.6395-1.5098.6621-.35895 1.4024-.54684 2.1544-.54684s1.4922.18789 2.1543.54684c.6622.35894 1.2255.87771 1.6395 1.5098l26.0107 40.21848c.4413.6687.6918 1.4466.7243 2.2488.0326.8022-.1542 1.5981-.5399 2.3008-.3839.7237-.9578 1.3275-1.659 1.7455s-1.5029.6342-2.3178.6251h-14.1897c-4.6339-.0842-11.7144-.0987-22.4057 0h-6.0286c-1.0987 1.0279-2.5221 1.633-4.02 1.709l-.0721.0493h10.1092c.3141 0 12.6624.0377 21.2356-.0696l15.3598.0696c1.1295.0117 2.2405-.289 3.212-.8691.9716-.5802 1.7664-1.4177 2.2979-2.4212.5411-.9806.8047-2.0918.762-3.2128-.0427-1.1209-.39-2.2086-1.0041-3.1445z"/><path d="m28.35 14.381c.1724 0 .3377-.0728.4596-.2023s.1904-.3051.1904-.4883c0-.1831-.0685-.3588-.1904-.4883s-.2872-.2022-.4596-.2022c-8.4638 0-15.35 7.3155-15.35 16.3094 0 .1832.0685.3588.1904.4883s.2872.2023.4596.2023.3377-.0728.4596-.2023.1904-.3051.1904-.4883c0-8.2332 6.3022-14.9283 14.05-14.9283z"/><path d="m21 28.4999c0 4.1362 3.3655 7.5 7.5 7.5s7.5-3.3638 7.5-7.5-3.3655-7.5-7.5-7.5-7.5 3.3643-7.5 7.5zm13.6364 0c0 1.2136-.3599 2.4-1.0342 3.4092-.6743 1.0091-1.6326 1.7956-2.7539 2.26-1.1213.4645-2.3551.586-3.5454.3492-1.1904-.2367-2.2838-.8212-3.142-1.6794-.8581-.8581-1.4426-1.9515-1.6794-3.1419-.2367-1.1903-.1152-2.4241.3492-3.5454.4645-1.1213 1.251-2.0797 2.2601-2.7539 1.0091-.6743 2.1955-1.0342 3.4092-1.0342 1.6268.002 3.1865.6492 4.3368 1.7995 1.1504 1.1504 1.7975 2.71 1.7996 4.3369z"/></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Múltiples cabezales de cepillado</p> <p class="tw-text-center tw-text-md tw-mb-0"> Para esquinas y superficies lisas </p> </div> </div> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="62" viewBox="0 0 62 62" width="62" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m53.4014 51.2898c.6519-.6359 1.279-1.3108 1.8671-2.0052.3153-.3738.2693-.9318-.1045-1.2489-.372-.3153-.9335-.2657-1.2489.1045-.5509.6519-1.1408 1.2861-1.7519 1.883-.349.3402-.3561.9017-.0142 1.2524.1736.1772.4039.2658.6342.2658.2214.0017.4446-.0815.6182-.2516z"/><path d="m15.6437 52.9231c.1647.1346.3631.2001.5598.2001.2568 0 .5101-.1098.6855-.3241.31-.3791.2551-.9371-.124-1.2471-1.4278-1.1709-2.7351-2.4924-3.8901-3.9308-.3082-.3827-.8644-.4447-1.2453-.1364-.3808.3064-.4428.8627-.1364 1.2435 1.2329 1.5358 2.6288 2.9459 4.1505 4.1948z"/><path d="m47.8254 53.4545c-1.5606.9902-3.2276 1.8157-4.9547 2.4588-.4588.1718-.6926.6802-.5208 1.1408.1329.356.4712.5757.8308.5757.1027 0 .2073-.0177.3082-.0549 1.8423-.6856 3.6191-1.5678 5.2842-2.6235.4127-.2604.5367-.8078.2746-1.2205-.2604-.4163-.8078-.5386-1.2223-.2764z"/><path d="m26.0614 58.3259c.0779.0213.1576.0319.2356.0319.3879 0 .744-.2586.852-.6501.1294-.473-.147-.9601-.6182-1.0895-1.7732-.4871-3.5056-1.1673-5.1478-2.0194-.4375-.2303-.9707-.0549-1.1939.3773-.225.434-.0567.969.3773 1.194 1.7537.9087 3.6013 1.6332 5.495 2.1558z"/><path d="m31.9886 57.5235c-.4872-.0426-.9088.3418-.9371.8325-.0301.4872.3437.907.8308.9353.5722.0337 1.1479.0514 1.7289.0514 1.3941 0 2.7953-.1027 4.1646-.3029.4836-.0726.8184-.5226.7476-1.0062-.0726-.4818-.5208-.8095-1.0044-.7475-1.821.2692-3.7058.3454-5.5304.2374z"/><path d="m9.06826 44.2094c.13463 0 .26926-.0301.3968-.0957.43755-.2196.61294-.7528.39326-1.1886-.38086-.7564-.7316-1.5447-1.03983-2.3436-.17714-.457-.68908-.6873-1.14611-.5049-.45526.1772-.682.6891-.50663 1.1444.32948.8503.70326 1.6935 1.10891 2.4995.15766.31.46943.4889.7936.4889z"/><path d="m33.6112 2.65701c-14.9969 0-27.27643 11.71619-28.24894 26.47049l-3.73595-4.7191c-.30468-.3809-.859139-.45-1.245311-.1435-.3808569.3011-.4463997.8591-.143485 1.2418l5.319596 6.7208c.17538.2196.434.3348.69617.3348.19132 0 .38618-.062.54915-.1913l6.72077-5.3196c.3827-.303.4482-.8592.1453-1.2436-.3029-.3808-.8574-.4499-1.2453-.1435l-5.32849 4.216c.59343-14.1307 12.24239-25.45186 26.51649-25.45186 14.6515 0 26.5715 11.91996 26.5715 26.57146 0 4.3081-1.054 8.5843-3.0469 12.3645-.2285.4323-.062.969.3702 1.1975.1311.0691.2728.1028.411.1028.3189 0 .6271-.1719.7847-.473 2.1275-4.0371 3.2506-8.5985 3.2506-13.1918.0018-15.6276-12.7135-28.34289-28.3411-28.34289z"/><path d="m33.6574 12.3999c-.4889 0-.8857.3968-.8857.8857v12.3557c-2.6022.4074-4.6057 2.6447-4.6057 5.3586 0 3.0008 2.441 5.4436 5.4436 5.4436 1.7289 0 3.2541-.8255 4.2532-2.0868l9.4807 5.3976c.1382.0779.2887.1151.4375.1151.3083 0 .6076-.1612.7706-.4482.2427-.4233.0939-.9654-.3312-1.2081l-9.5002-5.4064c.2019-.5686.3312-1.1709.3312-1.8068 0-2.682-1.9538-4.9051-4.51-5.3497v-12.3646c.0018-.4889-.395-.8857-.884-.8857zm3.6244 18.6c0 2.0265-1.6474 3.6721-3.6722 3.6721-2.0247 0-3.6722-1.6456-3.6722-3.6721s1.6475-3.6722 3.6722-3.6722c2.0248 0 3.6722 1.6457 3.6722 3.6722z"/></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Mínimo esfuerzo</p> <p class="tw-text-center tw-text-md tw-mb-0"> Pasa menos tiempo limpiando </p> </div> </div> <div> <div class="tw-flex tw-flex-col tw-gap-s8 tw-text-center"> <div class="tw-flex tw-justify-center"> <svg class="tw-text-grey-hard tw-max-w-[50%] tw-h-[3rem]" fill="none" height="53" viewBox="0 0 53 53" width="53" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><g fill="currentColor"><path d="m11.62 4.31939c-.3743.265-.4621.78175-.1987 1.15606.2633.37266.7784.46375 1.1544.19875.1292-.09109 13.1324-9.04147 29.0307.04307.1292.07453.2716.10931.4091.10931.2882 0 .5664-.14906.7205-.41738.2269-.3975.0894-.90431-.3081-1.12956-16.8043-9.60294-30.6688-.05631-30.8079.03975z"/><path d="m49.8695 20.7858c.1541 0 .3097-.0431.4489-.1325.3842-.2484.4952-.7602.2467-1.1461-5.0565-7.8357-13.727-12.51465-23.1891-12.51465-9.2535 0-17.81961 4.51995-22.91092 12.08895-.25506.3793-.15569.8944.22359 1.1495.37928.2583.89603.1556 1.14944-.2236 4.78489-7.112 12.83589-11.3586 21.53789-11.3586 8.899 0 17.0478 4.394 21.7995 11.7561.1557.2467.4224.3809.694.3809z"/><path d="m42.6336 45.8532c-13.8678 0-14.416-11.1648-14.4326-11.6418-.0149-.4571-.419-.8464-.8546-.8-.4571.0149-.8149.3959-.8016.8513.0033.1325.583 13.2467 16.0871 13.2467.4787-.0033.9358-.3395.9342-.8314-.0017-.4571-.3727-.8248-.8282-.8248-.0596-.0249-.0695-.0017-.1043 0z"/><path d="m46.5636 38.0373c1.5353-3.0011 1.1991-7.2229-.9723-12.2098-2.2409-5.146-7.2444-10.2489-13.3758-11.8389-4.3725-1.1345-11.0472-1.3697-18.0002 3.9485-13.304621 10.1776-6.01547 26.0362-5.94093 26.1969.19543.4141.68568.5913 1.10306.3942.41406-.1955.58962-.6907.39419-1.1031-.06957-.1474-6.80388-14.7969 5.44908-24.1713 6.4213-4.9141 12.5593-4.7037 16.579-3.6603 6.5422 1.6976 10.5669 6.9844 12.2712 10.8981 1.9378 4.452 2.3005 8.2846 1.0169 10.7921-.7668 1.5006-1.4475 1.8782-3.2462 2.2691-1.4062.3048-2.6815.0944-3.7862-.6227-1.7838-1.1594-3.1552-3.6537-3.8591-7.0242-.7602-3.6322-3.975-5.406-6.8221-5.5518-3.3771-.1689-6.1778 1.6795-7.1467 4.7187-1.5767 4.9505-.6873 15.8901 13.9771 21.8691.101.0381.207.058.3114.058.3263 0 .636-.1938.7668-.5168.1739-.4223-.0298-.9076-.4538-1.0798-16.9252-6.9-13.1904-19.3053-13.0231-19.8303.8894-2.7941 3.508-3.6918 5.4839-3.5659 2.0521.1043 4.6673 1.277 5.2867 4.2367.8066 3.8607 2.39 6.6531 4.5796 8.0742 1.4889.9672 3.1849 1.2538 5.0383.853 2.274-.4936 3.3771-1.1975 4.3692-3.1337z"/><path d="m21.9023 22.4189c4.3377-1.7457 9.4406-.9888 11.8687.7536 1.3813.9904 5.883 4.7021 5.883 10.8881 0 .4588.371.8282.8281.8282s.8281-.371.8281-.8282c0-6.9761-5.0317-11.1283-6.5737-12.2347-2.7526-1.9759-8.4005-2.9812-13.452-.944-3.0127 1.214-6.8436 3.9601-7.9898 10.1561-2.3038 12.4533 6.9049 20.7048 7.2975 21.0509.1573.1375.3511.2054.5465.2054.2303 0 .4588-.0961.6228-.2832.3014-.3445.2666-.8679-.0762-1.1693-.0894-.0779-8.8957-7.9649-6.7608-19.504 1.007-5.4541 4.3493-7.8606 6.9778-8.9189z"/></g></svg> </div> <p class="tw-text-md tw-font-bold tw-mb-0">Seguro</p> <p class="tw-text-center tw-text-md tw-mb-0"> Diseño antideslizante </p> </div> </div> </div> </div> </div> </div> <div id="sticky-middle-banner" data-normalize-bp="sm" data-normalize-height="sale-banners" class="tw-flex tw-items-center bf-2024-bg tw-sticky tw-top-[-1px] tw-z-[20] tw-py-s16 md:tw-py-s8"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="tw-flex tw-justify-center sm:tw-justify-between tw-items-center tw-flex-col sm:tw-flex-row"> <img class="tw-hidden lg:tw-block tw-max-w-[132px] tw-max-h-[44px]" src="https://get-synoshi.com/images/logos/black/synoshi.svg" alt="" > <div class="bf2024-pp-text-color tw-mb-2 sm:tw-mb-0 tw-flex tw-items-center tw-max-w-[100%] sm:tw-max-w-[60%] sm:tw-w-full tw-justify-center lg:tw-ms-3 sm:tw-me-3"> <p x-data="{ fullyDisplay: false }" x-init="document.addEventListener('DOMContentLoaded', () => { setTimeout(() => { this.fullyDisplay = true}, 1000) })" @font-size-adjusted="fullyDisplay = true" x-bind:class="fullyDisplay ? '!tw-opacity-100' : ''" data-ignore-child-elements="true" class="tw-opacity-0 tw-flex-grow-1 tw-flex-basis-0 tw-min-w-0 tw-flex-shrink-1 tw-whitespace-nowrap tw-font-[900] tw-italic tw-text-[26px] tw-mb-0 tw-me-1 md:tw-me-3"> PROMOCIÓN <span class="tw-font-[500]">BLACK FRIDAY</span> </p> <div class="tw-flex tw-flex-shrink-0 tw-items-center"> <svg class="flip-rtl tw-h-[22.4px] sm:tw-h-[36.8px] tw-relative tw-end-[-5px] sm:tw-end-[-2px]" viewBox="182.0893 224.42 19.1997 42" width="19.1997" height="42" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" clip-rule="evenodd" d="M 199.544 224.42 C 197.713 224.42 195.988 225.261 194.889 226.69 L 183.02 242.128 C 181.779 243.742 181.779 245.962 183.02 247.578 L 194.889 264.15 C 195.988 265.579 197.713 266.42 199.544 266.42 L 201.289 266.42 L 201.289 224.42 L 199.544 224.42 Z M 192.566 247.132 C 193.851 247.132 194.893 246.116 194.893 244.863 C 194.893 243.609 193.851 242.593 192.566 242.593 C 191.28 242.593 190.238 243.609 190.238 244.863 C 190.238 246.116 191.28 247.132 192.566 247.132 Z" fill="black" transform="matrix(1, 0, 0, 1, 0, -2.842170943040401e-14)"/> </svg> <div class="tw-rounded-e-[5px] tw-pe-3 tw-ps-1 tw-py-1 sm:tw-py-2 tw-bg-black tw-flex tw-items-center"> <p class="bf2024-badge-color tw-whitespace-nowrap tw-w-full tw-text-[18px] sm:tw-text-[26px] tw-italic tw-leading-[0.8] tw-mb-0"> <span class="tw-text-white tw-font-bold tw-text-[16px] sm:tw-text-[24px]">70 %</span> de descuento </p> </div> </div> </div> <a data-ga-category="Call To Action" data-ga-click="5 - Por qué Synoshi es la herramienta de limpieza accesible DEFINITIVA (CTA)" class="btn !tw-leading-tight btn-primary btn- ignore btn-black tw-text-white !tw-py-s8 tw-max-w-[290px] lg:tw-max-w-[290px] tw-whitespace-nowrap !tw-bg-none" href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> <span data-adjust-font class="tw-w-full tw-block"> ¡Haz tu pedido ahora! </span> </a> </div> </div> </div> <div class="tw-bg-cover tw-bg-top md:tw-bg-center tw-bg-no-repeat tw-pt-10 md:tw-pb-10 tw-text-white flip-rtl" data-lazy-load-class="tw-bg-[url('/theme/synoshi/product/product-bg-2-mob.jpg')] md:tw-bg-[url('/theme/synoshi/product/product-bg-2.jpg')] tw-relative" data-ga-section="6 - Eco-friendly Choice" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="md:tw-max-w-[60%] flip-rtl rtl:tw-mr-auto"> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-text-h3-mob md:tw-text-h3 md:[text-align:unset] tw-mb-10"> Synoshi Te ofrece una limpieza potente y que es mejor para nuestro planeta </h3> <p class="tw-font-bold tw-mb-0">Duradero</p> <p class="tw-mb-5">Synoshi está diseñado pensando en la duración. Puede durar años y los cepillos son reemplazables.</p> <p class="tw-font-bold tw-mb-0">Sin productos químicos peligrosos</p> <p class="tw-mb-5">Synoshi no depende de productos químicos agresivos, por lo que es una opción mejor para ti, tu familia y el medio ambiente del país.</p> <p class="tw-font-bold tw-mb-0">Recargable</p> <p class="tw-mb-5">¡No desperdicies! Synoshi utiliza una batería de litio recargable de 1200 mAh, lo que reduce la necesidad de usar baterías de un solo uso.</p> <img data-src="https://get-synoshi.com/theme/synoshi/product//product-6.png" src="" alt="" class="md:tw-hidden"> <div class="tw-absolute tw-left-0 tw-bottom-10 tw-w-full md:tw-static md:tw-mt-5 tw-text-center md:tw-text-left" > <a href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-bg-btn tw-inline-block tw-font-bold tw-px-10 tw-py-2 tw-rounded-md tw-text-center tw-text-btn-text tw-transition-all tw-drop-shadow-sm hover:tw-scale-105 hover:tw-brightness-[1.03] hover:tw-drop-shadow-md tw-leading-tight" data-ga-category="Call To Action" data-ga-click="6 - Eco-friendly Choice (CTA)" > Consigue un descuento del 70 % </a> </div> </div> </div> </div> <div class="tw-bg-primary" data-ga-section="7 - Easy Way"> <div class="tw-bg-no-repeat tw-bg-[length:50%] tw-relative tw-py-10 tw-overflow-hidden tw-bg-[position:top_right]"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl md:tw-hidden" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-font-bold"> La manera FÁCIL de LIMPIAR TODO ¡INTELIGENTEMENTE! </h2> </div> <div class="tw-end-0 tw-w-[80%] tw-ms-auto tw-mb-10 md:tw-w-[45%] md:tw-absolute md:tw-top-[10%] lg:tw-w-[30%] xl:tw-w-[25%]" > <img height="1102" width="716" class="flip-rtl" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="716" height="1102" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-3.png?q=80&fm=webp&fit=max&s=f85749891ce106bc6bf102c299fd4b72" alt="Cepillo Synoshi manual" > </div> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="md:tw-w-[50%] lg:tw-w-[70%] xl:tw-w-[75%]"> <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-hidden md:tw-inline-block tw-font-bold"> La manera FÁCIL de LIMPIAR TODO ¡INTELIGENTEMENTE! </h2> <div class="tw-flex tw-flex-wrap -tw-mx-colgap -tw-mt-8"> <div class="tw-px-colgap sm:tw-basis-1/2 tw-pt-8"> <div class="tw-relative tw-p-3 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-absolute tw-end-0 tw-top-0 tw-mt-6 tw-me-9 tw-font-bold tw-text-white"> Antes </h3> <img height="461" width="680" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="680" height="461" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product-3/before-5.jpg?q=50&fm=webp&fit=max&s=0e00421a12cb41e3ffae175dc2587dc8" alt="Fogones antes" > </div> </div> <div class="tw-px-colgap sm:tw-basis-1/2 tw-pt-8"> <div class="tw-relative tw-p-3 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-absolute tw-end-0 tw-top-0 tw-mt-6 tw-me-9 tw-font-bold tw-text-white"> Después </h3> <img height="461" width="680" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="680" height="461" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product-3/before-6.jpg?q=50&fm=webp&fit=max&s=ee6b2a47c9f435012efd5e680043c30d" alt="Fogones después" > </div> </div> <div class="tw-px-colgap sm:tw-basis-1/2 tw-pt-8"> <div class="tw-relative tw-p-3 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-absolute tw-end-0 tw-top-0 tw-mt-6 tw-me-9 tw-font-bold tw-text-white"> Antes </h3> <img height="460" width="678" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="678" height="460" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product-3/before-7.jpg?q=50&fm=webp&fit=max&s=54abdb56adbca0727e7b7360f1eabed1" alt="Baño antes" > </div> </div> <div class="tw-px-colgap sm:tw-basis-1/2 tw-pt-8"> <div class="tw-relative tw-p-3 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-absolute tw-end-0 tw-top-0 tw-mt-6 tw-me-9 tw-font-bold tw-text-white"> Después </h3> <img height="461" width="680" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="680" height="461" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product-3/before-8.jpg?q=50&fm=webp&fit=max&s=d97eb56b361fe8b97d37330da46c14e8" alt="Baño después" > </div> </div> </div> </div> </div> </div> </div> <div class="tw-bg-cover tw-bg-no-repeat tw-text-white tw-overflow-hidden" data-lazy-load-class="tw-bg-[url('/theme/synoshi/product/bath-bg-mob.jpg')] md:tw-bg-[url('/theme/synoshi/product/bath-bg.jpg')]" data-ga-section="8 - Keep Your Bathroom" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="md:tw-grid tw-grid-cols-2 tw-gap-5 tw-items-center"> <div class="tw-py-10"> <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 md:tw-text-start tw-mb-5 tw-font-bold"> ¡Mantén tu baño libre de gérmenes! </h2> <p class="tw-my-10 md:tw-mb-0"> Synoshi limpia los lugares donde las bacterias se multiplican y propagan, como esquinas o tapas de desagüe de lavabos e inodoros. No dejes que la contaminación y los gérmenes se propaguen en tu hogar. ¡Mejor limpia fácilmente con Synoshi! </p> </div> <div class="flip-rtl md:tw-order-first tw-relative tw-self-end"> <img height="728" width="817" class="tw-scale-110 tw-w-full md:tw-origin-bottom-right" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="817" height="728" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-bath.png?q=50&fm=webp&fit=max&s=34d5372a838b9c9960d73a61bf42964c" alt="Limpieza fácil del baño con Synoshi" > <svg class="tw-absolute tw-top-0 tw-end-0 tw-w-[5rem] flip-rtl" fill="none" height="133" viewBox="0 0 133 133" width="133" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"><circle cx="66.5" cy="66.5" fill="#0083fd" r="66.5"/><g fill="#fff"><path d="m93.9039 44.4899c.6574-.2965 1.3542-.4935 2.0682-.5846v-6.7869c-.0002-.2054-.06-.4062-.172-.5774s-.2712-.3052-.4577-.3853c-.1866-.0801-.3923-.1029-.5916-.0653-.1992.0375-.3831.1336-.5288.2764-3.0716 3.0076-6.8033 5.0098-10.7896 5.8407-.0709.8166-.3529 1.5999-.8177 2.2708 4.1376-.638 8.0336-2.3789 11.2892-5.0447z"/><path d="m87.2925 85.6626c-.2148.2685-.4356.5367-.6623.8045-7.6408 9.0566-19.9405 13.6309-22.0849 14.3769-3.1602-1.1773-28.4804-11.2837-28.4804-31.7448v-29.894c2.7316 2.0212 8.3876 5.532 14.6945 5.532 5.2075 0 10.365-1.8109 14.2887-4.9961 1.6096 1.3002 3.3896 2.3676 5.2889 3.1715-.0167-.1353-.0292-.2707-.0355-.4081-.012-.5974.1062-1.1901.3463-1.7358-1.7841-.807-3.4414-1.8756-4.9187-3.1715-.1879-.1658-.4287-.2571-.6779-.2571s-.49.0913-.6779.2571c-3.6285 3.2043-8.5879 5.0469-13.6119 5.0469-7.8713 0-14.9708-6.3154-15.0417-6.381-.1491-.1325-.3324-.2193-.5284-.25s-.3965-.0041-.5782.0766c-.1814.0822-.3355.2157-.4439.3845-.1084.1687-.1665.3656-.1672.567v32.058c0 9.638 5.2482 18.5572 15.1804 25.7945 7.4145 5.4043 14.7142 7.9453 15.0188 8.0503.1069.038.2194.057.3327.057.1061 0 .2116-.016.3129-.049.5924-.19 14.613-4.7569 23.3625-15.1169.3838-.4553.7527-.9102 1.1066-1.3648-.7338-.0799-1.4328-.3589-2.0234-.8077z"/><path d="m94.6819 73.8503c.1673-.0227.336-.0343.5048-.0349.1043 0 .2086.0053.3129.0127.2072-1.0205.3466-2.0539.4172-3.0932-.676.2883-1.3907.4726-2.1204.5465-.0908.8795-.2343 1.7525-.4297 2.6143.2572-.0523.5188-.0792.7812-.0803.1785.0004.3569.0121.534.0349z"/><g clip-rule="evenodd" fill-rule="evenodd"><path d="m102.967 44.2298c2.103.7865.805 14.4988-2.19 20.274-3.6503 7.0417-11.1733 7.4994-16.8418 2.7327s-4.9207-13.1086.9741-17.1681c5.8949-4.0594 15.7407-6.7055 18.0577-5.8386z"/><path d="m81.7085 37.4642c.8522.3172.3265 5.8778-.8875 8.2183-1.481 2.8543-4.5296 3.0404-6.8273 1.1079s-1.9942-5.3153.3942-6.9592 6.3809-2.7179 7.3206-2.367z"/><path d="m94.7929 74.955c.8521.3171.3264 5.8777-.8886 8.2182-1.48 2.8543-4.5286 3.0404-6.8263 1.1079-2.2976-1.9324-1.9952-5.3153.3943-6.9592 2.3894-1.6439 6.3819-2.7179 7.3206-2.3669z"/><path d="m76.0785 59.3418c.5997.2241.2295 4.1292-.6258 5.7731-1.0429 2.0086-3.1821 2.1354-4.7976.7781-1.6156-1.3574-1.4007-3.7339.2774-4.8883s4.4868-1.9092 5.146-1.6629z"/></g></g></svg> </div> </div> </div> </div> <div class="tw-py-10" data-ga-section="9 - Why Every House"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-font-bold"> Por qué toda casa necesita un cepillo Synoshi: </h2> <div class="tw-grid tw-gap-8 md:tw-grid-cols-2 tw-items-center tw-justify-items-center"> <img height="791" width="844" class="tw-hidden md:tw-inline-block" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="844" height="791" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-4.png?q=80&fm=webp&fit=max&s=b4f627948fab13771b7fb3b9e9342e00" alt="Paquete de herramientas de limpieza Synoshi" > <img height="449" width="385" class="md:tw-hidden tw-max-w-[70%]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="385" height="449" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-4-mob.png?q=80&fm=webp&fit=max&s=e9a3dbce4e79cba83f83410ec45335fa" alt="Paquete de herramientas de limpieza Synoshi" > <div class="tw-grid tw-gap-5"> <div> <p class="tw-font-bold tw-mb-0">1. Synoshi facilita la limpieza.</p> <p class="tw-mb-0">Limpia tu casa más deprisa y fácilmente con el cepillo eléctrico manual sin cable Synoshi.</p> </div> <div> <p class="tw-font-bold tw-mb-0">2. ¡La única herramienta de limpieza que necesitarás!</p> <p class="tw-mb-0">Deshazte de todas tus otras herramientas de limpieza. Synoshi es la única herramienta que necesitarás para limpiar todas las superficies de tu hogar.</p> </div> <div> <p class="tw-font-bold tw-mb-0">3. Elimina la suciedad de los rincones.</p> <p class="tw-mb-0">La suciedad y la mugre pueden acumularse en los rincones de tu casa. Synoshi se ha diseñado para que llegue a esos lugares, dejándolos limpios y relucientes.</p> </div> <div> <p class="tw-font-bold tw-mb-0">4. ¡Úsalo donde quieras!</p> <p class="tw-mb-0">Synoshi es una solución "todo en uno" para tu casa, coche, bicicleta, sartenes, ollas ¡e incluso calzado!</p> </div> <div> <p class="tw-font-bold tw-mb-0">5. Mantén tu dinero en el banco, donde debe estar.</p> <p class="tw-mb-0">Limpiar la casa no debería ser caro. Synoshi te ahorra mucho dinero en productos de limpieza.</p> </div> </div> </div> </div> </div> <div class="tw-bg-[#E7E7E7] tw-py-9"> <style> @media (max-width: 767px) { .content-1__load-more { max-height: 150px; margin-bottom: -40px; -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0.45)), to(rgba(0,0,0,0))) } } </style> <div class="tw-text-black tw-font-bold" data-ga-section="10 - Un utensilio de limpieza para todas las superficies"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-text-center"> Un utensilio de limpieza para todas las superficies </h2> <div x-data="{ show: false }" class="tw-relative tw-grid tw-gap-[30px] md:tw-grid-cols-3 tw-items-start"> <div class="" :class="{ 'tw-hidden md:tw-block': !show && false && 0 > 3, 'content-1__load-more': !show && false && 0 === 3 }"> <div class="tw-p-s12 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <video class="lazyload" src="https://media.enence.com/theme/synoshi/product-3/4.mp4" loop muted playsinline preload="none" > <source src="https://media.enence.com/theme/synoshi/product-3/4.mp4" type="video/mp4" > </video> </div> <div class="tw-mt-s16"> <p class="tw-font-bold tw-mb-0">Acero inoxidable </p> </div> </div> <div class="" :class="{ 'tw-hidden md:tw-block': !show && false && 1 > 3, 'content-1__load-more': !show && false && 1 === 3 }"> <div class="tw-p-s12 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <video class="lazyload" src="https://media.enence.com/theme/synoshi/product-3/5.mp4" loop muted playsinline preload="none" > <source src="https://media.enence.com/theme/synoshi/product-3/5.mp4" type="video/mp4" > </video> </div> <div class="tw-mt-s16"> <p class="tw-font-bold tw-mb-0">Superficies blandas</p> </div> </div> <div class="" :class="{ 'tw-hidden md:tw-block': !show && false && 2 > 3, 'content-1__load-more': !show && false && 2 === 3 }"> <div class="tw-p-s12 tw-shadow-[4px_6px_11px_0_#00000040] tw-bg-white"> <video class="lazyload" src="https://media.enence.com/theme/synoshi/product-3/6.mp4" loop muted playsinline preload="none" > <source src="https://media.enence.com/theme/synoshi/product-3/6.mp4" type="video/mp4" > </video> </div> <div class="tw-mt-s16"> <p class="tw-font-bold tw-mb-0">Cerámica </p> </div> </div> </div> </div> </div> </div> <div class="tw-my-10" data-ga-section="11 - Traditional Tools"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-my-10 tw-font-bold"> Las herramientas tradicionales no se pueden comparar con Synoshi </h2> <div class="tw-grid md:tw-grid-cols-2 tw-gap-6"> <div> <img height="800" width="800" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="800" height="800" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/this-hybrid-1.jpg?q=80&fm=webp&fit=max&s=64da7c5c12852b2dc160d8bd14c7a5ef" alt="Limpieza sin esfuerzo con Synoshi" > <div class="tw-mt-5 tw-mb-2"> <svg class="tw-mx-auto tw-h-[1.2em]" fill="none" height="33" viewBox="0 0 179 33" width="179" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m81.4131 5.77734v26.44356h-7.3861l-10.1142-12.0168v12.0168h-8.7502v-26.44356h7.3861l10.1142 12.01676v-12.01676z"/><path d="m117.711 32.0889c-2.096-.4952-3.826-1.1555-5.157-1.9808l2.895-6.5036c1.264.7263 2.695 1.3205 4.258 1.7497 1.564.4291 3.095.6602 4.525.6602 1.231 0 2.129-.132 2.662-.3631.532-.2311.798-.5942.798-1.0894 0-.5613-.366-.9574-1.031-1.2545-.699-.2642-1.863-.5943-3.46-.8914-2.063-.4292-3.76-.8914-5.124-1.3866s-2.562-1.2875-3.593-2.4099c-1.031-1.1225-1.531-2.6411-1.531-4.5558 0-1.6507.466-3.1693 1.398-4.52285.931-1.35354 2.329-2.44298 4.192-3.20228 1.863-.79232 4.125-1.15546 6.787-1.15546 1.83 0 3.627.19807 5.39.59423s3.327.95739 4.658 1.71669l-2.695 6.47057c-2.628-1.3205-5.091-1.9808-7.419-1.9808-2.296 0-3.461.5612-3.461 1.6507 0 .5282.333.9244 1.032 1.1885.698.2641 1.83.5612 3.393.8583 2.03.3631 3.76.8253 5.157 1.2875 1.398.4952 2.595 1.2875 3.627 2.41 1.031 1.1224 1.53 2.608 1.53 4.5228 0 1.6507-.466 3.1693-1.397 4.5228-.932 1.3535-2.329 2.41-4.192 3.2023s-4.126 1.1885-6.787 1.1885c-2.229 0-4.359-.2311-6.455-.7263z"/><path d="m165.521 5.77734v26.44356h-8.983v-9.7389h-8.318v9.7389h-8.983v-26.44356h8.983v9.37576h8.318v-9.37576z"/><path d="m169.846 5.77734h8.983v26.44356h-8.983z"/><path d="m111.224 18.5204c0 7.7581-6.721 14.1297-14.5063 13.7995-7.7521-.3301-13.8406-7.1638-13.275-14.8229.3327-4.5888 3.0609-8.78151 7.0866-11.02641-1.4306-1.7497-1.9297-4.22569-1.8631-6.47059.8983 1.91477 2.6949 5.05102 5.2235 5.11705-.4991-.82533-.3993-1.7497-.2995-2.83914.4991 1.58463 1.7634 2.90516 3.0609 3.86255.8983.66026 1.8964 1.18847 2.8946 1.61764.9653.39616 2.7943.52821 3.3933 1.45258.566.89132-.233 1.38652-.698 2.04682-.566.8253-.1 1.5516-1.132 1.6837-.465.066-1.098-.1981-1.5966-.1981-1.0314 0-2.0961.1981-2.9278.8583.1331-.2971.1996-.6602.1996-.9904-.0333-.8913-.3327-.8253-1.0979-.6272-1.1978.2971-2.2624.8914-3.1275 1.7497-1.8298 1.7827-2.4953 4.4898-1.6968 6.8998 1.6968 5.084 8.6837 6.2064 11.911 1.8817 1.53-2.0468 1.564-4.4238.765-6.7677-.366-1.0234-1.364-2.7731-.898-3.8625.299-.6933 1.064-.9574 1.164-1.8158.2-1.38653-.998-1.94775-2.096-2.27788-2.0625-.66027-4.0588-1.51861-5.6558-3.03722 8.0178-.69328 15.1718 5.7443 15.1718 13.7665z"/><path d="m5.15694 32.0888c-2.09605-.4952-3.82612-1.1554-5.15694-1.9808l2.89454-6.5036c1.26428.7263 2.69491 1.3205 4.25863 1.7497s3.09413.6603 4.52483.6603c1.231 0 2.1293-.1321 2.6616-.3632s.7985-.5942.7985-1.0894c0-.5612-.3327-.9574-1.0314-1.2545-.6987-.2641-1.8299-.5942-3.4269-.8914-2.096-.3961-3.79279-.8583-5.19016-1.3535-1.36409-.4952-2.56183-1.2875-3.59322-2.41-1.031385-1.1224-1.530444-2.641-1.530444-4.5558 0-1.6506.465788-3.1693 1.397364-4.52279.93158-1.35354 2.32894-2.44298 4.19209-3.20228 1.86315-.79232 4.12557-1.15547 6.78717-1.15547 1.8299 0 3.6265.19808 5.3899.59424 1.7633.39616 3.327.95739 4.6578 1.71669l-2.6949 6.47061c-2.6284-1.3206-5.0904-1.9478-7.4193-1.9478-2.2957 0-3.46016.5612-3.46016 1.6507 0 .5282.33271.9243 1.03136 1.1884.6987.2641 1.8299.5613 3.3936.8584 2.0295.3631 3.7263.8253 5.1237 1.2875 1.3974.4952 2.5951 1.2875 3.6265 2.41 1.0314 1.1224 1.5304 2.608 1.5304 4.5228 0 1.6506-.4658 3.1692-1.3973 4.5228-.9316 1.3535-2.329 2.4099-4.1921 3.2023-1.8632.7923-4.1256 1.1884-6.7872 1.1884-2.1626-.066-4.32519-.2971-6.38796-.7923z"/><path d="m43.2519 22.6141v9.5738h-8.983v-9.6729l-10.0477-16.73766h9.4821l5.4564 9.14466 5.4896-9.14466h8.6836z"/></g></svg> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">Limpieza sin esfuerzo</p> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">En unos minutos</p> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">1 herramienta</p> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">Necesidad mínima de productos químicos</p> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">Resultados perfectos</p> </div> <div class="tw-flex"> <svg class="tw-text-[#1AC70E] tw-mx-3" fill="none" height="20" viewBox="0 0 24 20" width="24" xmlns="http://www.w3.org/2000/svg"><path d="m20.0616.5-11.19642 11.1534-4.92679-4.90884-3.93839 3.92424 8.86518 8.8312 15.13482-15.07672z" fill="currentColor"/></svg> <p class="tw-mb-0">Limpia las esquinas con facilidad</p> </div> </div> <div> <img height="800" width="800" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="800" height="800" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/this-hybrid-2.jpg?q=80&fm=webp&fit=max&s=83024e8abcf3d3c4bb05455c6c7219b6" alt="Herramientas de limpieza tradicionales" > <div class="tw-mt-5 tw-mb-2 tw-text-center"> <div class="tw-font-bold">Herramientas de limpieza tradicionales</div> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Fregar a mano cansa mucho</p> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Se tardan horas</p> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Varias herramientas</p> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Se necesitan muchos productos químicos fuertes</p> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Siempre se escapa alguna mancha</p> </div> <div class="tw-flex"> <svg class="tw-text-error tw-mx-3" width="21" height="21" viewBox="0 0 21 21" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M21 17.0903L14.4097 10.4999L21 3.90975L17.0903 0L10.5 6.5903L3.90975 0L0 3.90975L6.5903 10.5L0 17.0903L3.90975 21L10.5001 14.4097L17.0904 21L21 17.0903Z" fill="currentColor"/></svg> <p class="tw-mb-0">Las zonas más ocultas permanecen sucias</p> </div> </div> </div> </div> </div> <div class="tw-bg-primary tw-py-10"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-10 tw-font-bold"> Mira SYNOSHI en acción </h2> <div data-ga-category="Element" data-ga-click="11 - Traditional Tools (Video Block Wrapper)" class="tw-w-full tw-h-full"> <div class="youtube-video" data-id="qYqchesuUlg" data-ga-category="Element" data-ga-click="11 - Traditional Tools (How to Video)"> <img height="909" width="1739" tabindex="0" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="1739" height="909" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/video-placeholder.jpg?q=80&fm=jpg&fit=max&s=ba14276103199d58d6b6e5f2812a88df" alt="Miniatura de video en acción de Synoshi" > <div class="play-button"></div> <div class="iframe-container" style="display:none;"></div> </div> </div> </div> </div> <div class="tw-py-10 tw-bg-[#E7E7E7]"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-3 tw-font-bold"> Preguntas frecuentes </h2> <h2 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-font-normal tw-mb-10"> Lo que la gente pregunta sobre SYNOSHI </h2> </div> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <div class="tw-grid tw-gap-y-8 tw-gap-x-7 tw-grid-cols-[2rem_1fr]" data-ga-section="12 - Frequently Asked Questions" > <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Cuáles son las especificaciones de Synoshi? </h3> <p class="tw-font-normal tw-mb-0"> R: El tamaño de Synoshi es de 11,5 por 18 cm. Tiene una potencia de 10 W. Es muy ligero, con solo 300 g de peso. </p> </div> <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Es Synoshi resistente al agua? </h3> <p class="tw-font-normal tw-mb-0"> R: Sí, Synoshi es resistente al agua y puede utilizarse en la ducha o en el fregadero. Sin embargo, no debes sumergir completamente el dispositivo en el agua. </p> </div> <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Cuál es el tipo de carga? </h3> <p class="tw-font-normal tw-mb-0"> R: Synoshi se carga con un cargador USB de tipo C. </p> </div> <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Cuánto puede durar Synoshi con una sola carga? </h3> <p class="tw-font-normal tw-mb-0"> R: Synoshi tiene hasta 45 minutos de tiempo de uso ¡para que puedas limpiar toda la casa con una sola carga! </p> </div> <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Qué incluye Synoshi? </h3> <p class="tw-font-normal tw-mb-0"> R: 1 dispositivo, 1 cable de carga, 1 manual, 1 cepillo gris redondo, 1 esponja, 1 estropajo, y 1 cabezal de fijación. </p> </div> <svg class=" tw-w-full" fill="none" height="35" viewBox="0 0 31 35" width="31" xmlns="http://www.w3.org/2000/svg"><path d="m30.1501 20.0507c0 8.3964-7.2041 15.2936-15.5846 14.936-8.32301-.3547-14.868472-7.7639-14.257381-16.0627.365225-4.9591 3.279521-9.50446 7.614331-11.93091-1.5238-1.90405-2.08235-4.59224-1.99123-6.99330362.97525 2.08283362 2.88571 5.48115362 5.61058 5.55266362-.545-.87818-.4345-1.90905-.3123-3.09045.531 1.70667 1.8808 3.13658 3.2838 4.18783.9592.71906 2.0205 1.29439 3.1244 1.75744 1.0249.4298 3.0079.5596 3.628 1.56794.6003.97649-.2366 1.50359-.7394 2.22799-.6118.8814-.109 1.6774-1.2311 1.8122-.5118.0615-1.1947-.2139-1.7304-.2185-1.1032-.0093-2.2546.2127-3.128.9307.1297-.3314.2302-.7201.2134-1.0777-.0447-.9504-.3617-.8799-1.1793-.6808-1.2708.3097-2.4437.969-3.3746 1.888-1.95193 1.9262-2.66737 4.8693-1.81113 7.4764 1.81043 5.5126 9.33613 6.7058 12.77613 2.0549 1.6395-2.2169 1.6828-4.7986.8047-7.3123-.3856-1.1048-1.4541-3.0175-.9552-4.1839.3145-.7362 1.1271-1.0494 1.2493-1.9559.2037-1.51354-1.0674-2.10245-2.2517-2.47539-2.2214-.70012-4.3713-1.65483-6.063-3.29999 8.6321-.78236 16.3047 6.21348 16.3047 14.88978z" fill="currentColor"/></svg> <div> <h3 data-wrap-text class="tw-text-h3-mob md:tw-text-h3 !tw-text-base tw-mb-2" auto-align="auto-align"> P: ¿Es Synoshi silencioso? </h3> <p class="tw-font-normal tw-mb-0"> R: ¡Sí! Aunque Synoshi friega muy deprisa, es extremadamente silencioso y apenas vibra. </p> </div> </div> </div> </div> <div class="tw-py-10 tw-bg-zinc-100"> <div data-ga-section="13 - Customer Reviews"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" x-data="initReviews" > <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-mb-8 tw-font-bold"> Opiniones de nuestros clientes </h3> <div class="sm:tw-columns-2 md:tw-columns-3 tw-gap-6"> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 tw-mb-6" :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 1)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Catalina B </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> Este pequeño y práctico dispositivo está realmente bien pensado. ¡Es inalámbrico y se carga por USB, lo cual es súper práctico! Y con los diferentes cabezales de cepillo, realmente puedes eliminar cualquier tipo de suciedad. Estoy encantada con él y definitivamente recomiendo este producto. </p> <div class="tw-w-3/4 tw-pt-2"> <img height="366" width="490" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="490" height="366" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-1.jpg?q=50&fm=webp&fit=max&s=3d19e7357dbfbdf08d1cafc7d01575e7" alt="Zapatos blancos antes y después" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 tw-mb-6" :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 2)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Tomás A </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> Es un producto muy útil a buen precio. He utilizado Synoshi en casa para limpiar platos, horno, ollas y sartenes, y el baño. Trabajo como conductor de autobuses, y he estado usando Synoshi para limpiar las llantas de aleación de mis autobuses y aplicar abrillantador. La batería dura mucho, se carga deprisa y con facilidad, es fácil de usar y tiene una potencia razonable para una unidad tan pequeña. </p> <div class="tw-w-3/4 tw-pt-2"> <img height="274" width="490" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="490" height="274" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-2.jpg?q=50&fm=webp&fit=max&s=8ae47b7333b085eee2a06c6468fc256a" alt="Baño antes y después" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 tw-mb-6" :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 3)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Thalía C </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> Llegó rápidamente y cuando lo usé por primera vez, me sorprendió lo bien que eliminó las marcas que eran difíciles de quitar durante dos años. </p> <div class="tw-w-3/4 tw-pt-2"> <img height="324" width="500" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="500" height="324" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-3.jpg?q=50&fm=webp&fit=max&s=0e0db184b344238e6bfbd011c8c7f627" alt="Suelo de la cocina antes y después" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 tw-mb-6" :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 4)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Clemente M </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> ¡El aparato es muy práctico! Mi mujer lo usó para probarlo en la ducha para eliminar el moho leve de las juntas del sellado y logró un resultado muy satisfactorio. Pero se emocionó más aún cuando pudo hacer que nuestros sillones de cuero del cuarto de estar brillaran de manera rápida y fácil. ¡Ahora quiere limpiar la tapicería del coche! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="503" width="487" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="487" height="503" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-4.jpg?q=50&fm=webp&fit=max&s=a2d74ebd7f1aefc35342d53e3adf35ef" alt="Asiento de coche antes y después" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 tw-mb-6" :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 5)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Olivia M </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> Mi Synoshi es maravilloso. No tienes que frotar. Normalmente, termino agotada después de limpiar las dos duchas. ¡Ahora podría hacer ambas duchas en una hora! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="285" width="470" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="470" height="285" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-5.jpg?q=50&fm=webp&fit=max&s=96d723b8160dd8d565f81ff0611277f3" alt="Ducha antes y después" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid tw-border-neutral-500 " :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 6)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> Ana T </div> </div> <div class="tw-mb-2 tw-flex tw-text-badge-success"> <svg class="tw-h-[1.2em]" fill="none" viewBox="0 0 22 22" xmlns="http://www.w3.org/2000/svg"><path d="m22 11-2.44-2.77996.34-3.68-3.61-.82-1.89-3.180001-3.4 1.460001-3.4-1.460001-1.89 3.180001-3.61.81.34 3.68-2.44 2.78996 2.44 2.78-.34 3.69 3.61.82 1.89 3.18 3.4-1.47 3.4 1.46 1.89-3.18 3.61-.82-.34-3.68zm-13 5-4-4 1.41-1.41 2.59 2.58 6.59-6.58996 1.41 1.42z" fill="currentColor"/></svg> <span class="tw-ms-3"> Cliente verificado </span> </div> <img height="72" width="456" class="tw-mb-2 tw-object-contain tw-h-5 tw-object-left" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="456" height="72" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="Estrellas de Trustpilot" > <p class="tw-mb-0"> Es un gran limpiador pequeño y estamos muy contentos con los resultados. Su respuesta a nuestra compra fue rápida y eficiente. Ningún problema en absoluto. Hemos recomendado el Synoshi a familiares y amigos. Gracias. </p> <div class="tw-w-3/4 tw-pt-2"> <img height="287" width="494" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="494" height="287" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/reviews/rev-6.jpg?q=50&fm=webp&fit=max&s=cd935fa7967beefa1c20fa50d47dc05b" alt="Grifo de la ducha antes y después" > </div> </div> </div> </div> </div> </div> <div class="tw-bg-center tw-bg-cover tw-bg-no-repeat tw-text-white tw-text-center flip-rtl" data-lazy-load-class="tw-bg-[url('/theme/synoshi/product/limited-bg-mob.jpg?1')] tw-bg-[url('/theme/synoshi/product/limited-bg.jpg?1')]" data-ga-section="14 - Limited Time Promo" > <div class="tw-bg-contain tw-bg-top tw-bg-no-repeat tw-pt-[22vw] md:tw-pt-10" data-lazy-load-class="tw-bg-[url('/theme/synoshi/product/limited-foam.png')] md:tw-bg-none" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-grid md:tw-grid-cols-[40%_1fr] tw-gap-1 md:tw-gap-10 tw-items-center flip-rtl" > <div> <h3 data-wrap-text class="tw-text-center tw-text-h3-mob md:tw-text-h3 tw-my-0 tw-font-bold"> Promoción por tiempo limitado:<br> ¡70 % de descuento en el Cepillo Eléctrico SYNOSHI! </h3> <a href="https://get-synoshi.com/synoshi/order?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-bg-btn tw-inline-block tw-font-bold tw-px-10 tw-py-2 tw-rounded-md tw-text-center tw-text-btn-text tw-transition-all tw-drop-shadow-sm hover:tw-scale-105 hover:tw-brightness-[1.03] hover:tw-drop-shadow-md tw-leading-tight tw-my-7" data-ga-category="Call To Action" data-ga-click="14 - Limited Time Promo (CTA)" > Consigue un descuento del 70 % </a> <h4 data-wrap-text class="tw-text-center tw-text-h4-mob md:tw-text-h4 tw-mb-0 md:tw-mb-10 tw-font-bold"> No te quedes sin tu cepillo eléctrico SYNOSHI, aprovecha antes de que termine esta promoción... </h4> </div> <div class="md:-tw-order-1 tw-self-end"> <img height="486" width="436" class="tw-max-w-[70%] md:tw-max-w-full tw-mx-auto flip-rtl" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="436" height="486" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/assets/theme/synoshi/product/product-5.png?q=80&fm=webp&fit=max&0=1&s=19d7a02a2b8d547dfdc29e255afb32bc" alt="Synoshi cepillo de poder" > </div> </div> </div> </div> <footer class="tw-bg-footer-bg tw-text-footer-text tw-py-7" data-ga-section="15 - Footer" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl" > <span data-ga-category="Link" data-ga-click="15 - Footer (Logo)"> <svg class="tw-max-w-[12rem] tw-mb-7 tw-mx-auto md:tw-mx-0" fill="none" height="33" viewBox="0 0 179 33" width="179" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="m81.4131 5.77734v26.44356h-7.3861l-10.1142-12.0168v12.0168h-8.7502v-26.44356h7.3861l10.1142 12.01676v-12.01676z"/><path d="m117.711 32.0889c-2.096-.4952-3.826-1.1555-5.157-1.9808l2.895-6.5036c1.264.7263 2.695 1.3205 4.258 1.7497 1.564.4291 3.095.6602 4.525.6602 1.231 0 2.129-.132 2.662-.3631.532-.2311.798-.5942.798-1.0894 0-.5613-.366-.9574-1.031-1.2545-.699-.2642-1.863-.5943-3.46-.8914-2.063-.4292-3.76-.8914-5.124-1.3866s-2.562-1.2875-3.593-2.4099c-1.031-1.1225-1.531-2.6411-1.531-4.5558 0-1.6507.466-3.1693 1.398-4.52285.931-1.35354 2.329-2.44298 4.192-3.20228 1.863-.79232 4.125-1.15546 6.787-1.15546 1.83 0 3.627.19807 5.39.59423s3.327.95739 4.658 1.71669l-2.695 6.47057c-2.628-1.3205-5.091-1.9808-7.419-1.9808-2.296 0-3.461.5612-3.461 1.6507 0 .5282.333.9244 1.032 1.1885.698.2641 1.83.5612 3.393.8583 2.03.3631 3.76.8253 5.157 1.2875 1.398.4952 2.595 1.2875 3.627 2.41 1.031 1.1224 1.53 2.608 1.53 4.5228 0 1.6507-.466 3.1693-1.397 4.5228-.932 1.3535-2.329 2.41-4.192 3.2023s-4.126 1.1885-6.787 1.1885c-2.229 0-4.359-.2311-6.455-.7263z"/><path d="m165.521 5.77734v26.44356h-8.983v-9.7389h-8.318v9.7389h-8.983v-26.44356h8.983v9.37576h8.318v-9.37576z"/><path d="m169.846 5.77734h8.983v26.44356h-8.983z"/><path d="m111.224 18.5204c0 7.7581-6.721 14.1297-14.5063 13.7995-7.7521-.3301-13.8406-7.1638-13.275-14.8229.3327-4.5888 3.0609-8.78151 7.0866-11.02641-1.4306-1.7497-1.9297-4.22569-1.8631-6.47059.8983 1.91477 2.6949 5.05102 5.2235 5.11705-.4991-.82533-.3993-1.7497-.2995-2.83914.4991 1.58463 1.7634 2.90516 3.0609 3.86255.8983.66026 1.8964 1.18847 2.8946 1.61764.9653.39616 2.7943.52821 3.3933 1.45258.566.89132-.233 1.38652-.698 2.04682-.566.8253-.1 1.5516-1.132 1.6837-.465.066-1.098-.1981-1.5966-.1981-1.0314 0-2.0961.1981-2.9278.8583.1331-.2971.1996-.6602.1996-.9904-.0333-.8913-.3327-.8253-1.0979-.6272-1.1978.2971-2.2624.8914-3.1275 1.7497-1.8298 1.7827-2.4953 4.4898-1.6968 6.8998 1.6968 5.084 8.6837 6.2064 11.911 1.8817 1.53-2.0468 1.564-4.4238.765-6.7677-.366-1.0234-1.364-2.7731-.898-3.8625.299-.6933 1.064-.9574 1.164-1.8158.2-1.38653-.998-1.94775-2.096-2.27788-2.0625-.66027-4.0588-1.51861-5.6558-3.03722 8.0178-.69328 15.1718 5.7443 15.1718 13.7665z"/><path d="m5.15694 32.0888c-2.09605-.4952-3.82612-1.1554-5.15694-1.9808l2.89454-6.5036c1.26428.7263 2.69491 1.3205 4.25863 1.7497s3.09413.6603 4.52483.6603c1.231 0 2.1293-.1321 2.6616-.3632s.7985-.5942.7985-1.0894c0-.5612-.3327-.9574-1.0314-1.2545-.6987-.2641-1.8299-.5942-3.4269-.8914-2.096-.3961-3.79279-.8583-5.19016-1.3535-1.36409-.4952-2.56183-1.2875-3.59322-2.41-1.031385-1.1224-1.530444-2.641-1.530444-4.5558 0-1.6506.465788-3.1693 1.397364-4.52279.93158-1.35354 2.32894-2.44298 4.19209-3.20228 1.86315-.79232 4.12557-1.15547 6.78717-1.15547 1.8299 0 3.6265.19808 5.3899.59424 1.7633.39616 3.327.95739 4.6578 1.71669l-2.6949 6.47061c-2.6284-1.3206-5.0904-1.9478-7.4193-1.9478-2.2957 0-3.46016.5612-3.46016 1.6507 0 .5282.33271.9243 1.03136 1.1884.6987.2641 1.8299.5613 3.3936.8584 2.0295.3631 3.7263.8253 5.1237 1.2875 1.3974.4952 2.5951 1.2875 3.6265 2.41 1.0314 1.1224 1.5304 2.608 1.5304 4.5228 0 1.6506-.4658 3.1692-1.3973 4.5228-.9316 1.3535-2.329 2.4099-4.1921 3.2023-1.8632.7923-4.1256 1.1884-6.7872 1.1884-2.1626-.066-4.32519-.2971-6.38796-.7923z"/><path d="m43.2519 22.6141v9.5738h-8.983v-9.6729l-10.0477-16.73766h9.4821l5.4564 9.14466 5.4896-9.14466h8.6836z"/></g></svg> </span> <div class="tw-flex tw-justify-center md:tw-block"> <div class="tw-grid tw-grid-cols-1 lg:tw-grid-cols-4 md:tw-grid-cols-2 tw-gap-5"> <hr class="tw-border-[#909090] tw-block md:tw-hidden"> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> TIENDA </div> <div class="tw-mt-4"> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/products)" href="https://get-synoshi.com/synoshi/products?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Adquiere los cabezales para el cepillo </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/wholesale)" href="https://get-synoshi.com/synoshi/wholesale?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Venta al por mayor </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> INFORMACIÓN </div> <div class="tw-mt-4"> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/terms)" href="https://get-synoshi.com/synoshi/terms?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Términos y condiciones del servicio </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/privacy)" href="https://get-synoshi.com/synoshi/privacy?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Política de privacidad </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/shipping)" href="https://get-synoshi.com/synoshi/shipping?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Política de envíos </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/billing-policy)" href="https://get-synoshi.com/synoshi/billing-policy?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Política de facturación </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" rel="nofollow noopener noreferrer" data-ga-category="Link" data-ga-click="15 - Footer (Affiliates)" href="https://ekomlita.everflowclient.io/affiliate/signup/?q=5J473L"> Filiales </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/user-guide)" href="https://get-synoshi.com/synoshi/user-guide?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Guía para el usuario </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> PEDIDO </div> <div class="tw-mt-4"> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/tracking)" href="https://get-synoshi.com/synoshi/tracking?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Estado del pedido </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (/synoshi/return)" href="https://get-synoshi.com/synoshi/return?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1"> Política de devoluciones y reembolsos </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (Order Link 3)" href="https://support.synoshi.com/es/support/home"> Preguntas frecuentes </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="15 - Footer (Order Link 4)" href="https://support.synoshi.com/es/support/home"> Información de contacto </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> SERVICIOS AL CLIENTE: </div> <div class="tw-mt-4"> <div class="tw-text-footer-text tw-text-opacity-50"> <svg class="tw-h-[1.4em] tw-inline-block tw-me-2" enable-background="new 0 0 512 512" viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m488.9 373-75.9-64.6c-.4-.3-.7-.6-1.1-.8-19.9-12.7-45.5-9.9-62.2 6.8l-41.4 41.4c-2.9 2.9-7.1 3.7-10.9 2.2-46.7-19.3-85.1-48.4-114.1-86.5-22.1-29-30.1-52.1-31.1-55.3-.1-.7-.3-1.4-.6-2.1-1.6-3.8-.7-8 2.2-10.9l41.4-41.4c16.7-16.7 19.5-42.3 6.8-62.2-.1-.2-.2-.3-.3-.5l-54.8-76.2c-17.4-26.8-54.9-30.8-77.5-8.3l-8.3 8.3-29.6 29.7c-35.3 35.2-41.1 88.3-16.7 153.3 20.9 55.7 62.7 116.7 117.7 171.7 56.3 56.3 118.9 98.9 176.3 119.8 56.8 20.8 117.3 23.3 160.1-19.5l27.9-27.9c22.5-22.4 18.5-59.7-7.9-77zm-88.3-48.9 75.9 64.5c.3.3.7.6 1.1.8 16.2 10.3 18.7 33 5.1 46.5l-2.1 2.1-129.4-96.9 12.6-12.6c9.9-9.8 24.9-11.6 36.8-4.4zm-270.5-290.2c.1.2.2.3.3.5l54.8 76.2c7.4 11.9 5.7 27.1-4.2 37.1l-12.2 12.2-87.6-128.8 2.3-2.3c13.7-13.6 36.3-11 46.6 5.1zm185.6 444.8c-54.7-20-114.8-60.9-169.1-115.2-53-53-93.2-111.5-113.1-164.6-14.9-39.9-24.9-95.1 12.2-132.2l21.2-21.2 87.5 128.7-14.8 14.8c-8.4 8.4-11 20.8-6.8 31.8 3.2 13 17.7 39.8 32.3 59.7 21.6 29.2 60.7 69.5 124.7 95.9 11.2 4.7 24.1 2.1 32.7-6.5l14.5-14.5 129.4 96.9-11.6 11.5c-39.8 39.8-97.6 30.1-139.1 14.9z" fill="currentColor"/></svg> Ponte en contacto con nosotros: </div> <div class="tw-items-center tw-mt-1"> <a href="tel:+12189002005" data-ga-category="Link" data-ga-click="15 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +1 (218) 900-2005 </a> <a href="tel:+442080891401" data-ga-category="Link" data-ga-click="15 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +442080891401 </a> <a href="tel:+498004009820" data-ga-category="Link" data-ga-click="15 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +498004009820 </a> <a href="tel:+61290995746" data-ga-category="Link" data-ga-click="15 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +61290995746 </a> </div> <div class="tw-flex tw-text-footer-text tw-text-opacity-50 tw-items-center tw-mt-1"> <svg class="tw-h-[1.4em] tw-inline-block tw-me-2" enable-background="new 0 0 483.3 483.3" viewBox="0 0 483.3 483.3" xmlns="http://www.w3.org/2000/svg"><path d="m424.3 57.8h-365.2c-32.6 0-59.1 26.4-59.1 59v249.6c0 32.6 26.5 59.1 59.1 59.1h365.1c32.6 0 59.1-26.5 59.1-59.1v-249.4c.1-32.7-26.4-59.2-59-59.2zm32.1 308.7c0 17.7-14.4 32.1-32.1 32.1h-365.2c-17.7 0-32.1-14.4-32.1-32.1v-249.5c0-17.7 14.4-32.1 32.1-32.1h365.1c17.7 0 32.1 14.4 32.1 32.1z" fill="currentColor"/><path d="m304.8 238.6 118.2-106c5.5-5 6-13.5 1-19.1-5-5.5-13.5-6-19.1-1l-163 146.3-31.8-28.4c-.1-.1-.2-.2-.2-.3-.7-.7-1.4-1.3-2.2-1.9l-129.4-115.9c-5.6-5-14.1-4.5-19.1 1.1s-4.5 14.1 1.1 19.1l119.6 106.9-119.1 111.6c-5.4 5.1-5.7 13.6-.6 19.1 2.7 2.8 6.3 4.3 9.9 4.3 3.3 0 6.6-1.2 9.2-3.6l120.9-113.1 32.8 29.3c2.6 2.3 5.8 3.4 9 3.4s6.5-1.2 9-3.5l33.7-30.2 120.2 114.2c2.6 2.5 6 3.7 9.3 3.7 3.6 0 7.1-1.4 9.8-4.2 5.1-5.4 4.9-14-.5-19.1z" fill="currentColor"/></svg> <a href="https://get-synoshi.com/synoshi/contact?l=es&c=eur&vndr=evf&evf=1&offid=48&affiliate_id=792&uuid=01937126-63c1-743a-86ac-11a89148cba0&hj=1&gae=1&eppss=1&dab=0&shdp=0&sruep=1&slr=1&sale=bf2024&ppdf=credit&_=7191%2C2624%2C4288%2C5827%2C6050%2C6341%2C6390%2C7039%2C7399&sntp=1" class="tw-text-footer-text tw-text-opacity-50 tw-inline-block" data-ga-category="Link" data-ga-click="15 - Footer (Email)" > Envíanos un correo electrónico </a> </div> <a href="http://ec.europa.eu/odr" class="tw-text-footer-text tw-text-opacity-50 tw-mt-1"> Plataforma EGS </a> </div> </div> </div> </div> </div> </footer> <div class="tw-bg-white tw-text-black tw-py-2"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-flex tw-flex-col tw-justify-between tw-items-center md:tw-flex-row" > <p class="tw-tex-p tw-mb-0">® 2024 Synoshi Todos los derechos reservados. </p> <div class=" tw-w-full md:tw-w-auto"> <div class="tw-flex tw-flex-row tw-flex-wrap tw-items-center tw-justify-center"> <img class="tw-m-2 md:tw-my-0 tw-object-contain tw-w-[60px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/theme/images/processors/visa.svg" alt="Visa" > <img class="tw-m-2 md:tw-my-0 tw-object-contain tw-w-[60px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/theme/images/processors/mastercard.svg" alt="Mastercard" > <img class="tw-m-2 md:tw-my-0 tw-object-contain tw-w-[60px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/theme/images/processors/paypal.svg" alt="Paypal" > <img class="tw-m-2 md:tw-my-0 tw-object-contain tw-w-[60px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/theme/images/processors/klarna.svg" alt="Klarna" > <img class="tw-m-2 md:tw-my-0 tw-object-contain tw-w-[60px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="" height="" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-synoshi.com/theme/images/processors/amex-color.svg" alt="American Experess" > </div> </div> <div wire:snapshot="{"data":{"locale":"es","shouldRender":false,"languageSelector":[["de","en","es","es-mx","fi","fr","it","nl","nb","sv","pt","pt-br","ar","ja","pl","tr","ro","el","cs","sl","sk","hu","da","hr","es-co","bg","he","sr"],{"s":"arr"}],"currentUrl":"https:\/\/get-synoshi.com\/synoshi\/product?affiliate_id=792&c=eur&evf=1&l=es&offid=48&source_id=og-es&uid=5689&vndr=evf"},"memo":{"id":"0JPYbhZ86vjwRtVW5pv9","name":"footer-language-selector","path":"synoshi\/product","method":"GET","children":[],"scripts":[],"assets":[],"errors":[],"locale":"es"},"checksum":"a4f587797483909349e6d2bae853957b9e5de65d6868e6d1288003cb1f12c76e"}" wire:effects="[]" wire:id="0JPYbhZ86vjwRtVW5pv9" class="tw-hidden"> </div> </div> </div> <style> .bf-2024-bg { background: -o-radial-gradient(50% 50%, 50% 50%, #41CEF6 0%, #3DB1E4 50.5%, #3994D3 100%); background: radial-gradient(50% 50% at 50% 50%, #41CEF6 0%, #3DB1E4 50.5%, #3994D3 100%); } .bf2024-pp-text-color { color: #000; } .bf2024-op-text-color { color: #000; } .bf2024-badge-color { color: #3DB4E5; } </style> <script> document.addEventListener("DOMContentLoaded", function () { var youtubeVideos = document.querySelectorAll(".youtube-video"); var eventsList = ["click", "keypress"]; youtubeVideos.forEach(function (video) { eventsList.forEach(function (event) { video.addEventListener(event, function () { video.style.paddingBottom = '56.25%'; var videoId = this.getAttribute("data-id"); var iframe = document.createElement("iframe"); iframe.setAttribute("src", (videoId.indexOf("?") !== -1 ? ("https://www.youtube.com/embed/" + videoId) : ("https://www.youtube.com/embed/" + videoId + "?autoplay=1&mute=1&rel=0")) ); iframe.setAttribute("frameborder", "0"); iframe.setAttribute("allow", "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"); iframe.setAttribute("allowfullscreen", ""); iframe.setAttribute("width", "100%"); iframe.setAttribute("height", "100%"); var iframeContainer = this.querySelector(".iframe-container"); iframeContainer.innerHTML = ""; iframeContainer.appendChild(iframe); iframeContainer.style.display = "block"; this.querySelector("img").style.display = "none"; this.querySelector(".play-button").style.display = "none"; }); }); }); }); </script> <style> .youtube-video .iframe-container { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .youtube-video { position: relative; display: block; width: 100%; overflow: hidden; } .youtube-video img { width: 100%; height: auto; } .youtube-video .play-button { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; cursor: pointer; } </style> <script> (function () { document.querySelectorAll('[data-ga-click]').forEach((element) => { element.addEventListener('click', function (event) { typeof gatag !== 'undefined' && gatag('event', 'Click', { 'event_category': element.dataset.gaCategory, 'event_label': element.dataset.gaClick }); }); }); })(); (function () { function handleIntersection(entries, observer) { entries.forEach(function (entry) { if (entry.isIntersecting) { const sectionId = entry.target.dataset.gaSection; typeof gatag !== 'undefined' && gatag('event', 'Scroll', { 'event_category': 'Section', 'event_label': sectionId }); observer.unobserve(entry.target); } }); } var observer = new IntersectionObserver(handleIntersection); document.querySelectorAll('[data-ga-section]').forEach(function (section) { observer.observe(section); }.bind(this)); })() </script> <script> function initReviews() { return { showAllReviewsForMobile: !Boolean(), showMore() { this.showAllReviewsForMobile = !this.showAllReviewsForMobile; } } } </script> </div> <script data-navigate-once="true">window.livewireScriptConfig = {"csrf":"tEhWf5bQohb5NovAZhHXwkfhingERLi0zTetRJK2","uri":"\/livewire\/update","progressBar":"","nonce":""};</script> <link rel="modulepreload" href="https://get-synoshi.com/build/assets/tracktor-68a71fb6.js" /><script type="module" src="https://get-synoshi.com/build/assets/tracktor-68a71fb6.js" data-navigate-track="reload"></script> <script> window.addEventListener('load', function () { typeof tracktor !== "undefined" && tracktor.init('https://tracktor.me', "01937126-63c1-743a-86ac-11a89148cba0") .then(function () { tracktor.recordVisit( {"l":"es","c":"eur","vndr":"evf","evf":"1","offid":"48","affiliate_id":"792","uuid":"01937126-63c1-743a-86ac-11a89148cba0","hj":"1","gae":"1","eppss":"1","sruep":"1","slr":"1","sale":"bf2024","ppdf":"credit","_":"7191,2624,4288,5827,6050,6341,6390,7039,7399","sntp":"1"}, [{"key":"page_category","value":"product"},{"key":"ip_country","value":"SG"},{"key":"brand","value":"synoshi"},{"key":"locale","value":"es"},{"key":"vendor","value":"evf"}], null ).catch(function (error) { console.error(error); tracktor.initFallback("01937126-63c1-743a-86ac-11a89148cba0").then(function () { tracktor.recordVisit( {"l":"es","c":"eur","vndr":"evf","evf":"1","offid":"48","affiliate_id":"792","uuid":"01937126-63c1-743a-86ac-11a89148cba0","hj":"1","gae":"1","eppss":"1","sruep":"1","slr":"1","sale":"bf2024","ppdf":"credit","_":"7191,2624,4288,5827,6050,6341,6390,7039,7399","sntp":"1"}, [{"key":"page_category","value":"product"},{"key":"ip_country","value":"SG"},{"key":"brand","value":"synoshi"},{"key":"locale","value":"es"},{"key":"vendor","value":"evf"}], null ).catch((error) => console.error(error)); }) }); tracktor.addInputListeners(); }) .catch((error) => console.error(error)); }); </script> </body> </html>