CINXE.COM
Derila - 美國第一個枕頭完美: 70% 折扣! | Derila
<!DOCTYPE html> <html lang="zh-tw" 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> Derila - 美國第一個枕頭完美: 70% 折扣! | Derila </title> <meta property="og:image" content="https://get-derila.com/theme/derila/og-image.jpg"> <link rel="icon" type="image/png" href="https://get-derila.com/theme/derila/favicon_.png"> <meta name="description" content="Derila 記憶泡棉枕頭有助於支撐您的頭部、頸部和背部處於最佳位置: ✅。 現在購買 Derila 可享 70% 折扣。"> <link rel="canonical" href="https://get-derila.com/?l=zh-tw"/> <meta name="robots" content="noindex, nofollow"> <meta name="csrf-token" content="j6e91nx8sQdOSGcTM2CYEdCQFATTlVknf1T5Qu2c"> <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 = 'QIQmTyfBmPujrUtZ'; if (cookieSessionId === requestSessionId) { localStorage.setItem('last_csrf_token', 'j6e91nx8sQdOSGcTM2CYEdCQFATTlVknf1T5Qu2c') } 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> <style>@media (min-width: 0px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg-mobile.jpg?q=80&fm=webp&w=778&s=f33c3c0ba7889918251174f6bcd065f0');}}@media (min-width: 576px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg-bigger-mobile.jpg?q=80&fm=webp&w=778&s=68fda7c0b31c860925b5bc30c9ff4d47');}}@media (min-width: 768px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg-tablet.jpg?q=80&fm=webp&w=1037&s=6ebc2ef6ce63fbd2e18e77822e3dd647');}}@media (min-width: 1023px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg.jpg?q=80&fm=webp&w=1382&h=800&fit=max&s=c10a4429b280db438fe94a72772650de');}}@media (min-width: 1400px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg.jpg?q=80&fm=webp&w=1891&h=800&fit=max&s=7d0b077491ebf9dd20530b7ffcfde4f3');}}@media (min-width: 1560px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg.jpg?q=80&fm=webp&w=2106&h=800&fit=max&s=b57acc469ef67a02420c223b328d09af');}}@media (min-width: 1870px) {:root { --header-bg: url('https://get-derila.com/assets/theme/derila/product-9/header/bg.jpg?q=80&fm=webp&w=2525&h=800&fit=max&s=1dec6cebd4e63bffae00a55808f566ce');}}</style> <link rel="preload" as="style" href="https://get-derila.com/build/assets/product-211ab978.css" /><link rel="stylesheet" href="https://get-derila.com/build/assets/product-211ab978.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-derila.com/build/assets/theme-64d605d0.css" /><link rel="stylesheet" href="https://get-derila.com/build/assets/theme-64d605d0.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-derila.com/build/assets/main-90f63b7c.css" /><link rel="stylesheet" href="https://get-derila.com/build/assets/main-90f63b7c.css" data-navigate-track="reload" /> <link rel="preload" as="style" href="https://get-derila.com/build/assets/_ignore-rtl-build-41783ffe.css" /><link rel="stylesheet" href="https://get-derila.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-derila.com/build/assets/lazyload-b45a339c.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/will-be-removed-861b7b05.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/jquery-5fc13275.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/intersection-observer-90e9e37b.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/index-9b5fec24.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/_commonjsHelpers-042e6b4d.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/theme-a7886786.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/livewire.esm-0a5f2012.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/bootstrap-265771b1.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/whoops-b9817266.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/normalize-636e2359.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/text-wrapper-04ace8f7.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/track-visited-pages-8c5cc3a9.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/choices-90da538a.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/format-price-5af0b78f.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/product-value-parser-25984bef.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/dynamic-module-import-a60ef581.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/helpers-19863c19.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/debounce-b1b63336.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/preload-helper-6f27e6cf.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/alpine-c3ce3ad7.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/cart-option-a8aecb77.js" /><link rel="modulepreload" href="https://get-derila.com/build/assets/product-value-encoder-a50bb29a.js" /><script type="module" src="https://get-derila.com/build/assets/lazyload-b45a339c.js" data-navigate-track="reload"></script><script type="module" src="https://get-derila.com/build/assets/will-be-removed-861b7b05.js" data-navigate-track="reload"></script><script type="module" src="https://get-derila.com/build/assets/theme-a7886786.js" data-navigate-track="reload"></script><script type="module" src="https://get-derila.com/build/assets/alpine-c3ce3ad7.js" data-navigate-track="reload"></script> <style> :root { --btn-background-primary: #4277F0; } </style> <style> @keyframes scalePulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.2); } } .scale-pulse { animation: scalePulse 1500ms ease-in-out; } </style> <script> var orbServerData = JSON.parse('{\u0022gtmLayerPage\u0022:\u0022landing\u0022,\u0022pageCategory\u0022:\u0022index\u0022,\u0022brand\u0022:\u0022derila\u0022,\u0022country\u0022:\u0022SG\u0022,\u0022company\u0022:null,\u0022locale\u0022:\u0022zh-tw\u0022,\u0022currency\u0022:\u0022EUR\u0022}'); var orbSessionData = JSON.parse('{\u0022uuid\u0022:\u00220193812a-c9f2-7c10-bcd8-07e8a9065574\u0022,\u0022subid1\u0022:null,\u0022subid2\u0022:null,\u0022subid3\u0022:null,\u0022subid4\u0022:null,\u0022subid5\u0022:null,\u0022utm_campaign\u0022:null,\u0022product_page_version\u0022:\u002215\u0022,\u0022transaction_id\u0022:null,\u0022affiliate_id\u0022:null,\u0022offid\u0022:null,\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 = '1483246915738596'; 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=1483246915738596&ev=PageView&noscript=1"/> </noscript> <script> (function () { window.addEventListener("customer-info-form-touched", function () { let data = { brand: 'derila', url: 'https://get-derila.com/?l=zh-tw', pixel_type: 'brand' }; fetch('https://get-derila.com/send-meta-initiate-checkout-event', { method: 'POST', headers: { 'Content-Type': 'application/json', 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content') }, body: JSON.stringify(data) }).catch((error) => { }); }); })(); </script> <!-- 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:3023628,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", "n44re5d4t7"); </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: '' || location.pathname, page_category: 'index', 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-XMK7FRFCX5', eventParameters); gatag('set', 'user_properties', userProperties); gatag('event', 'split_test_view', JSON.parse('{\u0022split_test_id\u0022:3642,\u0022split_test_variation\u0022:\u00227189_#1 Show New Tracking Page Version\u0022,\u0022event_action\u0022:\u0022Viewed 3642\u0022,\u0022event_label\u0022:\u00227189_#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> <link rel="manifest" href="/firebase-manifest.json"/> <div wire:snapshot="{"data":{"uuid":"0193812a-c9f2-7c10-bcd8-07e8a9065574","showPushEngageCustomPrompt":false,"listeners":[["tokenRetrieved"],{"s":"arr"}],"params":[{"l":"zh-tw","uuid":"0193812a-c9f2-7c10-bcd8-07e8a9065574","hj":"1","gae":"1","eppss":"1","sndv":"1","ipp":"1","sruep":"1","sale":"bf2024","ppdf":"credit","_":"7189,2624,4288,5829,6102,6108,6341,7035,7399","sntp":"1"},{"s":"arr"}],"brand":"derila"},"memo":{"id":"3REFRC77yjl0Fibu7p5Z","name":"web-push-token","path":"\/","method":"GET","children":[],"scripts":[],"assets":[],"errors":[],"locale":"zh-tw"},"checksum":"629f46029e6480f60c95d5cee1284bd65912bdd344bc9ead6f1042bc35cf6bcc"}" wire:effects="{"listeners":["tokenRetrieved"]}" wire:id="3REFRC77yjl0Fibu7p5Z"> <link rel="modulepreload" href="https://get-derila.com/build/assets/firebase-9cd3834a.js" /><script type="module" src="https://get-derila.com/build/assets/firebase-9cd3834a.js" data-navigate-track="reload"></script> <script> document.addEventListener('alpine:init', function () { document.addEventListener('DOMContentLoaded', function () { let pushLocalCp = localStorage.getItem('pushcp-0193812a-c9f2-7c10-bcd8-07e8a9065574'); let notificationRequest = window.Notification && Notification.permission !== "denied" && Notification.permission !== "granted"; showNotification(); function showNotification() { let pushLocal = localStorage.getItem('push-0193812a-c9f2-7c10-bcd8-07e8a9065574'); if (!window.Notification) { return; } Notification.requestPermission() .then(async (permission) => { if (permission !== "granted") { return; } window.getFirebaseToken(window.firebaseMessaging, {vapidKey: 'BLWJQmUJwG7dktRIbr636SlG571NSxbnyngqLvC6qqXBUYMVK2sw-LiE7UjTcZ41atkn28vqnqf2N2nBfOL-_IQ'}) .then((currentToken) => { if (currentToken && (!pushLocal || pushLocal < Date.now())) { Livewire.dispatch('tokenRetrieved', {token: currentToken}); localStorage.setItem('push-0193812a-c9f2-7c10-bcd8-07e8a9065574', Date.now() + (1000 * 60 * 60 * 24)) } }) .catch(() => {}) } ) } }); }) </script> </div> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "Organization", "name": "Derila", "url": "https://get-derila.com/derila/product?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1", "logo": "https://get-derila.com/images/logos/derila.svg", "sameAs": [ "https://www.facebook.com/people/Derila/100083287444891/", "https://www.instagram.com/derilaofficial/" ] } </script> <script type="application/ld+json"> { "@context": "https://schema.org/", "@type": "Product", "name": "Derila 記憶泡沫枕頭", "image": [ "https://get-derila.com/theme/derila/product/google-graph-1.jpg", "https://get-derila.com/theme/derila/product/google-graph-2.jpg", "https://get-derila.com/theme/derila/product/google-graph-3.jpg" ], "description": "The Derila pillow has been meticulously crafted to maintain spinal alignment during sleep, thereby widening the airway and enhancing the flow of air into the lungs. Consequently, this leads to increased oxygen intake and a reduction in snoring, offering a more peaceful night’s sleep.", "sku": "5060694460837", "brand": { "@type": "Brand", "name": "Derila" }, "aggregateRating": { "@type": "AggregateRating", "ratingValue": 4.0, "reviewCount": 159 }, "offers": { "@type": "AggregateOffer", "offerCount": 4, "lowPrice": 39.95, "highPrice": 99.96, "priceCurrency": "USD" }, "additionalProperty": [ { "@type": "PropertyValue", "name": "Weight", "value": "750 g" }, { "@type": "PropertyValue", "name": "Size", "value": "50 x 30 x 10 cm" }, { "@type": "PropertyValue", "name": "Materials", "value": "Memory Foam" }, { "@type": "PropertyValue", "name": "Fill", "value": "Memory Foam" }, { "@type": "PropertyValue", "name": "Shape", "value": "Moulded Pillow" }, { "@type": "PropertyValue", "name": "Recommended use", "value": "Back / Side Sleepers" }, { "@type": "PropertyValue", "name": "Special features", "value": "Removable / Washable Pillow Cover" } ] } </script> </head> <body class="derila-product-15 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"> BLACK FRIDAY <span class="tw-font-[500]">SALE</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> OFF </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"> Time Left </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 class="tw-text-black"> <div data-ga-section="1 - Navigation" class="tw-bg-white tw-py-1"> <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-derila.com/?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="Derila logo, go to homepage" 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-derila.com/images/logos/derila.svg" alt="Derila" > </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-derila.com/derila/tracking?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1" class="tw-ml-6 tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (/derila/tracking)" > 追蹤訂單 </a> </div> <div> <a data-wrap-text href="https://support.derila.com/zh-tw/support/tickets/new" class="tw-ml-6 tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (Link 2)" > 聯絡方式 </a> </div> <div> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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)" > 立即訂購! </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-derila.com/derila/tracking?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1" class="tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (/derila/tracking)" > 追蹤訂單 </a> </div> <div class="tw-mt-5 tw-flex tw-justify-center"> <a data-wrap-text href="https://support.derila.com/zh-tw/support/tickets/new" class="tw-text-current" data-ga-category="Link" data-ga-click="1 - Navigation (Link 2)" > 聯絡方式 </a> </div> <div class="tw-mt-5 tw-flex tw-justify-center"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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)" > 立即訂購! </a> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="tw-bg-no-repeat tw-bg-cover tw-bg-[0_20%] md:tw-bg-center tw-bg-no-repeat flip-rtl" style="background-image: var(--header-bg);" > <div class="tw-pb-s40 md:tw-py-s40 tw-bg-cover tw-bg-no-repeat tw-bg-center tw-flex tw-flex-col tw-justify-center tw-text-white flip-rtl !tw-py-s16 xl:!tw-py-s80 md:!tw-pb-s40" data-ga-section="2 - Header" > <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 md:tw-justify-start "> <div> <span class="tw-hidden md:tw-inline tw-pb-32 md:tw-pb-0 !tw-block tw-text-center"> <div class="tw-relative"> <img height="72" width="456" class="tw-max-w-[150px] tw-mx-auto tw-mb-2" src="https://get-derila.com/assets/theme/gadgets/stars.png?q=80&fm=png&fit=max&s=3528047370d8167955a8fbdd4a4c70d5" alt="星星" > </div> <h1 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 tw-mb-6 tw-font-bold tw-text-h3-mob md:tw-text-h3"> Derila - 美國第一名的完美枕頭 </h1> </span> <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] ">折扣</p> <p class="tw-my-0 tw-font-bold tw-relative tw-leading-none tw-text-[115px] "> <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 ">最後機會</p> <p data-wrap-text class="tw-my-0 tw-text-lg sm:tw-text-[22px] tw-mb-s16 ">超優惠促銷倒數最後一天,敬請把握機會</p> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1" class="btn btn-primary btn-medium tw-mb-s12" data-ga-category="Call To Action" data-ga-click="2 - Header (CTA)" > 獲得 -70% 折扣優惠 </a> <p class="tw-text-note1 tw-font-bold tw-mb-0 "> - 零售價原為 € 133,17,現在僅售 € 39,95<br> - 線上專屬優惠<br> - 售完為止 </p> </div> </div> </div> </div> </div> <div class="md:tw-pt-s16 md:tw-pb-s40 flip-rtl"> <div class="tw-text-white tw-overflow-hidden"> <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-hidden md:tw-block tw-py-5"> <div class="tw-flex tw-items-center tw-justify-center md:-tw-mx-5 xl:-tw-mx-10"> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 1)" > <img height="98" width="99" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/1.png?q=80&fm=png&fit=max&s=bd013b29987852dff213ebfa767a879f" alt="NBC 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 2)" > <img height="96" width="96" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/2.png?q=80&fm=png&fit=max&s=7b318e55355394694e983eb882cbd9d4" alt="ABC 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 3)" > <img height="93" width="115" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/3.png?q=80&fm=png&fit=max&s=e4437ba6c8fe04bbf8af206447a7a126" alt="Fox News 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 4)" > <img height="110" width="110" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/4.png?q=80&fm=png&fit=max&s=dc4b14e8f8bb7a0e8cd2e2670e6bb9d1" alt="USA Today 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 5)" > <img height="49" width="167" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/5.png?q=80&fm=png&fit=max&s=ce7b844b66c5997c97b338510fcafd1c" alt="CBS 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 6)" > <img height="70" width="170" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/6.png?q=80&fm=png&fit=max&s=f4ee446e9bcb86cef8945dde120612d8" alt="Digital Journal 標誌" > </div> <div class="tw-max-w-[17%] md:tw-px-5 xl:tw-px-10" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 7)" > <img height="32" width="232" class="tw-max-h-[60px]" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/7.png?q=80&fm=png&fit=max&s=62a83b379a5bcb9622216f5f0e105e0f" alt="Benzinga 標誌" > </div> </div> <p class="tw-text-base tw-mb-0 tw-mt-10 tw-text-center">人體工學枕優點介紹文章</p> </div> <div class="md:tw-hidden tw-py-5"> <!-- Class tw-hidden prevents flickering --> <div x-cloak class="tw-cursor-grab tw-hidden " x-data="SC_674c13256ed18"> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 1)" > <img height="98" width="99" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/1.png?q=80&fm=png&fit=max&s=bd013b29987852dff213ebfa767a879f" alt="NBC 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 2)" > <img height="96" width="96" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/2.png?q=80&fm=png&fit=max&s=7b318e55355394694e983eb882cbd9d4" alt="ABC 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 3)" > <img height="93" width="115" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/3.png?q=80&fm=png&fit=max&s=e4437ba6c8fe04bbf8af206447a7a126" alt="Fox News 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 4)" > <img height="110" width="110" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/4.png?q=80&fm=png&fit=max&s=dc4b14e8f8bb7a0e8cd2e2670e6bb9d1" alt="USA Today 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 5)" > <img height="49" width="167" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/5.png?q=80&fm=png&fit=max&s=ce7b844b66c5997c97b338510fcafd1c" alt="CBS 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 6)" > <img height="70" width="170" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/6.png?q=80&fm=png&fit=max&s=f4ee446e9bcb86cef8945dde120612d8" alt="Digital Journal 標誌" > </div> <div class="tw-basis-1/2 tw-flex tw-justify-center tw-items-center" data-ga-category="Element" data-ga-click="2 - Header (Carousel image 7)" > <img height="32" width="232" class="tw-max-h-[50px] tw-max-w-[140px] tw-w-auto tw-px-5" src="https://get-derila.com/assets/theme/derila/product-9/header/channels/7.png?q=80&fm=png&fit=max&s=62a83b379a5bcb9622216f5f0e105e0f" alt="Benzinga 標誌" > </div> </div> </div> <p class="tw-block tw-mb-s24 md:tw-hidden tw-text-sm tw-text-center">人體工學枕優點介紹文章:</p> </div> </div> </div> </div> <div class="tw-bg-[#F2F2F2] tw-py-14 tw-text-black tw-overflow-hidden" data-ga-section="3 - Deep sleep"> <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-h1-mob md:tw-text-h1 tw-relative tw-z-[2] tw-font-bold"> 提供優質深層睡眠的絕佳枕頭。 </h2> <p class="tw-text-base tw-mb-0 tw-mt-6 tw-text-center tw-relative tw-z-[2] "> 想像一下,忙完一天後回到家,躺在夢寐以求的枕頭上有多棒。 <span class="tw-hidden md:tw-inline "> 它柔軟如雲的記憶泡棉和絲滑的外罩是你找到安慰的地方!它不只是枕頭,更是你身心的避風港。 </span> </p> <div class="tw-h-[300px] md:tw-h-[400px] sm:tw-my-12"> <div class="tw-hidden lg:tw-block tw-w-full tw-h-full"> <div data-ga-category="Element" data-ga-click="3 - Deep sleep (Video Block Wrapper)" class="tw-w-full tw-h-full"> <div id="video-placeholder" class="tw-relative tw-cursor-pointer tw-flex tw-relative tw-z-[1]" data-ga-category="Element" data-ga-click="3 - Deep sleep (How to/See it in action Video)"> </div> <video class="tw-w-full tw-w-full tw-h-full tw-scale-[2] lg:tw-scale-[2.5] tw-relative tw-z-[1]" autoplay loop playsinline muted preload="none" id="video" style=""> <source src=https://media.enence.com/theme/derila/product-9/new-derila-video-desktop.mp4 type="video/mp4"> </video> </div> </div> <div class="lg:tw-hidden tw-w-full tw-h-full"> <div data-ga-category="Element" data-ga-click="3 - Deep sleep (Video Block Wrapper)" class="tw-w-full tw-h-full"> <div id="video-placeholder" class="tw-relative tw-cursor-pointer tw-flex tw-relative tw-z-[1]" data-ga-category="Element" data-ga-click="3 - Deep sleep (How to/See it in action Video)"> </div> <video class="tw-w-full tw-w-full tw-h-full tw-scale-[2] lg:tw-scale-[2.5] tw-relative tw-z-[1]" autoplay loop playsinline muted preload="none" id="video" style=""> <source src=https://media.enence.com/theme/derila/product-9/new-derila-video.mp4 type="video/mp4"> </video> </div> </div> </div> <div class="tw-flex tw-justify-center tw-relative tw-z-[2]"> <div class="tw-flex tw-flex-col md:tw-hidden"> <p class="tw-text-h4 tw-mb-0 tw-font-bold tw-text-center">享受好處</p> <div class="tw-flex tw-items-center tw-pb-2"> <div class="tw-px-3"> <svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="9" cy="9.5" r="9" fill="#1AC70E"/> <path d="M12.6029 6L8.26478 10.8659L5.39709 7.64954L4 9.21635L6.8677 12.4329L8.26478 14L9.66168 12.4329L14 7.56708L12.6029 6Z" fill="white"/> </svg> </div> <p class="tw-text-base tw-mb-0">舒緩肩部肌肉</p> </div> <div class="tw-flex tw-items-center tw-pb-2"> <div class="tw-px-3"> <svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="9" cy="9.5" r="9" fill="#1AC70E"/> <path d="M12.6029 6L8.26478 10.8659L5.39709 7.64954L4 9.21635L6.8677 12.4329L8.26478 14L9.66168 12.4329L14 7.56708L12.6029 6Z" fill="white"/> </svg> </div> <p class="tw-text-base tw-mb-0">保護頸椎</p> </div> <div class="tw-flex tw-items-center tw-pb-2"> <div class="tw-px-3"> <svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="9" cy="9.5" r="9" fill="#1AC70E"/> <path d="M12.6029 6L8.26478 10.8659L5.39709 7.64954L4 9.21635L6.8677 12.4329L8.26478 14L9.66168 12.4329L14 7.56708L12.6029 6Z" fill="white"/> </svg> </div> <p class="tw-text-base tw-mb-0">為側臥提供頭部支撐</p> </div> <div class="tw-flex tw-items-center tw-pb-2"> <div class="tw-px-3"> <svg width="18" height="19" viewBox="0 0 18 19" fill="none" xmlns="http://www.w3.org/2000/svg"> <circle cx="9" cy="9.5" r="9" fill="#1AC70E"/> <path d="M12.6029 6L8.26478 10.8659L5.39709 7.64954L4 9.21635L6.8677 12.4329L8.26478 14L9.66168 12.4329L14 7.56708L12.6029 6Z" fill="white"/> </svg> </div> <p class="tw-text-base tw-mb-0">支撐您的頸部</p> </div> </div> <div class="tw-mx-0 tw-max-w-full tw-hidden md:tw-flex tw-flex-row tw-mt-10 tw-gap-4 lg:tw-gap-10"> <div class="tw-basis-1/3"> <div class="tw-flex tw-items-center tw-gap-3"> <p class="tw-text-base tw-mb-0 tw-font-bold">頸部支撐區</p> </div> <ul class="tw-list-disc ltr:tw-ml-10 rtl:tw-mr-10 ltr:md:tw-ml-4 rlt:md:tw-mr-4 tw-mt-2"> <li class="tw-text-base tw-mb-0">舒緩肩部肌肉</li> <li class="tw-text-base tw-mb-0">放鬆您的頭部</li> <li class="tw-text-base tw-mb-0">保護頸椎</li> </ul> </div> <div class="tw-basis-1/3"> <div class="tw-flex tw-items-center tw-gap-3"> <p class="tw-text-base tw-mb-0 tw-font-bold">柔軟的臉部區</p> </div> <ul class="tw-list-disc ltr:tw-ml-10 rtl:tw-mr-10 ltr:md:tw-ml-4 rlt:md:tw-mr-4 tw-mt-2"> <li class="tw-text-base tw-mb-0">緩解臉部壓力</li> <li class="tw-text-base tw-mb-0">為側臥提供頸部和頭部支撐</li> </ul> </div> <div class="tw-basis-1/3"> <div class="tw-flex tw-items-center tw-gap-3"> <p class="tw-text-base tw-mb-0 tw-font-bold">肩部固定區</p> </div> <ul class="tw-list-disc ltr:tw-ml-10 rtl:tw-mr-10 ltr:md:tw-ml-4 rlt:md:tw-mr-4 tw-mt-2"> <li class="tw-text-base tw-mb-0">適合肩部形狀</li> <li class="tw-text-base tw-mb-0">支撐您的頸部</li> <li class="tw-text-base tw-mb-0">緩解壓力</li> </ul> </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-derila.com/images/logos/black/derila.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"> BLACK FRIDAY <span class="tw-font-[500]">SALE</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> OFF </p> </div> </div> </div> <a data-ga-category="Call To Action" data-ga-click="3 - Deep sleep (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-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> <span data-adjust-font class="tw-w-full tw-block"> 立即訂購! </span> </a> </div> </div> </div> <div class="tw-pt-[90px] tw-pb-10 md:tw-py-20 tw-text-white tw-bg-[50%_0%] tw-bg-cover sm:tw-bg-[35%_center] lg:tw-bg-[44%_center] tw-bg-no-repeat flip-rtl " data-srcset="https://get-derila.com/theme/derila/product-9/your-opinion/bg-mobile.jpg 0, https://get-derila.com/theme/derila/product-9/your-opinion/bg.jpg 768" data-ga-section="4 - Your opinion" > <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-2 md:tw-grid-flow-col tw-gap-x-s40 tw-gap-y-s24 !tw-gap-y-0 md:!tw-gap-y-6 tw-relative tw-z-[1] flip-rtl" > <div class="md:tw-hidden"> <img height="343" width="422" class="md:tw-hidden tw-max-w-[140px] tw-w-full tw-ml-auto tw-mb-2" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="422" height="343" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/your-opinion/badge.png?q=80&fm=png&fit=max&s=6d8c2de0f1558209a88e911ce3e0c029" alt="使用者選擇徽章" > <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h2-mob md:tw-text-h2 tw-font-bold tw-text-h2-mob md:tw-text-h1 tw-mb-2" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 您的意見最重要 </h2> </div> <div class=" "> </div> <div class="tw-grid tw-content-center tw-gap-y-6 md:tw-col-span-1 "> <div class="tw-hidden md:tw-block wb-word"> <img height="343" width="422" class="md:tw-hidden tw-max-w-[140px] tw-w-full tw-ml-auto tw-mb-2" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="422" height="343" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/your-opinion/badge.png?q=80&fm=png&fit=max&s=6d8c2de0f1558209a88e911ce3e0c029" alt="使用者選擇徽章" > <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h2-mob md:tw-text-h2 tw-font-bold tw-text-h2-mob md:tw-text-h1 tw-mb-2" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 您的意見最重要 </h2> </div> <div class="tw-text-center md:tw-text-left"> <p class="tw-hidden md:tw-block tw-text-base tw-mb-0 !tw-text-left"> 我們 Derila 最自豪的就是打造出徹底改善顧客睡眠體驗的人體工學枕。 每十位顧客中就有八位表示他們不只比較喜歡 Derila 人體工學枕,甚至是用過之後,就再也無法換回以前的舊枕頭,這些真實的使用回饋再再體現出我們對品質與舒適度的承諾。 </p> <p class="md:tw-hidden tw-text-base tw-mb-0 !tw-text-left"> 在Derila,我們以打造能夠改變顧客睡眠體驗的正交枕頭為榮。 </p> <div class="tw-flex tw-flex-col lg:tw-flex-row tw-items-center tw-gap-8 tw-mt-5 lg:tw-mt-0 "> <a href="#reviews" class="tw-rounded-lg tw-border tw-border-white tw-text-white tw-font-bold tw-p-3 tw-max-w-fit tw-text-center" data-ga-category="Link" data-ga-click="4 - Your opinion (Link)" > 查看我們的客戶滿意回饋 </a> <img height="343" width="422" class="tw-hidden md:tw-block tw-max-w-[140px] tw-w-full" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="422" height="343" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/your-opinion/badge.png?q=80&fm=png&fit=max&s=6d8c2de0f1558209a88e911ce3e0c029" alt="使用者選擇徽章" > </div> </div> </div> </div> </div> <div class="tw-py-10 md:tw-py-20 tw-text-black" data-ga-section="5 - Old pillow revolution"> <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-h1-mob md:tw-text-h1 tw-hidden md:tw-block tw-mb-10 tw-font-bold"> 徹底改寫傳統枕頭的睡眠體驗 </h2> </div> <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-2 md:tw-grid-flow-col tw-gap-x-s40 tw-gap-y-s24 tw-relative" > <div class="md:tw-hidden"> <h3 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-0 tw-font-bold"> 早上醒來不再痠痛 </h3> </div> <div class="md:tw-order-1 "> <img height="607" width="814" class="" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="814" height="607" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/revolutionized/right.jpg?q=80&fm=jpg&fit=max&s=75ea1a508095d75b37e04b0a1ad25af8" alt="頸部疼痛" > </div> <div class="tw-grid tw-content-center tw-gap-y-6 md:tw-col-span-1 "> <div class="tw-hidden md:tw-block wb-word"> <h3 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-0 tw-font-bold"> 早上醒來不再痠痛 </h3> </div> <img height="556" width="534" class="tw-absolute tw-start-[5%] md:tw-start-0 tw-top-[-2%] md:tw-top-0 tw-max-w-[95px] md:tw-max-w-[355px] tw-z-[-1]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="534" height="556" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/revolutionized/number.png?q=80&fm=png&fit=max&s=f0f6b5888f089183d7ff9a723042dac0" alt="" > <p class="tw-text-base tw-mb-0"> 某些專家表示,在電腦前長時間工作等整天姿勢不良的關係,產生肩頸痠痛是再自然不過的事。但我們並不就此妥協!Derila 致力於改善人們的生活,因此花了數年時間,開發出技術最為先進的人體工學記憶泡棉枕頭。 </p> <div class="tw-text-center md:tw-text-left"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="5 - Old pillow revolution (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> <div class="tw-bg-cover tw-bg-[center_0] md:tw-bg-center tw-bg-no-repeat tw-pt-10 md:tw-pt-20 tw-text-black" data-srcset="https://get-derila.com/theme/derila/product-9/ultimate-deep/bg-mobile.jpg 0, https://get-derila.com/theme/derila/product-9/ultimate-deep/bg.jpg 768" data-ga-section="6 - Ultimate deep sleep" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-relative" > <img height="555" width="534" class="tw-absolute tw-start-[5%] md:tw-start-0 tw-top-[-2%] md:tw-top-0 tw-max-w-[95px] md:tw-max-w-[355px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="534" height="555" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/ultimate-deep/number.png?q=80&fm=png&fit=max&s=d62b10b8442fc512abe2ac49bbfc3478" alt="" > <div class="tw-flex tw-flex-col md:tw-flex-row tw-gap-8 tw-relative"> <div class="md:tw-basis-6/12 tw-self-center"> <h3 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 tw-mb-8 tw-font-bold" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 終極深眠枕頭 </h3> <p class="tw-text-base tw-mb-s24">我們的枕頭能夠貼合頭頸給予支撐並緩解壓力,有助於減少常見的頸部疼痛與不適等睡眠干擾因素,拉長使用者待在深層睡眠階段的時間。</p> <p class="tw-hidden md:tw-block tw-text-base tw-mb-s24">如此一來,就為您帶來恢復效果更好的優質睡眠體驗,讓您每天早上醒來,都能精力充沛,神清氣爽。</p> <div x-data="{ open: false }" class="tw-text-base md:tw-hidden"> <p x-show="!open" @click="open = true" class="tw-mb-0 tw-font-bold tw-cursor-pointer"> 閱讀更多… </p> <div x-show="open" class="tw-text-base"> <p class="tw-mb-0">如此一來,就為您帶來恢復效果更好的優質睡眠體驗,讓您每天早上醒來,都能精力充沛,神清氣爽。</p> </div> </div> </div> <div class="md:tw-basis-6/12 md:tw-self-end"> <div class="tw-mx-auto tw-relative tw-max-w-[420px]"> <img height="969" width="627" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="627" height="969" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/ultimate-deep/phone.png?q=80&fm=png&fit=max&s=adaa20a4de40fa5cc6801a5e9515c9e1" alt="睡眠評分摘要" > <div x-data="{ count: 0, observer: null, pulse: false, timeout: null }" x-init=" observer = new IntersectionObserver(function(entries) { if(entries[0].isIntersecting) { // set a timeout to check after 500ms timeout = setTimeout(function() { if(entries[0].isIntersecting) { // Check again after 500ms var interval = setInterval(function() { count++; if(count >= 97) { clearInterval(interval); pulse = true; setTimeout(function() { pulse = false; }, 1500); } }, 31); observer.disconnect(); } }, 500); } else { clearTimeout(timeout); // clear the timeout if the element is not in view } }, { threshold: 0.1 }); observer.observe($el); " class="tw-absolute tw-top-[42%] tw-font-bold tw-left-1/2 tw-translate-x-[-50%] tw-text-white" > <div :class="{ 'scale-pulse': pulse }"> <span x-text="count" class="tw-text-[65px] lg:tw-text-[85px] tw-leading-[1px]"></span> </div> </div> </div> </div> </div> </div> </div> <div data-ga-section="7 - Derila vs standard pillows"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-text-black tw-my-10 tw-relative" > <h3 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 tw-mb-10 tw-font-bold"> Derila 與普通枕頭的比較 </h3> <div class="tw-grid tw-gap-7 tw-grid-cols-1 md:tw-grid-cols-2 "> <div class="md:tw-basis-0 md:tw-flex-grow md:tw-max-w-full tw-relative"> <img height="571" width="861" class="tw-w-full" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="861" height="571" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-2/back-1.jpg?q=80&fm=jpg&fit=max&0=1&s=5fedc276ba30725b5e160a23febd7ae6" alt="標準枕頭支撐" > <h4 data-wrap-text class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-mt-6 tw-mb-2 tw-relative tw-z-[1]" auto-align="auto-align"> 標準枕頭 </h4> <p class="tw-text-base tw-mb-s24 md:tw-mb-0 tw-relative tw-z-[1]"> 傳統的枕頭不具備支撐功能,這意味著您的脊柱會呈現出不自然的彎曲,往往會導致疼痛、不適和睡眠品質低下的問題。 </p> </div> <div class="md:tw-basis-0 md:tw-flex-grow md:tw-max-w-full tw-relative"> <img height="571" width="861" class="tw-w-full" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="861" height="571" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-2/back-2.jpg?q=80&fm=jpg&fit=max&0=1&s=3629a8d85fe246d8459c36aed22f0002" alt="Derila支撐枕" > <h4 data-wrap-text class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-mt-6 tw-mb-2 tw-relative tw-z-[1]" auto-align="auto-align"> Derila 支撐枕頭 </h4> <p class="tw-text-base tw-mb-s24 md:tw-mb-0 tw-relative tw-z-[1] !tw-mb-0"> Derila 使用先進的記憶泡棉技術,支撐您的脊柱使其呈現自然曲線,進而減少疼痛,改善睡眠。 </p> </div> </div> <img height="629" width="600" class="tw-absolute tw-start-[5%] md:tw-start-0 tw-top-[-2%] md:tw-top-[15%] tw-max-w-[95px] md:tw-max-w-[355px] tw-z-[-1] md:tw-z-[0]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="600" height="629" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/standard-pillows/number.png?q=80&fm=png&fit=max&s=116876a8da0135e4eb010dcbf640812e" alt="" > </div> </div> <div class="tw-bg-[#F2F2F2] tw-py-10 md:tw-py-20 tw-text-black" data-ga-section="8 - Designed for all"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-relative" > <img height="555" width="588" class="tw-absolute tw-start-[5%] md:tw-start-[unset] md:tw-end-0 lg:tw-end-[5%] md:tw-top-[-5%] md:tw-top-0 tw-max-w-[95px] md:tw-max-w-[355px]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="588" height="555" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/designed-for-all/number.png?q=80&fm=png&fit=max&s=a054a27100ec907cb7ae22bec946bc0b" alt="" > <div class="tw-flex tw-flex-col md:tw-flex-row tw-gap-3 md:tw-gap-14 tw-relative"> <div class="tw-order-2 md:tw-order-1 tw-basis-1/2 tw-flex tw-flex-col tw-text-center tw-font-bold"> <div class="tw-basis-1/2 tw-flex tw-flex-col md:tw-flex-row md:tw-gap-4 tw-text-base"> <div> <img height="428" width="545" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="545" height="428" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/designed-for-all/1.jpg?q=80&fm=jpg&fit=max&s=22bcb4e0e11cd10bd61d2a1a0f777b31" alt="Derila 仰臥" > <p class="tw-my-4">仰臥</p> </div> <div> <img height="428" width="545" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="545" height="428" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/designed-for-all/2.jpg?q=80&fm=jpg&fit=max&s=56244300f33adaa80878a77bcaca7646" alt="Derila 側臥" > <p class="tw-my-4">側身</p> </div> </div> <div class="tw-basis-1/2 tw-flex tw-flex-col md:tw-flex-row md:tw-gap-4 tw-text-base"> <div> <img height="428" width="545" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="545" height="428" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/designed-for-all/3.jpg?q=80&fm=jpg&fit=max&s=1c8d3084586d6ceec48d97dd873ee427" alt="Derila 俯臥" > <p class="tw-my-4 md:tw-mb-0">俯臥</p> </div> <div> <img height="428" width="545" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="545" height="428" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/designed-for-all/4.jpg?q=80&fm=jpg&fit=max&s=277f536cfb52bdfad07c8f8606b8d8ab" alt="Derila 變化多端的睡姿" > <p class="tw-my-4 md:tw-mb-0">變化多端</p> </div> </div> <div class="md:tw-hidden tw-text-center tw-mt-5"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="8 - Designed for all (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> <div class="tw-order-1 md:tw-order-2 tw-basis-1/2 tw-self-center"> <h3 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 tw-font-bold tw-mb-2" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 適用於所有睡眠姿勢 </h3> <p class="tw-text-base tw-mb-s24 tw-mt-3"> 我們 Derila 專注於開發完美枕頭,以滿足所有睡眠姿勢的需求。經過兩年的不懈研究和測試,我們利用頂尖技術打造出多功能枕頭,能夠完美貼合每個睡眠者的個人需求。 </p> <div class="tw-hidden md:tw-block"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="8 - Designed for all (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> </div> <div class="tw-py-10 md:tw-py-20 tw-text-black" data-ga-section="9 - Stop snoring now"> <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-2 md:tw-grid-flow-col tw-gap-x-s40 tw-gap-y-s24 tw-relative" > <div class="md:tw-hidden"> <h3 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-0 tw-font-bold"> 立即停止打鼾 </h3> </div> <div class="md:tw-order-1 "> <img height="607" width="814" class="" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="814" height="607" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/stop-snoring/right.jpg?q=80&fm=jpg&fit=max&s=f559f7a20770b03fb1c9248cbc9ceb9e" alt="標準枕頭打鼾" > </div> <div class="tw-grid tw-content-center tw-gap-y-6 md:tw-col-span-1 "> <div class="tw-hidden md:tw-block wb-word"> <h3 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-0 tw-font-bold"> 立即停止打鼾 </h3> </div> <img height="740" width="784" class="tw-absolute tw-start-[5%] md:tw-start-0 tw-top-[-5%] md:tw-top-0 tw-max-w-[95px] md:tw-max-w-[355px] tw-z-[-1]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="784" height="740" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/stop-snoring/number.png?q=80&fm=png&fit=max&s=d119f68de88862617ed10c0a556160ac" alt="" > <p class="tw-text-base tw-mb-0">我們的客戶中,每 10 位就有 8 位發現自己打鼾情形明顯減少,甚至是完全不再打鼾!怎麼辦到的?通常打鼾是因為呼吸道在特定睡姿下會變狹窄,導致呼吸組織在吸氣和呼氣過程中產生振動,進而發出令人困擾的鼾聲。</p> <p class="tw-hidden md:tw-block tw-text-base tw-mb-0">我們精心打造的 Derila 枕頭能在睡眠期間支撐脊椎,使其維持自然曲線,進而擴大呼吸道,提高流入肺部的氣體量。連帶導致吸氧量增加並減少打鼾情形,為客戶帶來更寧靜的夜間睡眠體驗。</p> <div x-data="{ open: false }" class="tw-text-base md:tw-hidden"> <p x-show="!open" @click="open = true" class="tw-mb-0 tw-font-bold tw-cursor-pointer"> 閱讀更多… </p> <div x-show="open" class="tw-text-base"> <p class="tw-mb-0">我們精心打造的 Derila 枕頭能在睡眠期間支撐脊椎,使其維持自然曲線,進而擴大呼吸道,提高流入肺部的氣體量。連帶導致吸氧量增加並減少打鼾情形,為客戶帶來更寧靜的夜間睡眠體驗。</p> </div> </div> </div> </div> </div> <div class="tw-py-10 md:tw-py-20 tw-text-white tw-bg-[50%_20%] tw-bg-cover md:tw-bg-[71%_center] tw-bg-no-repeat flip-rtl" data-srcset="https://get-derila.com/theme/derila/product-9/memory-foam/bg-mobile.jpg 0, https://get-derila.com/theme/derila/product-9/memory-foam/bg.jpg 768" data-ga-section="10 - Memory foam" > <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-2 md:tw-grid-flow-col tw-gap-x-s40 tw-gap-y-s24 !tw-gap-y-0 md:!tw-gap-y-6 tw-relative flip-rtl" > <div class="md:tw-hidden"> <h2 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-52 md:tw-mb-0 tw-font-bold"> 記憶泡棉新標準 </h2> </div> <div class="md:tw-order-1 "> </div> <div class="tw-grid tw-content-center tw-gap-y-6 md:tw-col-span-1 "> <div class="tw-hidden md:tw-block wb-word"> <h2 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 ltr:md:!tw-text-left tw-mb-52 md:tw-mb-0 tw-font-bold"> 記憶泡棉新標準 </h2> </div> <p class="tw-text-base tw-mb-0"> 人體工學記憶泡棉枕是追求良好睡眠者 的最佳首選,能夠貼合睡眠者身形給予支撐,帶來舒適無比的睡眠體驗。 </p> <p class="tw-hidden md:tw-block tw-text-base tw-mb-0">Derila的記憶泡棉材質能夠吻合頭部和頸部的獨特曲線,確保脊椎處於自然彎曲狀態並減少壓力點。</p> <p class="tw-hidden md:tw-block tw-text-base tw-mb-0"> Derila 的人體工學設計不僅能促進更健康的睡眠姿勢,還可加強血液循環,使其成為追求夜間舒適睡眠者的絕佳選擇。 </p> <div x-data="{ open: false }" class="tw-text-base md:tw-hidden"> <p x-show="!open" @click="open = true" class="tw-mb-0 tw-font-bold tw-cursor-pointer"> 閱讀更多… </p> <div x-show="open" class="tw-text-base"> <p class="">Derila的記憶泡棉材質能夠吻合頭部和頸部的獨特曲線,確保脊椎處於自然彎曲狀態並減少壓力點。</p> <p class="tw-mb-0">Derila 的人體工學設計不僅能促進更健康的睡眠姿勢,還可加強血液循環,使其成為追求夜間舒適睡眠者的絕佳選擇。</p> </div> </div> <div class="tw-text-center md:tw-text-left"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="10 - Memory foam (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> <div class="tw-py-10 md:tw-py-20 tw-text-black" data-ga-section="11 - You asked we delivered"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-relative" > <div class="tw-flex tw-flex-col md:tw-flex-row tw-gap-3 md:tw-gap-14"> <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 md:tw-hidden tw-mb-2 tw-font-bold" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 您的需求我們來實現 </h2> <div class="tw-basis-1/2 md:tw-flex md:tw-flex-col md:tw-justify-center" x-data="{ isStandard: true }"> <div class="md:tw-hidden tw-font-bold tw-text-center"> <img height="297" width="706" class="tw-max-w-[80%] tw-mx-auto tw-mt-3 tw-mb-6" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="706" height="297" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/you-asked/3-mob.png?q=80&fm=png&fit=max&s=c83dbe3bc923e10d0c5d55221badb037" alt="Derila 支撐枕頭" > <p class="tw-mb-0"> <span x-show="isStandard"> 寬度:50 公分 / 19.6 英寸<br> 高度:30 公分 / 11.8 英寸 </span> <span x-show="!isStandard"> 寬度:60 公分 / 23.6 英寸<br> 高度:34 公分 / 13.3 英寸 </span> </p> </div> <div class="tw-hidden md:tw-block tw-mb-s16 lg:tw-h-[250px]"> <div class="tw-flex tw-flex-col tw-items-center lg:tw-max-w-[400px] tw-mx-auto" x-show="isStandard"> <div class="tw-flex tw-flex-row tw-items-center tw-text-center tw-justify-center"> <img height="342" width="734" class="" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="734" height="342" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/you-asked/1-standard.png?q=80&fm=png&fit=max&s=fb58432d7164acc7034a61e96001ab44" alt="Pillow Standard Size 50x30cm" > <div class="[writing-mode:vertical-rl] [text-orientation:mixed]"> <p class="tw-text-xs tw-font-bold tw-mb-0 tw-whitespace-nowrap"> 30 cm / 11.8 in </p> </div> </div> <p class="tw-text-xs tw-font-bold tw-mb-0"> 50 cm / 19.6 in </p> </div> <div class="tw-flex tw-flex-col tw-items-center lg:tw-max-w-[500px] tw-mx-auto" x-show="!isStandard"> <div class="tw-flex tw-flex-row tw-items-center tw-text-center tw-justify-center"> <img height="342" width="734" class="" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="734" height="342" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/you-asked/1-standard.png?q=80&fm=png&fit=max&s=fb58432d7164acc7034a61e96001ab44" alt="Pillow Plus Size 60x34cm" > <div class="[writing-mode:vertical-rl] [text-orientation:mixed]"> <p class="tw-text-xs tw-font-bold tw-mb-0 tw-whitespace-nowrap"> 34 cm / 13.3 in </p> </div> </div> <p class="tw-text-xs tw-font-bold tw-mb-0"> 60 cm / 23.6 in </p> </div> </div> <div class="tw-flex tw-flex-col lg:tw-flex-row tw-text-[#AFAFAF] tw-text-sm tw-gap-3 lg:tw-gap-8 lg:tw-mt-6"> <button x-bind:class="{ '!tw-bg-[#E3E3E3] tw-font-bold !tw-border-[#E3E3E3] !tw-text-black tw-disabled': isStandard }" @click="isStandard = true" x-bind:disabled="isStandard" class="tw-bg-white tw-p-2 tw-border tw-rounded-lg tw-border-[#D4D4D4] tw-min-w-[205px] tw-max-w-[290px] tw-w-full tw-mx-auto tw-mt-4 lg:tw-mt-0 tw-text-base" > 標準 </button> <button x-bind:class="{ '!tw-bg-[#E3E3E3] tw-font-bold !tw-border-[#E3E3E3] !tw-text-black tw-disabled': !isStandard }" @click="isStandard = false" x-bind:disabled="!isStandard" class="tw-bg-white tw-p-2 tw-border tw-rounded-lg tw-border-[#D4D4D4] tw-min-w-[205px] tw-max-w-[290px] tw-w-full tw-mx-auto tw-text-base" > 加大版 </button> </div> </div> <div class="tw-order-1 md:tw-order-2 tw-basis-1/2"> <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 tw-hidden md:tw-block tw-font-bold" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 您的需求我們來實現 </h2> <p class="tw-text-base tw-mt-5 tw-mb-0">現在您可以選擇自己喜歡的 Derila 尺寸!</p> <p class="tw-text-base tw-my-5"> 無論您選擇加大版還是普通尺寸的 Derila 人體工學枕頭,都可以享受我們品牌防過敏經典高品質材料所給予的支撐。 </p> <div class="tw-text-center md:tw-text-left"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="11 - You asked we delivered (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> </div> <div class="tw-bg-[#F4F4F4] tw-py-10 tw-text-black"> <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-h1-mob md:tw-text-h1 tw-mb-6 tw-font-bold"> 來看看動態介紹影片吧! </h2> <div data-ga-category="Element" data-ga-click="11 - You asked we delivered (Video Block Wrapper)" class="tw-w-full tw-h-full"> <div class="youtube-video" data-id="CS816z11ZwI" data-ga-category="Element" data-ga-click="11 - You asked we delivered (How to Video)"> <img height="839" width="1511" tabindex="0" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="1511" height="839" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/see-it-in-action/thumbnail.jpg?q=80&fm=jpg&fit=max&s=b4f5085a6bf5cbe90ee25af59d98bb27" alt="查看 Derila 影片縮圖" > <div class="play-button"></div> <div class="iframe-container" style="display:none;"></div> </div> </div> </div> </div> <div class="tw-py-s40 md:tw-py-s80 md:tw-pb-0 md:tw-pt-s40 tw-bg-cover tw-bg-no-repeat tw-bg-center tw-overflow-hidden" data-srcset="https://get-derila.com/theme/derila/product-9/tiktok/bg-mobile.jpg 0, https://get-derila.com/theme/derila/product-9/tiktok/bg.jpg 768" data-ga-section="12 - TikTok banner" > <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-col md:tw-flex-row tw-gap-8 tw-text-white"> <div class="md:tw-basis-6/12 tw-order-2 md:tw-order-1 tw-self-center md:tw-self-end"> <div class="tw-mx-auto tw-relative tw-max-w-[234px] sm:tw-max-w-[294px] sm:tw-rounded-[49px] tw-overflow-hidden tw-rounded-[38px] tw-relative tw-mb-0 md:tw-mb-[-25%] tw-z-[1]"> <img height="969" width="627" class="tw-relative tw-z-[1]" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="627" height="969" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/tiktok/phone-mobile.png?q=80&fm=png&fit=max&s=aba4ab7fc26ccd845a9a805988da24b4" alt="智慧型手機" > <div data-ga-category="Element" data-ga-click="12 - TikTok banner (Video Block Wrapper)" class="tw-w-full tw-h-full"> <div id="video-placeholder" class="tw-relative tw-cursor-pointer tw-flex" data-ga-category="Element" data-ga-click="12 - TikTok banner (How to/See it in action Video)"> </div> <video class="tw-w-full tw-absolute tw-top-1/2 tw-translate-y-[-51%] tw-rounded-t-[60px] !tw-scale-[1.3] tw-max-w-[98%] lazyload" autoplay loop playsinline muted preload="none" id="video" style=""> <source data-src=https://media.enence.com/theme/derila/product-9/tiktok/derila.mp4 type="video/mp4"> </video> </div> <img height="969" width="627" class="tw-absolute tw-w-[84%] tw-top-[52%] tw-left-1/2 -tw-translate-x-1/2 -tw-translate-y-1/2" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="627" height="969" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/emura/product-2/tiktok-screen-icons.png?q=80&fm=png&fit=max&s=9ae6541439e6e6a18f3a71985380442f" alt="TikTok 螢幕圖示" > </div> <div class="md:tw-hidden tw-mt-8 tw-text-center"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="12 - TikTok banner (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> <div class="tw-order-1 md:tw-order-2 md:tw-basis-6/12 tw-self-center"> <img height="121" width="414" class="tw-w-full tw-max-w-[150px] sm:tw-max-w-[220px] md:tw-max-w-[260px] tw-mx-auto md:tw-mx-0" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="414" height="121" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/tiktok/tiktok.png?q=80&fm=png&fit=max&s=709bf6546d8d7293fbbf7c3d9ff04aa1" alt="TikTok 標誌" > <div class="md:tw-pb-s40 tw-text-center md:tw-text-start"> <h3 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h3-mob md:tw-text-h3 tw-text-h3-mob md:tw-text-h3 tw-my-6 tw-break-all tw-font-bold"> #MadeMeBuyIt </h3> <p class="tw-text-base tw-hidden md:tw-block tw-mb-5"> 探索 TikTok 使用者間話題度超高的枕頭! 我們的人體工學記憶泡棉枕席捲 TikTok 社群。無數使用者對其改變睡眠體驗的效果讚不絕口。若您想要提升睡眠品質並跟上潮流,我們的枕頭定會是完美選擇。 </p> <p class="tw-text-base md:tw-hidden tw-text-center">發現TikTok用戶無法停止談論的枕頭!</p> <div class="tw-hidden md:tw-block"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="12 - TikTok banner (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> </div> </div> <div id="reviews" class="tw-pb-s40 md:tw-pb-s80 tw-text-black"> <div class="tw-py-s40 md:tw-pt-s80"> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-mb-s40" > <h2 data-wrap-text class="tw-text-center tw-text-h1-mob md:tw-text-h1 tw-mb-4 tw-font-bold"> 深得 11.000 名以上的消費者信賴 </h2> <div class="tw-grid tw-grid-cols-[auto_1fr_auto] tw-gap-s16 tw-font-bold md:tw-px-[61px] tw-mb-s32"> <p class="tw-text-base tw-mb-0">優秀</p> <div class="tw-bg-[#F2F2F5] tw-min-h-[28px]"> <div class="tw-bg-[#00B67A] tw-min-h-[28px]" style="width: 74%"></div> </div> <p class="tw-text-base tw-mb-0">74%</p> <p class="tw-text-base tw-mb-0">很好</p> <div class="tw-bg-[#F2F2F5] tw-min-h-[28px]"> <div class="tw-bg-[#89CC41] tw-min-h-[28px]" style="width: 23%"></div> </div> <p class="tw-text-base tw-mb-0">23%</p> <p class="tw-text-base tw-mb-0">普通</p> <div class="tw-bg-[#F2F2F5] tw-min-h-[28px]"> <div class="tw-bg-[#B9B9B9] tw-min-h-[28px]" style="width: 3%"></div> </div> <p class="tw-text-base tw-mb-0">3%</p> </div> </div> <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" > <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-0 tw-text-black tw-bg-[#F8F8F8] tw-mb-6" :class="{ 'tw-block': true || showAllReviewsForMobile, 'tw-hidden': false && !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"> 梁思思 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我在特殊枕頭上花了數百美元,但這款顯然是最好的!我剛拆封時,還有點懷疑,因為它看起來有點脆弱又太輕巧,但我已經連續睡了一個禮拜,每天晚上都睡得很香甜,已經再回購兩顆了! ! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/1.jpg?q=80&fm=jpg&fit=max&s=a70dde1c5553186848dc683896012636" alt="梁思思 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] tw-mb-6" :class="{ 'tw-block': true || showAllReviewsForMobile, 'tw-hidden': false && !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"> 郭一凡 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我真的很喜歡我的枕頭。以前睡覺姿勢不好,每天都會頭痛和肩膀痛。到目前為止,新枕頭睡了 4 天,我睡得跟小寶寶一樣香甜,疼痛都消失了。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/2.jpg?q=80&fm=jpg&fit=max&s=8f933be46e01c11b6fa70e3cf5e96463" alt="郭一凡 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] tw-mb-6" :class="{ 'tw-block': true || showAllReviewsForMobile, 'tw-hidden': false && !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"> 陳怡君 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 很棒的產品!讓它恢復原狀後,我第二天晚上就開始使用了。自那天起,我每晚都睡這顆;每個晚上都睡得很好。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/3.jpg?q=80&fm=jpg&fit=max&s=dc68816388f00969bb97b84c25464475" alt="陳怡君 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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"> 程欣怡 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 形狀非常優秀;我的頭和頸椎總算能夠放鬆;頸部疼痛也正在緩緩跟我說再見!我毫不猶豫地推薦這款枕頭!非常感謝! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/4.jpg?q=80&fm=jpg&fit=max&s=48342073d8314d645ff70c8f893abf72" alt="程欣怡 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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"> 朱俊傑 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 恰到好處的結構,不會太硬也不會太軟!我喜歡與頭頸曲線相反的設計,它能充分支撐我的脖子!我要為老婆再買一顆,因為她也很喜歡!產品超棒! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/5.jpg?q=80&fm=jpg&fit=max&s=5858711c9b8a6549ddd64395a6e2b96c" alt="朱俊傑 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 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"> 吳宇軒 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我喜歡我的枕頭。它的形狀恰到好處,不像其他特殊枕頭那樣硬 - 它又軟又舒服。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/6.jpg?q=80&fm=jpg&fit=max&s=282df5ae8d9de6d9b1d96f9158d1d7ee" alt="吳宇軒 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 7)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 蔡宜庭 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 這是我找到最適合頸椎有問題和短脖子的枕頭……它又軟又能支撐脖子。我嘗試過各式各樣非常昂貴的枕頭,但這個是最好的……我選了一般的標準尺寸,對我來說相當完美…… </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/7.jpg?q=80&fm=jpg&fit=max&s=0e522f817183813315b9b7d51a8e8587" alt="蔡宜庭 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 8)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 翁家翌 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 這個枕頭幫了我大忙。最大的優點其實是枕頭的斜凹中心。我嘗試過不同的頸部支撐枕頭,但只有這個確實有幫助。它很結實,但對側臥者來說仍然很舒適。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/11.jpg?q=80&fm=jpg&fit=max&s=6ad3989404574466dda7c6597d41c0ee" alt="翁家翌 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 9)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 楊婉婷 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我幫自己買了一顆 Derila 的枕頭,因為本身就喜歡記憶泡棉枕,Derila 睡起來很棒,但奇怪的是我的貓也非常喜歡,已經成為她最喜歡躺的地方。你們打算推出寵物產品系列嗎? </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/12.jpg?q=80&fm=jpg&fit=max&s=99d226901137ebab2ec56692499be030" alt="楊婉婷 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 10)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 伊莉莎白 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我用過很多其他人大推的枕頭,但我的頭和頸椎都不買帳。我在 Derila 枕頭中找到了最棒的命定枕頭。它既符合人體工學又非常親膚,超棒! </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/10.jpg?q=80&fm=jpg&fit=max&s=bf096e3bfca7bb5c1a5ee544f22ebe0b" alt="伊莉莎白 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] 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 - 11)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 蔡佳嗯 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 喜歡這個枕頭! 嘗試了很多不同的枕頭,但是早上醒來都還是會脖子痛痛,可是這顆不會。我睡得很好,這是多年來睡得最好的一次。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/8.jpg?q=80&fm=jpg&fit=max&s=def0aa7ab825b7428479a610f756f2de" alt="蔡佳嗯 Derila 枕頭評測" > </div> </div> <div class="tw-p-3 md:tw-p-4 tw-border tw-rounded-md tw-break-inside-avoid !tw-border-0 tw-text-black tw-bg-[#F8F8F8] " :class="{ 'tw-block': false || showAllReviewsForMobile, 'tw-hidden': true && !showAllReviewsForMobile, 'md:tw-block': true }" data-ga-category="Element" data-ga-click="13 - Customer Reviews (Review - 12)" > <div class="tw-grid tw-grid-cols-[auto_1fr] tw-gap-x-s8 tw-items-center"> <div class="tw-mb-2 tw-font-bold"> 林瑞傑 </div> </div> <div class="tw-mb-2 tw-flex tw-text-[#1AC70E]"> <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"> 驗證客戶 </span> </div> <img height="29" width="182" 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="182" height="29" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/green-stars.png?q=80&fm=png&fit=max&s=a3f84ba434eed3132c22370cd575e4e0" alt="Trustpilot 明星" > <p class="tw-mb-0"> 我使用這個枕頭的第一個晚上就停止打鼾,之後再也沒有打鼾了。我先生說這是他花在枕頭上最划得來的錢。我本來想再買一個當禮物,但它們已經缺貨了。現在在等黑色星期五的優惠。整體來說,這個產品很棒。我會推薦。 </p> <div class="tw-w-3/4 tw-pt-2"> <img height="280" width="279" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="279" height="280" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/assets/theme/derila/product-9/reviews/9.jpg?q=80&fm=jpg&fit=max&s=de71b9d06845b478d49f15575f609746" alt="林瑞傑 Derila 枕頭評測" > </div> </div> </div> <div class="tw-flex md:tw-hidden tw-justify-center tw-rounded tw-py-2 tw-mt-5 tw-mx-10 tw-items-center tw-bg-[#00B67A] tw-text-white" :class="showAllReviewsForMobile ? 'tw-hidden' : 'tw-block'" x-on:click="showMore()" > <p class="tw-uppercase tw-text-base tw-mb-0 tw-font-bold">加載更多</p> </div> </div> </div> </div> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-text-center" > <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="13 - Customer Reviews (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> <div class="tw-py-10 tw-bg-[#F4F4F4] tw-text-black"> <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-col" data-ga-section="14 - Frequently Asked Questions"> <h2 data-wrap-text class="tw-text-center tw-text-h2-mob md:tw-text-h2 !tw-text-h2-mob md:!tw-text-h1 tw-mb-6 tw-font-bold"> 常見問題解答 </h2> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question1)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 我需要等多久時間才能收到 Derila 枕頭? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > At Derila we strive to provide a seamless shopping experience for our valued customers. We are proud to operate from several strategically located main warehouses in the USA, Canada, Europe, and Asia. On average, you can expect to receive your order within approximately 4 to 5 working days from the date of purchase. Please keep in mind that shipping times may vary slightly depending on your specific location and any unforeseen circumstances, but rest assured, we work diligently to get your ergonomic memory foam pillow to you as quickly as possible. If you have any further questions or need assistance with your order, our customer support team is always here to help! </p> </div> </div> </div> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question2)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 哪顆枕頭最適合我的睡姿? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > Derila 記憶泡棉人體工學枕是我們全面研發的最終成果,旨在完美貼合所有睡眠姿勢。 我們深知每個人的睡眠習慣各不相同,而我們秉持對創新的承諾,投入大量時間和資源,設計出因應所有需求的枕頭。透過嚴格的測試和睡眠專家的回饋,我們打造出一款可以完美貼合您獨特睡姿的枕頭,確保脊椎能維持在自然彎曲狀態並減輕不適感。選擇 Derila,您不僅是獲得一顆枕頭,而是正在體驗我們多年的研發結晶,為您帶來的絕佳睡眠體驗。 </p> </div> </div> </div> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question3)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 如何清洗我的 Derila 枕頭? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > 我們的枕頭由全新材料製成,專門為您的枕頭生產,因此,新枕頭不需要在拿到後立即清洗。如果您想要清洗,還請您遵循以下指示:<br/><br/> 可拆卸枕頭套<br/> 清洗:用冷水輕柔循環洗滌。請勿使用柔軟精或漂白劑。 乾燥:低溫烘乾。確保枕頭套在使用前完全乾燥。 <br/><br/> 內枕套<br/> 清洗:用安全別針固定拉上的拉鍊,確保在清洗過程中不會拉開露出記憶泡棉。用冷水輕柔循環洗滌。請勿使用柔軟精或漂白劑。乾燥:一次請只烘一顆枕頭。低溫烘乾直到內枕完全乾燥再使用。這可能需要重複數次,具體因個人洗衣機和烘乾機不同而異。 </p> </div> </div> </div> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question4)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 真的能止鼾嗎? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > 還請您理解,打鼾的可能原因有很多種,我們無法保證我們的枕頭能讓所有人停止打鼾。不過,我們投入大量資源來設計我們的 Derila 人體工學記憶泡棉枕,我們收到成千上萬則客戶滿意回饋,表示自己的打鼾問題有所減輕,甚至完全解決。 我們枕頭的創新設計能讓脊椎保持在自然的彎曲狀態,確保舒適的睡眠姿勢,有助於您獲得更寧靜的夜間休息。雖然個別結果可能會有差異,但我們相信我們的枕頭能使多數人的打鼾問題獲得改善。 </p> </div> </div> </div> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question5)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 你們有打算推出寵物產品系列嗎? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > 很高興得知我們 Derila 的枕頭為您的家庭與您的可愛貓咪帶來快樂!我們目前沒有針對寵物產品系列的具體規劃,但我們也樂見我們的枕頭成為您家毛孩心中安穩舒適的窩。我們主要還是著重在為人提供優質的人體工學記憶泡棉枕頭,讓大家享受到寧靜的睡眠體驗。我們很感謝您的熱情和貓貓對我們產品的喜愛,我們往後繼續探索新的產品可能性時會謹記您的回饋。 </p> </div> </div> </div> <div class="tw-flex tw-flex-col tw-basis-full" data-ga-category="Element" data-ga-click="14 - Frequently Asked Questions (Question6)" > <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> <div class="tw-flex tw-items-start tw-my-1 tw-cursor-pointer" x-data="{ open: false }" x-on:click="open = !open" x-on:keydown.enter="open = !open" tabindex="0" > <svg x-show="!open" class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="8" viewBox="0 0 14 8" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M7.70725 7.37824C7.51972 7.56571 7.26541 7.67103 7.00025 7.67103C6.73508 7.67103 6.48077 7.56571 6.29325 7.37824L0.636247 1.72124C0.540736 1.62899 0.464554 1.51865 0.412145 1.39665C0.359735 1.27464 0.33215 1.14342 0.330996 1.01064C0.329843 0.877863 0.355144 0.746184 0.405425 0.623287C0.455706 0.500391 0.52996 0.388738 0.623853 0.294846C0.717746 0.200953 0.829396 0.1267 0.952292 0.0764189C1.07519 0.026138 1.20687 0.000836522 1.33965 0.00199034C1.47243 0.00314417 1.60365 0.0307305 1.72565 0.0831395C1.84766 0.135548 1.958 0.21173 2.05025 0.307241L7.00025 5.25724L11.9502 0.307241C12.1388 0.125083 12.3915 0.0242886 12.6536 0.026567C12.9158 0.0288455 13.1667 0.134014 13.3521 0.319422C13.5375 0.504831 13.6426 0.755643 13.6449 1.01784C13.6472 1.28004 13.5464 1.53264 13.3642 1.72124L7.70725 7.37824Z" fill="currentColor"/></svg> <svg x-show="open" x-cloak class="tw-mr-4 tw-min-w-[25px] tw-mt-2" width="14" height="9" viewBox="0 0 14 9" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M6.29324 0.964043C6.48077 0.776572 6.73508 0.671257 7.00024 0.671257C7.26541 0.671257 7.51971 0.776572 7.70724 0.964043L13.3642 6.62104C13.4598 6.71329 13.5359 6.82363 13.5883 6.94564C13.6408 7.06764 13.6683 7.19886 13.6695 7.33164C13.6706 7.46442 13.6453 7.5961 13.5951 7.719C13.5448 7.84189 13.4705 7.95355 13.3766 8.04744C13.2827 8.14133 13.1711 8.21558 13.0482 8.26587C12.9253 8.31615 12.7936 8.34145 12.6608 8.34029C12.5281 8.33914 12.3968 8.31155 12.2748 8.25915C12.1528 8.20674 12.0425 8.13055 11.9502 8.03504L7.00024 3.08504L2.05024 8.03504C1.86164 8.2172 1.60904 8.318 1.34684 8.31572C1.08464 8.31344 0.833831 8.20827 0.648423 8.02286C0.463015 7.83745 0.357846 7.58664 0.355568 7.32445C0.353289 7.06225 0.454083 6.80965 0.636242 6.62104L6.29324 0.964043Z" fill="currentColor"/></svg> <div> <p class="tw-text-h6-mob md:tw-text-h6 tw-font-bold tw-flex tw-items-center tw-mb-0"> 我的包裹是真空密封的。包得很好,但為什麼要這樣? </p> <p class="tw-font-normal tw-mb-0" x-show="open" x-bind:class="open ? 'tw-mt-4' : 'tw-mt-0'" x-cloak > 真空密封包裝的原因是確保產品在運輸過程中保持最佳狀態。它有助於產品在送達您手中前,免受灰塵、濕氣和潛在損壞的影響,並維持在出廠狀態與品質。這只是我們為了為尊貴的客戶提供最佳產品而採取的額外措施之一。 </p> </div> </div> <hr class="tw-my-4 tw-border-1 tw-border-[#E7E7E7]"/> </div> </div> </div> </div> <div class="tw-bg-cover tw-bg-no-repeat tw-bg-[50%_30%] md:tw-bg-[35_center] tw-pt-60 tw-pb-10 md:tw-py-44 flip-rtl" data-srcset="https://get-derila.com/theme/derila/product-9/dont-miss/bg-mobile.jpg 0, https://get-derila.com/theme/derila/product-9/dont-miss/bg.jpg 768" data-ga-section="15 - Do not miss" > <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl flip-rtl" > <div class="tw-flex"> <div class="tw-max-w-[500px] tw-mx-auto md:tw-mx-0 tw-text-white"> <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 tw-mb-0 tw-font-bold" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 別錯過! </h2> <h2 data-wrap-text class="tw-text-center md:[text-align:unset] tw-text-h1-mob md:tw-text-h1 tw-font-bold" auto-align="auto-align" centered-only-mobile="centered-only-mobile"> 搶在促銷結束前快快行動! </h2> <div class="tw-text-center md:tw-text-left tw-mt-6"> <a href="https://get-derila.com/derila/order?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%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="15 - Do not miss (CTA)" > 獲得 -70% 折扣優惠 </a> </div> </div> </div> </div> </div> <div class="tw-pb-[95px] md:tw-pb-[45px]"> <footer class="tw-bg-footer-bg tw-text-footer-text tw-py-7" data-ga-section="16 - 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="16 - Footer (Logo)"> <svg class="tw-max-w-[12rem] tw-mb-7 tw-mx-auto md:tw-mx-0" width="167" height="41" viewBox="0 0 167 41" fill="none" xmlns="http://www.w3.org/2000/svg"><g fill="currentColor"><path d="M0 30.5042C0.419346 30.5541 0.820681 30.5965 1.21944 30.6489C2.41584 30.7957 3.62708 30.7873 4.82119 30.6239C6.60217 30.4128 8.32796 29.886 9.91252 29.0699C13.7715 27.0569 16.3442 24.0162 17.5868 19.9279C18.0258 18.4623 18.2203 16.9381 18.1631 15.413C18.1455 14.7297 18.0698 14.0489 17.9367 13.3776C17.8929 13.1681 17.9367 13.1032 18.1682 13.188C19.8913 13.7697 21.4878 14.657 22.8762 15.8047C24.3113 16.9975 25.4869 18.4556 26.3346 20.0937C27.1822 21.7318 27.6849 23.5173 27.8132 25.3458C27.9592 27.364 27.6457 29.3887 26.8948 31.2763C26.1439 33.164 24.9739 34.8684 23.4679 36.2688C21.76 37.8749 19.6608 39.036 17.3656 39.6437C15.9449 40.0371 14.468 40.2056 12.992 40.1426C10.0942 40.0287 7.30086 39.0623 4.98333 37.3718C2.66581 35.6813 0.933943 33.3468 0.0180106 30.6788C0.00809974 30.6211 0.00208219 30.5627 0 30.5042Z"/><path d="M61.5226 26.7303C61.5249 29.1539 60.8048 31.5265 59.449 33.5625C58.0971 35.6404 56.1878 37.3227 53.9255 38.4291C51.6483 39.611 49.1042 40.2264 46.5213 40.2201C44.5768 40.2207 42.6487 39.8749 40.8331 39.1999C39.0456 38.557 37.402 37.5874 35.9914 36.3438C34.5841 35.1196 33.4465 33.6322 32.6469 31.9711C31.8393 30.2748 31.4365 28.4238 31.4686 26.5557C31.4618 24.6955 31.8726 22.8561 32.6726 21.1653C33.4601 19.5122 34.5857 18.0314 35.9811 16.8126C37.3806 15.5542 39.0273 14.582 40.8228 13.954C44.4884 12.6634 48.5053 12.6634 52.1709 13.954L52.7626 14.2034L53.3517 14.4528V3.97632L61.5226 4.00126V26.7303ZM49.8658 21.0531C48.8405 20.4826 47.679 20.1824 46.4969 20.1824C45.3147 20.1824 44.1532 20.4826 43.1279 21.0531C42.1008 21.6218 41.2305 22.4228 40.5913 23.3878C39.9595 24.3335 39.6301 25.4391 39.6445 26.5657C39.64 27.4248 39.8207 28.2754 40.1752 29.0627C40.5296 29.8501 41.0499 30.557 41.7027 31.138C42.9822 32.3638 44.7084 33.0512 46.5072 33.0512C48.3059 33.0512 50.0321 32.3638 51.3116 31.138C51.9647 30.5573 52.4853 29.8505 52.8398 29.063C53.1942 28.2756 53.3748 27.4249 53.3697 26.5657C53.3832 25.4389 53.053 24.3333 52.4204 23.3878C51.7768 22.4202 50.9 21.6189 49.8658 21.0531Z"/><path d="M84.6284 13.9611C86.3401 14.6187 87.9105 15.5796 89.2592 16.7948C90.6316 18.0371 91.7246 19.5409 92.4696 21.2119C93.2147 22.8829 93.5958 24.6851 93.589 26.5055V26.8547L93.5633 27.0044L93.5119 27.426H90.3346V27.4759H72.7066C72.8986 28.8451 73.5569 30.1128 74.577 31.0778C75.1764 31.6756 75.8933 32.1507 76.6854 32.4752C77.4775 32.7997 78.3286 32.9668 79.1885 32.9668C80.0484 32.9668 80.8995 32.7997 81.6916 32.4752C82.4837 32.1507 83.2006 31.6756 83.8 31.0778L83.8514 31.0279L83.9286 30.9281L84.0058 30.8533L84.0573 30.7785L88.4617 36.8898C87.3048 37.8246 86.0101 38.5864 84.6207 39.1497C82.6017 39.9191 80.4331 40.2491 78.2681 40.1163C76.1032 39.9835 73.9947 39.3913 72.0918 38.3814C69.9126 37.2287 68.0841 35.541 66.7895 33.4874C65.6443 31.6434 64.9702 29.5607 64.8235 27.4129C64.6767 25.2651 65.0614 23.1144 65.9456 21.1401C66.6901 19.5017 67.7732 18.0287 69.128 16.8122C70.4515 15.5723 72.0184 14.6028 73.7357 13.9611C75.4723 13.2941 77.3245 12.9554 79.1923 12.9634C81.0538 12.9528 82.8997 13.2916 84.6284 13.9611ZM84.2168 22.5319C83.7081 21.9261 83.0996 21.4061 82.4159 20.9929C81.4362 20.4392 80.3225 20.1474 79.1885 20.1474C78.0545 20.1474 76.9408 20.4392 75.9611 20.9929C75.2773 21.4061 74.6688 21.9261 74.1602 22.5319H84.2168Z"/><path d="M110.319 20.5937C109.818 20.291 109.241 20.1278 108.652 20.1223H108.191C106.115 20.1971 105.065 21.6189 105.065 24.3453V39.3991H96.8662V24.3453C96.8662 17.1165 100.639 13.3159 108.186 12.9434H108.646C109.204 12.9662 109.761 13.0161 110.314 13.093L110.319 20.5937Z"/><path d="M117.589 10.9553C116.841 10.9703 116.104 10.781 115.462 10.4091C114.82 10.0438 114.287 9.52176 113.918 8.89496C113.539 8.25115 113.336 7.52372 113.329 6.7822C113.314 6.04991 113.509 5.32796 113.892 4.69687C114.277 4.07498 114.813 3.55419 115.454 3.18027C116.097 2.80951 116.834 2.6203 117.582 2.634C118.337 2.62033 119.081 2.80939 119.732 3.18027C120.368 3.55507 120.898 4.07598 121.276 4.69687C121.645 5.33846 121.839 6.06108 121.839 6.79592C121.839 7.53076 121.645 8.25337 121.276 8.89496C120.899 9.51114 120.368 10.0257 119.732 10.3916C119.085 10.7675 118.344 10.9626 117.589 10.9553ZM121.816 13.9861V39.449H113.643V14.006L121.816 13.9861Z"/><path d="M125.5 4.14995L133.673 4.125V39.3486L125.5 39.4484V4.14995Z"/><path d="M158.851 38.6534C158.211 38.9277 157.802 39.0749 157.647 39.1248C155.535 39.9069 153.275 40.2447 151.018 40.1157C148.761 39.9867 146.558 39.3938 144.555 38.3765C142.302 37.2593 140.394 35.5858 139.021 33.5248C137.64 31.4436 136.918 29.0153 136.945 26.5405C136.939 24.7011 137.338 22.8816 138.116 21.2039C138.894 19.5261 140.032 18.0289 141.455 16.8123C142.864 15.5797 144.503 14.6203 146.284 13.9861C148.101 13.3163 150.028 12.9715 151.972 12.9684C153.915 12.9601 155.843 13.2983 157.66 13.9662C159.444 14.5916 161.081 15.5548 162.476 16.7998C163.86 18.0217 164.99 19.488 165.808 21.1201C166.607 22.8201 167.017 24.6674 167.012 26.5355L166.986 39.479L158.864 39.4042L158.851 38.6534ZM151.959 20.1473C150.787 20.1402 149.634 20.4318 148.615 20.9929C147.587 21.5611 146.717 22.3622 146.078 23.3277C145.445 24.2823 145.115 25.3959 145.129 26.5305C145.124 27.3861 145.304 28.233 145.659 29.0165C146.013 29.7999 146.534 30.5022 147.187 31.0778C148.474 32.2887 150.197 32.9659 151.99 32.9659C153.783 32.9659 155.506 32.2887 156.793 31.0778C157.446 30.5022 157.967 29.7999 158.321 29.0165C158.676 28.233 158.856 27.3861 158.851 26.5305C158.866 25.3961 158.537 24.2825 157.905 23.3277C157.265 22.3627 156.395 21.5617 155.368 20.9929C154.328 20.4261 153.152 20.1344 151.959 20.1473Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M6.54771 12.7263L7.5279 15.6647L10.7103 15.6597L8.13248 17.4682L9.12038 20.4016L6.54771 18.5832L3.97761 20.4016L4.96551 17.4682L2.3877 15.6597L5.57009 15.6647L6.54771 12.7263Z"/><path fill-rule="evenodd" clip-rule="evenodd" d="M16.3335 0L17.3111 2.93842L20.4935 2.93093L17.9157 4.74188L18.9036 7.6753L16.3335 5.85688L13.7608 7.6753L14.7513 4.74188L12.1709 2.93093L15.3559 2.93842L16.3335 0Z"/></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"> 購物 </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="16 - Footer (/derila/wholesale)" href="https://get-derila.com/derila/wholesale?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 批發 </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> 資訊 </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="16 - Footer (/derila/terms)" href="https://get-derila.com/derila/terms?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 服務條款 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/privacy)" href="https://get-derila.com/derila/privacy?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 隱私政策 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/shipping)" href="https://get-derila.com/derila/shipping?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 運送方針 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/billing-policy)" href="https://get-derila.com/derila/billing-policy?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 收費方針 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/about-us)" href="https://get-derila.com/derila/about-us?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 關於我們 </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="16 - Footer (Affiliates)" href="https://ekomlita.everflowclient.io/affiliate/signup/?q=5J473L"> 聯盟 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/user-guide)" href="https://get-derila.com/derila/user-guide?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 使用者指南 </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> 訂購 </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="16 - Footer (/derila/tracking)" href="https://get-derila.com/derila/tracking?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 追蹤我的訂單 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (/derila/return)" href="https://get-derila.com/derila/return?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1"> 退貨及退款政策 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (Order Link 3)" href="https://support.derila.com/zh-tw/support/tickets/new"> 常見問答 </a> <a class="tw-text-footer-text tw-text-opacity-50 tw-block tw-mt-1" data-ga-category="Link" data-ga-click="16 - Footer (Order Link 4)" href="https://support.derila.com/zh-tw/support/tickets/new"> 聯絡方式 </a> </div> </div> <div> <div class="tw-font-bold tw-self-center md:tw-order-first"> 客户服務: </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> 聯絡我們: </div> <div class="tw-items-center tw-mt-1"> <a href="tel:+16093183319" data-ga-category="Link" data-ga-click="16 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +1 (609) 318-3319 </a> <a href="tel:+442080891401" data-ga-category="Link" data-ga-click="16 - 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="16 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +498004009820 </a> <a href="tel:+61290995803" data-ga-category="Link" data-ga-click="16 - Footer (Phone Number)" class="tw-text-footer-text tw-text-opacity-50 tw-block tw-text-left" > +61290995803 </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-derila.com/derila/contact?l=zh-tw&uuid=0193812a-c9f2-7c10-bcd8-07e8a9065574&hj=1&gae=1&eppss=1&sndv=1&ipp=1&sruep=1&sale=bf2024&ppdf=credit&_=7189%2C2624%2C4288%2C5829%2C6102%2C6108%2C6341%2C7035%2C7399&sntp=1" class="tw-text-footer-text tw-text-opacity-50 tw-inline-block" data-ga-category="Link" data-ga-click="16 - Footer (Email)" > 發郵件給我們 </a> </div> </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 Derila 版權所有。 </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-derila.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-derila.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-derila.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-derila.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-derila.com/theme/images/processors/amex-color.svg" alt="American Experess" > </div> </div> <div wire:snapshot="{"data":{"locale":"zh-tw","shouldRender":true,"languageSelector":[["de","en","es","es-mx","fi","fr","it","nl","nb","sv","pt","pt-br","ar","ja","zh-tw","pl","ms","th","tr","ko","ro","el","cs","sl","sk","hu","da","hr","es-co","bg","he","tl-ph","sr"],{"s":"arr"}],"currentUrl":"https:\/\/get-derila.com\/?l=zh-tw"},"memo":{"id":"RF8WF56thtLtoLZY5mqm","name":"footer-language-selector","path":"\/","method":"GET","children":[],"scripts":[],"assets":[],"errors":[],"locale":"zh-tw"},"checksum":"0b6bfab1bf7741ae0e4a9010fb1aab5d2cf39941ab3f6f8f4ab84196edadeb2b"}" wire:effects="[]" wire:id="RF8WF56thtLtoLZY5mqm" class=""> <div x-cloak class="tw-flex tw-justify-center" x-data="{ expanded: false }"> <div x-on:click="expanded = true" class="tw-flex tw-cursor-pointer tw-px-s8 tw-relative"> <div class="tw-uppercase"> 中文(台灣) </div> <div class="tw-flex tw-justify-center tw-align-center tw-mx-s4" :class="expanded ? 'tw-rotate-180' : ''"> <img class="tw-self-start tw-my-auto" 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-derila.com/images/expand.svg" alt="" > </div> </div> <div x-on:click.outside="expanded = false" x-on:click="expanded = false" x-show="expanded" class="tw-px-s12 tw-py-s8 !tw-outline-[1px] tw-bg-[#F2F2F2] !tw-outline !tw-outline-[#B2B2B2] tw-absolute tw-bottom-0 tw-mb-s48 tw-max-h-[300px] tw-overflow-y-scroll"> <div class="tw-me-s4 tw-flex tw-flex-col"> <a href="https://get-derila.com/?l=de" wire:click.prevent="changeLocale('de')" class="dropdown-item tw-text-black "> DEUTSCH </a> <a href="https://get-derila.com/" wire:click.prevent="changeLocale('en')" class="dropdown-item tw-text-black "> ENGLISH </a> <a href="https://get-derila.com/?l=es" wire:click.prevent="changeLocale('es')" class="dropdown-item tw-text-black "> ESPAñOL </a> <a href="https://get-derila.com/?l=es-mx" wire:click.prevent="changeLocale('es-mx')" class="dropdown-item tw-text-black "> ESPAñOL (MéXICO) </a> <a href="https://get-derila.com/?l=fi" wire:click.prevent="changeLocale('fi')" class="dropdown-item tw-text-black "> SUOMI </a> <a href="https://get-derila.com/?l=fr" wire:click.prevent="changeLocale('fr')" class="dropdown-item tw-text-black "> FRANçAIS </a> <a href="https://get-derila.com/?l=it" wire:click.prevent="changeLocale('it')" class="dropdown-item tw-text-black "> ITALIANO </a> <a href="https://get-derila.com/?l=nl" wire:click.prevent="changeLocale('nl')" class="dropdown-item tw-text-black "> NEDERLANDS </a> <a href="https://get-derila.com/?l=nb" wire:click.prevent="changeLocale('nb')" class="dropdown-item tw-text-black "> NORSK BOKMåL </a> <a href="https://get-derila.com/?l=sv" wire:click.prevent="changeLocale('sv')" class="dropdown-item tw-text-black "> SVENSKA </a> <a href="https://get-derila.com/?l=pt" wire:click.prevent="changeLocale('pt')" class="dropdown-item tw-text-black "> PORTUGUêS </a> <a href="https://get-derila.com/?l=pt-br" wire:click.prevent="changeLocale('pt-br')" class="dropdown-item tw-text-black "> PORTUGUêS (BRASIL) </a> <a href="https://get-derila.com/?l=ar" wire:click.prevent="changeLocale('ar')" class="dropdown-item tw-text-black "> العربية </a> <a href="https://get-derila.com/?l=ja" wire:click.prevent="changeLocale('ja')" class="dropdown-item tw-text-black "> 日本語 </a> <a href="https://get-derila.com/?l=zh-tw" wire:click.prevent="changeLocale('zh-tw')" class="dropdown-item tw-text-black font-weight-bold"> 中文(台灣) </a> <a href="https://get-derila.com/?l=pl" wire:click.prevent="changeLocale('pl')" class="dropdown-item tw-text-black "> POLSKI </a> <a href="https://get-derila.com/?l=ms" wire:click.prevent="changeLocale('ms')" class="dropdown-item tw-text-black "> MELAYU </a> <a href="https://get-derila.com/?l=th" wire:click.prevent="changeLocale('th')" class="dropdown-item tw-text-black "> ไทย </a> <a href="https://get-derila.com/?l=tr" wire:click.prevent="changeLocale('tr')" class="dropdown-item tw-text-black "> TüRKçE </a> <a href="https://get-derila.com/?l=ko" wire:click.prevent="changeLocale('ko')" class="dropdown-item tw-text-black "> 한국어 </a> <a href="https://get-derila.com/?l=ro" wire:click.prevent="changeLocale('ro')" class="dropdown-item tw-text-black "> ROMâNă </a> <a href="https://get-derila.com/?l=el" wire:click.prevent="changeLocale('el')" class="dropdown-item tw-text-black "> Ελληνικά </a> <a href="https://get-derila.com/?l=cs" wire:click.prevent="changeLocale('cs')" class="dropdown-item tw-text-black "> čEšTINA </a> <a href="https://get-derila.com/?l=sl" wire:click.prevent="changeLocale('sl')" class="dropdown-item tw-text-black "> SLOVENščINA </a> <a href="https://get-derila.com/?l=sk" wire:click.prevent="changeLocale('sk')" class="dropdown-item tw-text-black "> SLOVENčINA </a> <a href="https://get-derila.com/?l=hu" wire:click.prevent="changeLocale('hu')" class="dropdown-item tw-text-black "> MAGYAR </a> <a href="https://get-derila.com/?l=da" wire:click.prevent="changeLocale('da')" class="dropdown-item tw-text-black "> DANSK </a> <a href="https://get-derila.com/?l=hr" wire:click.prevent="changeLocale('hr')" class="dropdown-item tw-text-black "> HRVATSKI </a> <a href="https://get-derila.com/?l=es-co" wire:click.prevent="changeLocale('es-co')" class="dropdown-item tw-text-black "> ESPAñOL (COLOMBIA) </a> <a href="https://get-derila.com/?l=bg" wire:click.prevent="changeLocale('bg')" class="dropdown-item tw-text-black "> български </a> <a href="https://get-derila.com/?l=he" wire:click.prevent="changeLocale('he')" class="dropdown-item tw-text-black "> עברית </a> <a href="https://get-derila.com/?l=tl-ph" wire:click.prevent="changeLocale('tl-ph')" class="dropdown-item tw-text-black "> TAGALOG (PILIPINAS) </a> <a href="https://get-derila.com/?l=sr" wire:click.prevent="changeLocale('sr')" class="dropdown-item tw-text-black "> српски </a> </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener('alpine:init', function () { Alpine.data('SC_674c13256ed18', function () { var config = { buildMarkup: true, options: { mediaQuery: 'min', type: "loop", perPage: "2", arrows: false, autoplay: true, classes: {"arrow":"splide__arrow tw-bg-[#ccc] [\u0026\u003Esvg]:!tw-fill-black ","prev":"splide__arrow--prev md:!tw-start-[-40px]","next":"splide__arrow--next md:!tw-end-[-40px]"}, interval: 5000, speed: 400, pagination: false, padding: null, direction: "ltr", perMove: null, width: null, lazyLoad: true, breakpoints: Object.assign({ 768: { // md perPage: 3, }, }, []) } }; window.dynamicLoadModule('alpine-splide').then(AlpineSplide => { Object.assign(this, AlpineSplide(config)); this.splideInit(); window.adjustFontSize(this.splide.root); if (config.options.pagination) { /** Sometimes pagination dots do not appear. This trigger fixes that. * Didn't find a way to attach "mounted" event for to alpine through alpne-splide. **/ window.dispatchEvent(new Event('resize')); } this.splide.root.classList.remove("tw-hidden"); this.$dispatch('initiated', this.splide); }) }) }) </script> <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 initReviews() { return { showAllReviewsForMobile: !Boolean(1), showMore() { this.showAllReviewsForMobile = !this.showAllReviewsForMobile; } } } </script> <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> window.addEventListener('DOMContentLoaded', function () { var videoIdElement = document.querySelector('#video-placeholder'); if (videoIdElement) { videoIdElement.addEventListener('click', function (e) { e.currentTarget.classList.add('tw-hidden'); e.currentTarget.nextElementSibling.style.display = 'block'; var event = new Event('playVideo'); document.dispatchEvent(event); }); } }); </script> <script> window.addEventListener('DOMContentLoaded', function () { var videoIdElement = document.querySelector('#video-placeholder'); if (videoIdElement) { videoIdElement.addEventListener('click', function (e) { e.currentTarget.classList.add('tw-hidden'); e.currentTarget.nextElementSibling.style.display = 'block'; var event = new Event('playVideo'); document.dispatchEvent(event); }); } }); </script> <script> window.addEventListener('DOMContentLoaded', function () { var videoIdElement = document.querySelector('#video-placeholder'); if (videoIdElement) { videoIdElement.addEventListener('click', function (e) { e.currentTarget.classList.add('tw-hidden'); e.currentTarget.nextElementSibling.style.display = 'block'; var event = new Event('playVideo'); document.dispatchEvent(event); }); } }); </script> <style> .bf-2024-bg { background: -webkit-gradient(linear, left top, right top, from(#FFCC01), color-stop(31%, #FA9601), color-stop(63.5%, #F5AE00), color-stop(100%, #E98B00), to(#FF5E4D)); background: -o-linear-gradient(left, #FFCC01 0%, #FA9601 31%, #F5AE00 63.5%, #E98B00 100%, #FF5E4D 100%); background: linear-gradient(90deg, #FFCC01 0%, #FA9601 31%, #F5AE00 63.5%, #E98B00 100%, #FF5E4D 100%); } .bf2024-pp-text-color { color: #000; } .bf2024-op-text-color { color: #000; } .bf2024-badge-color { color: #EEB301; } </style> <div x-data="modalIndexPushEngageModal('push-engage-modal')" id="push-engage-modal" @afterpointselected.window="closeModal()" @modal-open.window="handleOpenEvent($event)" class="tw-pointer-events-none"> <div x-show="open" style="display: none;" class="tw-fixed tw-z-[99999] tw-inset-0 tw-overflow-y-auto" tabindex="-1" role="dialog" aria-modal="true" x-trap.noscroll="open" @keyup.escape.stop="closeModal()" > <div class="tw-flex tw-justify-center tw-min-h-screen tw-items-start"> <!-- Overlay --> <!-- Modal --> <div class="tw-container tw-px-container md:tw-px-container-md lg:tw-px-container-lg xl:tw-px-container-xl tw-my-3 sm:tw-my-5 tw-h-full tw-w-auto tw-pointer-events-auto" > <div class="tw-align-middle tw-bg-white tw-rounded-lg tw-text-start tw-overflow-hidden tw-shadow-xl tw-transform tw-transition-all tw-w-full tw-h-full "> <div class="tw-h-full"> <div class="tw-bg-white tw-p-4 tw-h-full"> <div class="tw-h-full"> <div class="tw-bg-white tw-text-black tw-text-sm md:tw-text-base tw-max-w-[600px]"> <div class="tw-grid md:tw-px-s16 tw-grid-cols-[20%_1fr] tw-gap-s16 md:tw-gap-s24 tw-flex-wrap"> <div> <img height="115" width="85" onerror="this.src = `https://get-derila.com/theme/nuubu/common/notification_logo.svg`" src='data:image/svg+xml;charset=utf-8,<svg fill="transparent" width="85" height="115" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%"/></svg>' data-src="https://get-derila.com/theme/derila/common/notification_logo.svg" alt="logo" > </div> <div class="tw-flex tw-flex-col tw-justify-between"> <div class="tw-text-left"> <strong></strong> <p class="tw-mb-0 tw-leading-tight">訂閱我們的更新並獲得獨家折扣!</p> </div> <div class="tw-flex tw-justify-end tw-pt-3"> <button type="button" class="modal-body__no-button tw-opacity-40 tw-shadow-md tw-bg-black tw-text-white tw-rounded tw-px-2 tw-py-1 tw-text-sm md:tw-text-base tw-mr-3 tw-cursor-not-allowed" @click="closeModal()" > 後 </button> <button type="button" class="modal-body__yes-button tw-bg-btn tw-shadow-md tw-text-btn-text tw-rounded tw-px-2 tw-py-1 tw-text-sm md:tw-text-base" @click="closeModal()" > 訂閱 </button> </div> </div> </div> </div> </div> <div @click="closeModal()" class="tw-absolute tw-top-0 tw-end-0 tw-cursor-pointer tw-bg-inherit tw-p-1 tw-pt-2 tw-pe-2 " tabindex="0" @keyup.enter.stop="closeModal()" data-ga-category="Element" data-ga-click="16 - Footer (Close Modal Button)" > <svg class="tw-w-[10px]" 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> </div> </div> </div> </div> </div> </div> </div> </div> <script> document.addEventListener('alpine:init', function () { Alpine.data('modalIndexPushEngageModal', function (id) { return { open: false, id: id, openModal() { this.open = true; this.$dispatch('modal-opened', { id: this.id }); }, closeModal() { this.open = false; }, handleOpenEvent(event) { if (event.detail.id === this.id) { this.openModal(); } }, } }); }) </script> </div> <script data-navigate-once="true">window.livewireScriptConfig = {"csrf":"j6e91nx8sQdOSGcTM2CYEdCQFATTlVknf1T5Qu2c","uri":"\/livewire\/update","progressBar":"","nonce":""};</script> <link rel="modulepreload" href="https://get-derila.com/build/assets/tracktor-68a71fb6.js" /><script type="module" src="https://get-derila.com/build/assets/tracktor-68a71fb6.js" data-navigate-track="reload"></script> <script> window.addEventListener('load', function () { typeof tracktor !== "undefined" && tracktor.init('https://tracktor.me', "0193812a-c9f2-7c10-bcd8-07e8a9065574") .then(function () { tracktor.recordVisit( {"l":"zh-tw","uuid":"0193812a-c9f2-7c10-bcd8-07e8a9065574","hj":"1","gae":"1","eppss":"1","sndv":"1","ipp":"1","sruep":"1","sale":"bf2024","ppdf":"credit","_":"7189,2624,4288,5829,6102,6108,6341,7035,7399","sntp":"1"}, [{"key":"page_category","value":"index"},{"key":"ip_country","value":"SG"},{"key":"brand","value":"derila"},{"key":"locale","value":"zh-tw"}], null ).catch(function (error) { console.error(error); tracktor.initFallback("0193812a-c9f2-7c10-bcd8-07e8a9065574").then(function () { tracktor.recordVisit( {"l":"zh-tw","uuid":"0193812a-c9f2-7c10-bcd8-07e8a9065574","hj":"1","gae":"1","eppss":"1","sndv":"1","ipp":"1","sruep":"1","sale":"bf2024","ppdf":"credit","_":"7189,2624,4288,5829,6102,6108,6341,7035,7399","sntp":"1"}, [{"key":"page_category","value":"index"},{"key":"ip_country","value":"SG"},{"key":"brand","value":"derila"},{"key":"locale","value":"zh-tw"}], null ).catch((error) => console.error(error)); }) }); tracktor.addInputListeners(); }) .catch((error) => console.error(error)); }); </script> </body> </html>