Changeset 3776421
- Timestamp:
- 10/31/2026 07:15:00 AM (3 hours ago)
- Location:
- clickclue
- Files:
-
- 84 added
- 25 edited
-
assets/banner-1544x500.png (added)
-
assets/banner-772x250.png (added)
-
assets/screenshot-1.png (added)
-
assets/screenshot-2.png (added)
-
tags/1.1.6 (added)
-
tags/1.1.6/BUILD.txt (added)
-
tags/1.1.6/LICENSE.txt (added)
-
tags/1.1.6/THIRD-PARTY-LICENSES.txt (added)
-
tags/1.1.6/assets (added)
-
tags/1.1.6/assets/admin.css (added)
-
tags/1.1.6/assets/capture-engine.js (added)
-
tags/1.1.6/assets/clickclue-logo.svg (added)
-
tags/1.1.6/assets/dashboard.js (added)
-
tags/1.1.6/assets/diagnostics.js (added)
-
tags/1.1.6/assets/help.css (added)
-
tags/1.1.6/assets/help.html (added)
-
tags/1.1.6/assets/image-library.js (added)
-
tags/1.1.6/assets/media-admin.css (added)
-
tags/1.1.6/assets/player-frame.js (added)
-
tags/1.1.6/assets/player.css (added)
-
tags/1.1.6/assets/player.html (added)
-
tags/1.1.6/assets/player.js (added)
-
tags/1.1.6/assets/previews (added)
-
tags/1.1.6/assets/previews/grouped.png (added)
-
tags/1.1.6/assets/previews/heatmaps.png (added)
-
tags/1.1.6/assets/previews/journeys.png (added)
-
tags/1.1.6/assets/pro-previews.css (added)
-
tags/1.1.6/assets/pro-previews.js (added)
-
tags/1.1.6/assets/recorder.js (added)
-
tags/1.1.6/assets/replay.css (added)
-
tags/1.1.6/assets/studio.css (added)
-
tags/1.1.6/assets/studio.js (added)
-
tags/1.1.6/assets/tutorial.css (added)
-
tags/1.1.6/assets/tutorial.js (added)
-
tags/1.1.6/assets/workspace.css (added)
-
tags/1.1.6/assets/workspace.js (added)
-
tags/1.1.6/build (added)
-
tags/1.1.6/build/build.mjs (added)
-
tags/1.1.6/build/edition.json (added)
-
tags/1.1.6/build/package-lock.json (added)
-
tags/1.1.6/build/package.json (added)
-
tags/1.1.6/build/translation-comments.mjs (added)
-
tags/1.1.6/changelog.txt (added)
-
tags/1.1.6/clickclue.php (added)
-
tags/1.1.6/includes (added)
-
tags/1.1.6/includes/admin-page.php (added)
-
tags/1.1.6/includes/class-clickclue-pro-previews.php (added)
-
tags/1.1.6/includes/class-clickclue-review-request.php (added)
-
tags/1.1.6/includes/class-tracewell-insights.php (added)
-
tags/1.1.6/includes/class-tracewell-media.php (added)
-
tags/1.1.6/includes/class-tracewell-transport.php (added)
-
tags/1.1.6/includes/class-tracewell-workspace.php (added)
-
tags/1.1.6/includes/class-tracewell.php (added)
-
tags/1.1.6/includes/help-page.php (added)
-
tags/1.1.6/languages (added)
-
tags/1.1.6/languages/README.txt (added)
-
tags/1.1.6/languages/clickclue.pot (added)
-
tags/1.1.6/readme.txt (added)
-
tags/1.1.6/src (added)
-
tags/1.1.6/src/capture-engine.mjs (added)
-
tags/1.1.6/src/capture.mjs (added)
-
tags/1.1.6/src/diagnostic-translations.mjs (added)
-
tags/1.1.6/src/diagnostics.mjs (added)
-
tags/1.1.6/src/i18n.mjs (added)
-
tags/1.1.6/src/layout.mjs (added)
-
tags/1.1.6/src/media.mjs (added)
-
tags/1.1.6/src/page-path.mjs (added)
-
tags/1.1.6/src/player-document.mjs (added)
-
tags/1.1.6/src/player-frame-global.mjs (added)
-
tags/1.1.6/src/player-frame.mjs (added)
-
tags/1.1.6/src/player-shell.html (added)
-
tags/1.1.6/src/player-view.mjs (added)
-
tags/1.1.6/src/player.mjs (added)
-
tags/1.1.6/src/privacy.mjs (added)
-
tags/1.1.6/src/private-regions.mjs (added)
-
tags/1.1.6/src/recorder.mjs (added)
-
tags/1.1.6/src/replay-translations.mjs (added)
-
tags/1.1.6/src/signals.mjs (added)
-
tags/1.1.6/src/transport.mjs (added)
-
tags/1.1.6/src/tutorial-admin.mjs (added)
-
tags/1.1.6/src/tutorial.mjs (added)
-
tags/1.1.6/uninstall.php (added)
-
trunk/assets/capture-engine.js (modified) (4 diffs)
-
trunk/assets/dashboard.js (modified) (6 diffs)
-
trunk/assets/diagnostics.js (modified) (1 diff)
-
trunk/assets/help.html (modified) (10 diffs)
-
trunk/assets/player.html (modified) (5 diffs)
-
trunk/assets/player.js (modified) (4 diffs)
-
trunk/assets/pro-previews.js (modified) (3 diffs)
-
trunk/assets/recorder.js (modified) (1 diff)
-
trunk/assets/studio.css (modified) (1 diff)
-
trunk/assets/studio.js (modified) (1 diff)
-
trunk/assets/tutorial.js (modified) (1 diff)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/clickclue.php (modified) (3 diffs)
-
trunk/includes/admin-page.php (modified) (2 diffs)
-
trunk/includes/class-clickclue-review-request.php (added)
-
trunk/includes/class-tracewell-workspace.php (modified) (1 diff)
-
trunk/includes/class-tracewell.php (modified) (6 diffs)
-
trunk/includes/help-page.php (modified) (10 diffs)
-
trunk/languages/clickclue.pot (modified) (41 diffs)
-
trunk/readme.txt (modified) (1 diff)
-
trunk/src/diagnostic-translations.mjs (modified) (1 diff)
-
trunk/src/diagnostics.mjs (modified) (4 diffs)
-
trunk/src/page-path.mjs (added)
-
trunk/src/privacy.mjs (modified) (1 diff)
-
trunk/src/recorder.mjs (modified) (6 diffs)
-
trunk/src/tutorial.mjs (modified) (1 diff)
-
trunk/uninstall.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
clickclue/trunk/assets/capture-engine.js
r3775799 r3776421 1 "use strict";(()=>{var Bn=Object.defineProperty,zn=(e,t,s)=>t in e?Bn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,A=(e,t,s)=>zn(e,typeof t!="symbol"?t+"":t,s),ps,Wn=Object.defineProperty,jn=(e,t,s)=>t in e?Wn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ms=(e,t,s)=>jn(e,typeof t!="symbol"?t+"":t,s),re=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(re||{}),gs={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},ys={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},He={},Ui={},Vn=()=>!!globalThis.Zone;function Yr(e){if(He[e])return He[e];let t=globalThis[e],s=t.prototype,i=e in gs?gs[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in ys?ys[e]:void 0,f=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&f&&!Vn())return He[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),Ui[e]=()=>p.remove()):p.remove(),He[e]=h}catch{return s}}var It={};function we(e,t,s){var i;let r=`${e}.${String(s)}`;if(It[r])return It[r].call(t);let u=Yr(e),f=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return f?(It[r]=f,f.call(t)):t[s]}var At={};function $i(e,t,s){let i=`${e}.${String(s)}`;if(At[i])return At[i].bind(t);let u=Yr(e)[s];return typeof u!="function"?t[s]:(At[i]=u,u.bind(t))}function qn(e){return we("Node",e,"ownerDocument")}function Gn(e){return we("Node",e,"childNodes")}function Hn(e){return we("Node",e,"parentNode")}function Yn(e){return we("Node",e,"parentElement")}function Xn(e){return we("Node",e,"textContent")}function Jn(e,t){return $i("Node",e,"contains")(t)}function Qn(e){return $i("Node",e,"getRootNode")()}function Zn(e){return!e||!("host"in e)?null:we("ShadowRoot",e,"host")}function Kn(e){return e.styleSheets}function eo(e){return!e||!("shadowRoot"in e)?null:we("Element",e,"shadowRoot")}function to(e,t){return we("Element",e,"querySelector")(t)}function ro(e,t){return we("Element",e,"querySelectorAll")(t)}function so(){return[Yr("MutationObserver").constructor,Ui.MutationObserver??(()=>{})]}var Bi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Bi=()=>new Date().getTime());function io(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var se={ownerDocument:qn,childNodes:Gn,parentNode:Hn,parentElement:Yn,textContent:Xn,contains:Jn,getRootNode:Qn,host:Zn,styleSheets:Kn,shadowRoot:eo,querySelector:to,querySelectorAll:ro,nowTimestamp:Bi,mutationObserverCtor:so,patch:io};function zi(e){return e.nodeType===e.ELEMENT_NODE}function Ue(e){let t=e&&"host"in e&&"mode"in e&&se.host(e)||null;return!!(t&&"shadowRoot"in t&&se.shadowRoot(t)===e)}function $e(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function no(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function oo(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let s=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}function Lr(e){try{let t=e.rules||e.cssRules;if(!t)return null;let s=e.href;!s&&e.ownerNode&&(s=e.ownerNode.baseURI);let i=Array.from(t,r=>Wi(r,s)).join("");return no(i)}catch{return null}}function Wi(e,t){if(lo(e)){let s;try{s=Lr(e.styleSheet)||oo(e)}catch{s=e.cssText}return e.styleSheet.href?at(s,e.styleSheet.href):s}else{let s=e.cssText;return uo(e)&&e.selectorText.includes(":")&&(s=ao(s)),t?at(s,t):s}}function ao(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function lo(e){return"styleSheet"in e}function uo(e){return"selectorText"in e}var it=class{constructor(){ms(this,"idNodeMap",new Map),ms(this,"nodeMetaMap",new WeakMap)}getId(t){var s;return t?((s=this.getMeta(t))==null?void 0:s.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let s=this.getId(t);this.idNodeMap.delete(s),t.childNodes&&t.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,s){let i=s.id;this.idNodeMap.set(i,t),this.nodeMetaMap.set(t,s)}replace(t,s){let i=this.getNode(t);if(i){let r=this.nodeMetaMap.get(i);r&&this.nodeMetaMap.set(s,r)}this.idNodeMap.set(t,s)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new it}function nt({element:e,maskInputOptions:t,tagName:s,type:i,value:r,maskInputFn:u}){let f=r||"",p=i&&Ce(i);return(t[s.toLowerCase()]||p&&t[p])&&(u?f=u(f,e):f="*".repeat(f.length)),f}function Ce(e){return e.toLowerCase()}var ws="__rrweb_original__";function fo(e){let t=e.getContext("2d");if(!t)return!0;let s=50;for(let i=0;i<e.width;i+=s)for(let r=0;r<e.height;r+=s){let u=t.getImageData,f=ws in u?u[ws]:u;if(new Uint32Array(f.call(t,i,r,Math.min(s,e.width-i),Math.min(s,e.height-r)).data.buffer).some(o=>o!==0))return!1}return!0}function ot(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ce(t):null}function ji(e,t){let s;try{s=new URL(e,t??window.location.href)}catch{return null}let i=/\.([0-9a-z]+)(?:$)/i,r=s.pathname.match(i);return r?.[1]??null}function ho(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var po=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,mo=/^(?:[a-z+]+:)?\/\//i,go=/^www\..*/i,yo=/^(data:)([^,]*),(.*)/i;function at(e,t){return(e||"").replace(po,(s,i,r,u,f,p)=>{let o=r||f||p,h=i||u||"";if(!o)return s;if(mo.test(o)||go.test(o))return`url(${h}${o}${h})`;if(yo.test(o))return`url(${h}${o}${h})`;if(o[0]==="/")return`url(${h}${ho(t)+o}${h})`;let n=o.split("#")[0],d=o.substring(n.length),l=t.split("#")[0].split("/"),a=n.split("/");l.pop();for(let m of a)m!=="."&&(m===".."?l.pop():l.push(m));return`url(${h}${l.join("/")}${d}${h})`})}function Ye(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function wo(e,t,s=!1){let i=Array.from(t.childNodes),r=[],u=0;if(i.length>1&&e&&typeof e=="string"){let f=Ye(e,s),p=f.length/e.length;for(let o=1;o<i.length;o++)if(i[o].textContent&&typeof i[o].textContent=="string"){let h=Ye(i[o].textContent,s),n=100,d=3;for(;d<h.length&&(h[d].match(/[a-zA-Z0-9]/)||h.indexOf(h.substring(0,d),1)!==-1);d++);for(;d<h.length;d++){let l=h.substring(0,d),a=f.split(l),m=-1;if(a.length===2)m=a[0].length;else if(a.length>2&&a[0]===""&&i[o-1].textContent!=="")m=f.indexOf(l,1);else if(a.length===1){if(l=l.substring(0,l.length-1),a=f.split(l),a.length<=1)return r.push(e),r;d=n+1}else d===h.length-1&&(m=f.indexOf(l));if(a.length>=2&&d>n){let c=i[o-1].textContent;if(c&&typeof c=="string"){let g=Ye(c).length;m=f.indexOf(l,g)}m===-1&&(m=a[0].length)}if(m!==-1){let c=Math.floor(m/p);for(;c>0&&c<e.length;){if(u+=1,u>50*i.length)return r.push(e),r;let g=Ye(e.substring(0,c),s);if(g.length===m){r.push(e.substring(0,c)),e=e.substring(c),f=f.substring(m);break}else g.length<m?c+=Math.max(1,Math.floor((m-g.length)/p)):c-=Math.max(1,Math.floor((g.length-m)*p))}break}}}}return r.push(e),r}function bo(e,t){return wo(e,t).join("/* rr_split */")}var vo=1,So=new RegExp("[^a-z0-9-_:]"),ze=-2;function Vi(){return vo++}function Co(e){if(e instanceof HTMLFormElement)return"form";let t=Ce(e.tagName);return So.test(t)?"div":t}var Ae,bs,xo=/^[^ \t\n\r\u000c]+/,Eo=/^[, \t\n\r\u000c]+/;function Mo(e,t){if(t.trim()==="")return t;let s=0;function i(u){let f,p=u.exec(t.substring(s));return p?(f=p[0],s+=f.length,f):""}let r=[];for(;i(Eo),!(s>=t.length);){let u=i(xo);if(u.slice(-1)===",")u=_e(e,u.substring(0,u.length-1)),r.push(u);else{let f="";u=_e(e,u);let p=!1;for(;;){let o=t.charAt(s);if(o===""){r.push((u+f).trim());break}else if(p)o===")"&&(p=!1);else if(o===","){s+=1,r.push((u+f).trim());break}else o==="("&&(p=!0);f+=o,s+=1}}}return r.join(", ")}var vs=new WeakMap;function _e(e,t){return!t||t.trim()===""?t:Xr(e,t)}function Ro(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Xr(e,t){let s=vs.get(e);if(s||(s=e.createElement("a"),vs.set(e,s)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return s.setAttribute("href",t),s.href}function qi(e,t,s,i){return i&&(s==="src"||s==="href"&&!(t==="use"&&i[0]==="#")||s==="xlink:href"&&i[0]!=="#"||s==="background"&&["table","td","th"].includes(t)?_e(e,i):s==="srcset"?Mo(e,i):s==="style"?at(i,Xr(e)):t==="object"&&s==="data"?_e(e,i):i)}function Gi(e,t,s){return["video","audio"].includes(e)&&Ce(t)==="autoplay"}function No(e,t,s){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}if(s)return e.matches(s)}catch{}return!1}function lt(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return s?lt(se.parentNode(e),t,s):!1;for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}return s?lt(se.parentNode(e),t,s):!1}function Hi(e,t,s,i){let r;if(zi(e)){if(r=e,!se.childNodes(r).length)return!1}else{if(se.parentElement(e)===null)return!1;r=se.parentElement(e)}try{if(typeof t=="string"){if(i){if(r.closest(`.${t}`))return!0}else if(r.classList.contains(t))return!0}else if(lt(r,t,i))return!0;if(s){if(i){if(r.closest(s))return!0}else if(r.matches(s))return!0}}catch{}return!1}function Oo(e,t,s){let i=e.contentWindow;if(!i)return;let r=!1,u;try{u=i.document.readyState}catch{return}if(u!=="complete"){let p=setTimeout(()=>{r||(t(),r=!0)},s);e.addEventListener("load",()=>{clearTimeout(p),r=!0,t()});return}let f="about:blank";if(i.location.href!==f||e.src===f||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function Io(e,t,s){let i=!1,r;try{r=e.sheet}catch{return}if(r)return;let u=setTimeout(()=>{i||(t(),i=!0)},s);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()})}function Ao(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:f,inlineStylesheet:p,maskInputOptions:o={},maskTextFn:h,maskInputFn:n,dataURLOptions:d={},inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:c=!1,cssCaptured:g=!1}=t,S=Do(s,i);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:re.Document,childNodes:[],compatMode:e.compatMode}:{type:re.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:re.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return _o(e,{doc:s,blockClass:r,blockSelector:u,inlineStylesheet:p,maskInputOptions:o,maskInputFn:n,dataURLOptions:d,inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:c,rootId:S});case e.TEXT_NODE:return To(e,{doc:s,needsMask:f,maskTextFn:h,rootId:S,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:re.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:re.Comment,textContent:se.textContent(e)||"",rootId:S};default:return!1}}function Do(e,t){if(!t.hasNode(e))return;let s=t.getId(e);return s===1?void 0:s}function To(e,t){let{needsMask:s,maskTextFn:i,rootId:r,cssCaptured:u}=t,f=se.parentNode(e),p=f&&f.tagName,o="",h=p==="STYLE"?!0:void 0,n=p==="SCRIPT"?!0:void 0;return n?o="SCRIPT_PLACEHOLDER":u||(o=se.textContent(e),h&&o&&(o=at(o,Xr(t.doc)))),!h&&!n&&o&&s&&(o=i?i(o,se.parentElement(e)):o.replace(/[\S]/g,"*")),{type:re.Text,textContent:o||"",rootId:r}}function _o(e,t){let{doc:s,blockClass:i,blockSelector:r,inlineStylesheet:u,maskInputOptions:f={},maskInputFn:p,dataURLOptions:o={},inlineImages:h,recordCanvas:n,keepIframeSrcFn:d,newlyAddedElement:l=!1,rootId:a}=t,m=No(e,i,r),c=Co(e),g={},S=e.attributes.length;for(let v=0;v<S;v++){let E=e.attributes[v];Gi(c,E.name,E.value)||(g[E.name]=qi(s,c,Ce(E.name),E.value))}if(c==="link"&&u){let v=Array.from(s.styleSheets).find(w=>w.href===e.href),E=null;v&&(E=Lr(v)),E&&(delete g.rel,delete g.href,g._cssText=E)}if(c==="style"&&e.sheet){let v=Lr(e.sheet);v&&(e.childNodes.length>1&&(v=bo(v,e)),g._cssText=v)}if(["input","textarea","select"].includes(c)){let v=e.value,E=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&v?g.value=nt({element:e,type:ot(e),tagName:c,value:v,maskInputOptions:f,maskInputFn:p}):E&&(g.checked=E)}if(c==="option"&&(e.selected&&!f.select?g.selected=!0:delete g.selected),c==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),c==="canvas"&&n){if(e.__context==="2d")fo(e)||(g.rr_dataURL=e.toDataURL(o.type,o.quality));else if(!("__context"in e)){let v=e.toDataURL(o.type,o.quality),E=s.createElement("canvas");E.width=e.width,E.height=e.height;let w=E.toDataURL(o.type,o.quality);v!==w&&(g.rr_dataURL=v)}}if(c==="img"&&h){Ae||(Ae=s.createElement("canvas"),bs=Ae.getContext("2d"));let v=e,E=v.currentSrc||v.getAttribute("src")||"<unknown-src>",w=v.crossOrigin,y=()=>{v.removeEventListener("load",y);try{Ae.width=v.naturalWidth,Ae.height=v.naturalHeight,bs.drawImage(v,0,0),g.rr_dataURL=Ae.toDataURL(o.type,o.quality)}catch(x){if(v.crossOrigin!=="anonymous"){v.crossOrigin="anonymous",v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y);return}else console.warn(`Cannot inline img src=${E}! Error: ${x}`)}v.crossOrigin==="anonymous"&&(w?g.crossOrigin=w:v.removeAttribute("crossorigin"))};v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y)}if(["audio","video"].includes(c)){let v=g;v.rr_mediaState=e.paused?"paused":"played",v.rr_mediaCurrentTime=e.currentTime,v.rr_mediaPlaybackRate=e.playbackRate,v.rr_mediaMuted=e.muted,v.rr_mediaLoop=e.loop,v.rr_mediaVolume=e.volume}if(l||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:v,height:E}=e.getBoundingClientRect();g={class:g.class,rr_width:`${v}px`,rr_height:`${E}px`}}c==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let b;try{customElements.get(c)&&(b=!0)}catch{}return{type:re.Element,tagName:c,attributes:g,childNodes:[],isSVG:Ro(e)||void 0,needBlock:m,rootId:a,isCustom:b}}function H(e){return e==null?"":e.toLowerCase()}function Yi(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function ko(e,t){if(t.comment&&e.type===re.Comment)return!0;if(e.type===re.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&ji(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(H(e.attributes.name).match(/^msapplication-tile(image|color)$/)||H(e.attributes.name)==="application-name"||H(e.attributes.rel)==="icon"||H(e.attributes.rel)==="apple-touch-icon"||H(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&H(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(H(e.attributes.property).match(/^(og|twitter|fb):/)||H(e.attributes.name).match(/^(og|twitter):/)||H(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(H(e.attributes.name)==="robots"||H(e.attributes.name)==="googlebot"||H(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(H(e.attributes.name)==="author"||H(e.attributes.name)==="generator"||H(e.attributes.name)==="framework"||H(e.attributes.name)==="publisher"||H(e.attributes.name)==="progid"||H(e.attributes.property).match(/^article:/)||H(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(H(e.attributes.name)==="google-site-verification"||H(e.attributes.name)==="yandex-verification"||H(e.attributes.name)==="csrf-token"||H(e.attributes.name)==="p:domain_verify"||H(e.attributes.name)==="verify-v1"||H(e.attributes.name)==="verification"||H(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function ke(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,maskTextClass:f,maskTextSelector:p,skipChild:o=!1,inlineStylesheet:h=!0,maskInputOptions:n={},maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m={},inlineImages:c=!1,recordCanvas:g=!1,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:y=()=>!1,newlyAddedElement:x=!1,cssCaptured:R=!1}=t,{needsMask:M}=t,{preserveWhiteSpace:C=!0}=t;M||(M=Hi(e,f,p,M===void 0));let I=Ao(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,dataURLOptions:m,inlineImages:c,recordCanvas:g,keepIframeSrcFn:y,newlyAddedElement:x,cssCaptured:R});if(!I)return console.warn(e,"not serialized"),null;let _;i.hasNode(e)?_=i.getId(e):ko(I,a)||!C&&I.type===re.Text&&!I.textContent.replace(/^\s+|\s+$/gm,"").length?_=ze:_=Vi();let N=Object.assign(I,{id:_});if(i.add(e,N),_===ze)return null;S&&S(e);let ie=!o;if(N.type===re.Element){ie=ie&&!N.needBlock,delete N.needBlock;let F=se.shadowRoot(e);F&&$e(F)&&(N.isShadowHost=!0)}if((N.type===re.Document||N.type===re.Element)&&ie){a.headWhitespace&&N.type===re.Element&&N.tagName==="head"&&(C=!1);let F={doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:o,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y,cssCaptured:!1};if(!(N.type===re.Element&&N.tagName==="textarea"&&N.attributes.value!==void 0)){N.type===re.Element&&N.attributes._cssText!==void 0&&typeof N.attributes._cssText=="string"&&(F.cssCaptured=!0);for(let q of Array.from(se.childNodes(e))){let J=ke(q,F);J&&N.childNodes.push(J)}}let z=null;if(zi(e)&&(z=se.shadowRoot(e)))for(let q of Array.from(se.childNodes(z))){let J=ke(q,F);J&&($e(z)&&(J.isShadow=!0),N.childNodes.push(J))}}let ne=se.parentNode(e);return ne&&Ue(ne)&&$e(ne)&&(N.isShadow=!0),N.type===re.Element&&N.tagName==="iframe"&&Oo(e,()=>{let F=e.contentDocument;if(F&&b){let z=ke(F,{doc:F,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});z&&b(e,z)}},v),N.type===re.Element&&N.tagName==="link"&&typeof N.attributes.rel=="string"&&(N.attributes.rel==="stylesheet"||N.attributes.rel==="preload"&&typeof N.attributes.href=="string"&&ji(N.attributes.href)==="css")&&Io(e,()=>{if(E){let F=ke(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:f,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:c,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});F&&E(e,F)}},w),N}function Lo(e,t){let{mirror:s=new it,blockClass:i="rr-block",blockSelector:r=null,maskTextClass:u="rr-mask",maskTextSelector:f=null,inlineStylesheet:p=!0,inlineImages:o=!1,recordCanvas:h=!1,maskAllInputs:n=!1,maskTextFn:d,maskInputFn:l,slimDOM:a=!1,dataURLOptions:m,preserveWhiteSpace:c,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w=()=>!1}=t,y=n===!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,password:!0}:n===!1?{password:!0}:n,x=Yi(a);return ke(e,{doc:e,mirror:s,blockClass:i,blockSelector:r,maskTextClass:u,maskTextSelector:f,skipChild:!1,inlineStylesheet:p,maskInputOptions:y,maskTextFn:d,maskInputFn:l,slimDOMOptions:x,dataURLOptions:m,inlineImages:o,recordCanvas:h,preserveWhiteSpace:c,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w,newlyAddedElement:!1})}var Po=/(max|min)-device-(width|height)/,cl=new RegExp(Po.source,"g");function Fo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Uo(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Xe={exports:{}},Ss;function $o(){if(Ss)return Xe.exports;Ss=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Xe.exports=t(),Xe.exports.createColors=t,Xe.exports}var Bo={},zo=Object.freeze(Object.defineProperty({__proto__:null,default:Bo},Symbol.toStringTag,{value:"Module"})),me=Uo(zo),Dt,Cs;function Jr(){if(Cs)return Dt;Cs=1;let e=$o(),t=me;class s extends Error{constructor(r,u,f,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof f<"u"&&(typeof u=="number"?(this.line=u,this.column=f):(this.line=u.line,this.column=u.column,this.endLine=f.line,this.endColumn=f.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let f=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,f.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=c=>l(m(c)),d=c=>a(c)}else n=d=l=>l;return f.slice(p,o).map((l,a)=>{let m=p+1+a,c=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(c.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(c)+l+`2 `+g+n("^")}return" "+d( c)+l}).join(`1 "use strict";(()=>{var zn=Object.defineProperty,Wn=(e,t,s)=>t in e?zn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,A=(e,t,s)=>Wn(e,typeof t!="symbol"?t+"":t,s),ps,jn=Object.defineProperty,Vn=(e,t,s)=>t in e?jn(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,ms=(e,t,s)=>Vn(e,typeof t!="symbol"?t+"":t,s),re=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(re||{}),gs={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},ys={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},He={},Ui={},qn=()=>!!globalThis.Zone;function Yr(e){if(He[e])return He[e];let t=globalThis[e],s=t.prototype,i=e in gs?gs[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in ys?ys[e]:void 0,c=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&c&&!qn())return He[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),Ui[e]=()=>p.remove()):p.remove(),He[e]=h}catch{return s}}var It={};function we(e,t,s){var i;let r=`${e}.${String(s)}`;if(It[r])return It[r].call(t);let u=Yr(e),c=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return c?(It[r]=c,c.call(t)):t[s]}var At={};function $i(e,t,s){let i=`${e}.${String(s)}`;if(At[i])return At[i].bind(t);let u=Yr(e)[s];return typeof u!="function"?t[s]:(At[i]=u,u.bind(t))}function Gn(e){return we("Node",e,"ownerDocument")}function Hn(e){return we("Node",e,"childNodes")}function Yn(e){return we("Node",e,"parentNode")}function Xn(e){return we("Node",e,"parentElement")}function Jn(e){return we("Node",e,"textContent")}function Qn(e,t){return $i("Node",e,"contains")(t)}function Zn(e){return $i("Node",e,"getRootNode")()}function Kn(e){return!e||!("host"in e)?null:we("ShadowRoot",e,"host")}function eo(e){return e.styleSheets}function to(e){return!e||!("shadowRoot"in e)?null:we("Element",e,"shadowRoot")}function ro(e,t){return we("Element",e,"querySelector")(t)}function so(e,t){return we("Element",e,"querySelectorAll")(t)}function io(){return[Yr("MutationObserver").constructor,Ui.MutationObserver??(()=>{})]}var Bi=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(Bi=()=>new Date().getTime());function no(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var se={ownerDocument:Gn,childNodes:Hn,parentNode:Yn,parentElement:Xn,textContent:Jn,contains:Qn,getRootNode:Zn,host:Kn,styleSheets:eo,shadowRoot:to,querySelector:ro,querySelectorAll:so,nowTimestamp:Bi,mutationObserverCtor:io,patch:no};function zi(e){return e.nodeType===e.ELEMENT_NODE}function Ue(e){let t=e&&"host"in e&&"mode"in e&&se.host(e)||null;return!!(t&&"shadowRoot"in t&&se.shadowRoot(t)===e)}function $e(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function oo(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function ao(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let s=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?s.push("layer"):e.layerName&&s.push(`layer(${e.layerName})`),e.supportsText&&s.push(`supports(${e.supportsText})`),e.media.length&&s.push(e.media.mediaText),s.join(" ")+";"}function Lr(e){try{let t=e.rules||e.cssRules;if(!t)return null;let s=e.href;!s&&e.ownerNode&&(s=e.ownerNode.baseURI);let i=Array.from(t,r=>Wi(r,s)).join("");return oo(i)}catch{return null}}function Wi(e,t){if(uo(e)){let s;try{s=Lr(e.styleSheet)||ao(e)}catch{s=e.cssText}return e.styleSheet.href?at(s,e.styleSheet.href):s}else{let s=e.cssText;return co(e)&&e.selectorText.includes(":")&&(s=lo(s)),t?at(s,t):s}}function lo(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function uo(e){return"styleSheet"in e}function co(e){return"selectorText"in e}var it=class{constructor(){ms(this,"idNodeMap",new Map),ms(this,"nodeMetaMap",new WeakMap)}getId(t){var s;return t?((s=this.getMeta(t))==null?void 0:s.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let s=this.getId(t);this.idNodeMap.delete(s),t.childNodes&&t.childNodes.forEach(i=>this.removeNodeFromMap(i))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,s){let i=s.id;this.idNodeMap.set(i,t),this.nodeMetaMap.set(t,s)}replace(t,s){let i=this.getNode(t);if(i){let r=this.nodeMetaMap.get(i);r&&this.nodeMetaMap.set(s,r)}this.idNodeMap.set(t,s)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function fo(){return new it}function nt({element:e,maskInputOptions:t,tagName:s,type:i,value:r,maskInputFn:u}){let c=r||"",p=i&&Ce(i);return(t[s.toLowerCase()]||p&&t[p])&&(u?c=u(c,e):c="*".repeat(c.length)),c}function Ce(e){return e.toLowerCase()}var ws="__rrweb_original__";function ho(e){let t=e.getContext("2d");if(!t)return!0;let s=50;for(let i=0;i<e.width;i+=s)for(let r=0;r<e.height;r+=s){let u=t.getImageData,c=ws in u?u[ws]:u;if(new Uint32Array(c.call(t,i,r,Math.min(s,e.width-i),Math.min(s,e.height-r)).data.buffer).some(o=>o!==0))return!1}return!0}function ot(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Ce(t):null}function ji(e,t){let s;try{s=new URL(e,t??window.location.href)}catch{return null}let i=/\.([0-9a-z]+)(?:$)/i,r=s.pathname.match(i);return r?.[1]??null}function po(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var mo=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,go=/^(?:[a-z+]+:)?\/\//i,yo=/^www\..*/i,wo=/^(data:)([^,]*),(.*)/i;function at(e,t){return(e||"").replace(mo,(s,i,r,u,c,p)=>{let o=r||c||p,h=i||u||"";if(!o)return s;if(go.test(o)||yo.test(o))return`url(${h}${o}${h})`;if(wo.test(o))return`url(${h}${o}${h})`;if(o[0]==="/")return`url(${h}${po(t)+o}${h})`;let n=o.split("#")[0],d=o.substring(n.length),l=t.split("#")[0].split("/"),a=n.split("/");l.pop();for(let m of a)m!=="."&&(m===".."?l.pop():l.push(m));return`url(${h}${l.join("/")}${d}${h})`})}function Ye(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function bo(e,t,s=!1){let i=Array.from(t.childNodes),r=[],u=0;if(i.length>1&&e&&typeof e=="string"){let c=Ye(e,s),p=c.length/e.length;for(let o=1;o<i.length;o++)if(i[o].textContent&&typeof i[o].textContent=="string"){let h=Ye(i[o].textContent,s),n=100,d=3;for(;d<h.length&&(h[d].match(/[a-zA-Z0-9]/)||h.indexOf(h.substring(0,d),1)!==-1);d++);for(;d<h.length;d++){let l=h.substring(0,d),a=c.split(l),m=-1;if(a.length===2)m=a[0].length;else if(a.length>2&&a[0]===""&&i[o-1].textContent!=="")m=c.indexOf(l,1);else if(a.length===1){if(l=l.substring(0,l.length-1),a=c.split(l),a.length<=1)return r.push(e),r;d=n+1}else d===h.length-1&&(m=c.indexOf(l));if(a.length>=2&&d>n){let f=i[o-1].textContent;if(f&&typeof f=="string"){let g=Ye(f).length;m=c.indexOf(l,g)}m===-1&&(m=a[0].length)}if(m!==-1){let f=Math.floor(m/p);for(;f>0&&f<e.length;){if(u+=1,u>50*i.length)return r.push(e),r;let g=Ye(e.substring(0,f),s);if(g.length===m){r.push(e.substring(0,f)),e=e.substring(f),c=c.substring(m);break}else g.length<m?f+=Math.max(1,Math.floor((m-g.length)/p)):f-=Math.max(1,Math.floor((g.length-m)*p))}break}}}}return r.push(e),r}function vo(e,t){return bo(e,t).join("/* rr_split */")}var So=1,Co=new RegExp("[^a-z0-9-_:]"),ze=-2;function Vi(){return So++}function xo(e){if(e instanceof HTMLFormElement)return"form";let t=Ce(e.tagName);return Co.test(t)?"div":t}var Ae,bs,Eo=/^[^ \t\n\r\u000c]+/,Mo=/^[, \t\n\r\u000c]+/;function Ro(e,t){if(t.trim()==="")return t;let s=0;function i(u){let c,p=u.exec(t.substring(s));return p?(c=p[0],s+=c.length,c):""}let r=[];for(;i(Mo),!(s>=t.length);){let u=i(Eo);if(u.slice(-1)===",")u=_e(e,u.substring(0,u.length-1)),r.push(u);else{let c="";u=_e(e,u);let p=!1;for(;;){let o=t.charAt(s);if(o===""){r.push((u+c).trim());break}else if(p)o===")"&&(p=!1);else if(o===","){s+=1,r.push((u+c).trim());break}else o==="("&&(p=!0);c+=o,s+=1}}}return r.join(", ")}var vs=new WeakMap;function _e(e,t){return!t||t.trim()===""?t:Xr(e,t)}function No(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Xr(e,t){let s=vs.get(e);if(s||(s=e.createElement("a"),vs.set(e,s)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return s.setAttribute("href",t),s.href}function qi(e,t,s,i){return i&&(s==="src"||s==="href"&&!(t==="use"&&i[0]==="#")||s==="xlink:href"&&i[0]!=="#"||s==="background"&&["table","td","th"].includes(t)?_e(e,i):s==="srcset"?Ro(e,i):s==="style"?at(i,Xr(e)):t==="object"&&s==="data"?_e(e,i):i)}function Gi(e,t,s){return["video","audio"].includes(e)&&Ce(t)==="autoplay"}function Oo(e,t,s){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}if(s)return e.matches(s)}catch{}return!1}function lt(e,t,s){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return s?lt(se.parentNode(e),t,s):!1;for(let i=e.classList.length;i--;){let r=e.classList[i];if(t.test(r))return!0}return s?lt(se.parentNode(e),t,s):!1}function Hi(e,t,s,i){let r;if(zi(e)){if(r=e,!se.childNodes(r).length)return!1}else{if(se.parentElement(e)===null)return!1;r=se.parentElement(e)}try{if(typeof t=="string"){if(i){if(r.closest(`.${t}`))return!0}else if(r.classList.contains(t))return!0}else if(lt(r,t,i))return!0;if(s){if(i){if(r.closest(s))return!0}else if(r.matches(s))return!0}}catch{}return!1}function Io(e,t,s){let i=e.contentWindow;if(!i)return;let r=!1,u;try{u=i.document.readyState}catch{return}if(u!=="complete"){let p=setTimeout(()=>{r||(t(),r=!0)},s);e.addEventListener("load",()=>{clearTimeout(p),r=!0,t()});return}let c="about:blank";if(i.location.href!==c||e.src===c||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function Ao(e,t,s){let i=!1,r;try{r=e.sheet}catch{return}if(r)return;let u=setTimeout(()=>{i||(t(),i=!0)},s);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()})}function Do(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:c,inlineStylesheet:p,maskInputOptions:o={},maskTextFn:h,maskInputFn:n,dataURLOptions:d={},inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:f=!1,cssCaptured:g=!1}=t,S=To(s,i);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:re.Document,childNodes:[],compatMode:e.compatMode}:{type:re.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:re.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:S};case e.ELEMENT_NODE:return ko(e,{doc:s,blockClass:r,blockSelector:u,inlineStylesheet:p,maskInputOptions:o,maskInputFn:n,dataURLOptions:d,inlineImages:l,recordCanvas:a,keepIframeSrcFn:m,newlyAddedElement:f,rootId:S});case e.TEXT_NODE:return _o(e,{doc:s,needsMask:c,maskTextFn:h,rootId:S,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:re.CDATA,textContent:"",rootId:S};case e.COMMENT_NODE:return{type:re.Comment,textContent:se.textContent(e)||"",rootId:S};default:return!1}}function To(e,t){if(!t.hasNode(e))return;let s=t.getId(e);return s===1?void 0:s}function _o(e,t){let{needsMask:s,maskTextFn:i,rootId:r,cssCaptured:u}=t,c=se.parentNode(e),p=c&&c.tagName,o="",h=p==="STYLE"?!0:void 0,n=p==="SCRIPT"?!0:void 0;return n?o="SCRIPT_PLACEHOLDER":u||(o=se.textContent(e),h&&o&&(o=at(o,Xr(t.doc)))),!h&&!n&&o&&s&&(o=i?i(o,se.parentElement(e)):o.replace(/[\S]/g,"*")),{type:re.Text,textContent:o||"",rootId:r}}function ko(e,t){let{doc:s,blockClass:i,blockSelector:r,inlineStylesheet:u,maskInputOptions:c={},maskInputFn:p,dataURLOptions:o={},inlineImages:h,recordCanvas:n,keepIframeSrcFn:d,newlyAddedElement:l=!1,rootId:a}=t,m=Oo(e,i,r),f=xo(e),g={},S=e.attributes.length;for(let v=0;v<S;v++){let E=e.attributes[v];Gi(f,E.name,E.value)||(g[E.name]=qi(s,f,Ce(E.name),E.value))}if(f==="link"&&u){let v=Array.from(s.styleSheets).find(w=>w.href===e.href),E=null;v&&(E=Lr(v)),E&&(delete g.rel,delete g.href,g._cssText=E)}if(f==="style"&&e.sheet){let v=Lr(e.sheet);v&&(e.childNodes.length>1&&(v=vo(v,e)),g._cssText=v)}if(["input","textarea","select"].includes(f)){let v=e.value,E=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&v?g.value=nt({element:e,type:ot(e),tagName:f,value:v,maskInputOptions:c,maskInputFn:p}):E&&(g.checked=E)}if(f==="option"&&(e.selected&&!c.select?g.selected=!0:delete g.selected),f==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),f==="canvas"&&n){if(e.__context==="2d")ho(e)||(g.rr_dataURL=e.toDataURL(o.type,o.quality));else if(!("__context"in e)){let v=e.toDataURL(o.type,o.quality),E=s.createElement("canvas");E.width=e.width,E.height=e.height;let w=E.toDataURL(o.type,o.quality);v!==w&&(g.rr_dataURL=v)}}if(f==="img"&&h){Ae||(Ae=s.createElement("canvas"),bs=Ae.getContext("2d"));let v=e,E=v.currentSrc||v.getAttribute("src")||"<unknown-src>",w=v.crossOrigin,y=()=>{v.removeEventListener("load",y);try{Ae.width=v.naturalWidth,Ae.height=v.naturalHeight,bs.drawImage(v,0,0),g.rr_dataURL=Ae.toDataURL(o.type,o.quality)}catch(x){if(v.crossOrigin!=="anonymous"){v.crossOrigin="anonymous",v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y);return}else console.warn(`Cannot inline img src=${E}! Error: ${x}`)}v.crossOrigin==="anonymous"&&(w?g.crossOrigin=w:v.removeAttribute("crossorigin"))};v.complete&&v.naturalWidth!==0?y():v.addEventListener("load",y)}if(["audio","video"].includes(f)){let v=g;v.rr_mediaState=e.paused?"paused":"played",v.rr_mediaCurrentTime=e.currentTime,v.rr_mediaPlaybackRate=e.playbackRate,v.rr_mediaMuted=e.muted,v.rr_mediaLoop=e.loop,v.rr_mediaVolume=e.volume}if(l||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:v,height:E}=e.getBoundingClientRect();g={class:g.class,rr_width:`${v}px`,rr_height:`${E}px`}}f==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let b;try{customElements.get(f)&&(b=!0)}catch{}return{type:re.Element,tagName:f,attributes:g,childNodes:[],isSVG:No(e)||void 0,needBlock:m,rootId:a,isCustom:b}}function H(e){return e==null?"":e.toLowerCase()}function Yi(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Lo(e,t){if(t.comment&&e.type===re.Comment)return!0;if(e.type===re.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&ji(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(H(e.attributes.name).match(/^msapplication-tile(image|color)$/)||H(e.attributes.name)==="application-name"||H(e.attributes.rel)==="icon"||H(e.attributes.rel)==="apple-touch-icon"||H(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&H(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(H(e.attributes.property).match(/^(og|twitter|fb):/)||H(e.attributes.name).match(/^(og|twitter):/)||H(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(H(e.attributes.name)==="robots"||H(e.attributes.name)==="googlebot"||H(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(H(e.attributes.name)==="author"||H(e.attributes.name)==="generator"||H(e.attributes.name)==="framework"||H(e.attributes.name)==="publisher"||H(e.attributes.name)==="progid"||H(e.attributes.property).match(/^article:/)||H(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(H(e.attributes.name)==="google-site-verification"||H(e.attributes.name)==="yandex-verification"||H(e.attributes.name)==="csrf-token"||H(e.attributes.name)==="p:domain_verify"||H(e.attributes.name)==="verify-v1"||H(e.attributes.name)==="verification"||H(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function ke(e,t){let{doc:s,mirror:i,blockClass:r,blockSelector:u,maskTextClass:c,maskTextSelector:p,skipChild:o=!1,inlineStylesheet:h=!0,maskInputOptions:n={},maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m={},inlineImages:f=!1,recordCanvas:g=!1,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v=5e3,onStylesheetLoad:E,stylesheetLoadTimeout:w=5e3,keepIframeSrcFn:y=()=>!1,newlyAddedElement:x=!1,cssCaptured:R=!1}=t,{needsMask:M}=t,{preserveWhiteSpace:C=!0}=t;M||(M=Hi(e,c,p,M===void 0));let I=Do(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,dataURLOptions:m,inlineImages:f,recordCanvas:g,keepIframeSrcFn:y,newlyAddedElement:x,cssCaptured:R});if(!I)return console.warn(e,"not serialized"),null;let _;i.hasNode(e)?_=i.getId(e):Lo(I,a)||!C&&I.type===re.Text&&!I.textContent.replace(/^\s+|\s+$/gm,"").length?_=ze:_=Vi();let N=Object.assign(I,{id:_});if(i.add(e,N),_===ze)return null;S&&S(e);let ie=!o;if(N.type===re.Element){ie=ie&&!N.needBlock,delete N.needBlock;let F=se.shadowRoot(e);F&&$e(F)&&(N.isShadowHost=!0)}if((N.type===re.Document||N.type===re.Element)&&ie){a.headWhitespace&&N.type===re.Element&&N.tagName==="head"&&(C=!1);let F={doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:o,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y,cssCaptured:!1};if(!(N.type===re.Element&&N.tagName==="textarea"&&N.attributes.value!==void 0)){N.type===re.Element&&N.attributes._cssText!==void 0&&typeof N.attributes._cssText=="string"&&(F.cssCaptured=!0);for(let q of Array.from(se.childNodes(e))){let J=ke(q,F);J&&N.childNodes.push(J)}}let z=null;if(zi(e)&&(z=se.shadowRoot(e)))for(let q of Array.from(se.childNodes(z))){let J=ke(q,F);J&&($e(z)&&(J.isShadow=!0),N.childNodes.push(J))}}let ne=se.parentNode(e);return ne&&Ue(ne)&&$e(ne)&&(N.isShadow=!0),N.type===re.Element&&N.tagName==="iframe"&&Io(e,()=>{let F=e.contentDocument;if(F&&b){let z=ke(F,{doc:F,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});z&&b(e,z)}},v),N.type===re.Element&&N.tagName==="link"&&typeof N.attributes.rel=="string"&&(N.attributes.rel==="stylesheet"||N.attributes.rel==="preload"&&typeof N.attributes.href=="string"&&ji(N.attributes.href)==="css")&&Ao(e,()=>{if(E){let F=ke(e,{doc:s,mirror:i,blockClass:r,blockSelector:u,needsMask:M,maskTextClass:c,maskTextSelector:p,skipChild:!1,inlineStylesheet:h,maskInputOptions:n,maskTextFn:d,maskInputFn:l,slimDOMOptions:a,dataURLOptions:m,inlineImages:f,recordCanvas:g,preserveWhiteSpace:C,onSerialize:S,onIframeLoad:b,iframeLoadTimeout:v,onStylesheetLoad:E,stylesheetLoadTimeout:w,keepIframeSrcFn:y});F&&E(e,F)}},w),N}function Po(e,t){let{mirror:s=new it,blockClass:i="rr-block",blockSelector:r=null,maskTextClass:u="rr-mask",maskTextSelector:c=null,inlineStylesheet:p=!0,inlineImages:o=!1,recordCanvas:h=!1,maskAllInputs:n=!1,maskTextFn:d,maskInputFn:l,slimDOM:a=!1,dataURLOptions:m,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w=()=>!1}=t,y=n===!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,password:!0}:n===!1?{password:!0}:n,x=Yi(a);return ke(e,{doc:e,mirror:s,blockClass:i,blockSelector:r,maskTextClass:u,maskTextSelector:c,skipChild:!1,inlineStylesheet:p,maskInputOptions:y,maskTextFn:d,maskInputFn:l,slimDOMOptions:x,dataURLOptions:m,inlineImages:o,recordCanvas:h,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:S,iframeLoadTimeout:b,onStylesheetLoad:v,stylesheetLoadTimeout:E,keepIframeSrcFn:w,newlyAddedElement:!1})}var Fo=/(max|min)-device-(width|height)/,hl=new RegExp(Fo.source,"g");function Uo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function $o(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Xe={exports:{}},Ss;function Bo(){if(Ss)return Xe.exports;Ss=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Xe.exports=t(),Xe.exports.createColors=t,Xe.exports}var zo={},Wo=Object.freeze(Object.defineProperty({__proto__:null,default:zo},Symbol.toStringTag,{value:"Module"})),me=$o(Wo),Dt,Cs;function Jr(){if(Cs)return Dt;Cs=1;let e=Bo(),t=me;class s extends Error{constructor(r,u,c,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof c<"u"&&(typeof u=="number"?(this.line=u,this.column=c):(this.line=u.line,this.column=u.column,this.endLine=c.line,this.endColumn=c.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let c=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,c.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=f=>l(m(f)),d=f=>a(f)}else n=d=l=>l;return c.slice(p,o).map((l,a)=>{let m=p+1+a,f=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(f.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(f)+l+` 2 `+g+n("^")}return" "+d(f)+l}).join(` 3 3 `)}toString(){let r=this.showSourceCode();return r&&(r=` 4 4 … … 9 9 `,beforeDecl:` 10 10 `,beforeOpen:" ",beforeRule:` 11 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let f="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?f+=r.raws.afterName:p&&(f+=" "),r.nodes)this.block(r,f+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(f+p+o,r)}}beforeAfter(r,u){let f;r.type==="decl"?f=this.raw(r,null,"beforeDecl"):r.type==="comment"?f=this.raw(r,null,"beforeComment"):u==="before"?f=this.raw(r,null,"beforeRule"):f=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(f.includes(`12 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++) f+=h}return f}block(r,u){let f=this.raw(r,"between","beforeOpen");this.builder(u+f+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let f=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||f)}}comment(r){let u=this.raw(r,"left","commentLeft"),f=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+f+"*/",r)}decl(r,u){let f=this.raw(r,"between","colon"),p=r.prop+f+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,f){let p;if(f||(f=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(f==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[f];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[f]<"u")return h.rawCache[f];if(f==="before"||f==="after")return this.beforeAfter(r,f);{let n="raw"+t(f);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[f]),h.rawCache[f]=p,p}rawBeforeClose(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length>0&&typeof f.raws.after<"u")return u=f.raws.after,u.includes(`13 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let f;return r.walkComments(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`14 `)&&( f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeDecl"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeDecl(r,u){let f;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`15 `)&&( f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeRule"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeOpen(r){let u;return r.walk(f=>{if(f.type!=="decl"&&(u=f.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(f=>{if(f.nodes&&(f.parent!==r||r.first!==f)&&typeof f.raws.before<"u")return u=f.raws.before,u.includes(`16 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls( f=>{if(typeof f.raws.between<"u")return u=f.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length===0&&(u=f.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(f=>{let p=f.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof f.raws.before<"u"){let o=f.raws.before.split(`17 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk( f=>{if(f.nodes&&f.nodes.length&&f.last.type==="decl"&&(u=f.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let f=r[u],p=r.raws[u];return p&&p.value===f?p.raw:f}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return Tt=s,s.default=s,Tt}var _t,Ms;function ht(){if(Ms)return _t;Ms=1;let e=Xi();function t(s,i){new e(i).stringify(s)}return _t=t,t.default=t,_t}var kt,Rs;function dt(){if(Rs)return kt;Rs=1;let{isClean:e,my:t}=Qr(),s=Jr(),i=Xi(),r=ht();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class f{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`18 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map( c=>typeof c=="object"&&c.toJSON?c.toJSON(null,h):c);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let c=h.get(m.input);c==null&&(c=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:c,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return kt=f,f.default=f,kt}var Lt,Ns;function pt(){if(Ns)return Lt;Ns=1;let e=dt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Lt=t,t.default=t,Lt}var Pt,Os;function Wo(){if(Os)return Pt;Os=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return Pt={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let f="",p=u;for(;p--;)f+=i[Math.random()*i.length|0];return f}},Pt}var Ft,Is;function Ji(){if(Is)return Ft;Is=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{existsSync:s,readFileSync:i}=me,{dirname:r,join:u}=me;function f(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return f(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Ft=p,p.default=p,Ft}var Ut,As;function mt(){if(As)return Ut;As=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{fileURLToPath:s,pathToFileURL:i}=me,{isAbsolute:r,resolve:u}=me,{nanoid:f}=Wo(),p=me,o=Jr(),h=Ji(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(c,g={}){if(c===null||typeof c>"u"||typeof c=="object"&&!c.toString)throw new Error(`PostCSS received ${c} instead of CSS string`);if(this.css=c.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+f(6)+">"),this.map&&(this.map.file=this.from)}error(c,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(c,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(c,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(c){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`19 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if( c>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),c<S[E])v=E-1;else if(c>=S[E+1])b=E+1;else{b=E;break}}return{col:c-S[b]+1,line:b+1}}mapResolve(c){return/^\w+:\/\//.test(c)?c:u(this.map.consumer().sourceRoot||this.map.root||".",c)}origin(c,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:c});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let c={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(c[g]=this[g]);return this.map&&(c.map={...this.map},c.map.consumerCache&&(c.map.consumerCache=void 0)),c}get from(){return this.file||this.id}}return Ut=a,a.default=a,p&&p.registerInput&&p.registerInput(a),Ut}var $t,Ds;function Qi(){if(Ds)return $t;Ds=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{dirname:s,relative:i,resolve:r,sep:u}=me,{pathToFileURL:f}=me,p=mt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,c){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=c,this.originalCSS=c,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`11 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let c="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?c+=r.raws.afterName:p&&(c+=" "),r.nodes)this.block(r,c+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(c+p+o,r)}}beforeAfter(r,u){let c;r.type==="decl"?c=this.raw(r,null,"beforeDecl"):r.type==="comment"?c=this.raw(r,null,"beforeComment"):u==="before"?c=this.raw(r,null,"beforeRule"):c=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(c.includes(` 12 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)c+=h}return c}block(r,u){let c=this.raw(r,"between","beforeOpen");this.builder(u+c+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let c=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||c)}}comment(r){let u=this.raw(r,"left","commentLeft"),c=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+c+"*/",r)}decl(r,u){let c=this.raw(r,"between","colon"),p=r.prop+c+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,c){let p;if(c||(c=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(c==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[c];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[c]<"u")return h.rawCache[c];if(c==="before"||c==="after")return this.beforeAfter(r,c);{let n="raw"+t(c);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[c]),h.rawCache[c]=p,p}rawBeforeClose(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length>0&&typeof c.raws.after<"u")return u=c.raws.after,u.includes(` 13 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let c;return r.walkComments(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(` 14 `)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeDecl"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeDecl(r,u){let c;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(` 15 `)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeRule"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeOpen(r){let u;return r.walk(c=>{if(c.type!=="decl"&&(u=c.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(c=>{if(c.nodes&&(c.parent!==r||r.first!==c)&&typeof c.raws.before<"u")return u=c.raws.before,u.includes(` 16 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(c=>{if(typeof c.raws.between<"u")return u=c.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length===0&&(u=c.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(c=>{let p=c.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof c.raws.before<"u"){let o=c.raws.before.split(` 17 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length&&c.last.type==="decl"&&(u=c.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let c=r[u],p=r.raws[u];return p&&p.value===c?p.raw:c}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return Tt=s,s.default=s,Tt}var _t,Ms;function ht(){if(Ms)return _t;Ms=1;let e=Xi();function t(s,i){new e(i).stringify(s)}return _t=t,t.default=t,_t}var kt,Rs;function dt(){if(Rs)return kt;Rs=1;let{isClean:e,my:t}=Qr(),s=Jr(),i=Xi(),r=ht();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class c{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===` 18 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(f=>typeof f=="object"&&f.toJSON?f.toJSON(null,h):f);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let f=h.get(m.input);f==null&&(f=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:f,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return kt=c,c.default=c,kt}var Lt,Ns;function pt(){if(Ns)return Lt;Ns=1;let e=dt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Lt=t,t.default=t,Lt}var Pt,Os;function jo(){if(Os)return Pt;Os=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return Pt={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let c="",p=u;for(;p--;)c+=i[Math.random()*i.length|0];return c}},Pt}var Ft,Is;function Ji(){if(Is)return Ft;Is=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{existsSync:s,readFileSync:i}=me,{dirname:r,join:u}=me;function c(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return c(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Ft=p,p.default=p,Ft}var Ut,As;function mt(){if(As)return Ut;As=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{fileURLToPath:s,pathToFileURL:i}=me,{isAbsolute:r,resolve:u}=me,{nanoid:c}=jo(),p=me,o=Jr(),h=Ji(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(f,g={}){if(f===null||typeof f>"u"||typeof f=="object"&&!f.toString)throw new Error(`PostCSS received ${f} instead of CSS string`);if(this.css=f.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+c(6)+">"),this.map&&(this.map.file=this.from)}error(f,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(f,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(f,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(f){let g,S;if(this[n])S=this[n];else{let v=this.css.split(` 19 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(f>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),f<S[E])v=E-1;else if(f>=S[E+1])b=E+1;else{b=E;break}}return{col:f-S[b]+1,line:b+1}}mapResolve(f){return/^\w+:\/\//.test(f)?f:u(this.map.consumer().sourceRoot||this.map.root||".",f)}origin(f,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:f});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let f={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(f[g]=this[g]);return this.map&&(f.map={...this.map},f.map.consumerCache&&(f.map.consumerCache=void 0)),f}get from(){return this.file||this.id}}return Ut=a,a.default=a,p&&p.registerInput&&p.registerInput(a),Ut}var $t,Ds;function Qi(){if(Ds)return $t;Ds=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=me,{dirname:s,relative:i,resolve:r,sep:u}=me,{pathToFileURL:c}=me,p=mt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,f){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=f,this.originalCSS=f,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=` 20 20 `;this.css.includes(`\r 21 21 `)&&(a=`\r 22 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file), c;this.mapOpts.sourcesContent===!1?(c=new e(l.text),c.sourcesContent&&(c.sourcesContent=null)):c=l.consumer(),this.map.applySourceMap(c,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",c={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(c.generated.line=l,c.generated.column=a-1,v.source&&v.source.start?(c.source=this.sourcePath(v),c.original.line=v.source.start.line,c.original.column=v.source.start.column-1,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,this.map.addMapping(c))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`23 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?( c.source=this.sourcePath(v),c.original.line=v.source.end.line,c.original.column=v.source.end.column-1,c.generated.line=l,c.generated.column=a-2,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,c.generated.line=l,c.generated.column=a-1,this.map.addMapping(c)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let c=i(m,l);return this.memoizedPaths.set(l,c),c}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let c=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(c,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(f){let m=f(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return $t=n,$t}var Bt,Ts;function gt(){if(Ts)return Bt;Ts=1;let e=dt();class t extends e{constructor(i){super(i),this.type="comment"}}return Bt=t,t.default=t,Bt}var zt,_s;function Me(){if(_s)return zt;_s=1;let{isClean:e,my:t}=Qr(),s=pt(),i=gt(),r=dt(),u,f,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let c=this.normalize(m,this.last);for(let g of c)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),c,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(c=this.indexes[m],g=a(this.proxyOf.nodes[c],c),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...c)=>a[m](...c.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?c=>a[m]((g,...S)=>c(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(c=>c.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,c){return a[m]===c||(a[m]=c,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let c=this.index(a),g=this.normalize(m,this.proxyOf.nodes[c]).reverse();c=this.index(a);for(let b of g)this.proxyOf.nodes.splice(c+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],c<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let c=this.index(a),g=c===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[c],g).reverse();c=this.index(a);for(let v of S)this.proxyOf.nodes.splice(c,0,v);let b;for(let v in this.indexes)b=this.indexes[v],c<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new f(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let c=this.normalize(m,this.first,"prepend").reverse();for(let g of c)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+c.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let c in this.indexes)m=this.indexes[c],m>=a&&(this.indexes[c]=m-1);return this.markDirty(),this}replaceValues(a,m,c){return c||(c=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,c))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,c)=>{let g;try{g=a(m,c)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="atrule"&&a.test(c.name))return m(c,g)}):this.walk((c,g)=>{if(c.type==="atrule"&&c.name===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="atrule")return m(c,g)}))}walkComments(a){return this.walk((m,c)=>{if(m.type==="comment")return a(m,c)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="decl"&&a.test(c.prop))return m(c,g)}):this.walk((c,g)=>{if(c.type==="decl"&&c.prop===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="decl")return m(c,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="rule"&&a.test(c.selector))return m(c,g)}):this.walk((c,g)=>{if(c.type==="rule"&&c.selector===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="rule")return m(c,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{f=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},zt=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,f.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},zt}var Wt,ks;function Zr(){if(ks)return Wt;ks=1;let e=Me(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Wt=i,i.default=i,Wt}var jt,Ls;function Zi(){if(Ls)return jt;Ls=1;let e={};return jt=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},jt}var Vt,Ps;function Ki(){if(Ps)return Vt;Ps=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Vt=e,e.default=e,Vt}var qt,Fs;function Kr(){if(Fs)return qt;Fs=1;let e=Ki();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return qt=t,t.default=t,qt}var Gt,Us;function jo(){if(Us)return Gt;Us=1;let e=39,t=34,s=92,i=47,r=10,u=32,f=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,c=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return Gt=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case f:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===f);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case c:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==f&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==f&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},Gt}var Ht,$s;function es(){if($s)return Ht;$s=1;let e=Me();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return Ht=t,t.default=t,e.registerAtRule(t),Ht}var Yt,Bs;function Ve(){if(Bs)return Yt;Bs=1;let e=Me(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,f,p){let o=super.normalize(u);if(f){if(p==="prepend")this.nodes.length>1?f.raws.before=this.nodes[1].raws.before:delete f.raws.before;else if(this.first!==f)for(let h of o)h.raws.before=f.raws.before}return o}removeChild(u,f){let p=this.index(u);return!f&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Yt=i,i.default=i,e.registerRoot(i),Yt}var Xt,zs;function en(){if(zs)return Xt;zs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`24 `," "];return e.split(t,s)},split(t,s,i){let r=[],u="", f=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(f=!0),f?(u!==""&&r.push(u.trim()),u="",f=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Xt=e,e.default=e,Xt}var Jt,Ws;function ts(){if(Ws)return Jt;Ws=1;let e=Me(),t=en();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,f=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(f)}}return Jt=s,s.default=s,e.registerRule(s),Jt}var Qt,js;function Vo(){if(js)return Qt;js=1;let e=pt(),t=jo(),s=gt(),i=es(),r=Ve(),u=ts(),f={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,c=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){c=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),c&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[c,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return c}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let c=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)c.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=c.map(b=>b[1]).join(""),c=[]),this.raw(l,"value",c.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,c=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),c.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),c.push("}");else if(c.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===c[c.length-1]&&(c.pop(),c.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),c.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,c,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],c=m[0],c==="space"&&w===g-1&&!a?b=!1:c==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!f[E]&&!f[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Qt=o,Qt}var Zt,Vs;function rs(){if(Vs)return Zt;Vs=1;let e=Me(),t=Vo(),s=mt();function i(r,u){let f=new s(r,u),p=new t(f);try{p.parse()}catch(o){throw o}return p.root}return Zt=i,i.default=i,e.registerParse(i),Zt}var Kt,qs;function tn(){if(qs)return Kt;qs=1;let{isClean:e,my:t}=Qr(),s=Qi(),i=ht(),r=Me(),u=Zr(),f=Zi(),p=Kr(),o=rs(),h=Ve(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function c(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=c(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=c(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Kt=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Kt}var er,Gs;function qo(){if(Gs)return er;Gs=1;let e=Qi(),t=ht(),s=Zi(),i=rs(),r=Kr();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,c]=a.generate();m&&(this.result.css=m),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return er=u,u.default=u,er}var tr,Hs;function Go(){if(Hs)return tr;Hs=1;let e=qo(),t=tn(),s=Zr(),i=Ve();class r{constructor(f=[]){this.version="8.4.38",this.plugins=this.normalize(f)}normalize(f){let p=[];for(let o of f)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(f,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,f,p):new t(this,f,p)}use(f){return this.plugins=this.plugins.concat(this.normalize([f])),this}}return tr=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),tr}var rr,Ys;function Ho(){if(Ys)return rr;Ys=1;let e=pt(),t=Ji(),s=gt(),i=es(),r=mt(),u=Ve(),f=ts();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new f(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return rr=p,p.default=p,rr}var sr,Xs;function Yo(){if(Xs)return sr;Xs=1;let e=Jr(),t=pt(),s=tn(),i=Me(),r=Go(),u=ht(),f=Ho(),p=Zr(),o=Ki(),h=gt(),n=es(),d=Kr(),l=mt(),a=rs(),m=en(),c=ts(),g=Ve(),S=dt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:22 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),f;this.mapOpts.sourcesContent===!1?(f=new e(l.text),f.sourcesContent&&(f.sourcesContent=null)):f=l.consumer(),this.map.applySourceMap(f,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",f={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(f.generated.line=l,f.generated.column=a-1,v.source&&v.source.start?(f.source=this.sourcePath(v),f.original.line=v.source.start.line,f.original.column=v.source.start.column-1,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,this.map.addMapping(f))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(` 23 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(f.source=this.sourcePath(v),f.original.line=v.source.end.line,f.original.column=v.source.end.column-1,f.generated.line=l,f.generated.column=a-2,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,f.generated.line=l,f.generated.column=a-1,this.map.addMapping(f)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let f=i(m,l);return this.memoizedPaths.set(l,f),f}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let f=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(f,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(c){let m=c(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return $t=n,$t}var Bt,Ts;function gt(){if(Ts)return Bt;Ts=1;let e=dt();class t extends e{constructor(i){super(i),this.type="comment"}}return Bt=t,t.default=t,Bt}var zt,_s;function Me(){if(_s)return zt;_s=1;let{isClean:e,my:t}=Qr(),s=pt(),i=gt(),r=dt(),u,c,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let f=this.normalize(m,this.last);for(let g of f)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),f,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(f=this.indexes[m],g=a(this.proxyOf.nodes[f],f),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...f)=>a[m](...f.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?f=>a[m]((g,...S)=>f(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(f=>f.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,f){return a[m]===f||(a[m]=f,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let f=this.index(a),g=this.normalize(m,this.proxyOf.nodes[f]).reverse();f=this.index(a);for(let b of g)this.proxyOf.nodes.splice(f+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],f<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let f=this.index(a),g=f===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[f],g).reverse();f=this.index(a);for(let v of S)this.proxyOf.nodes.splice(f,0,v);let b;for(let v in this.indexes)b=this.indexes[v],f<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new c(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let f=this.normalize(m,this.first,"prepend").reverse();for(let g of f)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+f.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let f in this.indexes)m=this.indexes[f],m>=a&&(this.indexes[f]=m-1);return this.markDirty(),this}replaceValues(a,m,f){return f||(f=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,f))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,f)=>{let g;try{g=a(m,f)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="atrule"&&a.test(f.name))return m(f,g)}):this.walk((f,g)=>{if(f.type==="atrule"&&f.name===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="atrule")return m(f,g)}))}walkComments(a){return this.walk((m,f)=>{if(m.type==="comment")return a(m,f)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="decl"&&a.test(f.prop))return m(f,g)}):this.walk((f,g)=>{if(f.type==="decl"&&f.prop===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="decl")return m(f,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="rule"&&a.test(f.selector))return m(f,g)}):this.walk((f,g)=>{if(f.type==="rule"&&f.selector===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="rule")return m(f,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{c=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},zt=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,c.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},zt}var Wt,ks;function Zr(){if(ks)return Wt;ks=1;let e=Me(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Wt=i,i.default=i,Wt}var jt,Ls;function Zi(){if(Ls)return jt;Ls=1;let e={};return jt=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},jt}var Vt,Ps;function Ki(){if(Ps)return Vt;Ps=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Vt=e,e.default=e,Vt}var qt,Fs;function Kr(){if(Fs)return qt;Fs=1;let e=Ki();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return qt=t,t.default=t,qt}var Gt,Us;function Vo(){if(Us)return Gt;Us=1;let e=39,t=34,s=92,i=47,r=10,u=32,c=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,f=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return Gt=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case c:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===c);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case f:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==c&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==c&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},Gt}var Ht,$s;function es(){if($s)return Ht;$s=1;let e=Me();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return Ht=t,t.default=t,e.registerAtRule(t),Ht}var Yt,Bs;function Ve(){if(Bs)return Yt;Bs=1;let e=Me(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,c,p){let o=super.normalize(u);if(c){if(p==="prepend")this.nodes.length>1?c.raws.before=this.nodes[1].raws.before:delete c.raws.before;else if(this.first!==c)for(let h of o)h.raws.before=c.raws.before}return o}removeChild(u,c){let p=this.index(u);return!c&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Yt=i,i.default=i,e.registerRoot(i),Yt}var Xt,zs;function en(){if(zs)return Xt;zs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",` 24 `," "];return e.split(t,s)},split(t,s,i){let r=[],u="",c=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(c=!0),c?(u!==""&&r.push(u.trim()),u="",c=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Xt=e,e.default=e,Xt}var Jt,Ws;function ts(){if(Ws)return Jt;Ws=1;let e=Me(),t=en();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,c=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(c)}}return Jt=s,s.default=s,e.registerRule(s),Jt}var Qt,js;function qo(){if(js)return Qt;js=1;let e=pt(),t=Vo(),s=gt(),i=es(),r=Ve(),u=ts(),c={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,f=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){f=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),f&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[f,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return f}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let f=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)f.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=f.map(b=>b[1]).join(""),f=[]),this.raw(l,"value",f.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,f=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),f.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),f.push("}");else if(f.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===f[f.length-1]&&(f.pop(),f.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),f.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,f,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],f=m[0],f==="space"&&w===g-1&&!a?b=!1:f==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!c[E]&&!c[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Qt=o,Qt}var Zt,Vs;function rs(){if(Vs)return Zt;Vs=1;let e=Me(),t=qo(),s=mt();function i(r,u){let c=new s(r,u),p=new t(c);try{p.parse()}catch(o){throw o}return p.root}return Zt=i,i.default=i,e.registerParse(i),Zt}var Kt,qs;function tn(){if(qs)return Kt;qs=1;let{isClean:e,my:t}=Qr(),s=Qi(),i=ht(),r=Me(),u=Zr(),c=Zi(),p=Kr(),o=rs(),h=Ve(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function f(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=f(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=f(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Kt=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Kt}var er,Gs;function Go(){if(Gs)return er;Gs=1;let e=Qi(),t=ht(),s=Zi(),i=rs(),r=Kr();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,f]=a.generate();m&&(this.result.css=m),f&&(this.result.map=f)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return er=u,u.default=u,er}var tr,Hs;function Ho(){if(Hs)return tr;Hs=1;let e=Go(),t=tn(),s=Zr(),i=Ve();class r{constructor(c=[]){this.version="8.4.38",this.plugins=this.normalize(c)}normalize(c){let p=[];for(let o of c)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(c,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,c,p):new t(this,c,p)}use(c){return this.plugins=this.plugins.concat(this.normalize([c])),this}}return tr=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),tr}var rr,Ys;function Yo(){if(Ys)return rr;Ys=1;let e=pt(),t=Ji(),s=gt(),i=es(),r=mt(),u=Ve(),c=ts();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new c(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return rr=p,p.default=p,rr}var sr,Xs;function Xo(){if(Xs)return sr;Xs=1;let e=Jr(),t=pt(),s=tn(),i=Me(),r=Ho(),u=ht(),c=Yo(),p=Zr(),o=Ki(),h=gt(),n=es(),d=Kr(),l=mt(),a=rs(),m=en(),f=ts(),g=Ve(),S=dt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide: 25 25 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(E+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 26 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON= f,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new c(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=c,b.Root=g,b.Node=S,s.registerPostcss(b),sr=b,b.default=b,sr}var Xo=Yo(),Y=Fo(Xo);Y.stringify;Y.fromJSON;Y.plugin;Y.parse;Y.list;Y.document;Y.comment;Y.atRule;Y.rule;Y.decl;Y.root;Y.CssSyntaxError;Y.Declaration;Y.Container;Y.Processor;Y.Document;Y.Comment;Y.Warning;Y.AtRule;Y.Result;Y.Input;Y.Rule;Y.Root;Y.Node;var Jo=Object.defineProperty,Qo=(e,t,s)=>t in e?Jo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,de=(e,t,s)=>Qo(e,typeof t!="symbol"?t+"":t,s);Date.now().toString();function Zo(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Ko(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Qe={exports:{}},Js;function ea(){if(Js)return Qe.exports;Js=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Qe.exports=t(),Qe.exports.createColors=t,Qe.exports}var ta={},ra=Object.freeze(Object.defineProperty({__proto__:null,default:ta},Symbol.toStringTag,{value:"Module"})),ge=Ko(ra),ir,Qs;function ss(){if(Qs)return ir;Qs=1;let e=ea(),t=ge;class s extends Error{constructor(r,u,f,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof f<"u"&&(typeof u=="number"?(this.line=u,this.column=f):(this.line=u.line,this.column=u.column,this.endLine=f.line,this.endColumn=f.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let f=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,f.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=c=>l(m(c)),d=c=>a(c)}else n=d=l=>l;return f.slice(p,o).map((l,a)=>{let m=p+1+a,c=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(c.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(c)+l+`27 `+g+n("^")}return" "+d( c)+l}).join(`26 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=c,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new f(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=f,b.Root=g,b.Node=S,s.registerPostcss(b),sr=b,b.default=b,sr}var Jo=Xo(),Y=Uo(Jo);Y.stringify;Y.fromJSON;Y.plugin;Y.parse;Y.list;Y.document;Y.comment;Y.atRule;Y.rule;Y.decl;Y.root;Y.CssSyntaxError;Y.Declaration;Y.Container;Y.Processor;Y.Document;Y.Comment;Y.Warning;Y.AtRule;Y.Result;Y.Input;Y.Rule;Y.Root;Y.Node;var Qo=Object.defineProperty,Zo=(e,t,s)=>t in e?Qo(e,t,{enumerable:!0,configurable:!0,writable:!0,value:s}):e[t]=s,de=(e,t,s)=>Zo(e,typeof t!="symbol"?t+"":t,s);Date.now().toString();function Ko(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ea(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var s=function i(){return this instanceof i?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};s.prototype=t.prototype}else s={};return Object.defineProperty(s,"__esModule",{value:!0}),Object.keys(e).forEach(function(i){var r=Object.getOwnPropertyDescriptor(e,i);Object.defineProperty(s,i,r.get?r:{enumerable:!0,get:function(){return e[i]}})}),s}var Qe={exports:{}},Js;function ta(){if(Js)return Qe.exports;Js=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Qe.exports=t(),Qe.exports.createColors=t,Qe.exports}var ra={},sa=Object.freeze(Object.defineProperty({__proto__:null,default:ra},Symbol.toStringTag,{value:"Module"})),ge=ea(sa),ir,Qs;function ss(){if(Qs)return ir;Qs=1;let e=ta(),t=ge;class s extends Error{constructor(r,u,c,p,o,h){super(r),this.name="CssSyntaxError",this.reason=r,o&&(this.file=o),p&&(this.source=p),h&&(this.plugin=h),typeof u<"u"&&typeof c<"u"&&(typeof u=="number"?(this.line=u,this.column=c):(this.line=u.line,this.column=u.column,this.endLine=c.line,this.endColumn=c.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,s)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(r){if(!this.source)return"";let u=this.source;r==null&&(r=e.isColorSupported),t&&r&&(u=t(u));let c=u.split(/\r?\n/),p=Math.max(this.line-3,0),o=Math.min(this.line+2,c.length),h=String(o).length,n,d;if(r){let{bold:l,gray:a,red:m}=e.createColors(!0);n=f=>l(m(f)),d=f=>a(f)}else n=d=l=>l;return c.slice(p,o).map((l,a)=>{let m=p+1+a,f=" "+(" "+m).slice(-h)+" | ";if(m===this.line){let g=d(f.replace(/\d/g," "))+l.slice(0,this.column-1).replace(/[^\t]/g," ");return n(">")+d(f)+l+` 27 `+g+n("^")}return" "+d(f)+l}).join(` 28 28 `)}toString(){let r=this.showSourceCode();return r&&(r=` 29 29 … … 34 34 `,beforeDecl:` 35 35 `,beforeOpen:" ",beforeRule:` 36 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let f="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?f+=r.raws.afterName:p&&(f+=" "),r.nodes)this.block(r,f+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(f+p+o,r)}}beforeAfter(r,u){let f;r.type==="decl"?f=this.raw(r,null,"beforeDecl"):r.type==="comment"?f=this.raw(r,null,"beforeComment"):u==="before"?f=this.raw(r,null,"beforeRule"):f=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(f.includes(`37 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++) f+=h}return f}block(r,u){let f=this.raw(r,"between","beforeOpen");this.builder(u+f+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let f=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||f)}}comment(r){let u=this.raw(r,"left","commentLeft"),f=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+f+"*/",r)}decl(r,u){let f=this.raw(r,"between","colon"),p=r.prop+f+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,f){let p;if(f||(f=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(f==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[f];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[f]<"u")return h.rawCache[f];if(f==="before"||f==="after")return this.beforeAfter(r,f);{let n="raw"+t(f);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[f]),h.rawCache[f]=p,p}rawBeforeClose(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length>0&&typeof f.raws.after<"u")return u=f.raws.after,u.includes(`38 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let f;return r.walkComments(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`39 `)&&( f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeDecl"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeDecl(r,u){let f;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return f=p.raws.before,f.includes(`40 `)&&( f=f.replace(/[^\n]+$/,"")),!1}),typeof f>"u"?f=this.raw(u,null,"beforeRule"):f&&(f=f.replace(/\S/g,"")),f}rawBeforeOpen(r){let u;return r.walk(f=>{if(f.type!=="decl"&&(u=f.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(f=>{if(f.nodes&&(f.parent!==r||r.first!==f)&&typeof f.raws.before<"u")return u=f.raws.before,u.includes(`41 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls( f=>{if(typeof f.raws.between<"u")return u=f.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(f=>{if(f.nodes&&f.nodes.length===0&&(u=f.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(f=>{let p=f.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof f.raws.before<"u"){let o=f.raws.before.split(`42 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk( f=>{if(f.nodes&&f.nodes.length&&f.last.type==="decl"&&(u=f.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let f=r[u],p=r.raws[u];return p&&p.value===f?p.raw:f}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return nr=s,s.default=s,nr}var or,ei;function yt(){if(ei)return or;ei=1;let e=rn();function t(s,i){new e(i).stringify(s)}return or=t,t.default=t,or}var ar,ti;function wt(){if(ti)return ar;ti=1;let{isClean:e,my:t}=is(),s=ss(),i=rn(),r=yt();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class f{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===`43 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map( c=>typeof c=="object"&&c.toJSON?c.toJSON(null,h):c);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let c=h.get(m.input);c==null&&(c=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:c,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return ar=f,f.default=f,ar}var lr,ri;function bt(){if(ri)return lr;ri=1;let e=wt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return lr=t,t.default=t,lr}var ur,si;function sa(){if(si)return ur;si=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return ur={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let f="",p=u;for(;p--;)f+=i[Math.random()*i.length|0];return f}},ur}var cr,ii;function sn(){if(ii)return cr;ii=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:s,readFileSync:i}=ge,{dirname:r,join:u}=ge;function f(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return f(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return cr=p,p.default=p,cr}var fr,ni;function vt(){if(ni)return fr;ni=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:s,pathToFileURL:i}=ge,{isAbsolute:r,resolve:u}=ge,{nanoid:f}=sa(),p=ge,o=ss(),h=sn(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(c,g={}){if(c===null||typeof c>"u"||typeof c=="object"&&!c.toString)throw new Error(`PostCSS received ${c} instead of CSS string`);if(this.css=c.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+f(6)+">"),this.map&&(this.map.file=this.from)}error(c,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(c,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(c,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(c){let g,S;if(this[n])S=this[n];else{let v=this.css.split(`44 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if( c>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),c<S[E])v=E-1;else if(c>=S[E+1])b=E+1;else{b=E;break}}return{col:c-S[b]+1,line:b+1}}mapResolve(c){return/^\w+:\/\//.test(c)?c:u(this.map.consumer().sourceRoot||this.map.root||".",c)}origin(c,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:c});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let c={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(c[g]=this[g]);return this.map&&(c.map={...this.map},c.map.consumerCache&&(c.map.consumerCache=void 0)),c}get from(){return this.file||this.id}}return fr=a,a.default=a,p&&p.registerInput&&p.registerInput(a),fr}var hr,oi;function nn(){if(oi)return hr;oi=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:s,relative:i,resolve:r,sep:u}=ge,{pathToFileURL:f}=ge,p=vt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,c){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=c,this.originalCSS=c,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=`36 `,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function t(i){return i[0].toUpperCase()+i.slice(1)}class s{constructor(r){this.builder=r}atrule(r,u){let c="@"+r.name,p=r.params?this.rawValue(r,"params"):"";if(typeof r.raws.afterName<"u"?c+=r.raws.afterName:p&&(c+=" "),r.nodes)this.block(r,c+p);else{let o=(r.raws.between||"")+(u?";":"");this.builder(c+p+o,r)}}beforeAfter(r,u){let c;r.type==="decl"?c=this.raw(r,null,"beforeDecl"):r.type==="comment"?c=this.raw(r,null,"beforeComment"):u==="before"?c=this.raw(r,null,"beforeRule"):c=this.raw(r,null,"beforeClose");let p=r.parent,o=0;for(;p&&p.type!=="root";)o+=1,p=p.parent;if(c.includes(` 37 `)){let h=this.raw(r,null,"indent");if(h.length)for(let n=0;n<o;n++)c+=h}return c}block(r,u){let c=this.raw(r,"between","beforeOpen");this.builder(u+c+"{",r,"start");let p;r.nodes&&r.nodes.length?(this.body(r),p=this.raw(r,"after")):p=this.raw(r,"after","emptyBody"),p&&this.builder(p),this.builder("}",r,"end")}body(r){let u=r.nodes.length-1;for(;u>0&&r.nodes[u].type==="comment";)u-=1;let c=this.raw(r,"semicolon");for(let p=0;p<r.nodes.length;p++){let o=r.nodes[p],h=this.raw(o,"before");h&&this.builder(h),this.stringify(o,u!==p||c)}}comment(r){let u=this.raw(r,"left","commentLeft"),c=this.raw(r,"right","commentRight");this.builder("/*"+u+r.text+c+"*/",r)}decl(r,u){let c=this.raw(r,"between","colon"),p=r.prop+c+this.rawValue(r,"value");r.important&&(p+=r.raws.important||" !important"),u&&(p+=";"),this.builder(p,r)}document(r){this.body(r)}raw(r,u,c){let p;if(c||(c=u),u&&(p=r.raws[u],typeof p<"u"))return p;let o=r.parent;if(c==="before"&&(!o||o.type==="root"&&o.first===r||o&&o.type==="document"))return"";if(!o)return e[c];let h=r.root();if(h.rawCache||(h.rawCache={}),typeof h.rawCache[c]<"u")return h.rawCache[c];if(c==="before"||c==="after")return this.beforeAfter(r,c);{let n="raw"+t(c);this[n]?p=this[n](h,r):h.walk(d=>{if(p=d.raws[u],typeof p<"u")return!1})}return typeof p>"u"&&(p=e[c]),h.rawCache[c]=p,p}rawBeforeClose(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length>0&&typeof c.raws.after<"u")return u=c.raws.after,u.includes(` 38 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawBeforeComment(r,u){let c;return r.walkComments(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(` 39 `)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeDecl"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeDecl(r,u){let c;return r.walkDecls(p=>{if(typeof p.raws.before<"u")return c=p.raws.before,c.includes(` 40 `)&&(c=c.replace(/[^\n]+$/,"")),!1}),typeof c>"u"?c=this.raw(u,null,"beforeRule"):c&&(c=c.replace(/\S/g,"")),c}rawBeforeOpen(r){let u;return r.walk(c=>{if(c.type!=="decl"&&(u=c.raws.between,typeof u<"u"))return!1}),u}rawBeforeRule(r){let u;return r.walk(c=>{if(c.nodes&&(c.parent!==r||r.first!==c)&&typeof c.raws.before<"u")return u=c.raws.before,u.includes(` 41 `)&&(u=u.replace(/[^\n]+$/,"")),!1}),u&&(u=u.replace(/\S/g,"")),u}rawColon(r){let u;return r.walkDecls(c=>{if(typeof c.raws.between<"u")return u=c.raws.between.replace(/[^\s:]/g,""),!1}),u}rawEmptyBody(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length===0&&(u=c.raws.after,typeof u<"u"))return!1}),u}rawIndent(r){if(r.raws.indent)return r.raws.indent;let u;return r.walk(c=>{let p=c.parent;if(p&&p!==r&&p.parent&&p.parent===r&&typeof c.raws.before<"u"){let o=c.raws.before.split(` 42 `);return u=o[o.length-1],u=u.replace(/\S/g,""),!1}}),u}rawSemicolon(r){let u;return r.walk(c=>{if(c.nodes&&c.nodes.length&&c.last.type==="decl"&&(u=c.raws.semicolon,typeof u<"u"))return!1}),u}rawValue(r,u){let c=r[u],p=r.raws[u];return p&&p.value===c?p.raw:c}root(r){this.body(r),r.raws.after&&this.builder(r.raws.after)}rule(r){this.block(r,this.rawValue(r,"selector")),r.raws.ownSemicolon&&this.builder(r.raws.ownSemicolon,r,"end")}stringify(r,u){if(!this[r.type])throw new Error("Unknown AST node type "+r.type+". Maybe you need to change PostCSS stringifier.");this[r.type](r,u)}}return nr=s,s.default=s,nr}var or,ei;function yt(){if(ei)return or;ei=1;let e=rn();function t(s,i){new e(i).stringify(s)}return or=t,t.default=t,or}var ar,ti;function wt(){if(ti)return ar;ti=1;let{isClean:e,my:t}=is(),s=ss(),i=rn(),r=yt();function u(p,o){let h=new p.constructor;for(let n in p){if(!Object.prototype.hasOwnProperty.call(p,n)||n==="proxyCache")continue;let d=p[n],l=typeof d;n==="parent"&&l==="object"?o&&(h[n]=o):n==="source"?h[n]=d:Array.isArray(d)?h[n]=d.map(a=>u(a,h)):(l==="object"&&d!==null&&(d=u(d)),h[n]=d)}return h}class c{constructor(o={}){this.raws={},this[e]=!1,this[t]=!0;for(let h in o)if(h==="nodes"){this.nodes=[];for(let n of o[h])typeof n.clone=="function"?this.append(n.clone()):this.append(n)}else this[h]=o[h]}addToError(o){if(o.postcssNode=this,o.stack&&this.source&&/\n\s{4}at /.test(o.stack)){let h=this.source;o.stack=o.stack.replace(/\n\s{4}at /,`$&${h.input.from}:${h.start.line}:${h.start.column}$&`)}return o}after(o){return this.parent.insertAfter(this,o),this}assign(o={}){for(let h in o)this[h]=o[h];return this}before(o){return this.parent.insertBefore(this,o),this}cleanRaws(o){delete this.raws.before,delete this.raws.after,o||delete this.raws.between}clone(o={}){let h=u(this);for(let n in o)h[n]=o[n];return h}cloneAfter(o={}){let h=this.clone(o);return this.parent.insertAfter(this,h),h}cloneBefore(o={}){let h=this.clone(o);return this.parent.insertBefore(this,h),h}error(o,h={}){if(this.source){let{end:n,start:d}=this.rangeBy(h);return this.source.input.error(o,{column:d.column,line:d.line},{column:n.column,line:n.line},h)}return new s(o)}getProxyProcessor(){return{get(o,h){return h==="proxyOf"?o:h==="root"?()=>o.root().toProxy():o[h]},set(o,h,n){return o[h]===n||(o[h]=n,(h==="prop"||h==="value"||h==="name"||h==="params"||h==="important"||h==="text")&&o.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let o=this;for(;o=o.parent;)o[e]=!1}}next(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o+1]}positionBy(o,h){let n=this.source.start;if(o.index)n=this.positionInside(o.index,h);else if(o.word){h=this.toString();let d=h.indexOf(o.word);d!==-1&&(n=this.positionInside(d,h))}return n}positionInside(o,h){let n=h||this.toString(),d=this.source.start.column,l=this.source.start.line;for(let a=0;a<o;a++)n[a]===` 43 `?(d=1,l+=1):d+=1;return{column:d,line:l}}prev(){if(!this.parent)return;let o=this.parent.index(this);return this.parent.nodes[o-1]}rangeBy(o){let h={column:this.source.start.column,line:this.source.start.line},n=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:h.column+1,line:h.line};if(o.word){let d=this.toString(),l=d.indexOf(o.word);l!==-1&&(h=this.positionInside(l,d),n=this.positionInside(l+o.word.length,d))}else o.start?h={column:o.start.column,line:o.start.line}:o.index&&(h=this.positionInside(o.index)),o.end?n={column:o.end.column,line:o.end.line}:typeof o.endIndex=="number"?n=this.positionInside(o.endIndex):o.index&&(n=this.positionInside(o.index+1));return(n.line<h.line||n.line===h.line&&n.column<=h.column)&&(n={column:h.column+1,line:h.line}),{end:n,start:h}}raw(o,h){return new i().raw(this,o,h)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...o){if(this.parent){let h=this,n=!1;for(let d of o)d===this?n=!0:n?(this.parent.insertAfter(h,d),h=d):this.parent.insertBefore(h,d);n||this.remove()}return this}root(){let o=this;for(;o.parent&&o.parent.type!=="document";)o=o.parent;return o}toJSON(o,h){let n={},d=h==null;h=h||new Map;let l=0;for(let a in this){if(!Object.prototype.hasOwnProperty.call(this,a)||a==="parent"||a==="proxyCache")continue;let m=this[a];if(Array.isArray(m))n[a]=m.map(f=>typeof f=="object"&&f.toJSON?f.toJSON(null,h):f);else if(typeof m=="object"&&m.toJSON)n[a]=m.toJSON(null,h);else if(a==="source"){let f=h.get(m.input);f==null&&(f=l,h.set(m.input,l),l++),n[a]={end:m.end,inputId:f,start:m.start}}else n[a]=m}return d&&(n.inputs=[...h.keys()].map(a=>a.toJSON())),n}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(o=r){o.stringify&&(o=o.stringify);let h="";return o(this,n=>{h+=n}),h}warn(o,h,n){let d={node:this};for(let l in n)d[l]=n[l];return o.warn(h,d)}get proxyOf(){return this}}return ar=c,c.default=c,ar}var lr,ri;function bt(){if(ri)return lr;ri=1;let e=wt();class t extends e{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return lr=t,t.default=t,lr}var ur,si;function ia(){if(si)return ur;si=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return ur={nanoid:(i=21)=>{let r="",u=i;for(;u--;)r+=e[Math.random()*64|0];return r},customAlphabet:(i,r=21)=>(u=r)=>{let c="",p=u;for(;p--;)c+=i[Math.random()*i.length|0];return c}},ur}var cr,ii;function sn(){if(ii)return cr;ii=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:s,readFileSync:i}=ge,{dirname:r,join:u}=ge;function c(o){return Buffer?Buffer.from(o,"base64").toString():window.atob(o)}class p{constructor(h,n){if(n.map===!1)return;this.loadAnnotation(h),this.inline=this.startWith(this.annotation,"data:");let d=n.map?n.map.prev:void 0,l=this.loadMap(n.from,d);!this.mapFile&&n.from&&(this.mapFile=n.from),this.mapFile&&(this.root=r(this.mapFile)),l&&(this.text=l)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(h){let n=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,l=/^data:application\/json;charset=utf-?8,/,a=/^data:application\/json,/;if(l.test(h)||a.test(h))return decodeURIComponent(h.substr(RegExp.lastMatch.length));if(n.test(h)||d.test(h))return c(h.substr(RegExp.lastMatch.length));let m=h.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(h){return h.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(h){return typeof h!="object"?!1:typeof h.mappings=="string"||typeof h._mappings=="string"||Array.isArray(h.sections)}loadAnnotation(h){let n=h.match(/\/\*\s*# sourceMappingURL=/gm);if(!n)return;let d=h.lastIndexOf(n.pop()),l=h.indexOf("*/",d);d>-1&&l>-1&&(this.annotation=this.getAnnotationURL(h.substring(d,l)))}loadFile(h){if(this.root=r(h),s(h))return this.mapFile=h,i(h,"utf-8").toString().trim()}loadMap(h,n){if(n===!1)return!1;if(n){if(typeof n=="string")return n;if(typeof n=="function"){let d=n(h);if(d){let l=this.loadFile(d);if(!l)throw new Error("Unable to load previous source map: "+d.toString());return l}}else{if(n instanceof e)return t.fromSourceMap(n).toString();if(n instanceof t)return n.toString();if(this.isMap(n))return JSON.stringify(n);throw new Error("Unsupported previous source map format: "+n.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return h&&(d=u(r(h),d)),this.loadFile(d)}}}startWith(h,n){return h?h.substr(0,n.length)===n:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return cr=p,p.default=p,cr}var fr,ni;function vt(){if(ni)return fr;ni=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:s,pathToFileURL:i}=ge,{isAbsolute:r,resolve:u}=ge,{nanoid:c}=ia(),p=ge,o=ss(),h=sn(),n=Symbol("fromOffsetCache"),d=!!(e&&t),l=!!(u&&r);class a{constructor(f,g={}){if(f===null||typeof f>"u"||typeof f=="object"&&!f.toString)throw new Error(`PostCSS received ${f} instead of CSS string`);if(this.css=f.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!l||/^\w+:\/\//.test(g.from)||r(g.from)?this.file=g.from:this.file=u(g.from)),l&&d){let S=new h(this.css,g);if(S.text){this.map=S;let b=S.consumer().file;!this.file&&b&&(this.file=this.mapResolve(b))}}this.file||(this.id="<input css "+c(6)+">"),this.map&&(this.map.file=this.from)}error(f,g,S,b={}){let v,E,w;if(g&&typeof g=="object"){let x=g,R=S;if(typeof x.offset=="number"){let M=this.fromOffset(x.offset);g=M.line,S=M.col}else g=x.line,S=x.column;if(typeof R.offset=="number"){let M=this.fromOffset(R.offset);E=M.line,w=M.col}else E=R.line,w=R.column}else if(!S){let x=this.fromOffset(g);g=x.line,S=x.col}let y=this.origin(g,S,E,w);return y?v=new o(f,y.endLine===void 0?y.line:{column:y.column,line:y.line},y.endLine===void 0?y.column:{column:y.endColumn,line:y.endLine},y.source,y.file,b.plugin):v=new o(f,E===void 0?g:{column:S,line:g},E===void 0?S:{column:w,line:E},this.css,this.file,b.plugin),v.input={column:S,endColumn:w,endLine:E,line:g,source:this.css},this.file&&(i&&(v.input.url=i(this.file).toString()),v.input.file=this.file),v}fromOffset(f){let g,S;if(this[n])S=this[n];else{let v=this.css.split(` 44 `);S=new Array(v.length);let E=0;for(let w=0,y=v.length;w<y;w++)S[w]=E,E+=v[w].length+1;this[n]=S}g=S[S.length-1];let b=0;if(f>=g)b=S.length-1;else{let v=S.length-2,E;for(;b<v;)if(E=b+(v-b>>1),f<S[E])v=E-1;else if(f>=S[E+1])b=E+1;else{b=E;break}}return{col:f-S[b]+1,line:b+1}}mapResolve(f){return/^\w+:\/\//.test(f)?f:u(this.map.consumer().sourceRoot||this.map.root||".",f)}origin(f,g,S,b){if(!this.map)return!1;let v=this.map.consumer(),E=v.originalPositionFor({column:g,line:f});if(!E.source)return!1;let w;typeof S=="number"&&(w=v.originalPositionFor({column:b,line:S}));let y;r(E.source)?y=i(E.source):y=new URL(E.source,this.map.consumer().sourceRoot||i(this.map.mapFile));let x={column:E.column,endColumn:w&&w.column,endLine:w&&w.line,line:E.line,url:y.toString()};if(y.protocol==="file:")if(s)x.file=s(y);else throw new Error("file: protocol is not available in this PostCSS build");let R=v.sourceContentFor(E.source);return R&&(x.source=R),x}toJSON(){let f={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(f[g]=this[g]);return this.map&&(f.map={...this.map},f.map.consumerCache&&(f.map.consumerCache=void 0)),f}get from(){return this.file||this.id}}return fr=a,a.default=a,p&&p.registerInput&&p.registerInput(a),fr}var hr,oi;function nn(){if(oi)return hr;oi=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:s,relative:i,resolve:r,sep:u}=ge,{pathToFileURL:c}=ge,p=vt(),o=!!(e&&t),h=!!(s&&r&&i&&u);class n{constructor(l,a,m,f){this.stringify=l,this.mapOpts=m.map||{},this.root=a,this.opts=m,this.css=f,this.originalCSS=f,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let l;this.isInline()?l="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?l=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?l=this.mapOpts.annotation(this.opts.to,this.root):l=this.outputFile()+".map";let a=` 45 45 `;this.css.includes(`\r 46 46 `)&&(a=`\r 47 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file), c;this.mapOpts.sourcesContent===!1?(c=new e(l.text),c.sourcesContent&&(c.sourcesContent=null)):c=l.consumer(),this.map.applySourceMap(c,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",c={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(c.generated.line=l,c.generated.column=a-1,v.source&&v.source.start?(c.source=this.sourcePath(v),c.original.line=v.source.start.line,c.original.column=v.source.start.column-1,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,this.map.addMapping(c))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(`48 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?( c.source=this.sourcePath(v),c.original.line=v.source.end.line,c.original.column=v.source.end.column-1,c.generated.line=l,c.generated.column=a-2,this.map.addMapping(c)):(c.source=m,c.original.line=1,c.original.column=0,c.generated.line=l,c.generated.column=a-1,this.map.addMapping(c)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let c=i(m,l);return this.memoizedPaths.set(l,c),c}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let c=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(c,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(f){let m=f(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return hr=n,hr}var dr,ai;function St(){if(ai)return dr;ai=1;let e=wt();class t extends e{constructor(i){super(i),this.type="comment"}}return dr=t,t.default=t,dr}var pr,li;function Re(){if(li)return pr;li=1;let{isClean:e,my:t}=is(),s=bt(),i=St(),r=wt(),u,f,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let c=this.normalize(m,this.last);for(let g of c)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),c,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(c=this.indexes[m],g=a(this.proxyOf.nodes[c],c),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...c)=>a[m](...c.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?c=>a[m]((g,...S)=>c(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(c=>c.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,c){return a[m]===c||(a[m]=c,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let c=this.index(a),g=this.normalize(m,this.proxyOf.nodes[c]).reverse();c=this.index(a);for(let b of g)this.proxyOf.nodes.splice(c+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],c<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let c=this.index(a),g=c===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[c],g).reverse();c=this.index(a);for(let v of S)this.proxyOf.nodes.splice(c,0,v);let b;for(let v in this.indexes)b=this.indexes[v],c<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new f(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let c=this.normalize(m,this.first,"prepend").reverse();for(let g of c)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+c.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let c in this.indexes)m=this.indexes[c],m>=a&&(this.indexes[c]=m-1);return this.markDirty(),this}replaceValues(a,m,c){return c||(c=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,c))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,c)=>{let g;try{g=a(m,c)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="atrule"&&a.test(c.name))return m(c,g)}):this.walk((c,g)=>{if(c.type==="atrule"&&c.name===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="atrule")return m(c,g)}))}walkComments(a){return this.walk((m,c)=>{if(m.type==="comment")return a(m,c)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="decl"&&a.test(c.prop))return m(c,g)}):this.walk((c,g)=>{if(c.type==="decl"&&c.prop===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="decl")return m(c,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((c,g)=>{if(c.type==="rule"&&a.test(c.selector))return m(c,g)}):this.walk((c,g)=>{if(c.type==="rule"&&c.selector===a)return m(c,g)}):(m=a,this.walk((c,g)=>{if(c.type==="rule")return m(c,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{f=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},pr=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,f.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},pr}var mr,ui;function ns(){if(ui)return mr;ui=1;let e=Re(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},mr=i,i.default=i,mr}var gr,ci;function on(){if(ci)return gr;ci=1;let e={};return gr=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},gr}var yr,fi;function an(){if(fi)return yr;fi=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return yr=e,e.default=e,yr}var wr,hi;function os(){if(hi)return wr;hi=1;let e=an();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return wr=t,t.default=t,wr}var br,di;function ia(){if(di)return br;di=1;let e=39,t=34,s=92,i=47,r=10,u=32,f=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,c=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return br=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case f:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===f);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case c:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==f&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==f&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},br}var vr,pi;function as(){if(pi)return vr;pi=1;let e=Re();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return vr=t,t.default=t,e.registerAtRule(t),vr}var Sr,mi;function qe(){if(mi)return Sr;mi=1;let e=Re(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,f,p){let o=super.normalize(u);if(f){if(p==="prepend")this.nodes.length>1?f.raws.before=this.nodes[1].raws.before:delete f.raws.before;else if(this.first!==f)for(let h of o)h.raws.before=f.raws.before}return o}removeChild(u,f){let p=this.index(u);return!f&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Sr=i,i.default=i,e.registerRoot(i),Sr}var Cr,gi;function ln(){if(gi)return Cr;gi=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",`49 `," "];return e.split(t,s)},split(t,s,i){let r=[],u="", f=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(f=!0),f?(u!==""&&r.push(u.trim()),u="",f=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Cr=e,e.default=e,Cr}var xr,yi;function ls(){if(yi)return xr;yi=1;let e=Re(),t=ln();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,f=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(f)}}return xr=s,s.default=s,e.registerRule(s),xr}var Er,wi;function na(){if(wi)return Er;wi=1;let e=bt(),t=ia(),s=St(),i=as(),r=qe(),u=ls(),f={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,c=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){c=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),c&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[c,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return c}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let c=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)c.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=c.map(b=>b[1]).join(""),c=[]),this.raw(l,"value",c.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,c=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),c.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),c.push("}");else if(c.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===c[c.length-1]&&(c.pop(),c.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),c.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,c,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],c=m[0],c==="space"&&w===g-1&&!a?b=!1:c==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!f[E]&&!f[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Er=o,Er}var Mr,bi;function us(){if(bi)return Mr;bi=1;let e=Re(),t=na(),s=vt();function i(r,u){let f=new s(r,u),p=new t(f);try{p.parse()}catch(o){throw o}return p.root}return Mr=i,i.default=i,e.registerParse(i),Mr}var Rr,vi;function un(){if(vi)return Rr;vi=1;let{isClean:e,my:t}=is(),s=nn(),i=yt(),r=Re(),u=ns(),f=on(),p=os(),o=us(),h=qe(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function c(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=c(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=c(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Rr=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Rr}var Nr,Si;function oa(){if(Si)return Nr;Si=1;let e=nn(),t=yt(),s=on(),i=us(),r=os();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,c]=a.generate();m&&(this.result.css=m),c&&(this.result.map=c)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return Nr=u,u.default=u,Nr}var Or,Ci;function aa(){if(Ci)return Or;Ci=1;let e=oa(),t=un(),s=ns(),i=qe();class r{constructor(f=[]){this.version="8.4.38",this.plugins=this.normalize(f)}normalize(f){let p=[];for(let o of f)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(f,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,f,p):new t(this,f,p)}use(f){return this.plugins=this.plugins.concat(this.normalize([f])),this}}return Or=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),Or}var Ir,xi;function la(){if(xi)return Ir;xi=1;let e=bt(),t=sn(),s=St(),i=as(),r=vt(),u=qe(),f=ls();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new f(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return Ir=p,p.default=p,Ir}var Ar,Ei;function ua(){if(Ei)return Ar;Ei=1;let e=ss(),t=bt(),s=un(),i=Re(),r=aa(),u=yt(),f=la(),p=ns(),o=an(),h=St(),n=as(),d=os(),l=vt(),a=us(),m=ln(),c=ls(),g=qe(),S=wt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide:47 `),this.css+=a+"/*# sourceMappingURL="+l+" */"}applyPrevMaps(){for(let l of this.previous()){let a=this.toUrl(this.path(l.file)),m=l.root||s(l.file),f;this.mapOpts.sourcesContent===!1?(f=new e(l.text),f.sourcesContent&&(f.sourcesContent=null)):f=l.consumer(),this.map.applySourceMap(f,a,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let l;for(let a=this.root.nodes.length-1;a>=0;a--)l=this.root.nodes[a],l.type==="comment"&&l.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(a)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),h&&o&&this.isMap())return this.generateMap();{let l="";return this.stringify(this.root,a=>{l+=a}),[l]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let l=this.previous()[0].consumer();l.file=this.outputFile(),this.map=t.fromSourceMap(l,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let l=1,a=1,m="<no source>",f={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,S;this.stringify(this.root,(b,v,E)=>{if(this.css+=b,v&&E!=="end"&&(f.generated.line=l,f.generated.column=a-1,v.source&&v.source.start?(f.source=this.sourcePath(v),f.original.line=v.source.start.line,f.original.column=v.source.start.column-1,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,this.map.addMapping(f))),g=b.match(/\n/g),g?(l+=g.length,S=b.lastIndexOf(` 48 `),a=b.length-S):a+=b.length,v&&E!=="start"){let w=v.parent||{raws:{}};(!(v.type==="decl"||v.type==="atrule"&&!v.nodes)||v!==w.last||w.raws.semicolon)&&(v.source&&v.source.end?(f.source=this.sourcePath(v),f.original.line=v.source.end.line,f.original.column=v.source.end.column-1,f.generated.line=l,f.generated.column=a-2,this.map.addMapping(f)):(f.source=m,f.original.line=1,f.original.column=0,f.generated.line=l,f.generated.column=a-1,this.map.addMapping(f)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(l=>l.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let l=this.mapOpts.annotation;return typeof l<"u"&&l!==!0?!1:this.previous().length?this.previous().some(a=>a.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(l=>l.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(l){if(this.mapOpts.absolute||l.charCodeAt(0)===60||/^\w+:\/\//.test(l))return l;let a=this.memoizedPaths.get(l);if(a)return a;let m=this.opts.to?s(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=s(r(m,this.mapOpts.annotation)));let f=i(m,l);return this.memoizedPaths.set(l,f),f}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(l=>{if(l.source&&l.source.input.map){let a=l.source.input.map;this.previousMaps.includes(a)||this.previousMaps.push(a)}});else{let l=new p(this.originalCSS,this.opts);l.map&&this.previousMaps.push(l.map)}return this.previousMaps}setSourcesContent(){let l={};if(this.root)this.root.walk(a=>{if(a.source){let m=a.source.input.from;if(m&&!l[m]){l[m]=!0;let f=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(f,a.source.input.css)}}});else if(this.css){let a=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(a,this.css)}}sourcePath(l){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(l.source.input.from):this.toUrl(this.path(l.source.input.from))}toBase64(l){return Buffer?Buffer.from(l).toString("base64"):window.btoa(unescape(encodeURIComponent(l)))}toFileUrl(l){let a=this.memoizedFileURLs.get(l);if(a)return a;if(c){let m=c(l).toString();return this.memoizedFileURLs.set(l,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(l){let a=this.memoizedURLs.get(l);if(a)return a;u==="\\"&&(l=l.replace(/\\/g,"/"));let m=encodeURI(l).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(l,m),m}}return hr=n,hr}var dr,ai;function St(){if(ai)return dr;ai=1;let e=wt();class t extends e{constructor(i){super(i),this.type="comment"}}return dr=t,t.default=t,dr}var pr,li;function Re(){if(li)return pr;li=1;let{isClean:e,my:t}=is(),s=bt(),i=St(),r=wt(),u,c,p,o;function h(l){return l.map(a=>(a.nodes&&(a.nodes=h(a.nodes)),delete a.source,a))}function n(l){if(l[e]=!1,l.proxyOf.nodes)for(let a of l.proxyOf.nodes)n(a)}class d extends r{append(...a){for(let m of a){let f=this.normalize(m,this.last);for(let g of f)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(a){if(super.cleanRaws(a),this.nodes)for(let m of this.nodes)m.cleanRaws(a)}each(a){if(!this.proxyOf.nodes)return;let m=this.getIterator(),f,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(f=this.indexes[m],g=a(this.proxyOf.nodes[f],f),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(a){return this.nodes.every(a)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let a=this.lastEach;return this.indexes[a]=0,a}getProxyProcessor(){return{get(a,m){return m==="proxyOf"?a:a[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...f)=>a[m](...f.map(g=>typeof g=="function"?(S,b)=>g(S.toProxy(),b):g)):m==="every"||m==="some"?f=>a[m]((g,...S)=>f(g.toProxy(),...S)):m==="root"?()=>a.root().toProxy():m==="nodes"?a.nodes.map(f=>f.toProxy()):m==="first"||m==="last"?a[m].toProxy():a[m]:a[m]},set(a,m,f){return a[m]===f||(a[m]=f,(m==="name"||m==="params"||m==="selector")&&a.markDirty()),!0}}}index(a){return typeof a=="number"?a:(a.proxyOf&&(a=a.proxyOf),this.proxyOf.nodes.indexOf(a))}insertAfter(a,m){let f=this.index(a),g=this.normalize(m,this.proxyOf.nodes[f]).reverse();f=this.index(a);for(let b of g)this.proxyOf.nodes.splice(f+1,0,b);let S;for(let b in this.indexes)S=this.indexes[b],f<S&&(this.indexes[b]=S+g.length);return this.markDirty(),this}insertBefore(a,m){let f=this.index(a),g=f===0?"prepend":!1,S=this.normalize(m,this.proxyOf.nodes[f],g).reverse();f=this.index(a);for(let v of S)this.proxyOf.nodes.splice(f,0,v);let b;for(let v in this.indexes)b=this.indexes[v],f<=b&&(this.indexes[v]=b+S.length);return this.markDirty(),this}normalize(a,m){if(typeof a=="string")a=h(u(a).nodes);else if(typeof a>"u")a=[];else if(Array.isArray(a)){a=a.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type==="root"&&this.type!=="document"){a=a.nodes.slice(0);for(let g of a)g.parent&&g.parent.removeChild(g,"ignore")}else if(a.type)a=[a];else if(a.prop){if(typeof a.value>"u")throw new Error("Value field is missed in node creation");typeof a.value!="string"&&(a.value=String(a.value)),a=[new s(a)]}else if(a.selector)a=[new c(a)];else if(a.name)a=[new p(a)];else if(a.text)a=[new i(a)];else throw new Error("Unknown node type in node creation");return a.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&n(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...a){a=a.reverse();for(let m of a){let f=this.normalize(m,this.first,"prepend").reverse();for(let g of f)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+f.length}return this.markDirty(),this}push(a){return a.parent=this,this.proxyOf.nodes.push(a),this}removeAll(){for(let a of this.proxyOf.nodes)a.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(a){a=this.index(a),this.proxyOf.nodes[a].parent=void 0,this.proxyOf.nodes.splice(a,1);let m;for(let f in this.indexes)m=this.indexes[f],m>=a&&(this.indexes[f]=m-1);return this.markDirty(),this}replaceValues(a,m,f){return f||(f=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(a,f))}),this.markDirty(),this}some(a){return this.nodes.some(a)}walk(a){return this.each((m,f)=>{let g;try{g=a(m,f)}catch(S){throw m.addToError(S)}return g!==!1&&m.walk&&(g=m.walk(a)),g})}walkAtRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="atrule"&&a.test(f.name))return m(f,g)}):this.walk((f,g)=>{if(f.type==="atrule"&&f.name===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="atrule")return m(f,g)}))}walkComments(a){return this.walk((m,f)=>{if(m.type==="comment")return a(m,f)})}walkDecls(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="decl"&&a.test(f.prop))return m(f,g)}):this.walk((f,g)=>{if(f.type==="decl"&&f.prop===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="decl")return m(f,g)}))}walkRules(a,m){return m?a instanceof RegExp?this.walk((f,g)=>{if(f.type==="rule"&&a.test(f.selector))return m(f,g)}):this.walk((f,g)=>{if(f.type==="rule"&&f.selector===a)return m(f,g)}):(m=a,this.walk((f,g)=>{if(f.type==="rule")return m(f,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=l=>{u=l},d.registerRule=l=>{c=l},d.registerAtRule=l=>{p=l},d.registerRoot=l=>{o=l},pr=d,d.default=d,d.rebuild=l=>{l.type==="atrule"?Object.setPrototypeOf(l,p.prototype):l.type==="rule"?Object.setPrototypeOf(l,c.prototype):l.type==="decl"?Object.setPrototypeOf(l,s.prototype):l.type==="comment"?Object.setPrototypeOf(l,i.prototype):l.type==="root"&&Object.setPrototypeOf(l,o.prototype),l[t]=!0,l.nodes&&l.nodes.forEach(a=>{d.rebuild(a)})},pr}var mr,ui;function ns(){if(ui)return mr;ui=1;let e=Re(),t,s;class i extends e{constructor(u){super({type:"document",...u}),this.nodes||(this.nodes=[])}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},mr=i,i.default=i,mr}var gr,ci;function on(){if(ci)return gr;ci=1;let e={};return gr=function(s){e[s]||(e[s]=!0,typeof console<"u"&&console.warn&&console.warn(s))},gr}var yr,fi;function an(){if(fi)return yr;fi=1;class e{constructor(s,i={}){if(this.type="warning",this.text=s,i.node&&i.node.source){let r=i.node.rangeBy(i);this.line=r.start.line,this.column=r.start.column,this.endLine=r.end.line,this.endColumn=r.end.column}for(let r in i)this[r]=i[r]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return yr=e,e.default=e,yr}var wr,hi;function os(){if(hi)return wr;hi=1;let e=an();class t{constructor(i,r,u){this.processor=i,this.messages=[],this.root=r,this.opts=u,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,r={}){r.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(r.plugin=this.lastPlugin.postcssPlugin);let u=new e(i,r);return this.messages.push(u),u}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}}return wr=t,t.default=t,wr}var br,di;function na(){if(di)return br;di=1;let e=39,t=34,s=92,i=47,r=10,u=32,c=12,p=9,o=13,h=91,n=93,d=40,l=41,a=123,m=125,f=59,g=42,S=58,b=64,v=/[\t\n\f\r "#'()/;[\\\]{}]/g,E=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,w=/.[\r\n"'(/\\]/,y=/[\da-f]/i;return br=function(R,M={}){let C=R.css.valueOf(),I=M.ignoreErrors,_,N,ie,ne,F,z,q,J,D,T,U=C.length,O=0,G=[],k=[];function Q(){return O}function Z(L){throw R.error("Unclosed "+L,O)}function ue(){return k.length===0&&O>=U}function xe(L){if(k.length)return k.pop();if(O>=U)return;let te=L?L.ignoreUnclosed:!1;switch(_=C.charCodeAt(O),_){case r:case u:case p:case o:case c:{N=O;do N+=1,_=C.charCodeAt(N);while(_===u||_===r||_===p||_===o||_===c);T=["space",C.slice(O,N)],O=N-1;break}case h:case n:case a:case m:case S:case f:case l:{let j=String.fromCharCode(_);T=[j,j,O];break}case d:{if(J=G.length?G.pop()[1]:"",D=C.charCodeAt(O+1),J==="url"&&D!==e&&D!==t&&D!==u&&D!==r&&D!==p&&D!==c&&D!==o){N=O;do{if(z=!1,N=C.indexOf(")",N+1),N===-1)if(I||te){N=O;break}else Z("bracket");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["brackets",C.slice(O,N+1),O,N],O=N}else N=C.indexOf(")",O+1),ne=C.slice(O,N+1),N===-1||w.test(ne)?T=["(","(",O]:(T=["brackets",ne,O,N],O=N);break}case e:case t:{ie=_===e?"'":'"',N=O;do{if(z=!1,N=C.indexOf(ie,N+1),N===-1)if(I||te){N=O+1;break}else Z("string");for(q=N;C.charCodeAt(q-1)===s;)q-=1,z=!z}while(z);T=["string",C.slice(O,N+1),O,N],O=N;break}case b:{v.lastIndex=O+1,v.test(C),v.lastIndex===0?N=C.length-1:N=v.lastIndex-2,T=["at-word",C.slice(O,N+1),O,N],O=N;break}case s:{for(N=O,F=!0;C.charCodeAt(N+1)===s;)N+=1,F=!F;if(_=C.charCodeAt(N+1),F&&_!==i&&_!==u&&_!==r&&_!==p&&_!==o&&_!==c&&(N+=1,y.test(C.charAt(N)))){for(;y.test(C.charAt(N+1));)N+=1;C.charCodeAt(N+1)===u&&(N+=1)}T=["word",C.slice(O,N+1),O,N],O=N;break}default:{_===i&&C.charCodeAt(O+1)===g?(N=C.indexOf("*/",O+2)+1,N===0&&(I||te?N=C.length:Z("comment")),T=["comment",C.slice(O,N+1),O,N],O=N):(E.lastIndex=O+1,E.test(C),E.lastIndex===0?N=C.length-1:N=E.lastIndex-2,T=["word",C.slice(O,N+1),O,N],G.push(T),O=N);break}}return O++,T}function ve(L){k.push(L)}return{back:ve,endOfFile:ue,nextToken:xe,position:Q}},br}var vr,pi;function as(){if(pi)return vr;pi=1;let e=Re();class t extends e{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}}return vr=t,t.default=t,e.registerAtRule(t),vr}var Sr,mi;function qe(){if(mi)return Sr;mi=1;let e=Re(),t,s;class i extends e{constructor(u){super(u),this.type="root",this.nodes||(this.nodes=[])}normalize(u,c,p){let o=super.normalize(u);if(c){if(p==="prepend")this.nodes.length>1?c.raws.before=this.nodes[1].raws.before:delete c.raws.before;else if(this.first!==c)for(let h of o)h.raws.before=c.raws.before}return o}removeChild(u,c){let p=this.index(u);return!c&&p===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[p].raws.before),super.removeChild(u)}toResult(u={}){return new t(new s,this,u).stringify()}}return i.registerLazyResult=r=>{t=r},i.registerProcessor=r=>{s=r},Sr=i,i.default=i,e.registerRoot(i),Sr}var Cr,gi;function ln(){if(gi)return Cr;gi=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let s=[" ",` 49 `," "];return e.split(t,s)},split(t,s,i){let r=[],u="",c=!1,p=0,o=!1,h="",n=!1;for(let d of t)n?n=!1:d==="\\"?n=!0:o?d===h&&(o=!1):d==='"'||d==="'"?(o=!0,h=d):d==="("?p+=1:d===")"?p>0&&(p-=1):p===0&&s.includes(d)&&(c=!0),c?(u!==""&&r.push(u.trim()),u="",c=!1):u+=d;return(i||u!=="")&&r.push(u.trim()),r}};return Cr=e,e.default=e,Cr}var xr,yi;function ls(){if(yi)return xr;yi=1;let e=Re(),t=ln();class s extends e{constructor(r){super(r),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(r){let u=this.selector?this.selector.match(/,\s*/):null,c=u?u[0]:","+this.raw("between","beforeOpen");this.selector=r.join(c)}}return xr=s,s.default=s,e.registerRule(s),xr}var Er,wi;function oa(){if(wi)return Er;wi=1;let e=bt(),t=na(),s=St(),i=as(),r=qe(),u=ls(),c={empty:!0,space:!0};function p(h){for(let n=h.length-1;n>=0;n--){let d=h[n],l=d[3]||d[2];if(l)return l}}class o{constructor(n){this.input=n,this.root=new r,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:n,start:{column:1,line:1,offset:0}}}atrule(n){let d=new i;d.name=n[1].slice(1),d.name===""&&this.unnamedAtrule(d,n),this.init(d,n[2]);let l,a,m,f=!1,g=!1,S=[],b=[];for(;!this.tokenizer.endOfFile();){if(n=this.tokenizer.nextToken(),l=n[0],l==="("||l==="["?b.push(l==="("?")":"]"):l==="{"&&b.length>0?b.push("}"):l===b[b.length-1]&&b.pop(),b.length===0)if(l===";"){d.source.end=this.getPosition(n[2]),d.source.end.offset++,this.semicolon=!0;break}else if(l==="{"){g=!0;break}else if(l==="}"){if(S.length>0){for(m=S.length-1,a=S[m];a&&a[0]==="space";)a=S[--m];a&&(d.source.end=this.getPosition(a[3]||a[2]),d.source.end.offset++)}this.end(n);break}else S.push(n);else S.push(n);if(this.tokenizer.endOfFile()){f=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(S),S.length?(d.raws.afterName=this.spacesAndCommentsFromStart(S),this.raw(d,"params",S),f&&(n=S[S.length-1],d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(n){let d=this.colon(n);if(d===!1)return;let l=0,a;for(let m=d-1;m>=0&&(a=n[m],!(a[0]!=="space"&&(l+=1,l===2)));m--);throw this.input.error("Missed semicolon",a[0]==="word"?a[3]+1:a[2])}colon(n){let d=0,l,a,m;for(let[f,g]of n.entries()){if(l=g,a=l[0],a==="("&&(d+=1),a===")"&&(d-=1),d===0&&a===":")if(!m)this.doubleColon(l);else{if(m[0]==="word"&&m[1]==="progid")continue;return f}m=l}return!1}comment(n){let d=new s;this.init(d,n[2]),d.source.end=this.getPosition(n[3]||n[2]),d.source.end.offset++;let l=n[1].slice(2,-2);if(/^\s*$/.test(l))d.text="",d.raws.left=l,d.raws.right="";else{let a=l.match(/^(\s*)([^]*\S)(\s*)$/);d.text=a[2],d.raws.left=a[1],d.raws.right=a[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(n,d){let l=new e;this.init(l,n[0][2]);let a=n[n.length-1];for(a[0]===";"&&(this.semicolon=!0,n.pop()),l.source.end=this.getPosition(a[3]||a[2]||p(n)),l.source.end.offset++;n[0][0]!=="word";)n.length===1&&this.unknownWord(n),l.raws.before+=n.shift()[1];for(l.source.start=this.getPosition(n[0][2]),l.prop="";n.length;){let b=n[0][0];if(b===":"||b==="space"||b==="comment")break;l.prop+=n.shift()[1]}l.raws.between="";let m;for(;n.length;)if(m=n.shift(),m[0]===":"){l.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),l.raws.between+=m[1];(l.prop[0]==="_"||l.prop[0]==="*")&&(l.raws.before+=l.prop[0],l.prop=l.prop.slice(1));let f=[],g;for(;n.length&&(g=n[0][0],!(g!=="space"&&g!=="comment"));)f.push(n.shift());this.precheckMissedSemicolon(n);for(let b=n.length-1;b>=0;b--){if(m=n[b],m[1].toLowerCase()==="!important"){l.important=!0;let v=this.stringFrom(n,b);v=this.spacesFromEnd(n)+v,v!==" !important"&&(l.raws.important=v);break}else if(m[1].toLowerCase()==="important"){let v=n.slice(0),E="";for(let w=b;w>0;w--){let y=v[w][0];if(E.trim().indexOf("!")===0&&y!=="space")break;E=v.pop()[1]+E}E.trim().indexOf("!")===0&&(l.important=!0,l.raws.important=E,n=v)}if(m[0]!=="space"&&m[0]!=="comment")break}n.some(b=>b[0]!=="space"&&b[0]!=="comment")&&(l.raws.between+=f.map(b=>b[1]).join(""),f=[]),this.raw(l,"value",f.concat(n),d),l.value.includes(":")&&!d&&this.checkMissedSemicolon(n)}doubleColon(n){throw this.input.error("Double colon",{offset:n[2]},{offset:n[2]+n[1].length})}emptyRule(n){let d=new u;this.init(d,n[2]),d.selector="",d.raws.between="",this.current=d}end(n){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(n[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(n)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(n){if(this.spaces+=n[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(n){let d=this.input.fromOffset(n);return{column:d.col,line:d.line,offset:n}}init(n,d){this.current.push(n),n.source={input:this.input,start:this.getPosition(d)},n.raws.before=this.spaces,this.spaces="",n.type!=="comment"&&(this.semicolon=!1)}other(n){let d=!1,l=null,a=!1,m=null,f=[],g=n[1].startsWith("--"),S=[],b=n;for(;b;){if(l=b[0],S.push(b),l==="("||l==="[")m||(m=b),f.push(l==="("?")":"]");else if(g&&a&&l==="{")m||(m=b),f.push("}");else if(f.length===0)if(l===";")if(a){this.decl(S,g);return}else break;else if(l==="{"){this.rule(S);return}else if(l==="}"){this.tokenizer.back(S.pop()),d=!0;break}else l===":"&&(a=!0);else l===f[f.length-1]&&(f.pop(),f.length===0&&(m=null));b=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),f.length>0&&this.unclosedBracket(m),d&&a){if(!g)for(;S.length&&(b=S[S.length-1][0],!(b!=="space"&&b!=="comment"));)this.tokenizer.back(S.pop());this.decl(S,g)}else this.unknownWord(S)}parse(){let n;for(;!this.tokenizer.endOfFile();)switch(n=this.tokenizer.nextToken(),n[0]){case"space":this.spaces+=n[1];break;case";":this.freeSemicolon(n);break;case"}":this.end(n);break;case"comment":this.comment(n);break;case"at-word":this.atrule(n);break;case"{":this.emptyRule(n);break;default:this.other(n);break}this.endFile()}precheckMissedSemicolon(){}raw(n,d,l,a){let m,f,g=l.length,S="",b=!0,v,E;for(let w=0;w<g;w+=1)m=l[w],f=m[0],f==="space"&&w===g-1&&!a?b=!1:f==="comment"?(E=l[w-1]?l[w-1][0]:"empty",v=l[w+1]?l[w+1][0]:"empty",!c[E]&&!c[v]?S.slice(-1)===","?b=!1:S+=m[1]:b=!1):S+=m[1];if(!b){let w=l.reduce((y,x)=>y+x[1],"");n.raws[d]={raw:w,value:S}}n[d]=S}rule(n){n.pop();let d=new u;this.init(d,n[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(n),this.raw(d,"selector",n),this.current=d}spacesAndCommentsFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],!(d!=="space"&&d!=="comment"));)l=n.pop()[1]+l;return l}spacesAndCommentsFromStart(n){let d,l="";for(;n.length&&(d=n[0][0],!(d!=="space"&&d!=="comment"));)l+=n.shift()[1];return l}spacesFromEnd(n){let d,l="";for(;n.length&&(d=n[n.length-1][0],d==="space");)l=n.pop()[1]+l;return l}stringFrom(n,d){let l="";for(let a=d;a<n.length;a++)l+=n[a][1];return n.splice(d,n.length-d),l}unclosedBlock(){let n=this.current.source.start;throw this.input.error("Unclosed block",n.line,n.column)}unclosedBracket(n){throw this.input.error("Unclosed bracket",{offset:n[2]},{offset:n[2]+1})}unexpectedClose(n){throw this.input.error("Unexpected }",{offset:n[2]},{offset:n[2]+1})}unknownWord(n){throw this.input.error("Unknown word",{offset:n[0][2]},{offset:n[0][2]+n[0][1].length})}unnamedAtrule(n,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Er=o,Er}var Mr,bi;function us(){if(bi)return Mr;bi=1;let e=Re(),t=oa(),s=vt();function i(r,u){let c=new s(r,u),p=new t(c);try{p.parse()}catch(o){throw o}return p.root}return Mr=i,i.default=i,e.registerParse(i),Mr}var Rr,vi;function un(){if(vi)return Rr;vi=1;let{isClean:e,my:t}=is(),s=nn(),i=yt(),r=Re(),u=ns(),c=on(),p=os(),o=us(),h=qe(),n={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},l={Once:!0,postcssPlugin:!0,prepare:!0},a=0;function m(E){return typeof E=="object"&&typeof E.then=="function"}function f(E){let w=!1,y=n[E.type];return E.type==="decl"?w=E.prop.toLowerCase():E.type==="atrule"&&(w=E.name.toLowerCase()),w&&E.append?[y,y+"-"+w,a,y+"Exit",y+"Exit-"+w]:w?[y,y+"-"+w,y+"Exit",y+"Exit-"+w]:E.append?[y,a,y+"Exit"]:[y,y+"Exit"]}function g(E){let w;return E.type==="document"?w=["Document",a,"DocumentExit"]:E.type==="root"?w=["Root",a,"RootExit"]:w=f(E),{eventIndex:0,events:w,iterator:0,node:E,visitorIndex:0,visitors:[]}}function S(E){return E[e]=!1,E.nodes&&E.nodes.forEach(w=>S(w)),E}let b={};class v{constructor(w,y,x){this.stringified=!1,this.processed=!1;let R;if(typeof y=="object"&&y!==null&&(y.type==="root"||y.type==="document"))R=S(y);else if(y instanceof v||y instanceof p)R=S(y.root),y.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=y.map);else{let M=o;x.syntax&&(M=x.syntax.parse),x.parser&&(M=x.parser),M.parse&&(M=M.parse);try{R=M(y,x)}catch(C){this.processed=!0,this.error=C}R&&!R[t]&&r.rebuild(R)}this.result=new p(w,R,x),this.helpers={...b,postcss:b,result:this.result},this.plugins=this.processor.plugins.map(M=>typeof M=="object"&&M.prepare?{...M,...M.prepare(this.result)}:M)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(w){return this.async().catch(w)}finally(w){return this.async().then(w,w)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(w,y){let x=this.result.lastPlugin;try{y&&y.addToError(w),this.error=w,w.name==="CssSyntaxError"&&!w.plugin?(w.plugin=x.postcssPlugin,w.setMessage()):x.postcssVersion}catch(R){console&&console.error&&console.error(R)}return w}prepareVisitors(){this.listeners={};let w=(y,x,R)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([y,R])};for(let y of this.plugins)if(typeof y=="object")for(let x in y){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${y.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!l[x])if(typeof y[x]=="object")for(let R in y[x])R==="*"?w(y,x,y[x][R]):w(y,x+"-"+R.toLowerCase(),y[x][R]);else typeof y[x]=="function"&&w(y,x,y[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let w=0;w<this.plugins.length;w++){let y=this.plugins[w],x=this.runOnRoot(y);if(m(x))try{await x}catch(R){throw this.handleError(R)}}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];){w[e]=!0;let y=[g(w)];for(;y.length>0;){let x=this.visitTick(y);if(m(x))try{await x}catch(R){let M=y[y.length-1].node;throw this.handleError(R,M)}}}if(this.listeners.OnceExit)for(let[y,x]of this.listeners.OnceExit){this.result.lastPlugin=y;try{if(w.type==="document"){let R=w.nodes.map(M=>x(M,this.helpers));await Promise.all(R)}else await x(w,this.helpers)}catch(R){throw this.handleError(R)}}}return this.processed=!0,this.stringify()}runOnRoot(w){this.result.lastPlugin=w;try{if(typeof w=="object"&&w.Once){if(this.result.root.type==="document"){let y=this.result.root.nodes.map(x=>w.Once(x,this.helpers));return m(y[0])?Promise.all(y):y}return w.Once(this.result.root,this.helpers)}else if(typeof w=="function")return w(this.result.root,this.result)}catch(y){throw this.handleError(y)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let w=this.result.opts,y=i;w.syntax&&(y=w.syntax.stringify),w.stringifier&&(y=w.stringifier),y.stringify&&(y=y.stringify);let R=new s(y,this.result.root,this.result.opts).generate();return this.result.css=R[0],this.result.map=R[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let w of this.plugins){let y=this.runOnRoot(w);if(m(y))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let w=this.result.root;for(;!w[e];)w[e]=!0,this.walkSync(w);if(this.listeners.OnceExit)if(w.type==="document")for(let y of w.nodes)this.visitSync(this.listeners.OnceExit,y);else this.visitSync(this.listeners.OnceExit,w)}return this.result}then(w,y){return this.async().then(w,y)}toString(){return this.css}visitSync(w,y){for(let[x,R]of w){this.result.lastPlugin=x;let M;try{M=R(y,this.helpers)}catch(C){throw this.handleError(C,y.proxyOf)}if(y.type!=="root"&&y.type!=="document"&&!y.parent)return!0;if(m(M))throw this.getAsyncError()}}visitTick(w){let y=w[w.length-1],{node:x,visitors:R}=y;if(x.type!=="root"&&x.type!=="document"&&!x.parent){w.pop();return}if(R.length>0&&y.visitorIndex<R.length){let[C,I]=R[y.visitorIndex];y.visitorIndex+=1,y.visitorIndex===R.length&&(y.visitors=[],y.visitorIndex=0),this.result.lastPlugin=C;try{return I(x.toProxy(),this.helpers)}catch(_){throw this.handleError(_,x)}}if(y.iterator!==0){let C=y.iterator,I;for(;I=x.nodes[x.indexes[C]];)if(x.indexes[C]+=1,!I[e]){I[e]=!0,w.push(g(I));return}y.iterator=0,delete x.indexes[C]}let M=y.events;for(;y.eventIndex<M.length;){let C=M[y.eventIndex];if(y.eventIndex+=1,C===a){x.nodes&&x.nodes.length&&(x[e]=!0,y.iterator=x.getIterator());return}else if(this.listeners[C]){y.visitors=this.listeners[C];return}}w.pop()}walkSync(w){w[e]=!0;let y=f(w);for(let x of y)if(x===a)w.nodes&&w.each(R=>{R[e]||this.walkSync(R)});else{let R=this.listeners[x];if(R&&this.visitSync(R,w.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return v.registerPostcss=E=>{b=E},Rr=v,v.default=v,h.registerLazyResult(v),u.registerLazyResult(v),Rr}var Nr,Si;function aa(){if(Si)return Nr;Si=1;let e=nn(),t=yt(),s=on(),i=us(),r=os();class u{constructor(p,o,h){o=o.toString(),this.stringified=!1,this._processor=p,this._css=o,this._opts=h,this._map=void 0;let n,d=t;this.result=new r(this._processor,n,this._opts),this.result.css=o;let l=this;Object.defineProperty(this.result,"root",{get(){return l.root}});let a=new e(d,n,this._opts,o);if(a.isMap()){let[m,f]=a.generate();m&&(this.result.css=m),f&&(this.result.map=f)}else a.clearAnnotation(),this.result.css=a.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(p){return this.async().catch(p)}finally(p){return this.async().then(p,p)}sync(){if(this.error)throw this.error;return this.result}then(p,o){return this.async().then(p,o)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let p,o=i;try{p=o(this._css,this._opts)}catch(h){this.error=h}if(this.error)throw this.error;return this._root=p,p}get[Symbol.toStringTag](){return"NoWorkResult"}}return Nr=u,u.default=u,Nr}var Or,Ci;function la(){if(Ci)return Or;Ci=1;let e=aa(),t=un(),s=ns(),i=qe();class r{constructor(c=[]){this.version="8.4.38",this.plugins=this.normalize(c)}normalize(c){let p=[];for(let o of c)if(o.postcss===!0?o=o():o.postcss&&(o=o.postcss),typeof o=="object"&&Array.isArray(o.plugins))p=p.concat(o.plugins);else if(typeof o=="object"&&o.postcssPlugin)p.push(o);else if(typeof o=="function")p.push(o);else if(!(typeof o=="object"&&(o.parse||o.stringify)))throw new Error(o+" is not a PostCSS plugin");return p}process(c,p={}){return!this.plugins.length&&!p.parser&&!p.stringifier&&!p.syntax?new e(this,c,p):new t(this,c,p)}use(c){return this.plugins=this.plugins.concat(this.normalize([c])),this}}return Or=r,r.default=r,i.registerProcessor(r),s.registerProcessor(r),Or}var Ir,xi;function ua(){if(xi)return Ir;xi=1;let e=bt(),t=sn(),s=St(),i=as(),r=vt(),u=qe(),c=ls();function p(o,h){if(Array.isArray(o))return o.map(l=>p(l));let{inputs:n,...d}=o;if(n){h=[];for(let l of n){let a={...l,__proto__:r.prototype};a.map&&(a.map={...a.map,__proto__:t.prototype}),h.push(a)}}if(d.nodes&&(d.nodes=o.nodes.map(l=>p(l,h))),d.source){let{inputId:l,...a}=d.source;d.source=a,l!=null&&(d.source.input=h[l])}if(d.type==="root")return new u(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new c(d);if(d.type==="comment")return new s(d);if(d.type==="atrule")return new i(d);throw new Error("Unknown node type: "+o.type)}return Ir=p,p.default=p,Ir}var Ar,Ei;function ca(){if(Ei)return Ar;Ei=1;let e=ss(),t=bt(),s=un(),i=Re(),r=la(),u=yt(),c=ua(),p=ns(),o=an(),h=St(),n=as(),d=os(),l=vt(),a=us(),m=ln(),f=ls(),g=qe(),S=wt();function b(...v){return v.length===1&&Array.isArray(v[0])&&(v=v[0]),new r(v)}return b.plugin=function(E,w){let y=!1;function x(...M){console&&console.warn&&!y&&(y=!0,console.warn(E+`: postcss.plugin was deprecated. Migration guide: 50 50 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(E+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 51 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON= f,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new c(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=c,b.Root=g,b.Node=S,s.registerPostcss(b),Ar=b,b.default=b,Ar}var ca=ua(),X=Zo(ca);X.stringify;X.fromJSON;X.plugin;X.parse;X.list;X.document;X.comment;X.atRule;X.rule;X.decl;X.root;X.CssSyntaxError;X.Declaration;X.Container;X.Processor;X.Document;X.Comment;X.Warning;X.AtRule;X.Result;X.Input;X.Rule;X.Root;X.Node;var Pr=class e{constructor(...t){de(this,"parentElement",null),de(this,"parentNode",null),de(this,"ownerDocument"),de(this,"firstChild",null),de(this,"lastChild",null),de(this,"previousSibling",null),de(this,"nextSibling",null),de(this,"ELEMENT_NODE",1),de(this,"TEXT_NODE",3),de(this,"nodeType"),de(this,"nodeName"),de(this,"RRNodeType")}get childNodes(){let t=[],s=this.firstChild;for(;s;)t.push(s),s=s.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,s){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var Mi={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ri={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Ke={},cn={},fa=()=>!!globalThis.Zone;function cs(e){if(Ke[e])return Ke[e];let t=globalThis[e],s=t.prototype,i=e in Mi?Mi[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in Ri?Ri[e]:void 0,f=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&f&&!fa())return Ke[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),cn[e]=()=>p.remove()):p.remove(),Ke[e]=h}catch{return s}}var Dr={};function be(e,t,s){var i;let r=`${e}.${String(s)}`;if(Dr[r])return Dr[r].call(t);let u=cs(e),f=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return f?(Dr[r]=f,f.call(t)):t[s]}var Tr={};function fn(e,t,s){let i=`${e}.${String(s)}`;if(Tr[i])return Tr[i].bind(t);let u=cs(e)[s];return typeof u!="function"?t[s]:(Tr[i]=u,u.bind(t))}function ha(e){return be("Node",e,"ownerDocument")}function da(e){return be("Node",e,"childNodes")}function pa(e){return be("Node",e,"parentNode")}function ma(e){return be("Node",e,"parentElement")}function ga(e){return be("Node",e,"textContent")}function ya(e,t){return fn("Node",e,"contains")(t)}function wa(e){return fn("Node",e,"getRootNode")()}function ba(e){return!e||!("host"in e)?null:be("ShadowRoot",e,"host")}function va(e){return e.styleSheets}function Sa(e){return!e||!("shadowRoot"in e)?null:be("Element",e,"shadowRoot")}function Ca(e,t){return be("Element",e,"querySelector")(t)}function xa(e,t){return be("Element",e,"querySelectorAll")(t)}function hn(){return[cs("MutationObserver").constructor,cn.MutationObserver??(()=>{})]}var We=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(We=()=>new Date().getTime());function Ne(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var P={ownerDocument:ha,childNodes:da,parentNode:pa,parentElement:ma,textContent:ga,contains:ya,getRootNode:wa,host:ba,styleSheets:va,shadowRoot:Sa,querySelector:Ca,querySelectorAll:xa,nowTimestamp:We,mutationObserverCtor:hn,patch:Ne};function oe(e,t,s=document){let i={capture:!0,passive:!0};return s.addEventListener(e,t,i),()=>s.removeEventListener(e,t,i)}var De=`Please stop import mirror directly. Instead of that,\r51 https://www.w3ctech.com/topic/2226`));let C=w(...M);return C.postcssPlugin=E,C.postcssVersion=new r().version,C}let R;return Object.defineProperty(x,"postcss",{get(){return R||(R=x()),R}}),x.process=function(M,C,I){return b([x(I)]).process(M,C)},x},b.stringify=u,b.parse=a,b.fromJSON=c,b.list=m,b.comment=v=>new h(v),b.atRule=v=>new n(v),b.decl=v=>new t(v),b.rule=v=>new f(v),b.root=v=>new g(v),b.document=v=>new p(v),b.CssSyntaxError=e,b.Declaration=t,b.Container=i,b.Processor=r,b.Document=p,b.Comment=h,b.Warning=o,b.AtRule=n,b.Result=d,b.Input=l,b.Rule=f,b.Root=g,b.Node=S,s.registerPostcss(b),Ar=b,b.default=b,Ar}var fa=ca(),X=Ko(fa);X.stringify;X.fromJSON;X.plugin;X.parse;X.list;X.document;X.comment;X.atRule;X.rule;X.decl;X.root;X.CssSyntaxError;X.Declaration;X.Container;X.Processor;X.Document;X.Comment;X.Warning;X.AtRule;X.Result;X.Input;X.Rule;X.Root;X.Node;var Pr=class e{constructor(...t){de(this,"parentElement",null),de(this,"parentNode",null),de(this,"ownerDocument"),de(this,"firstChild",null),de(this,"lastChild",null),de(this,"previousSibling",null),de(this,"nextSibling",null),de(this,"ELEMENT_NODE",1),de(this,"TEXT_NODE",3),de(this,"nodeType"),de(this,"nodeName"),de(this,"RRNodeType")}get childNodes(){let t=[],s=this.firstChild;for(;s;)t.push(s),s=s.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,s){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}};var Mi={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Ri={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Ke={},cn={},ha=()=>!!globalThis.Zone;function cs(e){if(Ke[e])return Ke[e];let t=globalThis[e],s=t.prototype,i=e in Mi?Mi[e]:void 0,r=!!(i&&i.every(p=>{var o,h;return!!((h=(o=Object.getOwnPropertyDescriptor(s,p))==null?void 0:o.get)!=null&&h.toString().includes("[native code]"))})),u=e in Ri?Ri[e]:void 0,c=!!(u&&u.every(p=>{var o;return typeof s[p]=="function"&&((o=s[p])==null?void 0:o.toString().includes("[native code]"))}));if(r&&c&&!ha())return Ke[e]=t.prototype,t.prototype;try{let p=document.createElement("iframe");p.style.display="none",document.body.appendChild(p);let o=p.contentWindow;if(!o)return t.prototype;let h=o[e].prototype;if(!h)return p.remove(),s;let n=navigator.userAgent;return n.includes("Safari")&&!n.includes("Chrome")?(p.classList.add("rr-block"),p.setAttribute("__rrwebUntaintedMutationObserver",""),cn[e]=()=>p.remove()):p.remove(),Ke[e]=h}catch{return s}}var Dr={};function be(e,t,s){var i;let r=`${e}.${String(s)}`;if(Dr[r])return Dr[r].call(t);let u=cs(e),c=(i=Object.getOwnPropertyDescriptor(u,s))==null?void 0:i.get;return c?(Dr[r]=c,c.call(t)):t[s]}var Tr={};function fn(e,t,s){let i=`${e}.${String(s)}`;if(Tr[i])return Tr[i].bind(t);let u=cs(e)[s];return typeof u!="function"?t[s]:(Tr[i]=u,u.bind(t))}function da(e){return be("Node",e,"ownerDocument")}function pa(e){return be("Node",e,"childNodes")}function ma(e){return be("Node",e,"parentNode")}function ga(e){return be("Node",e,"parentElement")}function ya(e){return be("Node",e,"textContent")}function wa(e,t){return fn("Node",e,"contains")(t)}function ba(e){return fn("Node",e,"getRootNode")()}function va(e){return!e||!("host"in e)?null:be("ShadowRoot",e,"host")}function Sa(e){return e.styleSheets}function Ca(e){return!e||!("shadowRoot"in e)?null:be("Element",e,"shadowRoot")}function xa(e,t){return be("Element",e,"querySelector")(t)}function Ea(e,t){return be("Element",e,"querySelectorAll")(t)}function hn(){return[cs("MutationObserver").constructor,cn.MutationObserver??(()=>{})]}var We=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(We=()=>new Date().getTime());function Ne(e,t,s){try{if(!(t in e))return()=>{};let i=e[t],r=s(i);return typeof r=="function"&&(r.prototype=r.prototype||{},Object.defineProperties(r,{__rrweb_original__:{enumerable:!1,value:i}})),e[t]=r,()=>{e[t]=i}}catch{return()=>{}}}var P={ownerDocument:da,childNodes:pa,parentNode:ma,parentElement:ga,textContent:ya,contains:wa,getRootNode:ba,host:va,styleSheets:Sa,shadowRoot:Ca,querySelector:xa,querySelectorAll:Ea,nowTimestamp:We,mutationObserverCtor:hn,patch:Ne};function oe(e,t,s=document){let i={capture:!0,passive:!0};return s.addEventListener(e,t,i),()=>s.removeEventListener(e,t,i)}var De=`Please stop import mirror directly. Instead of that,\r 52 52 now you can use replayer.getMirror() to access the mirror instance of a replayer,\r 53 or you can use record.mirror to access the mirror instance during recording.`,Ni={map:{},getId(){return console.error(De),-1},getNode(){return console.error(De),null},removeNodeFromMap(){console.error(De)},has(){return console.error(De),!1},reset(){console.error(De)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Ni=new Proxy(Ni,{get(e,t,s){return t==="map"&&console.error(De),Reflect.get(e,t,s)}}));function je(e,t,s={}){let i=null,r=0;return function(...u){let f=Date.now();!r&&s.leading===!1&&(r=f);let p=t-(f-r),o=this;p<=0||p>t?(i&&(clearTimeout(i),i=null),r=f,e.apply(o,u)):!i&&s.trailing!==!1&&(i=setTimeout(()=>{r=s.leading===!1?0:Date.now(),i=null,e.apply(o,u)},p))}}function Ct(e,t,s,i,r=window){let u=r.Object.getOwnPropertyDescriptor(e,t);return r.Object.defineProperty(e,t,i?s:{set(f){setTimeout(()=>{s.set.call(this,f)},0),u&&u.set&&u.set.call(this,f)}}),()=>Ct(e,t,u||{},!0)}function dn(e){var t,s,i,r;let u=e.document;return{left:u.scrollingElement?u.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:u.documentElement.scrollLeft||u?.body&&((t=P.parentElement(u.body))==null?void 0:t.scrollLeft)||((s=u?.body)==null?void 0:s.scrollLeft)||0,top:u.scrollingElement?u.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:u?.documentElement.scrollTop||u?.body&&((i=P.parentElement(u.body))==null?void 0:i.scrollTop)||((r=u?.body)==null?void 0:r.scrollTop)||0}}function pn(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function mn(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function gn(e){return e?e.nodeType===e.ELEMENT_NODE?e:P.parentElement(e):null}function ae(e,t,s,i){if(!e)return!1;let r=gn(e);if(!r)return!1;try{if(typeof t=="string"){if(r.classList.contains(t)||i&&r.closest("."+t)!==null)return!0}else if(lt(r,t,i))return!0}catch{}return!!(s&&(r.matches(s)||i&&r.closest(s)!==null))}function Ea(e,t){return t.getId(e)!==-1}function _r(e,t,s){return e.tagName==="TITLE"&&s.headTitleMutations?!0:t.getId(e)===ze}function yn(e,t){if(Ue(e))return!1;let s=t.getId(e);if(!t.has(s))return!0;let i=P.parentNode(e);return i&&i.nodeType===e.DOCUMENT_NODE?!1:i?yn(i,t):!0}function Fr(e){return!!e.changedTouches}function Ma(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function wn(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function bn(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Ur(e){return e?e instanceof Pr&&"shadowRoot"in e?!!e.shadowRoot:!!P.shadowRoot(e):!1}var $r=class{constructor(){A(this,"id",1),A(this,"styleIDMap",new WeakMap),A(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,s){if(this.has(t))return this.getId(t);let i;return s===void 0?i=this.id++:i=s,this.styleIDMap.set(t,i),this.idStyleMap.set(i,t),i}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function vn(e){var t;let s=null;return"getRootNode"in e&&((t=P.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&P.host(P.getRootNode(e))&&(s=P.host(P.getRootNode(e))),s}function Ra(e){let t=e,s;for(;s=vn(t);)t=s;return t}function Na(e){let t=P.ownerDocument(e);if(!t)return!1;let s=Ra(e);return P.contains(t,s)}function Sn(e){let t=P.ownerDocument(e);return t?P.contains(t,e)||Na(e):!1}var W=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(W||{}),$=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))($||{}),ce=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(ce||{}),ye=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(ye||{}),Pe=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Pe||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{});var Cn=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Cn||{});function Oi(e){return"__ln"in e}var Br=class{constructor(){A(this,"length",0),A(this,"head",null),A(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let s=this.head;for(let i=0;i<t;i++)s=s?.next||null;return s}addNode(t){let s={value:t,previous:null,next:null};if(t.__ln=s,t.previousSibling&&Oi(t.previousSibling)){let i=t.previousSibling.__ln.next;s.next=i,s.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=s,i&&(i.previous=s)}else if(t.nextSibling&&Oi(t.nextSibling)&&t.nextSibling.__ln.previous){let i=t.nextSibling.__ln.previous;s.previous=i,s.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=s,i&&(i.next=s)}else this.head&&(this.head.previous=s),s.next=this.head,this.head=s;s.next===null&&(this.tail=s),this.length++}removeNode(t){let s=t.__ln;this.head&&(s.previous?(s.previous.next=s.next,s.next?s.next.previous=s.previous:this.tail=s.previous):(this.head=s.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Ii=(e,t)=>`${e}@${t}`,zr=class{constructor(){A(this,"frozen",!1),A(this,"locked",!1),A(this,"texts",[]),A(this,"attributes",[]),A(this,"attributeMap",new WeakMap),A(this,"removes",[]),A(this,"mapRemoves",[]),A(this,"movedMap",{}),A(this,"addedSet",new Set),A(this,"movedSet",new Set),A(this,"droppedSet",new Set),A(this,"removesSubTreeCache",new Set),A(this,"mutationCb"),A(this,"blockClass"),A(this,"blockSelector"),A(this,"maskTextClass"),A(this,"maskTextSelector"),A(this,"inlineStylesheet"),A(this,"maskInputOptions"),A(this,"maskTextFn"),A(this,"maskInputFn"),A(this,"keepIframeSrcFn"),A(this,"recordCanvas"),A(this,"inlineImages"),A(this,"slimDOMOptions"),A(this,"dataURLOptions"),A(this,"doc"),A(this,"mirror"),A(this,"iframeManager"),A(this,"stylesheetManager"),A(this,"shadowDomManager"),A(this,"canvasManager"),A(this,"processedNodeManager"),A(this,"unattachedDoc"),A(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),A(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],s=new Set,i=new Br,r=o=>{let h=o,n=ze;for(;n===ze;)h=h&&h.nextSibling,n=h&&this.mirror.getId(h);return n},u=o=>{let h=P.parentNode(o);if(!h||!Sn(o))return;let n=!1;if(o.nodeType===Node.TEXT_NODE){let m=h.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(h)&&(n=!0)}let d=Ue(h)?this.mirror.getId(vn(o)):this.mirror.getId(h),l=r(o);if(d===-1||l===-1)return i.addNode(o);let a=ke(o,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{wn(m,this.mirror)&&this.iframeManager.addIframe(m),bn(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ur(o)&&this.shadowDomManager.addShadowRoot(P.shadowRoot(o),this.doc)},onIframeLoad:(m,c)=>{this.iframeManager.attachIframe(m,c),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,c)=>{this.stylesheetManager.attachLinkElement(m,c)},cssCaptured:n});a&&(t.push({parentId:d,nextId:l,node:a}),s.add(a.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let o of this.movedSet)Ai(this.removesSubTreeCache,o,this.mirror)&&!this.movedSet.has(P.parentNode(o))||u(o);for(let o of this.addedSet)!Di(this.droppedSet,o)&&!Ai(this.removesSubTreeCache,o,this.mirror)||Di(this.movedSet,o)?u(o):this.droppedSet.add(o);let f=null;for(;i.length;){let o=null;if(f){let h=this.mirror.getId(P.parentNode(f.value)),n=r(f.value);h!==-1&&n!==-1&&(o=f)}if(!o){let h=i.tail;for(;h;){let n=h;if(h=h.previous,n){let d=this.mirror.getId(P.parentNode(n.value));if(r(n.value)===-1)continue;if(d!==-1){o=n;break}else{let a=n.value,m=P.parentNode(a);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let c=P.host(m);if(this.mirror.getId(c)!==-1){o=n;break}}}}}}if(!o){for(;i.head;)i.removeNode(i.head.value);break}f=o.previous,i.removeNode(o.value),u(o.value)}let p={texts:this.texts.map(o=>{let h=o.node,n=P.parentNode(h);return n&&n.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(n),{id:this.mirror.getId(h),value:o.value}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),attributes:this.attributes.map(o=>{let{attributes:h}=o;if(typeof h.style=="string"){let n=JSON.stringify(o.styleDiff),d=JSON.stringify(o._unchangedStyles);n.length<h.style.length&&(n+d).split("var(").length===h.style.split("var(").length&&(h.style=o.styleDiff)}return{id:this.mirror.getId(o.node),attributes:h}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),removes:this.removes,adds:t};!p.texts.length&&!p.attributes.length&&!p.removes.length&&!p.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(p))}),A(this,"genTextAreaValueMutation",t=>{let s=this.attributeMap.get(t);s||(s={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(t,s));let i=Array.from(P.childNodes(t),r=>P.textContent(r)||"").join("");s.attributes.value=nt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:ot(t),value:i,maskInputFn:this.maskInputFn})}),A(this,"processMutation",t=>{if(!_r(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let s=P.textContent(t.target);!ae(t.target,this.blockClass,this.blockSelector,!1)&&s!==t.oldValue&&this.texts.push({value:Hi(t.target,this.maskTextClass,this.maskTextSelector,!0)&&s?this.maskTextFn?this.maskTextFn(s,gn(t.target)):s.replace(/[\S]/g,"*"):s,node:t.target});break}case"attributes":{let s=t.target,i=Ce(s.tagName),r=t.attributeName,u=t.target.getAttribute(r);if(r==="value"){let p=ot(s);u=nt({element:s,maskInputOptions:this.maskInputOptions,tagName:s.tagName,type:p,value:u,maskInputFn:this.maskInputFn})}if(ae(t.target,this.blockClass,this.blockSelector,!1)||u===t.oldValue)return;let f=this.attributeMap.get(t.target);if(i==="iframe"&&r==="src"&&!this.keepIframeSrcFn(u))if(!s.contentDocument)r="rr_src";else return;if(f||(f={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(f),this.attributeMap.set(t.target,f)),r==="type"&&i==="input"&&(t.oldValue||"").toLowerCase()==="password"&&s.setAttribute("data-rr-is-password","true"),!Gi(i,r))if(f.attributes[r]=qi(this.doc,i,Ce(r),u),r==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let p=this.unattachedDoc.createElement("span");t.oldValue&&p.setAttribute("style",t.oldValue);for(let o of Array.from(s.style)){let h=s.style.getPropertyValue(o),n=s.style.getPropertyPriority(o);h!==p.style.getPropertyValue(o)||n!==p.style.getPropertyPriority(o)?n===""?f.styleDiff[o]=h:f.styleDiff[o]=[h,n]:f._unchangedStyles[o]=[h,n]}for(let o of Array.from(p.style))s.style.getPropertyValue(o)===""&&(f.styleDiff[o]=!1)}else r==="open"&&s.tagName==="DIALOG"&&(s.matches("dialog:modal")?f.attributes.rr_open_mode="modal":f.attributes.rr_open_mode="non-modal");break}case"childList":{if(ae(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(s=>this.genAdds(s,t.target)),t.removedNodes.forEach(s=>{let i=this.mirror.getId(s),r=Ue(t.target)?this.mirror.getId(P.host(t.target)):this.mirror.getId(t.target);ae(t.target,this.blockClass,this.blockSelector,!1)||_r(s,this.mirror,this.slimDOMOptions)||!Ea(s,this.mirror)||(this.addedSet.has(s)?(Wr(this.addedSet,s),this.droppedSet.add(s)):this.addedSet.has(t.target)&&i===-1||yn(t.target,this.mirror)||(this.movedSet.has(s)&&this.movedMap[Ii(i,r)]?Wr(this.movedSet,s):(this.removes.push({parentId:r,id:i,isShadow:Ue(t.target)&&$e(t.target)?!0:void 0}),Oa(s,this.removesSubTreeCache))),this.mapRemoves.push(s))});break}}}),A(this,"genAdds",(t,s)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(_r(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let i=null;s&&this.mirror.hasNode(s)&&(i=this.mirror.getId(s)),i&&i!==-1&&(this.movedMap[Ii(this.mirror.getId(t),i)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ae(t,this.blockClass,this.blockSelector,!1)||(P.childNodes(t).forEach(i=>this.genAdds(i)),Ur(t)&&P.childNodes(P.shadowRoot(t)).forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(s=>{this[s]=t[s]})}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 Wr(e,t){e.delete(t),P.childNodes(t).forEach(s=>Wr(e,s))}function Oa(e,t){let s=[e];for(;s.length;){let i=s.pop();t.has(i)||(t.add(i),P.childNodes(i).forEach(r=>s.push(r)))}}function Ai(e,t,s){return e.size===0?!1:Ia(e,t)}function Ia(e,t,s){let i=P.parentNode(t);return i?e.has(i):!1}function Di(e,t){return e.size===0?!1:xn(e,t)}function xn(e,t){let s=P.parentNode(t);return s?e.has(s)?!0:xn(e,s):!1}var Be;function Aa(e){Be=e}function Da(){Be=void 0}var B=e=>Be?(...s)=>{try{return e(...s)}catch(i){if(Be&&Be(i)===!0)return;throw i}}:e,Ee=[];function Ge(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function En(e,t){let s=new zr;Ee.push(s),s.init(e);let[i,r]=hn(),u=new i(B(s.processMutations.bind(s)));return u.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[u,r]}function Ta({mousemoveCb:e,sampling:t,doc:s,mirror:i}){if(t.mousemove===!1)return()=>{};let r=typeof t.mousemove=="number"?t.mousemove:50,u=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,f=[],p,o=je(B(d=>{let l=Date.now()-p;e(f.map(a=>(a.timeOffset-=l,a)),d),f=[],p=null}),u),h=B(je(B(d=>{let l=Ge(d),{clientX:a,clientY:m}=Fr(d)?d.changedTouches[0]:d;p||(p=We()),f.push({x:a,y:m,id:i.getId(l),timeOffset:We()-p}),o(typeof DragEvent<"u"&&d instanceof DragEvent?$.Drag:d instanceof MouseEvent?$.MouseMove:$.TouchMove)}),r,{trailing:!1})),n=[oe("mousemove",h,s),oe("touchmove",h,s),oe("drag",h,s)];return B(()=>{n.forEach(d=>d())})}function _a({mouseInteractionCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){if(u.mouseInteraction===!1)return()=>{};let f=u.mouseInteraction===!0||u.mouseInteraction===void 0?{}:u.mouseInteraction,p=[],o=null,h=n=>d=>{let l=Ge(d);if(ae(l,i,r,!0))return;let a=null,m=n;if("pointerType"in d){switch(d.pointerType){case"mouse":a=ye.Mouse;break;case"touch":a=ye.Touch;break;case"pen":a=ye.Pen;break}a===ye.Touch?ce[n]===ce.MouseDown?m="TouchStart":ce[n]===ce.MouseUp&&(m="TouchEnd"):ye.Pen}else Fr(d)&&(a=ye.Touch);a!==null?(o=a,(m.startsWith("Touch")&&a===ye.Touch||m.startsWith("Mouse")&&a===ye.Mouse)&&(a=null)):ce[n]===ce.Click&&(a=o,o=null);let c=Fr(d)?d.changedTouches[0]:d;if(!c)return;let g=s.getId(l),{clientX:S,clientY:b}=c;B(e)({type:ce[m],id:g,x:S,y:b,...a!==null&&{pointerType:a}})};return Object.keys(ce).filter(n=>Number.isNaN(Number(n))&&!n.endsWith("_Departed")&&f[n]!==!1).forEach(n=>{let d=Ce(n),l=h(n);if(window.PointerEvent)switch(ce[n]){case ce.MouseDown:case ce.MouseUp:d=d.replace("mouse","pointer");break;case ce.TouchStart:case ce.TouchEnd:return}p.push(oe(d,l,t))}),B(()=>{p.forEach(n=>n())})}function Mn({scrollCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){let f=B(je(B(p=>{let o=Ge(p);if(!o||ae(o,i,r,!0))return;let h=s.getId(o);if(o===t&&t.defaultView){let n=dn(t.defaultView);e({id:h,x:n.left,y:n.top})}else e({id:h,x:o.scrollLeft,y:o.scrollTop})}),u.scroll||100));return oe("scroll",f,t)}function ka({viewportResizeCb:e},{win:t}){let s=-1,i=-1,r=B(je(B(()=>{let u=pn(),f=mn();(s!==u||i!==f)&&(e({width:Number(f),height:Number(u)}),s=u,i=f)}),200));return oe("resize",r,t)}var La=["INPUT","TEXTAREA","SELECT"],Ti=new WeakMap;function Pa({inputCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,ignoreClass:u,ignoreSelector:f,maskInputOptions:p,maskInputFn:o,sampling:h,userTriggeredOnInput:n}){function d(b){let v=Ge(b),E=b.isTrusted,w=v&&v.tagName;if(v&&w==="OPTION"&&(v=P.parentElement(v)),!v||!w||La.indexOf(w)<0||ae(v,i,r,!0)||v.classList.contains(u)||f&&v.matches(f))return;let y=v.value,x=!1,R=ot(v)||"";R==="radio"||R==="checkbox"?x=v.checked:(p[w.toLowerCase()]||p[R])&&(y=nt({element:v,maskInputOptions:p,tagName:w,type:R,value:y,maskInputFn:o})),l(v,n?{text:y,isChecked:x,userTriggered:E}:{text:y,isChecked:x});let M=v.name;R==="radio"&&M&&x&&t.querySelectorAll(`input[type="radio"][name="${M}"]`).forEach(C=>{if(C!==v){let I=C.value;l(C,n?{text:I,isChecked:!x,userTriggered:!1}:{text:I,isChecked:!x})}})}function l(b,v){let E=Ti.get(b);if(!E||E.text!==v.text||E.isChecked!==v.isChecked){Ti.set(b,v);let w=s.getId(b);B(e)({...v,id:w})}}let m=(h.input==="last"?["change"]:["input","change"]).map(b=>oe(b,B(d),t)),c=t.defaultView;if(!c)return()=>{m.forEach(b=>b())};let g=c.Object.getOwnPropertyDescriptor(c.HTMLInputElement.prototype,"value"),S=[[c.HTMLInputElement.prototype,"value"],[c.HTMLInputElement.prototype,"checked"],[c.HTMLSelectElement.prototype,"value"],[c.HTMLTextAreaElement.prototype,"value"],[c.HTMLSelectElement.prototype,"selectedIndex"],[c.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...S.map(b=>Ct(b[0],b[1],{set(){B(d)({target:this,isTrusted:!1})}},!1,c))),B(()=>{m.forEach(b=>b())})}function ut(e){let t=[];function s(i,r){if(et("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||et("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||et("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||et("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){let f=Array.from(i.parentRule.cssRules).indexOf(i);return r.unshift(f),s(i.parentRule,r)}else if(i.parentStyleSheet){let f=Array.from(i.parentStyleSheet.cssRules).indexOf(i);r.unshift(f)}return r}return s(e,t)}function Se(e,t,s){let i,r;return e?(e.ownerNode?i=t.getId(e.ownerNode):r=s.getId(e),{styleId:r,id:i}):{}}function Fa({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};let r=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(r,{apply:B((n,d,l)=>{let[a,m]=l,{id:c,styleId:g}=Se(d,t,s.styleMirror);return(c&&c!==-1||g&&g!==-1)&&e({id:c,styleId:g,adds:[{rule:a,index:m}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.addRule=function(n,d,l=this.cssRules.length){let a=`${n} { ${d} }`;return i.CSSStyleSheet.prototype.insertRule.apply(this,[a,l])};let u=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(u,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,removes:[{index:a}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.removeRule=function(n){return i.CSSStyleSheet.prototype.deleteRule.apply(this,[n])};let f;i.CSSStyleSheet.prototype.replace&&(f=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(f,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,replace:a}),n.apply(d,l)})}));let p;i.CSSStyleSheet.prototype.replaceSync&&(p=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(p,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:c}=Se(d,t,s.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,replaceSync:a}),n.apply(d,l)})}));let o={};tt("CSSGroupingRule")?o.CSSGroupingRule=i.CSSGroupingRule:(tt("CSSMediaRule")&&(o.CSSMediaRule=i.CSSMediaRule),tt("CSSConditionRule")&&(o.CSSConditionRule=i.CSSConditionRule),tt("CSSSupportsRule")&&(o.CSSSupportsRule=i.CSSSupportsRule));let h={};return Object.entries(o).forEach(([n,d])=>{h[n]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(h[n].insertRule,{apply:B((l,a,m)=>{let[c,g]=m,{id:S,styleId:b}=Se(a.parentStyleSheet,t,s.styleMirror);return(S&&S!==-1||b&&b!==-1)&&e({id:S,styleId:b,adds:[{rule:c,index:[...ut(a),g||0]}]}),l.apply(a,m)})}),d.prototype.deleteRule=new Proxy(h[n].deleteRule,{apply:B((l,a,m)=>{let[c]=m,{id:g,styleId:S}=Se(a.parentStyleSheet,t,s.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,removes:[{index:[...ut(a),c]}]}),l.apply(a,m)})})}),B(()=>{i.CSSStyleSheet.prototype.insertRule=r,i.CSSStyleSheet.prototype.deleteRule=u,f&&(i.CSSStyleSheet.prototype.replace=f),p&&(i.CSSStyleSheet.prototype.replaceSync=p),Object.entries(o).forEach(([n,d])=>{d.prototype.insertRule=h[n].insertRule,d.prototype.deleteRule=h[n].deleteRule})})}function Rn({mirror:e,stylesheetManager:t},s){var i,r,u;let f=null;s.nodeName==="#document"?f=e.getId(s):f=e.getId(P.host(s));let p=s.nodeName==="#document"?(i=s.defaultView)==null?void 0:i.Document:(u=(r=s.ownerDocument)==null?void 0:r.defaultView)==null?void 0:u.ShadowRoot,o=p?.prototype?Object.getOwnPropertyDescriptor(p?.prototype,"adoptedStyleSheets"):void 0;return f===null||f===-1||!p||!o?()=>{}:(Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get(){var h;return(h=o.get)==null?void 0:h.call(this)},set(h){var n;let d=(n=o.set)==null?void 0:n.call(this,h);if(f!==null&&f!==-1)try{t.adoptStyleSheets(h,f)}catch{}return d}}),B(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get:o.get,set:o.set})}))}function Ua({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:i},{win:r}){let u=r.CSSStyleDeclaration.prototype.setProperty;r.CSSStyleDeclaration.prototype.setProperty=new Proxy(u,{apply:B((p,o,h)=>{var n;let[d,l,a]=h;if(s.has(d))return u.apply(o,[d,l,a]);let{id:m,styleId:c}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(m&&m!==-1||c&&c!==-1)&&e({id:m,styleId:c,set:{property:d,value:l,priority:a},index:ut(o.parentRule)}),p.apply(o,h)})});let f=r.CSSStyleDeclaration.prototype.removeProperty;return r.CSSStyleDeclaration.prototype.removeProperty=new Proxy(f,{apply:B((p,o,h)=>{var n;let[d]=h;if(s.has(d))return f.apply(o,[d]);let{id:l,styleId:a}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(l&&l!==-1||a&&a!==-1)&&e({id:l,styleId:a,remove:{property:d},index:ut(o.parentRule)}),p.apply(o,h)})}),B(()=>{r.CSSStyleDeclaration.prototype.setProperty=u,r.CSSStyleDeclaration.prototype.removeProperty=f})}function $a({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:i,sampling:r,doc:u}){let f=B(o=>je(B(h=>{let n=Ge(h);if(!n||ae(n,t,s,!0))return;let{currentTime:d,volume:l,muted:a,playbackRate:m,loop:c}=n;e({type:o,id:i.getId(n),currentTime:d,volume:l,muted:a,playbackRate:m,loop:c})}),r.media||500)),p=[oe("play",f(Te.Play),u),oe("pause",f(Te.Pause),u),oe("seeked",f(Te.Seeked),u),oe("volumechange",f(Te.VolumeChange),u),oe("ratechange",f(Te.RateChange),u)];return B(()=>{p.forEach(o=>o())})}function Ba({fontCb:e,doc:t}){let s=t.defaultView;if(!s)return()=>{};let i=[],r=new WeakMap,u=s.FontFace;s.FontFace=function(o,h,n){let d=new u(o,h,n);return r.set(d,{family:o,buffer:typeof h!="string",descriptors:n,fontSource:typeof h=="string"?h:JSON.stringify(Array.from(new Uint8Array(h)))}),d};let f=Ne(t.fonts,"add",function(p){return function(o){return setTimeout(B(()=>{let h=r.get(o);h&&(e(h),r.delete(o))}),0),p.apply(this,[o])}});return i.push(()=>{s.FontFace=u}),i.push(f),B(()=>{i.forEach(p=>p())})}function za(e){let{doc:t,mirror:s,blockClass:i,blockSelector:r,selectionCb:u}=e,f=!0,p=B(()=>{let o=t.getSelection();if(!o||f&&o?.isCollapsed)return;f=o.isCollapsed||!1;let h=[],n=o.rangeCount||0;for(let d=0;d<n;d++){let l=o.getRangeAt(d),{startContainer:a,startOffset:m,endContainer:c,endOffset:g}=l;ae(a,i,r,!0)||ae(c,i,r,!0)||h.push({start:s.getId(a),startOffset:m,end:s.getId(c),endOffset:g})}u({ranges:h})});return p(),oe("selectionchange",p)}function Wa({doc:e,customElementCb:t}){let s=e.defaultView;return!s||!s.customElements?()=>{}:Ne(s.customElements,"define",function(r){return function(u,f,p){try{t({define:{name:u}})}catch{console.warn(`Custom element callback failed for ${u}`)}return r.apply(this,[u,f,p])}})}function ja(e,t){let{mutationCb:s,mousemoveCb:i,mouseInteractionCb:r,scrollCb:u,viewportResizeCb:f,inputCb:p,mediaInteractionCb:o,styleSheetRuleCb:h,styleDeclarationCb:n,canvasMutationCb:d,fontCb:l,selectionCb:a,customElementCb:m}=e;e.mutationCb=(...c)=>{t.mutation&&t.mutation(...c),s(...c)},e.mousemoveCb=(...c)=>{t.mousemove&&t.mousemove(...c),i(...c)},e.mouseInteractionCb=(...c)=>{t.mouseInteraction&&t.mouseInteraction(...c),r(...c)},e.scrollCb=(...c)=>{t.scroll&&t.scroll(...c),u(...c)},e.viewportResizeCb=(...c)=>{t.viewportResize&&t.viewportResize(...c),f(...c)},e.inputCb=(...c)=>{t.input&&t.input(...c),p(...c)},e.mediaInteractionCb=(...c)=>{t.mediaInteaction&&t.mediaInteaction(...c),o(...c)},e.styleSheetRuleCb=(...c)=>{t.styleSheetRule&&t.styleSheetRule(...c),h(...c)},e.styleDeclarationCb=(...c)=>{t.styleDeclaration&&t.styleDeclaration(...c),n(...c)},e.canvasMutationCb=(...c)=>{t.canvasMutation&&t.canvasMutation(...c),d(...c)},e.fontCb=(...c)=>{t.font&&t.font(...c),l(...c)},e.selectionCb=(...c)=>{t.selection&&t.selection(...c),a(...c)},e.customElementCb=(...c)=>{t.customElement&&t.customElement(...c),m(...c)}}function Va(e,t={}){let s=e.doc.defaultView;if(!s)return()=>{};ja(e,t);let i,r=()=>{};e.recordDOM&&([i,r]=En(e,e.doc));let u=Ta(e),f=_a(e),p=Mn(e),o=ka(e,{win:s}),h=Pa(e),n=$a(e),d=()=>{},l=()=>{},a=()=>{},m=()=>{};e.recordDOM&&(d=Fa(e,{win:s}),l=Rn(e,e.doc),a=Ua(e,{win:s}),e.collectFonts&&(m=Ba(e)));let c=za(e),g=Wa(e),S=[];for(let b of e.plugins)S.push(b.observer(b.callback,s,b.options));return B(()=>{Ee.forEach(b=>b.reset()),i?.disconnect(),r(),u(),f(),p(),o(),h(),n(),d(),l(),a(),m(),c(),g(),S.forEach(b=>b())})}function et(e){return typeof window[e]<"u"}function tt(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var ct=class{constructor(t){A(this,"iframeIdToRemoteIdMap",new WeakMap),A(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,s,i,r){let u=i||this.getIdToRemoteIdMap(t),f=r||this.getRemoteIdToIdMap(t),p=u.get(s);return p||(p=this.generateIdFn(),u.set(s,p),f.set(p,s)),p}getIds(t,s){let i=this.getIdToRemoteIdMap(t),r=this.getRemoteIdToIdMap(t);return s.map(u=>this.getId(t,u,i,r))}getRemoteId(t,s,i){let r=i||this.getRemoteIdToIdMap(t);if(typeof s!="number")return s;let u=r.get(s);return u||-1}getRemoteIds(t,s){let i=this.getRemoteIdToIdMap(t);return s.map(r=>this.getRemoteId(t,r,i))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let s=this.iframeIdToRemoteIdMap.get(t);return s||(s=new Map,this.iframeIdToRemoteIdMap.set(t,s)),s}getRemoteIdToIdMap(t){let s=this.iframeRemoteIdToIdMap.get(t);return s||(s=new Map,this.iframeRemoteIdToIdMap.set(t,s)),s}},jr=class{constructor(t){A(this,"iframes",new WeakMap),A(this,"crossOriginIframeMap",new WeakMap),A(this,"crossOriginIframeMirror",new ct(Vi)),A(this,"crossOriginIframeStyleMirror"),A(this,"crossOriginIframeRootIdMap",new WeakMap),A(this,"mirror"),A(this,"mutationCb"),A(this,"wrappedEmit"),A(this,"loadListener"),A(this,"stylesheetManager"),A(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ct(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,s){var i,r;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:s}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((i=t.contentWindow)==null||i.addEventListener("message",this.handleMessage.bind(this))),(r=this.loadListener)==null||r.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let s=t;if(s.data.type!=="rrweb"||s.origin!==s.data.origin||!t.source)return;let r=this.crossOriginIframeMap.get(t.source);if(!r)return;let u=this.transformCrossOriginEvent(r,s.data.event);u&&this.wrappedEmit(u,s.data.isCheckout)}transformCrossOriginEvent(t,s){var i;switch(s.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(s.data.node,t);let r=s.data.node.id;return this.crossOriginIframeRootIdMap.set(t,r),this.patchRootIdOnNode(s.data.node,r),{timestamp:s.timestamp,type:W.IncrementalSnapshot,data:{source:$.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:s.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return s;case W.Custom:return this.replaceIds(s.data.payload,t,["id","parentId","previousId","nextId"]),s;case W.IncrementalSnapshot:switch(s.data.source){case $.Mutation:return s.data.adds.forEach(r=>{this.replaceIds(r,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(r.node,t);let u=this.crossOriginIframeRootIdMap.get(t);u&&this.patchRootIdOnNode(r.node,u)}),s.data.removes.forEach(r=>{this.replaceIds(r,t,["parentId","id"])}),s.data.attributes.forEach(r=>{this.replaceIds(r,t,["id"])}),s.data.texts.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.Drag:case $.TouchMove:case $.MouseMove:return s.data.positions.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.ViewportResize:return!1;case $.MediaInteraction:case $.MouseInteraction:case $.Scroll:case $.CanvasMutation:case $.Input:return this.replaceIds(s.data,t,["id"]),s;case $.StyleSheetRule:case $.StyleDeclaration:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleId"]),s;case $.Font:return s;case $.Selection:return s.data.ranges.forEach(r=>{this.replaceIds(r,t,["start","end"])}),s;case $.AdoptedStyleSheet:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleIds"]),(i=s.data.styles)==null||i.forEach(r=>{this.replaceStyleIds(r,t,["styleId"])}),s}}return!1}replace(t,s,i,r){for(let u of r)!Array.isArray(s[u])&&typeof s[u]!="number"||(Array.isArray(s[u])?s[u]=t.getIds(i,s[u]):s[u]=t.getId(i,s[u]));return s}replaceIds(t,s,i){return this.replace(this.crossOriginIframeMirror,t,s,i)}replaceStyleIds(t,s,i){return this.replace(this.crossOriginIframeStyleMirror,t,s,i)}replaceIdOnNode(t,s){this.replaceIds(t,s,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(i=>{this.replaceIdOnNode(i,s)})}patchRootIdOnNode(t,s){t.type!==Cn.Document&&!t.rootId&&(t.rootId=s),"childNodes"in t&&t.childNodes.forEach(i=>{this.patchRootIdOnNode(i,s)})}},Vr=class{constructor(t){A(this,"shadowDoms",new WeakSet),A(this,"mutationCb"),A(this,"scrollCb"),A(this,"bypassOptions"),A(this,"mirror"),A(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,s){if(!$e(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[i]=En({...this.bypassOptions,doc:s,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(Mn({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(P.host(t))),this.restoreHandlers.push(Rn({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,s){let i=this;this.restoreHandlers.push(Ne(t.prototype,"attachShadow",function(r){return function(u){let f=r.call(this,u),p=P.shadowRoot(this);return p&&Sn(this)&&i.addShadowRoot(p,s),f}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",qa=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Fe=0;Fe<Le.length;Fe++)qa[Le.charCodeAt(Fe)]=Fe;var Fe,Ga=function(e){var t=new Uint8Array(e),s,i=t.length,r="";for(s=0;s<i;s+=3)r+=Le[t[s]>>2],r+=Le[(t[s]&3)<<4|t[s+1]>>4],r+=Le[(t[s+1]&15)<<2|t[s+2]>>6],r+=Le[t[s+2]&63];return i%3===2?r=r.substring(0,r.length-1)+"=":i%3===1&&(r=r.substring(0,r.length-2)+"=="),r};var _i=new Map;function Ha(e,t){let s=_i.get(e);return s||(s=new Map,_i.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}var Nn=(e,t,s)=>{if(!e||!(In(e,t)||typeof e=="object"))return;let i=e.constructor.name,r=Ha(s,i),u=r.indexOf(e);return u===-1&&(u=r.length,r.push(e)),u};function rt(e,t,s){if(e instanceof Array)return e.map(i=>rt(i,t,s));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let i=e.constructor.name,r=Ga(e);return{rr_type:i,base64:r}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[rt(e.buffer,t,s),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let i=e.constructor.name,{src:r}=e;return{rr_type:i,src:r}}else if(e instanceof HTMLCanvasElement){let i="HTMLImageElement",r=e.toDataURL();return{rr_type:i,src:r}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[rt(e.data,t,s),e.width,e.height]};if(In(e,t)||typeof e=="object"){let i=e.constructor.name,r=Nn(e,t,s);return{rr_type:i,index:r}}}}return e}var On=(e,t,s)=>e.map(i=>rt(i,t,s)),In=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(r=>typeof t[r]=="function").find(r=>e instanceof t[r]);function Ya(e,t,s,i){let r=[],u=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let f of u)try{if(typeof t.CanvasRenderingContext2D.prototype[f]!="function")continue;let p=Ne(t.CanvasRenderingContext2D.prototype,f,function(o){return function(...h){return ae(this.canvas,s,i,!0)||setTimeout(()=>{let n=On(h,t,this);e(this.canvas,{type:Pe["2D"],property:f,args:n})},0),o.apply(this,h)}});r.push(p)}catch{let p=Ct(t.CanvasRenderingContext2D.prototype,f,{set(o){e(this.canvas,{type:Pe["2D"],property:f,args:[o],setter:!0})}});r.push(p)}return()=>{r.forEach(f=>f())}}function Xa(e){return e==="experimental-webgl"?"webgl":e}function ki(e,t,s,i){let r=[];try{let u=Ne(e.HTMLCanvasElement.prototype,"getContext",function(f){return function(p,...o){if(!ae(this,t,s,!0)){let h=Xa(p);if("__context"in this||(this.__context=h),i&&["webgl","webgl2"].includes(h))if(o[0]&&typeof o[0]=="object"){let n=o[0];n.preserveDrawingBuffer||(n.preserveDrawingBuffer=!0)}else o.splice(0,1,{preserveDrawingBuffer:!0})}return f.apply(this,[p,...o])}});r.push(u)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{r.forEach(u=>u())}}function Li(e,t,s,i,r,u){let f=[],p=Object.getOwnPropertyNames(e);for(let o of p)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(o))try{if(typeof e[o]!="function")continue;let h=Ne(e,o,function(n){return function(...d){let l=n.apply(this,d);if(Nn(l,u,this),"tagName"in this.canvas&&!ae(this.canvas,i,r,!0)){let a=On(d,u,this),m={type:t,property:o,args:a};s(this.canvas,m)}return l}});f.push(h)}catch{let h=Ct(e,o,{set(n){s(this.canvas,{type:t,property:o,args:[n],setter:!0})}});f.push(h)}return f}function Ja(e,t,s,i){let r=[];return typeof t.WebGLRenderingContext<"u"&&r.push(...Li(t.WebGLRenderingContext.prototype,Pe.WebGL,e,s,i,t)),typeof t.WebGL2RenderingContext<"u"&&r.push(...Li(t.WebGL2RenderingContext.prototype,Pe.WebGL2,e,s,i,t)),()=>{r.forEach(u=>u())}}var An=`(function() {53 or you can use record.mirror to access the mirror instance during recording.`,Ni={map:{},getId(){return console.error(De),-1},getNode(){return console.error(De),null},removeNodeFromMap(){console.error(De)},has(){return console.error(De),!1},reset(){console.error(De)}};typeof window<"u"&&window.Proxy&&window.Reflect&&(Ni=new Proxy(Ni,{get(e,t,s){return t==="map"&&console.error(De),Reflect.get(e,t,s)}}));function je(e,t,s={}){let i=null,r=0;return function(...u){let c=Date.now();!r&&s.leading===!1&&(r=c);let p=t-(c-r),o=this;p<=0||p>t?(i&&(clearTimeout(i),i=null),r=c,e.apply(o,u)):!i&&s.trailing!==!1&&(i=setTimeout(()=>{r=s.leading===!1?0:Date.now(),i=null,e.apply(o,u)},p))}}function Ct(e,t,s,i,r=window){let u=r.Object.getOwnPropertyDescriptor(e,t);return r.Object.defineProperty(e,t,i?s:{set(c){setTimeout(()=>{s.set.call(this,c)},0),u&&u.set&&u.set.call(this,c)}}),()=>Ct(e,t,u||{},!0)}function dn(e){var t,s,i,r;let u=e.document;return{left:u.scrollingElement?u.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:u.documentElement.scrollLeft||u?.body&&((t=P.parentElement(u.body))==null?void 0:t.scrollLeft)||((s=u?.body)==null?void 0:s.scrollLeft)||0,top:u.scrollingElement?u.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:u?.documentElement.scrollTop||u?.body&&((i=P.parentElement(u.body))==null?void 0:i.scrollTop)||((r=u?.body)==null?void 0:r.scrollTop)||0}}function pn(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function mn(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function gn(e){return e?e.nodeType===e.ELEMENT_NODE?e:P.parentElement(e):null}function ae(e,t,s,i){if(!e)return!1;let r=gn(e);if(!r)return!1;try{if(typeof t=="string"){if(r.classList.contains(t)||i&&r.closest("."+t)!==null)return!0}else if(lt(r,t,i))return!0}catch{}return!!(s&&(r.matches(s)||i&&r.closest(s)!==null))}function Ma(e,t){return t.getId(e)!==-1}function _r(e,t,s){return e.tagName==="TITLE"&&s.headTitleMutations?!0:t.getId(e)===ze}function yn(e,t){if(Ue(e))return!1;let s=t.getId(e);if(!t.has(s))return!0;let i=P.parentNode(e);return i&&i.nodeType===e.DOCUMENT_NODE?!1:i?yn(i,t):!0}function Fr(e){return!!e.changedTouches}function Ra(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function wn(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function bn(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Ur(e){return e?e instanceof Pr&&"shadowRoot"in e?!!e.shadowRoot:!!P.shadowRoot(e):!1}var $r=class{constructor(){A(this,"id",1),A(this,"styleIDMap",new WeakMap),A(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,s){if(this.has(t))return this.getId(t);let i;return s===void 0?i=this.id++:i=s,this.styleIDMap.set(t,i),this.idStyleMap.set(i,t),i}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function vn(e){var t;let s=null;return"getRootNode"in e&&((t=P.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&P.host(P.getRootNode(e))&&(s=P.host(P.getRootNode(e))),s}function Na(e){let t=e,s;for(;s=vn(t);)t=s;return t}function Oa(e){let t=P.ownerDocument(e);if(!t)return!1;let s=Na(e);return P.contains(t,s)}function Sn(e){let t=P.ownerDocument(e);return t?P.contains(t,e)||Oa(e):!1}var W=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(W||{}),$=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))($||{}),ce=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(ce||{}),ye=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(ye||{}),Pe=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Pe||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{});var Cn=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Cn||{});function Oi(e){return"__ln"in e}var Br=class{constructor(){A(this,"length",0),A(this,"head",null),A(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let s=this.head;for(let i=0;i<t;i++)s=s?.next||null;return s}addNode(t){let s={value:t,previous:null,next:null};if(t.__ln=s,t.previousSibling&&Oi(t.previousSibling)){let i=t.previousSibling.__ln.next;s.next=i,s.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=s,i&&(i.previous=s)}else if(t.nextSibling&&Oi(t.nextSibling)&&t.nextSibling.__ln.previous){let i=t.nextSibling.__ln.previous;s.previous=i,s.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=s,i&&(i.next=s)}else this.head&&(this.head.previous=s),s.next=this.head,this.head=s;s.next===null&&(this.tail=s),this.length++}removeNode(t){let s=t.__ln;this.head&&(s.previous?(s.previous.next=s.next,s.next?s.next.previous=s.previous:this.tail=s.previous):(this.head=s.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Ii=(e,t)=>`${e}@${t}`,zr=class{constructor(){A(this,"frozen",!1),A(this,"locked",!1),A(this,"texts",[]),A(this,"attributes",[]),A(this,"attributeMap",new WeakMap),A(this,"removes",[]),A(this,"mapRemoves",[]),A(this,"movedMap",{}),A(this,"addedSet",new Set),A(this,"movedSet",new Set),A(this,"droppedSet",new Set),A(this,"removesSubTreeCache",new Set),A(this,"mutationCb"),A(this,"blockClass"),A(this,"blockSelector"),A(this,"maskTextClass"),A(this,"maskTextSelector"),A(this,"inlineStylesheet"),A(this,"maskInputOptions"),A(this,"maskTextFn"),A(this,"maskInputFn"),A(this,"keepIframeSrcFn"),A(this,"recordCanvas"),A(this,"inlineImages"),A(this,"slimDOMOptions"),A(this,"dataURLOptions"),A(this,"doc"),A(this,"mirror"),A(this,"iframeManager"),A(this,"stylesheetManager"),A(this,"shadowDomManager"),A(this,"canvasManager"),A(this,"processedNodeManager"),A(this,"unattachedDoc"),A(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),A(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],s=new Set,i=new Br,r=o=>{let h=o,n=ze;for(;n===ze;)h=h&&h.nextSibling,n=h&&this.mirror.getId(h);return n},u=o=>{let h=P.parentNode(o);if(!h||!Sn(o))return;let n=!1;if(o.nodeType===Node.TEXT_NODE){let m=h.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(h)&&(n=!0)}let d=Ue(h)?this.mirror.getId(vn(o)):this.mirror.getId(h),l=r(o);if(d===-1||l===-1)return i.addNode(o);let a=ke(o,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{wn(m,this.mirror)&&this.iframeManager.addIframe(m),bn(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ur(o)&&this.shadowDomManager.addShadowRoot(P.shadowRoot(o),this.doc)},onIframeLoad:(m,f)=>{this.iframeManager.attachIframe(m,f),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,f)=>{this.stylesheetManager.attachLinkElement(m,f)},cssCaptured:n});a&&(t.push({parentId:d,nextId:l,node:a}),s.add(a.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let o of this.movedSet)Ai(this.removesSubTreeCache,o,this.mirror)&&!this.movedSet.has(P.parentNode(o))||u(o);for(let o of this.addedSet)!Di(this.droppedSet,o)&&!Ai(this.removesSubTreeCache,o,this.mirror)||Di(this.movedSet,o)?u(o):this.droppedSet.add(o);let c=null;for(;i.length;){let o=null;if(c){let h=this.mirror.getId(P.parentNode(c.value)),n=r(c.value);h!==-1&&n!==-1&&(o=c)}if(!o){let h=i.tail;for(;h;){let n=h;if(h=h.previous,n){let d=this.mirror.getId(P.parentNode(n.value));if(r(n.value)===-1)continue;if(d!==-1){o=n;break}else{let a=n.value,m=P.parentNode(a);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let f=P.host(m);if(this.mirror.getId(f)!==-1){o=n;break}}}}}}if(!o){for(;i.head;)i.removeNode(i.head.value);break}c=o.previous,i.removeNode(o.value),u(o.value)}let p={texts:this.texts.map(o=>{let h=o.node,n=P.parentNode(h);return n&&n.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(n),{id:this.mirror.getId(h),value:o.value}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),attributes:this.attributes.map(o=>{let{attributes:h}=o;if(typeof h.style=="string"){let n=JSON.stringify(o.styleDiff),d=JSON.stringify(o._unchangedStyles);n.length<h.style.length&&(n+d).split("var(").length===h.style.split("var(").length&&(h.style=o.styleDiff)}return{id:this.mirror.getId(o.node),attributes:h}}).filter(o=>!s.has(o.id)).filter(o=>this.mirror.has(o.id)),removes:this.removes,adds:t};!p.texts.length&&!p.attributes.length&&!p.removes.length&&!p.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(p))}),A(this,"genTextAreaValueMutation",t=>{let s=this.attributeMap.get(t);s||(s={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(s),this.attributeMap.set(t,s));let i=Array.from(P.childNodes(t),r=>P.textContent(r)||"").join("");s.attributes.value=nt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:ot(t),value:i,maskInputFn:this.maskInputFn})}),A(this,"processMutation",t=>{if(!_r(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let s=P.textContent(t.target);!ae(t.target,this.blockClass,this.blockSelector,!1)&&s!==t.oldValue&&this.texts.push({value:Hi(t.target,this.maskTextClass,this.maskTextSelector,!0)&&s?this.maskTextFn?this.maskTextFn(s,gn(t.target)):s.replace(/[\S]/g,"*"):s,node:t.target});break}case"attributes":{let s=t.target,i=Ce(s.tagName),r=t.attributeName,u=t.target.getAttribute(r);if(r==="value"){let p=ot(s);u=nt({element:s,maskInputOptions:this.maskInputOptions,tagName:s.tagName,type:p,value:u,maskInputFn:this.maskInputFn})}if(ae(t.target,this.blockClass,this.blockSelector,!1)||u===t.oldValue)return;let c=this.attributeMap.get(t.target);if(i==="iframe"&&r==="src"&&!this.keepIframeSrcFn(u))if(!s.contentDocument)r="rr_src";else return;if(c||(c={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(c),this.attributeMap.set(t.target,c)),r==="type"&&i==="input"&&(t.oldValue||"").toLowerCase()==="password"&&s.setAttribute("data-rr-is-password","true"),!Gi(i,r))if(c.attributes[r]=qi(this.doc,i,Ce(r),u),r==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let p=this.unattachedDoc.createElement("span");t.oldValue&&p.setAttribute("style",t.oldValue);for(let o of Array.from(s.style)){let h=s.style.getPropertyValue(o),n=s.style.getPropertyPriority(o);h!==p.style.getPropertyValue(o)||n!==p.style.getPropertyPriority(o)?n===""?c.styleDiff[o]=h:c.styleDiff[o]=[h,n]:c._unchangedStyles[o]=[h,n]}for(let o of Array.from(p.style))s.style.getPropertyValue(o)===""&&(c.styleDiff[o]=!1)}else r==="open"&&s.tagName==="DIALOG"&&(s.matches("dialog:modal")?c.attributes.rr_open_mode="modal":c.attributes.rr_open_mode="non-modal");break}case"childList":{if(ae(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(s=>this.genAdds(s,t.target)),t.removedNodes.forEach(s=>{let i=this.mirror.getId(s),r=Ue(t.target)?this.mirror.getId(P.host(t.target)):this.mirror.getId(t.target);ae(t.target,this.blockClass,this.blockSelector,!1)||_r(s,this.mirror,this.slimDOMOptions)||!Ma(s,this.mirror)||(this.addedSet.has(s)?(Wr(this.addedSet,s),this.droppedSet.add(s)):this.addedSet.has(t.target)&&i===-1||yn(t.target,this.mirror)||(this.movedSet.has(s)&&this.movedMap[Ii(i,r)]?Wr(this.movedSet,s):(this.removes.push({parentId:r,id:i,isShadow:Ue(t.target)&&$e(t.target)?!0:void 0}),Ia(s,this.removesSubTreeCache))),this.mapRemoves.push(s))});break}}}),A(this,"genAdds",(t,s)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(_r(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let i=null;s&&this.mirror.hasNode(s)&&(i=this.mirror.getId(s)),i&&i!==-1&&(this.movedMap[Ii(this.mirror.getId(t),i)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ae(t,this.blockClass,this.blockSelector,!1)||(P.childNodes(t).forEach(i=>this.genAdds(i)),Ur(t)&&P.childNodes(P.shadowRoot(t)).forEach(i=>{this.processedNodeManager.add(i,this),this.genAdds(i,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(s=>{this[s]=t[s]})}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 Wr(e,t){e.delete(t),P.childNodes(t).forEach(s=>Wr(e,s))}function Ia(e,t){let s=[e];for(;s.length;){let i=s.pop();t.has(i)||(t.add(i),P.childNodes(i).forEach(r=>s.push(r)))}}function Ai(e,t,s){return e.size===0?!1:Aa(e,t)}function Aa(e,t,s){let i=P.parentNode(t);return i?e.has(i):!1}function Di(e,t){return e.size===0?!1:xn(e,t)}function xn(e,t){let s=P.parentNode(t);return s?e.has(s)?!0:xn(e,s):!1}var Be;function Da(e){Be=e}function Ta(){Be=void 0}var B=e=>Be?(...s)=>{try{return e(...s)}catch(i){if(Be&&Be(i)===!0)return;throw i}}:e,Ee=[];function Ge(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function En(e,t){let s=new zr;Ee.push(s),s.init(e);let[i,r]=hn(),u=new i(B(s.processMutations.bind(s)));return u.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[u,r]}function _a({mousemoveCb:e,sampling:t,doc:s,mirror:i}){if(t.mousemove===!1)return()=>{};let r=typeof t.mousemove=="number"?t.mousemove:50,u=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,c=[],p,o=je(B(d=>{let l=Date.now()-p;e(c.map(a=>(a.timeOffset-=l,a)),d),c=[],p=null}),u),h=B(je(B(d=>{let l=Ge(d),{clientX:a,clientY:m}=Fr(d)?d.changedTouches[0]:d;p||(p=We()),c.push({x:a,y:m,id:i.getId(l),timeOffset:We()-p}),o(typeof DragEvent<"u"&&d instanceof DragEvent?$.Drag:d instanceof MouseEvent?$.MouseMove:$.TouchMove)}),r,{trailing:!1})),n=[oe("mousemove",h,s),oe("touchmove",h,s),oe("drag",h,s)];return B(()=>{n.forEach(d=>d())})}function ka({mouseInteractionCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){if(u.mouseInteraction===!1)return()=>{};let c=u.mouseInteraction===!0||u.mouseInteraction===void 0?{}:u.mouseInteraction,p=[],o=null,h=n=>d=>{let l=Ge(d);if(ae(l,i,r,!0))return;let a=null,m=n;if("pointerType"in d){switch(d.pointerType){case"mouse":a=ye.Mouse;break;case"touch":a=ye.Touch;break;case"pen":a=ye.Pen;break}a===ye.Touch?ce[n]===ce.MouseDown?m="TouchStart":ce[n]===ce.MouseUp&&(m="TouchEnd"):ye.Pen}else Fr(d)&&(a=ye.Touch);a!==null?(o=a,(m.startsWith("Touch")&&a===ye.Touch||m.startsWith("Mouse")&&a===ye.Mouse)&&(a=null)):ce[n]===ce.Click&&(a=o,o=null);let f=Fr(d)?d.changedTouches[0]:d;if(!f)return;let g=s.getId(l),{clientX:S,clientY:b}=f;B(e)({type:ce[m],id:g,x:S,y:b,...a!==null&&{pointerType:a}})};return Object.keys(ce).filter(n=>Number.isNaN(Number(n))&&!n.endsWith("_Departed")&&c[n]!==!1).forEach(n=>{let d=Ce(n),l=h(n);if(window.PointerEvent)switch(ce[n]){case ce.MouseDown:case ce.MouseUp:d=d.replace("mouse","pointer");break;case ce.TouchStart:case ce.TouchEnd:return}p.push(oe(d,l,t))}),B(()=>{p.forEach(n=>n())})}function Mn({scrollCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,sampling:u}){let c=B(je(B(p=>{let o=Ge(p);if(!o||ae(o,i,r,!0))return;let h=s.getId(o);if(o===t&&t.defaultView){let n=dn(t.defaultView);e({id:h,x:n.left,y:n.top})}else e({id:h,x:o.scrollLeft,y:o.scrollTop})}),u.scroll||100));return oe("scroll",c,t)}function La({viewportResizeCb:e},{win:t}){let s=-1,i=-1,r=B(je(B(()=>{let u=pn(),c=mn();(s!==u||i!==c)&&(e({width:Number(c),height:Number(u)}),s=u,i=c)}),200));return oe("resize",r,t)}var Pa=["INPUT","TEXTAREA","SELECT"],Ti=new WeakMap;function Fa({inputCb:e,doc:t,mirror:s,blockClass:i,blockSelector:r,ignoreClass:u,ignoreSelector:c,maskInputOptions:p,maskInputFn:o,sampling:h,userTriggeredOnInput:n}){function d(b){let v=Ge(b),E=b.isTrusted,w=v&&v.tagName;if(v&&w==="OPTION"&&(v=P.parentElement(v)),!v||!w||Pa.indexOf(w)<0||ae(v,i,r,!0)||v.classList.contains(u)||c&&v.matches(c))return;let y=v.value,x=!1,R=ot(v)||"";R==="radio"||R==="checkbox"?x=v.checked:(p[w.toLowerCase()]||p[R])&&(y=nt({element:v,maskInputOptions:p,tagName:w,type:R,value:y,maskInputFn:o})),l(v,n?{text:y,isChecked:x,userTriggered:E}:{text:y,isChecked:x});let M=v.name;R==="radio"&&M&&x&&t.querySelectorAll(`input[type="radio"][name="${M}"]`).forEach(C=>{if(C!==v){let I=C.value;l(C,n?{text:I,isChecked:!x,userTriggered:!1}:{text:I,isChecked:!x})}})}function l(b,v){let E=Ti.get(b);if(!E||E.text!==v.text||E.isChecked!==v.isChecked){Ti.set(b,v);let w=s.getId(b);B(e)({...v,id:w})}}let m=(h.input==="last"?["change"]:["input","change"]).map(b=>oe(b,B(d),t)),f=t.defaultView;if(!f)return()=>{m.forEach(b=>b())};let g=f.Object.getOwnPropertyDescriptor(f.HTMLInputElement.prototype,"value"),S=[[f.HTMLInputElement.prototype,"value"],[f.HTMLInputElement.prototype,"checked"],[f.HTMLSelectElement.prototype,"value"],[f.HTMLTextAreaElement.prototype,"value"],[f.HTMLSelectElement.prototype,"selectedIndex"],[f.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...S.map(b=>Ct(b[0],b[1],{set(){B(d)({target:this,isTrusted:!1})}},!1,f))),B(()=>{m.forEach(b=>b())})}function ut(e){let t=[];function s(i,r){if(et("CSSGroupingRule")&&i.parentRule instanceof CSSGroupingRule||et("CSSMediaRule")&&i.parentRule instanceof CSSMediaRule||et("CSSSupportsRule")&&i.parentRule instanceof CSSSupportsRule||et("CSSConditionRule")&&i.parentRule instanceof CSSConditionRule){let c=Array.from(i.parentRule.cssRules).indexOf(i);return r.unshift(c),s(i.parentRule,r)}else if(i.parentStyleSheet){let c=Array.from(i.parentStyleSheet.cssRules).indexOf(i);r.unshift(c)}return r}return s(e,t)}function Se(e,t,s){let i,r;return e?(e.ownerNode?i=t.getId(e.ownerNode):r=s.getId(e),{styleId:r,id:i}):{}}function Ua({styleSheetRuleCb:e,mirror:t,stylesheetManager:s},{win:i}){if(!i.CSSStyleSheet||!i.CSSStyleSheet.prototype)return()=>{};let r=i.CSSStyleSheet.prototype.insertRule;i.CSSStyleSheet.prototype.insertRule=new Proxy(r,{apply:B((n,d,l)=>{let[a,m]=l,{id:f,styleId:g}=Se(d,t,s.styleMirror);return(f&&f!==-1||g&&g!==-1)&&e({id:f,styleId:g,adds:[{rule:a,index:m}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.addRule=function(n,d,l=this.cssRules.length){let a=`${n} { ${d} }`;return i.CSSStyleSheet.prototype.insertRule.apply(this,[a,l])};let u=i.CSSStyleSheet.prototype.deleteRule;i.CSSStyleSheet.prototype.deleteRule=new Proxy(u,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,removes:[{index:a}]}),n.apply(d,l)})}),i.CSSStyleSheet.prototype.removeRule=function(n){return i.CSSStyleSheet.prototype.deleteRule.apply(this,[n])};let c;i.CSSStyleSheet.prototype.replace&&(c=i.CSSStyleSheet.prototype.replace,i.CSSStyleSheet.prototype.replace=new Proxy(c,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,replace:a}),n.apply(d,l)})}));let p;i.CSSStyleSheet.prototype.replaceSync&&(p=i.CSSStyleSheet.prototype.replaceSync,i.CSSStyleSheet.prototype.replaceSync=new Proxy(p,{apply:B((n,d,l)=>{let[a]=l,{id:m,styleId:f}=Se(d,t,s.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,replaceSync:a}),n.apply(d,l)})}));let o={};tt("CSSGroupingRule")?o.CSSGroupingRule=i.CSSGroupingRule:(tt("CSSMediaRule")&&(o.CSSMediaRule=i.CSSMediaRule),tt("CSSConditionRule")&&(o.CSSConditionRule=i.CSSConditionRule),tt("CSSSupportsRule")&&(o.CSSSupportsRule=i.CSSSupportsRule));let h={};return Object.entries(o).forEach(([n,d])=>{h[n]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(h[n].insertRule,{apply:B((l,a,m)=>{let[f,g]=m,{id:S,styleId:b}=Se(a.parentStyleSheet,t,s.styleMirror);return(S&&S!==-1||b&&b!==-1)&&e({id:S,styleId:b,adds:[{rule:f,index:[...ut(a),g||0]}]}),l.apply(a,m)})}),d.prototype.deleteRule=new Proxy(h[n].deleteRule,{apply:B((l,a,m)=>{let[f]=m,{id:g,styleId:S}=Se(a.parentStyleSheet,t,s.styleMirror);return(g&&g!==-1||S&&S!==-1)&&e({id:g,styleId:S,removes:[{index:[...ut(a),f]}]}),l.apply(a,m)})})}),B(()=>{i.CSSStyleSheet.prototype.insertRule=r,i.CSSStyleSheet.prototype.deleteRule=u,c&&(i.CSSStyleSheet.prototype.replace=c),p&&(i.CSSStyleSheet.prototype.replaceSync=p),Object.entries(o).forEach(([n,d])=>{d.prototype.insertRule=h[n].insertRule,d.prototype.deleteRule=h[n].deleteRule})})}function Rn({mirror:e,stylesheetManager:t},s){var i,r,u;let c=null;s.nodeName==="#document"?c=e.getId(s):c=e.getId(P.host(s));let p=s.nodeName==="#document"?(i=s.defaultView)==null?void 0:i.Document:(u=(r=s.ownerDocument)==null?void 0:r.defaultView)==null?void 0:u.ShadowRoot,o=p?.prototype?Object.getOwnPropertyDescriptor(p?.prototype,"adoptedStyleSheets"):void 0;return c===null||c===-1||!p||!o?()=>{}:(Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get(){var h;return(h=o.get)==null?void 0:h.call(this)},set(h){var n;let d=(n=o.set)==null?void 0:n.call(this,h);if(c!==null&&c!==-1)try{t.adoptStyleSheets(h,c)}catch{}return d}}),B(()=>{Object.defineProperty(s,"adoptedStyleSheets",{configurable:o.configurable,enumerable:o.enumerable,get:o.get,set:o.set})}))}function $a({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:s,stylesheetManager:i},{win:r}){let u=r.CSSStyleDeclaration.prototype.setProperty;r.CSSStyleDeclaration.prototype.setProperty=new Proxy(u,{apply:B((p,o,h)=>{var n;let[d,l,a]=h;if(s.has(d))return u.apply(o,[d,l,a]);let{id:m,styleId:f}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(m&&m!==-1||f&&f!==-1)&&e({id:m,styleId:f,set:{property:d,value:l,priority:a},index:ut(o.parentRule)}),p.apply(o,h)})});let c=r.CSSStyleDeclaration.prototype.removeProperty;return r.CSSStyleDeclaration.prototype.removeProperty=new Proxy(c,{apply:B((p,o,h)=>{var n;let[d]=h;if(s.has(d))return c.apply(o,[d]);let{id:l,styleId:a}=Se((n=o.parentRule)==null?void 0:n.parentStyleSheet,t,i.styleMirror);return(l&&l!==-1||a&&a!==-1)&&e({id:l,styleId:a,remove:{property:d},index:ut(o.parentRule)}),p.apply(o,h)})}),B(()=>{r.CSSStyleDeclaration.prototype.setProperty=u,r.CSSStyleDeclaration.prototype.removeProperty=c})}function Ba({mediaInteractionCb:e,blockClass:t,blockSelector:s,mirror:i,sampling:r,doc:u}){let c=B(o=>je(B(h=>{let n=Ge(h);if(!n||ae(n,t,s,!0))return;let{currentTime:d,volume:l,muted:a,playbackRate:m,loop:f}=n;e({type:o,id:i.getId(n),currentTime:d,volume:l,muted:a,playbackRate:m,loop:f})}),r.media||500)),p=[oe("play",c(Te.Play),u),oe("pause",c(Te.Pause),u),oe("seeked",c(Te.Seeked),u),oe("volumechange",c(Te.VolumeChange),u),oe("ratechange",c(Te.RateChange),u)];return B(()=>{p.forEach(o=>o())})}function za({fontCb:e,doc:t}){let s=t.defaultView;if(!s)return()=>{};let i=[],r=new WeakMap,u=s.FontFace;s.FontFace=function(o,h,n){let d=new u(o,h,n);return r.set(d,{family:o,buffer:typeof h!="string",descriptors:n,fontSource:typeof h=="string"?h:JSON.stringify(Array.from(new Uint8Array(h)))}),d};let c=Ne(t.fonts,"add",function(p){return function(o){return setTimeout(B(()=>{let h=r.get(o);h&&(e(h),r.delete(o))}),0),p.apply(this,[o])}});return i.push(()=>{s.FontFace=u}),i.push(c),B(()=>{i.forEach(p=>p())})}function Wa(e){let{doc:t,mirror:s,blockClass:i,blockSelector:r,selectionCb:u}=e,c=!0,p=B(()=>{let o=t.getSelection();if(!o||c&&o?.isCollapsed)return;c=o.isCollapsed||!1;let h=[],n=o.rangeCount||0;for(let d=0;d<n;d++){let l=o.getRangeAt(d),{startContainer:a,startOffset:m,endContainer:f,endOffset:g}=l;ae(a,i,r,!0)||ae(f,i,r,!0)||h.push({start:s.getId(a),startOffset:m,end:s.getId(f),endOffset:g})}u({ranges:h})});return p(),oe("selectionchange",p)}function ja({doc:e,customElementCb:t}){let s=e.defaultView;return!s||!s.customElements?()=>{}:Ne(s.customElements,"define",function(r){return function(u,c,p){try{t({define:{name:u}})}catch{console.warn(`Custom element callback failed for ${u}`)}return r.apply(this,[u,c,p])}})}function Va(e,t){let{mutationCb:s,mousemoveCb:i,mouseInteractionCb:r,scrollCb:u,viewportResizeCb:c,inputCb:p,mediaInteractionCb:o,styleSheetRuleCb:h,styleDeclarationCb:n,canvasMutationCb:d,fontCb:l,selectionCb:a,customElementCb:m}=e;e.mutationCb=(...f)=>{t.mutation&&t.mutation(...f),s(...f)},e.mousemoveCb=(...f)=>{t.mousemove&&t.mousemove(...f),i(...f)},e.mouseInteractionCb=(...f)=>{t.mouseInteraction&&t.mouseInteraction(...f),r(...f)},e.scrollCb=(...f)=>{t.scroll&&t.scroll(...f),u(...f)},e.viewportResizeCb=(...f)=>{t.viewportResize&&t.viewportResize(...f),c(...f)},e.inputCb=(...f)=>{t.input&&t.input(...f),p(...f)},e.mediaInteractionCb=(...f)=>{t.mediaInteaction&&t.mediaInteaction(...f),o(...f)},e.styleSheetRuleCb=(...f)=>{t.styleSheetRule&&t.styleSheetRule(...f),h(...f)},e.styleDeclarationCb=(...f)=>{t.styleDeclaration&&t.styleDeclaration(...f),n(...f)},e.canvasMutationCb=(...f)=>{t.canvasMutation&&t.canvasMutation(...f),d(...f)},e.fontCb=(...f)=>{t.font&&t.font(...f),l(...f)},e.selectionCb=(...f)=>{t.selection&&t.selection(...f),a(...f)},e.customElementCb=(...f)=>{t.customElement&&t.customElement(...f),m(...f)}}function qa(e,t={}){let s=e.doc.defaultView;if(!s)return()=>{};Va(e,t);let i,r=()=>{};e.recordDOM&&([i,r]=En(e,e.doc));let u=_a(e),c=ka(e),p=Mn(e),o=La(e,{win:s}),h=Fa(e),n=Ba(e),d=()=>{},l=()=>{},a=()=>{},m=()=>{};e.recordDOM&&(d=Ua(e,{win:s}),l=Rn(e,e.doc),a=$a(e,{win:s}),e.collectFonts&&(m=za(e)));let f=Wa(e),g=ja(e),S=[];for(let b of e.plugins)S.push(b.observer(b.callback,s,b.options));return B(()=>{Ee.forEach(b=>b.reset()),i?.disconnect(),r(),u(),c(),p(),o(),h(),n(),d(),l(),a(),m(),f(),g(),S.forEach(b=>b())})}function et(e){return typeof window[e]<"u"}function tt(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var ct=class{constructor(t){A(this,"iframeIdToRemoteIdMap",new WeakMap),A(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,s,i,r){let u=i||this.getIdToRemoteIdMap(t),c=r||this.getRemoteIdToIdMap(t),p=u.get(s);return p||(p=this.generateIdFn(),u.set(s,p),c.set(p,s)),p}getIds(t,s){let i=this.getIdToRemoteIdMap(t),r=this.getRemoteIdToIdMap(t);return s.map(u=>this.getId(t,u,i,r))}getRemoteId(t,s,i){let r=i||this.getRemoteIdToIdMap(t);if(typeof s!="number")return s;let u=r.get(s);return u||-1}getRemoteIds(t,s){let i=this.getRemoteIdToIdMap(t);return s.map(r=>this.getRemoteId(t,r,i))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let s=this.iframeIdToRemoteIdMap.get(t);return s||(s=new Map,this.iframeIdToRemoteIdMap.set(t,s)),s}getRemoteIdToIdMap(t){let s=this.iframeRemoteIdToIdMap.get(t);return s||(s=new Map,this.iframeRemoteIdToIdMap.set(t,s)),s}},jr=class{constructor(t){A(this,"iframes",new WeakMap),A(this,"crossOriginIframeMap",new WeakMap),A(this,"crossOriginIframeMirror",new ct(Vi)),A(this,"crossOriginIframeStyleMirror"),A(this,"crossOriginIframeRootIdMap",new WeakMap),A(this,"mirror"),A(this,"mutationCb"),A(this,"wrappedEmit"),A(this,"loadListener"),A(this,"stylesheetManager"),A(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ct(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,s){var i,r;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:s}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((i=t.contentWindow)==null||i.addEventListener("message",this.handleMessage.bind(this))),(r=this.loadListener)==null||r.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let s=t;if(s.data.type!=="rrweb"||s.origin!==s.data.origin||!t.source)return;let r=this.crossOriginIframeMap.get(t.source);if(!r)return;let u=this.transformCrossOriginEvent(r,s.data.event);u&&this.wrappedEmit(u,s.data.isCheckout)}transformCrossOriginEvent(t,s){var i;switch(s.type){case W.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(s.data.node,t);let r=s.data.node.id;return this.crossOriginIframeRootIdMap.set(t,r),this.patchRootIdOnNode(s.data.node,r),{timestamp:s.timestamp,type:W.IncrementalSnapshot,data:{source:$.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:s.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case W.Meta:case W.Load:case W.DomContentLoaded:return!1;case W.Plugin:return s;case W.Custom:return this.replaceIds(s.data.payload,t,["id","parentId","previousId","nextId"]),s;case W.IncrementalSnapshot:switch(s.data.source){case $.Mutation:return s.data.adds.forEach(r=>{this.replaceIds(r,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(r.node,t);let u=this.crossOriginIframeRootIdMap.get(t);u&&this.patchRootIdOnNode(r.node,u)}),s.data.removes.forEach(r=>{this.replaceIds(r,t,["parentId","id"])}),s.data.attributes.forEach(r=>{this.replaceIds(r,t,["id"])}),s.data.texts.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.Drag:case $.TouchMove:case $.MouseMove:return s.data.positions.forEach(r=>{this.replaceIds(r,t,["id"])}),s;case $.ViewportResize:return!1;case $.MediaInteraction:case $.MouseInteraction:case $.Scroll:case $.CanvasMutation:case $.Input:return this.replaceIds(s.data,t,["id"]),s;case $.StyleSheetRule:case $.StyleDeclaration:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleId"]),s;case $.Font:return s;case $.Selection:return s.data.ranges.forEach(r=>{this.replaceIds(r,t,["start","end"])}),s;case $.AdoptedStyleSheet:return this.replaceIds(s.data,t,["id"]),this.replaceStyleIds(s.data,t,["styleIds"]),(i=s.data.styles)==null||i.forEach(r=>{this.replaceStyleIds(r,t,["styleId"])}),s}}return!1}replace(t,s,i,r){for(let u of r)!Array.isArray(s[u])&&typeof s[u]!="number"||(Array.isArray(s[u])?s[u]=t.getIds(i,s[u]):s[u]=t.getId(i,s[u]));return s}replaceIds(t,s,i){return this.replace(this.crossOriginIframeMirror,t,s,i)}replaceStyleIds(t,s,i){return this.replace(this.crossOriginIframeStyleMirror,t,s,i)}replaceIdOnNode(t,s){this.replaceIds(t,s,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(i=>{this.replaceIdOnNode(i,s)})}patchRootIdOnNode(t,s){t.type!==Cn.Document&&!t.rootId&&(t.rootId=s),"childNodes"in t&&t.childNodes.forEach(i=>{this.patchRootIdOnNode(i,s)})}},Vr=class{constructor(t){A(this,"shadowDoms",new WeakSet),A(this,"mutationCb"),A(this,"scrollCb"),A(this,"bypassOptions"),A(this,"mirror"),A(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,s){if(!$e(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[i]=En({...this.bypassOptions,doc:s,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>i.disconnect()),this.restoreHandlers.push(Mn({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId(P.host(t))),this.restoreHandlers.push(Rn({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,s){let i=this;this.restoreHandlers.push(Ne(t.prototype,"attachShadow",function(r){return function(u){let c=r.call(this,u),p=P.shadowRoot(this);return p&&Sn(this)&&i.addShadowRoot(p,s),c}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Le="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ga=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(Fe=0;Fe<Le.length;Fe++)Ga[Le.charCodeAt(Fe)]=Fe;var Fe,Ha=function(e){var t=new Uint8Array(e),s,i=t.length,r="";for(s=0;s<i;s+=3)r+=Le[t[s]>>2],r+=Le[(t[s]&3)<<4|t[s+1]>>4],r+=Le[(t[s+1]&15)<<2|t[s+2]>>6],r+=Le[t[s+2]&63];return i%3===2?r=r.substring(0,r.length-1)+"=":i%3===1&&(r=r.substring(0,r.length-2)+"=="),r};var _i=new Map;function Ya(e,t){let s=_i.get(e);return s||(s=new Map,_i.set(e,s)),s.has(t)||s.set(t,[]),s.get(t)}var Nn=(e,t,s)=>{if(!e||!(In(e,t)||typeof e=="object"))return;let i=e.constructor.name,r=Ya(s,i),u=r.indexOf(e);return u===-1&&(u=r.length,r.push(e)),u};function rt(e,t,s){if(e instanceof Array)return e.map(i=>rt(i,t,s));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let i=e.constructor.name,r=Ha(e);return{rr_type:i,base64:r}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[rt(e.buffer,t,s),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let i=e.constructor.name,{src:r}=e;return{rr_type:i,src:r}}else if(e instanceof HTMLCanvasElement){let i="HTMLImageElement",r=e.toDataURL();return{rr_type:i,src:r}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[rt(e.data,t,s),e.width,e.height]};if(In(e,t)||typeof e=="object"){let i=e.constructor.name,r=Nn(e,t,s);return{rr_type:i,index:r}}}}return e}var On=(e,t,s)=>e.map(i=>rt(i,t,s)),In=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(r=>typeof t[r]=="function").find(r=>e instanceof t[r]);function Xa(e,t,s,i){let r=[],u=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let c of u)try{if(typeof t.CanvasRenderingContext2D.prototype[c]!="function")continue;let p=Ne(t.CanvasRenderingContext2D.prototype,c,function(o){return function(...h){return ae(this.canvas,s,i,!0)||setTimeout(()=>{let n=On(h,t,this);e(this.canvas,{type:Pe["2D"],property:c,args:n})},0),o.apply(this,h)}});r.push(p)}catch{let p=Ct(t.CanvasRenderingContext2D.prototype,c,{set(o){e(this.canvas,{type:Pe["2D"],property:c,args:[o],setter:!0})}});r.push(p)}return()=>{r.forEach(c=>c())}}function Ja(e){return e==="experimental-webgl"?"webgl":e}function ki(e,t,s,i){let r=[];try{let u=Ne(e.HTMLCanvasElement.prototype,"getContext",function(c){return function(p,...o){if(!ae(this,t,s,!0)){let h=Ja(p);if("__context"in this||(this.__context=h),i&&["webgl","webgl2"].includes(h))if(o[0]&&typeof o[0]=="object"){let n=o[0];n.preserveDrawingBuffer||(n.preserveDrawingBuffer=!0)}else o.splice(0,1,{preserveDrawingBuffer:!0})}return c.apply(this,[p,...o])}});r.push(u)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{r.forEach(u=>u())}}function Li(e,t,s,i,r,u){let c=[],p=Object.getOwnPropertyNames(e);for(let o of p)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(o))try{if(typeof e[o]!="function")continue;let h=Ne(e,o,function(n){return function(...d){let l=n.apply(this,d);if(Nn(l,u,this),"tagName"in this.canvas&&!ae(this.canvas,i,r,!0)){let a=On(d,u,this),m={type:t,property:o,args:a};s(this.canvas,m)}return l}});c.push(h)}catch{let h=Ct(e,o,{set(n){s(this.canvas,{type:t,property:o,args:[n],setter:!0})}});c.push(h)}return c}function Qa(e,t,s,i){let r=[];return typeof t.WebGLRenderingContext<"u"&&r.push(...Li(t.WebGLRenderingContext.prototype,Pe.WebGL,e,s,i,t)),typeof t.WebGL2RenderingContext<"u"&&r.push(...Li(t.WebGL2RenderingContext.prototype,Pe.WebGL2,e,s,i,t)),()=>{r.forEach(u=>u())}}var An=`(function() { 54 54 "use strict"; 55 55 var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; … … 126 126 })(); 127 127 //# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map 128 `,Pi=typeof self<"u"&&self.Blob&&new Blob([An],{type:"text/javascript;charset=utf-8"});function Qa(e){let t;try{if(t=Pi&&(self.URL||self.webkitURL).createObjectURL(Pi),!t)throw"";let s=new Worker(t,{name:e?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(An),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var qr=class{constructor(t){A(this,"pendingCanvasMutations",new Map),A(this,"rafStamps",{latestId:0,invokeId:null}),A(this,"mirror"),A(this,"mutationCb"),A(this,"resetObservers"),A(this,"frozen",!1),A(this,"locked",!1),A(this,"processMutation",(o,h)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(o)||this.pendingCanvasMutations.set(o,[]),this.pendingCanvasMutations.get(o).push(h)});let{sampling:s="all",win:i,blockClass:r,blockSelector:u,recordCanvas:f,dataURLOptions:p}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,f&&s==="all"&&this.initCanvasMutationObserver(i,r,u),f&&typeof s=="number"&&this.initCanvasFPSObserver(s,i,r,u,{dataURLOptions:p})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,s,i,r,u){let f=ki(s,i,r,!0),p=new Map,o=new Qa;o.onmessage=m=>{let{id:c}=m.data;if(p.set(c,!1),!("base64"in m.data))return;let{base64:g,type:S,width:b,height:v}=m.data;this.mutationCb({id:c,type:Pe["2D"],commands:[{property:"clearRect",args:[0,0,b,v]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:S}]},0,0]}]})};let h=1e3/t,n=0,d,l=()=>{let m=[];return s.document.querySelectorAll("canvas").forEach(c=>{ae(c,i,r,!0)||m.push(c)}),m},a=m=>{if(n&&m-n<h){d=requestAnimationFrame(a);return}n=m,l().forEach(async c=>{var g;let S=this.mirror.getId(c);if(p.get(S)||c.width===0||c.height===0)return;if(p.set(S,!0),["webgl","webgl2"].includes(c.__context)){let v=c.getContext(c.__context);((g=v?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&v.clear(v.COLOR_BUFFER_BIT)}let b=await createImageBitmap(c);o.postMessage({id:S,bitmap:b,width:c.width,height:c.height,dataURLOptions:u.dataURLOptions},[b])}),d=requestAnimationFrame(a)};d=requestAnimationFrame(a),this.resetObservers=()=>{f(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,s,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let r=ki(t,s,i,!1),u=Ya(this.processMutation.bind(this),t,s,i),f=Ja(this.processMutation.bind(this),t,s,i);this.resetObservers=()=>{r(),u(),f()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=s=>{this.rafStamps.latestId=s,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,s)=>{let i=this.mirror.getId(s);this.flushPendingCanvasMutationFor(s,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,s){if(this.frozen||this.locked)return;let i=this.pendingCanvasMutations.get(t);if(!i||s===-1)return;let r=i.map(f=>{let{type:p,...o}=f;return o}),{type:u}=i[0];this.mutationCb({id:s,type:u,commands:r}),this.pendingCanvasMutations.delete(t)}},Gr=class{constructor(t){A(this,"trackedLinkElements",new WeakSet),A(this,"mutationCb"),A(this,"adoptedStyleSheetCb"),A(this,"styleMirror",new $r),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,s){"_cssText"in s.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:s.id,attributes:s.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,s){if(t.length===0)return;let i={id:s,styleIds:[]},r=[];for(let u of t){let f;this.styleMirror.has(u)?f=this.styleMirror.getId(u):(f=this.styleMirror.add(u),r.push({styleId:f,rules:Array.from(u.rules||CSSRule,(p,o)=>({rule:Wi(p,u.href),index:o}))})),i.styleIds.push(f)}r.length>0&&(i.styles=r),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Hr=class{constructor(){A(this,"nodeMap",new WeakMap),A(this,"active",!1)}inOtherBuffer(t,s){let i=this.nodeMap.get(t);return i&&Array.from(i).some(r=>r!==s)}add(t,s){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(s))}destroy(){}},ee,st,kr,ft=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((ps=e.contentWindow)==null?void 0:ps.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var pe=co();function le(e={}){let{emit:t,checkoutEveryNms:s,checkoutEveryNth:i,blockClass:r="rr-block",blockSelector:u=null,ignoreClass:f="rr-ignore",ignoreSelector:p=null,maskTextClass:o="rr-mask",maskTextSelector:h=null,inlineStylesheet:n=!0,maskAllInputs:d,maskInputOptions:l,slimDOMOptions:a,maskInputFn:m,maskTextFn:c,hooks:g,packFn:S,sampling:b={},dataURLOptions:v={},mousemoveWait:E,recordDOM:w=!0,recordCanvas:y=!1,recordCrossOriginIframes:x=!1,recordAfter:R=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:M=!1,collectFonts:C=!1,inlineImages:I=!1,plugins:_,keepIframeSrcFn:N=()=>!1,ignoreCSSAttributes:ie=new Set([]),errorHandler:ne}=e;Aa(ne);let F=x?window.parent===window:!0,z=!1;if(!F)try{window.parent.document&&(z=!1)}catch{z=!0}if(F&&!t)throw new Error("emit function is required");if(!F&&!z)return()=>{};E!==void 0&&b.mousemove===void 0&&(b.mousemove=E),pe.reset();let 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,password:!0}:l!==void 0?l:{password:!0},J=Yi(a);Ma();let D,T=0,U=L=>{for(let te of _||[])te.eventProcessor&&(L=te.eventProcessor(L));return S&&!z&&(L=S(L)),L};ee=(L,te)=>{var j;let K=L;if(K.timestamp=We(),(j=Ee[0])!=null&&j.isFrozen()&&K.type!==W.FullSnapshot&&!(K.type===W.IncrementalSnapshot&&K.data.source===$.Mutation)&&Ee.forEach(fe=>fe.unfreeze()),F)t?.(U(K),te);else if(z){let fe={type:"rrweb",event:U(K),origin:window.location.origin,isCheckout:te};window.parent.postMessage(fe,"*")}if(K.type===W.FullSnapshot)D=K,T=0;else if(K.type===W.IncrementalSnapshot){if(K.data.source===$.Mutation&&K.data.isAttachIframe)return;T++;let fe=i&&T>=i,V=s&&K.timestamp-D.timestamp>s;(fe||V)&&st(!0)}};let O=L=>{ee({type:W.IncrementalSnapshot,data:{source:$.Mutation,...L}})},G=L=>ee({type:W.IncrementalSnapshot,data:{source:$.Scroll,...L}}),k=L=>ee({type:W.IncrementalSnapshot,data:{source:$.CanvasMutation,...L}}),Q=L=>ee({type:W.IncrementalSnapshot,data:{source:$.AdoptedStyleSheet,...L}}),Z=new Gr({mutationCb:O,adoptedStyleSheetCb:Q}),ue=new jr({mirror:pe,mutationCb:O,stylesheetManager:Z,recordCrossOriginIframes:x,wrappedEmit:ee});for(let L of _||[])L.getMirror&&L.getMirror({nodeMirror:pe,crossOriginIframeMirror:ue.crossOriginIframeMirror,crossOriginIframeStyleMirror:ue.crossOriginIframeStyleMirror});let xe=new Hr;kr=new qr({recordCanvas:y,mutationCb:k,win:window,blockClass:r,blockSelector:u,mirror:pe,sampling:b.canvas,dataURLOptions:v});let ve=new Vr({mutationCb:O,scrollCb:G,bypassOptions:{blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskInputOptions:q,dataURLOptions:v,maskTextFn:c,maskInputFn:m,recordCanvas:y,inlineImages:I,sampling:b,slimDOMOptions:J,iframeManager:ue,stylesheetManager:Z,canvasManager:kr,keepIframeSrcFn:N,processedNodeManager:xe},mirror:pe});st=(L=!1)=>{if(!w)return;ee({type:W.Meta,data:{href:window.location.href,width:mn(),height:pn()}},L),Z.reset(),ve.init(),Ee.forEach(j=>j.lock());let te=Lo(document,{mirror:pe,blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskAllInputs:q,maskTextFn:c,maskInputFn:m,slimDOM:J,dataURLOptions:v,recordCanvas:y,inlineImages:I,onSerialize:j=>{wn(j,pe)&&ue.addIframe(j),bn(j,pe)&&Z.trackLinkElement(j),Ur(j)&&ve.addShadowRoot(P.shadowRoot(j),document)},onIframeLoad:(j,K)=>{ue.attachIframe(j,K),ve.observeAttachShadow(j)},onStylesheetLoad:(j,K)=>{Z.attachLinkElement(j,K)},keepIframeSrcFn:N});if(!te)return console.warn("Failed to snapshot the document");ee({type:W.FullSnapshot,data:{node:te,initialOffset:dn(window)}},L),Ee.forEach(j=>j.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Z.adoptStyleSheets(document.adoptedStyleSheets,pe.getId(document))};try{let L=[],te=K=>{var fe;return B(Va)({mutationCb:O,mousemoveCb:(V,Ot)=>ee({type:W.IncrementalSnapshot,data:{source:Ot,positions:V}}),mouseInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MouseInteraction,...V}}),scrollCb:G,viewportResizeCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.ViewportResize,...V}}),inputCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Input,...V}}),mediaInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MediaInteraction,...V}}),styleSheetRuleCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleSheetRule,...V}}),styleDeclarationCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleDeclaration,...V}}),canvasMutationCb:k,fontCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Font,...V}}),selectionCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.Selection,...V}})},customElementCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.CustomElement,...V}})},blockClass:r,ignoreClass:f,ignoreSelector:p,maskTextClass:o,maskTextSelector:h,maskInputOptions:q,inlineStylesheet:n,sampling:b,recordDOM:w,recordCanvas:y,inlineImages:I,userTriggeredOnInput:M,collectFonts:C,doc:K,maskInputFn:m,maskTextFn:c,keepIframeSrcFn:N,blockSelector:u,slimDOMOptions:J,dataURLOptions:v,mirror:pe,iframeManager:ue,stylesheetManager:Z,shadowDomManager:ve,processedNodeManager:xe,canvasManager:kr,ignoreCSSAttributes:ie,plugins:((fe=_?.filter(V=>V.observer))==null?void 0:fe.map(V=>({observer:V.observer,options:V.options,callback:Ot=>ee({type:W.Plugin,data:{plugin:V.name,payload:Ot}})})))||[]},g)};ue.addLoadListener(K=>{try{L.push(te(K.contentDocument))}catch(fe){console.warn(fe)}});let j=()=>{st(),L.push(te(document)),ft=!0};return["interactive","complete"].includes(document.readyState)?j():(L.push(oe("DOMContentLoaded",()=>{ee({type:W.DomContentLoaded,data:{}}),R==="DOMContentLoaded"&&j()})),L.push(oe("load",()=>{ee({type:W.Load,data:{}}),R==="load"&&j()},window))),()=>{L.forEach(K=>{try{K()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),xe.destroy(),ft=!1,Da()}}catch(L){console.warn(L)}}le.addCustomEvent=(e,t)=>{if(!ft)throw new Error("please add custom event after start recording");ee({type:W.Custom,data:{tag:e,payload:t}})};le.freezePage=()=>{Ee.forEach(e=>e.freeze())};le.takeFullSnapshot=e=>{if(!ft)throw new Error("please take full snapshot after start recording");st(e)};le.mirror=pe;var Fi;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Fi||(Fi={}));var fl=5*1e3;var{addCustomEvent:hl}=le,{freezePage:dl}=le,{takeFullSnapshot:pl}=le;var Za='iframe,frame,canvas,video,audio,img,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block';function Oe(e,t){if(!e||typeof e.nodeType!="number")return!1;let s=r=>{let u=r.getRootNode?.();return u?.nodeType===11?u.host:null},i=e.nodeType===1?e:e.parentElement||s(e);for(;i?.nodeType===1;){if(i.closest(t))return!0;i=s(i)}return!1}function xt(e=""){let t=Za+(e?","+e:""),s=i=>Oe(i,t);return{selector:t,contains:s,event:i=>(i.composedPath?.()||[i.target]).some(s)}}var Dn="data-tw-media",Ka=/^[a-f0-9]{64}$/,Et=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",Mt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain",el='iframe,frame,canvas,video,audio,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block,[data-tw-mask],.rr-mask';function Tn({doc:e,mirror:t,assets:s=[],blockSelector:i="",emit:r}){let u=new Map,f=new Map,p=new Map,o=new Set,h=new Set,n=new Set,d=!1,l=null,a=el+(i?","+i:"");e.querySelector(a);for(let R of Array.isArray(s)?s.slice(0,256):[])if(!(typeof R?.key!="string"||!Ka.test(R.key)||!Array.isArray(R.urls)))for(let M of R.urls.slice(0,8))try{let C=new URL(M,e.location.href);typeof M=="string"&&M.length<=2048&&C.origin===e.location.origin&&!C.search&&!C.hash&&!C.username&&!C.password&&/^https?:$/.test(C.protocol)&&u.set(C.href,R.key)}catch{}if(!u.size)return{attributes(){return{}},stop(){}};function m(R){if(!R?.isConnected||R.tagName!=="IMG"||Oe(R,a))return null;try{let M=new URL(R.currentSrc||R.getAttribute("src")||"",e.location.href),C=!M.search&&!M.hash&&!M.username&&!M.password&&M.origin===e.location.origin&&u.get(M.href)||null;return C&&(n.has(C)||n.size<64)?(n.add(C),C):null}catch{return null}}function c(R,M){if(!Number.isInteger(R)||R<1||M?.tagName!=="IMG"||f.size>=2048&&!f.has(R))return!1;f.set(R,M);let C=M.getRootNode();return C!==e&&C.nodeType===11&&!o.has(C)&&o.size<32&&(o.add(C),x?.observe(C,{subtree:!0,childList:!0,attributes:!0}),C.addEventListener("load",y,!0)),!0}function g(R,M){if(!M)return{[Dn]:null};let C=e.defaultView.getComputedStyle(R);return{[Dn]:M,"data-tw-image-fit":Mt(C.objectFit),"data-tw-image-position":Et(C.objectPosition)}}function S(R,M){if(!c(R,M))return{};let C=m(M),I=g(M,C);return p.set(R,JSON.stringify(I)),C?I:{}}function b(){if(l=null,d)return;let R=[],M=0;for(let C of h){h.delete(C);let I=f.get(C);if(!I)continue;let _=g(I,m(I)),N=JSON.stringify(_);if(p.get(C)!==N&&(p.set(C,N),R.push({id:C,attributes:_})),I.isConnected||(f.delete(C),p.delete(C)),++M>=32)break}R.length&&r({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:R}}),h.size&&(l=e.defaultView.setTimeout(b,16))}function v(){!d&&h.size&&l===null&&(l=-1,queueMicrotask(b))}function E(R,M){for(let C=M,I=0;C&&I<32;I++,C=C.getRootNode()?.host)if(R===C||R.contains?.(C))return!0;return!1}function w(R){let M=new Set;for(let I of R)if(M.add(I.target),M.size>256)break;let C=[...M];for(let[I,_]of f)(C.length>256||!_.isConnected||C.some(N=>E(N,_)))&&h.add(I);v()}function y(R){for(let[M,C]of f)(C===R.target||R.target?.tagName==="LINK")&&h.add(M);v()}let x=e.defaultView.MutationObserver?new e.defaultView.MutationObserver(w):null;return x?.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.addEventListener("load",y,!0),{attributes(R){return S(R.id,t.getNode(R.id))},stop(){d=!0,x?.disconnect(),l!==null&&e.defaultView.clearTimeout(l),e.removeEventListener("load",y,!0);for(let R of o)R.removeEventListener("load",y,!0);f.clear(),p.clear(),h.clear(),n.clear()}}}var Rt={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},_n=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),kn=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),hs=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),tl=[...Object.keys(Rt),..._n,...kn,...hs,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function fs(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(Rt,e))return Rt[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&Rt[e].includes(t)?t:null;if(_n.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(kn.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let s=t.split(" ");return t==="none"?"none":s.length<=64&&s.every(i=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(i)&&parseFloat(i)<=1e5)?t:null}if(hs.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(s=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let s=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!s)return null;let i=s[2].split(",").map(r=>r.trim());return i.length===(s[1]==="matrix"?6:16)&&i.every(r=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(r)&&Number.isFinite(Number(r))&&Math.abs(Number(r))<=1e5)?t:null}if(["color","background-color"].includes(e)){let s=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return s&&s.slice(1,4).every(i=>Number(i)<=255)?t:null}return null}function Nt(e){if(typeof e!="string"||e.length>4096)return"";let t=[],s=new Set;for(let r of e.split(";").slice(0,100)){let u=r.indexOf(":");if(u<1)continue;let f=r.slice(0,u).trim();if(s.has(f))continue;let p=fs(f,r.slice(u+1));p!==null&&(s.add(f),t.push(f+":"+p))}let i=t.join(";");return i.length<=4096?i:""}function Ln(e){return Nt(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}function rl(e){let t=e.ownerDocument.defaultView,s=t.getComputedStyle(e),i=[];for(let r of tl){if(["width","height"].includes(r)&&!["grid","inline-grid","flex","inline-flex"].includes(s.display))continue;let u=s.getPropertyValue(r);if(hs.has(r)&&u&&!fs(r,u)&&e.parentElement){let p=t.getComputedStyle(e.parentElement),o=[...p.gridTemplateAreas.matchAll(/"([^"]*)"/g)].map(n=>n[1].trim().split(/\s+/)),h=null;o.forEach((n,d)=>n.forEach((l,a)=>{l===u&&(h=h?{left:Math.min(h.left,a),right:Math.max(h.right,a+1),top:Math.min(h.top,d),bottom:Math.max(h.bottom,d+1)}:{left:a,right:a+1,top:d,bottom:d+1})})),h&&(u=String((r==="grid-column-start"?h.left:r==="grid-column-end"?h.right:r==="grid-row-start"?h.top:h.bottom)+1))}let f=fs(r,u);f!==null&&i.push(r+":"+f)}return Nt(i.join(";"))}function Pn({doc:e,mirror:t,blockSelector:s="",emit:i}){let r=e.defaultView,u=xt(s),f=new Map,p=new WeakMap,o=new Set,h=new Set,n=2048,d=64,l=24,a=49152,m=98304,c=0,g=!1,S=null,b=!1,v=D=>D?.nodeType===1&&!["STYLE","LINK","META","SCRIPT","NOSCRIPT"].includes(D.tagName)&&!u.contains(D)&&!Oe(D,"[data-tw-mask],.rr-mask"),E=D=>{try{return rl(D)}catch{return""}},w=D=>D.matches('html,body,main,header,nav,footer,section,article,form,[role="dialog"]'),y=D=>{f.has(D)&&o.add(D)};function x(){!g&&S===null&&o.size&&(S=r.setTimeout(N,16))}let R=r.IntersectionObserver?new r.IntersectionObserver(D=>{for(let T of D){let U=p.get(T.target),O=f.get(U);O&&(O.visible=T.isIntersecting,T.isIntersecting&&y(U))}x()},{rootMargin:"200px"}):null,M=r.ResizeObserver?new r.ResizeObserver(D=>{for(let T of D)y(p.get(T.target)),T.target.parentElement&&y(p.get(T.target.parentElement));x()}):null;function C(D,T){let U=f.get(D);if(U)return U;if(f.size>=n)return b=!0,null;let O=T.getRootNode();return O!==e&&O.nodeType===11&&O.host&&!h.has(O)&&(h.size<32?(h.add(O),F.observe(O,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),O.addEventListener("load",J,!0)):b=!0),U={node:T,css:"",visible:!R||w(T)},f.set(D,U),p.set(T,D),R?.observe(T),M?.observe(T),U}function I(D){let T=t.getNode(D.id);if(!v(T))return{};let U=C(D.id,T);if(!U)return{};if(c<d&&w(T)){let O=E(T);if(c++,O&&O.length<=m)return m-=O.length,U.css=O,{"data-tw-layout":O}}return U.visible&&(y(D.id),x()),{}}function _(D,T){R?.unobserve(T.node),M?.unobserve(T.node),f.delete(D),o.delete(D),p.delete(T.node)}function N(){if(S=null,g)return;let D=[],T=r.performance.now(),U=0,O=0;for(let G of o){o.delete(G);let k=f.get(G);if(k){if(!k.node.isConnected){_(G,k);continue}if(v(k.node)){let Q=E(k.node);if(Q!==k.css){let Z={id:G,attributes:{style:k.node.getAttribute("style")||"","data-tw-layout":Q||null}},ue=JSON.stringify(Z).length;if(U+ue>a){o.add(G);break}k.css=Q,U+=ue,D.push(Z)}}if(++O>=l||r.performance.now()-T>=6)break}}D.length&&i({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:D}}),x()}function ie(D,T=!1){if(D?.nodeType!==1&&(D=D?.parentElement),!D)return;y(p.get(D));let U=D.parentElement;for(let O=0;U&&O<6;O++,U=U.parentElement)y(p.get(U));if(T){let O=0,G=e.createTreeWalker(D,1);for(;G.nextNode()&&O++<n;)y(p.get(G.currentNode));for(let k of h)if(D===k.host||D.contains(k.host))for(let Q of k.children)ie(Q,!0)}}function ne(D){if(D.length>256){for(let k of f.keys())y(k);x();return}let T=new Map,U=new Set,O=!1,G=(k,Q=!1)=>{k&&T.set(k,Q||T.get(k)||!1)};for(let k of D){let Q=k.target.nodeType===1?k.target:k.target.parentElement;if(Q?.matches("style,link")){O=!0;break}if(G(Q,k.type==="attributes"),k.type==="childList"){if(k.addedNodes.length+k.removedNodes.length>32){O=!0;break}for(let Z of k.addedNodes)G(Z,!0);for(let Z of k.removedNodes)G(Z,!0);Q&&U.add(Q)}if(T.size>32){O=!0;break}}if(O)for(let k of f.keys())y(k);else{for(let[k,Q]of T)ie(k,Q);for(let k of U)for(let Q of[...k.children].slice(0,128))y(p.get(Q))}x()}let F=new r.MutationObserver(ne);F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});let z=()=>{for(let[D,T]of f)T.visible&&y(D);x()},q=D=>{let T=D.composedPath?.()||[D.target];for(let U of T)if(U?.nodeType===1){let O=p.get(U);if(O!==void 0){let G=f.get(O);G&&(G.visible=!0),y(O)}}x()},J=D=>{ie(D.target,!0),x()};return r.addEventListener("resize",z),e.addEventListener("pointerdown",q,!0),e.addEventListener("focusin",q,!0),e.addEventListener("load",J,!0),{attributes:I,coverage:()=>({tracked:f.size,pending:o.size,limited:b}),reset(){F.disconnect(),F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});for(let D of h)D.removeEventListener("load",J,!0);h.clear(),m=98304,c=0,b=!1,R?.disconnect(),M?.disconnect();for(let D of f.values())p.delete(D.node);f.clear(),o.clear()},stop(){g=!0,F.disconnect();for(let D of h)D.removeEventListener("load",J,!0);h.clear(),R?.disconnect(),M?.disconnect(),r.clearTimeout(S),r.removeEventListener("resize",z),e.removeEventListener("pointerdown",q,!0),e.removeEventListener("focusin",q,!0),e.removeEventListener("load",J,!0),f.clear(),o.clear()}}}var Ie=e=>String(e??"").replace(/\S/g,"*");function sl(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function he(e){let t=String(e??""),s="",i=0,r=p=>{let o=t.slice(p+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(o){let h=parseInt(o[0],16);return[h>0&&h<=1114111?String.fromCodePoint(h):"\uFFFD",p+1+o[0].length]}return[t[p+1]||"",Math.min(t.length,p+2)]},u=p=>{let o=t[p++];for(;p<t.length;)if(t[p]==="\\")p=r(p)[1];else if(t[p++]===o)break;return p},f=p=>{let o=t.indexOf("*/",p+2);return o<0?t.length:o+2};for(;i<t.length;){if(t.startsWith("/*",i)){i=f(i),s+=" ";continue}if(t[i]==='"'||t[i]==="'"){i=u(i),s+='""';continue}if(/[a-z_\\-]/i.test(t[i])){let p=i,o="";for(;i<t.length&&/[a-z0-9_\\-]/i.test(t[i]);)if(t[i]==="\\"){let[n,d]=r(i);o+=n,i=d}else o+=t[i++];let h=i;for(;h<t.length;)if(/\s/.test(t[h]))h++;else if(t.startsWith("/*",h))h=f(h);else break;if(o.toLowerCase()==="url"&&t[h]==="("){i=h+1;let n=1;for(;i<t.length&&n;)t[i]==="\\"?i=r(i)[1]:t[i]==='"'||t[i]==="'"?i=u(i):t.startsWith("/*",i)?i=f(i):(t[i]==="("&&n++,t[i]===")"&&n--,i++);s+="none"}else s+=t.slice(p,i);continue}s+=t[i++]}return s.replace(/@import[^;{}]*;?/gi,"")}var il=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Fn(e={}){let t={};for(let[s,i]of Object.entries(e))if(i===null)t[s]=null;else if(s==="style"&&i&&typeof i=="object"&&!Array.isArray(i))t[s]=Object.fromEntries(Object.entries(i).map(([r,u])=>[r,u===!1?!1:Array.isArray(u)?[he(u[0]),u[1]==="important"?"important":""]:he(u)]));else if(s==="style"||s==="_cssText")t[s]=he(i);else if(s==="data-tw-image-fit")t[s]=Mt(i);else if(s==="data-tw-image-position")t[s]=Et(i);else if(s==="data-tw-layout"){let r=Nt(i);r&&(t[s]=r)}else s==="data-tw-media"&&typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)?t[s]=i:s==="href"?t[s]="#":il.has(s)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(i))?t[s]=i:i===null&&(t[s]=null);if(t["data-tw-layout"]){let s=Ln(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let i of s.split(";")){let r=i.indexOf(":");r>0&&(t.style[i.slice(0,r)]=[i.slice(r+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+s}return t}var nl=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),ol={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function al(e,t={}){let s=p=>{if(typeof p!="number"&&typeof p!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(p)))return null;let o=parseFloat(p);return Number.isFinite(o)?Math.min(8192,Math.max(0,o)):null},i=s(t.rr_width??t.width),r=s(t.rr_height??t.height),u=ol[e];if(!u)return{class:"tw-redacted",style:"display:none"};let f=(i===null?"":`;width:${i}px`)+(r===null?";min-height:24px":`;height:${r}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":Mt(t["data-tw-image-fit"]),"data-tw-image-position":Et(t["data-tw-image-position"])}:{},class:"tw-redacted"+(u?" tw-media-"+u:""),style:"background:#edf0e9;overflow:hidden"+f}}function ds(e,t,s="",i=null){if(!e||typeof e!="object")return e;let r={...e},u=s==="style"||r.isStyle||r.tagName?.toLowerCase()==="style";return i&&u&&i.styleNodes.add(r.id),r.tagName&&nl.has(r.tagName.toLowerCase())?{type:2,tagName:"div",attributes:al(r.tagName.toLowerCase(),r.attributes),childNodes:[],id:r.id,needBlock:!0}:(r.attributes&&(r.attributes=Fn(r.attributes)),typeof r.textContent=="string"&&(r.textContent=u?he(r.textContent):t.maskText?Ie(r.textContent):r.textContent),r.childNodes&&(r.childNodes=r.childNodes.map(f=>ds(f,t,r.tagName||s,i))),r)}var ll=new Set(["page","click","rage_click"]);function Un(e={maskText:!0}){let t={styleNodes:new Set};return s=>ul(s,e,t)}function ul(e,t={maskText:!0},s=null){if(!e||e.type>5)return null;let i={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(i.type===2&&(s?.styleNodes.clear(),i.data.node=ds(i.data.node,t,"",s)),i.type===4&&(i.data.href=sl(i.data.href)),i.type===5){let r=ll.has(i.data.tag)?{}:t.sanitizeCustom?.(i.data.tag,i.data.payload)??null;if(r===null)return null;i.data={tag:i.data.tag,payload:r}}if(i.type===3){if([7,9,10,11].includes(i.data.source))return null;if(i.data.source===5&&(i.data.text=Ie(i.data.text)),i.data.attributes&&(i.data.attributes=i.data.attributes.map(r=>({...r,attributes:Fn(r.attributes)}))),i.data.adds&&i.data.source===0&&(i.data.adds=i.data.adds.map(r=>({...r,node:ds(r.node,t,s?.styleNodes.has(r.parentId)?"style":"",s)}))),i.data.texts&&(i.data.texts=i.data.texts.map(r=>({...r,value:s?.styleNodes.has(r.id)?he(r.value):t.maskText?Ie(r.value):s?r.value:he(r.value)}))),i.data.source===8&&i.data.adds&&(i.data.adds=i.data.adds.map(r=>({...r,rule:he(r.rule??"")}))),i.data.source===8)for(let r of["replace","replaceSync"])typeof i.data[r]=="string"&&(i.data[r]=he(i.data[r]));i.data.source===15&&i.data.styles&&(i.data.styles=i.data.styles.map(r=>({...r,rules:r.rules.map(u=>({...u,rule:he(u.rule)}))}))),i.data.source===13&&i.data.set&&(i.data.set={...i.data.set,value:he(i.data.set.value)})}return i}function $n({emit:e,maskText:t=!0,blockSelector:s="",extensions:i=[],media:r=[],doc:u=document}){let f=!1,p,o=new Map;for(let M of i)for(let C of M.tags||[])o.set(C,M.sanitize);let h=(M,C)=>o.get(M)?.(M,C)??null,n=Un({maskText:t,sanitizeCustom:h}),d=new Set(["page","click","rage_click",...o.keys()]),l=(M,C={})=>{if(!f&&d.has(M)){let I=o.has(M)?h(M,C):{};I&&le.addCustomEvent(M,I)}};s&&u.querySelector(s);let a=xt(s),m=M=>a.contains(le.mirror.getNode(M)),c=M=>Oe(le.mirror.getNode(M),"[data-tw-mask],.rr-mask"),g=(M,C)=>c(M)?le.mirror.getNode(M)?.parentElement?.tagName==="STYLE"?he(C):Ie(C):C,S=Tn({doc:u,mirror:le.mirror,assets:r,blockSelector:s,emit(M){let C=n(M);C&&!f&&e(C)}}),b=Pn({doc:u,mirror:le.mirror,blockSelector:s,emit(M){let C=n(M);C&&!f&&e(C)}}),v=M=>{if(!M||typeof M!="object")return M;let C={...M};return M.attributes&&(C.attributes={...M.attributes,...S.attributes(M),...b.attributes(M)}),typeof C.textContent=="string"&&(C.textContent=g(M.id,C.textContent)),M.childNodes&&(C.childNodes=M.childNodes.map(v)),C};function E(M){if(M.type===2)return b.reset(),{...M,data:{...M.data,node:v(M.data.node)}};if(M.type!==3)return M;let C={...M.data};if(C.source===0){if(C.texts&&(C.texts=C.texts.filter(I=>!m(I.id)).map(I=>({...I,value:g(I.id,I.value)}))),C.attributes&&(C.attributes=C.attributes.filter(I=>!m(I.id))),C.adds&&(C.adds=C.adds.filter(I=>!m(I.parentId)).map(I=>({...I,node:v(I.node)}))),!["texts","attributes","adds","removes"].some(I=>C[I]?.length))return null}else{if(typeof C.id=="number"&&m(C.id)||C.positions&&(C.positions=C.positions.filter(I=>!m(I.id)),!C.positions.length))return null;C.ranges&&(C.ranges=C.ranges.filter(I=>!m(I.start)&&!m(I.end)))}return{...M,data:C}}p=le({emit(M){let C=n(E(M));C&&!f&&e(C)},maskAllInputs:!0,maskInputFn:Ie,maskTextSelector:t?"*":"[data-tw-mask]",maskTextFn:(M,C)=>C?.tagName==="STYLE"?he(M):Ie(M),blockSelector:a.selector,inlineStylesheet:!0,inlineImages:!1,recordCanvas:!1,collectFonts:!1,recordCrossOriginIframes:!1,slimDOMOptions:"all",sampling:{mousemove:100,mouseInteraction:!0,scroll:150,input:"last"},checkoutEveryNms:12e4});let w=[],y=null,x=M=>{if(a.event(M))return;l("click");let C=Date.now();w=M.target===y?w.filter(I=>C-I<1e3):[],y=M.target,w.push(C),w.length===3&&(l("rage_click"),w=[])};u.addEventListener("click",x,!0),l("page");let R=i.map(M=>M.attach?.({doc:u,track:l,blockSelector:s}));return{track:l,stop(){f=!0,S.stop(),b.stop(),R.forEach(M=>M?.()),p?.(),u.removeEventListener("click",x,!0)}}}window.TracewellCapture=e=>$n({...e,extensions:window.TracewellCaptureExtensions||[]});})();128 `,Pi=typeof self<"u"&&self.Blob&&new Blob([An],{type:"text/javascript;charset=utf-8"});function Za(e){let t;try{if(t=Pi&&(self.URL||self.webkitURL).createObjectURL(Pi),!t)throw"";let s=new Worker(t,{name:e?.name});return s.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),s}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(An),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var qr=class{constructor(t){A(this,"pendingCanvasMutations",new Map),A(this,"rafStamps",{latestId:0,invokeId:null}),A(this,"mirror"),A(this,"mutationCb"),A(this,"resetObservers"),A(this,"frozen",!1),A(this,"locked",!1),A(this,"processMutation",(o,h)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(o)||this.pendingCanvasMutations.set(o,[]),this.pendingCanvasMutations.get(o).push(h)});let{sampling:s="all",win:i,blockClass:r,blockSelector:u,recordCanvas:c,dataURLOptions:p}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,c&&s==="all"&&this.initCanvasMutationObserver(i,r,u),c&&typeof s=="number"&&this.initCanvasFPSObserver(s,i,r,u,{dataURLOptions:p})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,s,i,r,u){let c=ki(s,i,r,!0),p=new Map,o=new Za;o.onmessage=m=>{let{id:f}=m.data;if(p.set(f,!1),!("base64"in m.data))return;let{base64:g,type:S,width:b,height:v}=m.data;this.mutationCb({id:f,type:Pe["2D"],commands:[{property:"clearRect",args:[0,0,b,v]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:S}]},0,0]}]})};let h=1e3/t,n=0,d,l=()=>{let m=[];return s.document.querySelectorAll("canvas").forEach(f=>{ae(f,i,r,!0)||m.push(f)}),m},a=m=>{if(n&&m-n<h){d=requestAnimationFrame(a);return}n=m,l().forEach(async f=>{var g;let S=this.mirror.getId(f);if(p.get(S)||f.width===0||f.height===0)return;if(p.set(S,!0),["webgl","webgl2"].includes(f.__context)){let v=f.getContext(f.__context);((g=v?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&v.clear(v.COLOR_BUFFER_BIT)}let b=await createImageBitmap(f);o.postMessage({id:S,bitmap:b,width:f.width,height:f.height,dataURLOptions:u.dataURLOptions},[b])}),d=requestAnimationFrame(a)};d=requestAnimationFrame(a),this.resetObservers=()=>{c(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,s,i){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let r=ki(t,s,i,!1),u=Xa(this.processMutation.bind(this),t,s,i),c=Qa(this.processMutation.bind(this),t,s,i);this.resetObservers=()=>{r(),u(),c()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=s=>{this.rafStamps.latestId=s,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,s)=>{let i=this.mirror.getId(s);this.flushPendingCanvasMutationFor(s,i)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,s){if(this.frozen||this.locked)return;let i=this.pendingCanvasMutations.get(t);if(!i||s===-1)return;let r=i.map(c=>{let{type:p,...o}=c;return o}),{type:u}=i[0];this.mutationCb({id:s,type:u,commands:r}),this.pendingCanvasMutations.delete(t)}},Gr=class{constructor(t){A(this,"trackedLinkElements",new WeakSet),A(this,"mutationCb"),A(this,"adoptedStyleSheetCb"),A(this,"styleMirror",new $r),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,s){"_cssText"in s.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:s.id,attributes:s.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,s){if(t.length===0)return;let i={id:s,styleIds:[]},r=[];for(let u of t){let c;this.styleMirror.has(u)?c=this.styleMirror.getId(u):(c=this.styleMirror.add(u),r.push({styleId:c,rules:Array.from(u.rules||CSSRule,(p,o)=>({rule:Wi(p,u.href),index:o}))})),i.styleIds.push(c)}r.length>0&&(i.styles=r),this.adoptedStyleSheetCb(i)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Hr=class{constructor(){A(this,"nodeMap",new WeakMap),A(this,"active",!1)}inOtherBuffer(t,s){let i=this.nodeMap.get(t);return i&&Array.from(i).some(r=>r!==s)}add(t,s){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(s))}destroy(){}},ee,st,kr,ft=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((ps=e.contentWindow)==null?void 0:ps.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var pe=fo();function le(e={}){let{emit:t,checkoutEveryNms:s,checkoutEveryNth:i,blockClass:r="rr-block",blockSelector:u=null,ignoreClass:c="rr-ignore",ignoreSelector:p=null,maskTextClass:o="rr-mask",maskTextSelector:h=null,inlineStylesheet:n=!0,maskAllInputs:d,maskInputOptions:l,slimDOMOptions:a,maskInputFn:m,maskTextFn:f,hooks:g,packFn:S,sampling:b={},dataURLOptions:v={},mousemoveWait:E,recordDOM:w=!0,recordCanvas:y=!1,recordCrossOriginIframes:x=!1,recordAfter:R=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:M=!1,collectFonts:C=!1,inlineImages:I=!1,plugins:_,keepIframeSrcFn:N=()=>!1,ignoreCSSAttributes:ie=new Set([]),errorHandler:ne}=e;Da(ne);let F=x?window.parent===window:!0,z=!1;if(!F)try{window.parent.document&&(z=!1)}catch{z=!0}if(F&&!t)throw new Error("emit function is required");if(!F&&!z)return()=>{};E!==void 0&&b.mousemove===void 0&&(b.mousemove=E),pe.reset();let 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,password:!0}:l!==void 0?l:{password:!0},J=Yi(a);Ra();let D,T=0,U=L=>{for(let te of _||[])te.eventProcessor&&(L=te.eventProcessor(L));return S&&!z&&(L=S(L)),L};ee=(L,te)=>{var j;let K=L;if(K.timestamp=We(),(j=Ee[0])!=null&&j.isFrozen()&&K.type!==W.FullSnapshot&&!(K.type===W.IncrementalSnapshot&&K.data.source===$.Mutation)&&Ee.forEach(fe=>fe.unfreeze()),F)t?.(U(K),te);else if(z){let fe={type:"rrweb",event:U(K),origin:window.location.origin,isCheckout:te};window.parent.postMessage(fe,"*")}if(K.type===W.FullSnapshot)D=K,T=0;else if(K.type===W.IncrementalSnapshot){if(K.data.source===$.Mutation&&K.data.isAttachIframe)return;T++;let fe=i&&T>=i,V=s&&K.timestamp-D.timestamp>s;(fe||V)&&st(!0)}};let O=L=>{ee({type:W.IncrementalSnapshot,data:{source:$.Mutation,...L}})},G=L=>ee({type:W.IncrementalSnapshot,data:{source:$.Scroll,...L}}),k=L=>ee({type:W.IncrementalSnapshot,data:{source:$.CanvasMutation,...L}}),Q=L=>ee({type:W.IncrementalSnapshot,data:{source:$.AdoptedStyleSheet,...L}}),Z=new Gr({mutationCb:O,adoptedStyleSheetCb:Q}),ue=new jr({mirror:pe,mutationCb:O,stylesheetManager:Z,recordCrossOriginIframes:x,wrappedEmit:ee});for(let L of _||[])L.getMirror&&L.getMirror({nodeMirror:pe,crossOriginIframeMirror:ue.crossOriginIframeMirror,crossOriginIframeStyleMirror:ue.crossOriginIframeStyleMirror});let xe=new Hr;kr=new qr({recordCanvas:y,mutationCb:k,win:window,blockClass:r,blockSelector:u,mirror:pe,sampling:b.canvas,dataURLOptions:v});let ve=new Vr({mutationCb:O,scrollCb:G,bypassOptions:{blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskInputOptions:q,dataURLOptions:v,maskTextFn:f,maskInputFn:m,recordCanvas:y,inlineImages:I,sampling:b,slimDOMOptions:J,iframeManager:ue,stylesheetManager:Z,canvasManager:kr,keepIframeSrcFn:N,processedNodeManager:xe},mirror:pe});st=(L=!1)=>{if(!w)return;ee({type:W.Meta,data:{href:window.location.href,width:mn(),height:pn()}},L),Z.reset(),ve.init(),Ee.forEach(j=>j.lock());let te=Po(document,{mirror:pe,blockClass:r,blockSelector:u,maskTextClass:o,maskTextSelector:h,inlineStylesheet:n,maskAllInputs:q,maskTextFn:f,maskInputFn:m,slimDOM:J,dataURLOptions:v,recordCanvas:y,inlineImages:I,onSerialize:j=>{wn(j,pe)&&ue.addIframe(j),bn(j,pe)&&Z.trackLinkElement(j),Ur(j)&&ve.addShadowRoot(P.shadowRoot(j),document)},onIframeLoad:(j,K)=>{ue.attachIframe(j,K),ve.observeAttachShadow(j)},onStylesheetLoad:(j,K)=>{Z.attachLinkElement(j,K)},keepIframeSrcFn:N});if(!te)return console.warn("Failed to snapshot the document");ee({type:W.FullSnapshot,data:{node:te,initialOffset:dn(window)}},L),Ee.forEach(j=>j.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&Z.adoptStyleSheets(document.adoptedStyleSheets,pe.getId(document))};try{let L=[],te=K=>{var fe;return B(qa)({mutationCb:O,mousemoveCb:(V,Ot)=>ee({type:W.IncrementalSnapshot,data:{source:Ot,positions:V}}),mouseInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MouseInteraction,...V}}),scrollCb:G,viewportResizeCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.ViewportResize,...V}}),inputCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Input,...V}}),mediaInteractionCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.MediaInteraction,...V}}),styleSheetRuleCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleSheetRule,...V}}),styleDeclarationCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.StyleDeclaration,...V}}),canvasMutationCb:k,fontCb:V=>ee({type:W.IncrementalSnapshot,data:{source:$.Font,...V}}),selectionCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.Selection,...V}})},customElementCb:V=>{ee({type:W.IncrementalSnapshot,data:{source:$.CustomElement,...V}})},blockClass:r,ignoreClass:c,ignoreSelector:p,maskTextClass:o,maskTextSelector:h,maskInputOptions:q,inlineStylesheet:n,sampling:b,recordDOM:w,recordCanvas:y,inlineImages:I,userTriggeredOnInput:M,collectFonts:C,doc:K,maskInputFn:m,maskTextFn:f,keepIframeSrcFn:N,blockSelector:u,slimDOMOptions:J,dataURLOptions:v,mirror:pe,iframeManager:ue,stylesheetManager:Z,shadowDomManager:ve,processedNodeManager:xe,canvasManager:kr,ignoreCSSAttributes:ie,plugins:((fe=_?.filter(V=>V.observer))==null?void 0:fe.map(V=>({observer:V.observer,options:V.options,callback:Ot=>ee({type:W.Plugin,data:{plugin:V.name,payload:Ot}})})))||[]},g)};ue.addLoadListener(K=>{try{L.push(te(K.contentDocument))}catch(fe){console.warn(fe)}});let j=()=>{st(),L.push(te(document)),ft=!0};return["interactive","complete"].includes(document.readyState)?j():(L.push(oe("DOMContentLoaded",()=>{ee({type:W.DomContentLoaded,data:{}}),R==="DOMContentLoaded"&&j()})),L.push(oe("load",()=>{ee({type:W.Load,data:{}}),R==="load"&&j()},window))),()=>{L.forEach(K=>{try{K()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),xe.destroy(),ft=!1,Ta()}}catch(L){console.warn(L)}}le.addCustomEvent=(e,t)=>{if(!ft)throw new Error("please add custom event after start recording");ee({type:W.Custom,data:{tag:e,payload:t}})};le.freezePage=()=>{Ee.forEach(e=>e.freeze())};le.takeFullSnapshot=e=>{if(!ft)throw new Error("please take full snapshot after start recording");st(e)};le.mirror=pe;var Fi;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Fi||(Fi={}));var dl=5*1e3;var{addCustomEvent:pl}=le,{freezePage:ml}=le,{takeFullSnapshot:gl}=le;var Ka='iframe,frame,canvas,video,audio,img,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block';function Oe(e,t){if(!e||typeof e.nodeType!="number")return!1;let s=r=>{let u=r.getRootNode?.();return u?.nodeType===11?u.host:null},i=e.nodeType===1?e:e.parentElement||s(e);for(;i?.nodeType===1;){if(i.closest(t))return!0;i=s(i)}return!1}function xt(e=""){let t=Ka+(e?","+e:""),s=i=>Oe(i,t);return{selector:t,contains:s,event:i=>(i.composedPath?.()||[i.target]).some(s)}}var Dn="data-tw-media",el=/^[a-f0-9]{64}$/,Et=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",Mt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain",tl='iframe,frame,canvas,video,audio,svg,object,embed,[contenteditable],input[type="hidden"],[data-tw-block],[data-private],.rr-block,[data-tw-mask],.rr-mask';function Tn({doc:e,mirror:t,assets:s=[],blockSelector:i="",emit:r}){let u=new Map,c=new Map,p=new Map,o=new Set,h=new Set,n=new Set,d=!1,l=null,a=tl+(i?","+i:"");e.querySelector(a);for(let R of Array.isArray(s)?s.slice(0,256):[])if(!(typeof R?.key!="string"||!el.test(R.key)||!Array.isArray(R.urls)))for(let M of R.urls.slice(0,8))try{let C=new URL(M,e.location.href);typeof M=="string"&&M.length<=2048&&C.origin===e.location.origin&&!C.search&&!C.hash&&!C.username&&!C.password&&/^https?:$/.test(C.protocol)&&u.set(C.href,R.key)}catch{}if(!u.size)return{attributes(){return{}},stop(){}};function m(R){if(!R?.isConnected||R.tagName!=="IMG"||Oe(R,a))return null;try{let M=new URL(R.currentSrc||R.getAttribute("src")||"",e.location.href),C=!M.search&&!M.hash&&!M.username&&!M.password&&M.origin===e.location.origin&&u.get(M.href)||null;return C&&(n.has(C)||n.size<64)?(n.add(C),C):null}catch{return null}}function f(R,M){if(!Number.isInteger(R)||R<1||M?.tagName!=="IMG"||c.size>=2048&&!c.has(R))return!1;c.set(R,M);let C=M.getRootNode();return C!==e&&C.nodeType===11&&!o.has(C)&&o.size<32&&(o.add(C),x?.observe(C,{subtree:!0,childList:!0,attributes:!0}),C.addEventListener("load",y,!0)),!0}function g(R,M){if(!M)return{[Dn]:null};let C=e.defaultView.getComputedStyle(R);return{[Dn]:M,"data-tw-image-fit":Mt(C.objectFit),"data-tw-image-position":Et(C.objectPosition)}}function S(R,M){if(!f(R,M))return{};let C=m(M),I=g(M,C);return p.set(R,JSON.stringify(I)),C?I:{}}function b(){if(l=null,d)return;let R=[],M=0;for(let C of h){h.delete(C);let I=c.get(C);if(!I)continue;let _=g(I,m(I)),N=JSON.stringify(_);if(p.get(C)!==N&&(p.set(C,N),R.push({id:C,attributes:_})),I.isConnected||(c.delete(C),p.delete(C)),++M>=32)break}R.length&&r({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:R}}),h.size&&(l=e.defaultView.setTimeout(b,16))}function v(){!d&&h.size&&l===null&&(l=-1,queueMicrotask(b))}function E(R,M){for(let C=M,I=0;C&&I<32;I++,C=C.getRootNode()?.host)if(R===C||R.contains?.(C))return!0;return!1}function w(R){let M=new Set;for(let I of R)if(M.add(I.target),M.size>256)break;let C=[...M];for(let[I,_]of c)(C.length>256||!_.isConnected||C.some(N=>E(N,_)))&&h.add(I);v()}function y(R){for(let[M,C]of c)(C===R.target||R.target?.tagName==="LINK")&&h.add(M);v()}let x=e.defaultView.MutationObserver?new e.defaultView.MutationObserver(w):null;return x?.observe(e,{subtree:!0,childList:!0,attributes:!0}),e.addEventListener("load",y,!0),{attributes(R){return S(R.id,t.getNode(R.id))},stop(){d=!0,x?.disconnect(),l!==null&&e.defaultView.clearTimeout(l),e.removeEventListener("load",y,!0);for(let R of o)R.removeEventListener("load",y,!0);c.clear(),p.clear(),h.clear(),n.clear()}}}var Rt={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},_n=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),kn=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),hs=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),rl=[...Object.keys(Rt),..._n,...kn,...hs,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function fs(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(Rt,e))return Rt[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&Rt[e].includes(t)?t:null;if(_n.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(kn.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let s=t.split(" ");return t==="none"?"none":s.length<=64&&s.every(i=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(i)&&parseFloat(i)<=1e5)?t:null}if(hs.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(s=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let s=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!s)return null;let i=s[2].split(",").map(r=>r.trim());return i.length===(s[1]==="matrix"?6:16)&&i.every(r=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(r)&&Number.isFinite(Number(r))&&Math.abs(Number(r))<=1e5)?t:null}if(["color","background-color"].includes(e)){let s=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return s&&s.slice(1,4).every(i=>Number(i)<=255)?t:null}return null}function Nt(e){if(typeof e!="string"||e.length>4096)return"";let t=[],s=new Set;for(let r of e.split(";").slice(0,100)){let u=r.indexOf(":");if(u<1)continue;let c=r.slice(0,u).trim();if(s.has(c))continue;let p=fs(c,r.slice(u+1));p!==null&&(s.add(c),t.push(c+":"+p))}let i=t.join(";");return i.length<=4096?i:""}function Ln(e){return Nt(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}function sl(e){let t=e.ownerDocument.defaultView,s=t.getComputedStyle(e),i=[];for(let r of rl){if(["width","height"].includes(r)&&!["grid","inline-grid","flex","inline-flex"].includes(s.display))continue;let u=s.getPropertyValue(r);if(hs.has(r)&&u&&!fs(r,u)&&e.parentElement){let p=t.getComputedStyle(e.parentElement),o=[...p.gridTemplateAreas.matchAll(/"([^"]*)"/g)].map(n=>n[1].trim().split(/\s+/)),h=null;o.forEach((n,d)=>n.forEach((l,a)=>{l===u&&(h=h?{left:Math.min(h.left,a),right:Math.max(h.right,a+1),top:Math.min(h.top,d),bottom:Math.max(h.bottom,d+1)}:{left:a,right:a+1,top:d,bottom:d+1})})),h&&(u=String((r==="grid-column-start"?h.left:r==="grid-column-end"?h.right:r==="grid-row-start"?h.top:h.bottom)+1))}let c=fs(r,u);c!==null&&i.push(r+":"+c)}return Nt(i.join(";"))}function Pn({doc:e,mirror:t,blockSelector:s="",emit:i}){let r=e.defaultView,u=xt(s),c=new Map,p=new WeakMap,o=new Set,h=new Set,n=2048,d=64,l=24,a=49152,m=98304,f=0,g=!1,S=null,b=!1,v=D=>D?.nodeType===1&&!["STYLE","LINK","META","SCRIPT","NOSCRIPT"].includes(D.tagName)&&!u.contains(D)&&!Oe(D,"[data-tw-mask],.rr-mask"),E=D=>{try{return sl(D)}catch{return""}},w=D=>D.matches('html,body,main,header,nav,footer,section,article,form,[role="dialog"]'),y=D=>{c.has(D)&&o.add(D)};function x(){!g&&S===null&&o.size&&(S=r.setTimeout(N,16))}let R=r.IntersectionObserver?new r.IntersectionObserver(D=>{for(let T of D){let U=p.get(T.target),O=c.get(U);O&&(O.visible=T.isIntersecting,T.isIntersecting&&y(U))}x()},{rootMargin:"200px"}):null,M=r.ResizeObserver?new r.ResizeObserver(D=>{for(let T of D)y(p.get(T.target)),T.target.parentElement&&y(p.get(T.target.parentElement));x()}):null;function C(D,T){let U=c.get(D);if(U)return U;if(c.size>=n)return b=!0,null;let O=T.getRootNode();return O!==e&&O.nodeType===11&&O.host&&!h.has(O)&&(h.size<32?(h.add(O),F.observe(O,{subtree:!0,childList:!0,characterData:!0,attributes:!0}),O.addEventListener("load",J,!0)):b=!0),U={node:T,css:"",visible:!R||w(T)},c.set(D,U),p.set(T,D),R?.observe(T),M?.observe(T),U}function I(D){let T=t.getNode(D.id);if(!v(T))return{};let U=C(D.id,T);if(!U)return{};if(f<d&&w(T)){let O=E(T);if(f++,O&&O.length<=m)return m-=O.length,U.css=O,{"data-tw-layout":O}}return U.visible&&(y(D.id),x()),{}}function _(D,T){R?.unobserve(T.node),M?.unobserve(T.node),c.delete(D),o.delete(D),p.delete(T.node)}function N(){if(S=null,g)return;let D=[],T=r.performance.now(),U=0,O=0;for(let G of o){o.delete(G);let k=c.get(G);if(k){if(!k.node.isConnected){_(G,k);continue}if(v(k.node)){let Q=E(k.node);if(Q!==k.css){let Z={id:G,attributes:{style:k.node.getAttribute("style")||"","data-tw-layout":Q||null}},ue=JSON.stringify(Z).length;if(U+ue>a){o.add(G);break}k.css=Q,U+=ue,D.push(Z)}}if(++O>=l||r.performance.now()-T>=6)break}}D.length&&i({type:3,timestamp:Date.now(),data:{source:0,adds:[],removes:[],texts:[],attributes:D}}),x()}function ie(D,T=!1){if(D?.nodeType!==1&&(D=D?.parentElement),!D)return;y(p.get(D));let U=D.parentElement;for(let O=0;U&&O<6;O++,U=U.parentElement)y(p.get(U));if(T){let O=0,G=e.createTreeWalker(D,1);for(;G.nextNode()&&O++<n;)y(p.get(G.currentNode));for(let k of h)if(D===k.host||D.contains(k.host))for(let Q of k.children)ie(Q,!0)}}function ne(D){if(D.length>256){for(let k of c.keys())y(k);x();return}let T=new Map,U=new Set,O=!1,G=(k,Q=!1)=>{k&&T.set(k,Q||T.get(k)||!1)};for(let k of D){let Q=k.target.nodeType===1?k.target:k.target.parentElement;if(Q?.matches("style,link")){O=!0;break}if(G(Q,k.type==="attributes"),k.type==="childList"){if(k.addedNodes.length+k.removedNodes.length>32){O=!0;break}for(let Z of k.addedNodes)G(Z,!0);for(let Z of k.removedNodes)G(Z,!0);Q&&U.add(Q)}if(T.size>32){O=!0;break}}if(O)for(let k of c.keys())y(k);else{for(let[k,Q]of T)ie(k,Q);for(let k of U)for(let Q of[...k.children].slice(0,128))y(p.get(Q))}x()}let F=new r.MutationObserver(ne);F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});let z=()=>{for(let[D,T]of c)T.visible&&y(D);x()},q=D=>{let T=D.composedPath?.()||[D.target];for(let U of T)if(U?.nodeType===1){let O=p.get(U);if(O!==void 0){let G=c.get(O);G&&(G.visible=!0),y(O)}}x()},J=D=>{ie(D.target,!0),x()};return r.addEventListener("resize",z),e.addEventListener("pointerdown",q,!0),e.addEventListener("focusin",q,!0),e.addEventListener("load",J,!0),{attributes:I,coverage:()=>({tracked:c.size,pending:o.size,limited:b}),reset(){F.disconnect(),F.observe(e,{subtree:!0,childList:!0,characterData:!0,attributes:!0});for(let D of h)D.removeEventListener("load",J,!0);h.clear(),m=98304,f=0,b=!1,R?.disconnect(),M?.disconnect();for(let D of c.values())p.delete(D.node);c.clear(),o.clear()},stop(){g=!0,F.disconnect();for(let D of h)D.removeEventListener("load",J,!0);h.clear(),R?.disconnect(),M?.disconnect(),r.clearTimeout(S),r.removeEventListener("resize",z),e.removeEventListener("pointerdown",q,!0),e.removeEventListener("focusin",q,!0),e.removeEventListener("load",J,!0),c.clear(),o.clear()}}}function il(e,t="https://example.invalid"){try{let s=new URL(e,t),r=["p","page_id"].filter(p=>s.searchParams.has(p));if(r.length!==1)return null;let u=r[0],c=s.searchParams.getAll(u);return c.length!==1||!/^[1-9][0-9]{0,9}$/.test(c[0])?null:{path:s.pathname,key:u,id:c[0],identity:s.pathname+"?"+u+"="+c[0]}}catch{return null}}function Fn(e,t="https://example.invalid"){try{let s=new URL(e,t),i=s.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),r=il(e,t);return r&&i===r.path&&s.search==="?"+r.key+"="+r.id&&(i+s.search).length<=500?i+s.search:i}catch{return"/"}}var Ie=e=>String(e??"").replace(/\S/g,"*"),nl=Fn;function he(e){let t=String(e??""),s="",i=0,r=p=>{let o=t.slice(p+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(o){let h=parseInt(o[0],16);return[h>0&&h<=1114111?String.fromCodePoint(h):"\uFFFD",p+1+o[0].length]}return[t[p+1]||"",Math.min(t.length,p+2)]},u=p=>{let o=t[p++];for(;p<t.length;)if(t[p]==="\\")p=r(p)[1];else if(t[p++]===o)break;return p},c=p=>{let o=t.indexOf("*/",p+2);return o<0?t.length:o+2};for(;i<t.length;){if(t.startsWith("/*",i)){i=c(i),s+=" ";continue}if(t[i]==='"'||t[i]==="'"){i=u(i),s+='""';continue}if(/[a-z_\\-]/i.test(t[i])){let p=i,o="";for(;i<t.length&&/[a-z0-9_\\-]/i.test(t[i]);)if(t[i]==="\\"){let[n,d]=r(i);o+=n,i=d}else o+=t[i++];let h=i;for(;h<t.length;)if(/\s/.test(t[h]))h++;else if(t.startsWith("/*",h))h=c(h);else break;if(o.toLowerCase()==="url"&&t[h]==="("){i=h+1;let n=1;for(;i<t.length&&n;)t[i]==="\\"?i=r(i)[1]:t[i]==='"'||t[i]==="'"?i=u(i):t.startsWith("/*",i)?i=c(i):(t[i]==="("&&n++,t[i]===")"&&n--,i++);s+="none"}else s+=t.slice(p,i);continue}s+=t[i++]}return s.replace(/@import[^;{}]*;?/gi,"")}var ol=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Un(e={}){let t={};for(let[s,i]of Object.entries(e))if(i===null)t[s]=null;else if(s==="style"&&i&&typeof i=="object"&&!Array.isArray(i))t[s]=Object.fromEntries(Object.entries(i).map(([r,u])=>[r,u===!1?!1:Array.isArray(u)?[he(u[0]),u[1]==="important"?"important":""]:he(u)]));else if(s==="style"||s==="_cssText")t[s]=he(i);else if(s==="data-tw-image-fit")t[s]=Mt(i);else if(s==="data-tw-image-position")t[s]=Et(i);else if(s==="data-tw-layout"){let r=Nt(i);r&&(t[s]=r)}else s==="data-tw-media"&&typeof i=="string"&&/^[a-f0-9]{64}$/.test(i)?t[s]=i:s==="href"?t[s]="#":ol.has(s)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(i))?t[s]=i:i===null&&(t[s]=null);if(t["data-tw-layout"]){let s=Ln(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let i of s.split(";")){let r=i.indexOf(":");r>0&&(t.style[i.slice(0,r)]=[i.slice(r+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+s}return t}var al=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),ll={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function ul(e,t={}){let s=p=>{if(typeof p!="number"&&typeof p!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(p)))return null;let o=parseFloat(p);return Number.isFinite(o)?Math.min(8192,Math.max(0,o)):null},i=s(t.rr_width??t.width),r=s(t.rr_height??t.height),u=ll[e];if(!u)return{class:"tw-redacted",style:"display:none"};let c=(i===null?"":`;width:${i}px`)+(r===null?";min-height:24px":`;height:${r}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":Mt(t["data-tw-image-fit"]),"data-tw-image-position":Et(t["data-tw-image-position"])}:{},class:"tw-redacted"+(u?" tw-media-"+u:""),style:"background:#edf0e9;overflow:hidden"+c}}function ds(e,t,s="",i=null){if(!e||typeof e!="object")return e;let r={...e},u=s==="style"||r.isStyle||r.tagName?.toLowerCase()==="style";return i&&u&&i.styleNodes.add(r.id),r.tagName&&al.has(r.tagName.toLowerCase())?{type:2,tagName:"div",attributes:ul(r.tagName.toLowerCase(),r.attributes),childNodes:[],id:r.id,needBlock:!0}:(r.attributes&&(r.attributes=Un(r.attributes)),typeof r.textContent=="string"&&(r.textContent=u?he(r.textContent):t.maskText?Ie(r.textContent):r.textContent),r.childNodes&&(r.childNodes=r.childNodes.map(c=>ds(c,t,r.tagName||s,i))),r)}var cl=new Set(["page","click","rage_click"]);function $n(e={maskText:!0}){let t={styleNodes:new Set};return s=>fl(s,e,t)}function fl(e,t={maskText:!0},s=null){if(!e||e.type>5)return null;let i={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(i.type===2&&(s?.styleNodes.clear(),i.data.node=ds(i.data.node,t,"",s)),i.type===4&&(i.data.href=nl(i.data.href)),i.type===5){let r=cl.has(i.data.tag)?{}:t.sanitizeCustom?.(i.data.tag,i.data.payload)??null;if(r===null)return null;i.data={tag:i.data.tag,payload:r}}if(i.type===3){if([7,9,10,11].includes(i.data.source))return null;if(i.data.source===5&&(i.data.text=Ie(i.data.text)),i.data.attributes&&(i.data.attributes=i.data.attributes.map(r=>({...r,attributes:Un(r.attributes)}))),i.data.adds&&i.data.source===0&&(i.data.adds=i.data.adds.map(r=>({...r,node:ds(r.node,t,s?.styleNodes.has(r.parentId)?"style":"",s)}))),i.data.texts&&(i.data.texts=i.data.texts.map(r=>({...r,value:s?.styleNodes.has(r.id)?he(r.value):t.maskText?Ie(r.value):s?r.value:he(r.value)}))),i.data.source===8&&i.data.adds&&(i.data.adds=i.data.adds.map(r=>({...r,rule:he(r.rule??"")}))),i.data.source===8)for(let r of["replace","replaceSync"])typeof i.data[r]=="string"&&(i.data[r]=he(i.data[r]));i.data.source===15&&i.data.styles&&(i.data.styles=i.data.styles.map(r=>({...r,rules:r.rules.map(u=>({...u,rule:he(u.rule)}))}))),i.data.source===13&&i.data.set&&(i.data.set={...i.data.set,value:he(i.data.set.value)})}return i}function Bn({emit:e,maskText:t=!0,blockSelector:s="",extensions:i=[],media:r=[],doc:u=document}){let c=!1,p,o=new Map;for(let M of i)for(let C of M.tags||[])o.set(C,M.sanitize);let h=(M,C)=>o.get(M)?.(M,C)??null,n=$n({maskText:t,sanitizeCustom:h}),d=new Set(["page","click","rage_click",...o.keys()]),l=(M,C={})=>{if(!c&&d.has(M)){let I=o.has(M)?h(M,C):{};I&&le.addCustomEvent(M,I)}};s&&u.querySelector(s);let a=xt(s),m=M=>a.contains(le.mirror.getNode(M)),f=M=>Oe(le.mirror.getNode(M),"[data-tw-mask],.rr-mask"),g=(M,C)=>f(M)?le.mirror.getNode(M)?.parentElement?.tagName==="STYLE"?he(C):Ie(C):C,S=Tn({doc:u,mirror:le.mirror,assets:r,blockSelector:s,emit(M){let C=n(M);C&&!c&&e(C)}}),b=Pn({doc:u,mirror:le.mirror,blockSelector:s,emit(M){let C=n(M);C&&!c&&e(C)}}),v=M=>{if(!M||typeof M!="object")return M;let C={...M};return M.attributes&&(C.attributes={...M.attributes,...S.attributes(M),...b.attributes(M)}),typeof C.textContent=="string"&&(C.textContent=g(M.id,C.textContent)),M.childNodes&&(C.childNodes=M.childNodes.map(v)),C};function E(M){if(M.type===2)return b.reset(),{...M,data:{...M.data,node:v(M.data.node)}};if(M.type!==3)return M;let C={...M.data};if(C.source===0){if(C.texts&&(C.texts=C.texts.filter(I=>!m(I.id)).map(I=>({...I,value:g(I.id,I.value)}))),C.attributes&&(C.attributes=C.attributes.filter(I=>!m(I.id))),C.adds&&(C.adds=C.adds.filter(I=>!m(I.parentId)).map(I=>({...I,node:v(I.node)}))),!["texts","attributes","adds","removes"].some(I=>C[I]?.length))return null}else{if(typeof C.id=="number"&&m(C.id)||C.positions&&(C.positions=C.positions.filter(I=>!m(I.id)),!C.positions.length))return null;C.ranges&&(C.ranges=C.ranges.filter(I=>!m(I.start)&&!m(I.end)))}return{...M,data:C}}p=le({emit(M){let C=n(E(M));C&&!c&&e(C)},maskAllInputs:!0,maskInputFn:Ie,maskTextSelector:t?"*":"[data-tw-mask]",maskTextFn:(M,C)=>C?.tagName==="STYLE"?he(M):Ie(M),blockSelector:a.selector,inlineStylesheet:!0,inlineImages:!1,recordCanvas:!1,collectFonts:!1,recordCrossOriginIframes:!1,slimDOMOptions:"all",sampling:{mousemove:100,mouseInteraction:!0,scroll:150,input:"last"},checkoutEveryNms:12e4});let w=[],y=null,x=M=>{if(a.event(M))return;l("click");let C=Date.now();w=M.target===y?w.filter(I=>C-I<1e3):[],y=M.target,w.push(C),w.length===3&&(l("rage_click"),w=[])};u.addEventListener("click",x,!0),l("page");let R=i.map(M=>M.attach?.({doc:u,track:l,blockSelector:s}));return{track:l,stop(){c=!0,S.stop(),b.stop(),R.forEach(M=>M?.()),p?.(),u.removeEventListener("click",x,!0)}}}window.TracewellCapture=e=>Bn({...e,extensions:window.TracewellCaptureExtensions||[]});})(); 129 129 /*! Bundled license information: 130 130 -
clickclue/trunk/assets/dashboard.js
r3775799 r3776421 52 52 const rows = $('tw-session-rows'); rows.replaceChildren(); sessionsLoaded = true; 53 53 for (const session of data.sessions) { 54 const tr = document.createElement('tr'); 54 const tr = document.createElement('tr'); tr.setAttribute('role','row'); 55 55 tr.append(cell(session.path, 'tw-path'), cell(session.started_at), cell(session.device === 'mobile' ? i18n.__('Mobile', 'clickclue') : i18n.__('Desktop', 'clickclue')), cell(formatTime(session.duration))); 56 56 const signals = cell(''); signals.textContent='—';tr.append(signals); … … 60 60 sessionActions.forEach(render=>render(session,actions,signals)); 61 61 if (config.canManage !== false) actions.append(action(i18n.__('Delete', 'clickclue'), async () => { if (!confirm(i18n.__('Permanently delete this recording?', 'clickclue'))) return; try { const result = await api('/sessions/' + session.id, 'DELETE'); if (result.deleted !== true) throw new Error(i18n.__('Deletion was not confirmed. Please retry.', 'clickclue')); message(i18n.__('Recording deleted.', 'clickclue')); load(); } catch (e) { message(e.message, true); } }, 'tw-delete')); 62 tr.append(actions); rows.append(tr); 62 tr.append(actions); 63 // The same table becomes compact rows on a narrow screen. Keep its 64 // semantics and every extension action; visible labels are decorative 65 // because column headers already describe the cells to assistive tools. 66 const headers = rows.closest('table').querySelectorAll('thead th'); 67 [...tr.cells].forEach((td,index)=>{td.setAttribute('role','cell');if(index<5){const label=document.createElement('span');label.className='cc-recording-label';label.setAttribute('aria-hidden','true');label.textContent=headers[index]?.textContent||'';td.prepend(label);}}); 68 rows.append(tr); 63 69 } 64 70 if (!data.sessions.length) { … … 118 124 if ($('cc-replay-refresh')) $('cc-replay-refresh').onclick = () => { if (currentReplay) watch(currentReplay.session.id); }; 119 125 $('tw-replay-dialog').addEventListener('cancel', e => { e.preventDefault(); closeReplay(); }); 120 async function loadSettings( ) {121 if (settingsLoad ed || settingsLoading) return;122 settingsLoading = true; 126 async function loadSettings(force = false) { 127 if (settingsLoading || settingsSaving || settingsLoaded && force !== true) return; 128 settingsLoading = true; settingsLoaded = false; 123 129 const form = $('tw-settings-form'); form.setAttribute('aria-busy','true'); 124 130 for (const input of form.elements) input.disabled = true; … … 210 216 event.preventDefault(); if (!settingsLoaded || settingsSaving) return; const form = event.currentTarget; const values = {}; 211 217 for (const input of form.elements) if (input.name) values[input.name] = input.type === 'checkbox' ? input.checked : input.type === 'number' ? Number(input.value) : input.value; 218 for (const [field, limit, text] of [ 219 ['exclude_paths', 2000, i18n.__('Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed.', 'clickclue')], 220 ['block_selector', 500, i18n.__('Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed.', 'clickclue')], 221 ]) if (new TextEncoder().encode(values[field] || '').byteLength > limit) { 222 $('tw-save-status').textContent = text; 223 window.dispatchEvent(new CustomEvent('clickclue:settings-section',{detail:{section:'capture',field}})); 224 form.elements.namedItem(field).focus(); return; 225 } 212 226 try { document.querySelector(values.block_selector || 'body'); } catch { $('tw-save-status').textContent = i18n.__('The exclusion selector is invalid. Correct it before saving.', 'clickclue'); window.dispatchEvent(new CustomEvent('clickclue:settings-section',{detail:{section:'capture',field:'block_selector'}})); form.elements.namedItem('block_selector').focus(); return; } 213 227 settingsSaving = true; … … 215 229 for (const [input] of controls) input.disabled = true; 216 230 form.setAttribute('aria-busy', 'true'); $('tw-save-status').textContent = i18n.__('Saving…', 'clickclue'); 217 try { await api('/settings', 'POST', values); $('tw-save-status').textContent = i18n.__('Settings saved.', 'clickclue'); window.dispatchEvent(new CustomEvent('tracewell:settings-saved',{detail:{values}})); load(); loadHealth(); } catch (e) { $('tw-save-status').textContent = e.message; } finally { 231 try { 232 const result = await api('/settings', 'POST', values); 233 if (result.saved !== true || !result.settings || typeof result.settings !== 'object' || Array.isArray(result.settings)) throw new Error(i18n.__('The saved settings could not be confirmed. Reload this page to check them before retrying.', 'clickclue')); 234 for (const [key, value] of Object.entries(result.settings)) { const input = form.elements.namedItem(key); if (!input) continue; if (input.type === 'checkbox') input.checked = value; else input.value = value; } 235 const savedValues = {}; 236 for (const input of form.elements) if (input.name) savedValues[input.name] = input.type === 'checkbox' ? input.checked : input.type === 'number' ? Number(input.value) : input.value; 237 $('tw-save-status').textContent = i18n.__('Settings saved.', 'clickclue'); window.dispatchEvent(new CustomEvent('tracewell:settings-saved',{detail:{values:savedValues}})); load(); loadHealth(); 238 } catch (e) { $('tw-save-status').textContent = e.message; } finally { 218 239 settingsSaving = false; for (const [input, disabled] of controls) input.disabled = disabled; 219 240 form.setAttribute('aria-busy', 'false'); … … 239 260 let debounce; $('tw-search').oninput = () => { clearTimeout(debounce); debounce = setTimeout(() => { page = 1; load(); }, 250); }; 240 261 $('tw-device').onchange = () => { page = 1; load(); }; 241 $('tw-prev').onclick = () => { page=Math.max(1,page-1); load(); }; $('tw-next').onclick = () => { page++; load(); }; $('tw-refresh').onclick = () => { if (!window.dispatchEvent(new CustomEvent('tracewell:before-refresh',{cancelable:true,detail:{name:activeTab}}))) return; load(); extraViews[activeTab]?.(); if (activeTab === 'settings') loadHealth(); }; 242 $('tw-settings-retry').onclick = loadSettings; 262 $('tw-prev').onclick = () => { page=Math.max(1,page-1); load(); }; $('tw-next').onclick = () => { page++; load(); }; $('tw-refresh').onclick = () => { 263 if (activeTab === 'settings' && (settingsSaving || settingsLoading)) { message(i18n.__('Wait for settings to finish loading or saving before refreshing.', 'clickclue')); return; } 264 if (!window.dispatchEvent(new CustomEvent('tracewell:before-refresh',{cancelable:true,detail:{name:activeTab}}))) return; 265 load(); extraViews[activeTab]?.(); 266 if (activeTab === 'settings') { loadSettings(true); loadHealth(); } 267 }; 268 $('tw-settings-retry').onclick = () => loadSettings(); 243 269 window.TracewellDashboard = {api,message,watch,currentView:()=>activeTab,addEventLabels(labels) { 244 270 if(!labels||typeof labels!=='object'||Array.isArray(labels))return; -
clickclue/trunk/assets/diagnostics.js
r3775799 r3776421 1 "use strict";(()=>{var w=Object.create(null);var C=(t,...n)=>{let l=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(i,c,s)=>{if(i==="%%")return"%";let r=n[c?Number(c)-1:l++];return String(s==="d"?Math.trunc(Number(r)):r??"")})},e={__(t,n="clickclue"){return Object.hasOwn(w,t)?w[t]:globalThis.wp?.i18n?.__(t,n)??t},_n(t,n,l,i="clickclue"){return globalThis.wp?.i18n?._n(t,n,l,i)??(l===1?t:n)},sprintf(t,...n){return globalThis.wp?.i18n?.sprintf(t,...n)??C(t,...n)}};var a=window.ClickClue||window.Tracewell;if(a&&!document.getElementById("clickclue-check")){let h=function(){let o=a.diagnostics(),_=m[o.state]||m.unavailable;r.textContent=_[0],y.textContent=_[1],g.textContent=o.lastUploadAt?e.sprintf(/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),o.uploadedEvents):e.__("No upload confirmed in this tab yet.","clickclue"),d.hidden=o.consent||o.browserOptOut||["pending","failed","legacy_unconfirmed"].includes(o.deletion),u.hidden=!o.consent,p.hidden=o.deletion!=="failed",o.state==="denied"&&(g.textContent={pending:e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),confirmed:e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),failed:e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),legacy_unconfirmed:e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),not_requested:e.__("Capture is off. No current session was submitted for deletion.","clickclue")}[o.deletion])};A=h;let t=document.createElement("div");t.id="clickclue-check",t.setAttribute("data-tw-block","");let n=t.attachShadow({mode:"open"}),l=document.createElement("style");l.textContent=":host{all:initial;position:fixed;right:16px;top:16px;z-index:2147483001;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #a9bdad;border-radius:12px;background:#fff;padding:22px;box-shadow:0 12px 44px #193e3133}h2{font-size:19px;margin:0 0 8px}p{margin:12px 0}small{display:block;color:#53675d;font-size:12px}strong{display:block}button{font:600 14px Arial,sans-serif;background:#193e31;color:#fff;border:1px solid #193e31;border-radius:6px;padding:10px 13px;cursor:pointer}button:focus-visible{outline:3px solid #638637;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.secondary{background:#fff;color:#193e31}.status{padding:13px;border-radius:7px;background:#f0f5e9}.upload{border-top:1px solid #dce3db;padding-top:14px}",n.append(l);let i=document.createElement("section");i.className="panel",i.setAttribute("aria-label",e.__("ClickClue setup check","clickclue")),n.append(i);let c=(o,_,v="")=>{let f=document.createElement(o);return f.textContent=_,f.className=v,f};i.append(c("h2",e.__("Check this test visit","clickclue")),c("small",e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue")));let s=c("div","","status");s.setAttribute("role","status");let r=c("strong",""),y=c("p","");s.append(r,y),i.append(s);let g=c("p","","upload");i.append(g);let x=c("p",e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"));i.append(x);let b=c("div","","actions"),d=c("button",e.__("Allow this replay","clickclue"));d.type="button",d.onclick=()=>a.grantConsent();let u=c("button",e.__("Stop & delete current session","clickclue"),"secondary");u.type="button",u.onclick=()=>a.withdrawConsent();let p=c("button",e.__("Retry deletion","clickclue"),"secondary");p.type="button",p.onclick=()=>a.retryDeletion(),b.append(d,u,p),i.append(b);let k=c("button",e.__("Close check","clickclue"),"secondary");k.type="button",i.append(k,c("small",e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue")));let m={waiting:[e.__("Waiting for permission","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue")],denied:[e.__("Replay declined","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue")],browser_opt_out:[e.__("Browser privacy preference respected","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue")],sampled_out:[e.__("This tab was not selected","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue")],starting:[e.__("Checking the recording service","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")],loading_recorder:[e.__("Loading the capture engine","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue")],recording:[e.__("Recording this visit","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue")],invalid_selector:[e.__("An exclusion selector is invalid","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue")],privacy_notice:[e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue")],origin_mismatch:[e.__("The request origin could not be verified","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue")],consent_changed:[e.__("Privacy information changed","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue")],paused:[e.__("Recording is paused","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue")],excluded:[e.__("This page is excluded","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue")],signed_in:[e.__("Signed-in visit excluded","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue")],quota:[e.__("Recording storage budget reached","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue")],rate_limited:[e.__("Too many starts in a short period","clickclue"),e.__("Wait before starting another test visit.","clickclue")],expired:[e.__("This session has ended","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue")],buffering:[e.__("Recording temporarily paused","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue")],recording_limit:[e.__("This recording reached its safety limit","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue")],oversized:[e.__("The recording reached its size limit","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue")],unavailable:[e.__("Could not complete recording","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue")],stopped:[e.__("Recording stopped","clickclue"),e.__("Reload this page to check the next visit.","clickclue")]};k.onclick=()=>{window.removeEventListener("tracewell:status",h),t.remove(),location.hash==="#clickclue-check"&&history.replaceState(null,"",location.pathname+location.search)},window.addEventListener("tracewell:status",h),document.body.append(t),h()}var A;})();1 "use strict";(()=>{var C=Object.create(null);var A=(t,...o)=>{let l=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(n,c,s)=>{if(n==="%%")return"%";let a=o[c?Number(c)-1:l++];return String(s==="d"?Math.trunc(Number(a)):a??"")})},e={__(t,o="clickclue"){return Object.hasOwn(C,t)?C[t]:globalThis.wp?.i18n?.__(t,o)??t},_n(t,o,l,n="clickclue"){return globalThis.wp?.i18n?._n(t,o,l,n)??(l===1?t:o)},sprintf(t,...o){return globalThis.wp?.i18n?.sprintf(t,...o)??A(t,...o)}};var k=window.ClickClueCheckConfig?.state==="signed_in",r=k?{diagnostics:()=>({state:"signed_in",consent:!1,browserOptOut:!1,deletion:"not_requested"})}:window.ClickClue||window.Tracewell,T=!1;try{T=window.top===window}catch{}if(T&&["#clickclue-check","#tracewell-check"].includes(location.hash)&&r&&!document.getElementById("clickclue-check")){let _=function(){let i=r.diagnostics(),y=i.privacyNoticeReady===!1&&["waiting","denied"].includes(i.state)?"privacy_notice":i.state,g=v[y]||v.unavailable;a.textContent=g[0],m.textContent=g[1],d.textContent=i.lastUploadAt?e.sprintf(/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),i.uploadedEvents):e.__("No upload confirmed in this tab yet.","clickclue"),u.hidden=i.consent||i.browserOptOut||i.privacyNoticeReady===!1||["privacy_notice","signed_in","paused","excluded","consent_changed"].includes(i.state)||["pending","failed","legacy_unconfirmed"].includes(i.deletion),p.hidden=!i.consent,k&&(d.textContent=e.__("No recording is made for this signed-in visit.","clickclue")),h.hidden=i.deletion!=="failed",i.state==="denied"&&(d.textContent={pending:e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),confirmed:e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),failed:e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),legacy_unconfirmed:e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),not_requested:e.__("Capture is off. No current session was submitted for deletion.","clickclue")}[i.deletion])};R=_,location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let t=document.createElement("div");t.id="clickclue-check",t.setAttribute("data-tw-block","");let o=t.attachShadow({mode:"open"}),l=document.createElement("style");l.textContent=":host{all:initial;position:fixed;right:16px;top:16px;z-index:2147483001;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;border:1px solid #a9bdad;border-radius:12px;background:#fff;padding:22px;box-shadow:0 12px 44px #193e3133}h2{font-size:19px;margin:0 0 8px}p{margin:12px 0}small{display:block;color:#53675d;font-size:12px}strong{display:block}button{font:600 14px Arial,sans-serif;background:#193e31;color:#fff;border:1px solid #193e31;border-radius:6px;padding:10px 13px;cursor:pointer}button:focus-visible{outline:3px solid #638637;outline-offset:3px}button:disabled{opacity:.5;cursor:default}.actions{display:flex;flex-wrap:wrap;gap:9px;margin:16px 0}.secondary{background:#fff;color:#193e31}.status{padding:13px;border-radius:7px;background:#f0f5e9}.upload{border-top:1px solid #dce3db;padding-top:14px}",o.append(l);let n=document.createElement("section");n.className="panel",n.setAttribute("aria-label",e.__("ClickClue setup check","clickclue")),o.append(n);let c=(i,y,g="")=>{let b=document.createElement(i);return b.textContent=y,b.className=g,b};n.append(c("h2",e.__("Check this test visit","clickclue")),c("small",e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue")));let s=c("div","","status");s.setAttribute("role","status");let a=c("strong",""),m=c("p","");s.append(a,m),n.append(s);let d=c("p","","upload");n.append(d);let w=c("p",e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"));w.hidden=k,n.append(w);let x=c("div","","actions"),u=c("button",e.__("Allow this replay","clickclue"));u.type="button",u.onclick=()=>r.grantConsent();let p=c("button",e.__("Stop & delete current session","clickclue"),"secondary");p.type="button",p.onclick=()=>r.withdrawConsent();let h=c("button",e.__("Retry deletion","clickclue"),"secondary");h.type="button",h.onclick=()=>r.retryDeletion(),x.append(u,p,h),n.append(x);let f=c("button",e.__("Close check","clickclue"),"secondary");f.type="button",n.append(f,c("small",k?e.__("This check does not enable recording.","clickclue"):e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue")));let v={waiting:[e.__("Waiting for permission","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue")],denied:[e.__("Replay declined","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue")],browser_opt_out:[e.__("Browser privacy preference respected","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue")],sampled_out:[e.__("This tab was not selected","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue")],starting:[e.__("Checking the recording service","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")],loading_recorder:[e.__("Loading the capture engine","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue")],recording:[e.__("Recording this visit","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue")],invalid_selector:[e.__("An exclusion selector is invalid","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue")],privacy_notice:[e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue")],origin_mismatch:[e.__("The request origin could not be verified","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue")],consent_changed:[e.__("Privacy information changed","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue")],paused:[e.__("Recording is paused","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue")],excluded:[e.__("This page is excluded","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue")],signed_in:[e.__("Signed-in visit excluded","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue")],quota:[e.__("Recording storage budget reached","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue")],rate_limited:[e.__("Too many starts in a short period","clickclue"),e.__("Wait before starting another test visit.","clickclue")],expired:[e.__("This session has ended","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue")],buffering:[e.__("Recording temporarily paused","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue")],recording_limit:[e.__("This recording reached its safety limit","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue")],oversized:[e.__("The recording reached its size limit","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue")],unavailable:[e.__("Could not complete recording","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue")],stopped:[e.__("Recording stopped","clickclue"),e.__("Reload this page to check the next visit.","clickclue")]};f.onclick=()=>{window.removeEventListener("tracewell:status",_),t.remove(),location.hash==="#clickclue-check"&&history.replaceState(null,"",location.pathname+location.search)},window.addEventListener("tracewell:status",_),document.body.append(t),_()}var R;})(); -
clickclue/trunk/assets/help.html
r3775799 r3776421 17 17 </section> 18 18 <section id="quick-start-record"><h3>Record an eligible visit</h3> 19 <ol><li>Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.</li><li> Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then choose Save settings. Preparing alone does not save.</li><li>Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.</li><li>Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded.</li><li>Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.</li><li>Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment,what you observed and what you will check.</li><li>Restore normal sampling or pause recording after the test.</li></ol>19 <ol><li>Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.</li><li>Open ClickClue → Settings → Test & diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save.</li><li>Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.</li><li>Under Settings → Test & diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit.</li><li>Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.</li><li>Return to Settings → Test & diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check.</li><li>Restore normal sampling or pause recording after the test.</li></ol> 20 20 </section> 21 21 <section id="quick-start-tutorial"><h3>An optional walkthrough in both editions</h3> … … 26 26 <p>Install the matching Pro add-on alongside ClickClue Free. Update Free first, then Pro. The current release adds Clues, heatmaps, structural form insights, journeys, comparisons and optional feedback without requiring WooCommerce. Earlier checkout integrations remain documented separately.</p> 27 27 <p>Pro requires ClickClue Free and a successful first licence activation for this site. Annual bundles cover 1, 5 or 25 sites with the same Pro features. Open ClickClue → Pro licence to activate. Once unlocked, local tools keep working offline or after updates and support expire; eligible updates and support are separate.</p> 28 <p>From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.</p> 29 <p>If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.</p> 28 30 <p><a href="#heatmaps-and-forms">Explore page heatmaps and forms</a></p> 31 </section> 32 <section id="quick-start-review"><h3>Leave an honest review, when you are ready</h3> 33 <p>The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue.</p> 34 <p>Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review.</p> 29 35 </section> 30 36 <p><a href="#contents">Back to contents ↑</a></p></article> … … 33 39 <p>The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected.</p> 34 40 <p>Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture.</p> 35 <ul><li>Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.</li><li>Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.</li><li>URL quer ies and fragments are removed. Recorded links and arbitrary asset URLs are stripped.</li><li>Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.</li></ul>41 <ul><li>Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.</li><li>Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.</li><li>URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped.</li><li>Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.</li></ul> 36 42 </section> 37 43 <section id="consent-and-masking-approved-images"><h3>Organise approved public images</h3> 38 <p>Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. </p>44 <p>Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget.</p> 39 45 <p>A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched.</p> 40 46 <p>Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded.</p> … … 53 59 <p>Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded.</p> 54 60 <p>Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use.</p> 61 <p>Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit.</p> 55 62 <pre><code><div data-tw-block>Private customer information</div></code></pre> 56 63 </section> … … 88 95 </section> 89 96 <p><a href="#contents">Back to contents ↑</a></p></article> 90 <article id="woocommerce"><p class="edition">Pro</p><h2>Legacy WooCommerce integration</h2><p> Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product.</p>91 <section id="woocommerce-scope"><h3> How this fits the product direction</h3>92 <p>ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions.</p>97 <article id="woocommerce"><p class="edition">Pro</p><h2>Legacy WooCommerce integration</h2><p>Use the optional legacy checkout tools already included in Pro, with their existing data and settings.</p> 98 <section id="woocommerce-scope"><h3>Where to find the legacy tools</h3> 99 <p>ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations.</p> 93 100 </section> 94 101 <section id="woocommerce-signals"><h3>What the integration observes</h3> … … 204 211 </section> 205 212 <p><a href="#contents">Back to contents ↑</a></p></article> 206 <article id="email-and-ai"><p class="edition">Pro</p><h2>Legacy email & AI summaries</h2><p>Configure checkout digests and event summaries in the current Pro preview.</p>213 <article id="email-and-ai"><p class="edition">Pro</p><h2>Legacy email & AI summaries</h2><p>Configure checkout digests and event summaries in the Pro add-on.</p> 207 214 <section id="email-and-ai-email"><h3>Configure the legacy checkout digest</h3> 208 <p>Th is preview’sdigest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.</p>215 <p>The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.</p> 209 216 <ol><li>Configure and test your WordPress mail transport.</li><li>Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold.</li><li>Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron.</li><li>Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery.</li></ol> 210 217 </section> 211 218 <section id="email-and-ai-ai"><h3>Summarise legacy checkout evidence</h3> 212 <p>This previewsummarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.</p>219 <p>This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.</p> 213 220 <p>The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day.</p> 214 221 <p>Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis.</p> … … 251 258 <p>If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names.</p> 252 259 </section> 260 <section id="updating-wordpress-updates"><h3>Update inside WordPress</h3> 261 <p>From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.</p> 262 <p>If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.</p> 263 <p>Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available.</p> 264 <p>A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.</p> 265 </section> 253 266 <section id="updating-replace"><h3>Replace the installed packages</h3> 254 <ol><li>Back up your WordPress database and plugin files. Test on a staging copy first.</li><li> Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundleis not an installable plugin.</li><li>For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.</li><li>When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.</li><li>Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.</li></ol>267 <ol><li>Back up your WordPress database and plugin files. Test on a staging copy first.</li><li>Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin.</li><li>For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.</li><li>When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.</li><li>Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.</li></ol> 255 268 </section> 256 269 <section id="updating-v090"><h3>Updating to 0.9.0</h3> … … 272 285 </section> 273 286 <section id="updating-v0610"><h3>Compatibility introduced in 0.6.10</h3> 274 <p>Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro.</p>287 <p>Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro.</p> 275 288 <p>The dashboard opens on Recordings, with Pro page analysis under Heatmaps & forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled.</p> 276 289 <p>Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage & retention before increasing sampling, retention or storage.</p> 277 <p> The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable.</p>290 <p>A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.</p> 278 291 </section> 279 292 <section id="updating-v069"><h3>Compatibility introduced in 0.6.9</h3> … … 298 311 <section id="updating-v060"><h3>Compatibility introduced in 0.6.0</h3> 299 312 <p>Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide.</p> 300 <p>Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service.</p>313 <p>Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay.</p> 301 314 </section> 302 315 <section id="updating-recovery"><h3>Recover from an unsuccessful update</h3> 303 316 <p>Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming.</p> 304 <p> The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable.</p>317 <p>If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention.</p> 305 318 </section> 306 319 <p><a href="#contents">Back to contents ↑</a></p></article> … … 348 361 <section id="commercial-team-local-choices"><h3>Local guidance and optional commercial services</h3> 349 362 <p>Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit.</p> 350 <p>The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email.</p> 351 </section> 352 <p><a href="#contents">Back to contents ↑</a></p></article> 363 <p>Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email.</p> 364 </section> 365 <p><a href="#contents">Back to contents ↑</a></p></article> 366 <p><a href="https://wordpress.org/support/plugin/clickclue/reviews/#new-post" rel="noopener noreferrer">Review ClickClue on WordPress.org</a></p> 353 367 <footer>ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation.</footer> 354 368 </main></body></html> -
clickclue/trunk/assets/player.html
r3775799 r3776421 3 3 <meta name="viewport" content="width=device-width,initial-scale=1"> 4 4 <meta name="clickclue-player" content="1"> 5 <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256- 1PF/QNZq33uKvsj1DpjkDkKCfak4owTbBLZxr9diy8Y='; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src about:; worker-src 'none'; form-action 'none'; base-uri 'none'">5 <meta http-equiv="Content-Security-Policy" content="default-src 'none'; script-src 'sha256-lPw66H4SJQLgRNlqmTleSqEH4zgRCLNO2RDHU5EW9D4='; style-src 'unsafe-inline'; img-src data:; font-src data:; connect-src 'none'; frame-src about:; worker-src 'none'; form-action 'none'; base-uri 'none'"> 6 6 <title data-clickclue-text="ClickClue session replay">ClickClue session replay</title> 7 7 <style>.replayer-wrapper { … … 99 99 <div class="view-bar"><label><input type="checkbox" id="skip-inactive" checked="" disabled=""><span data-clickclue-text="Skip inactivity"> Skip inactivity</span></label><label><span class="sr" data-clickclue-text="Playback speed">Playback speed</span><select id="speed" disabled=""><option value="0.5">0.5×</option><option value="1" selected="">1×</option><option value="2">2×</option><option value="4">4×</option></select></label><label><span data-clickclue-text="View">View </span><select id="zoom" disabled=""><option value="width" data-clickclue-text="Fit width">Fit width</option><option value="fit" data-clickclue-text="Fit window">Fit window</option><option value="0.5">50%</option><option value="0.75">75%</option><option value="1">100%</option><option value="1.25">125%</option><option value="1.5">150%</option><option value="2">200%</option></select></label><span id="viewport-size" data-clickclue-text="Recorded viewport">Recorded viewport</span><button id="fullscreen" disabled="" hidden="" data-clickclue-text="Fullscreen">Fullscreen</button><details id="replay-help"><summary data-clickclue-text="Replay guide">Replay guide</summary><p data-clickclue-text="This is a reconstruction of the recorded viewport. Fit width keeps tall mobile visits readable; scroll inside the viewer to inspect the full viewport, or choose Fit window.">This is a reconstruction of the recorded viewport. Fit width keeps tall mobile visits readable; scroll inside the viewer to inspect the full viewport, or choose Fit window.</p><p data-clickclue-text="Typed values are masked. Only individually approved public image snapshots may appear. Other media and private regions are excluded. Placeholders contain no original labels or source addresses. External fonts and backgrounds may differ.">Typed values are masked. Only individually approved public image snapshots may appear. Other media and private regions are excluded. Placeholders contain no original labels or source addresses. External fonts and backgrounds may differ.</p><p data-clickclue-text="Focus the recording area: Space plays or pauses, Left/Right move five seconds, Home/End move to the start/end. Event markers describe observations, not confirmed causes.">Focus the recording area: Space plays or pauses, Left/Right move five seconds, Home/End move to the start/end. Event markers describe observations, not confirmed causes.</p></details></div> 100 100 <p class="replay-footer" data-clickclue-text="Only approved public image copies may appear. Private content stays excluded.">Only approved public image copies may appear. Private content stays excluded.</p> 101 <script>"use strict";(()=>{var Fe=Object.create(null);function Ra(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Na=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Na(e,...t)}};function ms(e,t){Ra(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Ia=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Aa(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r101 <script>"use strict";(()=>{var Fe=Object.create(null);function Na(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Oa=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Oa(e,...t)}};function ms(e,t){Na(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Aa=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Da(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r 102 102 103 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(! Ia.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Aa(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var Da=Object.defineProperty,ka=(e,t,r)=>t in e?Da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>ka(e,typeof t!="symbol"?t+"":t,r),bs,Ta=Object.defineProperty,_a=(e,t,r)=>t in e?Ta(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>_a(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Pa(e){return Ne("Node",e,"ownerDocument")}function Fa(e){return Ne("Node",e,"childNodes")}function Ua(e){return Ne("Node",e,"parentNode")}function $a(e){return Ne("Node",e,"parentElement")}function Ba(e){return Ne("Node",e,"textContent")}function za(e,t){return ao("Node",e,"contains")(t)}function Wa(e){return ao("Node",e,"getRootNode")()}function ja(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function Va(e){return e.styleSheets}function qa(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ga(e,t){return Ne("Element",e,"querySelector")(t)}function Ha(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Ya(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Xa(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Pa,childNodes:Fa,parentNode:Ua,parentElement:$a,textContent:Ba,contains:za,getRootNode:Wa,host:ja,styleSheets:Va,shadowRoot:qa,querySelector:Ga,querySelectorAll:Ha,nowTimestamp:lo,mutationObserverCtor:Ya,patch:Xa};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Ja(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Qa(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Ja(s)}catch{return null}}function uo(e,t){if(Za(e)){let r;try{r=bi(e.styleSheet)||Qa(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return el(e)&&e.selectorText.includes(":")&&(r=Ka(r)),t?_t(r,t):r}}function Ka(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function Za(e){return"styleSheet"in e}function el(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function tl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function rl(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function il(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var sl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,nl=/^(?:[a-z+]+:)?\/\//i,ol=/^www\..*/i,al=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(sl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(nl.test(l)||ol.test(l))return`url(${c}${l}${c})`;if(al.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${il(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ll(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function ul(e,t){return ll(e,t).join("/* rr_split */")}var cl=1,fl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return cl++}function hl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return fl.test(t)?"div":t}var Ve,Es,dl=/^[^ \t\n\r\u000c]+/,pl=/^[, \t\n\r\u000c]+/;function ml(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(pl),!(r>=t.length);){let a=s(dl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function gl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?ml(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function yl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Lt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Lt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Lt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Lt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function wl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function bl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function vl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Sl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return xl(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return Cl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Sl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function Cl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function xl(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=yl(e,s,i),p=hl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=ul(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")tl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:gl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function El(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=vl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):El(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&wl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&bl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Ml(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!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,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Rl=/(max|min)-device-(width|height)/,Rs=new RegExp(Rl.source,"g"),Nl={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Ol={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,104 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Il(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Al(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function Dl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var kl={},Tl=Object.freeze(Object.defineProperty({__proto__:null,default:kl},Symbol.toStringTag,{value:"Module"})),ge=Al(Tl),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=Dl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`103 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Aa.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Da(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var ka=Object.defineProperty,Ta=(e,t,r)=>t in e?ka(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>Ta(e,typeof t!="symbol"?t+"":t,r),bs,_a=Object.defineProperty,Pa=(e,t,r)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>Pa(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Fa(e){return Ne("Node",e,"ownerDocument")}function Ua(e){return Ne("Node",e,"childNodes")}function $a(e){return Ne("Node",e,"parentNode")}function Ba(e){return Ne("Node",e,"parentElement")}function za(e){return Ne("Node",e,"textContent")}function Wa(e,t){return ao("Node",e,"contains")(t)}function ja(e){return ao("Node",e,"getRootNode")()}function Va(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function qa(e){return e.styleSheets}function Ga(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ha(e,t){return Ne("Element",e,"querySelector")(t)}function Ya(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Xa(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Ja(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Fa,childNodes:Ua,parentNode:$a,parentElement:Ba,textContent:za,contains:Wa,getRootNode:ja,host:Va,styleSheets:qa,shadowRoot:Ga,querySelector:Ha,querySelectorAll:Ya,nowTimestamp:lo,mutationObserverCtor:Xa,patch:Ja};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Qa(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Ka(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Qa(s)}catch{return null}}function uo(e,t){if(el(e)){let r;try{r=bi(e.styleSheet)||Ka(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return tl(e)&&e.selectorText.includes(":")&&(r=Za(r)),t?_t(r,t):r}}function Za(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function el(e){return"styleSheet"in e}function tl(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function rl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function il(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function sl(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var nl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ol=/^(?:[a-z+]+:)?\/\//i,al=/^www\..*/i,ll=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(nl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(ol.test(l)||al.test(l))return`url(${c}${l}${c})`;if(ll.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${sl(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ul(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function cl(e,t){return ul(e,t).join("/* rr_split */")}var fl=1,hl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return fl++}function dl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return hl.test(t)?"div":t}var Ve,Es,pl=/^[^ \t\n\r\u000c]+/,ml=/^[, \t\n\r\u000c]+/;function gl(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(ml),!(r>=t.length);){let a=s(pl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function yl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?gl(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function wl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Pt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Pt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Pt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Pt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function bl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function vl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function Sl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Cl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return El(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return xl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Cl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function xl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function El(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=wl(e,s,i),p=dl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=cl(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")rl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:yl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Ml(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=Sl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):Ml(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&bl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&vl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Rl(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!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,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Nl=/(max|min)-device-(width|height)/,Rs=new RegExp(Nl.source,"g"),Ol={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Il={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`, 104 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Dl(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function kl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var Tl={},_l=Object.freeze(Object.defineProperty({__proto__:null,default:Tl},Symbol.toStringTag,{value:"Module"})),ge=Dl(_l),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=kl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+` 105 105 `+g+o("^")}return" "+d(p)+f}).join(` 106 106 `)}toString(){let i=this.showSourceCode();return i&&(i=` … … 119 119 `)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(` 120 120 `);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return pr=r,r.default=r,pr}var mr,Ds;function Yt(){if(Ds)return mr;Ds=1;let e=yo();function t(r,s){new e(s).stringify(r)}return mr=t,t.default=t,mr}var gr,ks;function Xt(){if(ks)return gr;ks=1;let{isClean:e,my:t}=Yi(),r=Hi(),s=yo(),i=Yt();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===` 121 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function _l(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ls;function wo(){if(Ls)return br;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ps;function Qt(){if(Ps)return vr;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=_l(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`121 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function Pl(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ps;function wo(){if(Ps)return br;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ls;function Qt(){if(Ls)return vr;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=Pl(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(` 122 122 `);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return vr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),vr}var Sr,Fs;function bo(){if(Fs)return Sr;Fs=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:r,relative:s,resolve:i,sep:a}=ge,{pathToFileURL:n}=ge,u=Qt(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=` 123 123 `;this.css.includes(`\r 124 124 `)&&(h=`\r 125 125 `),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(` 126 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae( P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`127 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Pl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Pl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Lr,Qs;function xo(){if(Qs)return Lr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Lr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Lr}var Pr,Ks;function Fl(){if(Ks)return Pr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Pr=a,a.default=a,Pr}var Fr,Zs;function Ul(){if(Zs)return Fr;Zs=1;let e=Fl(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function $l(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function Bl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=Ul(),a=Yt(),n=$l(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:126 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",` 127 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Fl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Fl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Pr,Qs;function xo(){if(Qs)return Pr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Pr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Pr}var Lr,Ks;function Ul(){if(Ks)return Lr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Lr=a,a.default=a,Lr}var Fr,Zs;function $l(){if(Zs)return Fr;Zs=1;let e=Ul(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function Bl(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function zl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=$l(),a=Yt(),n=Bl(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: 128 128 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 129 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var zl=Bl(),Q=Il(zl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function Wl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Nl,Ol]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var jl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function Vl(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function ql(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&Vl(t.frameElement)))throw new Error(jl)}function Gl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Hl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Gl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Yl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=Wl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Hl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(rl(o,e))return s.getNode(e.id)}let l=Yl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Xl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Jl(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Ql(e,t){ql(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Xl(u,c=>{s&&s(c),Jl(c,u)}),l}function Kl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var Zl=Object.defineProperty,eu=(e,t,r)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>eu(e,typeof t!="symbol"?t+"":t,r),tu=Object.defineProperty,ru=(e,t,r)=>t in e?tu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>ru(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var iu=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function su(){return new iu}function nu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ou(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function au(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var lu={},uu=Object.freeze(Object.defineProperty({__proto__:null,default:lu},Symbol.toStringTag,{value:"Module"})),ye=ou(uu),Br,ln;function es(){if(ln)return Br;ln=1;let e=au(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`129 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var Wl=zl(),Q=Al(Wl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function jl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Ol,Il]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var Vl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function ql(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function Gl(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&ql(t.frameElement)))throw new Error(Vl)}function Hl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Yl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Hl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Xl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=jl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Yl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(il(o,e))return s.getNode(e.id)}let l=Xl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Jl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Ql(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Kl(e,t){Gl(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Jl(u,c=>{s&&s(c),Ql(c,u)}),l}function Zl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var eu=Object.defineProperty,tu=(e,t,r)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>tu(e,typeof t!="symbol"?t+"":t,r),ru=Object.defineProperty,iu=(e,t,r)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>iu(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var su=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function nu(){return new su}function ou(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function au(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function lu(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var uu={},cu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),ye=au(cu),Br,ln;function es(){if(ln)return Br;ln=1;let e=lu(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+` 130 130 `+g+o("^")}return" "+d(p)+f}).join(` 131 131 `)}toString(){let i=this.showSourceCode();return i&&(i=` … … 144 144 `)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(` 145 145 `);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return zr=r,r.default=r,zr}var Wr,fn;function er(){if(fn)return Wr;fn=1;let e=Mo();function t(r,s){new e(s).stringify(r)}return Wr=t,t.default=t,Wr}var jr,hn;function tr(){if(hn)return jr;hn=1;let{isClean:e,my:t}=ts(),r=es(),s=Mo(),i=er();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===` 146 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function cu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=cu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`146 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function fu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=fu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(` 147 147 `);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return Hr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),Hr}var Yr,yn;function No(){if(yn)return Yr;yn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{dirname:r,relative:s,resolve:i,sep:a}=ye,{pathToFileURL:n}=ye,u=ir(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=` 148 148 `;this.css.includes(`\r 149 149 `)&&(h=`\r 150 150 `),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(` 151 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function fu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`152 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function hu(){if(In)return oi;In=1;let e=rr(),t=fu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=hu(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function du(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function pu(){if(Tn)return ci;Tn=1;let e=du(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function mu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Ln;function gu(){if(Ln)return hi;Ln=1;let e=es(),t=rr(),r=Do(),s=ze(),i=pu(),a=er(),n=mu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:151 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function hu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",` 152 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function du(){if(In)return oi;In=1;let e=rr(),t=hu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=du(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function pu(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function mu(){if(Tn)return ci;Tn=1;let e=pu(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function gu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Pn;function yu(){if(Pn)return hi;Pn=1;let e=es(),t=rr(),r=Do(),s=ze(),i=mu(),a=er(),n=gu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: 153 153 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 154 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var yu=gu(),Z=nu(yu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function wu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Pn(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=Cu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var bu=/-([a-z])/g,vu=/^--[a-zA-Z0-9-]+$/,vi=e=>vu.test(e)?e:e.replace(bu,(t,r)=>r?r.toUpperCase():""),Su=/\B([A-Z])/g,Cu=e=>e.replace(Su,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Pt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Pt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?wu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Pn(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Pn(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},xu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Eu(e,t,r,s),_o(e,t,r,s),Mu(e,t,r)}function Eu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Ru(a,n,s);break}}return e}function Mu(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Ru(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=xu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",Tu()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Nu(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Iu(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Au(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Ou(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Nu=Pt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Ou=Ft,Iu=Ut,Au=$t;function Du(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Lo(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=Du(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Po(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function ku(e,t=su(),r=new Ze){function s(i,a){let n=Lo(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function Tu(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Po(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},_u=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!_u())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Pu(e){return Oe("Node",e,"childNodes")}function Fu(e){return Oe("Node",e,"parentNode")}function Uu(e){return Oe("Node",e,"parentElement")}function $u(e){return Oe("Node",e,"textContent")}function Bu(e,t){return Uo("Node",e,"contains")(t)}function zu(e){return Uo("Node",e,"getRootNode")()}function Wu(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function ju(e){return e.styleSheets}function Vu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function qu(e,t){return Oe("Element",e,"querySelector")(t)}function Gu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Pu,parentNode:Fu,parentElement:Uu,textContent:$u,contains:Bu,getRootNode:zu,host:Wu,styleSheets:ju,shadowRoot:Vu,querySelector:qu,querySelectorAll:Gu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r154 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var wu=yu(),Z=ou(wu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function bu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Ln(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=xu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var vu=/-([a-z])/g,Su=/^--[a-zA-Z0-9-]+$/,vi=e=>Su.test(e)?e:e.replace(vu,(t,r)=>r?r.toUpperCase():""),Cu=/\B([A-Z])/g,xu=e=>e.replace(Cu,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Lt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Lt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?bu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Ln(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Ln(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},Eu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Mu(e,t,r,s),_o(e,t,r,s),Ru(e,t,r)}function Mu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Nu(a,n,s);break}}return e}function Ru(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Nu(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=Eu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",_u()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Ou(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Au(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Du(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Iu(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Ou=Lt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Iu=Ft,Au=Ut,Du=$t;function ku(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Po(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=ku(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Lo(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function Tu(e,t=nu(),r=new Ze){function s(i,a){let n=Po(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function _u(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Lo(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},Pu=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!Pu())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Fu(e){return Oe("Node",e,"childNodes")}function Uu(e){return Oe("Node",e,"parentNode")}function $u(e){return Oe("Node",e,"parentElement")}function Bu(e){return Oe("Node",e,"textContent")}function zu(e,t){return Uo("Node",e,"contains")(t)}function Wu(e){return Uo("Node",e,"getRootNode")()}function ju(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function Vu(e){return e.styleSheets}function qu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function Gu(e,t){return Oe("Element",e,"querySelector")(t)}function Hu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Fu,parentNode:Uu,parentElement:$u,textContent:Bu,contains:zu,getRootNode:Wu,host:ju,styleSheets:Vu,shadowRoot:qu,querySelector:Gu,querySelectorAll:Hu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r 155 155 now you can use replayer.getMirror() to access the mirror instance of a replayer,\r 156 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if( Lt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Hu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Yu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Xu(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Ju(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Qu(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Ju(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Qu(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Hu(r,this.mirror)||(this.addedSet.has(r)?(Li(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Li(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Ku(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}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 Li(e,t){e.delete(t),$.childNodes(t).forEach(r=>Li(e,r))}function Ku(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:Zu(e,t)}function Zu(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function ec(e){ct=e}function tc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function rc({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function ic({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function sc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var nc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function oc({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||nc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function ac({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function lc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function uc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function cc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function fc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function hc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function dc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function pc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};dc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=rc(e),n=ic(e),u=Zo(e),l=sc(e,{win:r}),c=oc(e),o=uc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=ac(e,{win:r}),f=ea(e,e.doc),h=lc(e,{win:r}),e.collectFonts&&(m=cc(e)));let p=fc(e),g=hc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Pi=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,mc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},gc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function yc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=yc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=mc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function wc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function bc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=bc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function vc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {156 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Pt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Yu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Xu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Ju(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Qu(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Ku(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Qu(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Ku(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Yu(r,this.mirror)||(this.addedSet.has(r)?(Pi(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Pi(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Zu(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}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 Pi(e,t){e.delete(t),$.childNodes(t).forEach(r=>Pi(e,r))}function Zu(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:ec(e,t)}function ec(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function tc(e){ct=e}function rc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function ic({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function sc({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function nc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var oc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function ac({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||oc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function lc({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function uc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function cc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function fc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function hc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function dc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function pc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function mc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};pc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=ic(e),n=sc(e),u=Zo(e),l=nc(e,{win:r}),c=ac(e),o=cc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=lc(e,{win:r}),f=ea(e,e.doc),h=uc(e,{win:r}),e.collectFonts&&(m=fc(e)));let p=hc(e),g=dc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Li=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,gc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},yc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function wc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=wc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=gc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function bc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function vc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=vc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function Sc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() { 157 157 "use strict"; 158 158 var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; … … 229 229 })(); 230 230 //# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map 231 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Sc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Sc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=wc(this.processMutation.bind(this),t,r,s),n=vc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;ec(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=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,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=P=>{for(let se of k||[])se.eventProcessor&&(P=se.eventProcessor(P));return b&&!_&&(P=b(P)),P};re=(P,se)=>{var H;let te=P;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=P=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...P}})},ve=P=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...P}}),de=P=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...P}}),rt=P=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...P}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Pi({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let P of k||[])P.getMirror&&P.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Pe=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Pe},mirror:me});Dt=(P=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},P),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Ml(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},P),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let P=[],se=te=>{var fe;return W(pc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Pe,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{P.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),P.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(P.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),P.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{P.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Pe.destroy(),qt=!1,tc()}}catch(P){console.warn(P)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function Cc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function xc(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Ec(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Mc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Ec(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Rc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Nc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return gc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Oc(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ic=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Ac(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ic.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function Dc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Oc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Ac(a,l);let c=!1}catch(a){i(e,a)}}async function kc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await Dc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await kc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function Tc(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var _c=5*1e3,Lc=Cc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/_c),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Mc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Rc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Kl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(xc(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Ql(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Nc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Po(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,ku(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Lo(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Yu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Xu(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&Tc(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Qc}=je,{freezePage:Kc}=je,{takeFullSnapshot:Zc}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Pc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Pc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ga=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ya=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),wa=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),lf=[...Object.keys(or),...ga,...ya,...wa,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function Fc(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ga.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(ya.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(wa.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=Fc(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function ba(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*");function Uc(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var $c=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function va(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":$c.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=ba(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Bc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),zc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Wc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=zc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Bc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Wc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=va(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var jc=new Set(["page","click","rage_click"]);function Sa(e={maskText:!0}){let t={styleNodes:new Set};return r=>Vc(r,e,t)}function Vc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Uc(s.data.href)),s.type===5){let i=jc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:va(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var Ca=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function xa(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&Ca[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:Ca[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},L=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ea=()=>ar.fit();function ps(e){L("seek").value=String(e),L("time").textContent=`${tt(e)} / ${tt(be)}`,L("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);L("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),L("previous-event").disabled=!Ie.some(r=>r.time<e-100),L("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,L("play").textContent=z.__("Play","clickclue"),L("activity").textContent=""}function Le(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ma(e){let t=Number(L("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Le(r.time)}function qc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),L("event-ticks").replaceChildren(),L("current-event").textContent="",L("view-feedback").textContent="",L("viewport").scrollTop=0,L("viewport").scrollLeft=0,L("stage").replaceChildren(),L("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(i).disabled=!0;try{let i=ys(r),a=Sa({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=xa(n),K=new Ht(n,{root:L("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:L("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(L("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ea()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{L("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{L("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])L(f).disabled=!1;L("markers").disabled=!Ie.length,L("seek").max=String(be),L("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ea(),Le(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),L("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(a).disabled=!0;L("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),L("time").textContent="0:00 / 0:00",L("current-event").textContent="",L("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}L("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(L("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,L("play").textContent=z.__("Pause","clickclue")}};L("speed").onchange=()=>K?.setConfig({speed:Number(L("speed").value)});L("skip-inactive").onchange=()=>K?.setConfig({skipInactive:L("skip-inactive").checked});L("seek").oninput=e=>Le(e.target.value);L("previous-event").onclick=()=>Ma(-1);L("next-event").onclick=()=>Ma(1);L("markers").onchange=e=>{e.target.value!==""&&Le(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),L("play").click()),e.key==="Home"&&(e.preventDefault(),Le(0)),e.key==="End"&&(e.preventDefault(),Le(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Le(Number(L("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),qc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Le(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();231 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Cc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Cc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=bc(this.processMutation.bind(this),t,r,s),n=Sc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;tc(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=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,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=L=>{for(let se of k||[])se.eventProcessor&&(L=se.eventProcessor(L));return b&&!_&&(L=b(L)),L};re=(L,se)=>{var H;let te=L;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=L=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...L}})},ve=L=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...L}}),de=L=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...L}}),rt=L=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...L}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Li({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let L of k||[])L.getMirror&&L.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Le=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Le},mirror:me});Dt=(L=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},L),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Rl(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},L),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let L=[],se=te=>{var fe;return W(mc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Le,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{L.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),L.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(L.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),L.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{L.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Le.destroy(),qt=!1,rc()}}catch(L){console.warn(L)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function xc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function Ec(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Mc(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Rc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Mc(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Nc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Oc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return yc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Ic(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ac=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Dc(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ac.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function kc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Ic(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Dc(a,l);let c=!1}catch(a){i(e,a)}}async function Tc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await kc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await Tc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function _c(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var Pc=5*1e3,Lc=xc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/Pc),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Rc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Nc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Zl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(Ec(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Kl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Oc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Lo(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,Tu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Po(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Xu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Ju(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&_c(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Zc}=je,{freezePage:ef}=je,{takeFullSnapshot:tf}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Fc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Fc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}function Uc(e,t="https://example.invalid"){try{let r=new URL(e,t),i=["p","page_id"].filter(u=>r.searchParams.has(u));if(i.length!==1)return null;let a=i[0],n=r.searchParams.getAll(a);return n.length!==1||!/^[1-9][0-9]{0,9}$/.test(n[0])?null:{path:r.pathname,key:a,id:n[0],identity:r.pathname+"?"+a+"="+n[0]}}catch{return null}}function ga(e,t="https://example.invalid"){try{let r=new URL(e,t),s=r.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),i=Uc(e,t);return i&&s===i.path&&r.search==="?"+i.key+"="+i.id&&(s+r.search).length<=500?s+r.search:s}catch{return"/"}}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ya=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),wa=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),ba=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),ff=[...Object.keys(or),...ya,...wa,...ba,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function $c(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ya.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(wa.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(ba.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=$c(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function va(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*"),Bc=ga;function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var zc=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Sa(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":zc.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=va(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Wc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),jc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Vc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=jc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Wc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Vc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=Sa(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var qc=new Set(["page","click","rage_click"]);function Ca(e={maskText:!0}){let t={styleNodes:new Set};return r=>Gc(r,e,t)}function Gc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Bc(s.data.href)),s.type===5){let i=qc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:Sa(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var xa=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function Ea(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&xa[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:xa[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},P=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ma=()=>ar.fit();function ps(e){P("seek").value=String(e),P("time").textContent=`${tt(e)} / ${tt(be)}`,P("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);P("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),P("previous-event").disabled=!Ie.some(r=>r.time<e-100),P("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,P("play").textContent=z.__("Play","clickclue"),P("activity").textContent=""}function Pe(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ra(e){let t=Number(P("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Pe(r.time)}function Hc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),P("event-ticks").replaceChildren(),P("current-event").textContent="",P("view-feedback").textContent="",P("viewport").scrollTop=0,P("viewport").scrollLeft=0,P("stage").replaceChildren(),P("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(i).disabled=!0;try{let i=ys(r),a=Ca({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=Ea(n),K=new Ht(n,{root:P("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:P("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(P("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ma()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{P("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{P("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])P(f).disabled=!1;P("markers").disabled=!Ie.length,P("seek").max=String(be),P("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ma(),Pe(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),P("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(a).disabled=!0;P("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),P("time").textContent="0:00 / 0:00",P("current-event").textContent="",P("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}P("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(P("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,P("play").textContent=z.__("Pause","clickclue")}};P("speed").onchange=()=>K?.setConfig({speed:Number(P("speed").value)});P("skip-inactive").onchange=()=>K?.setConfig({skipInactive:P("skip-inactive").checked});P("seek").oninput=e=>Pe(e.target.value);P("previous-event").onclick=()=>Ra(-1);P("next-event").onclick=()=>Ra(1);P("markers").onchange=e=>{e.target.value!==""&&Pe(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),P("play").click()),e.key==="Home"&&(e.preventDefault(),Pe(0)),e.key==="End"&&(e.preventDefault(),Pe(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Pe(Number(P("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),Hc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Pe(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})(); 232 232 /*! Bundled license information: 233 233 -
clickclue/trunk/assets/player.js
r3775799 r3776421 1 "use strict";(()=>{var Fe=Object.create(null);function Ra(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Na=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Na(e,...t)}};function ms(e,t){Ra(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Ia=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Aa(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r1 "use strict";(()=>{var Fe=Object.create(null);function Na(e){let t=Object.create(null);if(e&&typeof e=="object"&&!Array.isArray(e)){let r=0;for(let[s,i]of Object.entries(e).slice(0,500))if(!(typeof i!="string"||s.length>8192||i.length>8192)){if(r+=s.length+i.length,r>131072)break;t[s]=i}}Fe=t}var Oa=(e,...t)=>{let r=0;return String(e).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,i,a)=>{if(s==="%%")return"%";let n=t[i?Number(i)-1:r++];return String(a==="d"?Math.trunc(Number(n)):n??"")})},z={__(e,t="clickclue"){return Object.hasOwn(Fe,e)?Fe[e]:globalThis.wp?.i18n?.__(e,t)??e},_n(e,t,r,s="clickclue"){return globalThis.wp?.i18n?._n(e,t,r,s)??(r===1?e:t)},sprintf(e,...t){return globalThis.wp?.i18n?.sprintf(e,...t)??Oa(e,...t)}};function ms(e,t){Na(t.translations),e.documentElement.lang=typeof t.language=="string"&&/^[A-Za-z0-9-]{1,64}$/.test(t.language)?t.language:"en",e.documentElement.dir=t.direction==="rtl"?"rtl":"ltr";for(let r of e.querySelectorAll("[data-clickclue-text]")){let s=r.getAttribute("data-clickclue-text");r.textContent=Object.hasOwn(Fe,s)?Fe[s]:s}for(let r of e.querySelectorAll("[data-clickclue-label]")){let s=r.getAttribute("data-clickclue-label");r.setAttribute("aria-label",Object.hasOwn(Fe,s)?Fe[s]:s)}}var gs="data-tw-media",Aa=/^[a-f0-9]{64}$/,wt=e=>typeof e=="string"&&e.length<=80&&e.split(" ").length===2&&e.split(" ").every(t=>/^[-+]?(?:\d{1,4})(?:\.\d{1,5})?(?:%|px)$/.test(t)&&Math.abs(parseFloat(t))<=8192)?e:"50% 50%",bt=e=>["fill","cover","contain","none","scale-down"].includes(e)?e:"contain";function Da(e,t){let r=i=>e.charCodeAt(i)*256+e.charCodeAt(i+1),s=i=>r(i)*65536+r(i+2);if(t==="image/png"){if(e.slice(0,8)!==`\x89PNG\r 2 2 3 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(! Ia.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Aa(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var Da=Object.defineProperty,ka=(e,t,r)=>t in e?Da(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>ka(e,typeof t!="symbol"?t+"":t,r),bs,Ta=Object.defineProperty,_a=(e,t,r)=>t in e?Ta(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>_a(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Pa(e){return Ne("Node",e,"ownerDocument")}function Fa(e){return Ne("Node",e,"childNodes")}function Ua(e){return Ne("Node",e,"parentNode")}function $a(e){return Ne("Node",e,"parentElement")}function Ba(e){return Ne("Node",e,"textContent")}function za(e,t){return ao("Node",e,"contains")(t)}function Wa(e){return ao("Node",e,"getRootNode")()}function ja(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function Va(e){return e.styleSheets}function qa(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ga(e,t){return Ne("Element",e,"querySelector")(t)}function Ha(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Ya(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Xa(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Pa,childNodes:Fa,parentNode:Ua,parentElement:$a,textContent:Ba,contains:za,getRootNode:Wa,host:ja,styleSheets:Va,shadowRoot:qa,querySelector:Ga,querySelectorAll:Ha,nowTimestamp:lo,mutationObserverCtor:Ya,patch:Xa};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Ja(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Qa(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Ja(s)}catch{return null}}function uo(e,t){if(Za(e)){let r;try{r=bi(e.styleSheet)||Qa(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return el(e)&&e.selectorText.includes(":")&&(r=Ka(r)),t?_t(r,t):r}}function Ka(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function Za(e){return"styleSheet"in e}function el(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function tl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function rl(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function il(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var sl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,nl=/^(?:[a-z+]+:)?\/\//i,ol=/^www\..*/i,al=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(sl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(nl.test(l)||ol.test(l))return`url(${c}${l}${c})`;if(al.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${il(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ll(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function ul(e,t){return ll(e,t).join("/* rr_split */")}var cl=1,fl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return cl++}function hl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return fl.test(t)?"div":t}var Ve,Es,dl=/^[^ \t\n\r\u000c]+/,pl=/^[, \t\n\r\u000c]+/;function ml(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(pl),!(r>=t.length);){let a=s(dl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function gl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?ml(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function yl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Lt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Lt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Lt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Lt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function wl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function bl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function vl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Sl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return xl(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return Cl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Sl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function Cl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function xl(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=yl(e,s,i),p=hl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=ul(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")tl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:gl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function El(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=vl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):El(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&wl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&bl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Ml(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!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,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Rl=/(max|min)-device-(width|height)/,Rs=new RegExp(Rl.source,"g"),Nl={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Ol={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`,4 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Il(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Al(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function Dl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var kl={},Tl=Object.freeze(Object.defineProperty({__proto__:null,default:kl},Symbol.toStringTag,{value:"Module"})),ge=Al(Tl),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=Dl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`3 `||e.slice(12,16)!=="IHDR"||s(8)!==13)return null;for(let i=8;i+12<=e.length;){let a=s(i),n=e.slice(i+4,i+8);if(a>e.length-i-12||n==="acTL")return null;if(n==="IEND")return[s(16),s(20)];i+=a+12}return null}if(t==="image/jpeg"&&e.slice(0,2)==="\xFF\xD8")for(let i=2;i+4<e.length;){if(e.charCodeAt(i++)!==255)return null;for(;e.charCodeAt(i)===255;)i++;let a=e.charCodeAt(i++);if(a===217||a===218)return null;let n=r(i);if(n<2||i+n>e.length)return null;if([192,193,194].includes(a))return[r(i+5),r(i+3)];i+=n}return null}function ys(e){let t=new Map,r=0;if(!e||typeof e!="object"||Array.isArray(e))return t;for(let[s,i]of Object.entries(e).slice(0,64))if(!(!Aa.test(s)||!i||!["image/png","image/jpeg"].includes(i.mime)||!Number.isInteger(i.width)||!Number.isInteger(i.height)||i.width<1||i.height<1||i.width>1024||i.height>1024||typeof i.data!="string"||i.data.length>174764||!i.data.length||i.data.length%4||!/^[A-Za-z0-9+/]+={0,2}$/.test(i.data)))try{let a=atob(i.data);if(a.length>131072)continue;let n=Da(a,i.mime);if(!n||n[0]!==i.width||n[1]!==i.height||r+i.data.length+128>2097152)continue;r+=i.data.length+128,t.set(s,"data:"+i.mime+";base64,"+i.data)}catch{}return t}function ws(e,t){if(!e?.documentElement||!t.size)return()=>{};let r=i=>{if(i.nodeType!==1)return;let a=[...i.matches("[data-tw-media],.tw-approved-media")?[i]:[],...i.querySelectorAll("[data-tw-media],.tw-approved-media")];for(let n of a){let u=t.get(n.getAttribute(gs));if(u){n.classList.contains("tw-approved-media")||n.classList.add("tw-approved-media");let l='url("'+u+'")';n.style.backgroundImage!==l&&n.style.setProperty("background-image",l,"important");let c=bt(n.getAttribute("data-tw-image-fit")),o=c==="cover"?"cover":c==="fill"?"100% 100%":"contain";n.style.backgroundSize!==o&&n.style.setProperty("background-size",o,"important"),n.style.backgroundRepeat!=="no-repeat"&&n.style.setProperty("background-repeat","no-repeat","important");let d=wt(n.getAttribute("data-tw-image-position"));n.style.backgroundPosition!==d&&n.style.setProperty("background-position",d,"important")}else n.classList.contains("tw-approved-media")&&(n.classList.remove("tw-approved-media"),n.style.removeProperty("background-image"))}};r(e.documentElement);let s=new e.defaultView.MutationObserver(i=>{for(let a of i)if(a.type==="attributes")r(a.target);else for(let n of a.addedNodes)r(n)});return s.observe(e.documentElement,{subtree:!0,childList:!0,attributes:!0,attributeFilter:[gs,"data-tw-image-fit","data-tw-image-position","class","style"]}),()=>s.disconnect()}var ka=Object.defineProperty,Ta=(e,t,r)=>t in e?ka(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,R=(e,t,r)=>Ta(e,typeof t!="symbol"?t+"":t,r),bs,_a=Object.defineProperty,Pa=(e,t,r)=>t in e?_a(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vs=(e,t,r)=>Pa(e,typeof t!="symbol"?t+"":t,r),U=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(U||{}),Ss={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Cs={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},vt={},oo={},La=()=>!!globalThis.Zone;function ji(e){if(vt[e])return vt[e];let t=globalThis[e],r=t.prototype,s=e in Ss?Ss[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Cs?Cs[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!La())return vt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),oo[e]=()=>u.remove()):u.remove(),vt[e]=c}catch{return r}}var fr={};function Ne(e,t,r){var s;let i=`${e}.${String(r)}`;if(fr[i])return fr[i].call(t);let a=ji(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(fr[i]=n,n.call(t)):t[r]}var hr={};function ao(e,t,r){let s=`${e}.${String(r)}`;if(hr[s])return hr[s].bind(t);let a=ji(e)[r];return typeof a!="function"?t[r]:(hr[s]=a,a.bind(t))}function Fa(e){return Ne("Node",e,"ownerDocument")}function Ua(e){return Ne("Node",e,"childNodes")}function $a(e){return Ne("Node",e,"parentNode")}function Ba(e){return Ne("Node",e,"parentElement")}function za(e){return Ne("Node",e,"textContent")}function Wa(e,t){return ao("Node",e,"contains")(t)}function ja(e){return ao("Node",e,"getRootNode")()}function Va(e){return!e||!("host"in e)?null:Ne("ShadowRoot",e,"host")}function qa(e){return e.styleSheets}function Ga(e){return!e||!("shadowRoot"in e)?null:Ne("Element",e,"shadowRoot")}function Ha(e,t){return Ne("Element",e,"querySelector")(t)}function Ya(e,t){return Ne("Element",e,"querySelectorAll")(t)}function Xa(){return[ji("MutationObserver").constructor,oo.MutationObserver??(()=>{})]}var lo=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(lo=()=>new Date().getTime());function Ja(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var ne={ownerDocument:Fa,childNodes:Ua,parentNode:$a,parentElement:Ba,textContent:za,contains:Wa,getRootNode:ja,host:Va,styleSheets:qa,shadowRoot:Ga,querySelector:Ha,querySelectorAll:Ya,nowTimestamp:lo,mutationObserverCtor:Xa,patch:Ja};function Vi(e){return e.nodeType===e.ELEMENT_NODE}function ot(e){let t=e&&"host"in e&&"mode"in e&&ne.host(e)||null;return!!(t&&"shadowRoot"in t&&ne.shadowRoot(t)===e)}function at(e){return Object.prototype.toString.call(e)==="[object ShadowRoot]"}function Qa(e){return e.includes(" background-clip: text;")&&!e.includes(" -webkit-background-clip: text;")&&(e=e.replace(/\sbackground-clip:\s*text;/g," -webkit-background-clip: text; background-clip: text;")),e}function Ka(e){let{cssText:t}=e;if(t.split('"').length<3)return t;let r=["@import",`url(${JSON.stringify(e.href)})`];return e.layerName===""?r.push("layer"):e.layerName&&r.push(`layer(${e.layerName})`),e.supportsText&&r.push(`supports(${e.supportsText})`),e.media.length&&r.push(e.media.mediaText),r.join(" ")+";"}function bi(e){try{let t=e.rules||e.cssRules;if(!t)return null;let r=e.href;!r&&e.ownerNode&&(r=e.ownerNode.baseURI);let s=Array.from(t,i=>uo(i,r)).join("");return Qa(s)}catch{return null}}function uo(e,t){if(el(e)){let r;try{r=bi(e.styleSheet)||Ka(e)}catch{r=e.cssText}return e.styleSheet.href?_t(r,e.styleSheet.href):r}else{let r=e.cssText;return tl(e)&&e.selectorText.includes(":")&&(r=Za(r)),t?_t(r,t):r}}function Za(e){let t=/(\[(?:[\w-]+)[^\\])(:(?:[\w-]+)\])/gm;return e.replace(t,"$1\\$2")}function el(e){return"styleSheet"in e}function tl(e){return"selectorText"in e}var ft=class{constructor(){vs(this,"idNodeMap",new Map),vs(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function co(){return new ft}function kt({element:e,maskInputOptions:t,tagName:r,type:s,value:i,maskInputFn:a}){let n=i||"",u=s&&Me(s);return(t[r.toLowerCase()]||u&&t[u])&&(a?n=a(n,e):n="*".repeat(n.length)),n}function Me(e){return e.toLowerCase()}var xs="__rrweb_original__";function rl(e){let t=e.getContext("2d");if(!t)return!0;let r=50;for(let s=0;s<e.width;s+=r)for(let i=0;i<e.height;i+=r){let a=t.getImageData,n=xs in a?a[xs]:a;if(new Uint32Array(n.call(t,s,i,Math.min(r,e.width-s),Math.min(r,e.height-i)).data.buffer).some(l=>l!==0))return!1}return!0}function il(e,t){return!e||!t||e.type!==t.type?!1:e.type===U.Document?e.compatMode===t.compatMode:e.type===U.DocumentType?e.name===t.name&&e.publicId===t.publicId&&e.systemId===t.systemId:e.type===U.Comment||e.type===U.Text||e.type===U.CDATA?e.textContent===t.textContent:e.type===U.Element?e.tagName===t.tagName&&JSON.stringify(e.attributes)===JSON.stringify(t.attributes)&&e.isSVG===t.isSVG&&e.needBlock===t.needBlock:!1}function Tt(e){let t=e.type;return e.hasAttribute("data-rr-is-password")?"password":t?Me(t):null}function qi(e,t){let r;try{r=new URL(e,t??window.location.href)}catch{return null}let s=/\.([0-9a-z]+)(?:$)/i,i=r.pathname.match(s);return i?.[1]??null}function sl(e){let t="";return e.indexOf("//")>-1?t=e.split("/").slice(0,3).join("/"):t=e.split("/")[0],t=t.split("?")[0],t}var nl=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,ol=/^(?:[a-z+]+:)?\/\//i,al=/^www\..*/i,ll=/^(data:)([^,]*),(.*)/i;function _t(e,t){return(e||"").replace(nl,(r,s,i,a,n,u)=>{let l=i||n||u,c=s||a||"";if(!l)return r;if(ol.test(l)||al.test(l))return`url(${c}${l}${c})`;if(ll.test(l))return`url(${c}${l}${c})`;if(l[0]==="/")return`url(${c}${sl(t)+l}${c})`;let o=l.split("#")[0],d=l.substring(o.length),f=t.split("#")[0].split("/"),h=o.split("/");f.pop();for(let m of h)m!=="."&&(m===".."?f.pop():f.push(m));return`url(${c}${f.join("/")}${d}${c})`})}function St(e,t=!1){return t?e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,""):e.replace(/(\/\*[^*]*\*\/)|[\s;]/g,"").replace(/0px/g,"0")}function ul(e,t,r=!1){let s=Array.from(t.childNodes),i=[],a=0;if(s.length>1&&e&&typeof e=="string"){let n=St(e,r),u=n.length/e.length;for(let l=1;l<s.length;l++)if(s[l].textContent&&typeof s[l].textContent=="string"){let c=St(s[l].textContent,r),o=100,d=3;for(;d<c.length&&(c[d].match(/[a-zA-Z0-9]/)||c.indexOf(c.substring(0,d),1)!==-1);d++);for(;d<c.length;d++){let f=c.substring(0,d),h=n.split(f),m=-1;if(h.length===2)m=h[0].length;else if(h.length>2&&h[0]===""&&s[l-1].textContent!=="")m=n.indexOf(f,1);else if(h.length===1){if(f=f.substring(0,f.length-1),h=n.split(f),h.length<=1)return i.push(e),i;d=o+1}else d===c.length-1&&(m=n.indexOf(f));if(h.length>=2&&d>o){let p=s[l-1].textContent;if(p&&typeof p=="string"){let g=St(p).length;m=n.indexOf(f,g)}m===-1&&(m=h[0].length)}if(m!==-1){let p=Math.floor(m/u);for(;p>0&&p<e.length;){if(a+=1,a>50*s.length)return i.push(e),i;let g=St(e.substring(0,p),r);if(g.length===m){i.push(e.substring(0,p)),e=e.substring(p),n=n.substring(m);break}else g.length<m?p+=Math.max(1,Math.floor((m-g.length)/u)):p-=Math.max(1,Math.floor((g.length-m)*u))}break}}}}return i.push(e),i}function cl(e,t){return ul(e,t).join("/* rr_split */")}var fl=1,hl=new RegExp("[^a-z0-9-_:]"),ht=-2;function fo(){return fl++}function dl(e){if(e instanceof HTMLFormElement)return"form";let t=Me(e.tagName);return hl.test(t)?"div":t}var Ve,Es,pl=/^[^ \t\n\r\u000c]+/,ml=/^[, \t\n\r\u000c]+/;function gl(e,t){if(t.trim()==="")return t;let r=0;function s(a){let n,u=a.exec(t.substring(r));return u?(n=u[0],r+=n.length,n):""}let i=[];for(;s(ml),!(r>=t.length);){let a=s(pl);if(a.slice(-1)===",")a=Ye(e,a.substring(0,a.length-1)),i.push(a);else{let n="";a=Ye(e,a);let u=!1;for(;;){let l=t.charAt(r);if(l===""){i.push((a+n).trim());break}else if(u)l===")"&&(u=!1);else if(l===","){r+=1,i.push((a+n).trim());break}else l==="("&&(u=!0);n+=l,r+=1}}}return i.join(", ")}var Ms=new WeakMap;function Ye(e,t){return!t||t.trim()===""?t:Gi(e,t)}function yl(e){return!!(e.tagName==="svg"||e.ownerSVGElement)}function Gi(e,t){let r=Ms.get(e);if(r||(r=e.createElement("a"),Ms.set(e,r)),!t)t="";else if(t.startsWith("blob:")||t.startsWith("data:"))return t;return r.setAttribute("href",t),r.href}function ho(e,t,r,s){return s&&(r==="src"||r==="href"&&!(t==="use"&&s[0]==="#")||r==="xlink:href"&&s[0]!=="#"||r==="background"&&["table","td","th"].includes(t)?Ye(e,s):r==="srcset"?gl(e,s):r==="style"?_t(s,Gi(e)):t==="object"&&r==="data"?Ye(e,s):s)}function po(e,t,r){return["video","audio"].includes(e)&&Me(t)==="autoplay"}function wl(e,t,r){try{if(typeof t=="string"){if(e.classList.contains(t))return!0}else for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}if(r)return e.matches(r)}catch{}return!1}function Pt(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return r?Pt(ne.parentNode(e),t,r):!1;for(let s=e.classList.length;s--;){let i=e.classList[s];if(t.test(i))return!0}return r?Pt(ne.parentNode(e),t,r):!1}function mo(e,t,r,s){let i;if(Vi(e)){if(i=e,!ne.childNodes(i).length)return!1}else{if(ne.parentElement(e)===null)return!1;i=ne.parentElement(e)}try{if(typeof t=="string"){if(s){if(i.closest(`.${t}`))return!0}else if(i.classList.contains(t))return!0}else if(Pt(i,t,s))return!0;if(r){if(s){if(i.closest(r))return!0}else if(i.matches(r))return!0}}catch{}return!1}function bl(e,t,r){let s=e.contentWindow;if(!s)return;let i=!1,a;try{a=s.document.readyState}catch{return}if(a!=="complete"){let u=setTimeout(()=>{i||(t(),i=!0)},r);e.addEventListener("load",()=>{clearTimeout(u),i=!0,t()});return}let n="about:blank";if(s.location.href!==n||e.src===n||e.src==="")return setTimeout(t,0),e.addEventListener("load",t);e.addEventListener("load",t)}function vl(e,t,r){let s=!1,i;try{i=e.sheet}catch{return}if(i)return;let a=setTimeout(()=>{s||(t(),s=!0)},r);e.addEventListener("load",()=>{clearTimeout(a),s=!0,t()})}function Sl(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:n,inlineStylesheet:u,maskInputOptions:l={},maskTextFn:c,maskInputFn:o,dataURLOptions:d={},inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p=!1,cssCaptured:g=!1}=t,b=Cl(r,s);switch(e.nodeType){case e.DOCUMENT_NODE:return e.compatMode!=="CSS1Compat"?{type:U.Document,childNodes:[],compatMode:e.compatMode}:{type:U.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:U.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:b};case e.ELEMENT_NODE:return El(e,{doc:r,blockClass:i,blockSelector:a,inlineStylesheet:u,maskInputOptions:l,maskInputFn:o,dataURLOptions:d,inlineImages:f,recordCanvas:h,keepIframeSrcFn:m,newlyAddedElement:p,rootId:b});case e.TEXT_NODE:return xl(e,{doc:r,needsMask:n,maskTextFn:c,rootId:b,cssCaptured:g});case e.CDATA_SECTION_NODE:return{type:U.CDATA,textContent:"",rootId:b};case e.COMMENT_NODE:return{type:U.Comment,textContent:ne.textContent(e)||"",rootId:b};default:return!1}}function Cl(e,t){if(!t.hasNode(e))return;let r=t.getId(e);return r===1?void 0:r}function xl(e,t){let{needsMask:r,maskTextFn:s,rootId:i,cssCaptured:a}=t,n=ne.parentNode(e),u=n&&n.tagName,l="",c=u==="STYLE"?!0:void 0,o=u==="SCRIPT"?!0:void 0;return o?l="SCRIPT_PLACEHOLDER":a||(l=ne.textContent(e),c&&l&&(l=_t(l,Gi(t.doc)))),!c&&!o&&l&&r&&(l=s?s(l,ne.parentElement(e)):l.replace(/[\S]/g,"*")),{type:U.Text,textContent:l||"",rootId:i}}function El(e,t){let{doc:r,blockClass:s,blockSelector:i,inlineStylesheet:a,maskInputOptions:n={},maskInputFn:u,dataURLOptions:l={},inlineImages:c,recordCanvas:o,keepIframeSrcFn:d,newlyAddedElement:f=!1,rootId:h}=t,m=wl(e,s,i),p=dl(e),g={},b=e.attributes.length;for(let w=0;w<b;w++){let C=e.attributes[w];po(p,C.name,C.value)||(g[C.name]=ho(r,p,Me(C.name),C.value))}if(p==="link"&&a){let w=Array.from(r.styleSheets).find(v=>v.href===e.href),C=null;w&&(C=bi(w)),C&&(delete g.rel,delete g.href,g._cssText=C)}if(p==="style"&&e.sheet){let w=bi(e.sheet);w&&(e.childNodes.length>1&&(w=cl(w,e)),g._cssText=w)}if(["input","textarea","select"].includes(p)){let w=e.value,C=e.checked;g.type!=="radio"&&g.type!=="checkbox"&&g.type!=="submit"&&g.type!=="button"&&w?g.value=kt({element:e,type:Tt(e),tagName:p,value:w,maskInputOptions:n,maskInputFn:u}):C&&(g.checked=C)}if(p==="option"&&(e.selected&&!n.select?g.selected=!0:delete g.selected),p==="dialog"&&e.open&&(g.rr_open_mode=e.matches("dialog:modal")?"modal":"non-modal"),p==="canvas"&&o){if(e.__context==="2d")rl(e)||(g.rr_dataURL=e.toDataURL(l.type,l.quality));else if(!("__context"in e)){let w=e.toDataURL(l.type,l.quality),C=r.createElement("canvas");C.width=e.width,C.height=e.height;let v=C.toDataURL(l.type,l.quality);w!==v&&(g.rr_dataURL=w)}}if(p==="img"&&c){Ve||(Ve=r.createElement("canvas"),Es=Ve.getContext("2d"));let w=e,C=w.currentSrc||w.getAttribute("src")||"<unknown-src>",v=w.crossOrigin,S=()=>{w.removeEventListener("load",S);try{Ve.width=w.naturalWidth,Ve.height=w.naturalHeight,Es.drawImage(w,0,0),g.rr_dataURL=Ve.toDataURL(l.type,l.quality)}catch(x){if(w.crossOrigin!=="anonymous"){w.crossOrigin="anonymous",w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S);return}else console.warn(`Cannot inline img src=${C}! Error: ${x}`)}w.crossOrigin==="anonymous"&&(v?g.crossOrigin=v:w.removeAttribute("crossorigin"))};w.complete&&w.naturalWidth!==0?S():w.addEventListener("load",S)}if(["audio","video"].includes(p)){let w=g;w.rr_mediaState=e.paused?"paused":"played",w.rr_mediaCurrentTime=e.currentTime,w.rr_mediaPlaybackRate=e.playbackRate,w.rr_mediaMuted=e.muted,w.rr_mediaLoop=e.loop,w.rr_mediaVolume=e.volume}if(f||(e.scrollLeft&&(g.rr_scrollLeft=e.scrollLeft),e.scrollTop&&(g.rr_scrollTop=e.scrollTop)),m){let{width:w,height:C}=e.getBoundingClientRect();g={class:g.class,rr_width:`${w}px`,rr_height:`${C}px`}}p==="iframe"&&!d(g.src)&&(e.contentDocument||(g.rr_src=g.src),delete g.src);let y;try{customElements.get(p)&&(y=!0)}catch{}return{type:U.Element,tagName:p,attributes:g,childNodes:[],isSVG:yl(e)||void 0,needBlock:m,rootId:h,isCustom:y}}function X(e){return e==null?"":e.toLowerCase()}function go(e){return e===!0||e==="all"?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:e==="all",headMetaDescKeywords:e==="all",headTitleMutations:e==="all"}:e||{}}function Ml(e,t){if(t.comment&&e.type===U.Comment)return!0;if(e.type===U.Element){if(t.script&&(e.tagName==="script"||e.tagName==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||e.tagName==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"))return!0;if(t.headFavicon&&(e.tagName==="link"&&e.attributes.rel==="shortcut icon"||e.tagName==="meta"&&(X(e.attributes.name).match(/^msapplication-tile(image|color)$/)||X(e.attributes.name)==="application-name"||X(e.attributes.rel)==="icon"||X(e.attributes.rel)==="apple-touch-icon"||X(e.attributes.rel)==="shortcut icon")))return!0;if(e.tagName==="meta"){if(t.headMetaDescKeywords&&X(e.attributes.name).match(/^description|keywords$/))return!0;if(t.headMetaSocial&&(X(e.attributes.property).match(/^(og|twitter|fb):/)||X(e.attributes.name).match(/^(og|twitter):/)||X(e.attributes.name)==="pinterest"))return!0;if(t.headMetaRobots&&(X(e.attributes.name)==="robots"||X(e.attributes.name)==="googlebot"||X(e.attributes.name)==="bingbot"))return!0;if(t.headMetaHttpEquiv&&e.attributes["http-equiv"]!==void 0)return!0;if(t.headMetaAuthorship&&(X(e.attributes.name)==="author"||X(e.attributes.name)==="generator"||X(e.attributes.name)==="framework"||X(e.attributes.name)==="publisher"||X(e.attributes.name)==="progid"||X(e.attributes.property).match(/^article:/)||X(e.attributes.property).match(/^product:/)))return!0;if(t.headMetaVerification&&(X(e.attributes.name)==="google-site-verification"||X(e.attributes.name)==="yandex-verification"||X(e.attributes.name)==="csrf-token"||X(e.attributes.name)==="p:domain_verify"||X(e.attributes.name)==="verify-v1"||X(e.attributes.name)==="verification"||X(e.attributes.name)==="shopify-checkout-api-token"))return!0}}return!1}function Xe(e,t){let{doc:r,mirror:s,blockClass:i,blockSelector:a,maskTextClass:n,maskTextSelector:u,skipChild:l=!1,inlineStylesheet:c=!0,maskInputOptions:o={},maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m={},inlineImages:p=!1,recordCanvas:g=!1,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w=5e3,onStylesheetLoad:C,stylesheetLoadTimeout:v=5e3,keepIframeSrcFn:S=()=>!1,newlyAddedElement:x=!1,cssCaptured:M=!1}=t,{needsMask:I}=t,{preserveWhiteSpace:N=!0}=t;I||(I=mo(e,n,u,I===void 0));let F=Sl(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,dataURLOptions:m,inlineImages:p,recordCanvas:g,keepIframeSrcFn:S,newlyAddedElement:x,cssCaptured:M});if(!F)return console.warn(e,"not serialized"),null;let k;s.hasNode(e)?k=s.getId(e):Ml(F,h)||!N&&F.type===U.Text&&!F.textContent.replace(/^\s+|\s+$/gm,"").length?k=ht:k=fo();let E=Object.assign(F,{id:k});if(s.add(e,E),k===ht)return null;b&&b(e);let ce=!l;if(E.type===U.Element){ce=ce&&!E.needBlock,delete E.needBlock;let j=ne.shadowRoot(e);j&&at(j)&&(E.isShadowHost=!0)}if((E.type===U.Document||E.type===U.Element)&&ce){h.headWhitespace&&E.type===U.Element&&E.tagName==="head"&&(N=!1);let j={doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:l,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S,cssCaptured:!1};if(!(E.type===U.Element&&E.tagName==="textarea"&&E.attributes.value!==void 0)){E.type===U.Element&&E.attributes._cssText!==void 0&&typeof E.attributes._cssText=="string"&&(j.cssCaptured=!0);for(let J of Array.from(ne.childNodes(e))){let ie=Xe(J,j);ie&&E.childNodes.push(ie)}}let _=null;if(Vi(e)&&(_=ne.shadowRoot(e)))for(let J of Array.from(ne.childNodes(_))){let ie=Xe(J,j);ie&&(at(_)&&(ie.isShadow=!0),E.childNodes.push(ie))}}let oe=ne.parentNode(e);return oe&&ot(oe)&&at(oe)&&(E.isShadow=!0),E.type===U.Element&&E.tagName==="iframe"&&bl(e,()=>{let j=e.contentDocument;if(j&&y){let _=Xe(j,{doc:j,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});_&&y(e,_)}},w),E.type===U.Element&&E.tagName==="link"&&typeof E.attributes.rel=="string"&&(E.attributes.rel==="stylesheet"||E.attributes.rel==="preload"&&typeof E.attributes.href=="string"&&qi(E.attributes.href)==="css")&&vl(e,()=>{if(C){let j=Xe(e,{doc:r,mirror:s,blockClass:i,blockSelector:a,needsMask:I,maskTextClass:n,maskTextSelector:u,skipChild:!1,inlineStylesheet:c,maskInputOptions:o,maskTextFn:d,maskInputFn:f,slimDOMOptions:h,dataURLOptions:m,inlineImages:p,recordCanvas:g,preserveWhiteSpace:N,onSerialize:b,onIframeLoad:y,iframeLoadTimeout:w,onStylesheetLoad:C,stylesheetLoadTimeout:v,keepIframeSrcFn:S});j&&C(e,j)}},v),E}function Rl(e,t){let{mirror:r=new ft,blockClass:s="rr-block",blockSelector:i=null,maskTextClass:a="rr-mask",maskTextSelector:n=null,inlineStylesheet:u=!0,inlineImages:l=!1,recordCanvas:c=!1,maskAllInputs:o=!1,maskTextFn:d,maskInputFn:f,slimDOM:h=!1,dataURLOptions:m,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v=()=>!1}=t,S=o===!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,password:!0}:o===!1?{password:!0}:o,x=go(h);return Xe(e,{doc:e,mirror:r,blockClass:s,blockSelector:i,maskTextClass:a,maskTextSelector:n,skipChild:!1,inlineStylesheet:u,maskInputOptions:S,maskTextFn:d,maskInputFn:f,slimDOMOptions:x,dataURLOptions:m,inlineImages:l,recordCanvas:c,preserveWhiteSpace:p,onSerialize:g,onIframeLoad:b,iframeLoadTimeout:y,onStylesheetLoad:w,stylesheetLoadTimeout:C,keepIframeSrcFn:v,newlyAddedElement:!1})}var Nl=/(max|min)-device-(width|height)/,Rs=new RegExp(Nl.source,"g"),Ol={postcssPlugin:"postcss-custom-selectors",prepare(){return{postcssPlugin:"postcss-custom-selectors",AtRule:function(e){e.params.match(Rs)&&(e.params=e.params.replace(Rs,"$1-$2"))}}}},Il={postcssPlugin:"postcss-hover-classes",prepare:function(){let e=[];return{Rule:function(t){e.indexOf(t)===-1&&(e.push(t),t.selectors.forEach(function(r){r.includes(":hover")&&(t.selector+=`, 4 `+r.replace(/:hover/g,".\\:hover"))}))}}}};function Al(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function Dl(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Ct={exports:{}},Ns;function kl(){if(Ns)return Ct.exports;Ns=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Ct.exports=t(),Ct.exports.createColors=t,Ct.exports}var Tl={},_l=Object.freeze(Object.defineProperty({__proto__:null,default:Tl},Symbol.toStringTag,{value:"Module"})),ge=Dl(_l),dr,Os;function Hi(){if(Os)return dr;Os=1;let e=kl(),t=ge;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+` 5 5 `+g+o("^")}return" "+d(p)+f}).join(` 6 6 `)}toString(){let i=this.showSourceCode();return i&&(i=` … … 19 19 `)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(` 20 20 `);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return pr=r,r.default=r,pr}var mr,Ds;function Yt(){if(Ds)return mr;Ds=1;let e=yo();function t(r,s){new e(s).stringify(r)}return mr=t,t.default=t,mr}var gr,ks;function Xt(){if(ks)return gr;ks=1;let{isClean:e,my:t}=Yi(),r=Hi(),s=yo(),i=Yt();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===` 21 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function _l(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ls;function wo(){if(Ls)return br;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ps;function Qt(){if(Ps)return vr;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=_l(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`21 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return gr=n,n.default=n,gr}var yr,Ts;function Jt(){if(Ts)return yr;Ts=1;let e=Xt();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return yr=t,t.default=t,yr}var wr,_s;function Pl(){if(_s)return wr;_s=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return wr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},wr}var br,Ps;function wo(){if(Ps)return br;Ps=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{existsSync:r,readFileSync:s}=ge,{dirname:i,join:a}=ge;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return br=u,u.default=u,br}var vr,Ls;function Qt(){if(Ls)return vr;Ls=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{fileURLToPath:r,pathToFileURL:s}=ge,{isAbsolute:i,resolve:a}=ge,{nanoid:n}=Pl(),u=ge,l=Hi(),c=wo(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(` 22 22 `);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return vr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),vr}var Sr,Fs;function bo(){if(Fs)return Sr;Fs=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ge,{dirname:r,relative:s,resolve:i,sep:a}=ge,{pathToFileURL:n}=ge,u=Qt(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=` 23 23 `;this.css.includes(`\r 24 24 `)&&(h=`\r 25 25 `),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(` 26 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae( P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`27 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Pl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Pl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Lr,Qs;function xo(){if(Qs)return Lr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Lr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Lr}var Pr,Ks;function Fl(){if(Ks)return Pr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Pr=a,a.default=a,Pr}var Fr,Zs;function Ul(){if(Zs)return Fr;Zs=1;let e=Fl(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function $l(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function Bl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=Ul(),a=Yt(),n=$l(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:26 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Sr=o,Sr}var Cr,Us;function Kt(){if(Us)return Cr;Us=1;let e=Xt();class t extends e{constructor(s){super(s),this.type="comment"}}return Cr=t,t.default=t,Cr}var xr,$s;function Be(){if($s)return xr;$s=1;let{isClean:e,my:t}=Yi(),r=Jt(),s=Kt(),i=Xt(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},xr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},xr}var Er,Bs;function Xi(){if(Bs)return Er;Bs=1;let e=Be(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Er=s,s.default=s,Er}var Mr,zs;function vo(){if(zs)return Mr;zs=1;let e={};return Mr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Mr}var Rr,Ws;function So(){if(Ws)return Rr;Ws=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Rr=e,e.default=e,Rr}var Nr,js;function Ji(){if(js)return Nr;js=1;let e=So();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return Nr=t,t.default=t,Nr}var Or,Vs;function Ll(){if(Vs)return Or;Vs=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return Or=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},Or}var Ir,qs;function Qi(){if(qs)return Ir;qs=1;let e=Be();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return Ir=t,t.default=t,e.registerAtRule(t),Ir}var Ar,Gs;function mt(){if(Gs)return Ar;Gs=1;let e=Be(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Ar=s,s.default=s,e.registerRoot(s),Ar}var Dr,Hs;function Co(){if(Hs)return Dr;Hs=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",` 27 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return Dr=e,e.default=e,Dr}var kr,Ys;function Ki(){if(Ys)return kr;Ys=1;let e=Be(),t=Co();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return kr=r,r.default=r,e.registerRule(r),kr}var Tr,Xs;function Fl(){if(Xs)return Tr;Xs=1;let e=Jt(),t=Ll(),r=Kt(),s=Qi(),i=mt(),a=Ki(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return Tr=l,Tr}var _r,Js;function Zi(){if(Js)return _r;Js=1;let e=Be(),t=Fl(),r=Qt();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return _r=s,s.default=s,e.registerParse(s),_r}var Pr,Qs;function xo(){if(Qs)return Pr;Qs=1;let{isClean:e,my:t}=Yi(),r=bo(),s=Yt(),i=Be(),a=Xi(),n=vo(),u=Ji(),l=Zi(),c=mt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},Pr=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),Pr}var Lr,Ks;function Ul(){if(Ks)return Lr;Ks=1;let e=bo(),t=Yt(),r=vo(),s=Zi(),i=Ji();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return Lr=a,a.default=a,Lr}var Fr,Zs;function $l(){if(Zs)return Fr;Zs=1;let e=Ul(),t=xo(),r=Xi(),s=mt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return Fr=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),Fr}var Ur,en;function Bl(){if(en)return Ur;en=1;let e=Jt(),t=wo(),r=Kt(),s=Qi(),i=Qt(),a=mt(),n=Ki();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return Ur=u,u.default=u,Ur}var $r,tn;function zl(){if(tn)return $r;tn=1;let e=Hi(),t=Jt(),r=xo(),s=Be(),i=$l(),a=Yt(),n=Bl(),u=Xi(),l=So(),c=Kt(),o=Qi(),d=Ji(),f=Qt(),h=Zi(),m=Co(),p=Ki(),g=mt(),b=Xt();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: 28 28 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 29 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var zl=Bl(),Q=Il(zl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function Wl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Nl,Ol]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var jl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function Vl(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function ql(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&Vl(t.frameElement)))throw new Error(jl)}function Gl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Hl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Gl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Yl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=Wl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Hl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(rl(o,e))return s.getNode(e.id)}let l=Yl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Xl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Jl(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Ql(e,t){ql(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Xl(u,c=>{s&&s(c),Jl(c,u)}),l}function Kl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var Zl=Object.defineProperty,eu=(e,t,r)=>t in e?Zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>eu(e,typeof t!="symbol"?t+"":t,r),tu=Object.defineProperty,ru=(e,t,r)=>t in e?tu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>ru(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var iu=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function su(){return new iu}function nu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function ou(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function au(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var lu={},uu=Object.freeze(Object.defineProperty({__proto__:null,default:lu},Symbol.toStringTag,{value:"Module"})),ye=ou(uu),Br,ln;function es(){if(ln)return Br;ln=1;let e=au(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+`29 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),$r=y,y.default=y,$r}var Wl=zl(),Q=Al(Wl);Q.stringify;Q.fromJSON;Q.plugin;Q.parse;Q.list;Q.document;Q.comment;Q.atRule;Q.rule;Q.decl;Q.root;Q.CssSyntaxError;Q.Declaration;Q.Container;Q.Processor;Q.Document;Q.Comment;Q.Warning;Q.AtRule;Q.Result;Q.Input;Q.Rule;Q.Root;Q.Node;var rn={script:"noscript",altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"};function jl(e){let t=rn[e.tagName]?rn[e.tagName]:e.tagName;return t==="link"&&e.attributes._cssText&&(t="style"),t}function Zt(e,t){let r=t?.stylesWithHoverClass.get(e);if(r)return r;let s=e;try{s=Q([Ol,Il]).process(e).css}catch(i){console.warn("Failed to adapt css for replay",i)}return t?.stylesWithHoverClass.set(e,s),s}function sn(){return{stylesWithHoverClass:new Map}}var Vl="rrweb-snapshot.rebuild() cannot rebuild into an unprotected browser document. Use rebuildIntoSandboxedIframe() or set UNSAFE_allowUnprotectedRebuild: true only when you accept the script-execution risk.",nn="rrweb-snapshot.createSandboxedIframe() requires root to be connected to a document before creating a sandboxed iframe.",Eo=new WeakSet;function ql(e){if(!e||e.tagName!=="IFRAME"||!("sandbox"in e))return!1;let t=Array.from(e.sandbox);return t.length===1&&t[0]==="allow-same-origin"}function Gl(e){if(e.UNSAFE_allowUnprotectedRebuild)return;let t=e.doc.defaultView;if(t&&!(Eo.has(e.doc)&&ql(t.frameElement)))throw new Error(Vl)}function Hl(e,t,r,s){let i=[];for(let l of e.childNodes)l.type===U.Text&&i.push(l);let a=t.split("/* rr_split */");for(;a.length>1&&a.length>i.length;)a.splice(-2,2,a.slice(-2).join(""));let n="";r&&(n=Zt(a.join(""),s));let u=0;for(let l=0;l<i.length&&l!==a.length;l++){let c=i[l];if(!r)c.textContent=a[l];else if(l<a.length-1){let o=u,d=a[l+1].length;d=Math.min(d,30);let f=!1;for(;d>2;d--){let h=a[l+1].substring(0,d),m=n.substring(u).indexOf(h);if(f=m!==-1,f){o+=m;break}}f||(o+=a[l].length),c.textContent=n.substring(u,o),u=o}else c.textContent=n.substring(u)}}function Yl(e,t,r,s){let{doc:i,hackCss:a,cache:n}=s;e.childNodes.length?Hl(e,r,a,n):(a&&(r=Zt(r,n)),t.appendChild(i.createTextNode(r)))}function Xl(e,t){var r;let{doc:s,hackCss:i,cache:a}=t;switch(e.type){case U.Document:return s.implementation.createDocument(null,"",null);case U.DocumentType:return s.implementation.createDocumentType(e.name||"html",e.publicId,e.systemId);case U.Element:{let n=jl(e),u;e.isSVG?u=s.createElementNS("http://www.w3.org/2000/svg",n):(e.isCustom&&((r=s.defaultView)!=null&&r.customElements)&&!s.defaultView.customElements.get(e.tagName)&&s.defaultView.customElements.define(e.tagName,class extends s.defaultView.HTMLElement{}),u=s.createElement(n));let l={};for(let c in e.attributes){if(!Object.prototype.hasOwnProperty.call(e.attributes,c))continue;let o=e.attributes[c];if(!(n==="option"&&c==="selected"&&o===!1)&&o!==null){if(o===!0&&(o=""),c.startsWith("rr_")){l[c]=o;continue}if(typeof o=="string"){if(n==="style"&&c==="_cssText"){Yl(e,u,o,t);continue}else if(n==="textarea"&&c==="value"){u.appendChild(s.createTextNode(o)),e.childNodes=[];continue}}try{if(e.isSVG&&c==="xlink:href")u.setAttributeNS("http://www.w3.org/1999/xlink",c,o.toString());else if(c==="onload"||c==="onclick"||c.substring(0,7)==="onmouse")u.setAttribute("_"+c,o.toString());else if(n==="meta"&&e.attributes["http-equiv"]==="Content-Security-Policy"&&c==="content"){u.setAttribute("csp-content",o.toString());continue}else n==="link"&&(e.attributes.rel==="preload"&&e.attributes.as==="script"||e.attributes.rel==="modulepreload")||n==="link"&&e.attributes.rel==="prefetch"&&typeof e.attributes.href=="string"&&qi(e.attributes.href)==="js"||(n==="img"&&e.attributes.srcset&&e.attributes.rr_dataURL?u.setAttribute("rrweb-original-srcset",e.attributes.srcset):u.setAttribute(c,o.toString()))}catch{}}}for(let c in l){let o=l[c];if(n==="canvas"&&c==="rr_dataURL"){let d=s.createElement("img");d.onload=()=>{let f=u.getContext("2d");f&&f.drawImage(d,0,0,d.width,d.height)},d.src=o.toString(),u.RRNodeType&&(u.rr_dataURL=o.toString())}else if(n==="img"&&c==="rr_dataURL"){let d=u;d.currentSrc.startsWith("data:")||(d.setAttribute("rrweb-original-src",e.attributes.src),d.src=o.toString())}if(c==="rr_width")u.style.setProperty("width",o.toString());else if(c==="rr_height")u.style.setProperty("height",o.toString());else if(c==="rr_mediaCurrentTime"&&typeof o=="number")u.currentTime=o;else if(c==="rr_mediaState")switch(o){case"played":u.play().catch(d=>console.warn("media playback error",d));break;case"paused":u.pause();break}else c==="rr_mediaPlaybackRate"&&typeof o=="number"?u.playbackRate=o:c==="rr_mediaMuted"&&typeof o=="boolean"?u.muted=o:c==="rr_mediaLoop"&&typeof o=="boolean"?u.loop=o:c==="rr_mediaVolume"&&typeof o=="number"?u.volume=o:c==="rr_open_mode"&&u.setAttribute("rr_open_mode",o)}if(e.isShadowHost)if(!u.shadowRoot)u.attachShadow({mode:"open"});else for(;u.shadowRoot.firstChild;)u.shadowRoot.removeChild(u.shadowRoot.firstChild);return(n==="input"||n==="textarea")&&u.setAttribute("autocomplete","off"),u}case U.Text:return e.isStyle&&i?s.createTextNode(Zt(e.textContent,a)):s.createTextNode(e.textContent);case U.CDATA:return s.createCDATASection(e.textContent);case U.Comment:return s.createComment(e.textContent);default:return null}}function lt(e,t){let{doc:r,mirror:s,skipChild:i=!1,hackCss:a=!0,afterAppend:n,cache:u}=t;if(s.has(e.id)){let c=s.getNode(e.id),o=s.getMeta(c);if(il(o,e))return s.getNode(e.id)}let l=Xl(e,{doc:r,hackCss:a,cache:u});if(!l)return null;if(e.rootId&&s.getNode(e.rootId)!==r&&s.replace(e.rootId,r),e.type===U.Document&&(r.close(),r.open(),e.compatMode==="BackCompat"&&e.childNodes&&e.childNodes[0].type!==U.DocumentType&&(e.childNodes[0].type===U.Element&&"xmlns"in e.childNodes[0].attributes&&e.childNodes[0].attributes.xmlns==="http://www.w3.org/1999/xhtml"?r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'):r.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">')),l=r),s.add(l,e),(e.type===U.Document||e.type===U.Element)&&!i)for(let c of e.childNodes){let o=lt(c,{doc:r,mirror:s,skipChild:!1,hackCss:a,afterAppend:n,cache:u});if(!o){console.warn("Failed to rebuild",c);continue}if(c.isShadow&&Vi(l)&&l.shadowRoot)l.shadowRoot.appendChild(o);else if(e.type===U.Document&&c.type==U.Element){let d=o,f=null;d.childNodes.forEach(h=>{h.nodeName==="BODY"&&(f=h)}),f?(d.removeChild(f),l.appendChild(o),d.appendChild(f)):l.appendChild(o)}else l.appendChild(o);n&&n(o,c.id)}return l}function Jl(e,t){function r(s){t(s)}for(let s of e.getIds())e.has(s)&&r(e.getNode(s))}function Ql(e,t){let r=t.getMeta(e);if(r?.type!==U.Element)return;let s=e;for(let i in r.attributes){if(!(Object.prototype.hasOwnProperty.call(r.attributes,i)&&i.startsWith("rr_")))continue;let a=r.attributes[i];i==="rr_scrollLeft"&&(s.scrollLeft=a),i==="rr_scrollTop"&&(s.scrollTop=a)}}function Kl(e,t){Gl(t);let{doc:r,onVisit:s,hackCss:i=!0,afterAppend:a,cache:n,mirror:u=new ft}=t,l=lt(e,{doc:r,mirror:u,skipChild:!1,hackCss:i,afterAppend:a,cache:n});return Jl(u,c=>{s&&s(c),Ql(c,u)}),l}function Zl(e){var t;if(!e.root.isConnected)throw new Error(nn);let r=e.root.ownerDocument.createElement("iframe");for(let[i,a]of Object.entries(e.iframeAttributes||{}))i!=="sandbox"&&r.setAttribute(i,a);r.setAttribute("sandbox","allow-same-origin"),e.root.appendChild(r);let s=r.contentDocument;if(!s||!r.contentWindow)throw(t=r.parentNode)==null||t.removeChild(r),new Error(nn);return Eo.add(s),r}var eu=Object.defineProperty,tu=(e,t,r)=>t in e?eu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,A=(e,t,r)=>tu(e,typeof t!="symbol"?t+"":t,r),ru=Object.defineProperty,iu=(e,t,r)=>t in e?ru(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,on=(e,t,r)=>iu(e,typeof t!="symbol"?t+"":t,r);Date.now().toString();var su=class{constructor(){on(this,"idNodeMap",new Map),on(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function nu(){return new su}function ou(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function au(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var r=function s(){return this instanceof s?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};r.prototype=t.prototype}else r={};return Object.defineProperty(r,"__esModule",{value:!0}),Object.keys(e).forEach(function(s){var i=Object.getOwnPropertyDescriptor(e,s);Object.defineProperty(r,s,i.get?i:{enumerable:!0,get:function(){return e[s]}})}),r}var Et={exports:{}},an;function lu(){if(an)return Et.exports;an=1;var e=String,t=function(){return{isColorSupported:!1,reset:e,bold:e,dim:e,italic:e,underline:e,inverse:e,hidden:e,strikethrough:e,black:e,red:e,green:e,yellow:e,blue:e,magenta:e,cyan:e,white:e,gray:e,bgBlack:e,bgRed:e,bgGreen:e,bgYellow:e,bgBlue:e,bgMagenta:e,bgCyan:e,bgWhite:e}};return Et.exports=t(),Et.exports.createColors=t,Et.exports}var uu={},cu=Object.freeze(Object.defineProperty({__proto__:null,default:uu},Symbol.toStringTag,{value:"Module"})),ye=au(cu),Br,ln;function es(){if(ln)return Br;ln=1;let e=lu(),t=ye;class r extends Error{constructor(i,a,n,u,l,c){super(i),this.name="CssSyntaxError",this.reason=i,l&&(this.file=l),u&&(this.source=u),c&&(this.plugin=c),typeof a<"u"&&typeof n<"u"&&(typeof a=="number"?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,r)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"<css input>",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(i){if(!this.source)return"";let a=this.source;i==null&&(i=e.isColorSupported),t&&i&&(a=t(a));let n=a.split(/\r?\n/),u=Math.max(this.line-3,0),l=Math.min(this.line+2,n.length),c=String(l).length,o,d;if(i){let{bold:f,gray:h,red:m}=e.createColors(!0);o=p=>f(m(p)),d=p=>h(p)}else o=d=f=>f;return n.slice(u,l).map((f,h)=>{let m=u+1+h,p=" "+(" "+m).slice(-c)+" | ";if(m===this.line){let g=d(p.replace(/\d/g," "))+f.slice(0,this.column-1).replace(/[^\t]/g," ");return o(">")+d(p)+f+` 30 30 `+g+o("^")}return" "+d(p)+f}).join(` 31 31 `)}toString(){let i=this.showSourceCode();return i&&(i=` … … 44 44 `)&&(a=a.replace(/[^\n]+$/,"")),!1}),a&&(a=a.replace(/\S/g,"")),a}rawColon(i){let a;return i.walkDecls(n=>{if(typeof n.raws.between<"u")return a=n.raws.between.replace(/[^\s:]/g,""),!1}),a}rawEmptyBody(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length===0&&(a=n.raws.after,typeof a<"u"))return!1}),a}rawIndent(i){if(i.raws.indent)return i.raws.indent;let a;return i.walk(n=>{let u=n.parent;if(u&&u!==i&&u.parent&&u.parent===i&&typeof n.raws.before<"u"){let l=n.raws.before.split(` 45 45 `);return a=l[l.length-1],a=a.replace(/\S/g,""),!1}}),a}rawSemicolon(i){let a;return i.walk(n=>{if(n.nodes&&n.nodes.length&&n.last.type==="decl"&&(a=n.raws.semicolon,typeof a<"u"))return!1}),a}rawValue(i,a){let n=i[a],u=i.raws[a];return u&&u.value===n?u.raw:n}root(i){this.body(i),i.raws.after&&this.builder(i.raws.after)}rule(i){this.block(i,this.rawValue(i,"selector")),i.raws.ownSemicolon&&this.builder(i.raws.ownSemicolon,i,"end")}stringify(i,a){if(!this[i.type])throw new Error("Unknown AST node type "+i.type+". Maybe you need to change PostCSS stringifier.");this[i.type](i,a)}}return zr=r,r.default=r,zr}var Wr,fn;function er(){if(fn)return Wr;fn=1;let e=Mo();function t(r,s){new e(s).stringify(r)}return Wr=t,t.default=t,Wr}var jr,hn;function tr(){if(hn)return jr;hn=1;let{isClean:e,my:t}=ts(),r=es(),s=Mo(),i=er();function a(u,l){let c=new u.constructor;for(let o in u){if(!Object.prototype.hasOwnProperty.call(u,o)||o==="proxyCache")continue;let d=u[o],f=typeof d;o==="parent"&&f==="object"?l&&(c[o]=l):o==="source"?c[o]=d:Array.isArray(d)?c[o]=d.map(h=>a(h,c)):(f==="object"&&d!==null&&(d=a(d)),c[o]=d)}return c}class n{constructor(l={}){this.raws={},this[e]=!1,this[t]=!0;for(let c in l)if(c==="nodes"){this.nodes=[];for(let o of l[c])typeof o.clone=="function"?this.append(o.clone()):this.append(o)}else this[c]=l[c]}addToError(l){if(l.postcssNode=this,l.stack&&this.source&&/\n\s{4}at /.test(l.stack)){let c=this.source;l.stack=l.stack.replace(/\n\s{4}at /,`$&${c.input.from}:${c.start.line}:${c.start.column}$&`)}return l}after(l){return this.parent.insertAfter(this,l),this}assign(l={}){for(let c in l)this[c]=l[c];return this}before(l){return this.parent.insertBefore(this,l),this}cleanRaws(l){delete this.raws.before,delete this.raws.after,l||delete this.raws.between}clone(l={}){let c=a(this);for(let o in l)c[o]=l[o];return c}cloneAfter(l={}){let c=this.clone(l);return this.parent.insertAfter(this,c),c}cloneBefore(l={}){let c=this.clone(l);return this.parent.insertBefore(this,c),c}error(l,c={}){if(this.source){let{end:o,start:d}=this.rangeBy(c);return this.source.input.error(l,{column:d.column,line:d.line},{column:o.column,line:o.line},c)}return new r(l)}getProxyProcessor(){return{get(l,c){return c==="proxyOf"?l:c==="root"?()=>l.root().toProxy():l[c]},set(l,c,o){return l[c]===o||(l[c]=o,(c==="prop"||c==="value"||c==="name"||c==="params"||c==="important"||c==="text")&&l.markDirty()),!0}}}markDirty(){if(this[e]){this[e]=!1;let l=this;for(;l=l.parent;)l[e]=!1}}next(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l+1]}positionBy(l,c){let o=this.source.start;if(l.index)o=this.positionInside(l.index,c);else if(l.word){c=this.toString();let d=c.indexOf(l.word);d!==-1&&(o=this.positionInside(d,c))}return o}positionInside(l,c){let o=c||this.toString(),d=this.source.start.column,f=this.source.start.line;for(let h=0;h<l;h++)o[h]===` 46 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function cu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=cu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(`46 `?(d=1,f+=1):d+=1;return{column:d,line:f}}prev(){if(!this.parent)return;let l=this.parent.index(this);return this.parent.nodes[l-1]}rangeBy(l){let c={column:this.source.start.column,line:this.source.start.line},o=this.source.end?{column:this.source.end.column+1,line:this.source.end.line}:{column:c.column+1,line:c.line};if(l.word){let d=this.toString(),f=d.indexOf(l.word);f!==-1&&(c=this.positionInside(f,d),o=this.positionInside(f+l.word.length,d))}else l.start?c={column:l.start.column,line:l.start.line}:l.index&&(c=this.positionInside(l.index)),l.end?o={column:l.end.column,line:l.end.line}:typeof l.endIndex=="number"?o=this.positionInside(l.endIndex):l.index&&(o=this.positionInside(l.index+1));return(o.line<c.line||o.line===c.line&&o.column<=c.column)&&(o={column:c.column+1,line:c.line}),{end:o,start:c}}raw(l,c){return new s().raw(this,l,c)}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}replaceWith(...l){if(this.parent){let c=this,o=!1;for(let d of l)d===this?o=!0:o?(this.parent.insertAfter(c,d),c=d):this.parent.insertBefore(c,d);o||this.remove()}return this}root(){let l=this;for(;l.parent&&l.parent.type!=="document";)l=l.parent;return l}toJSON(l,c){let o={},d=c==null;c=c||new Map;let f=0;for(let h in this){if(!Object.prototype.hasOwnProperty.call(this,h)||h==="parent"||h==="proxyCache")continue;let m=this[h];if(Array.isArray(m))o[h]=m.map(p=>typeof p=="object"&&p.toJSON?p.toJSON(null,c):p);else if(typeof m=="object"&&m.toJSON)o[h]=m.toJSON(null,c);else if(h==="source"){let p=c.get(m.input);p==null&&(p=f,c.set(m.input,f),f++),o[h]={end:m.end,inputId:p,start:m.start}}else o[h]=m}return d&&(o.inputs=[...c.keys()].map(h=>h.toJSON())),o}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(l=i){l.stringify&&(l=l.stringify);let c="";return l(this,o=>{c+=o}),c}warn(l,c,o){let d={node:this};for(let f in o)d[f]=o[f];return l.warn(c,d)}get proxyOf(){return this}}return jr=n,n.default=n,jr}var Vr,dn;function rr(){if(dn)return Vr;dn=1;let e=tr();class t extends e{constructor(s){s&&typeof s.value<"u"&&typeof s.value!="string"&&(s={...s,value:String(s.value)}),super(s),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}}return Vr=t,t.default=t,Vr}var qr,pn;function fu(){if(pn)return qr;pn=1;let e="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";return qr={nanoid:(s=21)=>{let i="",a=s;for(;a--;)i+=e[Math.random()*64|0];return i},customAlphabet:(s,i=21)=>(a=i)=>{let n="",u=a;for(;u--;)n+=s[Math.random()*s.length|0];return n}},qr}var Gr,mn;function Ro(){if(mn)return Gr;mn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{existsSync:r,readFileSync:s}=ye,{dirname:i,join:a}=ye;function n(l){return Buffer?Buffer.from(l,"base64").toString():window.atob(l)}class u{constructor(c,o){if(o.map===!1)return;this.loadAnnotation(c),this.inline=this.startWith(this.annotation,"data:");let d=o.map?o.map.prev:void 0,f=this.loadMap(o.from,d);!this.mapFile&&o.from&&(this.mapFile=o.from),this.mapFile&&(this.root=i(this.mapFile)),f&&(this.text=f)}consumer(){return this.consumerCache||(this.consumerCache=new e(this.text)),this.consumerCache}decodeInline(c){let o=/^data:application\/json;charset=utf-?8;base64,/,d=/^data:application\/json;base64,/,f=/^data:application\/json;charset=utf-?8,/,h=/^data:application\/json,/;if(f.test(c)||h.test(c))return decodeURIComponent(c.substr(RegExp.lastMatch.length));if(o.test(c)||d.test(c))return n(c.substr(RegExp.lastMatch.length));let m=c.match(/data:application\/json;([^,]+),/)[1];throw new Error("Unsupported source map encoding "+m)}getAnnotationURL(c){return c.replace(/^\/\*\s*# sourceMappingURL=/,"").trim()}isMap(c){return typeof c!="object"?!1:typeof c.mappings=="string"||typeof c._mappings=="string"||Array.isArray(c.sections)}loadAnnotation(c){let o=c.match(/\/\*\s*# sourceMappingURL=/gm);if(!o)return;let d=c.lastIndexOf(o.pop()),f=c.indexOf("*/",d);d>-1&&f>-1&&(this.annotation=this.getAnnotationURL(c.substring(d,f)))}loadFile(c){if(this.root=i(c),r(c))return this.mapFile=c,s(c,"utf-8").toString().trim()}loadMap(c,o){if(o===!1)return!1;if(o){if(typeof o=="string")return o;if(typeof o=="function"){let d=o(c);if(d){let f=this.loadFile(d);if(!f)throw new Error("Unable to load previous source map: "+d.toString());return f}}else{if(o instanceof e)return t.fromSourceMap(o).toString();if(o instanceof t)return o.toString();if(this.isMap(o))return JSON.stringify(o);throw new Error("Unsupported previous source map format: "+o.toString())}}else{if(this.inline)return this.decodeInline(this.annotation);if(this.annotation){let d=this.annotation;return c&&(d=a(i(c),d)),this.loadFile(d)}}}startWith(c,o){return c?c.substr(0,o.length)===o:!1}withContent(){return!!(this.consumer().sourcesContent&&this.consumer().sourcesContent.length>0)}}return Gr=u,u.default=u,Gr}var Hr,gn;function ir(){if(gn)return Hr;gn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{fileURLToPath:r,pathToFileURL:s}=ye,{isAbsolute:i,resolve:a}=ye,{nanoid:n}=fu(),u=ye,l=es(),c=Ro(),o=Symbol("fromOffsetCache"),d=!!(e&&t),f=!!(a&&i);class h{constructor(p,g={}){if(p===null||typeof p>"u"||typeof p=="object"&&!p.toString)throw new Error(`PostCSS received ${p} instead of CSS string`);if(this.css=p.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,g.from&&(!f||/^\w+:\/\//.test(g.from)||i(g.from)?this.file=g.from:this.file=a(g.from)),f&&d){let b=new c(this.css,g);if(b.text){this.map=b;let y=b.consumer().file;!this.file&&y&&(this.file=this.mapResolve(y))}}this.file||(this.id="<input css "+n(6)+">"),this.map&&(this.map.file=this.from)}error(p,g,b,y={}){let w,C,v;if(g&&typeof g=="object"){let x=g,M=b;if(typeof x.offset=="number"){let I=this.fromOffset(x.offset);g=I.line,b=I.col}else g=x.line,b=x.column;if(typeof M.offset=="number"){let I=this.fromOffset(M.offset);C=I.line,v=I.col}else C=M.line,v=M.column}else if(!b){let x=this.fromOffset(g);g=x.line,b=x.col}let S=this.origin(g,b,C,v);return S?w=new l(p,S.endLine===void 0?S.line:{column:S.column,line:S.line},S.endLine===void 0?S.column:{column:S.endColumn,line:S.endLine},S.source,S.file,y.plugin):w=new l(p,C===void 0?g:{column:b,line:g},C===void 0?b:{column:v,line:C},this.css,this.file,y.plugin),w.input={column:b,endColumn:v,endLine:C,line:g,source:this.css},this.file&&(s&&(w.input.url=s(this.file).toString()),w.input.file=this.file),w}fromOffset(p){let g,b;if(this[o])b=this[o];else{let w=this.css.split(` 47 47 `);b=new Array(w.length);let C=0;for(let v=0,S=w.length;v<S;v++)b[v]=C,C+=w[v].length+1;this[o]=b}g=b[b.length-1];let y=0;if(p>=g)y=b.length-1;else{let w=b.length-2,C;for(;y<w;)if(C=y+(w-y>>1),p<b[C])w=C-1;else if(p>=b[C+1])y=C+1;else{y=C;break}}return{col:p-b[y]+1,line:y+1}}mapResolve(p){return/^\w+:\/\//.test(p)?p:a(this.map.consumer().sourceRoot||this.map.root||".",p)}origin(p,g,b,y){if(!this.map)return!1;let w=this.map.consumer(),C=w.originalPositionFor({column:g,line:p});if(!C.source)return!1;let v;typeof b=="number"&&(v=w.originalPositionFor({column:y,line:b}));let S;i(C.source)?S=s(C.source):S=new URL(C.source,this.map.consumer().sourceRoot||s(this.map.mapFile));let x={column:C.column,endColumn:v&&v.column,endLine:v&&v.line,line:C.line,url:S.toString()};if(S.protocol==="file:")if(r)x.file=r(S);else throw new Error("file: protocol is not available in this PostCSS build");let M=w.sourceContentFor(C.source);return M&&(x.source=M),x}toJSON(){let p={};for(let g of["hasBOM","css","file","id"])this[g]!=null&&(p[g]=this[g]);return this.map&&(p.map={...this.map},p.map.consumerCache&&(p.map.consumerCache=void 0)),p}get from(){return this.file||this.id}}return Hr=h,h.default=h,u&&u.registerInput&&u.registerInput(h),Hr}var Yr,yn;function No(){if(yn)return Yr;yn=1;let{SourceMapConsumer:e,SourceMapGenerator:t}=ye,{dirname:r,relative:s,resolve:i,sep:a}=ye,{pathToFileURL:n}=ye,u=ir(),l=!!(e&&t),c=!!(r&&i&&s&&a);class o{constructor(f,h,m,p){this.stringify=f,this.mapOpts=m.map||{},this.root=h,this.opts=m,this.css=p,this.originalCSS=p,this.usesFileUrls=!this.mapOpts.from&&this.mapOpts.absolute,this.memoizedFileURLs=new Map,this.memoizedPaths=new Map,this.memoizedURLs=new Map}addAnnotation(){let f;this.isInline()?f="data:application/json;base64,"+this.toBase64(this.map.toString()):typeof this.mapOpts.annotation=="string"?f=this.mapOpts.annotation:typeof this.mapOpts.annotation=="function"?f=this.mapOpts.annotation(this.opts.to,this.root):f=this.outputFile()+".map";let h=` 48 48 `;this.css.includes(`\r 49 49 `)&&(h=`\r 50 50 `),this.css+=h+"/*# sourceMappingURL="+f+" */"}applyPrevMaps(){for(let f of this.previous()){let h=this.toUrl(this.path(f.file)),m=f.root||r(f.file),p;this.mapOpts.sourcesContent===!1?(p=new e(f.text),p.sourcesContent&&(p.sourcesContent=null)):p=f.consumer(),this.map.applySourceMap(p,h,this.toUrl(this.path(m)))}}clearAnnotation(){if(this.mapOpts.annotation!==!1)if(this.root){let f;for(let h=this.root.nodes.length-1;h>=0;h--)f=this.root.nodes[h],f.type==="comment"&&f.text.indexOf("# sourceMappingURL=")===0&&this.root.removeChild(h)}else this.css&&(this.css=this.css.replace(/\n*?\/\*#[\S\s]*?\*\/$/gm,""))}generate(){if(this.clearAnnotation(),c&&l&&this.isMap())return this.generateMap();{let f="";return this.stringify(this.root,h=>{f+=h}),[f]}}generateMap(){if(this.root)this.generateString();else if(this.previous().length===1){let f=this.previous()[0].consumer();f.file=this.outputFile(),this.map=t.fromSourceMap(f,{ignoreInvalidMapping:!0})}else this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0}),this.map.addMapping({generated:{column:0,line:1},original:{column:0,line:1},source:this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>"});return this.isSourcesContent()&&this.setSourcesContent(),this.root&&this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]}generateString(){this.css="",this.map=new t({file:this.outputFile(),ignoreInvalidMapping:!0});let f=1,h=1,m="<no source>",p={generated:{column:0,line:0},original:{column:0,line:0},source:""},g,b;this.stringify(this.root,(y,w,C)=>{if(this.css+=y,w&&C!=="end"&&(p.generated.line=f,p.generated.column=h-1,w.source&&w.source.start?(p.source=this.sourcePath(w),p.original.line=w.source.start.line,p.original.column=w.source.start.column-1,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,this.map.addMapping(p))),g=y.match(/\n/g),g?(f+=g.length,b=y.lastIndexOf(` 51 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function fu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(P){throw M.error("Unclosed "+P,O)}function pe(){return de.length===0&&O>=Ae}function Pe(P){if(de.length)return de.pop();if(O>=Ae)return;let se=P?P.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(P){de.push(P)}return{back:De,endOfFile:pe,nextToken:Pe,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",`52 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function hu(){if(In)return oi;In=1;let e=rr(),t=fu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=hu(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function du(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function pu(){if(Tn)return ci;Tn=1;let e=du(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function mu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Ln;function gu(){if(Ln)return hi;Ln=1;let e=es(),t=rr(),r=Do(),s=ze(),i=pu(),a=er(),n=mu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide:51 `),h=y.length-b):h+=y.length,w&&C!=="start"){let v=w.parent||{raws:{}};(!(w.type==="decl"||w.type==="atrule"&&!w.nodes)||w!==v.last||v.raws.semicolon)&&(w.source&&w.source.end?(p.source=this.sourcePath(w),p.original.line=w.source.end.line,p.original.column=w.source.end.column-1,p.generated.line=f,p.generated.column=h-2,this.map.addMapping(p)):(p.source=m,p.original.line=1,p.original.column=0,p.generated.line=f,p.generated.column=h-1,this.map.addMapping(p)))}})}isAnnotation(){return this.isInline()?!0:typeof this.mapOpts.annotation<"u"?this.mapOpts.annotation:this.previous().length?this.previous().some(f=>f.annotation):!0}isInline(){if(typeof this.mapOpts.inline<"u")return this.mapOpts.inline;let f=this.mapOpts.annotation;return typeof f<"u"&&f!==!0?!1:this.previous().length?this.previous().some(h=>h.inline):!0}isMap(){return typeof this.opts.map<"u"?!!this.opts.map:this.previous().length>0}isSourcesContent(){return typeof this.mapOpts.sourcesContent<"u"?this.mapOpts.sourcesContent:this.previous().length?this.previous().some(f=>f.withContent()):!0}outputFile(){return this.opts.to?this.path(this.opts.to):this.opts.from?this.path(this.opts.from):"to.css"}path(f){if(this.mapOpts.absolute||f.charCodeAt(0)===60||/^\w+:\/\//.test(f))return f;let h=this.memoizedPaths.get(f);if(h)return h;let m=this.opts.to?r(this.opts.to):".";typeof this.mapOpts.annotation=="string"&&(m=r(i(m,this.mapOpts.annotation)));let p=s(m,f);return this.memoizedPaths.set(f,p),p}previous(){if(!this.previousMaps)if(this.previousMaps=[],this.root)this.root.walk(f=>{if(f.source&&f.source.input.map){let h=f.source.input.map;this.previousMaps.includes(h)||this.previousMaps.push(h)}});else{let f=new u(this.originalCSS,this.opts);f.map&&this.previousMaps.push(f.map)}return this.previousMaps}setSourcesContent(){let f={};if(this.root)this.root.walk(h=>{if(h.source){let m=h.source.input.from;if(m&&!f[m]){f[m]=!0;let p=this.usesFileUrls?this.toFileUrl(m):this.toUrl(this.path(m));this.map.setSourceContent(p,h.source.input.css)}}});else if(this.css){let h=this.opts.from?this.toUrl(this.path(this.opts.from)):"<no source>";this.map.setSourceContent(h,this.css)}}sourcePath(f){return this.mapOpts.from?this.toUrl(this.mapOpts.from):this.usesFileUrls?this.toFileUrl(f.source.input.from):this.toUrl(this.path(f.source.input.from))}toBase64(f){return Buffer?Buffer.from(f).toString("base64"):window.btoa(unescape(encodeURIComponent(f)))}toFileUrl(f){let h=this.memoizedFileURLs.get(f);if(h)return h;if(n){let m=n(f).toString();return this.memoizedFileURLs.set(f,m),m}else throw new Error("`map.absolute` option is not available in this PostCSS build")}toUrl(f){let h=this.memoizedURLs.get(f);if(h)return h;a==="\\"&&(f=f.replace(/\\/g,"/"));let m=encodeURI(f).replace(/[#?]/g,encodeURIComponent);return this.memoizedURLs.set(f,m),m}}return Yr=o,Yr}var Xr,wn;function sr(){if(wn)return Xr;wn=1;let e=tr();class t extends e{constructor(s){super(s),this.type="comment"}}return Xr=t,t.default=t,Xr}var Jr,bn;function ze(){if(bn)return Jr;bn=1;let{isClean:e,my:t}=ts(),r=rr(),s=sr(),i=tr(),a,n,u,l;function c(f){return f.map(h=>(h.nodes&&(h.nodes=c(h.nodes)),delete h.source,h))}function o(f){if(f[e]=!1,f.proxyOf.nodes)for(let h of f.proxyOf.nodes)o(h)}class d extends i{append(...h){for(let m of h){let p=this.normalize(m,this.last);for(let g of p)this.proxyOf.nodes.push(g)}return this.markDirty(),this}cleanRaws(h){if(super.cleanRaws(h),this.nodes)for(let m of this.nodes)m.cleanRaws(h)}each(h){if(!this.proxyOf.nodes)return;let m=this.getIterator(),p,g;for(;this.indexes[m]<this.proxyOf.nodes.length&&(p=this.indexes[m],g=h(this.proxyOf.nodes[p],p),g!==!1);)this.indexes[m]+=1;return delete this.indexes[m],g}every(h){return this.nodes.every(h)}getIterator(){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let h=this.lastEach;return this.indexes[h]=0,h}getProxyProcessor(){return{get(h,m){return m==="proxyOf"?h:h[m]?m==="each"||typeof m=="string"&&m.startsWith("walk")?(...p)=>h[m](...p.map(g=>typeof g=="function"?(b,y)=>g(b.toProxy(),y):g)):m==="every"||m==="some"?p=>h[m]((g,...b)=>p(g.toProxy(),...b)):m==="root"?()=>h.root().toProxy():m==="nodes"?h.nodes.map(p=>p.toProxy()):m==="first"||m==="last"?h[m].toProxy():h[m]:h[m]},set(h,m,p){return h[m]===p||(h[m]=p,(m==="name"||m==="params"||m==="selector")&&h.markDirty()),!0}}}index(h){return typeof h=="number"?h:(h.proxyOf&&(h=h.proxyOf),this.proxyOf.nodes.indexOf(h))}insertAfter(h,m){let p=this.index(h),g=this.normalize(m,this.proxyOf.nodes[p]).reverse();p=this.index(h);for(let y of g)this.proxyOf.nodes.splice(p+1,0,y);let b;for(let y in this.indexes)b=this.indexes[y],p<b&&(this.indexes[y]=b+g.length);return this.markDirty(),this}insertBefore(h,m){let p=this.index(h),g=p===0?"prepend":!1,b=this.normalize(m,this.proxyOf.nodes[p],g).reverse();p=this.index(h);for(let w of b)this.proxyOf.nodes.splice(p,0,w);let y;for(let w in this.indexes)y=this.indexes[w],p<=y&&(this.indexes[w]=y+b.length);return this.markDirty(),this}normalize(h,m){if(typeof h=="string")h=c(a(h).nodes);else if(typeof h>"u")h=[];else if(Array.isArray(h)){h=h.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type==="root"&&this.type!=="document"){h=h.nodes.slice(0);for(let g of h)g.parent&&g.parent.removeChild(g,"ignore")}else if(h.type)h=[h];else if(h.prop){if(typeof h.value>"u")throw new Error("Value field is missed in node creation");typeof h.value!="string"&&(h.value=String(h.value)),h=[new r(h)]}else if(h.selector)h=[new n(h)];else if(h.name)h=[new u(h)];else if(h.text)h=[new s(h)];else throw new Error("Unknown node type in node creation");return h.map(g=>(g[t]||d.rebuild(g),g=g.proxyOf,g.parent&&g.parent.removeChild(g),g[e]&&o(g),typeof g.raws.before>"u"&&m&&typeof m.raws.before<"u"&&(g.raws.before=m.raws.before.replace(/\S/g,"")),g.parent=this.proxyOf,g))}prepend(...h){h=h.reverse();for(let m of h){let p=this.normalize(m,this.first,"prepend").reverse();for(let g of p)this.proxyOf.nodes.unshift(g);for(let g in this.indexes)this.indexes[g]=this.indexes[g]+p.length}return this.markDirty(),this}push(h){return h.parent=this,this.proxyOf.nodes.push(h),this}removeAll(){for(let h of this.proxyOf.nodes)h.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(h){h=this.index(h),this.proxyOf.nodes[h].parent=void 0,this.proxyOf.nodes.splice(h,1);let m;for(let p in this.indexes)m=this.indexes[p],m>=h&&(this.indexes[p]=m-1);return this.markDirty(),this}replaceValues(h,m,p){return p||(p=m,m={}),this.walkDecls(g=>{m.props&&!m.props.includes(g.prop)||m.fast&&!g.value.includes(m.fast)||(g.value=g.value.replace(h,p))}),this.markDirty(),this}some(h){return this.nodes.some(h)}walk(h){return this.each((m,p)=>{let g;try{g=h(m,p)}catch(b){throw m.addToError(b)}return g!==!1&&m.walk&&(g=m.walk(h)),g})}walkAtRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="atrule"&&h.test(p.name))return m(p,g)}):this.walk((p,g)=>{if(p.type==="atrule"&&p.name===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="atrule")return m(p,g)}))}walkComments(h){return this.walk((m,p)=>{if(m.type==="comment")return h(m,p)})}walkDecls(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="decl"&&h.test(p.prop))return m(p,g)}):this.walk((p,g)=>{if(p.type==="decl"&&p.prop===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="decl")return m(p,g)}))}walkRules(h,m){return m?h instanceof RegExp?this.walk((p,g)=>{if(p.type==="rule"&&h.test(p.selector))return m(p,g)}):this.walk((p,g)=>{if(p.type==="rule"&&p.selector===h)return m(p,g)}):(m=h,this.walk((p,g)=>{if(p.type==="rule")return m(p,g)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}}return d.registerParse=f=>{a=f},d.registerRule=f=>{n=f},d.registerAtRule=f=>{u=f},d.registerRoot=f=>{l=f},Jr=d,d.default=d,d.rebuild=f=>{f.type==="atrule"?Object.setPrototypeOf(f,u.prototype):f.type==="rule"?Object.setPrototypeOf(f,n.prototype):f.type==="decl"?Object.setPrototypeOf(f,r.prototype):f.type==="comment"?Object.setPrototypeOf(f,s.prototype):f.type==="root"&&Object.setPrototypeOf(f,l.prototype),f[t]=!0,f.nodes&&f.nodes.forEach(h=>{d.rebuild(h)})},Jr}var Qr,vn;function rs(){if(vn)return Qr;vn=1;let e=ze(),t,r;class s extends e{constructor(a){super({type:"document",...a}),this.nodes||(this.nodes=[])}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},Qr=s,s.default=s,Qr}var Kr,Sn;function Oo(){if(Sn)return Kr;Sn=1;let e={};return Kr=function(r){e[r]||(e[r]=!0,typeof console<"u"&&console.warn&&console.warn(r))},Kr}var Zr,Cn;function Io(){if(Cn)return Zr;Cn=1;class e{constructor(r,s={}){if(this.type="warning",this.text=r,s.node&&s.node.source){let i=s.node.rangeBy(s);this.line=i.start.line,this.column=i.start.column,this.endLine=i.end.line,this.endColumn=i.end.column}for(let i in s)this[i]=s[i]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}}return Zr=e,e.default=e,Zr}var ei,xn;function is(){if(xn)return ei;xn=1;let e=Io();class t{constructor(s,i,a){this.processor=s,this.messages=[],this.root=i,this.opts=a,this.css=void 0,this.map=void 0}toString(){return this.css}warn(s,i={}){i.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(i.plugin=this.lastPlugin.postcssPlugin);let a=new e(s,i);return this.messages.push(a),a}warnings(){return this.messages.filter(s=>s.type==="warning")}get content(){return this.css}}return ei=t,t.default=t,ei}var ti,En;function hu(){if(En)return ti;En=1;let e=39,t=34,r=92,s=47,i=10,a=32,n=12,u=9,l=13,c=91,o=93,d=40,f=41,h=123,m=125,p=59,g=42,b=58,y=64,w=/[\t\n\f\r "#'()/;[\\\]{}]/g,C=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,v=/.[\r\n"'(/\\]/,S=/[\da-f]/i;return ti=function(M,I={}){let N=M.css.valueOf(),F=I.ignoreErrors,k,E,ce,oe,j,_,J,ie,ee,G,Ae=N.length,O=0,ve=[],de=[];function rt(){return O}function ae(L){throw M.error("Unclosed "+L,O)}function pe(){return de.length===0&&O>=Ae}function Le(L){if(de.length)return de.pop();if(O>=Ae)return;let se=L?L.ignoreUnclosed:!1;switch(k=N.charCodeAt(O),k){case i:case a:case u:case l:case n:{E=O;do E+=1,k=N.charCodeAt(E);while(k===a||k===i||k===u||k===l||k===n);G=["space",N.slice(O,E)],O=E-1;break}case c:case o:case h:case m:case b:case p:case f:{let H=String.fromCharCode(k);G=[H,H,O];break}case d:{if(ie=ve.length?ve.pop()[1]:"",ee=N.charCodeAt(O+1),ie==="url"&&ee!==e&&ee!==t&&ee!==a&&ee!==i&&ee!==u&&ee!==n&&ee!==l){E=O;do{if(_=!1,E=N.indexOf(")",E+1),E===-1)if(F||se){E=O;break}else ae("bracket");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["brackets",N.slice(O,E+1),O,E],O=E}else E=N.indexOf(")",O+1),oe=N.slice(O,E+1),E===-1||v.test(oe)?G=["(","(",O]:(G=["brackets",oe,O,E],O=E);break}case e:case t:{ce=k===e?"'":'"',E=O;do{if(_=!1,E=N.indexOf(ce,E+1),E===-1)if(F||se){E=O+1;break}else ae("string");for(J=E;N.charCodeAt(J-1)===r;)J-=1,_=!_}while(_);G=["string",N.slice(O,E+1),O,E],O=E;break}case y:{w.lastIndex=O+1,w.test(N),w.lastIndex===0?E=N.length-1:E=w.lastIndex-2,G=["at-word",N.slice(O,E+1),O,E],O=E;break}case r:{for(E=O,j=!0;N.charCodeAt(E+1)===r;)E+=1,j=!j;if(k=N.charCodeAt(E+1),j&&k!==s&&k!==a&&k!==i&&k!==u&&k!==l&&k!==n&&(E+=1,S.test(N.charAt(E)))){for(;S.test(N.charAt(E+1));)E+=1;N.charCodeAt(E+1)===a&&(E+=1)}G=["word",N.slice(O,E+1),O,E],O=E;break}default:{k===s&&N.charCodeAt(O+1)===g?(E=N.indexOf("*/",O+2)+1,E===0&&(F||se?E=N.length:ae("comment")),G=["comment",N.slice(O,E+1),O,E],O=E):(C.lastIndex=O+1,C.test(N),C.lastIndex===0?E=N.length-1:E=C.lastIndex-2,G=["word",N.slice(O,E+1),O,E],ve.push(G),O=E);break}}return O++,G}function De(L){de.push(L)}return{back:De,endOfFile:pe,nextToken:Le,position:rt}},ti}var ri,Mn;function ss(){if(Mn)return ri;Mn=1;let e=ze();class t extends e{constructor(s){super(s),this.type="atrule"}append(...s){return this.proxyOf.nodes||(this.nodes=[]),super.append(...s)}prepend(...s){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...s)}}return ri=t,t.default=t,e.registerAtRule(t),ri}var ii,Rn;function gt(){if(Rn)return ii;Rn=1;let e=ze(),t,r;class s extends e{constructor(a){super(a),this.type="root",this.nodes||(this.nodes=[])}normalize(a,n,u){let l=super.normalize(a);if(n){if(u==="prepend")this.nodes.length>1?n.raws.before=this.nodes[1].raws.before:delete n.raws.before;else if(this.first!==n)for(let c of l)c.raws.before=n.raws.before}return l}removeChild(a,n){let u=this.index(a);return!n&&u===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[u].raws.before),super.removeChild(a)}toResult(a={}){return new t(new r,this,a).stringify()}}return s.registerLazyResult=i=>{t=i},s.registerProcessor=i=>{r=i},ii=s,s.default=s,e.registerRoot(s),ii}var si,Nn;function Ao(){if(Nn)return si;Nn=1;let e={comma(t){return e.split(t,[","],!0)},space(t){let r=[" ",` 52 `," "];return e.split(t,r)},split(t,r,s){let i=[],a="",n=!1,u=0,l=!1,c="",o=!1;for(let d of t)o?o=!1:d==="\\"?o=!0:l?d===c&&(l=!1):d==='"'||d==="'"?(l=!0,c=d):d==="("?u+=1:d===")"?u>0&&(u-=1):u===0&&r.includes(d)&&(n=!0),n?(a!==""&&i.push(a.trim()),a="",n=!1):a+=d;return(s||a!=="")&&i.push(a.trim()),i}};return si=e,e.default=e,si}var ni,On;function ns(){if(On)return ni;On=1;let e=ze(),t=Ao();class r extends e{constructor(i){super(i),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return t.comma(this.selector)}set selectors(i){let a=this.selector?this.selector.match(/,\s*/):null,n=a?a[0]:","+this.raw("between","beforeOpen");this.selector=i.join(n)}}return ni=r,r.default=r,e.registerRule(r),ni}var oi,In;function du(){if(In)return oi;In=1;let e=rr(),t=hu(),r=sr(),s=ss(),i=gt(),a=ns(),n={empty:!0,space:!0};function u(c){for(let o=c.length-1;o>=0;o--){let d=c[o],f=d[3]||d[2];if(f)return f}}class l{constructor(o){this.input=o,this.root=new i,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:o,start:{column:1,line:1,offset:0}}}atrule(o){let d=new s;d.name=o[1].slice(1),d.name===""&&this.unnamedAtrule(d,o),this.init(d,o[2]);let f,h,m,p=!1,g=!1,b=[],y=[];for(;!this.tokenizer.endOfFile();){if(o=this.tokenizer.nextToken(),f=o[0],f==="("||f==="["?y.push(f==="("?")":"]"):f==="{"&&y.length>0?y.push("}"):f===y[y.length-1]&&y.pop(),y.length===0)if(f===";"){d.source.end=this.getPosition(o[2]),d.source.end.offset++,this.semicolon=!0;break}else if(f==="{"){g=!0;break}else if(f==="}"){if(b.length>0){for(m=b.length-1,h=b[m];h&&h[0]==="space";)h=b[--m];h&&(d.source.end=this.getPosition(h[3]||h[2]),d.source.end.offset++)}this.end(o);break}else b.push(o);else b.push(o);if(this.tokenizer.endOfFile()){p=!0;break}}d.raws.between=this.spacesAndCommentsFromEnd(b),b.length?(d.raws.afterName=this.spacesAndCommentsFromStart(b),this.raw(d,"params",b),p&&(o=b[b.length-1],d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++,this.spaces=d.raws.between,d.raws.between="")):(d.raws.afterName="",d.params=""),g&&(d.nodes=[],this.current=d)}checkMissedSemicolon(o){let d=this.colon(o);if(d===!1)return;let f=0,h;for(let m=d-1;m>=0&&(h=o[m],!(h[0]!=="space"&&(f+=1,f===2)));m--);throw this.input.error("Missed semicolon",h[0]==="word"?h[3]+1:h[2])}colon(o){let d=0,f,h,m;for(let[p,g]of o.entries()){if(f=g,h=f[0],h==="("&&(d+=1),h===")"&&(d-=1),d===0&&h===":")if(!m)this.doubleColon(f);else{if(m[0]==="word"&&m[1]==="progid")continue;return p}m=f}return!1}comment(o){let d=new r;this.init(d,o[2]),d.source.end=this.getPosition(o[3]||o[2]),d.source.end.offset++;let f=o[1].slice(2,-2);if(/^\s*$/.test(f))d.text="",d.raws.left=f,d.raws.right="";else{let h=f.match(/^(\s*)([^]*\S)(\s*)$/);d.text=h[2],d.raws.left=h[1],d.raws.right=h[3]}}createTokenizer(){this.tokenizer=t(this.input)}decl(o,d){let f=new e;this.init(f,o[0][2]);let h=o[o.length-1];for(h[0]===";"&&(this.semicolon=!0,o.pop()),f.source.end=this.getPosition(h[3]||h[2]||u(o)),f.source.end.offset++;o[0][0]!=="word";)o.length===1&&this.unknownWord(o),f.raws.before+=o.shift()[1];for(f.source.start=this.getPosition(o[0][2]),f.prop="";o.length;){let y=o[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=o.shift()[1]}f.raws.between="";let m;for(;o.length;)if(m=o.shift(),m[0]===":"){f.raws.between+=m[1];break}else m[0]==="word"&&/\w/.test(m[1])&&this.unknownWord([m]),f.raws.between+=m[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1));let p=[],g;for(;o.length&&(g=o[0][0],!(g!=="space"&&g!=="comment"));)p.push(o.shift());this.precheckMissedSemicolon(o);for(let y=o.length-1;y>=0;y--){if(m=o[y],m[1].toLowerCase()==="!important"){f.important=!0;let w=this.stringFrom(o,y);w=this.spacesFromEnd(o)+w,w!==" !important"&&(f.raws.important=w);break}else if(m[1].toLowerCase()==="important"){let w=o.slice(0),C="";for(let v=y;v>0;v--){let S=w[v][0];if(C.trim().indexOf("!")===0&&S!=="space")break;C=w.pop()[1]+C}C.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=C,o=w)}if(m[0]!=="space"&&m[0]!=="comment")break}o.some(y=>y[0]!=="space"&&y[0]!=="comment")&&(f.raws.between+=p.map(y=>y[1]).join(""),p=[]),this.raw(f,"value",p.concat(o),d),f.value.includes(":")&&!d&&this.checkMissedSemicolon(o)}doubleColon(o){throw this.input.error("Double colon",{offset:o[2]},{offset:o[2]+o[1].length})}emptyRule(o){let d=new a;this.init(d,o[2]),d.selector="",d.raws.between="",this.current=d}end(o){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(o[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(o)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(o){if(this.spaces+=o[1],this.current.nodes){let d=this.current.nodes[this.current.nodes.length-1];d&&d.type==="rule"&&!d.raws.ownSemicolon&&(d.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(o){let d=this.input.fromOffset(o);return{column:d.col,line:d.line,offset:o}}init(o,d){this.current.push(o),o.source={input:this.input,start:this.getPosition(d)},o.raws.before=this.spaces,this.spaces="",o.type!=="comment"&&(this.semicolon=!1)}other(o){let d=!1,f=null,h=!1,m=null,p=[],g=o[1].startsWith("--"),b=[],y=o;for(;y;){if(f=y[0],b.push(y),f==="("||f==="[")m||(m=y),p.push(f==="("?")":"]");else if(g&&h&&f==="{")m||(m=y),p.push("}");else if(p.length===0)if(f===";")if(h){this.decl(b,g);return}else break;else if(f==="{"){this.rule(b);return}else if(f==="}"){this.tokenizer.back(b.pop()),d=!0;break}else f===":"&&(h=!0);else f===p[p.length-1]&&(p.pop(),p.length===0&&(m=null));y=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(d=!0),p.length>0&&this.unclosedBracket(m),d&&h){if(!g)for(;b.length&&(y=b[b.length-1][0],!(y!=="space"&&y!=="comment"));)this.tokenizer.back(b.pop());this.decl(b,g)}else this.unknownWord(b)}parse(){let o;for(;!this.tokenizer.endOfFile();)switch(o=this.tokenizer.nextToken(),o[0]){case"space":this.spaces+=o[1];break;case";":this.freeSemicolon(o);break;case"}":this.end(o);break;case"comment":this.comment(o);break;case"at-word":this.atrule(o);break;case"{":this.emptyRule(o);break;default:this.other(o);break}this.endFile()}precheckMissedSemicolon(){}raw(o,d,f,h){let m,p,g=f.length,b="",y=!0,w,C;for(let v=0;v<g;v+=1)m=f[v],p=m[0],p==="space"&&v===g-1&&!h?y=!1:p==="comment"?(C=f[v-1]?f[v-1][0]:"empty",w=f[v+1]?f[v+1][0]:"empty",!n[C]&&!n[w]?b.slice(-1)===","?y=!1:b+=m[1]:y=!1):b+=m[1];if(!y){let v=f.reduce((S,x)=>S+x[1],"");o.raws[d]={raw:v,value:b}}o[d]=b}rule(o){o.pop();let d=new a;this.init(d,o[0][2]),d.raws.between=this.spacesAndCommentsFromEnd(o),this.raw(d,"selector",o),this.current=d}spacesAndCommentsFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],!(d!=="space"&&d!=="comment"));)f=o.pop()[1]+f;return f}spacesAndCommentsFromStart(o){let d,f="";for(;o.length&&(d=o[0][0],!(d!=="space"&&d!=="comment"));)f+=o.shift()[1];return f}spacesFromEnd(o){let d,f="";for(;o.length&&(d=o[o.length-1][0],d==="space");)f=o.pop()[1]+f;return f}stringFrom(o,d){let f="";for(let h=d;h<o.length;h++)f+=o[h][1];return o.splice(d,o.length-d),f}unclosedBlock(){let o=this.current.source.start;throw this.input.error("Unclosed block",o.line,o.column)}unclosedBracket(o){throw this.input.error("Unclosed bracket",{offset:o[2]},{offset:o[2]+1})}unexpectedClose(o){throw this.input.error("Unexpected }",{offset:o[2]},{offset:o[2]+1})}unknownWord(o){throw this.input.error("Unknown word",{offset:o[0][2]},{offset:o[0][2]+o[0][1].length})}unnamedAtrule(o,d){throw this.input.error("At-rule without name",{offset:d[2]},{offset:d[2]+d[1].length})}}return oi=l,oi}var ai,An;function os(){if(An)return ai;An=1;let e=ze(),t=du(),r=ir();function s(i,a){let n=new r(i,a),u=new t(n);try{u.parse()}catch(l){throw l}return u.root}return ai=s,s.default=s,e.registerParse(s),ai}var li,Dn;function Do(){if(Dn)return li;Dn=1;let{isClean:e,my:t}=ts(),r=No(),s=er(),i=ze(),a=rs(),n=Oo(),u=is(),l=os(),c=gt(),o={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},d={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},f={Once:!0,postcssPlugin:!0,prepare:!0},h=0;function m(C){return typeof C=="object"&&typeof C.then=="function"}function p(C){let v=!1,S=o[C.type];return C.type==="decl"?v=C.prop.toLowerCase():C.type==="atrule"&&(v=C.name.toLowerCase()),v&&C.append?[S,S+"-"+v,h,S+"Exit",S+"Exit-"+v]:v?[S,S+"-"+v,S+"Exit",S+"Exit-"+v]:C.append?[S,h,S+"Exit"]:[S,S+"Exit"]}function g(C){let v;return C.type==="document"?v=["Document",h,"DocumentExit"]:C.type==="root"?v=["Root",h,"RootExit"]:v=p(C),{eventIndex:0,events:v,iterator:0,node:C,visitorIndex:0,visitors:[]}}function b(C){return C[e]=!1,C.nodes&&C.nodes.forEach(v=>b(v)),C}let y={};class w{constructor(v,S,x){this.stringified=!1,this.processed=!1;let M;if(typeof S=="object"&&S!==null&&(S.type==="root"||S.type==="document"))M=b(S);else if(S instanceof w||S instanceof u)M=b(S.root),S.map&&(typeof x.map>"u"&&(x.map={}),x.map.inline||(x.map.inline=!1),x.map.prev=S.map);else{let I=l;x.syntax&&(I=x.syntax.parse),x.parser&&(I=x.parser),I.parse&&(I=I.parse);try{M=I(S,x)}catch(N){this.processed=!0,this.error=N}M&&!M[t]&&i.rebuild(M)}this.result=new u(v,M,x),this.helpers={...y,postcss:y,result:this.result},this.plugins=this.processor.plugins.map(I=>typeof I=="object"&&I.prepare?{...I,...I.prepare(this.result)}:I)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(v){return this.async().catch(v)}finally(v){return this.async().then(v,v)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(v,S){let x=this.result.lastPlugin;try{S&&S.addToError(v),this.error=v,v.name==="CssSyntaxError"&&!v.plugin?(v.plugin=x.postcssPlugin,v.setMessage()):x.postcssVersion}catch(M){console&&console.error&&console.error(M)}return v}prepareVisitors(){this.listeners={};let v=(S,x,M)=>{this.listeners[x]||(this.listeners[x]=[]),this.listeners[x].push([S,M])};for(let S of this.plugins)if(typeof S=="object")for(let x in S){if(!d[x]&&/^[A-Z]/.test(x))throw new Error(`Unknown event ${x} in ${S.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!f[x])if(typeof S[x]=="object")for(let M in S[x])M==="*"?v(S,x,S[x][M]):v(S,x+"-"+M.toLowerCase(),S[x][M]);else typeof S[x]=="function"&&v(S,x,S[x])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let v=0;v<this.plugins.length;v++){let S=this.plugins[v],x=this.runOnRoot(S);if(m(x))try{await x}catch(M){throw this.handleError(M)}}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];){v[e]=!0;let S=[g(v)];for(;S.length>0;){let x=this.visitTick(S);if(m(x))try{await x}catch(M){let I=S[S.length-1].node;throw this.handleError(M,I)}}}if(this.listeners.OnceExit)for(let[S,x]of this.listeners.OnceExit){this.result.lastPlugin=S;try{if(v.type==="document"){let M=v.nodes.map(I=>x(I,this.helpers));await Promise.all(M)}else await x(v,this.helpers)}catch(M){throw this.handleError(M)}}}return this.processed=!0,this.stringify()}runOnRoot(v){this.result.lastPlugin=v;try{if(typeof v=="object"&&v.Once){if(this.result.root.type==="document"){let S=this.result.root.nodes.map(x=>v.Once(x,this.helpers));return m(S[0])?Promise.all(S):S}return v.Once(this.result.root,this.helpers)}else if(typeof v=="function")return v(this.result.root,this.result)}catch(S){throw this.handleError(S)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let v=this.result.opts,S=s;v.syntax&&(S=v.syntax.stringify),v.stringifier&&(S=v.stringifier),S.stringify&&(S=S.stringify);let M=new r(S,this.result.root,this.result.opts).generate();return this.result.css=M[0],this.result.map=M[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let v of this.plugins){let S=this.runOnRoot(v);if(m(S))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let v=this.result.root;for(;!v[e];)v[e]=!0,this.walkSync(v);if(this.listeners.OnceExit)if(v.type==="document")for(let S of v.nodes)this.visitSync(this.listeners.OnceExit,S);else this.visitSync(this.listeners.OnceExit,v)}return this.result}then(v,S){return this.async().then(v,S)}toString(){return this.css}visitSync(v,S){for(let[x,M]of v){this.result.lastPlugin=x;let I;try{I=M(S,this.helpers)}catch(N){throw this.handleError(N,S.proxyOf)}if(S.type!=="root"&&S.type!=="document"&&!S.parent)return!0;if(m(I))throw this.getAsyncError()}}visitTick(v){let S=v[v.length-1],{node:x,visitors:M}=S;if(x.type!=="root"&&x.type!=="document"&&!x.parent){v.pop();return}if(M.length>0&&S.visitorIndex<M.length){let[N,F]=M[S.visitorIndex];S.visitorIndex+=1,S.visitorIndex===M.length&&(S.visitors=[],S.visitorIndex=0),this.result.lastPlugin=N;try{return F(x.toProxy(),this.helpers)}catch(k){throw this.handleError(k,x)}}if(S.iterator!==0){let N=S.iterator,F;for(;F=x.nodes[x.indexes[N]];)if(x.indexes[N]+=1,!F[e]){F[e]=!0,v.push(g(F));return}S.iterator=0,delete x.indexes[N]}let I=S.events;for(;S.eventIndex<I.length;){let N=I[S.eventIndex];if(S.eventIndex+=1,N===h){x.nodes&&x.nodes.length&&(x[e]=!0,S.iterator=x.getIterator());return}else if(this.listeners[N]){S.visitors=this.listeners[N];return}}v.pop()}walkSync(v){v[e]=!0;let S=p(v);for(let x of S)if(x===h)v.nodes&&v.each(M=>{M[e]||this.walkSync(M)});else{let M=this.listeners[x];if(M&&this.visitSync(M,v.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}}return w.registerPostcss=C=>{y=C},li=w,w.default=w,c.registerLazyResult(w),a.registerLazyResult(w),li}var ui,kn;function pu(){if(kn)return ui;kn=1;let e=No(),t=er(),r=Oo(),s=os(),i=is();class a{constructor(u,l,c){l=l.toString(),this.stringified=!1,this._processor=u,this._css=l,this._opts=c,this._map=void 0;let o,d=t;this.result=new i(this._processor,o,this._opts),this.result.css=l;let f=this;Object.defineProperty(this.result,"root",{get(){return f.root}});let h=new e(d,o,this._opts,l);if(h.isMap()){let[m,p]=h.generate();m&&(this.result.css=m),p&&(this.result.map=p)}else h.clearAnnotation(),this.result.css=h.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(u){return this.async().catch(u)}finally(u){return this.async().then(u,u)}sync(){if(this.error)throw this.error;return this.result}then(u,l){return this.async().then(u,l)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let u,l=s;try{u=l(this._css,this._opts)}catch(c){this.error=c}if(this.error)throw this.error;return this._root=u,u}get[Symbol.toStringTag](){return"NoWorkResult"}}return ui=a,a.default=a,ui}var ci,Tn;function mu(){if(Tn)return ci;Tn=1;let e=pu(),t=Do(),r=rs(),s=gt();class i{constructor(n=[]){this.version="8.4.38",this.plugins=this.normalize(n)}normalize(n){let u=[];for(let l of n)if(l.postcss===!0?l=l():l.postcss&&(l=l.postcss),typeof l=="object"&&Array.isArray(l.plugins))u=u.concat(l.plugins);else if(typeof l=="object"&&l.postcssPlugin)u.push(l);else if(typeof l=="function")u.push(l);else if(!(typeof l=="object"&&(l.parse||l.stringify)))throw new Error(l+" is not a PostCSS plugin");return u}process(n,u={}){return!this.plugins.length&&!u.parser&&!u.stringifier&&!u.syntax?new e(this,n,u):new t(this,n,u)}use(n){return this.plugins=this.plugins.concat(this.normalize([n])),this}}return ci=i,i.default=i,s.registerProcessor(i),r.registerProcessor(i),ci}var fi,_n;function gu(){if(_n)return fi;_n=1;let e=rr(),t=Ro(),r=sr(),s=ss(),i=ir(),a=gt(),n=ns();function u(l,c){if(Array.isArray(l))return l.map(f=>u(f));let{inputs:o,...d}=l;if(o){c=[];for(let f of o){let h={...f,__proto__:i.prototype};h.map&&(h.map={...h.map,__proto__:t.prototype}),c.push(h)}}if(d.nodes&&(d.nodes=l.nodes.map(f=>u(f,c))),d.source){let{inputId:f,...h}=d.source;d.source=h,f!=null&&(d.source.input=c[f])}if(d.type==="root")return new a(d);if(d.type==="decl")return new e(d);if(d.type==="rule")return new n(d);if(d.type==="comment")return new r(d);if(d.type==="atrule")return new s(d);throw new Error("Unknown node type: "+l.type)}return fi=u,u.default=u,fi}var hi,Pn;function yu(){if(Pn)return hi;Pn=1;let e=es(),t=rr(),r=Do(),s=ze(),i=mu(),a=er(),n=gu(),u=rs(),l=Io(),c=sr(),o=ss(),d=is(),f=ir(),h=os(),m=Ao(),p=ns(),g=gt(),b=tr();function y(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new i(w)}return y.plugin=function(C,v){let S=!1;function x(...I){console&&console.warn&&!S&&(S=!0,console.warn(C+`: postcss.plugin was deprecated. Migration guide: 53 53 https://evilmartians.com/chronicles/postcss-8-plugin-migration`),process.env.LANG&&process.env.LANG.startsWith("cn")&&console.warn(C+`: \u91CC\u9762 postcss.plugin \u88AB\u5F03\u7528. \u8FC1\u79FB\u6307\u5357: 54 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var yu=gu(),Z=nu(yu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function wu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Pn(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=Cu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var bu=/-([a-z])/g,vu=/^--[a-zA-Z0-9-]+$/,vi=e=>vu.test(e)?e:e.replace(bu,(t,r)=>r?r.toUpperCase():""),Su=/\B([A-Z])/g,Cu=e=>e.replace(Su,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Pt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Pt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?wu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Pn(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Pn(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},xu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Eu(e,t,r,s),_o(e,t,r,s),Mu(e,t,r)}function Eu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Ru(a,n,s);break}}return e}function Mu(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Ru(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=xu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",Tu()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Nu(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Iu(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Au(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Ou(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Nu=Pt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Ou=Ft,Iu=Ut,Au=$t;function Du(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Lo(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=Du(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Po(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function ku(e,t=su(),r=new Ze){function s(i,a){let n=Lo(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function Tu(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Po(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},_u=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!_u())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Pu(e){return Oe("Node",e,"childNodes")}function Fu(e){return Oe("Node",e,"parentNode")}function Uu(e){return Oe("Node",e,"parentElement")}function $u(e){return Oe("Node",e,"textContent")}function Bu(e,t){return Uo("Node",e,"contains")(t)}function zu(e){return Uo("Node",e,"getRootNode")()}function Wu(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function ju(e){return e.styleSheets}function Vu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function qu(e,t){return Oe("Element",e,"querySelector")(t)}function Gu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Pu,parentNode:Fu,parentElement:Uu,textContent:$u,contains:Bu,getRootNode:zu,host:Wu,styleSheets:ju,shadowRoot:Vu,querySelector:qu,querySelectorAll:Gu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r54 https://www.w3ctech.com/topic/2226`));let N=v(...I);return N.postcssPlugin=C,N.postcssVersion=new i().version,N}let M;return Object.defineProperty(x,"postcss",{get(){return M||(M=x()),M}}),x.process=function(I,N,F){return y([x(F)]).process(I,N)},x},y.stringify=a,y.parse=h,y.fromJSON=n,y.list=m,y.comment=w=>new c(w),y.atRule=w=>new o(w),y.decl=w=>new t(w),y.rule=w=>new p(w),y.root=w=>new g(w),y.document=w=>new u(w),y.CssSyntaxError=e,y.Declaration=t,y.Container=s,y.Processor=i,y.Document=u,y.Comment=c,y.Warning=l,y.AtRule=o,y.Result=d,y.Input=f,y.Rule=p,y.Root=g,y.Node=b,r.registerPostcss(y),hi=y,y.default=y,hi}var wu=yu(),Z=ou(wu);Z.stringify;Z.fromJSON;Z.plugin;Z.parse;Z.list;Z.document;Z.comment;Z.atRule;Z.rule;Z.decl;Z.root;Z.CssSyntaxError;Z.Declaration;Z.Container;Z.Processor;Z.Document;Z.Comment;Z.Warning;Z.AtRule;Z.Result;Z.Input;Z.Rule;Z.Root;Z.Node;var B=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(B||{});function bu(e){let t={},r=/;(?![^(]*\))/g,s=/:(.+)/,i=/\/\*.*?\*\//g;return e.replace(i,"").split(r).forEach(function(a){if(a){let n=a.split(s);n.length>1&&(t[vi(n[0].trim())]=n[1].trim())}}),t}function Ln(e){let t=[];for(let r in e){let s=e[r];if(typeof s!="string")continue;let i=xu(r);t.push(`${i}: ${s};`)}return t.join(" ")}var vu=/-([a-z])/g,Su=/^--[a-zA-Z0-9-]+$/,vi=e=>Su.test(e)?e:e.replace(vu,(t,r)=>r?r.toUpperCase():""),Cu=/\B([A-Z])/g,xu=e=>e.replace(Cu,"-$1").toLowerCase(),we=class e{constructor(...t){A(this,"parentElement",null),A(this,"parentNode",null),A(this,"ownerDocument"),A(this,"firstChild",null),A(this,"lastChild",null),A(this,"previousSibling",null),A(this,"nextSibling",null),A(this,"ELEMENT_NODE",1),A(this,"TEXT_NODE",3),A(this,"nodeType"),A(this,"nodeName"),A(this,"RRNodeType")}get childNodes(){let t=[],r=this.firstChild;for(;r;)t.push(r),r=r.nextSibling;return t}contains(t){if(t instanceof e){if(t.ownerDocument!==this.ownerDocument)return!1;if(t===this)return!0}else return!1;for(;t.parentNode;){if(t.parentNode===this)return!0;t=t.parentNode}return!1}appendChild(t){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(t,r){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(t){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}},Si=class e extends we{constructor(...t){super(t),A(this,"nodeType",9),A(this,"nodeName","#document"),A(this,"compatMode","CSS1Compat"),A(this,"RRNodeType",B.Document),A(this,"textContent",null),this.ownerDocument=this}get documentElement(){return this.childNodes.find(t=>t.RRNodeType===B.Element&&t.tagName==="HTML")||null}get body(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="BODY"))||null}get head(){var t;return((t=this.documentElement)==null?void 0:t.childNodes.find(r=>r.RRNodeType===B.Element&&r.tagName==="HEAD"))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(t){let r=t.RRNodeType;if((r===B.Element||r===B.DocumentType)&&this.childNodes.some(i=>i.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${r===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let s=as(this,t);return s.parentElement=null,s}insertBefore(t,r){let s=t.RRNodeType;if((s===B.Element||s===B.DocumentType)&&this.childNodes.some(a=>a.RRNodeType===s))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${s===B.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);let i=ko(this,t,r);return i.parentElement=null,i}removeChild(t){return To(this,t)}open(){this.firstChild=null,this.lastChild=null}close(){}write(t){let r;if(t==='<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "">'?r="-//W3C//DTD XHTML 1.0 Transitional//EN":t==='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "">'&&(r="-//W3C//DTD HTML 4.0 Transitional//EN"),r){let s=this.createDocumentType("html",r,"");this.open(),this.appendChild(s)}}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Lt(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=new Ke(t);return r.ownerDocument=this,r}createElementNS(t,r){return this.createElement(r)}createTextNode(t){let r=new Ft(t);return r.ownerDocument=this,r}createComment(t){let r=new Ut(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new $t(t);return r.ownerDocument=this,r}toString(){return"RRDocument"}},Lt=class extends we{constructor(t,r,s){super(),A(this,"nodeType",10),A(this,"RRNodeType",B.DocumentType),A(this,"name"),A(this,"publicId"),A(this,"systemId"),A(this,"textContent",null),this.name=t,this.publicId=r,this.systemId=s,this.nodeName=t}toString(){return"RRDocumentType"}},Ke=class extends we{constructor(t){super(),A(this,"nodeType",1),A(this,"RRNodeType",B.Element),A(this,"tagName"),A(this,"attributes",{}),A(this,"shadowRoot",null),A(this,"scrollLeft"),A(this,"scrollTop"),this.tagName=t.toUpperCase(),this.nodeName=t.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(r=>t+=r.textContent),t}set textContent(t){this.firstChild=null,this.lastChild=null,this.appendChild(this.ownerDocument.createTextNode(t))}get classList(){return new Ei(this.attributes.class,t=>{this.attributes.class=t})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){let t=this.attributes.style?bu(this.attributes.style):{},r=/\B([A-Z])/g;return t.setProperty=(s,i,a)=>{if(r.test(s))return;let n=vi(s);i?t[n]=i:delete t[n],a==="important"&&(t[n]+=" !important"),this.attributes.style=Ln(t)},t.removeProperty=s=>{if(r.test(s))return"";let i=vi(s),a=t[i]||"";return delete t[i],this.attributes.style=Ln(t),a},t}getAttribute(t){return this.attributes[t]===void 0?null:this.attributes[t]}setAttribute(t,r){this.attributes[t]=r}setAttributeNS(t,r,s){this.setAttribute(r,s)}removeAttribute(t){delete this.attributes[t]}appendChild(t){return as(this,t)}insertBefore(t,r){return ko(this,t,r)}removeChild(t){return To(this,t)}attachShadow(t){let r=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=r,r}dispatchEvent(t){return!0}toString(){let t="";for(let r in this.attributes)t+=`${r}="${this.attributes[r]}" `;return`${this.tagName} ${t}`}},Ci=class extends Ke{constructor(){super(...arguments),A(this,"currentTime"),A(this,"volume"),A(this,"paused"),A(this,"muted"),A(this,"playbackRate"),A(this,"loop")}attachShadow(t){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}},xi=class extends Ke{constructor(){super(...arguments),A(this,"tagName","DIALOG"),A(this,"nodeName","DIALOG")}get isModal(){return this.getAttribute("rr_open_mode")==="modal"}get open(){return this.getAttribute("open")!==null}close(){this.removeAttribute("open"),this.removeAttribute("rr_open_mode")}show(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","non-modal")}showModal(){this.setAttribute("open",""),this.setAttribute("rr_open_mode","modal")}},Ft=class extends we{constructor(t){super(),A(this,"nodeType",3),A(this,"nodeName","#text"),A(this,"RRNodeType",B.Text),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRText text=${JSON.stringify(this.data)}`}},Ut=class extends we{constructor(t){super(),A(this,"nodeType",8),A(this,"nodeName","#comment"),A(this,"RRNodeType",B.Comment),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRComment text=${JSON.stringify(this.data)}`}},$t=class extends we{constructor(t){super(),A(this,"nodeName","#cdata-section"),A(this,"nodeType",4),A(this,"RRNodeType",B.CDATA),A(this,"data"),this.data=t}get textContent(){return this.data}set textContent(t){this.data=t}toString(){return`RRCDATASection data=${JSON.stringify(this.data)}`}},Ei=class{constructor(t,r){if(A(this,"onChange"),A(this,"classes",[]),A(this,"add",(...s)=>{for(let i of s){let a=String(i);this.classes.indexOf(a)>=0||this.classes.push(a)}this.onChange&&this.onChange(this.classes.join(" "))}),A(this,"remove",(...s)=>{this.classes=this.classes.filter(i=>s.indexOf(i)===-1),this.onChange&&this.onChange(this.classes.join(" "))}),t){let s=t.trim().split(/\s+/);this.classes.push(...s)}this.onChange=r}};function as(e,t){return t.parentNode&&t.parentNode.removeChild(t),e.lastChild?(e.lastChild.nextSibling=t,t.previousSibling=e.lastChild):(e.firstChild=t,t.previousSibling=null),e.lastChild=t,t.nextSibling=null,t.parentNode=e,t.parentElement=e,t.ownerDocument=e.ownerDocument,t}function ko(e,t,r){if(!r)return as(e,t);if(r.parentNode!==e)throw new Error("Failed to execute 'insertBefore' on 'RRNode': The RRNode before which the new node is to be inserted is not a child of this RRNode.");return t===r||(t.parentNode&&t.parentNode.removeChild(t),t.previousSibling=r.previousSibling,r.previousSibling=t,t.nextSibling=r,t.previousSibling?t.previousSibling.nextSibling=t:e.firstChild=t,t.parentElement=e,t.parentNode=e,t.ownerDocument=e.ownerDocument),t}function To(e,t){if(t.parentNode!==e)throw new Error("Failed to execute 'removeChild' on 'RRNode': The RRNode to be removed is not a child of this RRNode.");return t.previousSibling?t.previousSibling.nextSibling=t.nextSibling:e.firstChild=t.nextSibling,t.nextSibling?t.nextSibling.previousSibling=t.previousSibling:e.lastChild=t.previousSibling,t.previousSibling=null,t.nextSibling=null,t.parentElement=null,t.parentNode=null,t}var he=(e=>(e[e.PLACEHOLDER=0]="PLACEHOLDER",e[e.ELEMENT_NODE=1]="ELEMENT_NODE",e[e.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",e[e.TEXT_NODE=3]="TEXT_NODE",e[e.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",e[e.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",e[e.ENTITY_NODE=6]="ENTITY_NODE",e[e.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",e[e.COMMENT_NODE=8]="COMMENT_NODE",e[e.DOCUMENT_NODE=9]="DOCUMENT_NODE",e[e.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",e[e.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE",e))(he||{}),Mi={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},Eu={altglyph:"altGlyph",altglyphdef:"altGlyphDef",altglyphitem:"altGlyphItem",animatecolor:"animateColor",animatemotion:"animateMotion",animatetransform:"animateTransform",clippath:"clipPath",feblend:"feBlend",fecolormatrix:"feColorMatrix",fecomponenttransfer:"feComponentTransfer",fecomposite:"feComposite",feconvolvematrix:"feConvolveMatrix",fediffuselighting:"feDiffuseLighting",fedisplacementmap:"feDisplacementMap",fedistantlight:"feDistantLight",fedropshadow:"feDropShadow",feflood:"feFlood",fefunca:"feFuncA",fefuncb:"feFuncB",fefuncg:"feFuncG",fefuncr:"feFuncR",fegaussianblur:"feGaussianBlur",feimage:"feImage",femerge:"feMerge",femergenode:"feMergeNode",femorphology:"feMorphology",feoffset:"feOffset",fepointlight:"fePointLight",fespecularlighting:"feSpecularLighting",fespotlight:"feSpotLight",fetile:"feTile",feturbulence:"feTurbulence",foreignobject:"foreignObject",glyphref:"glyphRef",lineargradient:"linearGradient",radialgradient:"radialGradient"},Se=null;function Bt(e,t,r,s=t.mirror||t.ownerDocument.mirror){e=Mu(e,t,r,s),_o(e,t,r,s),Ru(e,t,r)}function Mu(e,t,r,s){var i;if(r.afterAppend&&!Se&&(Se=new WeakSet,setTimeout(()=>{Se=null},0)),!ls(e,t)){let a=zt(t,r.mirror,s);(i=e.parentNode)==null||i.replaceChild(a,e),e=a}switch(t.RRNodeType){case B.Document:{if(!qe(e,t,r.mirror,s)){let a=s.getMeta(t);a&&(r.mirror.removeNodeFromMap(e),e.close(),e.open(),r.mirror.add(e,a),Se?.add(e))}break}case B.Element:{let a=e,n=t;switch(n.tagName){case"IFRAME":{let u=e.contentDocument;if(!u)break;Bt(u,t.contentDocument,r,s);break}}n.shadowRoot&&(a.shadowRoot||a.attachShadow({mode:"open"}),_o(a.shadowRoot,n.shadowRoot,r,s)),Nu(a,n,s);break}}return e}function Ru(e,t,r){var s;switch(t.RRNodeType){case B.Document:{let i=t.scrollData;i&&r.applyScroll(i,!0);break}case B.Element:{let i=e,a=t;switch(a.scrollData&&r.applyScroll(a.scrollData,!0),a.inputData&&r.applyInput(a.inputData),a.tagName){case"AUDIO":case"VIDEO":{let n=e,u=a;u.paused!==void 0&&(u.paused?n.pause():n.play()),u.muted!==void 0&&(n.muted=u.muted),u.volume!==void 0&&(n.volume=u.volume),u.currentTime!==void 0&&(n.currentTime=u.currentTime),u.playbackRate!==void 0&&(n.playbackRate=u.playbackRate),u.loop!==void 0&&(n.loop=u.loop);break}case"CANVAS":{let n=t;if(n.rr_dataURL!==null){let u=document.createElement("img");u.onload=()=>{let l=i.getContext("2d");l&&l.drawImage(u,0,0,u.width,u.height)},u.src=n.rr_dataURL}n.canvasMutations.forEach(u=>r.applyCanvas(u.event,u.mutation,e));break}case"STYLE":{let n=i.sheet;n&&t.rules.forEach(u=>r.applyStyleSheetMutation(u,n));break}case"DIALOG":{let n=i,u=a,l=n.open,c=n.matches("dialog:modal"),o=u.open,d=u.isModal,f=c!==d,h=l!==o;if((f||l&&h)&&n.close(),o&&(h||f))try{d?n.showModal():n.show()}catch(m){console.warn(m)}break}}break}case B.Text:case B.Comment:case B.CDATA:{e.textContent!==t.data&&(e.textContent=t.data);break}}Se?.has(e)&&(Se.delete(e),(s=r.afterAppend)==null||s.call(r,e,r.mirror.getId(e)))}function Nu(e,t,r){let s=e.attributes,i=t.attributes;for(let a in i){let n=i[a],u=r.getMeta(t);if(u?.isSVG&&Mi[a])e.setAttributeNS(Mi[a],a,n);else if(t.tagName==="CANVAS"&&a==="rr_dataURL"){let l=document.createElement("img");l.src=n,l.onload=()=>{let c=e.getContext("2d");c&&c.drawImage(l,0,0,l.width,l.height)}}else{if(t.tagName==="IFRAME"&&a==="srcdoc")continue;try{e.setAttribute(a,n)}catch(l){console.warn(l)}}}for(let{name:a}of Array.from(s))a in i||e.removeAttribute(a);t.scrollLeft&&(e.scrollLeft=t.scrollLeft),t.scrollTop&&(e.scrollTop=t.scrollTop)}function _o(e,t,r,s){let i=Array.from(e.childNodes),a=t.childNodes;if(i.length===0&&a.length===0)return;let n=0,u=i.length-1,l=0,c=a.length-1,o=i[n],d=i[u],f=a[l],h=a[c],m,p;for(;n<=u&&l<=c;)if(o===void 0)o=i[++n];else if(d===void 0)d=i[--u];else if(qe(o,f,r.mirror,s))o=i[++n],f=a[++l];else if(qe(d,h,r.mirror,s))d=i[--u],h=a[--c];else if(qe(o,h,r.mirror,s)){try{e.insertBefore(o,d.nextSibling)}catch(y){console.warn(y)}o=i[++n],h=a[--c]}else if(qe(d,f,r.mirror,s)){try{e.insertBefore(d,o)}catch(y){console.warn(y)}d=i[--u],f=a[++l]}else{if(!m){m={};for(let w=n;w<=u;w++){let C=i[w];C&&r.mirror.hasNode(C)&&(m[r.mirror.getId(C)]=w)}}p=m[s.getId(f)];let y=i[p];if(p!==void 0&&y&&qe(y,f,r.mirror,s)){try{e.insertBefore(y,o)}catch(w){console.warn(w)}i[p]=void 0}else{let w=zt(f,r.mirror,s);e.nodeName==="#document"&&o&&(w.nodeType===w.DOCUMENT_TYPE_NODE&&o.nodeType===o.DOCUMENT_TYPE_NODE||w.nodeType===w.ELEMENT_NODE&&o.nodeType===o.ELEMENT_NODE)&&(e.removeChild(o),r.mirror.removeNodeFromMap(o),o=i[++n]);try{e.insertBefore(w,o||null)}catch(C){console.warn(C)}}f=a[++l]}if(n>u){let y=a[c+1],w=null;for(y&&(w=r.mirror.getNode(s.getId(y)));l<=c;++l){let C=zt(a[l],r.mirror,s);try{e.insertBefore(C,w)}catch(v){console.warn(v)}}}else if(l>c)for(;n<=u;n++){let y=i[n];if(!(!y||y.parentNode!==e))try{e.removeChild(y),r.mirror.removeNodeFromMap(y)}catch(w){console.warn(w)}}let g=e.firstChild,b=t.firstChild;for(;g!==null&&b!==null;)Bt(g,b,r,s),g=g.nextSibling,b=b.nextSibling}function zt(e,t,r){let s=r.getId(e),i=r.getMeta(e),a=null;if(s>-1&&(a=t.getNode(s)),a!==null&&ls(a,e))return a;switch(e.RRNodeType){case B.Document:a=new Document;break;case B.DocumentType:a=document.implementation.createDocumentType(e.name,e.publicId,e.systemId);break;case B.Element:{let n=e.tagName.toLowerCase();n=Eu[n]||n,i&&"isSVG"in i&&i?.isSVG?a=document.createElementNS(Mi.svg,n):a=document.createElement(e.tagName);break}case B.Text:a=document.createTextNode(e.data);break;case B.Comment:a=document.createComment(e.data);break;case B.CDATA:a=document.createCDATASection(e.data);break}i&&t.add(a,{...i});try{Se?.add(a)}catch{}return a}function ls(e,t){return e.nodeType!==t.nodeType?!1:e.nodeType!==e.ELEMENT_NODE||e.tagName.toUpperCase()===t.tagName}function qe(e,t,r,s){let i=r.getId(e),a=s.getId(t);return i===-1||i!==a?!1:ls(e,t)}var Ze=class e extends Si{constructor(t){super(),A(this,"UNSERIALIZED_STARTING_ID",-2),A(this,"_unserializedId",this.UNSERIALIZED_STARTING_ID),A(this,"mirror",_u()),A(this,"scrollData",null),t&&(this.mirror=t)}get unserializedId(){return this._unserializedId--}createDocument(t,r,s){return new e}createDocumentType(t,r,s){let i=new Ou(t,r,s);return i.ownerDocument=this,i}createElement(t){let r=t.toUpperCase(),s;switch(r){case"AUDIO":case"VIDEO":s=new Ri(r);break;case"IFRAME":s=new Ai(r,this.mirror);break;case"CANVAS":s=new Oi(r);break;case"STYLE":s=new Ii(r);break;case"DIALOG":s=new Ni(r);break;default:s=new et(r);break}return s.ownerDocument=this,s}createComment(t){let r=new Au(t);return r.ownerDocument=this,r}createCDATASection(t){let r=new Du(t);return r.ownerDocument=this,r}createTextNode(t){let r=new Iu(t);return r.ownerDocument=this,r}destroyTree(){this.firstChild=null,this.lastChild=null,this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}},Ou=Lt,et=class extends Ke{constructor(){super(...arguments),A(this,"inputData",null),A(this,"scrollData",null)}},Ri=class extends Ci{},Ni=class extends xi{},Oi=class extends et{constructor(){super(...arguments),A(this,"rr_dataURL",null),A(this,"canvasMutations",[])}getContext(){return null}},Ii=class extends et{constructor(){super(...arguments),A(this,"rules",[])}},Ai=class extends et{constructor(t,r){super(t),A(this,"contentDocument",new Ze),this.contentDocument.mirror=r}},Iu=Ft,Au=Ut,Du=$t;function ku(e){return e instanceof HTMLFormElement?"FORM":e.tagName.toUpperCase()}function Po(e,t,r,s){let i;switch(e.nodeType){case he.DOCUMENT_NODE:s&&s.nodeName==="IFRAME"?i=s.contentDocument:(i=t,i.compatMode=e.compatMode);break;case he.DOCUMENT_TYPE_NODE:{let n=e;i=t.createDocumentType(n.name,n.publicId,n.systemId);break}case he.ELEMENT_NODE:{let n=e,u=ku(n);i=t.createElement(u);let l=i;for(let{name:c,value:o}of Array.from(n.attributes))l.attributes[c]=o;n.scrollLeft&&(l.scrollLeft=n.scrollLeft),n.scrollTop&&(l.scrollTop=n.scrollTop);break}case he.TEXT_NODE:i=t.createTextNode(e.textContent||"");break;case he.CDATA_SECTION_NODE:i=t.createCDATASection(e.data);break;case he.COMMENT_NODE:i=t.createComment(e.textContent||"");break;case he.DOCUMENT_FRAGMENT_NODE:i=s.attachShadow({mode:"open"});break;default:return null}let a=r.getMeta(e);return t instanceof Ze&&(a||(a=Lo(i,t.unserializedId),r.add(e,a)),t.mirror.add(i,{...a})),i}function Tu(e,t=nu(),r=new Ze){function s(i,a){let n=Po(i,r,t,a);if(n!==null)if(a?.nodeName!=="IFRAME"&&i.nodeType!==he.DOCUMENT_FRAGMENT_NODE&&(a?.appendChild(n),n.parentNode=a,n.parentElement=a),i.nodeName==="IFRAME"){let u=i.contentDocument;u&&s(u,n)}else(i.nodeType===he.DOCUMENT_NODE||i.nodeType===he.ELEMENT_NODE||i.nodeType===he.DOCUMENT_FRAGMENT_NODE)&&(i.nodeType===he.ELEMENT_NODE&&i.shadowRoot&&s(i.shadowRoot,n),i.childNodes.forEach(u=>s(u,n)))}return s(e,null),r}function _u(){return new Di}var Di=class{constructor(){A(this,"idNodeMap",new Map),A(this,"nodeMetaMap",new WeakMap)}getId(t){var r;return t?((r=this.getMeta(t))==null?void 0:r.id)??-1:-1}getNode(t){return this.idNodeMap.get(t)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(t){return this.nodeMetaMap.get(t)||null}removeNodeFromMap(t){let r=this.getId(t);this.idNodeMap.delete(r),t.childNodes&&t.childNodes.forEach(s=>this.removeNodeFromMap(s))}has(t){return this.idNodeMap.has(t)}hasNode(t){return this.nodeMetaMap.has(t)}add(t,r){let s=r.id;this.idNodeMap.set(s,t),this.nodeMetaMap.set(t,r)}replace(t,r){let s=this.getNode(t);if(s){let i=this.nodeMetaMap.get(s);i&&this.nodeMetaMap.set(r,i)}this.idNodeMap.set(t,r)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}};function Lo(e,t){switch(e.RRNodeType){case B.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case B.DocumentType:{let r=e;return{id:t,type:e.RRNodeType,name:r.name,publicId:r.publicId,systemId:r.systemId}}case B.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case B.Text:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case B.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}var Fn={Node:["childNodes","parentNode","parentElement","textContent","ownerDocument"],ShadowRoot:["host","styleSheets"],Element:["shadowRoot","querySelector","querySelectorAll"],MutationObserver:[]},Un={Node:["contains","getRootNode"],ShadowRoot:["getSelection"],Element:[],MutationObserver:["constructor"]},Rt={},Fo={},Pu=()=>!!globalThis.Zone;function us(e){if(Rt[e])return Rt[e];let t=globalThis[e],r=t.prototype,s=e in Fn?Fn[e]:void 0,i=!!(s&&s.every(u=>{var l,c;return!!((c=(l=Object.getOwnPropertyDescriptor(r,u))==null?void 0:l.get)!=null&&c.toString().includes("[native code]"))})),a=e in Un?Un[e]:void 0,n=!!(a&&a.every(u=>{var l;return typeof r[u]=="function"&&((l=r[u])==null?void 0:l.toString().includes("[native code]"))}));if(i&&n&&!Pu())return Rt[e]=t.prototype,t.prototype;try{let u=document.createElement("iframe");u.style.display="none",document.body.appendChild(u);let l=u.contentWindow;if(!l)return t.prototype;let c=l[e].prototype;if(!c)return u.remove(),r;let o=navigator.userAgent;return o.includes("Safari")&&!o.includes("Chrome")?(u.classList.add("rr-block"),u.setAttribute("__rrwebUntaintedMutationObserver",""),Fo[e]=()=>u.remove()):u.remove(),Rt[e]=c}catch{return r}}var di={};function Oe(e,t,r){var s;let i=`${e}.${String(r)}`;if(di[i])return di[i].call(t);let a=us(e),n=(s=Object.getOwnPropertyDescriptor(a,r))==null?void 0:s.get;return n?(di[i]=n,n.call(t)):t[r]}var pi={};function Uo(e,t,r){let s=`${e}.${String(r)}`;if(pi[s])return pi[s].bind(t);let a=us(e)[r];return typeof a!="function"?t[r]:(pi[s]=a,a.bind(t))}function Lu(e){return Oe("Node",e,"ownerDocument")}function Fu(e){return Oe("Node",e,"childNodes")}function Uu(e){return Oe("Node",e,"parentNode")}function $u(e){return Oe("Node",e,"parentElement")}function Bu(e){return Oe("Node",e,"textContent")}function zu(e,t){return Uo("Node",e,"contains")(t)}function Wu(e){return Uo("Node",e,"getRootNode")()}function ju(e){return!e||!("host"in e)?null:Oe("ShadowRoot",e,"host")}function Vu(e){return e.styleSheets}function qu(e){return!e||!("shadowRoot"in e)?null:Oe("Element",e,"shadowRoot")}function Gu(e,t){return Oe("Element",e,"querySelector")(t)}function Hu(e,t){return Oe("Element",e,"querySelectorAll")(t)}function $o(){return[us("MutationObserver").constructor,Fo.MutationObserver??(()=>{})]}var dt=Date.now;/[1-9][0-9]{12}/.test(Date.now().toString())||(dt=()=>new Date().getTime());function We(e,t,r){try{if(!(t in e))return()=>{};let s=e[t],i=r(s);return typeof i=="function"&&(i.prototype=i.prototype||{},Object.defineProperties(i,{__rrweb_original__:{enumerable:!1,value:s}})),e[t]=i,()=>{e[t]=s}}catch{return()=>{}}}var $={ownerDocument:Lu,childNodes:Fu,parentNode:Uu,parentElement:$u,textContent:Bu,contains:zu,getRootNode:Wu,host:ju,styleSheets:Vu,shadowRoot:qu,querySelector:Gu,querySelectorAll:Hu,nowTimestamp:dt,mutationObserverCtor:$o,patch:We};function le(e,t,r=document){let s={capture:!0,passive:!0};return r.addEventListener(e,t,s),()=>r.removeEventListener(e,t,s)}var Ge=`Please stop import mirror directly. Instead of that,\r 55 55 now you can use replayer.getMirror() to access the mirror instance of a replayer,\r 56 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if( Lt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Hu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Yu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Xu(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Ju(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Qu(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Ju(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Qu(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Hu(r,this.mirror)||(this.addedSet.has(r)?(Li(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Li(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Ku(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}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 Li(e,t){e.delete(t),$.childNodes(t).forEach(r=>Li(e,r))}function Ku(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:Zu(e,t)}function Zu(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function ec(e){ct=e}function tc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function rc({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function ic({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function sc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var nc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function oc({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||nc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function ac({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function lc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function uc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function cc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function fc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function hc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function dc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function pc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};dc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=rc(e),n=ic(e),u=Zo(e),l=sc(e,{win:r}),c=oc(e),o=uc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=ac(e,{win:r}),f=ea(e,e.doc),h=lc(e,{win:r}),e.collectFonts&&(m=cc(e)));let p=fc(e),g=hc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Pi=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,mc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},gc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function yc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=yc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=mc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function wc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function bc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=bc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function vc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() {56 or you can use record.mirror to access the mirror instance during recording.`,$n={map:{},getId(){return console.error(Ge),-1},getNode(){return console.error(Ge),null},removeNodeFromMap(){console.error(Ge)},has(){return console.error(Ge),!1},reset(){console.error(Ge)}};typeof window<"u"&&window.Proxy&&window.Reflect&&($n=new Proxy($n,{get(e,t,r){return t==="map"&&console.error(Ge),Reflect.get(e,t,r)}}));function pt(e,t,r={}){let s=null,i=0;return function(...a){let n=Date.now();!i&&r.leading===!1&&(i=n);let u=t-(n-i),l=this;u<=0||u>t?(s&&(clearTimeout(s),s=null),i=n,e.apply(l,a)):!s&&r.trailing!==!1&&(s=setTimeout(()=>{i=r.leading===!1?0:Date.now(),s=null,e.apply(l,a)},u))}}function nr(e,t,r,s,i=window){let a=i.Object.getOwnPropertyDescriptor(e,t);return i.Object.defineProperty(e,t,s?r:{set(n){setTimeout(()=>{r.set.call(this,n)},0),a&&a.set&&a.set.call(this,n)}}),()=>nr(e,t,a||{},!0)}function Bo(e){var t,r,s,i;let a=e.document;return{left:a.scrollingElement?a.scrollingElement.scrollLeft:e.pageXOffset!==void 0?e.pageXOffset:a.documentElement.scrollLeft||a?.body&&((t=$.parentElement(a.body))==null?void 0:t.scrollLeft)||((r=a?.body)==null?void 0:r.scrollLeft)||0,top:a.scrollingElement?a.scrollingElement.scrollTop:e.pageYOffset!==void 0?e.pageYOffset:a?.documentElement.scrollTop||a?.body&&((s=$.parentElement(a.body))==null?void 0:s.scrollTop)||((i=a?.body)==null?void 0:i.scrollTop)||0}}function zo(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Wo(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function jo(e){return e?e.nodeType===e.ELEMENT_NODE?e:$.parentElement(e):null}function ue(e,t,r,s){if(!e)return!1;let i=jo(e);if(!i)return!1;try{if(typeof t=="string"){if(i.classList.contains(t)||s&&i.closest("."+t)!==null)return!0}else if(Pt(i,t,s))return!0}catch{}return!!(r&&(i.matches(r)||s&&i.closest(r)!==null))}function Yu(e,t){return t.getId(e)!==-1}function mi(e,t,r){return e.tagName==="TITLE"&&r.headTitleMutations?!0:t.getId(e)===ht}function Vo(e,t){if(ot(e))return!1;let r=t.getId(e);if(!t.has(r))return!0;let s=$.parentNode(e);return s&&s.nodeType===e.DOCUMENT_NODE?!1:s?Vo(s,t):!0}function ki(e){return!!e.changedTouches}function qo(e=window){"NodeList"in e&&!e.NodeList.prototype.forEach&&(e.NodeList.prototype.forEach=Array.prototype.forEach),"DOMTokenList"in e&&!e.DOMTokenList.prototype.forEach&&(e.DOMTokenList.prototype.forEach=Array.prototype.forEach)}function Xu(e){let t={},r=(i,a)=>{let n={value:i,parent:a,children:[]};return t[i.node.id]=n,n},s=[];for(let i of e){let{nextId:a,parentId:n}=i;if(a&&a in t){let u=t[a];if(u.parent){let l=u.parent.children.indexOf(u);u.parent.children.splice(l,0,r(i,u.parent))}else{let l=s.indexOf(u);s.splice(l,0,r(i,null))}continue}if(n in t){let u=t[n];u.children.push(r(i,u));continue}s.push(r(i,null))}return s}function Go(e,t){t(e.value);for(let r=e.children.length-1;r>=0;r--)Go(e.children[r],t)}function ut(e,t){return!!(e.nodeName==="IFRAME"&&t.getMeta(e))}function Ho(e,t){return!!(e.nodeName==="LINK"&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&e.getAttribute("rel")==="stylesheet"&&t.getMeta(e))}function Yo(e,t){var r,s;let i=(s=(r=e.ownerDocument)==null?void 0:r.defaultView)==null?void 0:s.frameElement;if(!i||i===t)return{x:0,y:0,relativeScale:1,absoluteScale:1};let a=i.getBoundingClientRect(),n=Yo(i,t),u=a.height/i.clientHeight;return{x:a.x*n.relativeScale+n.x,y:a.y*n.relativeScale+n.y,relativeScale:u,absoluteScale:n.absoluteScale*u}}function Ue(e){return e?e instanceof we&&"shadowRoot"in e?!!e.shadowRoot:!!$.shadowRoot(e):!1}function st(e,t){let r=e?.[t[0]];return r?t.length===1?r:st(r.cssRules,t.slice(1)):null}function Bn(e){let t=[...e],r=t.pop();return{positions:t,index:r}}function Ju(e){let t=new Set,r=[];for(let s=e.length;s--;){let i=e[s];t.has(i.id)||(r.push(i),t.add(i.id))}return r}var Wt=class{constructor(){R(this,"id",1),R(this,"styleIDMap",new WeakMap),R(this,"idStyleMap",new Map)}getId(t){return this.styleIDMap.get(t)??-1}has(t){return this.styleIDMap.has(t)}add(t,r){if(this.has(t))return this.getId(t);let s;return r===void 0?s=this.id++:s=r,this.styleIDMap.set(t,s),this.idStyleMap.set(s,t),s}getStyle(t){return this.idStyleMap.get(t)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}};function Xo(e){var t;let r=null;return"getRootNode"in e&&((t=$.getRootNode(e))==null?void 0:t.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&$.host($.getRootNode(e))&&(r=$.host($.getRootNode(e))),r}function Qu(e){let t=e,r;for(;r=Xo(t);)t=r;return t}function Ku(e){let t=$.ownerDocument(e);if(!t)return!1;let r=Qu(e);return $.contains(t,r)}function Jo(e){let t=$.ownerDocument(e);return t?$.contains(t,e)||Ku(e):!1}var T=(e=>(e[e.DomContentLoaded=0]="DomContentLoaded",e[e.Load=1]="Load",e[e.FullSnapshot=2]="FullSnapshot",e[e.IncrementalSnapshot=3]="IncrementalSnapshot",e[e.Meta=4]="Meta",e[e.Custom=5]="Custom",e[e.Plugin=6]="Plugin",e[e.Asset=7]="Asset",e))(T||{}),D=(e=>(e[e.Mutation=0]="Mutation",e[e.MouseMove=1]="MouseMove",e[e.MouseInteraction=2]="MouseInteraction",e[e.Scroll=3]="Scroll",e[e.ViewportResize=4]="ViewportResize",e[e.Input=5]="Input",e[e.TouchMove=6]="TouchMove",e[e.MediaInteraction=7]="MediaInteraction",e[e.StyleSheetRule=8]="StyleSheetRule",e[e.CanvasMutation=9]="CanvasMutation",e[e.Font=10]="Font",e[e.Log=11]="Log",e[e.Drag=12]="Drag",e[e.StyleDeclaration=13]="StyleDeclaration",e[e.Selection=14]="Selection",e[e.AdoptedStyleSheet=15]="AdoptedStyleSheet",e[e.CustomElement=16]="CustomElement",e))(D||{}),q=(e=>(e[e.MouseUp=0]="MouseUp",e[e.MouseDown=1]="MouseDown",e[e.Click=2]="Click",e[e.ContextMenu=3]="ContextMenu",e[e.DblClick=4]="DblClick",e[e.Focus=5]="Focus",e[e.Blur=6]="Blur",e[e.TouchStart=7]="TouchStart",e[e.TouchMove_Departed=8]="TouchMove_Departed",e[e.TouchEnd=9]="TouchEnd",e[e.TouchCancel=10]="TouchCancel",e))(q||{}),xe=(e=>(e[e.Mouse=0]="Mouse",e[e.Pen=1]="Pen",e[e.Touch=2]="Touch",e))(xe||{}),Re=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(Re||{}),Te=(e=>(e[e.Play=0]="Play",e[e.Pause=1]="Pause",e[e.Seeked=2]="Seeked",e[e.VolumeChange=3]="VolumeChange",e[e.RateChange=4]="RateChange",e))(Te||{}),V=(e=>(e.Start="start",e.Pause="pause",e.Resume="resume",e.Resize="resize",e.Finish="finish",e.FullsnapshotRebuilded="fullsnapshot-rebuilded",e.LoadStylesheetStart="load-stylesheet-start",e.LoadStylesheetEnd="load-stylesheet-end",e.SkipStart="skip-start",e.SkipEnd="skip-end",e.MouseInteraction="mouse-interaction",e.EventCast="event-cast",e.CustomEvent="custom-event",e.Flush="flush",e.StateChange="state-change",e.PlayBack="play-back",e.Destroy="destroy",e))(V||{}),Ee=(e=>(e[e.Document=0]="Document",e[e.DocumentType=1]="DocumentType",e[e.Element=2]="Element",e[e.Text=3]="Text",e[e.CDATA=4]="CDATA",e[e.Comment=5]="Comment",e))(Ee||{});function zn(e){return"__ln"in e}var Ti=class{constructor(){R(this,"length",0),R(this,"head",null),R(this,"tail",null)}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let s=0;s<t;s++)r=r?.next||null;return r}addNode(t){let r={value:t,previous:null,next:null};if(t.__ln=r,t.previousSibling&&zn(t.previousSibling)){let s=t.previousSibling.__ln.next;r.next=s,r.previous=t.previousSibling.__ln,t.previousSibling.__ln.next=r,s&&(s.previous=r)}else if(t.nextSibling&&zn(t.nextSibling)&&t.nextSibling.__ln.previous){let s=t.nextSibling.__ln.previous;r.previous=s,r.next=t.nextSibling.__ln,t.nextSibling.__ln.previous=r,s&&(s.next=r)}else this.head&&(this.head.previous=r),r.next=this.head,this.head=r;r.next===null&&(this.tail=r),this.length++}removeNode(t){let r=t.__ln;this.head&&(r.previous?(r.previous.next=r.next,r.next?r.next.previous=r.previous:this.tail=r.previous):(this.head=r.next,this.head?this.head.previous=null:this.tail=null),t.__ln&&delete t.__ln,this.length--)}},Wn=(e,t)=>`${e}@${t}`,_i=class{constructor(){R(this,"frozen",!1),R(this,"locked",!1),R(this,"texts",[]),R(this,"attributes",[]),R(this,"attributeMap",new WeakMap),R(this,"removes",[]),R(this,"mapRemoves",[]),R(this,"movedMap",{}),R(this,"addedSet",new Set),R(this,"movedSet",new Set),R(this,"droppedSet",new Set),R(this,"removesSubTreeCache",new Set),R(this,"mutationCb"),R(this,"blockClass"),R(this,"blockSelector"),R(this,"maskTextClass"),R(this,"maskTextSelector"),R(this,"inlineStylesheet"),R(this,"maskInputOptions"),R(this,"maskTextFn"),R(this,"maskInputFn"),R(this,"keepIframeSrcFn"),R(this,"recordCanvas"),R(this,"inlineImages"),R(this,"slimDOMOptions"),R(this,"dataURLOptions"),R(this,"doc"),R(this,"mirror"),R(this,"iframeManager"),R(this,"stylesheetManager"),R(this,"shadowDomManager"),R(this,"canvasManager"),R(this,"processedNodeManager"),R(this,"unattachedDoc"),R(this,"processMutations",t=>{t.forEach(this.processMutation),this.emit()}),R(this,"emit",()=>{if(this.frozen||this.locked)return;let t=[],r=new Set,s=new Ti,i=l=>{let c=l,o=ht;for(;o===ht;)c=c&&c.nextSibling,o=c&&this.mirror.getId(c);return o},a=l=>{let c=$.parentNode(l);if(!c||!Jo(l))return;let o=!1;if(l.nodeType===Node.TEXT_NODE){let m=c.tagName;if(m==="TEXTAREA")return;m==="STYLE"&&this.addedSet.has(c)&&(o=!0)}let d=ot(c)?this.mirror.getId(Xo(l)):this.mirror.getId(c),f=i(l);if(d===-1||f===-1)return s.addNode(l);let h=Xe(l,{doc:this.doc,mirror:this.mirror,blockClass:this.blockClass,blockSelector:this.blockSelector,maskTextClass:this.maskTextClass,maskTextSelector:this.maskTextSelector,skipChild:!0,newlyAddedElement:!0,inlineStylesheet:this.inlineStylesheet,maskInputOptions:this.maskInputOptions,maskTextFn:this.maskTextFn,maskInputFn:this.maskInputFn,slimDOMOptions:this.slimDOMOptions,dataURLOptions:this.dataURLOptions,recordCanvas:this.recordCanvas,inlineImages:this.inlineImages,onSerialize:m=>{ut(m,this.mirror)&&this.iframeManager.addIframe(m),Ho(m,this.mirror)&&this.stylesheetManager.trackLinkElement(m),Ue(l)&&this.shadowDomManager.addShadowRoot($.shadowRoot(l),this.doc)},onIframeLoad:(m,p)=>{this.iframeManager.attachIframe(m,p),this.shadowDomManager.observeAttachShadow(m)},onStylesheetLoad:(m,p)=>{this.stylesheetManager.attachLinkElement(m,p)},cssCaptured:o});h&&(t.push({parentId:d,nextId:f,node:h}),r.add(h.id))};for(;this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(let l of this.movedSet)jn(this.removesSubTreeCache,l,this.mirror)&&!this.movedSet.has($.parentNode(l))||a(l);for(let l of this.addedSet)!Vn(this.droppedSet,l)&&!jn(this.removesSubTreeCache,l,this.mirror)||Vn(this.movedSet,l)?a(l):this.droppedSet.add(l);let n=null;for(;s.length;){let l=null;if(n){let c=this.mirror.getId($.parentNode(n.value)),o=i(n.value);c!==-1&&o!==-1&&(l=n)}if(!l){let c=s.tail;for(;c;){let o=c;if(c=c.previous,o){let d=this.mirror.getId($.parentNode(o.value));if(i(o.value)===-1)continue;if(d!==-1){l=o;break}else{let h=o.value,m=$.parentNode(h);if(m&&m.nodeType===Node.DOCUMENT_FRAGMENT_NODE){let p=$.host(m);if(this.mirror.getId(p)!==-1){l=o;break}}}}}}if(!l){for(;s.head;)s.removeNode(s.head.value);break}n=l.previous,s.removeNode(l.value),a(l.value)}let u={texts:this.texts.map(l=>{let c=l.node,o=$.parentNode(c);return o&&o.tagName==="TEXTAREA"&&this.genTextAreaValueMutation(o),{id:this.mirror.getId(c),value:l.value}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),attributes:this.attributes.map(l=>{let{attributes:c}=l;if(typeof c.style=="string"){let o=JSON.stringify(l.styleDiff),d=JSON.stringify(l._unchangedStyles);o.length<c.style.length&&(o+d).split("var(").length===c.style.split("var(").length&&(c.style=l.styleDiff)}return{id:this.mirror.getId(l.node),attributes:c}}).filter(l=>!r.has(l.id)).filter(l=>this.mirror.has(l.id)),removes:this.removes,adds:t};!u.texts.length&&!u.attributes.length&&!u.removes.length&&!u.adds.length||(this.texts=[],this.attributes=[],this.attributeMap=new WeakMap,this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.removesSubTreeCache=new Set,this.movedMap={},this.mutationCb(u))}),R(this,"genTextAreaValueMutation",t=>{let r=this.attributeMap.get(t);r||(r={node:t,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(r),this.attributeMap.set(t,r));let s=Array.from($.childNodes(t),i=>$.textContent(i)||"").join("");r.attributes.value=kt({element:t,maskInputOptions:this.maskInputOptions,tagName:t.tagName,type:Tt(t),value:s,maskInputFn:this.maskInputFn})}),R(this,"processMutation",t=>{if(!mi(t.target,this.mirror,this.slimDOMOptions))switch(t.type){case"characterData":{let r=$.textContent(t.target);!ue(t.target,this.blockClass,this.blockSelector,!1)&&r!==t.oldValue&&this.texts.push({value:mo(t.target,this.maskTextClass,this.maskTextSelector,!0)&&r?this.maskTextFn?this.maskTextFn(r,jo(t.target)):r.replace(/[\S]/g,"*"):r,node:t.target});break}case"attributes":{let r=t.target,s=Me(r.tagName),i=t.attributeName,a=t.target.getAttribute(i);if(i==="value"){let u=Tt(r);a=kt({element:r,maskInputOptions:this.maskInputOptions,tagName:r.tagName,type:u,value:a,maskInputFn:this.maskInputFn})}if(ue(t.target,this.blockClass,this.blockSelector,!1)||a===t.oldValue)return;let n=this.attributeMap.get(t.target);if(s==="iframe"&&i==="src"&&!this.keepIframeSrcFn(a))if(!r.contentDocument)i="rr_src";else return;if(n||(n={node:t.target,attributes:{},styleDiff:{},_unchangedStyles:{}},this.attributes.push(n),this.attributeMap.set(t.target,n)),i==="type"&&s==="input"&&(t.oldValue||"").toLowerCase()==="password"&&r.setAttribute("data-rr-is-password","true"),!po(s,i))if(n.attributes[i]=ho(this.doc,s,Me(i),a),i==="style"){if(!this.unattachedDoc)try{this.unattachedDoc=document.implementation.createHTMLDocument()}catch{this.unattachedDoc=this.doc}let u=this.unattachedDoc.createElement("span");t.oldValue&&u.setAttribute("style",t.oldValue);for(let l of Array.from(r.style)){let c=r.style.getPropertyValue(l),o=r.style.getPropertyPriority(l);c!==u.style.getPropertyValue(l)||o!==u.style.getPropertyPriority(l)?o===""?n.styleDiff[l]=c:n.styleDiff[l]=[c,o]:n._unchangedStyles[l]=[c,o]}for(let l of Array.from(u.style))r.style.getPropertyValue(l)===""&&(n.styleDiff[l]=!1)}else i==="open"&&r.tagName==="DIALOG"&&(r.matches("dialog:modal")?n.attributes.rr_open_mode="modal":n.attributes.rr_open_mode="non-modal");break}case"childList":{if(ue(t.target,this.blockClass,this.blockSelector,!0))return;if(t.target.tagName==="TEXTAREA"){this.genTextAreaValueMutation(t.target);return}t.addedNodes.forEach(r=>this.genAdds(r,t.target)),t.removedNodes.forEach(r=>{let s=this.mirror.getId(r),i=ot(t.target)?this.mirror.getId($.host(t.target)):this.mirror.getId(t.target);ue(t.target,this.blockClass,this.blockSelector,!1)||mi(r,this.mirror,this.slimDOMOptions)||!Yu(r,this.mirror)||(this.addedSet.has(r)?(Pi(this.addedSet,r),this.droppedSet.add(r)):this.addedSet.has(t.target)&&s===-1||Vo(t.target,this.mirror)||(this.movedSet.has(r)&&this.movedMap[Wn(s,i)]?Pi(this.movedSet,r):(this.removes.push({parentId:i,id:s,isShadow:ot(t.target)&&at(t.target)?!0:void 0}),Zu(r,this.removesSubTreeCache))),this.mapRemoves.push(r))});break}}}),R(this,"genAdds",(t,r)=>{if(!this.processedNodeManager.inOtherBuffer(t,this)&&!(this.addedSet.has(t)||this.movedSet.has(t))){if(this.mirror.hasNode(t)){if(mi(t,this.mirror,this.slimDOMOptions))return;this.movedSet.add(t);let s=null;r&&this.mirror.hasNode(r)&&(s=this.mirror.getId(r)),s&&s!==-1&&(this.movedMap[Wn(this.mirror.getId(t),s)]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);ue(t,this.blockClass,this.blockSelector,!1)||($.childNodes(t).forEach(s=>this.genAdds(s)),Ue(t)&&$.childNodes($.shadowRoot(t)).forEach(s=>{this.processedNodeManager.add(s,this),this.genAdds(s,t)}))}})}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager","processedNodeManager"].forEach(r=>{this[r]=t[r]})}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 Pi(e,t){e.delete(t),$.childNodes(t).forEach(r=>Pi(e,r))}function Zu(e,t){let r=[e];for(;r.length;){let s=r.pop();t.has(s)||(t.add(s),$.childNodes(s).forEach(i=>r.push(i)))}}function jn(e,t,r){return e.size===0?!1:ec(e,t)}function ec(e,t,r){let s=$.parentNode(t);return s?e.has(s):!1}function Vn(e,t){return e.size===0?!1:Qo(e,t)}function Qo(e,t){let r=$.parentNode(t);return r?e.has(r)?!0:Qo(e,r):!1}var ct;function tc(e){ct=e}function rc(){ct=void 0}var W=e=>ct?(...r)=>{try{return e(...r)}catch(s){if(ct&&ct(s)===!0)return;throw s}}:e,$e=[];function yt(e){try{if("composedPath"in e){let t=e.composedPath();if(t.length)return t[0]}else if("path"in e&&e.path.length)return e.path[0]}catch{}return e&&e.target}function Ko(e,t){let r=new _i;$e.push(r),r.init(e);let[s,i]=$o(),a=new s(W(r.processMutations.bind(r)));return a.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),[a,i]}function ic({mousemoveCb:e,sampling:t,doc:r,mirror:s}){if(t.mousemove===!1)return()=>{};let i=typeof t.mousemove=="number"?t.mousemove:50,a=typeof t.mousemoveCallback=="number"?t.mousemoveCallback:500,n=[],u,l=pt(W(d=>{let f=Date.now()-u;e(n.map(h=>(h.timeOffset-=f,h)),d),n=[],u=null}),a),c=W(pt(W(d=>{let f=yt(d),{clientX:h,clientY:m}=ki(d)?d.changedTouches[0]:d;u||(u=dt()),n.push({x:h,y:m,id:s.getId(f),timeOffset:dt()-u}),l(typeof DragEvent<"u"&&d instanceof DragEvent?D.Drag:d instanceof MouseEvent?D.MouseMove:D.TouchMove)}),i,{trailing:!1})),o=[le("mousemove",c,r),le("touchmove",c,r),le("drag",c,r)];return W(()=>{o.forEach(d=>d())})}function sc({mouseInteractionCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){if(a.mouseInteraction===!1)return()=>{};let n=a.mouseInteraction===!0||a.mouseInteraction===void 0?{}:a.mouseInteraction,u=[],l=null,c=o=>d=>{let f=yt(d);if(ue(f,s,i,!0))return;let h=null,m=o;if("pointerType"in d){switch(d.pointerType){case"mouse":h=xe.Mouse;break;case"touch":h=xe.Touch;break;case"pen":h=xe.Pen;break}h===xe.Touch?q[o]===q.MouseDown?m="TouchStart":q[o]===q.MouseUp&&(m="TouchEnd"):xe.Pen}else ki(d)&&(h=xe.Touch);h!==null?(l=h,(m.startsWith("Touch")&&h===xe.Touch||m.startsWith("Mouse")&&h===xe.Mouse)&&(h=null)):q[o]===q.Click&&(h=l,l=null);let p=ki(d)?d.changedTouches[0]:d;if(!p)return;let g=r.getId(f),{clientX:b,clientY:y}=p;W(e)({type:q[m],id:g,x:b,y,...h!==null&&{pointerType:h}})};return Object.keys(q).filter(o=>Number.isNaN(Number(o))&&!o.endsWith("_Departed")&&n[o]!==!1).forEach(o=>{let d=Me(o),f=c(o);if(window.PointerEvent)switch(q[o]){case q.MouseDown:case q.MouseUp:d=d.replace("mouse","pointer");break;case q.TouchStart:case q.TouchEnd:return}u.push(le(d,f,t))}),W(()=>{u.forEach(o=>o())})}function Zo({scrollCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,sampling:a}){let n=W(pt(W(u=>{let l=yt(u);if(!l||ue(l,s,i,!0))return;let c=r.getId(l);if(l===t&&t.defaultView){let o=Bo(t.defaultView);e({id:c,x:o.left,y:o.top})}else e({id:c,x:l.scrollLeft,y:l.scrollTop})}),a.scroll||100));return le("scroll",n,t)}function nc({viewportResizeCb:e},{win:t}){let r=-1,s=-1,i=W(pt(W(()=>{let a=zo(),n=Wo();(r!==a||s!==n)&&(e({width:Number(n),height:Number(a)}),r=a,s=n)}),200));return le("resize",i,t)}var oc=["INPUT","TEXTAREA","SELECT"],qn=new WeakMap;function ac({inputCb:e,doc:t,mirror:r,blockClass:s,blockSelector:i,ignoreClass:a,ignoreSelector:n,maskInputOptions:u,maskInputFn:l,sampling:c,userTriggeredOnInput:o}){function d(y){let w=yt(y),C=y.isTrusted,v=w&&w.tagName;if(w&&v==="OPTION"&&(w=$.parentElement(w)),!w||!v||oc.indexOf(v)<0||ue(w,s,i,!0)||w.classList.contains(a)||n&&w.matches(n))return;let S=w.value,x=!1,M=Tt(w)||"";M==="radio"||M==="checkbox"?x=w.checked:(u[v.toLowerCase()]||u[M])&&(S=kt({element:w,maskInputOptions:u,tagName:v,type:M,value:S,maskInputFn:l})),f(w,o?{text:S,isChecked:x,userTriggered:C}:{text:S,isChecked:x});let I=w.name;M==="radio"&&I&&x&&t.querySelectorAll(`input[type="radio"][name="${I}"]`).forEach(N=>{if(N!==w){let F=N.value;f(N,o?{text:F,isChecked:!x,userTriggered:!1}:{text:F,isChecked:!x})}})}function f(y,w){let C=qn.get(y);if(!C||C.text!==w.text||C.isChecked!==w.isChecked){qn.set(y,w);let v=r.getId(y);W(e)({...w,id:v})}}let m=(c.input==="last"?["change"]:["input","change"]).map(y=>le(y,W(d),t)),p=t.defaultView;if(!p)return()=>{m.forEach(y=>y())};let g=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),b=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]];return g&&g.set&&m.push(...b.map(y=>nr(y[0],y[1],{set(){W(d)({target:this,isTrusted:!1})}},!1,p))),W(()=>{m.forEach(y=>y())})}function jt(e){let t=[];function r(s,i){if(Nt("CSSGroupingRule")&&s.parentRule instanceof CSSGroupingRule||Nt("CSSMediaRule")&&s.parentRule instanceof CSSMediaRule||Nt("CSSSupportsRule")&&s.parentRule instanceof CSSSupportsRule||Nt("CSSConditionRule")&&s.parentRule instanceof CSSConditionRule){let n=Array.from(s.parentRule.cssRules).indexOf(s);return i.unshift(n),r(s.parentRule,i)}else if(s.parentStyleSheet){let n=Array.from(s.parentStyleSheet.cssRules).indexOf(s);i.unshift(n)}return i}return r(e,t)}function ke(e,t,r){let s,i;return e?(e.ownerNode?s=t.getId(e.ownerNode):i=r.getId(e),{styleId:i,id:s}):{}}function lc({styleSheetRuleCb:e,mirror:t,stylesheetManager:r},{win:s}){if(!s.CSSStyleSheet||!s.CSSStyleSheet.prototype)return()=>{};let i=s.CSSStyleSheet.prototype.insertRule;s.CSSStyleSheet.prototype.insertRule=new Proxy(i,{apply:W((o,d,f)=>{let[h,m]=f,{id:p,styleId:g}=ke(d,t,r.styleMirror);return(p&&p!==-1||g&&g!==-1)&&e({id:p,styleId:g,adds:[{rule:h,index:m}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.addRule=function(o,d,f=this.cssRules.length){let h=`${o} { ${d} }`;return s.CSSStyleSheet.prototype.insertRule.apply(this,[h,f])};let a=s.CSSStyleSheet.prototype.deleteRule;s.CSSStyleSheet.prototype.deleteRule=new Proxy(a,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,removes:[{index:h}]}),o.apply(d,f)})}),s.CSSStyleSheet.prototype.removeRule=function(o){return s.CSSStyleSheet.prototype.deleteRule.apply(this,[o])};let n;s.CSSStyleSheet.prototype.replace&&(n=s.CSSStyleSheet.prototype.replace,s.CSSStyleSheet.prototype.replace=new Proxy(n,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replace:h}),o.apply(d,f)})}));let u;s.CSSStyleSheet.prototype.replaceSync&&(u=s.CSSStyleSheet.prototype.replaceSync,s.CSSStyleSheet.prototype.replaceSync=new Proxy(u,{apply:W((o,d,f)=>{let[h]=f,{id:m,styleId:p}=ke(d,t,r.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,replaceSync:h}),o.apply(d,f)})}));let l={};Ot("CSSGroupingRule")?l.CSSGroupingRule=s.CSSGroupingRule:(Ot("CSSMediaRule")&&(l.CSSMediaRule=s.CSSMediaRule),Ot("CSSConditionRule")&&(l.CSSConditionRule=s.CSSConditionRule),Ot("CSSSupportsRule")&&(l.CSSSupportsRule=s.CSSSupportsRule));let c={};return Object.entries(l).forEach(([o,d])=>{c[o]={insertRule:d.prototype.insertRule,deleteRule:d.prototype.deleteRule},d.prototype.insertRule=new Proxy(c[o].insertRule,{apply:W((f,h,m)=>{let[p,g]=m,{id:b,styleId:y}=ke(h.parentStyleSheet,t,r.styleMirror);return(b&&b!==-1||y&&y!==-1)&&e({id:b,styleId:y,adds:[{rule:p,index:[...jt(h),g||0]}]}),f.apply(h,m)})}),d.prototype.deleteRule=new Proxy(c[o].deleteRule,{apply:W((f,h,m)=>{let[p]=m,{id:g,styleId:b}=ke(h.parentStyleSheet,t,r.styleMirror);return(g&&g!==-1||b&&b!==-1)&&e({id:g,styleId:b,removes:[{index:[...jt(h),p]}]}),f.apply(h,m)})})}),W(()=>{s.CSSStyleSheet.prototype.insertRule=i,s.CSSStyleSheet.prototype.deleteRule=a,n&&(s.CSSStyleSheet.prototype.replace=n),u&&(s.CSSStyleSheet.prototype.replaceSync=u),Object.entries(l).forEach(([o,d])=>{d.prototype.insertRule=c[o].insertRule,d.prototype.deleteRule=c[o].deleteRule})})}function ea({mirror:e,stylesheetManager:t},r){var s,i,a;let n=null;r.nodeName==="#document"?n=e.getId(r):n=e.getId($.host(r));let u=r.nodeName==="#document"?(s=r.defaultView)==null?void 0:s.Document:(a=(i=r.ownerDocument)==null?void 0:i.defaultView)==null?void 0:a.ShadowRoot,l=u?.prototype?Object.getOwnPropertyDescriptor(u?.prototype,"adoptedStyleSheets"):void 0;return n===null||n===-1||!u||!l?()=>{}:(Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get(){var c;return(c=l.get)==null?void 0:c.call(this)},set(c){var o;let d=(o=l.set)==null?void 0:o.call(this,c);if(n!==null&&n!==-1)try{t.adoptStyleSheets(c,n)}catch{}return d}}),W(()=>{Object.defineProperty(r,"adoptedStyleSheets",{configurable:l.configurable,enumerable:l.enumerable,get:l.get,set:l.set})}))}function uc({styleDeclarationCb:e,mirror:t,ignoreCSSAttributes:r,stylesheetManager:s},{win:i}){let a=i.CSSStyleDeclaration.prototype.setProperty;i.CSSStyleDeclaration.prototype.setProperty=new Proxy(a,{apply:W((u,l,c)=>{var o;let[d,f,h]=c;if(r.has(d))return a.apply(l,[d,f,h]);let{id:m,styleId:p}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(m&&m!==-1||p&&p!==-1)&&e({id:m,styleId:p,set:{property:d,value:f,priority:h},index:jt(l.parentRule)}),u.apply(l,c)})});let n=i.CSSStyleDeclaration.prototype.removeProperty;return i.CSSStyleDeclaration.prototype.removeProperty=new Proxy(n,{apply:W((u,l,c)=>{var o;let[d]=c;if(r.has(d))return n.apply(l,[d]);let{id:f,styleId:h}=ke((o=l.parentRule)==null?void 0:o.parentStyleSheet,t,s.styleMirror);return(f&&f!==-1||h&&h!==-1)&&e({id:f,styleId:h,remove:{property:d},index:jt(l.parentRule)}),u.apply(l,c)})}),W(()=>{i.CSSStyleDeclaration.prototype.setProperty=a,i.CSSStyleDeclaration.prototype.removeProperty=n})}function cc({mediaInteractionCb:e,blockClass:t,blockSelector:r,mirror:s,sampling:i,doc:a}){let n=W(l=>pt(W(c=>{let o=yt(c);if(!o||ue(o,t,r,!0))return;let{currentTime:d,volume:f,muted:h,playbackRate:m,loop:p}=o;e({type:l,id:s.getId(o),currentTime:d,volume:f,muted:h,playbackRate:m,loop:p})}),i.media||500)),u=[le("play",n(Te.Play),a),le("pause",n(Te.Pause),a),le("seeked",n(Te.Seeked),a),le("volumechange",n(Te.VolumeChange),a),le("ratechange",n(Te.RateChange),a)];return W(()=>{u.forEach(l=>l())})}function fc({fontCb:e,doc:t}){let r=t.defaultView;if(!r)return()=>{};let s=[],i=new WeakMap,a=r.FontFace;r.FontFace=function(l,c,o){let d=new a(l,c,o);return i.set(d,{family:l,buffer:typeof c!="string",descriptors:o,fontSource:typeof c=="string"?c:JSON.stringify(Array.from(new Uint8Array(c)))}),d};let n=We(t.fonts,"add",function(u){return function(l){return setTimeout(W(()=>{let c=i.get(l);c&&(e(c),i.delete(l))}),0),u.apply(this,[l])}});return s.push(()=>{r.FontFace=a}),s.push(n),W(()=>{s.forEach(u=>u())})}function hc(e){let{doc:t,mirror:r,blockClass:s,blockSelector:i,selectionCb:a}=e,n=!0,u=W(()=>{let l=t.getSelection();if(!l||n&&l?.isCollapsed)return;n=l.isCollapsed||!1;let c=[],o=l.rangeCount||0;for(let d=0;d<o;d++){let f=l.getRangeAt(d),{startContainer:h,startOffset:m,endContainer:p,endOffset:g}=f;ue(h,s,i,!0)||ue(p,s,i,!0)||c.push({start:r.getId(h),startOffset:m,end:r.getId(p),endOffset:g})}a({ranges:c})});return u(),le("selectionchange",u)}function dc({doc:e,customElementCb:t}){let r=e.defaultView;return!r||!r.customElements?()=>{}:We(r.customElements,"define",function(i){return function(a,n,u){try{t({define:{name:a}})}catch{console.warn(`Custom element callback failed for ${a}`)}return i.apply(this,[a,n,u])}})}function pc(e,t){let{mutationCb:r,mousemoveCb:s,mouseInteractionCb:i,scrollCb:a,viewportResizeCb:n,inputCb:u,mediaInteractionCb:l,styleSheetRuleCb:c,styleDeclarationCb:o,canvasMutationCb:d,fontCb:f,selectionCb:h,customElementCb:m}=e;e.mutationCb=(...p)=>{t.mutation&&t.mutation(...p),r(...p)},e.mousemoveCb=(...p)=>{t.mousemove&&t.mousemove(...p),s(...p)},e.mouseInteractionCb=(...p)=>{t.mouseInteraction&&t.mouseInteraction(...p),i(...p)},e.scrollCb=(...p)=>{t.scroll&&t.scroll(...p),a(...p)},e.viewportResizeCb=(...p)=>{t.viewportResize&&t.viewportResize(...p),n(...p)},e.inputCb=(...p)=>{t.input&&t.input(...p),u(...p)},e.mediaInteractionCb=(...p)=>{t.mediaInteaction&&t.mediaInteaction(...p),l(...p)},e.styleSheetRuleCb=(...p)=>{t.styleSheetRule&&t.styleSheetRule(...p),c(...p)},e.styleDeclarationCb=(...p)=>{t.styleDeclaration&&t.styleDeclaration(...p),o(...p)},e.canvasMutationCb=(...p)=>{t.canvasMutation&&t.canvasMutation(...p),d(...p)},e.fontCb=(...p)=>{t.font&&t.font(...p),f(...p)},e.selectionCb=(...p)=>{t.selection&&t.selection(...p),h(...p)},e.customElementCb=(...p)=>{t.customElement&&t.customElement(...p),m(...p)}}function mc(e,t={}){let r=e.doc.defaultView;if(!r)return()=>{};pc(e,t);let s,i=()=>{};e.recordDOM&&([s,i]=Ko(e,e.doc));let a=ic(e),n=sc(e),u=Zo(e),l=nc(e,{win:r}),c=ac(e),o=cc(e),d=()=>{},f=()=>{},h=()=>{},m=()=>{};e.recordDOM&&(d=lc(e,{win:r}),f=ea(e,e.doc),h=uc(e,{win:r}),e.collectFonts&&(m=fc(e)));let p=hc(e),g=dc(e),b=[];for(let y of e.plugins)b.push(y.observer(y.callback,r,y.options));return W(()=>{$e.forEach(y=>y.reset()),s?.disconnect(),i(),a(),n(),u(),l(),c(),o(),d(),f(),h(),m(),p(),g(),b.forEach(y=>y())})}function Nt(e){return typeof window[e]<"u"}function Ot(e){return!!(typeof window[e]<"u"&&window[e].prototype&&"insertRule"in window[e].prototype&&"deleteRule"in window[e].prototype)}var Vt=class{constructor(t){R(this,"iframeIdToRemoteIdMap",new WeakMap),R(this,"iframeRemoteIdToIdMap",new WeakMap),this.generateIdFn=t}getId(t,r,s,i){let a=s||this.getIdToRemoteIdMap(t),n=i||this.getRemoteIdToIdMap(t),u=a.get(r);return u||(u=this.generateIdFn(),a.set(r,u),n.set(u,r)),u}getIds(t,r){let s=this.getIdToRemoteIdMap(t),i=this.getRemoteIdToIdMap(t);return r.map(a=>this.getId(t,a,s,i))}getRemoteId(t,r,s){let i=s||this.getRemoteIdToIdMap(t);if(typeof r!="number")return r;let a=i.get(r);return a||-1}getRemoteIds(t,r){let s=this.getRemoteIdToIdMap(t);return r.map(i=>this.getRemoteId(t,i,s))}reset(t){if(!t){this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap;return}this.iframeIdToRemoteIdMap.delete(t),this.iframeRemoteIdToIdMap.delete(t)}getIdToRemoteIdMap(t){let r=this.iframeIdToRemoteIdMap.get(t);return r||(r=new Map,this.iframeIdToRemoteIdMap.set(t,r)),r}getRemoteIdToIdMap(t){let r=this.iframeRemoteIdToIdMap.get(t);return r||(r=new Map,this.iframeRemoteIdToIdMap.set(t,r)),r}},Li=class{constructor(t){R(this,"iframes",new WeakMap),R(this,"crossOriginIframeMap",new WeakMap),R(this,"crossOriginIframeMirror",new Vt(fo)),R(this,"crossOriginIframeStyleMirror"),R(this,"crossOriginIframeRootIdMap",new WeakMap),R(this,"mirror"),R(this,"mutationCb"),R(this,"wrappedEmit"),R(this,"loadListener"),R(this,"stylesheetManager"),R(this,"recordCrossOriginIframes"),this.mutationCb=t.mutationCb,this.wrappedEmit=t.wrappedEmit,this.stylesheetManager=t.stylesheetManager,this.recordCrossOriginIframes=t.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new Vt(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=t.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(t){this.iframes.set(t,!0),t.contentWindow&&this.crossOriginIframeMap.set(t.contentWindow,t)}addLoadListener(t){this.loadListener=t}attachIframe(t,r){var s,i;this.mutationCb({adds:[{parentId:this.mirror.getId(t),nextId:null,node:r}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),this.recordCrossOriginIframes&&((s=t.contentWindow)==null||s.addEventListener("message",this.handleMessage.bind(this))),(i=this.loadListener)==null||i.call(this,t),t.contentDocument&&t.contentDocument.adoptedStyleSheets&&t.contentDocument.adoptedStyleSheets.length>0&&this.stylesheetManager.adoptStyleSheets(t.contentDocument.adoptedStyleSheets,this.mirror.getId(t.contentDocument))}handleMessage(t){let r=t;if(r.data.type!=="rrweb"||r.origin!==r.data.origin||!t.source)return;let i=this.crossOriginIframeMap.get(t.source);if(!i)return;let a=this.transformCrossOriginEvent(i,r.data.event);a&&this.wrappedEmit(a,r.data.isCheckout)}transformCrossOriginEvent(t,r){var s;switch(r.type){case T.FullSnapshot:{this.crossOriginIframeMirror.reset(t),this.crossOriginIframeStyleMirror.reset(t),this.replaceIdOnNode(r.data.node,t);let i=r.data.node.id;return this.crossOriginIframeRootIdMap.set(t,i),this.patchRootIdOnNode(r.data.node,i),{timestamp:r.timestamp,type:T.IncrementalSnapshot,data:{source:D.Mutation,adds:[{parentId:this.mirror.getId(t),nextId:null,node:r.data.node}],removes:[],texts:[],attributes:[],isAttachIframe:!0}}}case T.Meta:case T.Load:case T.DomContentLoaded:return!1;case T.Plugin:return r;case T.Custom:return this.replaceIds(r.data.payload,t,["id","parentId","previousId","nextId"]),r;case T.IncrementalSnapshot:switch(r.data.source){case D.Mutation:return r.data.adds.forEach(i=>{this.replaceIds(i,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(i.node,t);let a=this.crossOriginIframeRootIdMap.get(t);a&&this.patchRootIdOnNode(i.node,a)}),r.data.removes.forEach(i=>{this.replaceIds(i,t,["parentId","id"])}),r.data.attributes.forEach(i=>{this.replaceIds(i,t,["id"])}),r.data.texts.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.Drag:case D.TouchMove:case D.MouseMove:return r.data.positions.forEach(i=>{this.replaceIds(i,t,["id"])}),r;case D.ViewportResize:return!1;case D.MediaInteraction:case D.MouseInteraction:case D.Scroll:case D.CanvasMutation:case D.Input:return this.replaceIds(r.data,t,["id"]),r;case D.StyleSheetRule:case D.StyleDeclaration:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleId"]),r;case D.Font:return r;case D.Selection:return r.data.ranges.forEach(i=>{this.replaceIds(i,t,["start","end"])}),r;case D.AdoptedStyleSheet:return this.replaceIds(r.data,t,["id"]),this.replaceStyleIds(r.data,t,["styleIds"]),(s=r.data.styles)==null||s.forEach(i=>{this.replaceStyleIds(i,t,["styleId"])}),r}}return!1}replace(t,r,s,i){for(let a of i)!Array.isArray(r[a])&&typeof r[a]!="number"||(Array.isArray(r[a])?r[a]=t.getIds(s,r[a]):r[a]=t.getId(s,r[a]));return r}replaceIds(t,r,s){return this.replace(this.crossOriginIframeMirror,t,r,s)}replaceStyleIds(t,r,s){return this.replace(this.crossOriginIframeStyleMirror,t,r,s)}replaceIdOnNode(t,r){this.replaceIds(t,r,["id","rootId"]),"childNodes"in t&&t.childNodes.forEach(s=>{this.replaceIdOnNode(s,r)})}patchRootIdOnNode(t,r){t.type!==Ee.Document&&!t.rootId&&(t.rootId=r),"childNodes"in t&&t.childNodes.forEach(s=>{this.patchRootIdOnNode(s,r)})}},Fi=class{constructor(t){R(this,"shadowDoms",new WeakSet),R(this,"mutationCb"),R(this,"scrollCb"),R(this,"bypassOptions"),R(this,"mirror"),R(this,"restoreHandlers",[]),this.mutationCb=t.mutationCb,this.scrollCb=t.scrollCb,this.bypassOptions=t.bypassOptions,this.mirror=t.mirror,this.init()}init(){this.reset(),this.patchAttachShadow(Element,document)}addShadowRoot(t,r){if(!at(t)||this.shadowDoms.has(t))return;this.shadowDoms.add(t);let[s]=Ko({...this.bypassOptions,doc:r,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this},t);this.restoreHandlers.push(()=>s.disconnect()),this.restoreHandlers.push(Zo({...this.bypassOptions,scrollCb:this.scrollCb,doc:t,mirror:this.mirror})),setTimeout(()=>{t.adoptedStyleSheets&&t.adoptedStyleSheets.length>0&&this.bypassOptions.stylesheetManager.adoptStyleSheets(t.adoptedStyleSheets,this.mirror.getId($.host(t))),this.restoreHandlers.push(ea({mirror:this.mirror,stylesheetManager:this.bypassOptions.stylesheetManager},t))},0)}observeAttachShadow(t){!t.contentWindow||!t.contentDocument||this.patchAttachShadow(t.contentWindow.Element,t.contentDocument)}patchAttachShadow(t,r){let s=this;this.restoreHandlers.push(We(t.prototype,"attachShadow",function(i){return function(a){let n=i.call(this,a),u=$.shadowRoot(this);return u&&Jo(this)&&s.addShadowRoot(u,r),n}}))}reset(){this.restoreHandlers.forEach(t=>{try{t()}catch{}}),this.restoreHandlers=[],this.shadowDoms=new WeakSet}},Je="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",nt=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(it=0;it<Je.length;it++)nt[Je.charCodeAt(it)]=it;var it,gc=function(e){var t=new Uint8Array(e),r,s=t.length,i="";for(r=0;r<s;r+=3)i+=Je[t[r]>>2],i+=Je[(t[r]&3)<<4|t[r+1]>>4],i+=Je[(t[r+1]&15)<<2|t[r+2]>>6],i+=Je[t[r+2]&63];return s%3===2?i=i.substring(0,i.length-1)+"=":s%3===1&&(i=i.substring(0,i.length-2)+"=="),i},yc=function(e){var t=e.length*.75,r=e.length,s,i=0,a,n,u,l;e[e.length-1]==="="&&(t--,e[e.length-2]==="="&&t--);var c=new ArrayBuffer(t),o=new Uint8Array(c);for(s=0;s<r;s+=4)a=nt[e.charCodeAt(s)],n=nt[e.charCodeAt(s+1)],u=nt[e.charCodeAt(s+2)],l=nt[e.charCodeAt(s+3)],o[i++]=a<<2|n>>4,o[i++]=(n&15)<<4|u>>2,o[i++]=(u&3)<<6|l&63;return c},Gn=new Map;function wc(e,t){let r=Gn.get(e);return r||(r=new Map,Gn.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}var ta=(e,t,r)=>{if(!e||!(ia(e,t)||typeof e=="object"))return;let s=e.constructor.name,i=wc(r,s),a=i.indexOf(e);return a===-1&&(a=i.length,i.push(e)),a};function At(e,t,r){if(e instanceof Array)return e.map(s=>At(s,t,r));if(e===null)return e;if(e instanceof Float32Array||e instanceof Float64Array||e instanceof Int32Array||e instanceof Uint32Array||e instanceof Uint8Array||e instanceof Uint16Array||e instanceof Int16Array||e instanceof Int8Array||e instanceof Uint8ClampedArray)return{rr_type:e.constructor.name,args:[Object.values(e)]};if(e instanceof ArrayBuffer){let s=e.constructor.name,i=gc(e);return{rr_type:s,base64:i}}else{if(e instanceof DataView)return{rr_type:e.constructor.name,args:[At(e.buffer,t,r),e.byteOffset,e.byteLength]};if(e instanceof HTMLImageElement){let s=e.constructor.name,{src:i}=e;return{rr_type:s,src:i}}else if(e instanceof HTMLCanvasElement){let s="HTMLImageElement",i=e.toDataURL();return{rr_type:s,src:i}}else{if(e instanceof ImageData)return{rr_type:e.constructor.name,args:[At(e.data,t,r),e.width,e.height]};if(ia(e,t)||typeof e=="object"){let s=e.constructor.name,i=ta(e,t,r);return{rr_type:s,index:i}}}}return e}var ra=(e,t,r)=>e.map(s=>At(s,t,r)),ia=(e,t)=>!!["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(i=>typeof t[i]=="function").find(i=>e instanceof t[i]);function bc(e,t,r,s){let i=[],a=Object.getOwnPropertyNames(t.CanvasRenderingContext2D.prototype);for(let n of a)try{if(typeof t.CanvasRenderingContext2D.prototype[n]!="function")continue;let u=We(t.CanvasRenderingContext2D.prototype,n,function(l){return function(...c){return ue(this.canvas,r,s,!0)||setTimeout(()=>{let o=ra(c,t,this);e(this.canvas,{type:Re["2D"],property:n,args:o})},0),l.apply(this,c)}});i.push(u)}catch{let u=nr(t.CanvasRenderingContext2D.prototype,n,{set(l){e(this.canvas,{type:Re["2D"],property:n,args:[l],setter:!0})}});i.push(u)}return()=>{i.forEach(n=>n())}}function vc(e){return e==="experimental-webgl"?"webgl":e}function Hn(e,t,r,s){let i=[];try{let a=We(e.HTMLCanvasElement.prototype,"getContext",function(n){return function(u,...l){if(!ue(this,t,r,!0)){let c=vc(u);if("__context"in this||(this.__context=c),s&&["webgl","webgl2"].includes(c))if(l[0]&&typeof l[0]=="object"){let o=l[0];o.preserveDrawingBuffer||(o.preserveDrawingBuffer=!0)}else l.splice(0,1,{preserveDrawingBuffer:!0})}return n.apply(this,[u,...l])}});i.push(a)}catch{console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{i.forEach(a=>a())}}function Yn(e,t,r,s,i,a){let n=[],u=Object.getOwnPropertyNames(e);for(let l of u)if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(l))try{if(typeof e[l]!="function")continue;let c=We(e,l,function(o){return function(...d){let f=o.apply(this,d);if(ta(f,a,this),"tagName"in this.canvas&&!ue(this.canvas,s,i,!0)){let h=ra(d,a,this),m={type:t,property:l,args:h};r(this.canvas,m)}return f}});n.push(c)}catch{let c=nr(e,l,{set(o){r(this.canvas,{type:t,property:l,args:[o],setter:!0})}});n.push(c)}return n}function Sc(e,t,r,s){let i=[];return typeof t.WebGLRenderingContext<"u"&&i.push(...Yn(t.WebGLRenderingContext.prototype,Re.WebGL,e,r,s,t)),typeof t.WebGL2RenderingContext<"u"&&i.push(...Yn(t.WebGL2RenderingContext.prototype,Re.WebGL2,e,r,s,t)),()=>{i.forEach(a=>a())}}var sa=`(function() { 57 57 "use strict"; 58 58 var chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; … … 129 129 })(); 130 130 //# sourceMappingURL=image-bitmap-data-url-worker-IJpC7g_b.js.map 131 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Sc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Sc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=wc(this.processMutation.bind(this),t,r,s),n=vc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;ec(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=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,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=P=>{for(let se of k||[])se.eventProcessor&&(P=se.eventProcessor(P));return b&&!_&&(P=b(P)),P};re=(P,se)=>{var H;let te=P;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=P=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...P}})},ve=P=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...P}}),de=P=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...P}}),rt=P=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...P}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Pi({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let P of k||[])P.getMirror&&P.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Pe=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Pe},mirror:me});Dt=(P=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},P),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Ml(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},P),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let P=[],se=te=>{var fe;return W(pc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Pe,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{P.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),P.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(P.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),P.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{P.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Pe.destroy(),qt=!1,tc()}}catch(P){console.warn(P)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function Cc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function xc(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Ec(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Mc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Ec(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Rc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Nc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return gc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Oc(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ic=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Ac(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ic.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function Dc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Oc(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Ac(a,l);let c=!1}catch(a){i(e,a)}}async function kc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await Dc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await kc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function Tc(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var _c=5*1e3,Lc=Cc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/_c),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Mc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Rc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Kl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(xc(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Ql(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Nc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Po(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,ku(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Lo(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Yu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Xu(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&Tc(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Qc}=je,{freezePage:Kc}=je,{takeFullSnapshot:Zc}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Pc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Pc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ga=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ya=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),wa=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),lf=[...Object.keys(or),...ga,...ya,...wa,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function Fc(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ga.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(ya.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(wa.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=Fc(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function ba(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*");function Uc(e,t="https://example.invalid"){try{return new URL(e,t).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var $c=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function va(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":$c.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=ba(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Bc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),zc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Wc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=zc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Bc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Wc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=va(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var jc=new Set(["page","click","rage_click"]);function Sa(e={maskText:!0}){let t={styleNodes:new Set};return r=>Vc(r,e,t)}function Vc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Uc(s.data.href)),s.type===5){let i=jc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:va(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var Ca=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function xa(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&Ca[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:Ca[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},L=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ea=()=>ar.fit();function ps(e){L("seek").value=String(e),L("time").textContent=`${tt(e)} / ${tt(be)}`,L("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);L("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),L("previous-event").disabled=!Ie.some(r=>r.time<e-100),L("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,L("play").textContent=z.__("Play","clickclue"),L("activity").textContent=""}function Le(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ma(e){let t=Number(L("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Le(r.time)}function qc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),L("event-ticks").replaceChildren(),L("current-event").textContent="",L("view-feedback").textContent="",L("viewport").scrollTop=0,L("viewport").scrollLeft=0,L("stage").replaceChildren(),L("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(i).disabled=!0;try{let i=ys(r),a=Sa({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=xa(n),K=new Ht(n,{root:L("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:L("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(L("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ea()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{L("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{L("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])L(f).disabled=!1;L("markers").disabled=!Ie.length,L("seek").max=String(be),L("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ea(),Le(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),L("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])L(a).disabled=!0;L("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),L("time").textContent="0:00 / 0:00",L("current-event").textContent="",L("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}L("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(L("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,L("play").textContent=z.__("Pause","clickclue")}};L("speed").onchange=()=>K?.setConfig({speed:Number(L("speed").value)});L("skip-inactive").onchange=()=>K?.setConfig({skipInactive:L("skip-inactive").checked});L("seek").oninput=e=>Le(e.target.value);L("previous-event").onclick=()=>Ma(-1);L("next-event").onclick=()=>Ma(1);L("markers").onchange=e=>{e.target.value!==""&&Le(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),L("play").click()),e.key==="Home"&&(e.preventDefault(),Le(0)),e.key==="End"&&(e.preventDefault(),Le(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Le(Number(L("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),qc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Le(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})();131 `,Xn=typeof self<"u"&&self.Blob&&new Blob([sa],{type:"text/javascript;charset=utf-8"});function Cc(e){let t;try{if(t=Xn&&(self.URL||self.webkitURL).createObjectURL(Xn),!t)throw"";let r=new Worker(t,{name:e?.name});return r.addEventListener("error",()=>{(self.URL||self.webkitURL).revokeObjectURL(t)}),r}catch{return new Worker("data:text/javascript;charset=utf-8,"+encodeURIComponent(sa),{name:e?.name})}finally{t&&(self.URL||self.webkitURL).revokeObjectURL(t)}}var Ui=class{constructor(t){R(this,"pendingCanvasMutations",new Map),R(this,"rafStamps",{latestId:0,invokeId:null}),R(this,"mirror"),R(this,"mutationCb"),R(this,"resetObservers"),R(this,"frozen",!1),R(this,"locked",!1),R(this,"processMutation",(l,c)=>{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(l)||this.pendingCanvasMutations.set(l,[]),this.pendingCanvasMutations.get(l).push(c)});let{sampling:r="all",win:s,blockClass:i,blockSelector:a,recordCanvas:n,dataURLOptions:u}=t;this.mutationCb=t.mutationCb,this.mirror=t.mirror,n&&r==="all"&&this.initCanvasMutationObserver(s,i,a),n&&typeof r=="number"&&this.initCanvasFPSObserver(r,s,i,a,{dataURLOptions:u})}reset(){this.pendingCanvasMutations.clear(),this.resetObservers&&this.resetObservers()}freeze(){this.frozen=!0}unfreeze(){this.frozen=!1}lock(){this.locked=!0}unlock(){this.locked=!1}initCanvasFPSObserver(t,r,s,i,a){let n=Hn(r,s,i,!0),u=new Map,l=new Cc;l.onmessage=m=>{let{id:p}=m.data;if(u.set(p,!1),!("base64"in m.data))return;let{base64:g,type:b,width:y,height:w}=m.data;this.mutationCb({id:p,type:Re["2D"],commands:[{property:"clearRect",args:[0,0,y,w]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:g}],type:b}]},0,0]}]})};let c=1e3/t,o=0,d,f=()=>{let m=[];return r.document.querySelectorAll("canvas").forEach(p=>{ue(p,s,i,!0)||m.push(p)}),m},h=m=>{if(o&&m-o<c){d=requestAnimationFrame(h);return}o=m,f().forEach(async p=>{var g;let b=this.mirror.getId(p);if(u.get(b)||p.width===0||p.height===0)return;if(u.set(b,!0),["webgl","webgl2"].includes(p.__context)){let w=p.getContext(p.__context);((g=w?.getContextAttributes())==null?void 0:g.preserveDrawingBuffer)===!1&&w.clear(w.COLOR_BUFFER_BIT)}let y=await createImageBitmap(p);l.postMessage({id:b,bitmap:y,width:p.width,height:p.height,dataURLOptions:a.dataURLOptions},[y])}),d=requestAnimationFrame(h)};d=requestAnimationFrame(h),this.resetObservers=()=>{n(),cancelAnimationFrame(d)}}initCanvasMutationObserver(t,r,s){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();let i=Hn(t,r,s,!1),a=bc(this.processMutation.bind(this),t,r,s),n=Sc(this.processMutation.bind(this),t,r,s);this.resetObservers=()=>{i(),a(),n()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){let t=r=>{this.rafStamps.latestId=r,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((t,r)=>{let s=this.mirror.getId(r);this.flushPendingCanvasMutationFor(r,s)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(t,r){if(this.frozen||this.locked)return;let s=this.pendingCanvasMutations.get(t);if(!s||r===-1)return;let i=s.map(n=>{let{type:u,...l}=n;return l}),{type:a}=s[0];this.mutationCb({id:r,type:a,commands:i}),this.pendingCanvasMutations.delete(t)}},$i=class{constructor(t){R(this,"trackedLinkElements",new WeakSet),R(this,"mutationCb"),R(this,"adoptedStyleSheetCb"),R(this,"styleMirror",new Wt),this.mutationCb=t.mutationCb,this.adoptedStyleSheetCb=t.adoptedStyleSheetCb}attachLinkElement(t,r){"_cssText"in r.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:r.id,attributes:r.attributes}]}),this.trackLinkElement(t)}trackLinkElement(t){this.trackedLinkElements.has(t)||(this.trackedLinkElements.add(t),this.trackStylesheetInLinkElement(t))}adoptStyleSheets(t,r){if(t.length===0)return;let s={id:r,styleIds:[]},i=[];for(let a of t){let n;this.styleMirror.has(a)?n=this.styleMirror.getId(a):(n=this.styleMirror.add(a),i.push({styleId:n,rules:Array.from(a.rules||CSSRule,(u,l)=>({rule:uo(u,a.href),index:l}))})),s.styleIds.push(n)}i.length>0&&(s.styles=i),this.adoptedStyleSheetCb(s)}reset(){this.styleMirror.reset(),this.trackedLinkElements=new WeakSet}trackStylesheetInLinkElement(t){}},Bi=class{constructor(){R(this,"nodeMap",new WeakMap),R(this,"active",!1)}inOtherBuffer(t,r){let s=this.nodeMap.get(t);return s&&Array.from(s).some(i=>i!==r)}add(t,r){this.active||(this.active=!0,requestAnimationFrame(()=>{this.nodeMap=new WeakMap,this.active=!1})),this.nodeMap.set(t,(this.nodeMap.get(t)||new Set).add(r))}destroy(){}},re,Dt,gi,qt=!1;try{if(Array.from([1],e=>e*2)[0]!==2){let e=document.createElement("iframe");document.body.appendChild(e),Array.from=((bs=e.contentWindow)==null?void 0:bs.Array.from)||Array.from,document.body.removeChild(e)}}catch(e){console.debug("Unable to override Array.from",e)}var me=co();function je(e={}){let{emit:t,checkoutEveryNms:r,checkoutEveryNth:s,blockClass:i="rr-block",blockSelector:a=null,ignoreClass:n="rr-ignore",ignoreSelector:u=null,maskTextClass:l="rr-mask",maskTextSelector:c=null,inlineStylesheet:o=!0,maskAllInputs:d,maskInputOptions:f,slimDOMOptions:h,maskInputFn:m,maskTextFn:p,hooks:g,packFn:b,sampling:y={},dataURLOptions:w={},mousemoveWait:C,recordDOM:v=!0,recordCanvas:S=!1,recordCrossOriginIframes:x=!1,recordAfter:M=e.recordAfter==="DOMContentLoaded"?e.recordAfter:"load",userTriggeredOnInput:I=!1,collectFonts:N=!1,inlineImages:F=!1,plugins:k,keepIframeSrcFn:E=()=>!1,ignoreCSSAttributes:ce=new Set([]),errorHandler:oe}=e;tc(oe);let j=x?window.parent===window:!0,_=!1;if(!j)try{window.parent.document&&(_=!1)}catch{_=!0}if(j&&!t)throw new Error("emit function is required");if(!j&&!_)return()=>{};C!==void 0&&y.mousemove===void 0&&(y.mousemove=C),me.reset();let J=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,password:!0}:f!==void 0?f:{password:!0},ie=go(h);qo();let ee,G=0,Ae=L=>{for(let se of k||[])se.eventProcessor&&(L=se.eventProcessor(L));return b&&!_&&(L=b(L)),L};re=(L,se)=>{var H;let te=L;if(te.timestamp=dt(),(H=$e[0])!=null&&H.isFrozen()&&te.type!==T.FullSnapshot&&!(te.type===T.IncrementalSnapshot&&te.data.source===D.Mutation)&&$e.forEach(fe=>fe.unfreeze()),j)t?.(Ae(te),se);else if(_){let fe={type:"rrweb",event:Ae(te),origin:window.location.origin,isCheckout:se};window.parent.postMessage(fe,"*")}if(te.type===T.FullSnapshot)ee=te,G=0;else if(te.type===T.IncrementalSnapshot){if(te.data.source===D.Mutation&&te.data.isAttachIframe)return;G++;let fe=s&&G>=s,Y=r&&te.timestamp-ee.timestamp>r;(fe||Y)&&Dt(!0)}};let O=L=>{re({type:T.IncrementalSnapshot,data:{source:D.Mutation,...L}})},ve=L=>re({type:T.IncrementalSnapshot,data:{source:D.Scroll,...L}}),de=L=>re({type:T.IncrementalSnapshot,data:{source:D.CanvasMutation,...L}}),rt=L=>re({type:T.IncrementalSnapshot,data:{source:D.AdoptedStyleSheet,...L}}),ae=new $i({mutationCb:O,adoptedStyleSheetCb:rt}),pe=new Li({mirror:me,mutationCb:O,stylesheetManager:ae,recordCrossOriginIframes:x,wrappedEmit:re});for(let L of k||[])L.getMirror&&L.getMirror({nodeMirror:me,crossOriginIframeMirror:pe.crossOriginIframeMirror,crossOriginIframeStyleMirror:pe.crossOriginIframeStyleMirror});let Le=new Bi;gi=new Ui({recordCanvas:S,mutationCb:de,win:window,blockClass:i,blockSelector:a,mirror:me,sampling:y.canvas,dataURLOptions:w});let De=new Fi({mutationCb:O,scrollCb:ve,bypassOptions:{blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskInputOptions:J,dataURLOptions:w,maskTextFn:p,maskInputFn:m,recordCanvas:S,inlineImages:F,sampling:y,slimDOMOptions:ie,iframeManager:pe,stylesheetManager:ae,canvasManager:gi,keepIframeSrcFn:E,processedNodeManager:Le},mirror:me});Dt=(L=!1)=>{if(!v)return;re({type:T.Meta,data:{href:window.location.href,width:Wo(),height:zo()}},L),ae.reset(),De.init(),$e.forEach(H=>H.lock());let se=Rl(document,{mirror:me,blockClass:i,blockSelector:a,maskTextClass:l,maskTextSelector:c,inlineStylesheet:o,maskAllInputs:J,maskTextFn:p,maskInputFn:m,slimDOM:ie,dataURLOptions:w,recordCanvas:S,inlineImages:F,onSerialize:H=>{ut(H,me)&&pe.addIframe(H),Ho(H,me)&&ae.trackLinkElement(H),Ue(H)&&De.addShadowRoot($.shadowRoot(H),document)},onIframeLoad:(H,te)=>{pe.attachIframe(H,te),De.observeAttachShadow(H)},onStylesheetLoad:(H,te)=>{ae.attachLinkElement(H,te)},keepIframeSrcFn:E});if(!se)return console.warn("Failed to snapshot the document");re({type:T.FullSnapshot,data:{node:se,initialOffset:Bo(window)}},L),$e.forEach(H=>H.unlock()),document.adoptedStyleSheets&&document.adoptedStyleSheets.length>0&&ae.adoptStyleSheets(document.adoptedStyleSheets,me.getId(document))};try{let L=[],se=te=>{var fe;return W(mc)({mutationCb:O,mousemoveCb:(Y,cr)=>re({type:T.IncrementalSnapshot,data:{source:cr,positions:Y}}),mouseInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MouseInteraction,...Y}}),scrollCb:ve,viewportResizeCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.ViewportResize,...Y}}),inputCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Input,...Y}}),mediaInteractionCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.MediaInteraction,...Y}}),styleSheetRuleCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleSheetRule,...Y}}),styleDeclarationCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.StyleDeclaration,...Y}}),canvasMutationCb:de,fontCb:Y=>re({type:T.IncrementalSnapshot,data:{source:D.Font,...Y}}),selectionCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.Selection,...Y}})},customElementCb:Y=>{re({type:T.IncrementalSnapshot,data:{source:D.CustomElement,...Y}})},blockClass:i,ignoreClass:n,ignoreSelector:u,maskTextClass:l,maskTextSelector:c,maskInputOptions:J,inlineStylesheet:o,sampling:y,recordDOM:v,recordCanvas:S,inlineImages:F,userTriggeredOnInput:I,collectFonts:N,doc:te,maskInputFn:m,maskTextFn:p,keepIframeSrcFn:E,blockSelector:a,slimDOMOptions:ie,dataURLOptions:w,mirror:me,iframeManager:pe,stylesheetManager:ae,shadowDomManager:De,processedNodeManager:Le,canvasManager:gi,ignoreCSSAttributes:ce,plugins:((fe=k?.filter(Y=>Y.observer))==null?void 0:fe.map(Y=>({observer:Y.observer,options:Y.options,callback:cr=>re({type:T.Plugin,data:{plugin:Y.name,payload:cr}})})))||[]},g)};pe.addLoadListener(te=>{try{L.push(se(te.contentDocument))}catch(fe){console.warn(fe)}});let H=()=>{Dt(),L.push(se(document)),qt=!0};return["interactive","complete"].includes(document.readyState)?H():(L.push(le("DOMContentLoaded",()=>{re({type:T.DomContentLoaded,data:{}}),M==="DOMContentLoaded"&&H()})),L.push(le("load",()=>{re({type:T.Load,data:{}}),M==="load"&&H()},window))),()=>{L.forEach(te=>{try{te()}catch(fe){String(fe).toLowerCase().includes("cross-origin")||console.warn(fe)}}),Le.destroy(),qt=!1,rc()}}catch(L){console.warn(L)}}je.addCustomEvent=(e,t)=>{if(!qt)throw new Error("please add custom event after start recording");re({type:T.Custom,data:{tag:e,payload:t}})};je.freezePage=()=>{$e.forEach(e=>e.freeze())};je.takeFullSnapshot=e=>{if(!qt)throw new Error("please take full snapshot after start recording");Dt(e)};je.mirror=me;function xc(e){return{all:e=e||new Map,on:function(t,r){var s=e.get(t);s?s.push(r):e.set(t,[r])},off:function(t,r){var s=e.get(t);s&&(r?s.splice(s.indexOf(r)>>>0,1):e.set(t,[]))},emit:function(t,r){var s=e.get(t);s&&s.slice().map(function(i){i(r)}),(s=e.get("*"))&&s.slice().map(function(i){i(t,r)})}}}function Ec(e=window,t=document){if("scrollBehavior"in t.documentElement.style&&e.__forceSmoothScrollPolyfill__!==!0)return;let r=e.HTMLElement||e.Element,s=468,i={scroll:e.scroll||e.scrollTo,scrollBy:e.scrollBy,elementScroll:r.prototype.scroll||l,scrollIntoView:r.prototype.scrollIntoView},a=e.performance&&e.performance.now?e.performance.now.bind(e.performance):Date.now;function n(b){let y=["MSIE ","Trident/","Edge/"];return new RegExp(y.join("|")).test(b)}let u=n(e.navigator.userAgent)?1:0;function l(b,y){this.scrollLeft=b,this.scrollTop=y}function c(b){return .5*(1-Math.cos(Math.PI*b))}function o(b){if(b===null||typeof b!="object"||b.behavior===void 0||b.behavior==="auto"||b.behavior==="instant")return!0;if(typeof b=="object"&&b.behavior==="smooth")return!1;throw new TypeError("behavior member of ScrollOptions "+b.behavior+" is not a valid value for enumeration ScrollBehavior.")}function d(b,y){if(y==="Y")return b.clientHeight+u<b.scrollHeight;if(y==="X")return b.clientWidth+u<b.scrollWidth}function f(b,y){let w=e.getComputedStyle(b,null)["overflow"+y];return w==="auto"||w==="scroll"}function h(b){let y=d(b,"Y")&&f(b,"Y"),w=d(b,"X")&&f(b,"X");return y||w}function m(b){for(;b!==t.body&&h(b)===!1;)b=b.parentNode||b.host;return b}function p(b){let y=a(),w,C,v,S=(y-b.startTime)/s;S=S>1?1:S,w=c(S),C=b.startX+(b.x-b.startX)*w,v=b.startY+(b.y-b.startY)*w,b.method.call(b.scrollable,C,v),(C!==b.x||v!==b.y)&&e.requestAnimationFrame(p.bind(e,b))}function g(b,y,w){let C,v,S,x,M=a();b===t.body?(C=e,v=e.scrollX||e.pageXOffset,S=e.scrollY||e.pageYOffset,x=i.scroll):(C=b,v=b.scrollLeft,S=b.scrollTop,x=l),p({scrollable:C,method:x,startTime:M,startX:v,startY:S,x:y,y:w})}e.scroll=e.scrollTo=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.scroll.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:e.scrollY||e.pageYOffset);return}g.call(e,t.body,arguments[0].left!==void 0?~~arguments[0].left:e.scrollX||e.pageXOffset,arguments[0].top!==void 0?~~arguments[0].top:e.scrollY||e.pageYOffset)}},e.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])){i.scrollBy.call(e,arguments[0].left!==void 0?arguments[0].left:typeof arguments[0]!="object"?arguments[0]:0,arguments[0].top!==void 0?arguments[0].top:arguments[1]!==void 0?arguments[1]:0);return}g.call(e,t.body,~~arguments[0].left+(e.scrollX||e.pageXOffset),~~arguments[0].top+(e.scrollY||e.pageYOffset))}},r.prototype.scroll=r.prototype.scrollTo=function(){if(arguments[0]===void 0)return;if(o(arguments[0])===!0){if(typeof arguments[0]=="number"&&arguments[1]===void 0)throw new SyntaxError("Value could not be converted");i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left:typeof arguments[0]!="object"?~~arguments[0]:this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top:arguments[1]!==void 0?~~arguments[1]:this.scrollTop);return}let b=arguments[0].left,y=arguments[0].top;g.call(this,this,typeof b>"u"?this.scrollLeft:~~b,typeof y>"u"?this.scrollTop:~~y)},r.prototype.scrollBy=function(){if(arguments[0]!==void 0){if(o(arguments[0])===!0){i.elementScroll.call(this,arguments[0].left!==void 0?~~arguments[0].left+this.scrollLeft:~~arguments[0]+this.scrollLeft,arguments[0].top!==void 0?~~arguments[0].top+this.scrollTop:~~arguments[1]+this.scrollTop);return}this.scroll({left:~~arguments[0].left+this.scrollLeft,top:~~arguments[0].top+this.scrollTop,behavior:arguments[0].behavior})}},r.prototype.scrollIntoView=function(){if(o(arguments[0])===!0){i.scrollIntoView.call(this,arguments[0]===void 0?!0:arguments[0]);return}let b=m(this),y=b.getBoundingClientRect(),w=this.getBoundingClientRect();b!==t.body?(g.call(this,b,b.scrollLeft+w.left-y.left,b.scrollTop+w.top-y.top),e.getComputedStyle(b).position!=="fixed"&&e.scrollBy({left:y.left,top:y.top,behavior:"smooth"})):e.scrollBy({left:w.left,top:w.top,behavior:"smooth"})}}var zi=class{constructor(t=[],r){R(this,"timeOffset",0),R(this,"speed"),R(this,"actions"),R(this,"raf",null),R(this,"lastTimestamp"),this.actions=t,this.speed=r.speed}addAction(t){let r=this.raf===!0;if(!this.actions.length||this.actions[this.actions.length-1].delay<=t.delay)this.actions.push(t);else{let s=this.findActionIndex(t);this.actions.splice(s,0,t)}r&&(this.raf=requestAnimationFrame(this.rafCheck.bind(this)))}start(){this.timeOffset=0,this.lastTimestamp=performance.now(),this.raf=requestAnimationFrame(this.rafCheck.bind(this))}updateLiveTime(){this.raf===!0&&this.rafCheck()}rafCheck(){let t=performance.now();for(this.timeOffset+=(t-this.lastTimestamp)*this.speed,this.lastTimestamp=t;this.actions.length;){let r=this.actions[0];if(this.timeOffset>=r.delay)this.actions.shift(),r.doAction();else break}this.actions.length>0?this.raf=requestAnimationFrame(this.rafCheck.bind(this)):this.raf=!0}clear(){this.raf&&(this.raf!==!0&&cancelAnimationFrame(this.raf),this.raf=null),this.actions.length=0}setSpeed(t){this.speed=t}isActive(){return this.raf!==null}findActionIndex(t){let r=0,s=this.actions.length-1;for(;r<=s;){let i=Math.floor((r+s)/2);if(this.actions[i].delay<t.delay)r=i+1;else if(this.actions[i].delay>t.delay)s=i-1;else return i+1}return r}};function Jn(e,t){if(e.type===T.IncrementalSnapshot&&e.data.source===D.MouseMove&&e.data.positions&&e.data.positions.length){let r=e.data.positions[0].timeOffset,s=e.timestamp+r;return e.delay=s-t,s-t}return e.delay=e.timestamp-t,e.delay}function Qn(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var s,i,a=r.call(e),n=[];try{for(;(t===void 0||t-- >0)&&!(s=a.next()).done;)n.push(s.value)}catch(u){i={error:u}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(i)throw i.error}}return n}var Qe;(function(e){e[e.NotStarted=0]="NotStarted",e[e.Running=1]="Running",e[e.Stopped=2]="Stopped"})(Qe||(Qe={}));var na={type:"xstate.init"};function yi(e){return e===void 0?[]:[].concat(e)}function He(e){return{type:"xstate.assign",assignment:e}}function Kn(e,t){return typeof(e=typeof e=="string"&&t&&t[e]?t[e]:e)=="string"?{type:e}:typeof e=="function"?{type:e.name,exec:e}:e}function Gt(e){return function(t){return e===t}}function oa(e){return typeof e=="string"?{type:e}:e}function Zn(e,t){return{value:e,context:t,actions:[],changed:!1,matches:Gt(e)}}function eo(e,t,r){var s=t,i=!1;return[e.filter(function(a){if(a.type==="xstate.assign"){i=!0;var n=Object.assign({},s);return typeof a.assignment=="function"?n=a.assignment(s,r):Object.keys(a.assignment).forEach(function(u){n[u]=typeof a.assignment[u]=="function"?a.assignment[u](s,r):a.assignment[u]}),s=n,!1}return!0}),s,i]}function aa(e,t){t===void 0&&(t={});var r=Qn(eo(yi(e.states[e.initial].entry).map(function(n){return Kn(n,t.actions)}),e.context,na),2),s=r[0],i=r[1],a={config:e,_options:t,initialState:{value:e.initial,actions:s,context:i,matches:Gt(e.initial)},transition:function(n,u){var l,c,o=typeof n=="string"?{value:n,context:e.context}:n,d=o.value,f=o.context,h=oa(u),m=e.states[d];if(m.on){var p=yi(m.on[h.type]);try{for(var g=(function(_){var J=typeof Symbol=="function"&&Symbol.iterator,ie=J&&_[J],ee=0;if(ie)return ie.call(_);if(_&&typeof _.length=="number")return{next:function(){return _&&ee>=_.length&&(_=void 0),{value:_&&_[ee++],done:!_}}};throw new TypeError(J?"Object is not iterable.":"Symbol.iterator is not defined.")})(p),b=g.next();!b.done;b=g.next()){var y=b.value;if(y===void 0)return Zn(d,f);var w=typeof y=="string"?{target:y}:y,C=w.target,v=w.actions,S=v===void 0?[]:v,x=w.cond,M=x===void 0?function(){return!0}:x,I=C===void 0,N=C??d,F=e.states[N];if(M(f,h)){var k=Qn(eo((I?yi(S):[].concat(m.exit,S,F.entry).filter(function(_){return _})).map(function(_){return Kn(_,a._options.actions)}),f,h),3),E=k[0],ce=k[1],oe=k[2],j=C??d;return{value:j,context:ce,actions:E,changed:C!==d||E.length>0||oe,matches:Gt(j)}}}}catch(_){l={error:_}}finally{try{b&&!b.done&&(c=g.return)&&c.call(g)}finally{if(l)throw l.error}}}return Zn(d,f)}};return a}var to=function(e,t){return e.actions.forEach(function(r){var s=r.exec;return s&&s(e.context,t)})};function la(e){var t=e.initialState,r=Qe.NotStarted,s=new Set,i={_machine:e,send:function(a){r===Qe.Running&&(t=e.transition(t,a),to(t,oa(a)),s.forEach(function(n){return n(t)}))},subscribe:function(a){return s.add(a),a(t),{unsubscribe:function(){return s.delete(a)}}},start:function(a){if(a){var n=typeof a=="object"?a:{context:e.config.context,value:a};t={value:n.value,actions:[],context:n.context,matches:Gt(n.value)}}return r=Qe.Running,to(t,na),i},stop:function(){return r=Qe.Stopped,s.clear(),i},get state(){return t},get status(){return r}};return i}function Mc(e,t){for(let r=e.length-1;r>=0;r--){let s=e[r];if(s.type===T.Meta&&s.timestamp<=t)return e.slice(r)}return e}function Rc(e,{getCastFn:t,applyEventsSynchronously:r,emitter:s}){let i=aa({id:"player",context:e,initial:"paused",states:{playing:{on:{PAUSE:{target:"paused",actions:["pause"]},CAST_EVENT:{target:"playing",actions:"castEvent"},END:{target:"paused",actions:["resetLastPlayedEvent","pause"]},ADD_EVENT:{target:"playing",actions:["addEvent"]}}},paused:{on:{PLAY:{target:"playing",actions:["recordTimeOffset","play"]},CAST_EVENT:{target:"paused",actions:"castEvent"},TO_LIVE:{target:"live",actions:["startLive"]},ADD_EVENT:{target:"paused",actions:["addEvent"]}}},live:{on:{ADD_EVENT:{target:"live",actions:["addEvent"]},CAST_EVENT:{target:"live",actions:["castEvent"]}}}}},{actions:{castEvent:He({lastPlayedEvent:(a,n)=>n.type==="CAST_EVENT"?n.payload.event:a.lastPlayedEvent}),recordTimeOffset:He((a,n)=>{let u=a.timeOffset;return"payload"in n&&"timeOffset"in n.payload&&(u=n.payload.timeOffset),{...a,timeOffset:u,baselineTime:a.events[0].timestamp+u}}),play(a){var n;let{timer:u,events:l,baselineTime:c,lastPlayedEvent:o}=a;u.clear();for(let m of l)Jn(m,c);let d=Mc(l,c),f=o?.timestamp;o?.type===T.IncrementalSnapshot&&o.data.source===D.MouseMove&&(f=o.timestamp+((n=o.data.positions[0])==null?void 0:n.timeOffset)),c<(f||0)&&s.emit(V.PlayBack);let h=new Array;for(let m of d)if(!(f&&f<c&&(m.timestamp<=f||m===o)))if(m.timestamp<c)h.push(m);else{let p=t(m,!1);u.addAction({doAction:()=>{p()},delay:m.delay})}r(h),s.emit(V.Flush),u.start()},pause(a){a.timer.clear()},resetLastPlayedEvent:He(a=>({...a,lastPlayedEvent:null})),startLive:He({baselineTime:(a,n)=>(a.timer.start(),n.type==="TO_LIVE"&&n.payload.baselineTime?n.payload.baselineTime:Date.now())}),addEvent:He((a,n)=>{let{baselineTime:u,timer:l,events:c}=a;if(n.type==="ADD_EVENT"){let{event:o}=n.payload;Jn(o,u);let d=c.length-1;if(!c[d]||c[d].timestamp<=o.timestamp)c.push(o);else{let m=-1,p=0;for(;p<=d;){let g=Math.floor((p+d)/2);c[g].timestamp<=o.timestamp?p=g+1:d=g-1}m===-1&&(m=p),c.splice(m,0,o)}let f=o.timestamp<u,h=t(o,f);f?h():l.isActive()&&l.addAction({doAction:()=>{h()},delay:o.delay})}return{...a,events:c}})}});return la(i)}function Nc(e){let t=aa({id:"speed",context:e,initial:"normal",states:{normal:{on:{FAST_FORWARD:{target:"skipping",actions:["recordSpeed","setSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}},skipping:{on:{BACK_TO_NORMAL:{target:"normal",actions:["restoreSpeed"]},SET_SPEED:{target:"normal",actions:["setSpeed"]}}}}},{actions:{setSpeed:(r,s)=>{"payload"in s&&r.timer.setSpeed(s.payload.speed)},recordSpeed:He({normalSpeed:r=>r.timer.speed}),restoreSpeed:r=>{r.timer.setSpeed(r.normalSpeed)}}});return la(t)}var Oc=e=>[`.${e} { background: currentColor }`,"noscript { display: none !important; }"],ro=new Map;function ua(e,t){let r=ro.get(e);return r||(r=new Map,ro.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function _e(e,t,r){return async s=>{if(s&&typeof s=="object"&&"rr_type"in s)if(r&&(r.isUnchanged=!1),s.rr_type==="ImageBitmap"&&"args"in s){let i=await _e(e,t,r)(s.args);return await createImageBitmap.apply(null,i)}else if("index"in s){if(r||t===null)return s;let{rr_type:i,index:a}=s;return ua(t,i)[a]}else if("args"in s){let{rr_type:i,args:a}=s,n=window[i];return new n(...await Promise.all(a.map(_e(e,t,r))))}else{if("base64"in s)return yc(s.base64);if("src"in s){let i=e.get(s.src);if(i)return i;{let a=new Image;return a.src=s.src,e.set(s.src,a),a}}else if("data"in s&&s.rr_type==="Blob"){let i=await Promise.all(s.data.map(_e(e,t,r)));return new Blob(i,{type:s.type})}}else if(Array.isArray(s))return await Promise.all(s.map(_e(e,t,r)));return s}}function Ic(e,t){try{return t===Re.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch{return null}}var Ac=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function Dc(e,t){if(!t?.constructor)return;let{name:r}=t.constructor;if(!Ac.includes(r))return;let s=ua(e,r);s.includes(t)||s.push(t)}async function kc({mutation:e,target:t,type:r,imageMap:s,errorHandler:i}){try{let a=Ic(t,r);if(!a)return;if(e.setter){a[e.property]=e.args[0];return}let n=a[e.property],u=await Promise.all(e.args.map(_e(s,a))),l=n.apply(a,u);Dc(a,l);let c=!1}catch(a){i(e,a)}}async function Tc({event:e,mutations:t,target:r,imageMap:s,errorHandler:i}){let a=r.getContext("2d");if(!a){i(t[0],new Error("Canvas context is null"));return}let n=t.map(async l=>Promise.all(l.args.map(_e(s,a))));(await Promise.all(n)).forEach((l,c)=>{let o=t[c];try{if(o.setter){a[o.property]=o.args[0];return}let d=a[o.property];o.property==="drawImage"&&typeof o.args[0]=="string"?(s.get(e),d.apply(a,o.args)):d.apply(a,l)}catch(d){i(o,d)}})}async function io({event:e,mutation:t,target:r,imageMap:s,canvasEventMap:i,errorHandler:a}){try{let n=i.get(e)||t,u="commands"in n?n.commands:[n];if([Re.WebGL,Re.WebGL2].includes(t.type)){for(let l=0;l<u.length;l++){let c=u[l];await kc({mutation:c,type:t.type,target:r,imageMap:s,errorHandler:a})}return}await Tc({event:e,mutations:u,target:r,imageMap:s,errorHandler:a})}catch(n){a(t,n)}}var Wi=class{constructor(t){R(this,"mediaMap",new Map),R(this,"warn"),R(this,"service"),R(this,"speedService"),R(this,"emitter"),R(this,"getCurrentTime"),R(this,"metadataCallbackMap",new Map),this.warn=t.warn,this.service=t.service,this.speedService=t.speedService,this.emitter=t.emitter,this.getCurrentTime=t.getCurrentTime,this.emitter.on(V.Start,this.start.bind(this)),this.emitter.on(V.SkipStart,this.start.bind(this)),this.emitter.on(V.Pause,this.pause.bind(this)),this.emitter.on(V.Finish,this.pause.bind(this)),this.speedService.subscribe(()=>{this.syncAllMediaElements()})}syncAllMediaElements(t={pause:!1}){this.mediaMap.forEach((r,s)=>{this.syncTargetWithState(s),t.pause&&s.pause()})}start(){this.syncAllMediaElements()}pause(){this.syncAllMediaElements({pause:!0})}seekTo({time:t,target:r,mediaState:s}){if(s.isPlaying){let a=(t-s.lastInteractionTimeOffset)/1e3*s.playbackRate,n="duration"in r&&r.duration;if(Number.isNaN(n)){this.waitForMetadata(r);return}let u=s.currentTimeAtLastInteraction+a;r.loop&&n!==!1&&(u=u%n),r.currentTime=u}else r.pause(),r.currentTime=s.currentTimeAtLastInteraction}waitForMetadata(t){if(this.metadataCallbackMap.has(t)||!("addEventListener"in t))return;let r=()=>{this.metadataCallbackMap.delete(t);let s=this.mediaMap.get(t);s&&this.seekTo({time:this.getCurrentTime(),target:t,mediaState:s})};this.metadataCallbackMap.set(t,r),t.addEventListener("loadedmetadata",r,{once:!0})}getMediaStateFromMutation({target:t,timeOffset:r,mutation:s}){let i=this.mediaMap.get(t),{type:a,playbackRate:n,currentTime:u,muted:l,volume:c,loop:o}=s;return{isPlaying:a===Te.Play||a!==Te.Pause&&(i?.isPlaying||t.getAttribute("autoplay")!==null),currentTimeAtLastInteraction:u??i?.currentTimeAtLastInteraction??0,lastInteractionTimeOffset:r,playbackRate:n??i?.playbackRate??1,volume:c??i?.volume??1,muted:l??i?.muted??t.getAttribute("muted")===null,loop:o??i?.loop??t.getAttribute("loop")===null}}syncTargetWithState(t){let r=this.mediaMap.get(t);if(!r)return;let{muted:s,loop:i,volume:a,isPlaying:n}=r,u=this.service.state.matches("paused"),l=r.playbackRate*this.speedService.state.context.timer.speed;try{this.seekTo({time:this.getCurrentTime(),target:t,mediaState:r}),t.volume!==a&&(t.volume=a),t.muted=s,t.loop=i,t.playbackRate!==l&&(t.playbackRate=l),n&&!u?t.play():t.pause()}catch(c){this.warn(`Failed to replay media interactions: ${c.message||c}`)}}addMediaElements(t,r,s){if(!["AUDIO","VIDEO"].includes(t.nodeName))return;let i=t,a=s.getMeta(i);if(!a||!("attributes"in a))return;let n=this.service.state.matches("paused"),u=a.attributes,l=!1;u.rr_mediaState?l=u.rr_mediaState==="played":l=i.getAttribute("autoplay")!==null,l&&n&&i.pause();let c=1;typeof u.rr_mediaPlaybackRate=="number"&&(c=u.rr_mediaPlaybackRate);let o=!1;typeof u.rr_mediaMuted=="boolean"?o=u.rr_mediaMuted:o=i.getAttribute("muted")!==null;let d=!1;typeof u.rr_mediaLoop=="boolean"?d=u.rr_mediaLoop:d=i.getAttribute("loop")!==null;let f=1;typeof u.rr_mediaVolume=="number"&&(f=u.rr_mediaVolume);let h=0;typeof u.rr_mediaCurrentTime=="number"&&(h=u.rr_mediaCurrentTime),this.mediaMap.set(i,{isPlaying:l,currentTimeAtLastInteraction:h,lastInteractionTimeOffset:r,playbackRate:c,volume:f,muted:o,loop:d}),this.syncTargetWithState(i)}mediaMutation({target:t,timeOffset:r,mutation:s}){this.mediaMap.set(t,this.getMediaStateFromMutation({target:t,timeOffset:r,mutation:s})),this.syncTargetWithState(t)}isSupportedMediaElement(t){return["AUDIO","VIDEO"].includes(t.nodeName)}reset(){this.mediaMap.clear()}};function It(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e,s=r.open,i=s&&r.matches("dialog:modal"),a=r.getAttribute("rr_open_mode"),n=typeof t?.attributes.open=="string"||typeof r.getAttribute("open")=="string",u=a==="modal";if(!(s&&!(i&&a==="non-modal"||!i&&u))){if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}s&&r.close(),n&&(u?r.showModal():r.show())}}function _c(e,t){if(e.nodeName!=="DIALOG"||e instanceof we)return;let r=e;if(!r.isConnected){console.warn("dialog is not attached to the dom",r);return}t.attributes.open===null&&(r.removeAttribute("open"),r.removeAttribute("rr_open_mode"))}var Pc=5*1e3,Lc=xc,so="[replayer]",wi={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function no(e){return e.type==T.IncrementalSnapshot&&(e.data.source==D.TouchMove||e.data.source==D.MouseInteraction&&e.data.type==q.TouchStart)}var Ht=class{constructor(t,r){if(R(this,"wrapper"),R(this,"iframe"),R(this,"UNSAFE_replayCanvas",!1),R(this,"service"),R(this,"speedService"),R(this,"config"),R(this,"usingVirtualDom",!1),R(this,"virtualDom",new Ze),R(this,"mouse"),R(this,"mouseTail",null),R(this,"tailPositions",[]),R(this,"emitter",Lc()),R(this,"nextUserInteractionEvent"),R(this,"legacy_missingNodeRetryMap",{}),R(this,"cache",sn()),R(this,"imageMap",new Map),R(this,"canvasEventMap",new Map),R(this,"mirror",co()),R(this,"styleMirror",new Wt),R(this,"mediaManager"),R(this,"firstFullSnapshot",null),R(this,"newDocumentQueue",[]),R(this,"mousePos",null),R(this,"touchActive",null),R(this,"lastMouseDownEvent",null),R(this,"lastHoveredRootNode"),R(this,"lastSelectionData",null),R(this,"constructedStyleMutations",[]),R(this,"adoptedStyleSheets",[]),R(this,"handleResize",u=>{this.iframe.style.display="inherit";for(let l of[this.mouseTail,this.iframe])l&&(l.setAttribute("width",String(u.width)),l.setAttribute("height",String(u.height)))}),R(this,"applyEventsSynchronously",u=>{for(let l of u){switch(l.type){case T.DomContentLoaded:case T.Load:continue;case T.FullSnapshot:case T.Meta:case T.Plugin:case T.IncrementalSnapshot:break}this.getCastFn(l,!0)()}}),R(this,"getCastFn",(u,l=!1)=>{let c;switch(u.type){case T.DomContentLoaded:case T.Load:break;case T.Custom:c=()=>{this.emitter.emit(V.CustomEvent,u)};break;case T.Meta:c=()=>this.emitter.emit(V.Resize,{width:u.data.width,height:u.data.height});break;case T.FullSnapshot:c=()=>{var d;if(this.firstFullSnapshot){if(this.firstFullSnapshot===u){this.firstFullSnapshot=!0;return}}else this.firstFullSnapshot=!0;this.mediaManager.reset(),this.styleMirror.reset(),this.rebuildFullSnapshot(u,l),(d=this.iframe.contentWindow)==null||d.scrollTo(u.data.initialOffset)};break;case T.IncrementalSnapshot:c=()=>{if(this.applyIncremental(u,l),!l&&(u===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive&&!this.nextUserInteractionEvent)){for(let d of this.service.state.context.events)if(!(d.timestamp<=u.timestamp)&&this.isUserInteraction(d)){d.delay-u.delay>this.config.inactivePeriodThreshold*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=d);break}if(this.nextUserInteractionEvent){let d=this.nextUserInteractionEvent.delay-u.delay,f={speed:Math.min(Math.round(d/Pc),this.config.maxSpeed)};this.speedService.send({type:"FAST_FORWARD",payload:f}),this.emitter.emit(V.SkipStart,f)}}};break}return()=>{c&&c();for(let f of this.config.plugins||[])f.handler&&f.handler(u,l,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:u}});let d=this.service.state.context.events.length-1;if(!this.config.liveMode&&u===this.service.state.context.events[d]){let f=()=>{d<this.service.state.context.events.length-1||(this.backToNormal(),this.service.send("END"),this.emitter.emit(V.Finish))},h=50;u.type===T.IncrementalSnapshot&&u.data.source===D.MouseMove&&u.data.positions.length&&(h+=Math.max(0,-u.data.positions[0].timeOffset)),setTimeout(f,h)}this.emitter.emit(V.EventCast,u)}}),!r?.liveMode&&t.length<2)throw new Error("Replayer need at least 2 events.");let s={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,inactivePeriodThreshold:10*1e3,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:wi,useVirtualDom:!0,logger:console};this.config=Object.assign({},s,r),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(V.Resize,this.handleResize),this.setupDom();for(let u of this.config.plugins||[])u.getMirror&&u.getMirror({nodeMirror:this.mirror});this.emitter.on(V.Flush,()=>{if(this.usingVirtualDom){let u={mirror:this.mirror,applyCanvas:(l,c,o)=>{io({event:l,mutation:c,target:o,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(l,c)=>{l.source===D.StyleSheetRule?this.applyStyleSheetRule(l,c):l.source===D.StyleDeclaration&&this.applyStyleDeclaration(l,c)},afterAppend:(l,c)=>{for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})}};if(this.iframe.contentDocument)try{Bt(this.iframe.contentDocument,this.virtualDom,u,this.virtualDom.mirror)}catch(l){this.warn(l)}if(this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(let l in this.legacy_missingNodeRetryMap)try{let c=this.legacy_missingNodeRetryMap[l],o=zt(c.node,this.mirror,this.virtualDom.mirror);Bt(o,c.node,u,this.virtualDom.mirror),c.node=o}catch(c){this.warn(c)}this.constructedStyleMutations.forEach(l=>{this.applyStyleSheetMutation(l)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(l=>{this.applyAdoptedStyleSheet(l)}),this.adoptedStyleSheets=[]}if(this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.touchActive===!0?this.mouse.classList.add("touch-active"):this.touchActive===!1&&this.mouse.classList.remove("touch-active"),this.touchActive=null,this.lastMouseDownEvent){let[u,l]=this.lastMouseDownEvent;u.dispatchEvent(l)}this.lastMouseDownEvent=null,this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(V.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset()});let i=new zi([],{speed:this.config.speed});this.service=Rc({events:t.map(u=>r&&r.unpackFn?r.unpackFn(u):u).sort((u,l)=>u.timestamp-l.timestamp),timer:i,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(u=>{this.emitter.emit(V.StateChange,{player:u})}),this.speedService=Nc({normalSpeed:-1,timer:i}),this.speedService.start(),this.speedService.subscribe(u=>{this.emitter.emit(V.StateChange,{speed:u})}),this.mediaManager=new Wi({warn:this.warn.bind(this),service:this.service,speedService:this.speedService,emitter:this.emitter,getCurrentTime:this.getCurrentTime.bind(this)});let a=this.service.state.context.events.find(u=>u.type===T.Meta),n=this.service.state.context.events.find(u=>u.type===T.FullSnapshot);if(a){let{width:u,height:l}=a.data;setTimeout(()=>{this.emitter.emit(V.Resize,{width:u,height:l})},0)}n&&setTimeout(()=>{var u;this.firstFullSnapshot||(this.firstFullSnapshot=n,this.rebuildFullSnapshot(n),(u=this.iframe.contentWindow)==null||u.scrollTo(n.data.initialOffset))},1),this.service.state.context.events.find(no)&&this.mouse.classList.add("touch-device")}get timer(){return this.service.state.context.timer}on(t,r){return this.emitter.on(t,r),this}off(t,r){return this.emitter.off(t,r),this}setConfig(t){Object.keys(t).forEach(r=>{t[r],this.config[r]=t[r]}),this.config.skipInactive||this.backToNormal(),typeof t.speed<"u"&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),typeof t.mouseTail<"u"&&(t.mouseTail===!1?this.mouseTail&&(this.mouseTail.style.display="none"):(this.mouseTail||(this.mouseTail=document.createElement("canvas"),this.mouseTail.width=Number.parseFloat(this.iframe.width),this.mouseTail.height=Number.parseFloat(this.iframe.height),this.mouseTail.classList.add("replayer-mouse-tail"),this.wrapper.insertBefore(this.mouseTail,this.iframe)),this.mouseTail.style.display="inherit"))}getMetaData(){let t=this.service.state.context.events[0],r=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:t.timestamp,endTime:r.timestamp,totalTime:r.timestamp-t.timestamp}}getCurrentTime(){return this.config.liveMode&&this.timer.updateLiveTime(),this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){let{baselineTime:t,events:r}=this.service.state.context;return t-r[0].timestamp}getMirror(){return this.mirror}play(t=0){var r,s;this.service.state.matches("paused")?this.service.send({type:"PLAY",payload:{timeOffset:t}}):(this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:t}})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.remove("rrweb-paused"),this.emitter.emit(V.Start)}pause(t){var r,s;t===void 0&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),typeof t=="number"&&(this.play(t),this.service.send({type:"PAUSE"})),(s=(r=this.iframe.contentDocument)==null?void 0:r.getElementsByTagName("html")[0])==null||s.classList.add("rrweb-paused"),this.emitter.emit(V.Pause)}resume(t=0){this.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(t),this.emitter.emit(V.Resume)}destroy(){this.pause(),this.mirror.reset(),this.styleMirror.reset(),this.mediaManager.reset(),this.config.root.removeChild(this.wrapper),this.emitter.emit(V.Destroy)}startLive(t){this.service.send({type:"TO_LIVE",payload:{baselineTime:t}})}addEvent(t){let r=this.config.unpackFn?this.config.unpackFn(t):t;no(r)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:r}}))}enableInteract(){this.iframe.setAttribute("scrolling","auto"),this.iframe.style.pointerEvents="auto"}disableInteract(){this.iframe.setAttribute("scrolling","no"),this.iframe.style.pointerEvents="none"}resetCache(){this.cache=sn()}setupDom(){this.wrapper=document.createElement("div"),this.wrapper.classList.add("replayer-wrapper"),this.config.root.appendChild(this.wrapper),this.mouse=document.createElement("div"),this.mouse.classList.add("replayer-mouse"),this.wrapper.appendChild(this.mouse),this.config.mouseTail!==!1&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.config.UNSAFE_replayCanvas?(this.iframe=document.createElement("iframe"),this.iframe.setAttribute("sandbox","allow-same-origin allow-scripts"),this.wrapper.appendChild(this.iframe),this.UNSAFE_replayCanvas=!0):(this.iframe=Zl({root:this.wrapper}),this.UNSAFE_replayCanvas=!1),this.iframe.style.display="none",this.disableInteract(),this.iframe.contentWindow&&this.iframe.contentDocument&&(Ec(this.iframe.contentWindow,this.iframe.contentDocument),qo(this.iframe.contentWindow))}rebuildFullSnapshot(t,r=!1){if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&this.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};let s=[],i=new Set,a=(l,c)=>{if(l.nodeName==="DIALOG"&&i.add(l),this.collectIframeAndAttachDocument(s,l),this.mediaManager.isSupportedMediaElement(l)){let{events:o}=this.service.state.context;this.mediaManager.addMediaElements(l,t.timestamp-o[0].timestamp,this.mirror)}for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(l,{id:c,replayer:this})};this.usingVirtualDom&&(this.virtualDom.destroyTree(),this.usingVirtualDom=!1),this.mirror.reset(),Kl(t.data.node,{doc:this.iframe.contentDocument,afterAppend:a,cache:this.cache,mirror:this.mirror,UNSAFE_allowUnprotectedRebuild:this.UNSAFE_replayCanvas}),a(this.iframe.contentDocument,t.data.node.id);for(let{mutationInQueue:l,builtNode:c}of s)this.attachDocumentToIframe(l,c),this.newDocumentQueue=this.newDocumentQueue.filter(o=>o!==l);let{documentElement:n,head:u}=this.iframe.contentDocument;this.insertStyleRules(n,u),i.forEach(l=>It(l)),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(V.FullsnapshotRebuilded,t),r||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(t,r){var s;let i=Oc(this.config.blockClass).concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&i.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),!!i.length)if(this.usingVirtualDom){let a=this.virtualDom.createElement("style");this.virtualDom.mirror.add(a,Lo(a,this.virtualDom.unserializedId)),t.insertBefore(a,r),a.rules.push({source:D.StyleSheetRule,adds:i.map((n,u)=>({rule:n,index:u}))})}else{let a=document.createElement("style");t.insertBefore(a,r);for(let n=0;n<i.length;n++)(s=a.sheet)==null||s.insertRule(i[n],n)}}attachDocumentToIframe(t,r){let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror,i=[],a=new Set,n=(u,l)=>{u.nodeName==="DIALOG"&&a.add(u),this.collectIframeAndAttachDocument(i,u);let c=s.getMeta(u);if(c?.type===Ee.Element&&c?.tagName.toUpperCase()==="HTML"){let{documentElement:o,head:d}=r.contentDocument;this.insertStyleRules(o,d)}if(!this.usingVirtualDom)for(let o of this.config.plugins||[])o.onBuild&&o.onBuild(u,{id:l,replayer:this})};lt(t.node,{doc:r.contentDocument,mirror:s,hackCss:!0,skipChild:!1,afterAppend:n,cache:this.cache}),n(r.contentDocument,t.node.id);for(let{mutationInQueue:u,builtNode:l}of i)this.attachDocumentToIframe(u,l),this.newDocumentQueue=this.newDocumentQueue.filter(c=>c!==u);a.forEach(u=>It(u))}collectIframeAndAttachDocument(t,r){if(ut(r,this.mirror)){let s=this.newDocumentQueue.find(i=>i.parentId===this.mirror.getId(r));s&&t.push({mutationInQueue:s,builtNode:r})}}waitForStylesheetLoad(){var t;let r=(t=this.iframe.contentDocument)==null?void 0:t.head;if(r){let s=new Set,i,a=this.service.state,n=()=>{a=this.service.state};this.emitter.on(V.Start,n),this.emitter.on(V.Pause,n);let u=()=>{this.emitter.off(V.Start,n),this.emitter.off(V.Pause,n)};r.querySelectorAll('link[rel="stylesheet"]').forEach(l=>{l.sheet||(s.add(l),l.addEventListener("load",()=>{s.delete(l),s.size===0&&i!==-1&&(a.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(V.LoadStylesheetEnd),i&&clearTimeout(i),u())}))}),s.size>0&&(this.service.send({type:"PAUSE"}),this.emitter.emit(V.LoadStylesheetStart),i=setTimeout(()=>{a.matches("playing")&&this.play(this.getCurrentTime()),i=-1,u()},this.config.loadTimeout))}}async preloadAllImages(){let t=[];for(let r of this.service.state.context.events)r.type===T.IncrementalSnapshot&&r.data.source===D.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(i=>{this.preloadImages(i,r)}));return Promise.all(t)}preloadImages(t,r){if(t.property==="drawImage"&&typeof t.args[0]=="string"&&!this.imageMap.has(r)){let s=document.createElement("canvas"),i=s.getContext("2d"),a=i?.createImageData(s.width,s.height);i?.putImageData(a,0,0)}}async deserializeAndPreloadCanvasEvents(t,r){if(!this.canvasEventMap.has(r)){let s={isUnchanged:!0};if("commands"in t){let i=await Promise.all(t.commands.map(async a=>{let n=await Promise.all(a.args.map(_e(this.imageMap,null,s)));return{...a,args:n}}));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,commands:i})}else{let i=await Promise.all(t.args.map(_e(this.imageMap,null,s)));s.isUnchanged===!1&&this.canvasEventMap.set(r,{...t,args:i})}}}applyIncremental(t,r){var s,i,a;let{data:n}=t;switch(n.source){case D.Mutation:{try{this.applyMutation(n,r)}catch(u){this.warn(`Exception in mutation ${u.message||u}`,n)}break}case D.Drag:case D.TouchMove:case D.MouseMove:if(r){let u=n.positions[n.positions.length-1];this.mousePos={x:u.x,y:u.y,id:u.id,debugData:n}}else n.positions.forEach(u=>{let l={doAction:()=>{this.moveAndHover(u.x,u.y,u.id,r,n)},delay:u.timeOffset+t.timestamp-this.service.state.context.baselineTime};this.timer.addAction(l)}),this.timer.addAction({doAction(){},delay:t.delay-((s=n.positions[0])==null?void 0:s.timeOffset)});break;case D.MouseInteraction:{if(n.id===-1)break;let u=new Event(Me(q[n.type])),l=this.mirror.getNode(n.id);if(!l)return this.debugNodeNotFound(n,n.id);this.emitter.emit(V.MouseInteraction,{type:n.type,target:l});let{triggerFocus:c}=this.config;switch(n.type){case q.Blur:"blur"in l&&l.blur();break;case q.Focus:c&&l.focus&&l.focus({preventScroll:!0});break;case q.Click:case q.TouchStart:case q.TouchEnd:case q.MouseDown:case q.MouseUp:r?(n.type===q.TouchStart?this.touchActive=!0:n.type===q.TouchEnd&&(this.touchActive=!1),n.type===q.MouseDown?this.lastMouseDownEvent=[l,u]:n.type===q.MouseUp&&(this.lastMouseDownEvent=null),this.mousePos={x:n.x||0,y:n.y||0,id:n.id,debugData:n}):(n.type===q.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x||0,n.y||0,n.id,r,n),n.type===q.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===q.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===q.TouchEnd?this.mouse.classList.remove("touch-active"):l.dispatchEvent(u));break;case q.TouchCancel:r?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:l.dispatchEvent(u)}break}case D.Scroll:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.scrollData=n;break}this.applyScroll(n,r);break}case D.ViewportResize:this.emitter.emit(V.Resize,{width:n.width,height:n.height});break;case D.Input:{if(n.id===-1)break;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.inputData=n;break}this.applyInput(n);break}case D.MediaInteraction:{let u=this.usingVirtualDom?this.virtualDom.mirror.getNode(n.id):this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);let l=u,{events:c}=this.service.state.context;this.mediaManager.mediaMutation({target:l,timeOffset:t.timestamp-c[0].timestamp,mutation:n});break}case D.StyleSheetRule:case D.StyleDeclaration:{this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&((i=this.virtualDom.mirror.getNode(n.id))==null||i.rules.push(n)):this.applyStyleSheetMutation(n);break}case D.CanvasMutation:{if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){let u=this.virtualDom.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);u.canvasMutations.push({event:t,mutation:n})}else{let u=this.mirror.getNode(n.id);if(!u)return this.debugNodeNotFound(n,n.id);io({event:t,mutation:n,target:u,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break}case D.Font:{try{let u=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);(a=this.iframe.contentDocument)==null||a.fonts.add(u)}catch(u){this.warn(u)}break}case D.Selection:{if(r){this.lastSelectionData=n;break}this.applySelection(n);break}case D.AdoptedStyleSheet:{this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n);break}}}applyMutation(t,r){if(this.config.useVirtualDom&&!this.usingVirtualDom&&r&&(this.usingVirtualDom=!0,Tu(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(let c in this.legacy_missingNodeRetryMap)try{let o=this.legacy_missingNodeRetryMap[c],d=Po(o.node,this.virtualDom,this.mirror);d&&(o.node=d)}catch(o){this.warn(o)}let s=this.usingVirtualDom?this.virtualDom.mirror:this.mirror;t.removes=t.removes.filter(c=>s.getNode(c.id)?!0:(this.warnNodeNotFound(t,c.id),!1)),t.removes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return;let f=s.getNode(c.parentId);if(!f)return this.warnNodeNotFound(t,c.parentId);if(c.isShadow&&Ue(f)&&(f=f.shadowRoot),s.removeNodeFromMap(d),f)try{f.removeChild(d),this.usingVirtualDom&&d.nodeName==="#text"&&f.nodeName==="STYLE"&&((o=f.rules)==null?void 0:o.length)>0&&(f.rules=[])}catch(h){if(h instanceof DOMException)this.warn("parent could not remove child in mutation",f,d,t);else throw h}});let i={...this.legacy_missingNodeRetryMap},a=[],n=c=>{let o=null;return c.nextId&&(o=s.getNode(c.nextId)),c.nextId!==null&&c.nextId!==void 0&&c.nextId!==-1&&!o},u=c=>{var o,d;if(!this.iframe.contentDocument)return this.warn("Looks like your replayer has been destroyed.");let f=s.getNode(c.parentId);if(!f)return c.node.type===Ee.Document?this.newDocumentQueue.push(c):a.push(c);c.node.isShadow&&(Ue(f)||f.attachShadow({mode:"open"}),f=f.shadowRoot);let h=null,m=null;if(c.previousId&&(h=s.getNode(c.previousId)),c.nextId&&(m=s.getNode(c.nextId)),n(c))return a.push(c);if(c.node.rootId&&!s.getNode(c.node.rootId))return;let p=c.node.rootId?s.getNode(c.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(ut(f,s)){this.attachDocumentToIframe(c,f);return}let g=(w,C)=>{if(!this.usingVirtualDom){It(w);for(let v of this.config.plugins||[])v.onBuild&&v.onBuild(w,{id:C,replayer:this})}},b=lt(c.node,{doc:p,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:g});if(c.previousId===-1||c.nextId===-1){i[c.node.id]={node:b,mutation:c};return}let y=s.getMeta(f);if(y&&y.type===Ee.Element&&c.node.type===Ee.Text){let w=Array.isArray(f.childNodes)?f.childNodes:Array.from(f.childNodes);if(y.tagName==="textarea")for(let C of w)C.nodeType===f.TEXT_NODE&&f.removeChild(C);else if(y.tagName==="style"&&w.length===1)for(let C of w)C.nodeType===f.TEXT_NODE&&!s.hasNode(C)&&(b.textContent=C.textContent,f.removeChild(C))}else if(y?.type===Ee.Document){let w=f;c.node.type===Ee.DocumentType&&((o=w.childNodes[0])==null?void 0:o.nodeType)===Node.DOCUMENT_TYPE_NODE&&w.removeChild(w.childNodes[0]),b.nodeName==="HTML"&&w.documentElement&&w.removeChild(w.documentElement)}if(h&&h.nextSibling&&h.nextSibling.parentNode?f.insertBefore(b,h.nextSibling):m&&m.parentNode?f.contains(m)?f.insertBefore(b,m):f.insertBefore(b,null):f.appendChild(b),g(b,c.node.id),this.usingVirtualDom&&b.nodeName==="#text"&&f.nodeName==="STYLE"&&((d=f.rules)==null?void 0:d.length)>0&&(f.rules=[]),ut(b,this.mirror)){let w=this.mirror.getId(b),C=this.newDocumentQueue.find(v=>v.parentId===w);C&&(this.attachDocumentToIframe(C,b),this.newDocumentQueue=this.newDocumentQueue.filter(v=>v!==C))}(c.previousId||c.nextId)&&this.legacy_resolveMissingNode(i,f,b,c)};t.adds.forEach(c=>{u(c)});let l=Date.now();for(;a.length;){let c=Xu(a);if(a.length=0,Date.now()-l>500){this.warn("Timeout in the loop, please check the resolve tree data:",c);break}for(let o of c)s.getNode(o.value.parentId)?Go(o,f=>{u(f)}):this.debug("Drop resolve tree since there is no parent for the root node.",o)}Object.keys(i).length&&Object.assign(this.legacy_missingNodeRetryMap,i),Ju(t.texts).forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(h=>h.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);let f=d.parentElement;if(c.value&&f&&f.tagName==="STYLE"?d.textContent=Zt(c.value,this.cache):d.textContent=c.value,this.usingVirtualDom){let h=d.parentNode;((o=h?.rules)==null?void 0:o.length)>0&&(h.rules=[])}}),t.attributes.forEach(c=>{var o;let d=s.getNode(c.id);if(!d)return t.removes.find(f=>f.id===c.id)?void 0:this.warnNodeNotFound(t,c.id);for(let f in c.attributes)if(typeof f=="string"){let h=c.attributes[f];if(h===null)d.removeAttribute(f),f==="open"&&_c(d,c);else if(typeof h=="string")try{if(f==="_cssText"&&(d.nodeName==="LINK"||d.nodeName==="STYLE"))try{let m=s.getMeta(d),p=lt({...m,attributes:{...m.attributes,...c.attributes}},{doc:d.ownerDocument,mirror:s,skipChild:!0,hackCss:!0,cache:this.cache});Object.assign(m.attributes,c.attributes);let g=d.nextSibling,b=d.parentNode;if(p&&b){b.removeChild(d),b.insertBefore(p,g),s.replace(c.id,p);break}}catch{}if(f==="value"&&d.nodeName==="TEXTAREA"){let m=d;m.childNodes.forEach(g=>m.removeChild(g));let p=(o=d.ownerDocument)==null?void 0:o.createTextNode(h);p&&m.appendChild(p)}else d.setAttribute(f,h);f==="rr_open_mode"&&d.nodeName==="DIALOG"&&It(d,c)}catch(m){this.warn("An error occurred may due to the checkout feature.",m)}else if(f==="style"){let m=h,p=d;for(let g in m)if(m[g]===!1)p.style.removeProperty(g);else if(m[g]instanceof Array){let b=m[g];p.style.setProperty(g,b[0],b[1])}else{let b=m[g];p.style.setProperty(g,b)}}}})}applyScroll(t,r){var s,i;let a=this.mirror.getNode(t.id);if(!a)return this.debugNodeNotFound(t,t.id);let n=this.mirror.getMeta(a);if(a===this.iframe.contentDocument)(s=this.iframe.contentWindow)==null||s.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else if(n?.type===Ee.Document)(i=a.defaultView)==null||i.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"});else try{a.scrollTo({top:t.y,left:t.x,behavior:r?"auto":"smooth"})}catch{}}applyInput(t){let r=this.mirror.getNode(t.id);if(!r)return this.debugNodeNotFound(t,t.id);try{r.checked=t.isChecked,r.value=t.text}catch{}}applySelection(t){try{let r=new Set,s=t.ranges.map(({start:i,startOffset:a,end:n,endOffset:u})=>{let l=this.mirror.getNode(i),c=this.mirror.getNode(n);if(!l||!c)return;let o=new Range;o.setStart(l,a),o.setEnd(c,u);let d=l.ownerDocument,f=d?.getSelection();return f&&r.add(f),{range:o,selection:f}});r.forEach(i=>i.removeAllRanges()),s.forEach(i=>{var a;return i&&((a=i.selection)==null?void 0:a.addRange(i.range))})}catch{}}applyStyleSheetMutation(t){var r;let s=null;t.styleId?s=this.styleMirror.getStyle(t.styleId):t.id&&(s=((r=this.mirror.getNode(t.id))==null?void 0:r.sheet)||null),s&&(t.source===D.StyleSheetRule?this.applyStyleSheetRule(t,s):t.source===D.StyleDeclaration&&this.applyStyleDeclaration(t,s))}applyStyleSheetRule(t,r){var s,i,a,n;if((s=t.adds)==null||s.forEach(({rule:u,index:l})=>{try{if(Array.isArray(l)){let{positions:c,index:o}=Bn(l),d=st(r.cssRules,c);d?.insertRule(u,o)}else{let c=l===void 0?void 0:Math.min(l,r.cssRules.length);r?.insertRule(u,c)}}catch{}}),(i=t.removes)==null||i.forEach(({index:u})=>{try{if(Array.isArray(u)){let{positions:l,index:c}=Bn(u),o=st(r.cssRules,l);o?.deleteRule(c||0)}else r?.deleteRule(u)}catch{}}),typeof t.replace=="string")try{(a=r.replace)==null||a.call(r,t.replace)}catch{}if(typeof t.replaceSync=="string")try{(n=r.replaceSync)==null||n.call(r,t.replaceSync)}catch{}}applyStyleDeclaration(t,r){if(t.set){let s=st(r.rules,t.index);s?.style&&s.style.setProperty(t.set.property,t.set.value,t.set.priority)}if(t.remove){let s=st(r.rules,t.index);s?.style&&s.style.removeProperty(t.remove.property)}}applyAdoptedStyleSheet(t){var r;let s=this.mirror.getNode(t.id);if(!s)return;(r=t.styles)==null||r.forEach(u=>{var l;let c=null,o=null;if(Ue(s)?o=((l=s.ownerDocument)==null?void 0:l.defaultView)||null:s.nodeName==="#document"&&(o=s.defaultView),!!o)try{c=new o.CSSStyleSheet,this.styleMirror.add(c,u.styleId),this.applyStyleSheetRule({source:D.StyleSheetRule,adds:u.rules},c)}catch{}});let i=10,a=0,n=(u,l)=>{let c=l.map(o=>this.styleMirror.getStyle(o)).filter(o=>o!==null);Ue(u)?u.shadowRoot.adoptedStyleSheets=c:u.nodeName==="#document"&&(u.adoptedStyleSheets=c),c.length!==l.length&&a<i&&(setTimeout(()=>n(u,l),0+100*a),a++)};n(s,t.styleIds)}legacy_resolveMissingNode(t,r,s,i){let{previousId:a,nextId:n}=i,u=a&&t[a],l=n&&t[n];if(u){let{node:c,mutation:o}=u;r.insertBefore(c,s),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}if(l){let{node:c,mutation:o}=l;r.insertBefore(c,s.nextSibling),delete t[o.node.id],delete this.legacy_missingNodeRetryMap[o.node.id],(o.previousId||o.nextId)&&this.legacy_resolveMissingNode(t,r,c,o)}}moveAndHover(t,r,s,i,a){let n=this.mirror.getNode(s);if(!n)return this.debugNodeNotFound(a,s);let u=Yo(n,this.iframe),l=t*u.absoluteScale+u.x,c=r*u.absoluteScale+u.y;this.mouse.style.left=`${l}px`,this.mouse.style.top=`${c}px`,i||this.drawMouseTail({x:l,y:c}),this.hoverElements(n)}drawMouseTail(t){if(!this.mouseTail)return;let{lineCap:r,lineWidth:s,strokeStyle:i,duration:a}=this.config.mouseTail===!0?wi:Object.assign({},wi,this.config.mouseTail),n=()=>{if(!this.mouseTail)return;let u=this.mouseTail.getContext("2d");!u||!this.tailPositions.length||(u.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),u.beginPath(),u.lineWidth=s,u.lineCap=r,u.strokeStyle=i,u.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(l=>u.lineTo(l.x,l.y)),u.stroke())};this.tailPositions.push(t),n(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(u=>u!==t),n()},a/this.speedService.state.context.timer.speed)}hoverElements(t){var r;(r=this.lastHoveredRootNode||this.iframe.contentDocument)==null||r.querySelectorAll(".\\:hover").forEach(i=>{i.classList.remove(":hover")}),this.lastHoveredRootNode=t.getRootNode();let s=t;for(;s;)s.classList&&s.classList.add(":hover"),s=s.parentElement}isUserInteraction(t){return t.type!==T.IncrementalSnapshot?!1:t.data.source>D.Mutation&&t.data.source<=D.Input}backToNormal(){this.nextUserInteractionEvent=null,!this.speedService.state.matches("normal")&&(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(V.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(t,r){this.warn(`Node with id '${r}' not found. `,t)}warnCanvasMutationFailed(t,r){this.warn("Has error on canvas update",r,"canvas mutation:",t)}debugNodeNotFound(t,r){this.debug(`Node with id '${r}' not found. `,t)}warn(...t){this.config.showWarning&&this.config.logger.warn(so,...t)}debug(...t){this.config.showDebug&&this.config.logger.log(so,...t)}},{addCustomEvent:Zc}=je,{freezePage:ef}=je,{takeFullSnapshot:tf}=je;function fa(e,t){e.pause(t+1)}var ca=new WeakMap,tt=e=>`${Math.floor(Math.max(0,e)/6e4)}:${String(Math.floor(Math.max(0,e)/1e3)%60).padStart(2,"0")}`;function ha(e,t){let r=e.getElementById("completeness");if(!r)return;let s={confirmed:z.__("Received through the last confirmed checkpoint. This does not confirm that the entire visit was recorded.","clickclue"),interrupted:z.__("Recording interrupted. Some activity is missing; interpret this replay as a partial visit.","clickclue"),unconfirmed:z.__("Uploads may still be arriving. You can watch the saved activity now and load the latest activity after the visit ends. If the final upload never arrives, later activity may be missing.","clickclue"),legacy:z.__("Delivery status is unavailable for this older recording.","clickclue")},i=Object.hasOwn(s,t?.status)?t.status:"legacy";r.textContent=s[i],r.dataset.status=i}function Fc(e,t,r="width"){let s=(o,d,f)=>Number.isFinite(Number(o))&&Number(o)>0?Math.min(f,Number(o)):d,i=s(e?.width,1280,1e5),a=s(e?.height,800,1e5),n=s(t?.width,1,1e5),u=s(t?.height,1,1e5),l=Number(r),c=r==="fit"?Math.min(n/i,u/a,1):["0.5","0.75","1","1.25","1.5","2"].includes(r)?l:Math.min(n/i,1);return{width:i,height:a,scale:Math.max(.001,c)}}function da(e,t=new Map){if(!e?.head)return;let r=ca.get(e);if(e.getElementById("clickclue-placeholder-style")&&r?.media===t)return;r?.dispose(),e.getElementById("clickclue-placeholder-style")?.remove();let s=e.createElement("style");s.id="clickclue-placeholder-style";let i=a=>'"'+Array.from(a,n=>"\\"+n.codePointAt(0).toString(16)+" ").join("")+'"';s.textContent=".tw-redacted{box-sizing:border-box!important;position:relative!important;overflow:hidden!important;background:#eef1e9!important;outline:1px dashed #9aab8c!important}.tw-redacted::after{display:block!important;padding:8px!important;color:#435737!important;font:12px/1.4 Arial,sans-serif!important;overflow:hidden!important;content:"+i(z.__("Content excluded","clickclue"))+"}.tw-media-image::after{content:"+i(z.__("Image excluded","clickclue"))+"}.tw-media-video::after{content:"+i(z.__("Video excluded","clickclue"))+"}.tw-media-audio::after{content:"+i(z.__("Audio excluded","clickclue"))+"}.tw-media-embedded::after{content:"+i(z.__("Embedded content excluded","clickclue"))+"}.tw-media-canvas::after{content:"+i(z.__("Canvas excluded","clickclue"))+"}.tw-approved-media{outline:none!important}.tw-approved-media::after{display:none!important}",e.head.append(s),ca.set(e,{media:t,dispose:ws(e,t)})}function pa({doc:e=document,getDimensions:t,isReady:r}){let s=e.defaultView,i=c=>e.getElementById(c),a=!1;function n(){let c=i("viewport"),{width:o,height:d,scale:f}=Fc(t(),{width:c.clientWidth-24,height:c.clientHeight-24},i("zoom").value);Object.assign(i("stage").style,{width:o+"px",height:d+"px",transform:`scale(${f})`}),Object.assign(i("stage-size").style,{width:Math.ceil(o*f)+"px",height:Math.ceil(d*f)+"px"}),i("viewport-size").textContent=`${Math.round(o)} \xD7 ${Math.round(d)} \xB7 ${Math.round(f*100)}%`}function u(c){a=c,i("zoom").disabled=!c,i("fullscreen").disabled=!c,c?n():i("viewport-size").textContent=z.__("Recorded viewport","clickclue")}return i("zoom").onchange=()=>{n(),i("viewport").scrollTop=0,i("viewport").scrollLeft=0},i("fullscreen").hidden=!e.fullscreenEnabled||typeof e.documentElement.requestFullscreen!="function",i("fullscreen").onclick=async()=>{try{e.fullscreenElement?await e.exitFullscreen():await e.documentElement.requestFullscreen(),i("view-feedback").textContent=""}catch{i("view-feedback").textContent=z.__("Fullscreen is unavailable in this browser. Use Fit width or a zoom level to inspect the recording.","clickclue")}},e.addEventListener("fullscreenchange",()=>{i("fullscreen").textContent=e.fullscreenElement?z.__("Exit fullscreen","clickclue"):z.__("Fullscreen","clickclue"),n()}),(typeof s.ResizeObserver=="function"?new s.ResizeObserver(()=>{a&&r()&&n()}):null)?.observe(i("viewport")),s.addEventListener("resize",()=>{a&&r()&&n()}),{fit:n,ready:u}}function ma(e,t,r){let s=e.getElementById("markers"),i=e.getElementById("event-ticks");s.replaceChildren(),i.replaceChildren();let a=e.createElement("option");a.value="",a.textContent=t.length?z.sprintf(/* translators: %1$s: number of event markers. */ z.__("Jump to an event (%1$s)","clickclue"),t.length):z.__("No event markers in this recording","clickclue"),s.append(a);for(let n of t.slice(0,200)){let u=`${tt(n.time)} \xB7 ${n.label}`,l=e.createElement("option");l.value=String(n.time),l.textContent=u,s.append(l);let c=e.createElement("span");c.className="event-tick"+(n.error||n.clue?" event-clue":""),c.style.left=Math.min(100,Math.max(0,n.time/Math.max(1,r)*100))+"%",c.title=u,i.append(c)}e.getElementById("event-count").textContent=t.length>200?z.__("First 200 markers shown; Previous and Next reach every event.","clickclue"):z.__("Use Previous, Next or the event list to inspect a moment.","clickclue")}function Uc(e,t="https://example.invalid"){try{let r=new URL(e,t),i=["p","page_id"].filter(u=>r.searchParams.has(u));if(i.length!==1)return null;let a=i[0],n=r.searchParams.getAll(a);return n.length!==1||!/^[1-9][0-9]{0,9}$/.test(n[0])?null:{path:r.pathname,key:a,id:n[0],identity:r.pathname+"?"+a+"="+n[0]}}catch{return null}}function ga(e,t="https://example.invalid"){try{let r=new URL(e,t),s=r.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),i=Uc(e,t);return i&&s===i.path&&r.search==="?"+i.key+"="+i.id&&(s+r.search).length<=500?s+r.search:s}catch{return"/"}}var or={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ya=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),wa=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),ba=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),ff=[...Object.keys(or),...ya,...wa,...ba,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function $c(e,t){if(typeof t!="string"||t.length>600)return null;if(t=t.trim(),Object.hasOwn(or,e))return or[e].split(" ").includes(t)||["row dense","column dense","space-between","space-around","space-evenly"].includes(t)&&or[e].includes(t)?t:null;if(ya.has(e))return["auto","none","normal","min-content","max-content"].includes(t)||/^-?(?:\d{1,5})(?:\.\d{1,5})?px$/.test(t)&&Math.abs(parseFloat(t))<=8192?t:null;if(wa.has(e)){t=t.replace(/\[[^\]]*\]/g,"").trim().replace(/\s+/g," ");let r=t.split(" ");return t==="none"?"none":r.length<=64&&r.every(s=>/^(?:\d{1,5})(?:\.\d{1,5})?px$/.test(s)&&parseFloat(s)<=1e5)?t:null}if(ba.has(e))return/^(?:auto|[1-9]\d{0,2}|span [1-9]\d{0,2})$/.test(t)?t:null;if(["flex-grow","flex-shrink"].includes(e))return/^\d{1,3}(?:\.\d{1,5})?$/.test(t)?t:null;if(["order","z-index"].includes(e))return t==="auto"||/^-?\d{1,4}$/.test(t)?t:null;if(e==="font-weight")return/^(?:normal|bold|[1-9]\d{0,2}|1000)$/.test(t)?t:null;if(e==="opacity")return/^(?:0|1|0?\.\d{1,5})$/.test(t)?t:null;if(e==="border-radius")return t.split(" ").length<=4&&t.split(" ").every(r=>/^\d{1,5}(?:\.\d{1,5})?px$/.test(r)&&parseFloat(r)<=8192)?t:null;if(e==="transform"){if(t==="none")return t;let r=t.match(/^(matrix|matrix3d)\(([-+\d., e]+)\)$/);if(!r)return null;let s=r[2].split(",").map(i=>i.trim());return s.length===(r[1]==="matrix"?6:16)&&s.every(i=>/^[-+]?(?:\d+(?:\.\d+)?|\.\d+)(?:e[-+]?\d{1,2})?$/.test(i)&&Number.isFinite(Number(i))&&Math.abs(Number(i))<=1e5)?t:null}if(["color","background-color"].includes(e)){let r=t.match(/^rgba?\((\d{1,3}), (\d{1,3}), (\d{1,3})(?:, (0|1|0?\.\d{1,5}))?\)$/);return r&&r.slice(1,4).every(s=>Number(s)<=255)?t:null}return null}function cs(e){if(typeof e!="string"||e.length>4096)return"";let t=[],r=new Set;for(let i of e.split(";").slice(0,100)){let a=i.indexOf(":");if(a<1)continue;let n=i.slice(0,a).trim();if(r.has(n))continue;let u=$c(n,i.slice(a+1));u!==null&&(r.add(n),t.push(n+":"+u))}let s=t.join(";");return s.length<=4096?s:""}function va(e){return cs(e).split(";").filter(Boolean).map(t=>t+" !important").join(";")}var fs=e=>String(e??"").replace(/\S/g,"*"),Bc=ga;function Ce(e){let t=String(e??""),r="",s=0,i=u=>{let l=t.slice(u+1).match(/^[a-f0-9]{1,6}(?:\r\n|[ \t\r\n\f])?/i);if(l){let c=parseInt(l[0],16);return[c>0&&c<=1114111?String.fromCodePoint(c):"\uFFFD",u+1+l[0].length]}return[t[u+1]||"",Math.min(t.length,u+2)]},a=u=>{let l=t[u++];for(;u<t.length;)if(t[u]==="\\")u=i(u)[1];else if(t[u++]===l)break;return u},n=u=>{let l=t.indexOf("*/",u+2);return l<0?t.length:l+2};for(;s<t.length;){if(t.startsWith("/*",s)){s=n(s),r+=" ";continue}if(t[s]==='"'||t[s]==="'"){s=a(s),r+='""';continue}if(/[a-z_\\-]/i.test(t[s])){let u=s,l="";for(;s<t.length&&/[a-z0-9_\\-]/i.test(t[s]);)if(t[s]==="\\"){let[o,d]=i(s);l+=o,s=d}else l+=t[s++];let c=s;for(;c<t.length;)if(/\s/.test(t[c]))c++;else if(t.startsWith("/*",c))c=n(c);else break;if(l.toLowerCase()==="url"&&t[c]==="("){s=c+1;let o=1;for(;s<t.length&&o;)t[s]==="\\"?s=i(s)[1]:t[s]==='"'||t[s]==="'"?s=a(s):t.startsWith("/*",s)?s=n(s):(t[s]==="("&&o++,t[s]===")"&&o--,s++);r+="none"}else r+=t.slice(u,s);continue}r+=t[s++]}return r.replace(/@import[^;{}]*;?/gi,"")}var zc=new Set(["class","id","type","role","width","height","colspan","rowspan","open","disabled","checked","selected","multiple","min","max","step","dir","lang","rr_width","rr_height","rr_scrollLeft","rr_scrollTop"]);function Sa(e={}){let t={};for(let[r,s]of Object.entries(e))if(s===null)t[r]=null;else if(r==="style"&&s&&typeof s=="object"&&!Array.isArray(s))t[r]=Object.fromEntries(Object.entries(s).map(([i,a])=>[i,a===!1?!1:Array.isArray(a)?[Ce(a[0]),a[1]==="important"?"important":""]:Ce(a)]));else if(r==="style"||r==="_cssText")t[r]=Ce(s);else if(r==="data-tw-image-fit")t[r]=bt(s);else if(r==="data-tw-image-position")t[r]=wt(s);else if(r==="data-tw-layout"){let i=cs(s);i&&(t[r]=i)}else r==="data-tw-media"&&typeof s=="string"&&/^[a-f0-9]{64}$/.test(s)?t[r]=s:r==="href"?t[r]="#":zc.has(r)&&!/@|%40|(?:\d[ -]?){12}/i.test(String(s))?t[r]=s:s===null&&(t[r]=null);if(t["data-tw-layout"]){let r=va(t["data-tw-layout"]);if(t.style&&typeof t.style=="object")for(let s of r.split(";")){let i=s.indexOf(":");i>0&&(t.style[s.slice(0,i)]=[s.slice(i+1).replace(/ !important$/,""),"important"])}else t.style=(typeof t.style=="string"?t.style+";":"")+r}return t}var Wc=new Set(["script","iframe","frame","object","embed","canvas","video","audio","img","svg","noscript","meta","base"]),jc={img:"image",svg:"image",video:"video",audio:"audio",iframe:"embedded",frame:"embedded",object:"embedded",embed:"embedded",canvas:"canvas"};function Vc(e,t={}){let r=u=>{if(typeof u!="number"&&typeof u!="string"||!/^\d{1,5}(?:\.\d{1,16})?(?:px)?$/.test(String(u)))return null;let l=parseFloat(u);return Number.isFinite(l)?Math.min(8192,Math.max(0,l)):null},s=r(t.rr_width??t.width),i=r(t.rr_height??t.height),a=jc[e];if(!a)return{class:"tw-redacted",style:"display:none"};let n=(s===null?"":`;width:${s}px`)+(i===null?";min-height:24px":`;height:${i}px`);return{...typeof t["data-tw-media"]=="string"&&/^[a-f0-9]{64}$/.test(t["data-tw-media"])?{"data-tw-media":t["data-tw-media"],"data-tw-image-fit":bt(t["data-tw-image-fit"]),"data-tw-image-position":wt(t["data-tw-image-position"])}:{},class:"tw-redacted"+(a?" tw-media-"+a:""),style:"background:#edf0e9;overflow:hidden"+n}}function hs(e,t,r="",s=null){if(!e||typeof e!="object")return e;let i={...e},a=r==="style"||i.isStyle||i.tagName?.toLowerCase()==="style";return s&&a&&s.styleNodes.add(i.id),i.tagName&&Wc.has(i.tagName.toLowerCase())?{type:2,tagName:"div",attributes:Vc(i.tagName.toLowerCase(),i.attributes),childNodes:[],id:i.id,needBlock:!0}:(i.attributes&&(i.attributes=Sa(i.attributes)),typeof i.textContent=="string"&&(i.textContent=a?Ce(i.textContent):t.maskText?fs(i.textContent):i.textContent),i.childNodes&&(i.childNodes=i.childNodes.map(n=>hs(n,t,i.tagName||r,s))),i)}var qc=new Set(["page","click","rage_click"]);function Ca(e={maskText:!0}){let t={styleNodes:new Set};return r=>Gc(r,e,t)}function Gc(e,t={maskText:!0},r=null){if(!e||e.type>5)return null;let s={...e,data:e.data&&typeof e.data=="object"?{...e.data}:e.data};if(s.type===2&&(r?.styleNodes.clear(),s.data.node=hs(s.data.node,t,"",r)),s.type===4&&(s.data.href=Bc(s.data.href)),s.type===5){let i=qc.has(s.data.tag)?{}:t.sanitizeCustom?.(s.data.tag,s.data.payload)??null;if(i===null)return null;s.data={tag:s.data.tag,payload:i}}if(s.type===3){if([7,9,10,11].includes(s.data.source))return null;if(s.data.source===5&&(s.data.text=fs(s.data.text)),s.data.attributes&&(s.data.attributes=s.data.attributes.map(i=>({...i,attributes:Sa(i.attributes)}))),s.data.adds&&s.data.source===0&&(s.data.adds=s.data.adds.map(i=>({...i,node:hs(i.node,t,r?.styleNodes.has(i.parentId)?"style":"",r)}))),s.data.texts&&(s.data.texts=s.data.texts.map(i=>({...i,value:r?.styleNodes.has(i.id)?Ce(i.value):t.maskText?fs(i.value):r?i.value:Ce(i.value)}))),s.data.source===8&&s.data.adds&&(s.data.adds=s.data.adds.map(i=>({...i,rule:Ce(i.rule??"")}))),s.data.source===8)for(let i of["replace","replaceSync"])typeof s.data[i]=="string"&&(s.data[i]=Ce(s.data[i]));s.data.source===15&&s.data.styles&&(s.data.styles=s.data.styles.map(i=>({...i,rules:i.rules.map(a=>({...a,rule:Ce(a.rule)}))}))),s.data.source===13&&s.data.set&&(s.data.set={...s.data.set,value:Ce(s.data.set.value)})}return s}var xa=Object.freeze({get page(){return z.__("Page opened","clickclue")},get click(){return z.__("Click","clickclue")},get rage_click(){return z.__("Repeated clicks","clickclue")}});function Ea(e){let t=e[0]?.timestamp||0;return e.filter(r=>r.type===5&&r.data?.tag!=="click"&&xa[r.data?.tag]).map(r=>({time:Math.max(0,r.timestamp-t),label:xa[r.data.tag],error:!1,clue:r.data.tag==="rage_click"}))}var K,be=0,lr=!1,Ie=[],ds={width:1280,height:800},P=e=>document.getElementById(e),ar=pa({getDimensions:()=>ds,isReady:()=>!!K}),Ma=()=>ar.fit();function ps(e){P("seek").value=String(e),P("time").textContent=`${tt(e)} / ${tt(be)}`,P("seek").setAttribute("aria-valuetext",z.sprintf(/* translators: 1: current replay time, 2: total replay duration. */ z.__("%1$s of %2$s","clickclue"),tt(e),tt(be)));let t=[...Ie].reverse().find(r=>r.time<=e);P("current-event").textContent=t?t.label:z.__("Recording start","clickclue"),P("previous-event").disabled=!Ie.some(r=>r.time<e-100),P("next-event").disabled=!Ie.some(r=>r.time>e+100)}function ur(){K?.pause(),lr=!1,P("play").textContent=z.__("Play","clickclue"),P("activity").textContent=""}function Pe(e){if(!K)return;ur();let t=Math.min(be,Math.max(0,Number(e)||0));fa(K,t),ps(t)}function Ra(e){let t=Number(P("seek").value),r=e>0?Ie.find(s=>s.time>t+100):[...Ie].reverse().find(s=>s.time<t-100);r&&Pe(r.time)}function Hc(e,t=0,r=null,s=null){ha(document,s),ur(),K?.destroy(),K=null,be=0,Ie=[],ar.ready(!1),P("event-ticks").replaceChildren(),P("current-event").textContent="",P("view-feedback").textContent="",P("viewport").scrollTop=0,P("viewport").scrollLeft=0,P("stage").replaceChildren(),P("markers").replaceChildren();for(let i of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(i).disabled=!0;try{let i=ys(r),a=Ca({maskText:!1}),n=[...e].sort((f,h)=>f.timestamp-h.timestamp).map(a).filter(Boolean);if(n.length<2||!n.some(f=>f.type===2))throw new Error(z.__("This session has no complete page snapshot.","clickclue"));let u=n.find(f=>f.type===4)?.data;ds={width:Math.max(1,Number(u?.width)||1280),height:Math.max(1,Number(u?.height)||800)},be=Math.max(1,n.at(-1).timestamp-n[0].timestamp),Ie=Ea(n),K=new Ht(n,{root:P("stage"),showWarning:!1,showDebug:!1,blockClass:"rr-block",skipInactive:P("skip-inactive").checked,inactivePeriodThreshold:5e3,maxSpeed:16,speed:Number(P("speed").value),mouseTail:{duration:500,lineCap:"round",lineWidth:2,strokeStyle:"#789255"},UNSAFE_replayCanvas:!1}),K.on("resize",f=>{ds=f,Ma()}),K.on("finish",()=>{ur(),ps(be)}),K.on("skip-start",()=>{P("activity").textContent=z.__("Skipping inactivity","clickclue")}),K.on("skip-end",()=>{P("activity").textContent=""}),ma(document,Ie,be);for(let f of["play","seek","speed","skip-inactive"])P(f).disabled=!1;P("markers").disabled=!Ie.length,P("seek").max=String(be),P("notice").textContent="";let l=n.find(f=>f.type===2),c=K,o=!1,d=()=>{K===c&&da(c.iframe.contentDocument,i),!(o||K!==c||!c.iframe.contentDocument||!c.getMirror().getNode(l.data.node.id))&&(o=!0,queueMicrotask(()=>{K===c&&(ar.ready(!0),window.parent.postMessage({type:"tracewell-player-loaded"},"*"))}))};K.on("fullsnapshot-rebuilded",d),Ma(),Pe(t),d()}catch(i){K?.destroy(),K=null,ar.ready(!1),P("stage").replaceChildren();for(let a of["play","seek","previous-event","next-event","markers","speed","skip-inactive"])P(a).disabled=!0;P("notice").textContent=z.sprintf(/* translators: %s: reconstruction error message. */ z.__("Unable to play this recording: %s","clickclue"),i.message),P("time").textContent="0:00 / 0:00",P("current-event").textContent="",P("event-ticks").replaceChildren(),window.parent.postMessage({type:"tracewell-player-error"},"*")}}P("play").onclick=()=>{if(K)if(lr)ur();else{let e=Number(P("seek").value);e>=be-100&&(e=0),K.play(e),lr=!0,P("play").textContent=z.__("Pause","clickclue")}};P("speed").onchange=()=>K?.setConfig({speed:Number(P("speed").value)});P("skip-inactive").onchange=()=>K?.setConfig({skipInactive:P("skip-inactive").checked});P("seek").oninput=e=>Pe(e.target.value);P("previous-event").onclick=()=>Ra(-1);P("next-event").onclick=()=>Ra(1);P("markers").onchange=e=>{e.target.value!==""&&Pe(e.target.value)};window.addEventListener("keydown",e=>{e.target.closest?.("input,select,button,textarea,a")||e.altKey||e.ctrlKey||e.metaKey||!K||(e.code==="Space"&&(e.preventDefault(),P("play").click()),e.key==="Home"&&(e.preventDefault(),Pe(0)),e.key==="End"&&(e.preventDefault(),Pe(be)),["ArrowLeft","ArrowRight"].includes(e.key)&&(e.preventDefault(),Pe(Number(P("seek").value)+(e.key==="ArrowRight"?5e3:-5e3))))});setInterval(()=>{lr&&K&&ps(Math.min(be,K.getCurrentTime()))},100);window.addEventListener("message",e=>{e.source===window.parent&&(e.data?.type==="tracewell-player-ping"&&window.parent.postMessage({type:"tracewell-player-ready"},"*"),e.data?.type==="load"&&Array.isArray(e.data.events)&&(ms(document,e.data),Hc(e.data.events,e.data.startAt,e.data.media,e.data.completeness)),e.data?.type==="seek"&&Pe(e.data.time))});window.parent.postMessage({type:"tracewell-player-ready"},"*");})(); 132 132 /*! Bundled license information: 133 133 -
clickclue/trunk/assets/pro-previews.js
r3775799 r3776421 10 10 journeys:{label:window.wp.i18n.__('Journeys & comparisons','clickclue'),heading:window.wp.i18n.__('Follow a journey. Review a change.','clickclue'),body:window.wp.i18n.__('Review recorded journeys and compare observations before and after a site change.','clickclue'),steps:[window.wp.i18n.__('Choose recorded paths or define the journey you want to review.','clickclue'),window.wp.i18n.__('Compare retained samples around a change you made.','clickclue'),window.wp.i18n.__('Check the sample coverage and replay the evidence.','clickclue')],view:'discovery-journeys',image:'journeys.png',anchor:'journeys'} 11 11 }; 12 const storageKey='clickclue.pro-preview.'+c.home+'.user-'+c.userId+'.v1';let selected='grouped', persistent=true,busy=false,reviewed=false;13 function readChoice(){try{const x=JSON.parse(localStorage.getItem(storageKey)||'null');if(x&&Object.hasOwn(features,x.feature)&&Number.isSafeInteger(x.at)&&x.at<=Date.now()&&Date.now()-x.at<7*86400000) selected=x.feature;else if(x!==null)localStorage.removeItem(storageKey);}catch{persistent=false;}}12 const storageKey='clickclue.pro-preview.'+c.home+'.user-'+c.userId+'.v1';let selected='grouped',hasChoice=false,persistent=true,busy=false,reviewed=false; 13 function readChoice(){try{const x=JSON.parse(localStorage.getItem(storageKey)||'null');if(x&&Object.hasOwn(features,x.feature)&&Number.isSafeInteger(x.at)&&x.at<=Date.now()&&Date.now()-x.at<7*86400000){selected=x.feature;hasChoice=true;}else if(x!==null)localStorage.removeItem(storageKey);}catch{persistent=false;}} 14 14 readChoice(); 15 function remember(feature){selected=feature; try{localStorage.setItem(storageKey,JSON.stringify({feature,at:Date.now()}));}catch{persistent=false;}}15 function remember(feature){selected=feature;hasChoice=true;try{localStorage.setItem(storageKey,JSON.stringify({feature,at:Date.now()}));}catch{persistent=false;}} 16 16 const button=(text,run,cls='tw-button tw-outline')=>{const n=el('button',text,cls);n.type='button';n.onclick=run;return n;}; 17 17 const link=(text,url,primary=false)=>{const n=el('a',text,primary?'tw-button':'tw-button tw-outline');n.href=url;n.rel='noopener noreferrer';n.referrerPolicy='no-referrer';return n;}; … … 35 35 return box; 36 36 } 37 function policy(){return el('p',window.wp.i18n.__('Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Updates remain manual; eligible downloads and support are separate.','clickclue'),'cc-preview-policy');}37 function policy(){return el('p',window.wp.i18n.__('Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Eligible Pro updates appear in WordPress from version 1.1.5. Update Free first, then Pro. Updates and support depend on your subscription.','clickclue'),'cc-preview-policy');} 38 38 function preview(panel,feature){ 39 39 if(panel.dataset.previewReady)return;panel.dataset.previewReady='1';const item=features[feature];panel.classList.add('cc-pro-preview'); … … 68 68 const choiceNote=el('p','','cc-preview-policy');choiceNotes.add(choiceNote);panel.append(choiceNote);const nextActions=el('div');overviewActions.add(nextActions);panel.append(nextActions);const grid=el('div','','cc-preview-grid');for(const [feature,item]of Object.entries(features)){const card=el('article');card.append(el('h3',item.heading),el('p',item.body),button(c.pro?window.wp.i18n.__('Open tool','clickclue'):window.wp.i18n.__('See example and steps','clickclue'),()=>open(feature)));grid.append(card);}panel.append(grid,policy(),preferences());syncPreferences();updateChoiceNote(); 69 69 } 70 function updateChoiceNote(){for(const node of overviewActions)node.replaceChildren(actions(selected));for(const choiceNote of choiceNotes)choiceNote.textContent=( persistent?window.wp.i18n.__('Last feature selected in this browser: ','clickclue'):window.wp.i18n.__('Selected for this visit: ','clickclue'))+features[selected].heading;}70 function updateChoiceNote(){for(const node of overviewActions)node.replaceChildren(actions(selected));for(const choiceNote of choiceNotes)choiceNote.textContent=(!hasChoice?window.wp.i18n.__('Suggested starting point: ','clickclue'):persistent?window.wp.i18n.__('Last feature selected in this browser: ','clickclue'):window.wp.i18n.__('Selected for this visit: ','clickclue'))+features[selected].heading;} 71 71 function ready(){ 72 72 const settings=el('section','','cc-settings-pro');settings.id='cc-settings-pro';comparison(settings);$('tw-settings').append(settings); -
clickclue/trunk/assets/recorder.js
r3775799 r3776421 1 "use strict";(()=>{var he=Object.create(null);var ye=(p,...b)=>{let x=0;return String(p).replace(/%%|%(?:(\d+)\$)?([sd])/g,(k,O,P)=>{if(k==="%%")return"%";let G=b[O?Number(O)-1:x++];return String(P==="d"?Math.trunc(Number(G)):G??"")})},t={__(p,b="clickclue"){return Object.hasOwn(he,p)?he[p]:globalThis.wp?.i18n?.__(p,b)??p},_n(p,b,x,k="clickclue"){return globalThis.wp?.i18n?._n(p,b,x,k)??(x===1?p:b)},sprintf(p,...b){return globalThis.wp?.i18n?.sprintf(p,...b)??ye(p,...b)}};function me(){t.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"),t.__("Allow this replay","clickclue"),t.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),t.__("An exclusion selector is invalid","clickclue"),t.__("Browser privacy preference respected","clickclue"),t.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue"),t.__("Capture is off. No current session was submitted for deletion.","clickclue"),t.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),t.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),t.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),t.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue"),t.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue"),t.__("Check this test visit","clickclue"),t.__("Checking the recording service","clickclue"),t.__("Choose Allow this replay to test capture.","clickclue"),t.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue"),t.__("ClickClue setup check","clickclue"),t.__("Close check","clickclue"),t.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue"),t.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue"),t.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue"),t.__("Could not complete recording","clickclue"),t.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue"),t.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue"),t.__("Loading the capture engine","clickclue"),t.__("No activity is being recorded. You can choose to allow this test.","clickclue"),t.__("No upload confirmed in this tab yet.","clickclue"),t.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue"),t.__("Privacy information changed","clickclue"),t.__("Privacy notice required","clickclue"),t.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue"),t.__("Recording is paused","clickclue"),t.__("Recording stopped","clickclue"),t.__("Recording storage budget reached","clickclue"),t.__("Recording temporarily paused","clickclue"),t.__("Recording this visit","clickclue"),t.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue"),t.__("Reload this page to check the next visit.","clickclue"),t.__("Reload to start a new authorized visit if your allowance permits.","clickclue"),t.__("Replay declined","clickclue"),t.__("Retry deletion","clickclue"),t.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue"),t.__("Signed-in visit excluded","clickclue"),t.__("Stop & delete current session","clickclue"),t.__("The recording reached its size limit","clickclue"),t.__("The request origin could not be verified","clickclue"),t.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue"),t.__("This page is excluded","clickclue"),t.__("This recording reached its safety limit","clickclue"),t.__("This session has ended","clickclue"),t.__("This tab was not selected","clickclue"),t.__("Too many starts in a short period","clickclue"),t.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue"),t.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue"),t.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue");/* translators: %1$s: number of events accepted by the server. */ t.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),t.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue"),t.__("Wait before starting another test visit.","clickclue"),t.__("Waiting for permission","clickclue"),t.__("Waiting for your WordPress server to authorize this visit.","clickclue")}var _e={display:"none block inline inline-block flex inline-flex grid inline-grid flow-root contents table table-row table-cell table-row-group table-header-group table-footer-group table-column table-column-group table-caption list-item",position:"static relative absolute fixed sticky","box-sizing":"border-box content-box","flex-direction":"row row-reverse column column-reverse","flex-wrap":"nowrap wrap wrap-reverse","justify-content":"normal start end center left right flex-start flex-end space-between space-around space-evenly stretch","align-items":"normal start end center flex-start flex-end stretch baseline","align-content":"normal start end center flex-start flex-end stretch baseline space-between space-around space-evenly","align-self":"auto normal start end center flex-start flex-end stretch baseline","justify-items":"normal start end center stretch legacy","justify-self":"auto normal start end center stretch","grid-auto-flow":"row column row dense column dense","overflow-x":"visible hidden clip scroll auto","overflow-y":"visible hidden clip scroll auto","text-align":"start end left right center justify","white-space":"normal nowrap pre pre-wrap pre-line break-spaces","font-style":"normal italic oblique","border-top-style":"none hidden dotted dashed solid double groove ridge inset outset","border-right-style":"none hidden dotted dashed solid double groove ridge inset outset","border-bottom-style":"none hidden dotted dashed solid double groove ridge inset outset","border-left-style":"none hidden dotted dashed solid double groove ridge inset outset","object-fit":"fill contain cover none scale-down",direction:"ltr rtl",visibility:"visible hidden collapse","text-transform":"none capitalize uppercase lowercase"},ke=new Set(["width","height","min-width","max-width","min-height","max-height","top","right","bottom","left","margin-top","margin-right","margin-bottom","margin-left","padding-top","padding-right","padding-bottom","padding-left","row-gap","column-gap","font-size","line-height","letter-spacing","border-top-width","border-right-width","border-bottom-width","border-left-width","flex-basis"]),ve=new Set(["grid-template-columns","grid-template-rows","grid-auto-columns","grid-auto-rows"]),xe=new Set(["grid-column-start","grid-column-end","grid-row-start","grid-row-end"]),Ue=[...Object.keys(_e),...ke,...ve,...xe,"flex-grow","flex-shrink","order","z-index","font-weight","color","background-color","opacity","transform","border-radius"];function ge(p,b="https://example.invalid"){try{return new URL(p,b).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500)}catch{return"/"}}function we({token:p,enhanced:b=!1,send:x,beacon:k,allowed:O,onAck:P=()=>{},onPause:G=()=>{},onDrain:oe=()=>{},onFatal:se=()=>{},onChange:H=()=>{},uuid:T=()=>crypto.randomUUID(),clock:j=()=>Date.now(),schedule:Q=setTimeout,cancel:q=clearTimeout,maxBytes:L=2e6,requestTimeout:re=15e3,retryWindow:r=12e4}){let g=l=>typeof TextEncoder=="function"?new TextEncoder().encode(JSON.stringify(l)).byteLength:new Blob([JSON.stringify(l)]).size,U=T(),N=[],s=[],F=0,B=0,E=0,ae=0,$=0,I=!1,w=!1,i=!1,A=!1,V=!1,a=null,ee=null,te=null,h=0,v=new Set,W=()=>!I&&O();function X(){s.length&&(N.push({token:p,batch:T(),events:s,...b?{transport:{stream:U,sequence:++E}}:{}}),b||E++,s=[],F=0)}function C(l="active",_=!1,M=!1){if(!b||!W()||ae>=1e5)return;X();let y={token:p,stream:U,revision:++ae,produced:E,interrupted:i,closed:_,reason:l};if(M){k("/transport",y);return}let z=new AbortController;v.add(z);let u=Q(()=>z.abort(),re);Promise.resolve().then(()=>{if(W())return x("/transport",y,z.signal)}).catch(()=>{}).finally(()=>{q(u),v.delete(z)})}function J(l){i=!0,A||(A=!0,G(l)),C(l),H()}function le(l){if(!W()||w||A)return!1;let _=g(l);return _>85e4||_>L||E>=9999?(J("buffer_limit"),ie(Object.assign(new Error("Recording size limit"),{status:413})),!1):B+_>L?(J("buffer_limit"),D(),!1):(s.length&&(F+_>48e3||s.length>=1400)&&X(),s.push(l),F+=_,B+=_,F>=48e3&&(X(),D()),!0)}function ie(l){K(),se(l)}async function D(){if(!W()||w||V||a)return;if(X(),!N.length){A&&(A=!1,C("recovered"),oe());return}V=!0;let l=N[0],_=new AbortController;ee=_;let M=Q(()=>_.abort(),re);try{let y=await x("/ingest",l,_.signal);if(!W())return;let z=y?.ack;if(b&&(!z||z.batch!==l.batch||z.stream!==U||z.sequence!==l.transport.sequence))throw new Error("Unconfirmed recording upload");if(!b&&(!Number.isInteger(y?.accepted)||y.accepted<0))throw new Error("Unconfirmed recording upload");N.shift(),B=Math.max(0,B-l.events.reduce((u,ce)=>u+g(ce),0)),$++,te=null,h=0,P(l.events.length),H()}catch(y){if(!W())return;if([400,401,403,404,409,413].includes(y.status)||["tracewell_quota","tracewell_transport_limit"].includes(y.code)){ie(y);return}te??(te=j()),h++,j()-te>=r&&J("retry_timeout"),w||(a=Q(()=>{a=null,D()},Math.min(3e4,500*2**Math.min(h-1,6)))),H()}finally{q(M),ee===_&&(ee=null),V=!1,!I&&!w&&!a&&N.length?Q(D,0):!I&&!w&&!a&&A&&D()}}function R(l=!1){if(!W())return;X();let _=53e3;for(let M of N){let y=g(M);if(y>_||!k("/ingest",M))break;_-=y}C("pagehide",l,!0),H()}function Y(){w=!0,a&&(q(a),a=null),R(!0)}function de(){W()&&(w=!1,a&&(q(a),a=null),C("recovered"),D())}function K(){I=!0,a&&q(a),a=null,ee?.abort();for(let l of v)l.abort();v.clear(),N.length=0,s=[],F=B=0,H()}return{enqueue:le,flush:D,checkpoint:C,handoff:R,unload:Y,resume:de,dispose:K,stats:()=>({pendingBytes:B,pendingBatches:N.length+(s.length?1:0),acknowledged:$,interrupted:i,paused:A,suspended:w,retrying:h>0})}}me();var d=window.TracewellConfig;if(d&&!window.Tracewell){let X=function(){return typeof window.TracewellCapture=="function"?Promise.resolve(window.TracewellCapture):V||(V=new Promise((e,n)=>{let o=document.createElement("script");o.src=d.captureUrl,o.async=!0,p&&(o.nonce=p);let m=c=>{clearTimeout(S),o.onload=o.onerror=null,o.remove(),c?(V=null,n(c)):e(window.TracewellCapture)},S=setTimeout(()=>m(new Error(t.__("Recorder load timed out","clickclue"))),15e3);o.onload=()=>m(typeof window.TracewellCapture=="function"?null:new Error(t.__("Recorder unavailable","clickclue"))),o.onerror=()=>m(new Error(t.__("Recorder could not load","clickclue"))),document.head.append(o)}),V)},de=function(e,n){if(!Y())return!1;let o=JSON.stringify(n),m=new Blob([o],{type:"application/json"});if(m.size>55e3)return!1;try{if(navigator.sendBeacon?.(le(e),m))return!0}catch{}return fetch(le(e),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:o,keepalive:!0}).catch(()=>{}),!0},K=function(e=E){if(!a||N||!F||!s||s.stats().paused||!Y()||(v("recording"),E!==e||!a||!Y()))return;let n=s;if(N=F({media:U.media||[],maskText:d.maskText!==!1,blockSelector:d.blockSelector,emit(o){E!==e||!a||!Y()||n.enqueue(o)}}),E!==e||!s||s.stats().paused){D();return}B=setInterval(()=>s?.flush(),3e3),setTimeout(()=>{E===e&&a&&s?.flush()},100),window.dispatchEvent(new CustomEvent("tracewell:recording-started"))},_=function(e){i?i.token!==e&&!i.tokens.includes(e)&&i.tokens.push(e):i={token:e,tokens:[]},T(k,se,i)},M=function(){return A||(i?(h="pending",u(!0),window.dispatchEvent(new CustomEvent("tracewell:status")),A=(async()=>{let e=new AbortController,n=setTimeout(()=>e.abort(),1e4);try{for(;i;){if((await ie("/withdraw",{token:i.token},e.signal)).deleted!==!0){h="failed";break}let[m,...S]=i.tokens;i=m?{token:m,tokens:S}:null,T(k,se,i),h=i?"pending":"confirmed"}}catch{h="failed"}finally{clearTimeout(n),A=null,u(!0),window.dispatchEvent(new CustomEvent("tracewell:status"))}return h==="confirmed"})(),A):Promise.resolve(h==="confirmed"))},z=function(){if(i||g||$&&r?.allowed!==!0){u(!0);return}if(C()){v("browser_opt_out"),u();return}if(d.consentUI&&!q){v("privacy_notice"),u(!0);return}r=re(!0),T(x,P,r),u(),l()},u=function(e=!1){if(!document.body)return;if(!d.consentUI&&!g){w?.remove(),w=null;return}let n=w&&document.activeElement===w,o=w?.shadowRoot?.activeElement?.textContent;w?.remove(),w=document.createElement("div"),w.setAttribute("data-tw-block",""),w.id="tracewell-privacy",w.dir=document.documentElement.dir==="rtl"?"rtl":"ltr";let m=w.attachShadow({mode:"open"});m.addEventListener("keydown",c=>{c.key==="Escape"&&r&&e&&(c.preventDefault(),u())});let S=document.createElement("style");if(S.textContent=":host{all:initial;direction:inherit;position:fixed;bottom:16px;inset-inline-start:16px;z-index:2147483000;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(355px,calc(100vw - 32px));padding:20px;border:1px solid #c6d0bf;border-radius:12px;background:#fff;box-shadow:0 12px 40px #193e3133}p{margin:0 0 14px}strong{display:block;font-size:16px;margin-bottom:7px}.actions{display:flex;gap:8px;flex-wrap:wrap}button{font:600 14px Arial,sans-serif;min-height:44px;border:1px solid #193e31;background:#fff;color:#193e31;padding:10px 13px;border-radius:6px;cursor:pointer}button:focus-visible{outline:3px solid #8ba860;outline-offset:3px}.accept{background:#fff;color:#193e31}a{color:#193e31;text-decoration:underline;text-underline-offset:3px}button:disabled{opacity:.6;cursor:not-allowed}.panel{max-height:calc(100dvh - 32px);overflow:auto}.small{box-shadow:0 4px 18px #193e3122;font-size:12px;padding:8px 11px}",m.append(S),!r||e){let c=document.createElement("div");c.className="panel",c.setAttribute("role","region"),c.setAttribute("aria-label",t.__("Replay privacy","clickclue"));let ue=document.createElement("strong");ue.textContent=h!=="not_requested"&&!r?.allowed?t.__("Your replay privacy","clickclue"):t.__("Optional session replay","clickclue"),c.append(ue);let fe=document.createElement("p");if(fe.textContent=C()?t.__("Your browser privacy preference is respected. Session recording is off.","clickclue"):r?.allowed?t.__("You allowed session replay. You can stop recording and request deletion of your current session.","clickclue"):(d.pro?t.__("Allow this site to reconstruct page interactions, clicks, scrolling and time spent focusing on form fields to understand how its pages are used?","clickclue"):t.__("Allow this site to reconstruct page interactions, clicks and scrolling to understand how its pages are used?","clickclue"))+" "+(d.publicImages?t.__("This includes copies of public images individually approved by the site owner. ","clickclue"):"")+t.__("Typed values are masked. Refusing does not affect your use of this site.","clickclue"),c.append(fe),h!=="not_requested"&&!r?.allowed&&(fe.setAttribute("role","status"),fe.textContent=g?t.__("An earlier deletion request is unconfirmed after the plugin update. Recording remains off. Contact this website\u2019s owner to delete that earlier recording; its old authorization cannot be verified safely.","clickclue"):{pending:t.__("Recording has stopped. Waiting for the server to confirm deletion\u2026","clickclue"),confirmed:t.__("Recording has stopped. The server confirmed deletion of this session.","clickclue"),failed:t.__("Recording has stopped, but deletion is not confirmed. Retry below. Contact this website\u2019s owner if it keeps failing.","clickclue")}[h]),q){let f=document.createElement("p"),Z=Math.max(1,Math.min(365,Number(d.retentionDays)||7));f.append(t.sprintf(/* translators: %d: maximum retention days. Replay privacy is the visitor control label. */ t._n("Recordings stay on this site\u2019s server for up to %d day, subject to cleanup. You can withdraw through Replay privacy.","Recordings stay on this site\u2019s server for up to %d days, subject to cleanup. You can withdraw through Replay privacy.",Z,"clickclue"),Z)+" ");let pe=document.createElement("a");pe.href=q,pe.textContent=t.__("Privacy notice and your rights","clickclue"),f.append(pe),c.append(f)}else{let f=document.createElement("p");f.textContent=t.__("Replay is unavailable until this site publishes its privacy notice.","clickclue"),c.append(f)}let ne=document.createElement("div");if(ne.className="actions",g){let f=document.createElement("button");f.textContent=t.__("Dismiss this old request on this site","clickclue"),f.onclick=()=>{window.confirm(t.__("Dismiss this unconfirmed deletion request on this site? This stops retrying here and does not delete the recording. Contact the website owner for deletion. Recording will stay off unless you choose Allow replay again.","clickclue"))&&(T(k,H,JSON.stringify(g)),g=null,h=i?"failed":"not_requested",u(!0),window.dispatchEvent(new CustomEvent("tracewell:status")))},ne.append(f)}else if(i){let f=document.createElement("button");f.textContent=h==="pending"?t.__("Deleting\u2026","clickclue"):t.__("Retry deletion","clickclue"),f.disabled=h==="pending",f.onclick=M,ne.append(f)}else{if(!C()&&!r?.allowed){let Z=document.createElement("button");Z.className="accept",Z.textContent=t.__("Allow replay","clickclue"),Z.disabled=!q,Z.onclick=z,ne.append(Z)}let f=document.createElement("button");f.textContent=r?.allowed?t.__("Stop & delete current session","clickclue"):t.__("No thanks","clickclue"),f.onclick=()=>y(),ne.append(f)}if(r){let f=document.createElement("button");f.textContent=t.__("Close","clickclue"),f.onclick=()=>u(),ne.append(f)}c.append(ne),m.append(c)}else{let c=document.createElement("button");c.className="small",c.textContent=t.__("Replay privacy","clickclue"),c.onclick=()=>u(!0),m.append(c)}if(document.body.append(w),n){let c=[...m.querySelectorAll("button:not(:disabled)")];(c.find(ue=>ue.textContent===o)||c[0]||m.querySelector("a"))?.focus()}},ce=function(){if(i&&y(),C()?v("browser_opt_out"):r?.allowed===!1&&v("denied"),u(!!g),l(),["#clickclue-check","#tracewell-check"].includes(location.hash)&&d.diagnosticsUrl){location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let e=document.createElement("script");e.src=d.diagnosticsUrl,e.async=!0,p&&(e.nonce=p),document.head.append(e)}};Ce=X,Ee=de,Se=K,Te=_,Ne=M,Ae=z,Le=u,Re=ce;let p=document.currentScript?.nonce,b=e=>{try{return window[e]}catch{return{getItem:()=>null,setItem(){},removeItem(){}}}},x=b("localStorage"),k=b("sessionStorage"),O=/^[a-f0-9]{64}$/.test(d.storageScope||"")?"."+d.storageScope:"",P="tracewell.consent.v1"+O,G="tracewell.session.v1"+O,oe="tracewell.sample.v1"+O,se="tracewell.deletion.v1"+O,H="tracewell.legacy-deletion-dismissed.v1"+O,T=(e,n,o)=>{try{o===null?e.removeItem(n):e.setItem(n,JSON.stringify(o))}catch{}},j=(e,n)=>{try{return JSON.parse(e.getItem(n))}catch{return null}},Q=typeof d.consentVersion=="string"?d.consentVersion:"",q="";try{let e=new URL(d.privacyUrl);["https:","http:"].includes(e.protocol)&&(q=e.href)}catch{}let L=e=>e&&typeof e.allowed=="boolean"&&Number.isFinite(e.expires)&&e.expires>Date.now()&&e.expires<=Date.now()+180*864e5&&(!e.allowed||e.revision===Q&&Number.isFinite(e.decidedAt)&&e.decidedAt<=Date.now()&&e.expires<=e.decidedAt+180*864e5),re=e=>{let n=Date.now();return{allowed:e,decidedAt:n,revision:Q,expires:n+180*864e5}},r=j(x,P);if(O&&!r){let e=j(x,"tracewell.consent.v1");L(e)&&e.allowed===!1&&(r=e,T(x,P,r))}r&&!L(r)&&(r=null,T(x,P,null));let g=O?j(k,"tracewell.deletion.v1"):null;(!g||typeof g.token!="string"||j(k,H)===JSON.stringify(g))&&(g=null),g&&(r=re(!1),T(x,P,r));let U=j(k,G),N,s,F,B,E=0,ae,$,I="waiting",w,i=j(k,se),A;(!i||typeof i.token!="string")&&(i=null),i&&(i.tokens=Array.isArray(i.tokens)?[...new Set(i.tokens.filter(e=>typeof e=="string"&&e!==i.token))]:[]);let V,a=!0,ee=0,te=0,h=g?"legacy_unconfirmed":i?"failed":"not_requested",v=e=>{I=e,window.dispatchEvent(new CustomEvent("tracewell:status"))},W=e=>({tracewell_transport_limit:"recording_limit",tracewell_browser_opt_out:"browser_opt_out",tracewell_origin:"origin_mismatch",tracewell_privacy_notice:"privacy_notice",tracewell_consent_version:"consent_changed",tracewell_disabled:"paused",tracewell_logged_in:"signed_in",tracewell_excluded:"excluded",tracewell_quota:"quota",tracewell_rate:"rate_limited",tracewell_token:"expired",tracewell_missing:"expired"})[e.code]||(e.name==="SyntaxError"?"invalid_selector":"unavailable"),C=()=>navigator.globalPrivacyControl===!0||navigator.doNotTrack==="1",J=()=>{let e;try{e=decodeURIComponent(new URL(location.href).pathname).toLowerCase()}catch{return!0}return["/wp-admin","/wp-login.php","/my-account","/order-received","/order-pay","/wp-json",...typeof d.excludePaths=="string"?d.excludePaths.split(/\r\n|\r|\n/):[]].some(n=>{try{let o=decodeURIComponent(n.trim()).toLowerCase();return o&&e.includes(o)}catch{return!0}})},le=e=>{let n=new URL(d.endpoint,location.href);return n.searchParams.has("rest_route")?n.searchParams.set("rest_route",n.searchParams.get("rest_route").replace(/\/$/,"")+e):n.pathname=n.pathname.replace(/\/$/,"")+e,n.href},ie=async(e,n,o)=>{let m=await fetch(le(e),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:o}),S;try{S=await m.json()}catch{S={}}if(!m.ok){let c=new Error(t.__("Recording unavailable","clickclue"));throw c.status=m.status,c.code=S.code,c}return S},D=()=>{N?.stop(),N=null,clearInterval(B)},R=(e="stopped")=>{E++,D(),s?.dispose(),s=null,ae?.abort(),v(e)},Y=()=>i||g||r?.allowed!==!0?!1:L(r)?C()||J()?(R(C()?"browser_opt_out":"excluded"),!1):!0:(r=null,R("waiting"),u(),!1);async function l(){if(s){a&&Y()&&(s.resume(),K());return}if(!a||N||$||i||g||["starting","loading_recorder"].includes(I)||document.readyState==="loading"||r?.allowed!==!0||!L(r))return;if(d.consentUI&&!q){v("privacy_notice");return}if(C()){v("browser_opt_out");return}if(J()){v("excluded");return}let e=j(k,oe);if(typeof e!="number"&&(e=crypto.getRandomValues(new Uint32Array(1))[0]/4294967296*100,T(k,oe,e)),e>=Number(d.sampleRate||10)){v("sampled_out");return}v("starting");let n=++E;ae=new AbortController;try{d.blockSelector&&document.querySelector(d.blockSelector),$=ie("/start",{consent:!0,consent_version:r.revision,token:U?.token,path:ge(location.href),width:innerWidth,height:innerHeight});let o=await $;if($=null,E!==n||r?.allowed!==!0||!L(r)||C()||J()){E===n&&(r?.allowed!==!0||!L(r)?(r=null,R("waiting"),u()):R(C()?"browser_opt_out":"excluded")),o?.token&&(_(o.token),await M()),a&&I==="waiting"&&l();return}U=o,T(k,G,o),v("loading_recorder");let m=await X();if(E!==n||r?.allowed!==!0)return;if(!L(r)){r=null,R("waiting"),u();return}if(C()){R("browser_opt_out");return}if(J()){R("excluded");return}F=m,s?.dispose(),s=we({token:o.token,enhanced:o.transport_version===1,send:ie,beacon:de,allowed:Y,onAck(S){ee=Date.now(),te+=S,window.dispatchEvent(new CustomEvent("tracewell:status"))},onPause(){D(),v("buffering")},onDrain(){a&&K()},onFatal(S){R(S.status===413?"oversized":W(S))},onChange(){window.dispatchEvent(new CustomEvent("tracewell:status"))}}),s.checkpoint(),K(n)}catch(o){$=null,E===n&&R(W(o))}u()}async function y(e=!0){let n=U;if(R("denied"),U=null,r=re(!1),e&&T(x,P,r),T(k,G,null),T(k,oe,null),u(),n?.token&&_(n.token),i&&await M(),$){h="pending",u(!0);try{await $}catch{h="failed",u(!0)}}if(A&&await A,h!=="not_requested")return h==="confirmed";window.dispatchEvent(new CustomEvent("tracewell:status"))}window.Tracewell={grantConsent:z,withdrawConsent:y,retryDeletion:M,track:(e,n)=>N?.track(e,n),status:()=>I,visitorAuthorization:()=>I==="recording"&&a&&!i&&!g&&r?.allowed===!0&&L(r)&&!C()&&!J()&&typeof U?.token=="string"?{token:U.token}:null,diagnostics:()=>({state:I,consent:r?.allowed===!0,browserOptOut:C(),sampleRate:Number(d.sampleRate||10),maskText:d.maskText!==!1,lastUploadAt:ee,uploadedEvents:te,transport:s?.stats()||null,deletion:g?"legacy_unconfirmed":h})},window.ClickClue=window.Tracewell,window.addEventListener("tracewell:consent",e=>e.detail===!0?z():y()),window.addEventListener("storage",e=>{if(e.key===P||e.key===null){let n=j(x,P);(!L(n)||!n.allowed)&&y(!1)}else if(O&&e.key==="tracewell.consent.v1"){let n=j(x,e.key);(!L(n)||!n.allowed)&&y(!1)}}),window.addEventListener("online",()=>{i?M():a&&s?.resume()}),window.addEventListener("pagehide",()=>{if(a=!1,D(),s){let e=s;e.unload(),s===e&&v("waiting")}else R(["recording","starting","loading_recorder"].includes(I)?"waiting":I)}),window.addEventListener("pageshow",e=>{if(a=!0,e.persisted){try{let n=JSON.parse(x.getItem(P));if(!L(n)||!n.allowed){y(!1);return}r=n}catch{}if(!Y())return;s?(s.resume(),K()):l()}}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?a&&s?.handoff():a&&s?.resume()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ce,{once:!0}):ce()}var Ce,Ee,Se,Te,Ne,Ae,Le,Re;})();1 "use strict";(()=>{var me=Object.create(null);var be=(d,...h)=>{let l=0;return String(d).replace(/%%|%(?:(\d+)\$)?([sd])/g,(p,w,m)=>{if(p==="%%")return"%";let L=h[w?Number(w)-1:l++];return String(m==="d"?Math.trunc(Number(L)):L??"")})},e={__(d,h="clickclue"){return Object.hasOwn(me,d)?me[d]:globalThis.wp?.i18n?.__(d,h)??d},_n(d,h,l,p="clickclue"){return globalThis.wp?.i18n?._n(d,h,l,p)??(l===1?d:h)},sprintf(d,...h){return globalThis.wp?.i18n?.sprintf(d,...h)??be(d,...h)}};function ge(){e.__("No recording is made for this signed-in visit.","clickclue"),e.__("This check does not enable recording.","clickclue"),e.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.","clickclue"),e.__("Allow this replay","clickclue"),e.__("An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website\u2019s owner and review the Replay privacy notice.","clickclue"),e.__("An exclusion selector is invalid","clickclue"),e.__("Browser privacy preference respected","clickclue"),e.__("Capture has stopped after the maximum number of uploads or page navigations. Its saved replay remains available.","clickclue"),e.__("Capture is off. No current session was submitted for deletion.","clickclue"),e.__("Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website\u2019s owner.","clickclue"),e.__("Capture stopped. The server confirmed deletion of the current session.","clickclue"),e.__("Capture stopped. Waiting for deletion confirmation from the server.","clickclue"),e.__("Check connectivity and your caching, script or security plugin. In WordPress, review setup health, then reload to retry.","clickclue"),e.__("Check that the site and WordPress URLs match and your host or proxy preserves the browser\u2019s Origin header. Browser-based WordPress sandboxes can omit this header. Test on a hosted staging site; keep origin protection enabled.","clickclue"),e.__("Check this test visit","clickclue"),e.__("Checking the recording service","clickclue"),e.__("Choose Allow this replay to test capture.","clickclue"),e.__("Click, scroll and use sample form details. The first upload usually follows within a few seconds.","clickclue"),e.__("ClickClue setup check","clickclue"),e.__("Close check","clickclue"),e.__("Closing this panel does not change your consent. Use Replay privacy to change it later.","clickclue"),e.__("Copy this page link into a signed-out private window. Administrators are not recorded.","clickclue"),e.__("Correct the additional CSS selectors in WordPress settings, save and clear your page cache. Capture has stopped.","clickclue"),e.__("Could not complete recording","clickclue"),e.__("Enable recording in WordPress settings, save and clear your page cache.","clickclue"),e.__("In WordPress, set sampling to 100%, save and clear your page cache. Reload this signed-out test page. Restore your normal rate after testing.","clickclue"),e.__("Loading the capture engine","clickclue"),e.__("No activity is being recorded. You can choose to allow this test.","clickclue"),e.__("No upload confirmed in this tab yet.","clickclue"),e.__("Permission and sampling checks passed. The recorder is downloaded now.","clickclue"),e.__("Privacy information changed","clickclue"),e.__("Privacy notice required","clickclue"),e.__("Publish and select this store\u2019s privacy policy in WordPress Settings \u2192 Privacy, then clear page caches.","clickclue"),e.__("Recording is paused","clickclue"),e.__("Recording stopped","clickclue"),e.__("Recording storage budget reached","clickclue"),e.__("Recording temporarily paused","clickclue"),e.__("Recording this visit","clickclue"),e.__("Reload this page and make a fresh replay choice. Ask the site owner to clear its page caches if this continues.","clickclue"),e.__("Reload this page to check the next visit.","clickclue"),e.__("Reload to start a new authorized visit if your allowance permits.","clickclue"),e.__("Replay declined","clickclue"),e.__("Retry deletion","clickclue"),e.__("Review storage and retention in WordPress. Increase your local budget only if your host has enough capacity.","clickclue"),e.__("Signed-in visit excluded","clickclue"),e.__("Stop & delete current session","clickclue"),e.__("The recording reached its size limit","clickclue"),e.__("The request origin could not be verified","clickclue"),e.__("This browser has Do Not Track or Global Privacy Control enabled. Capture is off.","clickclue"),e.__("This page is excluded","clickclue"),e.__("This recording reached its safety limit","clickclue"),e.__("This session has ended","clickclue"),e.__("This tab was not selected","clickclue"),e.__("Too many starts in a short period","clickclue"),e.__("Try a smaller page or exclude large dynamic sections. Capture has stopped.","clickclue"),e.__("Try an included storefront page. Account and payment confirmation pages are always excluded.","clickclue"),e.__("Unconfirmed events remain in memory while delivery is retried. Capture resumes with a fresh snapshot when that queue is confirmed.","clickclue");/* translators: %1$s: number of events accepted by the server. */ e.__("Upload confirmed by your server \xB7 %1$s events accepted in this tab.","clickclue"),e.__("Use sample details. This panel shows only this tab\u2019s recording status.","clickclue"),e.__("Wait before starting another test visit.","clickclue"),e.__("Waiting for permission","clickclue"),e.__("Waiting for your WordPress server to authorize this visit.","clickclue")}function ue(d,h="https://example.invalid"){try{let l=new URL(d,h),w=["p","page_id"].filter(X=>l.searchParams.has(X));if(w.length!==1)return null;let m=w[0],L=l.searchParams.getAll(m);return L.length!==1||!/^[1-9][0-9]{0,9}$/.test(L[0])?null:{path:l.pathname,key:m,id:L[0],identity:l.pathname+"?"+m+"="+L[0]}}catch{return null}}function _e(d,h="https://example.invalid"){try{let l=new URL(d,h),p=l.pathname.replace(/[^/]*(?:@|%40)[^/]*/gi,"[masked]").slice(0,500),w=ue(d,h);return w&&p===w.path&&l.search==="?"+w.key+"="+w.id&&(p+l.search).length<=500?p+l.search:p}catch{return"/"}}function de(d,h=null){let l;try{l=new URL(d)}catch{return"/"}let p=_e(l.pathname),w=ue(d),m=ue(h?.pagePath);return w&&m&&w.identity===m.identity&&h.pagePath===m.identity&&_e(m.identity)===m.identity?m.identity:p}function ye({token:d,enhanced:h=!1,send:l,beacon:p,allowed:w,onAck:m=()=>{},onPause:L=()=>{},onDrain:X=()=>{},onFatal:ce=()=>{},onChange:H=()=>{},uuid:A=()=>crypto.randomUUID(),clock:W=()=>Date.now(),schedule:ee=setTimeout,cancel:q=clearTimeout,maxBytes:O=2e6,requestTimeout:ie=15e3,retryWindow:r=12e4}){let b=f=>typeof TextEncoder=="function"?new TextEncoder().encode(JSON.stringify(f)).byteLength:new Blob([JSON.stringify(f)]).size,J=A(),P=[],c=[],Y=0,$=0,S=0,se=0,M=0,z=!1,v=!1,o=!1,N=!1,F=!1,u=null,te=null,ne=null,k=0,C=new Set,B=()=>!z&&w();function K(){c.length&&(P.push({token:d,batch:A(),events:c,...h?{transport:{stream:J,sequence:++S}}:{}}),h||S++,c=[],Y=0)}function T(f="active",E=!1,D=!1){if(!h||!B()||se>=1e5)return;K();let x={token:d,stream:J,revision:++se,produced:S,interrupted:o,closed:E,reason:f};if(D){p("/transport",x);return}let I=new AbortController;C.add(I);let _=ee(()=>I.abort(),ie);Promise.resolve().then(()=>{if(B())return l("/transport",x,I.signal)}).catch(()=>{}).finally(()=>{q(_),C.delete(I)})}function V(f){o=!0,N||(N=!0,L(f)),T(f),H()}function le(f){if(!B()||v||N)return!1;let E=b(f);return E>85e4||E>O||S>=9999?(V("buffer_limit"),oe(Object.assign(new Error("Recording size limit"),{status:413})),!1):$+E>O?(V("buffer_limit"),j(),!1):(c.length&&(Y+E>48e3||c.length>=1400)&&K(),c.push(f),Y+=E,$+=E,Y>=48e3&&(K(),j()),!0)}function oe(f){Q(),ce(f)}async function j(){if(!B()||v||F||u)return;if(K(),!P.length){N&&(N=!1,T("recovered"),X());return}F=!0;let f=P[0],E=new AbortController;te=E;let D=ee(()=>E.abort(),ie);try{let x=await l("/ingest",f,E.signal);if(!B())return;let I=x?.ack;if(h&&(!I||I.batch!==f.batch||I.stream!==J||I.sequence!==f.transport.sequence))throw new Error("Unconfirmed recording upload");if(!h&&(!Number.isInteger(x?.accepted)||x.accepted<0))throw new Error("Unconfirmed recording upload");P.shift(),$=Math.max(0,$-f.events.reduce((_,ae)=>_+b(ae),0)),M++,ne=null,k=0,m(f.events.length),H()}catch(x){if(!B())return;if([400,401,403,404,409,413].includes(x.status)||["tracewell_quota","tracewell_transport_limit"].includes(x.code)){oe(x);return}ne??(ne=W()),k++,W()-ne>=r&&V("retry_timeout"),v||(u=ee(()=>{u=null,j()},Math.min(3e4,500*2**Math.min(k-1,6)))),H()}finally{q(D),te===E&&(te=null),F=!1,!z&&!v&&!u&&P.length?ee(j,0):!z&&!v&&!u&&N&&j()}}function U(f=!1){if(!B())return;K();let E=53e3;for(let D of P){let x=b(D);if(x>E||!p("/ingest",D))break;E-=x}T("pagehide",f,!0),H()}function G(){v=!0,u&&(q(u),u=null),U(!0)}function pe(){B()&&(v=!1,u&&(q(u),u=null),T("recovered"),j())}function Q(){z=!0,u&&q(u),u=null,te?.abort();for(let f of C)f.abort();C.clear(),P.length=0,c=[],Y=$=0,H()}return{enqueue:le,flush:j,checkpoint:T,handoff:U,unload:G,resume:pe,dispose:Q,stats:()=>({pendingBytes:$,pendingBatches:P.length+(c.length?1:0),acknowledged:M,interrupted:o,paused:N,suspended:v,retrying:k>0})}}var s=window.TracewellConfig,ke=!1;try{ke=window.top===window}catch{}if(ke&&s&&!window.Tracewell){let K=function(){return typeof window.TracewellCapture=="function"?Promise.resolve(window.TracewellCapture):F||(F=new Promise((t,n)=>{let i=document.createElement("script");i.src=s.captureUrl,i.async=!0,d&&(i.nonce=d);let g=a=>{clearTimeout(R),i.onload=i.onerror=null,i.remove(),a?(F=null,n(a)):t(window.TracewellCapture)},R=setTimeout(()=>g(new Error(e.__("Recorder load timed out","clickclue"))),15e3);i.onload=()=>g(typeof window.TracewellCapture=="function"?null:new Error(e.__("Recorder unavailable","clickclue"))),i.onerror=()=>g(new Error(e.__("Recorder could not load","clickclue"))),document.head.append(i)}),F)},pe=function(t,n){if(!G())return!1;let i=JSON.stringify(n),g=new Blob([i],{type:"application/json"});if(g.size>55e3)return!1;try{if(navigator.sendBeacon?.(le(t),g))return!0}catch{}return fetch(le(t),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:i,keepalive:!0}).catch(()=>{}),!0},Q=function(t=S){if(!u||P||!Y||!c||c.stats().paused||!G()||(C("recording"),S!==t||!u||!G()))return;let n=c;if(P=Y({media:J.media||[],maskText:s.maskText!==!1,blockSelector:s.blockSelector,emit(i){S!==t||!u||!G()||(i.type===4&&(i={...i,data:{...i.data,href:de(location.href,s)}}),n.enqueue(i))}}),S!==t||!c||c.stats().paused){j();return}$=setInterval(()=>c?.flush(),3e3),setTimeout(()=>{S===t&&u&&c?.flush()},100),window.dispatchEvent(new CustomEvent("tracewell:recording-started"))},E=function(t){o?o.token!==t&&!o.tokens.includes(t)&&o.tokens.push(t):o={token:t,tokens:[]},A(p,ce,o)},D=function(){return N||(o?(k="pending",_(!0),window.dispatchEvent(new CustomEvent("tracewell:status")),N=(async()=>{let t=new AbortController,n=setTimeout(()=>t.abort(),1e4);try{for(;o;){if((await oe("/withdraw",{token:o.token},t.signal)).deleted!==!0){k="failed";break}let[g,...R]=o.tokens;o=g?{token:g,tokens:R}:null,A(p,ce,o),k=o?"pending":"confirmed"}}catch{k="failed"}finally{clearTimeout(n),N=null,_(!0),window.dispatchEvent(new CustomEvent("tracewell:status"))}return k==="confirmed"})(),N):Promise.resolve(k==="confirmed"))},I=function(){if(o||b||M&&r?.allowed!==!0){_(!0);return}if(T()){C("browser_opt_out"),_();return}if(s.consentUI&&!q){C("privacy_notice"),_(!0);return}r=ie(!0),A(l,m,r),_(),f()},_=function(t=!1){if(!document.body)return;if(!s.consentUI&&!b){v?.remove(),v=null;return}let n=v&&document.activeElement===v,i=v?.shadowRoot?.activeElement?.textContent;v?.remove(),v=document.createElement("div"),v.setAttribute("data-tw-block",""),v.id="tracewell-privacy",v.dir=document.documentElement.dir==="rtl"?"rtl":"ltr";let g=v.attachShadow({mode:"open"});g.addEventListener("keydown",a=>{a.key==="Escape"&&r&&t&&(a.preventDefault(),_())});let R=document.createElement("style");if(R.textContent=":host{all:initial;direction:inherit;position:fixed;bottom:16px;inset-inline-start:16px;z-index:2147483000;font:14px/1.5 Arial,sans-serif;color:#193e31}*{box-sizing:border-box}.panel{width:min(355px,calc(100vw - 32px));padding:20px;border:1px solid #c6d0bf;border-radius:12px;background:#fff;box-shadow:0 12px 40px #193e3133}p{margin:0 0 14px}strong{display:block;font-size:16px;margin-bottom:7px}.actions{display:flex;gap:8px;flex-wrap:wrap}button{font:600 14px Arial,sans-serif;min-height:44px;border:1px solid #193e31;background:#fff;color:#193e31;padding:10px 13px;border-radius:6px;cursor:pointer}button:focus-visible{outline:3px solid #8ba860;outline-offset:3px}.accept{background:#fff;color:#193e31}a{color:#193e31;text-decoration:underline;text-underline-offset:3px}button:disabled{opacity:.6;cursor:not-allowed}.panel{max-height:calc(100dvh - 32px);overflow:auto}.small{box-shadow:0 4px 18px #193e3122;font-size:12px;padding:8px 11px}",g.append(R),!r||t){let a=document.createElement("div");a.className="panel",a.setAttribute("role","region"),a.setAttribute("aria-label",e.__("Replay privacy","clickclue"));let fe=document.createElement("strong");fe.textContent=k!=="not_requested"&&!r?.allowed?e.__("Your replay privacy","clickclue"):e.__("Optional session replay","clickclue"),a.append(fe);let he=document.createElement("p");if(he.textContent=T()?e.__("Your browser privacy preference is respected. Session recording is off.","clickclue"):r?.allowed?e.__("You allowed session replay. You can stop recording and request deletion of your current session.","clickclue"):(s.pro?e.__("Allow this site to reconstruct page interactions, clicks, scrolling and time spent focusing on form fields to understand how its pages are used?","clickclue"):e.__("Allow this site to reconstruct page interactions, clicks and scrolling to understand how its pages are used?","clickclue"))+" "+(s.publicImages?e.__("This includes copies of public images individually approved by the site owner. ","clickclue"):"")+e.__("Typed values are masked. Refusing does not affect your use of this site.","clickclue"),a.append(he),k!=="not_requested"&&!r?.allowed&&(he.setAttribute("role","status"),he.textContent=b?e.__("An earlier deletion request is unconfirmed after the plugin update. Recording remains off. Contact this website\u2019s owner to delete that earlier recording; its old authorization cannot be verified safely.","clickclue"):{pending:e.__("Recording has stopped. Waiting for the server to confirm deletion\u2026","clickclue"),confirmed:e.__("Recording has stopped. The server confirmed deletion of this session.","clickclue"),failed:e.__("Recording has stopped, but deletion is not confirmed. Retry below. Contact this website\u2019s owner if it keeps failing.","clickclue")}[k]),q){let y=document.createElement("p"),Z=Math.max(1,Math.min(365,Number(s.retentionDays)||7));y.append(e.sprintf(/* translators: %d: maximum retention days. Replay privacy is the visitor control label. */ e._n("Recordings stay on this site\u2019s server for up to %d day, subject to cleanup. You can withdraw through Replay privacy.","Recordings stay on this site\u2019s server for up to %d days, subject to cleanup. You can withdraw through Replay privacy.",Z,"clickclue"),Z)+" ");let we=document.createElement("a");we.href=q,we.textContent=e.__("Privacy notice and your rights","clickclue"),y.append(we),a.append(y)}else{let y=document.createElement("p");y.textContent=e.__("Replay is unavailable until this site publishes its privacy notice.","clickclue"),a.append(y)}let re=document.createElement("div");if(re.className="actions",b){let y=document.createElement("button");y.textContent=e.__("Dismiss this old request on this site","clickclue"),y.onclick=()=>{window.confirm(e.__("Dismiss this unconfirmed deletion request on this site? This stops retrying here and does not delete the recording. Contact the website owner for deletion. Recording will stay off unless you choose Allow replay again.","clickclue"))&&(A(p,H,JSON.stringify(b)),b=null,k=o?"failed":"not_requested",_(!0),window.dispatchEvent(new CustomEvent("tracewell:status")))},re.append(y)}else if(o){let y=document.createElement("button");y.textContent=k==="pending"?e.__("Deleting\u2026","clickclue"):e.__("Retry deletion","clickclue"),y.disabled=k==="pending",y.onclick=D,re.append(y)}else{if(!T()&&!r?.allowed){let Z=document.createElement("button");Z.className="accept",Z.textContent=e.__("Allow replay","clickclue"),Z.disabled=!q,Z.onclick=I,re.append(Z)}let y=document.createElement("button");y.textContent=r?.allowed?e.__("Stop & delete current session","clickclue"):e.__("No thanks","clickclue"),y.onclick=()=>x(),re.append(y)}if(r){let y=document.createElement("button");y.textContent=e.__("Close","clickclue"),y.onclick=()=>_(),re.append(y)}a.append(re),g.append(a)}else{let a=document.createElement("button");a.className="small",a.textContent=e.__("Replay privacy","clickclue"),a.onclick=()=>_(!0),g.append(a)}if(document.body.append(v),n){let a=[...g.querySelectorAll("button:not(:disabled)")];(a.find(fe=>fe.textContent===i)||a[0]||g.querySelector("a"))?.focus()}},ae=function(){if(o&&x(),T()?C("browser_opt_out"):r?.allowed===!1?C("denied"):s.consentUI&&!q&&C("privacy_notice"),_(!!b),f(),["#clickclue-check","#tracewell-check"].includes(location.hash)&&s.diagnosticsUrl){location.hash==="#tracewell-check"&&history.replaceState(null,"",location.pathname+location.search+"#clickclue-check");let t=document.createElement("script");t.src=s.diagnosticsUrl,t.async=!0,d&&(t.nonce=d),document.head.append(t)}};ve=K,xe=pe,Ce=Q,Ee=E,Re=D,Te=I,Se=_,Ae=ae,ge();let d=document.currentScript?.nonce,h=t=>{try{return window[t]}catch{return{getItem:()=>null,setItem(){},removeItem(){}}}},l=h("localStorage"),p=h("sessionStorage"),w=/^[a-f0-9]{64}$/.test(s.storageScope||"")?"."+s.storageScope:"",m="tracewell.consent.v1"+w,L="tracewell.session.v1"+w,X="tracewell.sample.v1"+w,ce="tracewell.deletion.v1"+w,H="tracewell.legacy-deletion-dismissed.v1"+w,A=(t,n,i)=>{try{i===null?t.removeItem(n):t.setItem(n,JSON.stringify(i))}catch{}},W=(t,n)=>{try{return JSON.parse(t.getItem(n))}catch{return null}},ee=typeof s.consentVersion=="string"?s.consentVersion:"",q="";try{let t=new URL(s.privacyUrl);["https:","http:"].includes(t.protocol)&&(q=t.href)}catch{}let O=t=>t&&typeof t.allowed=="boolean"&&Number.isFinite(t.expires)&&t.expires>Date.now()&&t.expires<=Date.now()+180*864e5&&(!t.allowed||t.revision===ee&&Number.isFinite(t.decidedAt)&&t.decidedAt<=Date.now()&&t.expires<=t.decidedAt+180*864e5),ie=t=>{let n=Date.now();return{allowed:t,decidedAt:n,revision:ee,expires:n+180*864e5}},r=W(l,m);if(w&&!r){let t=W(l,"tracewell.consent.v1");O(t)&&t.allowed===!1&&(r=t,A(l,m,r))}r&&!O(r)&&(r=null,A(l,m,null));let b=w?W(p,"tracewell.deletion.v1"):null;(!b||typeof b.token!="string"||W(p,H)===JSON.stringify(b))&&(b=null),b&&(r=ie(!1),A(l,m,r));let J=W(p,L),P,c,Y,$,S=0,se,M,z="waiting",v,o=W(p,ce),N;(!o||typeof o.token!="string")&&(o=null),o&&(o.tokens=Array.isArray(o.tokens)?[...new Set(o.tokens.filter(t=>typeof t=="string"&&t!==o.token))]:[]);let F,u=!0,te=0,ne=0,k=b?"legacy_unconfirmed":o?"failed":"not_requested",C=t=>{z=t,window.dispatchEvent(new CustomEvent("tracewell:status"))},B=t=>({tracewell_transport_limit:"recording_limit",tracewell_browser_opt_out:"browser_opt_out",tracewell_origin:"origin_mismatch",tracewell_privacy_notice:"privacy_notice",tracewell_consent_version:"consent_changed",tracewell_disabled:"paused",tracewell_logged_in:"signed_in",tracewell_excluded:"excluded",tracewell_quota:"quota",tracewell_rate:"rate_limited",tracewell_token:"expired",tracewell_missing:"expired"})[t.code]||(t.name==="SyntaxError"?"invalid_selector":"unavailable"),T=()=>navigator.globalPrivacyControl===!0||navigator.doNotTrack==="1",V=()=>{let t,n;try{n=new URL(location.href),t=decodeURIComponent(n.pathname).toLowerCase()}catch{return!0}let i=ue(location.href);if(["preview","preview_id","preview_nonce","rest_route",...s.privateQueryKeys||["order-pay","order-received"]].some(R=>n.searchParams.has(R))||(n.searchParams.has("p")||n.searchParams.has("page_id"))&&(!i||de(location.href,s)!==i.identity))return!0;let g=decodeURIComponent(de(location.href,s)).toLowerCase();return["/wp-admin","/wp-login.php","/my-account","/order-received","/order-pay","/wp-json",...typeof s.excludePaths=="string"?s.excludePaths.split(/\r\n|\r|\n/):[]].some(R=>{try{let a=decodeURIComponent(R.trim()).toLowerCase();return a&&(t.includes(a)||g.includes(a))}catch{return!0}})},le=t=>{let n=new URL(s.endpoint,location.href);return n.searchParams.has("rest_route")?n.searchParams.set("rest_route",n.searchParams.get("rest_route").replace(/\/$/,"")+t):n.pathname=n.pathname.replace(/\/$/,"")+t,n.href},oe=async(t,n,i)=>{let g=await fetch(le(t),{method:"POST",credentials:"same-origin",headers:{"Content-Type":"application/json"},body:JSON.stringify(n),signal:i}),R;try{R=await g.json()}catch{R={}}if(!g.ok){let a=new Error(e.__("Recording unavailable","clickclue"));throw a.status=g.status,a.code=R.code,a}return R},j=()=>{P?.stop(),P=null,clearInterval($)},U=(t="stopped")=>{S++,j(),c?.dispose(),c=null,se?.abort(),C(t)},G=()=>o||b||r?.allowed!==!0?!1:O(r)?T()||V()?(U(T()?"browser_opt_out":"excluded"),!1):!0:(r=null,U("waiting"),_(),!1);async function f(){if(c){u&&G()&&(c.resume(),Q());return}if(!u||P||M||o||b||["starting","loading_recorder"].includes(z)||document.readyState==="loading"||r?.allowed!==!0||!O(r))return;if(s.consentUI&&!q){C("privacy_notice");return}if(T()){C("browser_opt_out");return}if(V()){C("excluded");return}let t=W(p,X);if(typeof t!="number"&&(t=crypto.getRandomValues(new Uint32Array(1))[0]/4294967296*100,A(p,X,t)),t>=Number(s.sampleRate||10)){C("sampled_out");return}C("starting");let n=++S;se=new AbortController;try{s.blockSelector&&document.querySelector(s.blockSelector),M=oe("/start",{consent:!0,consent_version:r.revision,token:J?.token,path:de(location.href,s),width:innerWidth,height:innerHeight});let i=await M;if(M=null,S!==n||r?.allowed!==!0||!O(r)||T()||V()){S===n&&(r?.allowed!==!0||!O(r)?(r=null,U("waiting"),_()):U(T()?"browser_opt_out":"excluded")),i?.token&&(E(i.token),await D()),u&&z==="waiting"&&f();return}J=i,A(p,L,i),C("loading_recorder");let g=await K();if(S!==n||r?.allowed!==!0)return;if(!O(r)){r=null,U("waiting"),_();return}if(T()){U("browser_opt_out");return}if(V()){U("excluded");return}Y=g,c?.dispose(),c=ye({token:i.token,enhanced:i.transport_version===1,send:oe,beacon:pe,allowed:G,onAck(R){te=Date.now(),ne+=R,window.dispatchEvent(new CustomEvent("tracewell:status"))},onPause(){j(),C("buffering")},onDrain(){u&&Q()},onFatal(R){U(R.status===413?"oversized":B(R))},onChange(){window.dispatchEvent(new CustomEvent("tracewell:status"))}}),c.checkpoint(),Q(n)}catch(i){M=null,S===n&&U(B(i))}_()}async function x(t=!0){let n=J;if(U("denied"),J=null,r=ie(!1),t&&A(l,m,r),A(p,L,null),A(p,X,null),_(),n?.token&&E(n.token),o&&await D(),M){k="pending",_(!0);try{await M}catch{k="failed",_(!0)}}if(N&&await N,k!=="not_requested")return k==="confirmed";window.dispatchEvent(new CustomEvent("tracewell:status"))}window.Tracewell={grantConsent:I,withdrawConsent:x,retryDeletion:D,track:(t,n)=>P?.track(t,n),status:()=>z,visitorAuthorization:()=>z==="recording"&&u&&!o&&!b&&r?.allowed===!0&&O(r)&&!T()&&!V()&&typeof J?.token=="string"?{token:J.token}:null,diagnostics:()=>({state:z,privacyNoticeReady:!s.consentUI||!!q,consent:r?.allowed===!0,browserOptOut:T(),sampleRate:Number(s.sampleRate||10),maskText:s.maskText!==!1,lastUploadAt:te,uploadedEvents:ne,transport:c?.stats()||null,deletion:b?"legacy_unconfirmed":k})},window.ClickClue=window.Tracewell,window.addEventListener("tracewell:consent",t=>t.detail===!0?I():x()),window.addEventListener("storage",t=>{if(t.key===m||t.key===null){let n=W(l,m);(!O(n)||!n.allowed)&&x(!1)}else if(w&&t.key==="tracewell.consent.v1"){let n=W(l,t.key);(!O(n)||!n.allowed)&&x(!1)}}),window.addEventListener("online",()=>{o?D():u&&c?.resume()}),window.addEventListener("pagehide",()=>{if(u=!1,j(),c){let t=c;t.unload(),c===t&&C("waiting")}else U(["recording","starting","loading_recorder"].includes(z)?"waiting":z)}),window.addEventListener("pageshow",t=>{if(u=!0,t.persisted){try{let n=JSON.parse(l.getItem(m));if(!O(n)||!n.allowed){x(!1);return}r=n}catch{}if(!G())return;c?(c.resume(),Q()):f()}}),document.addEventListener("visibilitychange",()=>{document.visibilityState==="hidden"?u&&c?.handoff():u&&c?.resume()}),document.readyState==="loading"?document.addEventListener("DOMContentLoaded",ae,{once:!0}):ae()}var ve,xe,Ce,Ee,Re,Te,Se,Ae;})(); 2 2 /* translators: %1$s: number of events accepted by the server. @preserve */ -
clickclue/trunk/assets/studio.css
r3775799 r3776421 37 37 38 38 .cc-studio .tw-header .cc-brand-logo{display:block;width:164px;height:auto;max-width:100%}.cc-studio .tw-header>div{min-width:0}@media(max-width:400px){.cc-studio .tw-header .cc-brand-logo{width:144px}} 39 40 /* Keep Watch and all review actions visible on narrow recording lists. */ 41 .cc-recording-label{display:none} 42 @media(max-width:700px){ 43 .cc-studio .cc-recordings-table{display:block;min-width:0;width:100%} 44 .cc-recordings-table thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap} 45 .cc-recordings-table tbody{display:block} 46 .cc-recordings-table tbody>tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding:16px;gap:12px;border-bottom:1px solid var(--cc-line)} 47 .cc-recordings-table tbody>tr:last-child{border-bottom:0} 48 .cc-studio .cc-recordings-table td{display:block;min-width:0;padding:0;border:0;overflow-wrap:anywhere} 49 .cc-recordings-table td.tw-path,.cc-recordings-table td.tw-actions,.cc-recordings-table td.tw-empty{grid-column:1/-1;max-width:none} 50 .cc-recordings-table .cc-recording-label{display:block;color:var(--cc-muted);font-size:11px;font-weight:500;margin-bottom:3px;word-break:normal} 51 .cc-studio .cc-recordings-table td.tw-actions{display:flex;flex-wrap:wrap;gap:8px;white-space:normal;padding-top:4px} 52 .cc-studio .cc-recordings-table .tw-action{min-height:44px;max-width:100%;white-space:normal;font-size:13px;padding:8px 12px} 53 .cc-recordings-table .tw-error-badge{display:inline-block;max-width:100%;white-space:normal} 54 .cc-studio .cc-recordings-table td.tw-empty{padding:16px 0} 55 } -
clickclue/trunk/assets/studio.js
r3775799 r3776421 78 78 window.addEventListener('tracewell:settings-loaded',()=>{baseline=encode(values());updateDraft();});window.addEventListener('tracewell:settings-saved',e=>{baseline=encode(e.detail.values);updateDraft();}); 79 79 window.addEventListener('beforeunload',e=>{if(dirty()||form.getAttribute('aria-busy')==='true'&&baseline!==null){e.preventDefault();e.returnValue='';}}); 80 window.addEventListener('tracewell:before-refresh',e=>{ 81 if(e.detail.name!=='settings')return; 82 if(form.getAttribute('aria-busy')==='true'){e.preventDefault();d.message(i18n.__('Wait for settings to finish loading or saving before refreshing.', 'clickclue'));return;} 83 if(dirty()&&!window.confirm(i18n.__('Discard your unsaved settings changes and load the latest saved settings?', 'clickclue')))e.preventDefault(); 84 }); 80 85 // Settings fields stay mounted across section and workspace navigation. 81 window.addEventListener('tracewell:before-view',e=>{if(form.getAttribute('aria-busy')==='true'&&baseline!==null&&e.detail.from==='settings'){e.preventDefault();d.message(i18n.__('Wait for settings to finish saving before leaving this view.', 'clickclue'));}});86 window.addEventListener('tracewell:before-view',e=>{if(form.getAttribute('aria-busy')==='true'&&baseline!==null&&e.detail.from==='settings'){e.preventDefault();d.message(i18n.__('Wait for settings to finish loading or saving before leaving this view.', 'clickclue'));}}); 82 87 // Review tools are a separate panel; switching it never remounts the player. 83 88 const dialog=$('tw-replay-dialog'),aside=dialog.querySelector('aside'),toggle=button(i18n.__('Hide review tools', 'clickclue'),()=>{const hide=!aside.hidden;aside.hidden=hide;dialog.classList.toggle('cc-review-hidden',hide);toggle.textContent=hide?i18n.__('Show review tools', 'clickclue'):i18n.__('Hide review tools', 'clickclue');toggle.setAttribute('aria-expanded',String(!hide));},'tw-button tw-outline');toggle.setAttribute('aria-expanded','true');aside.id='cc-replay-review';toggle.setAttribute('aria-controls',aside.id);dialog.querySelector('.cc-replay-actions')?.prepend(toggle); -
clickclue/trunk/assets/tutorial.js
r3775799 r3776421 1 "use strict";(()=>{var X=Object.create(null);var ae=(t,...c)=>{let u=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,g,A)=>{if(s==="%%")return"%";let v=c[g?Number(g)-1:u++];return String(A==="d"?Math.trunc(Number(v)):v??"")})},e={__(t,c="clickclue"){return Object.hasOwn(X,t)?X[t]:globalThis.wp?.i18n?.__(t,c)??t},_n(t,c,u,s="clickclue"){return globalThis.wp?.i18n?._n(t,c,u,s)??(u===1?t:c)},sprintf(t,...c){return globalThis.wp?.i18n?.sprintf(t,...c)??ae(t,...c)}};var F=1,re=[{id:"privacy",title:e.__("Set up a safe test","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Open settings","clickclue"),admin:!0,body:e.__("Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store\u2019s policy in WordPress Settings \u2192 Privacy before using the built-in prompt. In Settings \u2192 Recording & privacy, review page exclusions, keep page text masked and confirm how visitors will give permission.","clickclue"),check:e.__("Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you must review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.","clickclue"),success:e.__("You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.","clickclue"),doc:"consent-and-masking",more:e.__("Read the privacy guide","clickclue")},{id:"visit",title:e.__("Record one test visit","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-copy-test",action:e.__("Find my test link","clickclue"),admin:!0,body:e.__("Copy the test page link from Settings \u2192 Test & diagnostics into a private browser window where you are signed out of WordPress. Clear page caches after changing settings. Allow replay, then click and scroll using sample details.","clickclue"),check:e.__("Wait for the test panel to confirm an upload. Signed-in visitors are excluded, and Do Not Track and Global Privacy Control are respected. If no upload appears, use Recording health and the troubleshooting guide.","clickclue"),success:e.__("The signed-out test panel reports an upload. An enabled status alone does not confirm a recording.","clickclue"),doc:"troubleshooting",more:e.__("Troubleshoot a missing recording","clickclue")},{id:"replay",title:e.__("Check the replay and masking","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Return to Recordings, clear filters if needed and select Refresh recordings. Choose Watch on your test visit. Press Play, move along the timeline and inspect the moments when you entered sample details.","clickclue"),check:e.__("Confirm the entered values and private regions are masked. This is a reconstruction of the page: blocked images, embedded payment frames and some layout details can be absent. If anything private remains visible, pause capture and strengthen exclusions before recording real visitors.","clickclue"),success:e.__("You have watched the recording and checked its private areas yourself. A successful upload does not verify privacy.","clickclue"),doc:"replay-and-review",more:e.__("Read the replay guide","clickclue")},{id:"review",title:e.__("Keep a useful review note","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Bookmark a useful recording. In its replay, add a short note about what you observed and the next check. Choose an intent in Your next useful step whenever your question changes. Use path, device, date and watched filters to find it again; save a filter combination you use often.","clickclue"),check:e.__("Notes are visible to authorised reviewers. Keep customer details, passwords and payment information out. A read-only reviewer can inspect existing notes but cannot add notes or bookmarks.","clickclue"),success:e.__("You can find the evidence again and distinguish an observation from a possible explanation.","clickclue"),doc:"replay-and-review",more:e.__("Learn about notes and filters","clickclue")}],oe={id:"routine",title:e.__("Set your everyday recording limits","clickclue"),section:e.__("Finish the test","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Review recording settings","clickclue"),admin:!0,body:e.__("After the test, restore your normal sampling rate or pause recording. Choose retention and a payload budget your hosting can support. Check Settings \u2192 Test & diagnostics and review masking again when your theme or page layout changes.","clickclue"),check:e.__("New installations start at 10% sampling, seven days of retention and a 250 MiB payload budget. Existing 0.5.x budgets are preserved on upgrade. Raising a ceiling does not provide extra hosting space; reaching a limit pauses capture. Backups and exports need separate care.","clickclue"),success:e.__("Your recording settings reflect the traffic you intend to collect. Completing this tutorial does not enable capture or certify your store for launch.","clickclue"),doc:"limits-and-retention",more:e.__("Read the limits and retention guide","clickclue")};function le(t=!1,c=[]){return[...re,...t?c:[],oe]}function ee(t,c){let u=new Set(c.map(s=>s.id));return!t||t.version!==F?{version:F,step:c[0].id,done:[],started:!1}:{version:F,step:u.has(t.step)?t.step:c[0].id,done:[...new Set(Array.isArray(t.done)?t.done.filter(s=>u.has(s)):[])],started:t.started===!0}}function te(t,{pro:c=!1,canManage:u=!0,storageKey:s="clickclue.tutorial.website.v1",site:g=!1,onNavigate:A,onPause:v,onChange:M,storage:W,storageNotice:q,subscribeStorage:ne,guideUrl:D}={}){let U=t.ownerDocument,E=U.defaultView,V=()=>W===void 0?E.localStorage:W,o,i,K=!1,I=!0,f="",n=(l,p="",d="")=>{let h=U.createElement(l);return h.textContent=p,d&&(h.className=d),h},k=(l,p,d="cc-guide-button")=>{let h=n("button",l,d);return h.type="button",h.addEventListener("click",p),h},z=()=>s+(c?".pro":".free");function J(){o=le(c,E.ClickClueTutorialSteps||[]);let l,p;try{p=V().getItem(z())}catch{I=!1}try{l=JSON.parse(p||"null")}catch{l=null}i=ee(l,o)}function R(){try{V().setItem(z(),JSON.stringify(i))}catch{I=!1}M?.({...i,total:o.length})}function w(l=!0){R(),T(l)}function ce(l,p){let d=n("a",l);return d.href=p,g||(d.target="_blank",d.rel="noopener noreferrer",d.append(n("span",e.__(" (opens in a new tab)","clickclue"),"cc-guide-meta"))),d}function T(l=!1){if(K)return;t.replaceChildren(),t.classList.remove("tutorial-fallback"),t.classList.add("cc-guide");let p=n("div","","cc-guide-head"),d=n("div");if(d.append(n("p",c?e.__("OPTIONAL \xB7 FREE + PRO","clickclue"):e.__("OPTIONAL \xB7 FREE","clickclue"),"cc-guide-eyebrow"),n("h2",e.__("Your first useful recording","clickclue"))),p.append(d),v&&p.append(k(e.__("Pause tutorial","clickclue"),()=>{R(),v()},"cc-guide-button cc-guide-secondary")),t.append(p),g){let r=n("div","","cc-guide-editions");r.setAttribute("role","group"),r.setAttribute("aria-label",e.__("Tutorial edition","clickclue"));for(let[O,C]of[[!1,e.__("Free tutorial","clickclue")],[!0,e.__("Pro tutorial","clickclue")]]){let x=k(C,()=>{c=O,f="",J(),T(!0)});x.setAttribute("aria-pressed",String(c===O)),r.append(x)}t.append(r)}let h=n("p",e.sprintf(/* translators: 1: reviewed steps, 2: total tutorial steps. */ e._n("%1$s of %2$s step marked reviewed","%1$s of %2$s steps marked reviewed",o.length,"clickclue"),i.done.length,o.length),"cc-guide-progress");h.setAttribute("role","status"),t.append(h);let P=n("div","","cc-guide-layout"),N=n("nav");N.setAttribute("aria-label",e.__("Tutorial steps","clickclue"));let G=n("ol");o.forEach((r,O)=>{let C=n("li"),x=i.done.includes(r.id),B=k(`${O+1}. ${r.title}${x?e.__(" \xB7 Reviewed","clickclue"):""}`,()=>{i.started=!0,i.step=r.id,f="",w()},"cc-guide-step");r.id===i.step&&B.setAttribute("aria-current","step"),x&&(B.dataset.reviewed="true"),C.append(B),G.append(C)}),N.append(G),P.append(N);let a=o.find(r=>r.id===i.step),b=o.indexOf(a),y=n("section","","cc-guide-panel"),$=n("h3",a.title);$.tabIndex=-1,y.append(n("p",e.sprintf(/* translators: 1: current step, 2: total steps, 3: section name. */ e.__("STEP %1$s OF %2$s \xB7 %3$s","clickclue"),b+1,o.length,a.section),"cc-guide-eyebrow"),$,n("p",a.body));let Z=n("div","","cc-guide-check");Z.append(n("strong",e.__("What to check","clickclue")),n("p",a.check)),y.append(Z),y.append(n("p",a.success,"cc-guide-success"));let L=n("div","","cc-guide-actions");!g&&a.admin&&!u?y.append(n("p",e.__("Your role cannot change recording settings. Ask a site administrator to carry out this step.","clickclue"),"cc-guide-permission")):!g&&A&&L.append(k(a.action,()=>{i.started=!0,R(),A(a.view,a.target)}));let H=g?"/docs/"+a.doc:D?D+"#"+encodeURIComponent(a.doc):"";H&&L.append(ce(a.more,H)),y.append(L);let Y=n("div","","cc-guide-controls"),Q=k(e.__("Previous step","clickclue"),()=>{i.step=o[b-1].id,f="",w()},"cc-guide-button cc-guide-secondary");if(Q.disabled=b===0,Y.append(Q,k(i.done.includes(a.id)?b===o.length-1?e.__("Check remaining steps","clickclue"):e.__("Next step","clickclue"):e.__("Mark reviewed & continue","clickclue"),()=>{i.started=!0,i.done.includes(a.id)||i.done.push(a.id),b<o.length-1?i.step=o[b+1].id:i.done.length<o.length?(i.step=o.find(r=>!i.done.includes(r.id)).id,f=e.__("Returning to the first step you have not marked reviewed.","clickclue")):f=e.__("All steps marked reviewed. Your settings have not been changed by the tutorial. Revisit any step whenever you need it.","clickclue"),w()})),i.done.includes(a.id)&&Y.append(k(e.__("Mark this step unread","clickclue"),()=>{i.done=i.done.filter(r=>r!==a.id),f="",w()},"cc-guide-text-button")),y.append(Y),f){let r=n("p",f,"cc-guide-notice");r.setAttribute("role","status"),y.append(r)}P.append(y),t.append(P);let j=n("div","","cc-guide-footer");j.append(n("p",I?q?q()+e.__(" Progress is a checklist you mark yourself; it does not verify your settings.","clickclue"):e.__("Progress is a checklist you mark yourself. It is saved only in this browser; no settings or visitor data are changed.","clickclue"):e.__("Browser storage is unavailable. Progress lasts for this visit only; no settings or visitor data are changed.","clickclue"),"cc-guide-meta")),(i.started||i.done.length)&&j.append(k(e.__("Reset tutorial progress","clickclue"),()=>{E.confirm(e.__("Reset only this tutorial\u2019s checklist? Recording settings and recordings will stay as they are.","clickclue"))&&(i=ee(null,o),f=e.__("Tutorial progress reset.","clickclue"),w())},"cc-guide-text-button")),t.append(j),l&&$.focus()}J(),T(),M?.({...i,total:o.length});let se=ne?.(()=>T());return{focus:()=>{i.started=!0,R(),t.querySelector("h3")?.focus({preventScroll:!0})},dispose:()=>{K=!0,se?.(),t.replaceChildren()}}}var S=window.TracewellAdmin,ie=window.TracewellDashboard,_=document.getElementById("tw-tutorial"),m=document.getElementById("tw-tutorial-open");if(S&&ie&&_&&m){let t=()=>{_.hidden=!0,m.setAttribute("aria-expanded","false"),m.focus({preventScroll:!0})},c,u=()=>{c?.dispose(),c=te(_,{guideUrl:S.guideUrl,pro:!!S.pro,canManage:S.canManage!==!1,storageKey:"clickclue.tutorial."+location.pathname+".user-"+S.userId+".v1",onPause:t,onNavigate:(s,g)=>{t(),s==="discovery-reports"&&window.dispatchEvent(new CustomEvent("tracewell:investigation-scope",{detail:{filters:{},section:"clues"}})),ie.openView(s,g)},onChange:s=>{m.textContent=s.done.length===s.total?e.__("Review tutorial","clickclue"):s.started?e.__("Resume tutorial","clickclue"):e.__("Start tutorial","clickclue")}})};u(),window.addEventListener("tracewell:tutorial-extensions",u),m.hidden=!1,m.onclick=()=>{_.hidden=!_.hidden,m.setAttribute("aria-expanded",String(!_.hidden)),_.hidden||(_.scrollIntoView?.({block:"start",behavior:"auto"}),c.focus())},_.addEventListener("keydown",s=>{s.key==="Escape"&&(s.preventDefault(),t())})}})();1 "use strict";(()=>{var X=Object.create(null);var ae=(t,...c)=>{let u=0;return String(t).replace(/%%|%(?:(\d+)\$)?([sd])/g,(s,g,A)=>{if(s==="%%")return"%";let v=c[g?Number(g)-1:u++];return String(A==="d"?Math.trunc(Number(v)):v??"")})},e={__(t,c="clickclue"){return Object.hasOwn(X,t)?X[t]:globalThis.wp?.i18n?.__(t,c)??t},_n(t,c,u,s="clickclue"){return globalThis.wp?.i18n?._n(t,c,u,s)??(u===1?t:c)},sprintf(t,...c){return globalThis.wp?.i18n?.sprintf(t,...c)??ae(t,...c)}};var B=1,re=[{id:"privacy",title:e.__("Set up a safe test","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Open settings","clickclue"),admin:!0,body:e.__("Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store\u2019s policy in WordPress Settings \u2192 Privacy before using the built-in prompt. In Settings \u2192 Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text.","clickclue"),check:e.__("In Settings \u2192 Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.","clickclue"),success:e.__("You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.","clickclue"),doc:"consent-and-masking",more:e.__("Read the privacy guide","clickclue")},{id:"visit",title:e.__("Record one test visit","clickclue"),section:e.__("Start with a sample visit","clickclue"),view:"settings",target:"tw-copy-test",action:e.__("Find my test link","clickclue"),admin:!0,body:e.__("Copy the test page link from Settings \u2192 Test & diagnostics into a private browser window where you are signed out of WordPress. Clear page caches after changing settings. Allow replay, then click and scroll using sample details.","clickclue"),check:e.__("Wait for the test panel to confirm an upload. Signed-in visitors are excluded, and Do Not Track and Global Privacy Control are respected. If no upload appears, use Recording health and the troubleshooting guide.","clickclue"),success:e.__("The signed-out test panel reports an upload. An enabled status alone does not confirm a recording.","clickclue"),doc:"troubleshooting",more:e.__("Troubleshoot a missing recording","clickclue")},{id:"replay",title:e.__("Check the replay and masking","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Return to Recordings, clear filters if needed and select Refresh recordings. Choose Watch on your test visit. Press Play, move along the timeline and inspect the moments when you entered sample details.","clickclue"),check:e.__("Confirm the entered values and private regions are masked. This is a reconstruction of the page: blocked images, embedded payment frames and some layout details can be absent. If anything private remains visible, pause capture and strengthen exclusions before recording real visitors.","clickclue"),success:e.__("You have watched the recording and checked its private areas yourself. A successful upload does not verify privacy.","clickclue"),doc:"replay-and-review",more:e.__("Read the replay guide","clickclue")},{id:"review",title:e.__("Keep a useful review note","clickclue"),section:e.__("Review what was captured","clickclue"),view:"sessions",action:e.__("Open recordings","clickclue"),body:e.__("Bookmark a useful recording. In its replay, add a short note about what you observed and the next check. Choose an intent in Your next useful step whenever your question changes. Use path, device, date and watched filters to find it again; save a filter combination you use often.","clickclue"),check:e.__("Notes are visible to authorised reviewers. Keep customer details, passwords and payment information out. A read-only reviewer can inspect existing notes but cannot add notes or bookmarks.","clickclue"),success:e.__("You can find the evidence again and distinguish an observation from a possible explanation.","clickclue"),doc:"replay-and-review",more:e.__("Learn about notes and filters","clickclue")}],oe={id:"routine",title:e.__("Set your everyday recording limits","clickclue"),section:e.__("Finish the test","clickclue"),view:"settings",target:"tw-settings-form",action:e.__("Review recording settings","clickclue"),admin:!0,body:e.__("After the test, restore your normal sampling rate or pause recording. Choose retention and a payload budget your hosting can support. Check Settings \u2192 Test & diagnostics and review masking again when your theme or page layout changes.","clickclue"),check:e.__("New installations start at 10% sampling, seven days of retention and a 250 MiB payload budget. Existing 0.5.x budgets are preserved on upgrade. Raising a ceiling does not provide extra hosting space; reaching a limit pauses capture. Backups and exports need separate care.","clickclue"),success:e.__("Your recording settings reflect the traffic you intend to collect. Completing this tutorial does not enable capture or certify your store for launch.","clickclue"),doc:"limits-and-retention",more:e.__("Read the limits and retention guide","clickclue")};function le(t=!1,c=[]){return[...re,...t?c:[],oe]}function ee(t,c){let u=new Set(c.map(s=>s.id));return!t||t.version!==B?{version:B,step:c[0].id,done:[],started:!1}:{version:B,step:u.has(t.step)?t.step:c[0].id,done:[...new Set(Array.isArray(t.done)?t.done.filter(s=>u.has(s)):[])],started:t.started===!0}}function te(t,{pro:c=!1,canManage:u=!0,storageKey:s="clickclue.tutorial.website.v1",site:g=!1,onNavigate:A,onPause:v,onChange:F,storage:W,storageNotice:q,subscribeStorage:ne,guideUrl:D}={}){let U=t.ownerDocument,E=U.defaultView,V=()=>W===void 0?E.localStorage:W,o,i,K=!1,I=!0,f="",n=(l,p="",d="")=>{let h=U.createElement(l);return h.textContent=p,d&&(h.className=d),h},k=(l,p,d="cc-guide-button")=>{let h=n("button",l,d);return h.type="button",h.addEventListener("click",p),h},z=()=>s+(c?".pro":".free");function J(){o=le(c,E.ClickClueTutorialSteps||[]);let l,p;try{p=V().getItem(z())}catch{I=!1}try{l=JSON.parse(p||"null")}catch{l=null}i=ee(l,o)}function R(){try{V().setItem(z(),JSON.stringify(i))}catch{I=!1}F?.({...i,total:o.length})}function w(l=!0){R(),T(l)}function ce(l,p){let d=n("a",l);return d.href=p,g||(d.target="_blank",d.rel="noopener noreferrer",d.append(n("span",e.__(" (opens in a new tab)","clickclue"),"cc-guide-meta"))),d}function T(l=!1){if(K)return;t.replaceChildren(),t.classList.remove("tutorial-fallback"),t.classList.add("cc-guide");let p=n("div","","cc-guide-head"),d=n("div");if(d.append(n("p",c?e.__("OPTIONAL \xB7 FREE + PRO","clickclue"):e.__("OPTIONAL \xB7 FREE","clickclue"),"cc-guide-eyebrow"),n("h2",e.__("Your first useful recording","clickclue"))),p.append(d),v&&p.append(k(e.__("Pause tutorial","clickclue"),()=>{R(),v()},"cc-guide-button cc-guide-secondary")),t.append(p),g){let r=n("div","","cc-guide-editions");r.setAttribute("role","group"),r.setAttribute("aria-label",e.__("Tutorial edition","clickclue"));for(let[O,C]of[[!1,e.__("Free tutorial","clickclue")],[!0,e.__("Pro tutorial","clickclue")]]){let x=k(C,()=>{c=O,f="",J(),T(!0)});x.setAttribute("aria-pressed",String(c===O)),r.append(x)}t.append(r)}let h=n("p",e.sprintf(/* translators: 1: reviewed steps, 2: total tutorial steps. */ e._n("%1$s of %2$s step marked reviewed","%1$s of %2$s steps marked reviewed",o.length,"clickclue"),i.done.length,o.length),"cc-guide-progress");h.setAttribute("role","status"),t.append(h);let P=n("div","","cc-guide-layout"),N=n("nav");N.setAttribute("aria-label",e.__("Tutorial steps","clickclue"));let G=n("ol");o.forEach((r,O)=>{let C=n("li"),x=i.done.includes(r.id),j=k(`${O+1}. ${r.title}${x?e.__(" \xB7 Reviewed","clickclue"):""}`,()=>{i.started=!0,i.step=r.id,f="",w()},"cc-guide-step");r.id===i.step&&j.setAttribute("aria-current","step"),x&&(j.dataset.reviewed="true"),C.append(j),G.append(C)}),N.append(G),P.append(N);let a=o.find(r=>r.id===i.step),b=o.indexOf(a),y=n("section","","cc-guide-panel"),$=n("h3",a.title);$.tabIndex=-1,y.append(n("p",e.sprintf(/* translators: 1: current step, 2: total steps, 3: section name. */ e.__("STEP %1$s OF %2$s \xB7 %3$s","clickclue"),b+1,o.length,a.section),"cc-guide-eyebrow"),$,n("p",a.body));let Z=n("div","","cc-guide-check");Z.append(n("strong",e.__("What to check","clickclue")),n("p",a.check)),y.append(Z),y.append(n("p",a.success,"cc-guide-success"));let L=n("div","","cc-guide-actions");!g&&a.admin&&!u?y.append(n("p",e.__("Your role cannot change recording settings. Ask a site administrator to carry out this step.","clickclue"),"cc-guide-permission")):!g&&A&&L.append(k(a.action,()=>{i.started=!0,R(),A(a.view,a.target)}));let H=g?"/docs/"+a.doc:D?D+"#"+encodeURIComponent(a.doc):"";H&&L.append(ce(a.more,H)),y.append(L);let M=n("div","","cc-guide-controls"),Q=k(e.__("Previous step","clickclue"),()=>{i.step=o[b-1].id,f="",w()},"cc-guide-button cc-guide-secondary");if(Q.disabled=b===0,M.append(Q,k(i.done.includes(a.id)?b===o.length-1?e.__("Check remaining steps","clickclue"):e.__("Next step","clickclue"):e.__("Mark reviewed & continue","clickclue"),()=>{i.started=!0,i.done.includes(a.id)||i.done.push(a.id),b<o.length-1?i.step=o[b+1].id:i.done.length<o.length?(i.step=o.find(r=>!i.done.includes(r.id)).id,f=e.__("Returning to the first step you have not marked reviewed.","clickclue")):f=e.__("All steps marked reviewed. Your settings have not been changed by the tutorial. Revisit any step whenever you need it.","clickclue"),w()})),i.done.includes(a.id)&&M.append(k(e.__("Mark this step unread","clickclue"),()=>{i.done=i.done.filter(r=>r!==a.id),f="",w()},"cc-guide-text-button")),y.append(M),f){let r=n("p",f,"cc-guide-notice");r.setAttribute("role","status"),y.append(r)}P.append(y),t.append(P);let Y=n("div","","cc-guide-footer");Y.append(n("p",I?q?q()+e.__(" Progress is a checklist you mark yourself; it does not verify your settings.","clickclue"):e.__("Progress is a checklist you mark yourself. It is saved only in this browser; no settings or visitor data are changed.","clickclue"):e.__("Browser storage is unavailable. Progress lasts for this visit only; no settings or visitor data are changed.","clickclue"),"cc-guide-meta")),(i.started||i.done.length)&&Y.append(k(e.__("Reset tutorial progress","clickclue"),()=>{E.confirm(e.__("Reset only this tutorial\u2019s checklist? Recording settings and recordings will stay as they are.","clickclue"))&&(i=ee(null,o),f=e.__("Tutorial progress reset.","clickclue"),w())},"cc-guide-text-button")),t.append(Y),l&&$.focus()}J(),T(),F?.({...i,total:o.length});let se=ne?.(()=>T());return{focus:()=>{i.started=!0,R(),t.querySelector("h3")?.focus({preventScroll:!0})},dispose:()=>{K=!0,se?.(),t.replaceChildren()}}}var S=window.TracewellAdmin,ie=window.TracewellDashboard,_=document.getElementById("tw-tutorial"),m=document.getElementById("tw-tutorial-open");if(S&&ie&&_&&m){let t=()=>{_.hidden=!0,m.setAttribute("aria-expanded","false"),m.focus({preventScroll:!0})},c,u=()=>{c?.dispose(),c=te(_,{guideUrl:S.guideUrl,pro:!!S.pro,canManage:S.canManage!==!1,storageKey:"clickclue.tutorial."+location.pathname+".user-"+S.userId+".v1",onPause:t,onNavigate:(s,g)=>{t(),s==="discovery-reports"&&window.dispatchEvent(new CustomEvent("tracewell:investigation-scope",{detail:{filters:{},section:"clues"}})),ie.openView(s,g)},onChange:s=>{m.textContent=s.done.length===s.total?e.__("Review tutorial","clickclue"):s.started?e.__("Resume tutorial","clickclue"):e.__("Start tutorial","clickclue")}})};u(),window.addEventListener("tracewell:tutorial-extensions",u),m.hidden=!1,m.onclick=()=>{_.hidden=!_.hidden,m.setAttribute("aria-expanded",String(!_.hidden)),_.hidden||(_.scrollIntoView?.({block:"start",behavior:"auto"}),c.focus())},_.addEventListener("keydown",s=>{s.key==="Escape"&&(s.preventDefault(),t())})}})(); -
clickclue/trunk/changelog.txt
r3775799 r3776421 1 = 1.1.6 = 2 * Reject oversized privacy exclusion rules without silently cutting them or changing saved settings. 3 * Keep embedded documents out of recording and preserve the parent replay. 4 * Refresh current saved settings and protect unsaved changes. 5 * Distinguish public WordPress pages with plain permalinks while removing unrelated URL query data. 6 * Improve mobile recording actions, setup guidance and Pro-preview wording. 7 * Set pluginsshop author information and the plugins.shop author link. 8 9 = 1.1.5 = 10 * Add an optional review invitation after thirty days of meaningful local use, with per-administrator reminders and permanent dismissal. 11 * Correct installed help for current privacy, storage, licensing and update behavior. 12 1 13 = 1.1.4 = 2 14 * Uses the same ClickClue logo as the website and adds accessible star indicators to Pro preview navigation. -
clickclue/trunk/clickclue.php
r3775799 r3776421 3 3 * Plugin Name: ClickClue 4 4 * Description: Consent-first session replay, stored on your own WordPress server. 5 * Version: 1.1. 45 * Version: 1.1.6 6 6 * Requires at least: 6.6 7 7 * Requires PHP: 8.1 8 8 * Author: pluginsshop 9 * Author URI: https://plugins.shop/ 9 10 * License: GPL-2.0-or-later 10 11 * Domain Path: /languages … … 19 20 return; 20 21 } 21 define('TRACEWELL_VERSION', '1.1. 4');22 define('TRACEWELL_VERSION', '1.1.6'); 22 23 define('TRACEWELL_FILE', __FILE__); 23 24 define('TRACEWELL_DIR', plugin_dir_path(__FILE__)); … … 28 29 require_once TRACEWELL_DIR . 'includes/class-tracewell-transport.php'; 29 30 require_once TRACEWELL_DIR . 'includes/class-clickclue-pro-previews.php'; 31 require_once TRACEWELL_DIR . 'includes/class-clickclue-review-request.php'; 32 add_action('plugins_loaded', ['ClickClue_Review_Request', 'boot'], 20); 30 33 add_action('plugins_loaded', ['ClickClue_Pro_Previews', 'boot'], 20); 31 34 register_activation_hook(__FILE__, ['Tracewell', 'activate']); -
clickclue/trunk/includes/admin-page.php
r3775799 r3776421 10 10 <div class="tw-stats"><article><span><?php esc_html_e('Saved recordings', 'clickclue'); ?></span><strong id="tw-stat-total">—</strong></article><article><span><?php esc_html_e('Started this month', 'clickclue'); ?></span><strong id="tw-stat-monthly">—</strong><small id="tw-stat-limit"></small></article><article><span><?php esc_html_e('Storage used', 'clickclue'); ?></span><strong id="tw-stat-storage">—</strong></article><article><span><?php esc_html_e('Saved retention', 'clickclue'); ?></span><strong id="tw-stat-retention">—</strong><small><?php esc_html_e('Cleanup runs hourly through WP-Cron.', 'clickclue'); ?></small></article></div> 11 11 <div class="tw-toolbar"><label class="tw-search"><span class="screen-reader-text"><?php esc_html_e('Search page path', 'clickclue'); ?></span><input id="tw-search" type="search" placeholder="<?php esc_attr_e('Search a page path…', 'clickclue'); ?>" /></label><label><span class="screen-reader-text"><?php esc_html_e('Device', 'clickclue'); ?></span><select id="tw-device"><option value=""><?php esc_html_e('All devices', 'clickclue'); ?></option><option value="desktop"><?php esc_html_e('Desktop', 'clickclue'); ?></option><option value="mobile"><?php esc_html_e('Mobile', 'clickclue'); ?></option></select></label><?php do_action('tracewell_admin_filters'); ?></div> 12 <div class="tw-table-wrap" tabindex="0" role="region" aria-label="<?php esc_attr_e('Recordings table', 'clickclue'); ?>"><table class="tw-table "><thead><tr><th scope="col"><?php esc_html_e('Entry page', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Started (UTC)', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Device', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Duration', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Review', 'clickclue'); ?></th><th scope="col"><span class="screen-reader-text"><?php esc_html_e('Actions', 'clickclue'); ?></span></th></tr></thead><tbody id="tw-session-rows"><tr><td colspan="6" class="tw-empty"><?php esc_html_e('Loading recordings…', 'clickclue'); ?></td></tr></tbody></table></div>12 <div class="tw-table-wrap" tabindex="0" role="region" aria-label="<?php esc_attr_e('Recordings table', 'clickclue'); ?>"><table class="tw-table cc-recordings-table" role="table"><thead role="rowgroup"><tr role="row"><th scope="col"><?php esc_html_e('Entry page', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Started (UTC)', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Device', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Duration', 'clickclue'); ?></th><th scope="col"><?php esc_html_e('Review', 'clickclue'); ?></th><th scope="col"><span class="screen-reader-text"><?php esc_html_e('Actions', 'clickclue'); ?></span></th></tr></thead><tbody id="tw-session-rows" role="rowgroup"><tr><td colspan="6" class="tw-empty"><?php esc_html_e('Loading recordings…', 'clickclue'); ?></td></tr></tbody></table></div> 13 13 <div class="tw-pagination"><span id="tw-results"></span><div><button class="tw-button tw-outline" id="tw-prev" disabled><?php esc_html_e('Previous', 'clickclue'); ?></button><button class="tw-button tw-outline" id="tw-next" disabled><?php esc_html_e('Next', 'clickclue'); ?></button></div></div> 14 14 <?php do_action('tracewell_admin_recordings_footer'); ?> … … 32 32 </article> 33 33 <article class="tw-card"><h2><?php esc_html_e('Choose what stays private', 'clickclue'); ?></h2><label class="tw-toggle"><span><strong><?php esc_html_e('Mask all page text', 'clickclue'); ?></strong><small><?php esc_html_e('Off on new installations so ordinary page text stays readable. Turn on to hide all page text. Typed values and private regions stay protected either way.', 'clickclue'); ?></small></span><input type="checkbox" name="mask_text" role="switch" /></label><p class="cc-mask-preview" aria-label="<?php esc_attr_e('Illustrative text masking', 'clickclue'); ?>"><?php esc_html_e('With text masking:', 'clickclue'); ?> <span aria-hidden="true"><?php esc_html_e('Your sample text → •••• •••••• ••••', 'clickclue'); ?></span><span class="screen-reader-text"><?php esc_html_e('Words are replaced by masking characters.', 'clickclue'); ?></span></p><p class="tw-muted"><?php esc_html_e('Replays reconstruct layout and actions. Private regions, embedded content and unapproved images are excluded, so some areas will look empty.', 'clickclue'); ?></p> 34 <details><summary><?php esc_html_e('Page exclusions & advanced privacy', 'clickclue'); ?></summary><label class="tw-field"><?php esc_html_e('Exclude page paths', 'clickclue'); ?><textarea name="exclude_paths" rows="4"></textarea><small><?php esc_html_e('One path fragment per line. Account, login and order confirmation pages are always excluded.', 'clickclue'); ?></small></label><label class="tw-field"><?php esc_html_e('Additional elements to exclude', 'clickclue'); ?><textarea name="block_selector" rows="3"></textarea><small><?php esc_html_e('CSS selectors. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked.', 'clickclue'); ?></small></label><p class="tw-muted"><?php esc_html_e('No raw IP addresses, customer IDs, payment details, console logs or request bodies are intentionally collected. Visually inspect a test replay before using this on your site.', 'clickclue'); ?></p></details>34 <details><summary><?php esc_html_e('Page exclusions & advanced privacy', 'clickclue'); ?></summary><label class="tw-field"><?php esc_html_e('Exclude page paths', 'clickclue'); ?><textarea name="exclude_paths" rows="4"></textarea><small><?php esc_html_e('One path fragment per line. Limit: 2,000 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Account, login and order confirmation pages are always excluded.', 'clickclue'); ?></small></label><label class="tw-field"><?php esc_html_e('Additional elements to exclude', 'clickclue'); ?><textarea name="block_selector" rows="3"></textarea><small><?php esc_html_e('CSS selectors. Limit: 500 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked.', 'clickclue'); ?></small></label><p class="tw-muted"><?php esc_html_e('No raw IP addresses, customer IDs, payment details, console logs or request bodies are intentionally collected. Visually inspect a test replay before using this on your site.', 'clickclue'); ?></p></details> 35 35 </article> 36 36 </div> -
clickclue/trunk/includes/class-tracewell-workspace.php
r3775799 r3776421 122 122 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Plugin-owned relational data or atomic transaction; no equivalent WP object API. Read current database state so consent, revocation, retention and concurrent updates take effect immediately. 123 123 if ($ok===false || $wpdb->query('COMMIT')===false) { $wpdb->query('ROLLBACK'); return Tracewell::error('database',__('Review could not be saved.', 'clickclue'),503); } 124 if(($b['watched']??false)===true)do_action('tracewell_recording_reviewed',$id); 124 125 self::audit(isset($b['note'])?'session_note':'review_saved',$id); return self::review($r); 125 126 } -
clickclue/trunk/includes/class-tracewell.php
r3775799 r3776421 36 36 $s = self::settings(); 37 37 $policy = get_post((int)get_option('wp_page_for_privacy_policy')); 38 $notice = ['clickclue-replay-2026- 09-25-0.8.0', get_privacy_policy_url(), $policy ? $policy->post_content : '',38 $notice = ['clickclue-replay-2026-10-31-1.1.6-public-page-identity', get_privacy_policy_url(), $policy ? $policy->post_content : '', 39 39 $s['consent_ui'], $s['mask_text'], $s['block_selector'], $s['exclude_paths'], min(self::limits()['retention'], (int)$s['retention_days']), self::pro()]; 40 40 // A CMP integration may revise this filter when its notice/purposes change. … … 161 161 $text .= ' ' . esc_html__('The active Pro add-on also supports structural form focus timing, repeated clicks and possible unresponsive clicks. Entered field values are not collected for these insights.', 'clickclue'); 162 162 } 163 $text .= ' ' . esc_html__('Recorded page paths omit fragments and arbitrary query values. On sites using plain WordPress permalinks, a verified public numeric post or page ID identifies the page.', 'clickclue'); 163 164 $text .= ' ' . esc_html__('Typed values and explicitly private regions are protected. Ordinary page text is readable unless the site enables page-text masking. This does not record your desktop, camera or microphone. Page text, paths and page structure can still contain personal data: masking is not guaranteed anonymisation.', 'clickclue') . '</p>'; 164 165 $text .= '<p>' . esc_html__('Images are excluded by default. If we separately enable approved public images, individual public, static WordPress media-library images confirmed by an administrator may appear in new consenting recordings. Eligible local images are re-encoded locally without embedded metadata into bounded PNG/JPEG copies. No arbitrary visitor image URL is fetched and no visitor screen pixels are captured. Private and masked regions remain excluded. Selected copies are held in a bounded local approval catalogue; used copies are stored with recordings and follow their deletion and retention. Removing an image approval or turning image capture off removes the affected copies from existing recordings. Previously downloaded exports and backups require separate handling.', 'clickclue') . '</p>'; … … 256 257 return true; 257 258 } 258 public static function clean_path($raw): string { 259 /** Extract only the fixed numeric routing keys used by plain permalinks. */ 260 private static function plain_page_route(string $raw): ?array { 261 $parts = wp_parse_url($raw); $home = wp_parse_url(home_url('/')); 262 if (!is_array($parts) || !is_array($home)) return null; 263 if (isset($parts['host']) && (strtolower($parts['host']) !== strtolower($home['host'] ?? '') || ($parts['scheme'] ?? '') !== ($home['scheme'] ?? '') || ($parts['port'] ?? (($parts['scheme'] ?? '') === 'https' ? 443 : 80)) !== ($home['port'] ?? (($home['scheme'] ?? '') === 'https' ? 443 : 80)))) return null; 264 $path = $parts['path'] ?? '/'; $root = trailingslashit($home['path'] ?? '/'); 265 if (!in_array($path, [$root, $root . 'index.php'], true)) return null; 266 $found = []; 267 foreach (explode('&', $parts['query'] ?? '') as $part) { 268 $pair = explode('=', $part, 2); $key = rawurldecode($pair[0]); 269 if (!in_array($key, ['p', 'page_id'], true)) continue; 270 if (isset($found[$key]) || !preg_match('/^[1-9][0-9]{0,9}$/D', $pair[1] ?? '')) return null; 271 $found[$key] = $pair[1]; 272 } 273 if (count($found) !== 1) return null; 274 $key = array_key_first($found); 275 return ['path'=>$path, 'key'=>$key, 'id'=>(int)$found[$key], 'identity'=>$path . '?' . $key . '=' . $found[$key]]; 276 } 277 private static function public_plain_page(array $route): bool { 278 // A batch may repeat this lookup for every metric. Cache only within 279 // this request and bound distinct IDs, including rejected lookups. 280 static $checked = []; 281 $key = get_current_blog_id() . '|' . $route['key'] . '|' . $route['id']; 282 if (array_key_exists($key, $checked)) return $checked[$key]; 283 if (count($checked) >= 128) return false; 284 $post = get_post($route['id']); 285 $public = $post && is_post_publicly_viewable($post) && $post->post_password === '' 286 && ($post->post_type === 'page' ? 'page_id' : 'p') === $route['key'] 287 && (!function_exists('wc_get_page_id') || (int)wc_get_page_id('myaccount') !== $route['id']); 288 $checked[$key] = $public; 289 return $public; 290 } 291 /** Query keys that select a private or administrative view, never replay data. */ 292 public static function private_query_keys(): array { 293 $keys = ['preview', 'preview_id', 'preview_nonce', 'rest_route', 'order-pay', 'order-received']; 294 foreach (['woocommerce_checkout_pay_endpoint', 'woocommerce_checkout_order_received_endpoint'] as $option) { 295 $key = get_option($option, ''); 296 if (is_string($key) && $key !== '') $keys[] = $key; 297 } 298 return array_values(array_unique($keys)); 299 } 300 public static function clean_path($raw, bool $historical = false): string { 259 301 if (!is_string($raw)) { return '/'; } 260 302 $path = wp_parse_url($raw, PHP_URL_PATH) ?: '/'; 261 303 $path = preg_replace('/[\x00-\x1F\x7F]/', '', $path); 262 304 $path = preg_replace('~[^/]*(@|%40)[^/]*~i', '[masked]', $path); 263 return substr('/' . ltrim($path, '/'), 0, 500); 305 $path = substr('/' . ltrim($path, '/'), 0, 500); 306 $route = self::plain_page_route($raw); 307 // Only a public WordPress object can add a numeric routing key. Titles, 308 // searches, campaigns, email addresses and all other query values drop. 309 if ($route && strlen($route['identity']) <= 500 && $route['path'] === $path && ($historical || self::public_plain_page($route))) return $route['identity']; 310 return $path; 264 311 } 265 312 public static function private_paths(): array { … … 278 325 } 279 326 public static function excluded(string $path): bool { 280 $path = strtolower(rawurldecode(wp_parse_url($path, PHP_URL_PATH) ?: '/')); 327 $raw = $path; $route = self::plain_page_route($raw); 328 $query = wp_parse_url($raw, PHP_URL_QUERY); $parameters = []; 329 if (is_string($query)) wp_parse_str($query, $parameters); 330 foreach (self::private_query_keys() as $key) if (array_key_exists($key, $parameters)) return true; 331 if (array_key_exists('p', $parameters) || array_key_exists('page_id', $parameters)) { 332 if (!$route || strlen($route['identity']) > 500 || !self::public_plain_page($route)) return true; 333 } 334 $path = strtolower(rawurldecode(wp_parse_url($raw, PHP_URL_PATH) ?: '/')); 335 $identity = strtolower(rawurldecode(self::clean_path($raw))); 281 336 $hard = self::private_paths(); 282 337 $extra = preg_split('/\r\n|\r|\n/', self::settings()['exclude_paths']); 283 338 foreach (array_merge($hard, $extra) as $p) { 284 $p = strtolower(rawurldecode(trim($p))); if ($p !== '' && str_contains($path, $p)) { return true; }339 $p = strtolower(rawurldecode(trim($p))); if ($p !== '' && (str_contains($path, $p) || str_contains($identity, $p))) { return true; } 285 340 } 286 341 return false; … … 495 550 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery,WordPress.DB.DirectDatabaseQuery.NoCaching -- Plugin-owned relational data or atomic transaction; no equivalent WP object API. Read current database state so consent, revocation, retention and concurrent updates take effect immediately. 496 551 if ($wpdb->query('COMMIT') === false) { $wpdb->query('ROLLBACK'); return self::error('database', __('Upload confirmation failed. Please retry.', 'clickclue'), 503); } 552 if ($clean) do_action('tracewell_recording_received'); 497 553 return self::response(['accepted' => count($clean)] + Tracewell_Transport::ack($batch, $transport)); 498 554 } … … 681 737 } 682 738 foreach (['exclude_paths','block_selector'] as $key) if (array_key_exists($key,$b) && !is_string($b[$key])) return self::error('settings', __('Use text for privacy exclusions.', 'clickclue')); 683 if (isset($b['exclude_paths'])) { $s['exclude_paths'] = substr(sanitize_textarea_field($b['exclude_paths']), 0, 2000); } 684 if (isset($b['block_selector'])) { $s['block_selector'] = substr(sanitize_text_field($b['block_selector']), 0, 500); } 739 // Reject the whole update before writing any option. Cutting a rule can 740 // remove an excluded path or turn a valid selector into an invalid one. 741 if (isset($b['exclude_paths']) && strlen($b['exclude_paths']) > 2000) return self::error('settings', __('Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed.', 'clickclue')); 742 if (isset($b['block_selector']) && strlen($b['block_selector']) > 500) return self::error('settings', __('Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed.', 'clickclue')); 743 if (isset($b['exclude_paths'])) { $s['exclude_paths'] = sanitize_textarea_field($b['exclude_paths']); } 744 if (isset($b['block_selector'])) { $s['block_selector'] = sanitize_text_field($b['block_selector']); } 685 745 if (!self::save_option('tracewell_settings', $s)) return self::error('database', __('Settings could not be saved. The previous recording settings remain active. Please retry.', 'clickclue'), 503); 686 746 self::cleanup(); return self::response(['settings' => $s, 'saved' => true]); 687 747 } 688 748 public static function frontend(): void { 689 $s = self::settings(); $path = wp_parse_url(isset($_SERVER['REQUEST_URI']) && is_string($_SERVER['REQUEST_URI']) ? sanitize_url(wp_unslash($_SERVER['REQUEST_URI'])) : '/', PHP_URL_PATH) ?: '/'; 690 if (!$s['enabled'] || is_user_logged_in() || is_admin() || is_feed() || is_preview() || self::excluded($path) 749 $s = self::settings(); $path = isset($_SERVER['REQUEST_URI']) && is_string($_SERVER['REQUEST_URI']) ? sanitize_url(wp_unslash($_SERVER['REQUEST_URI'])) : '/'; 750 if (is_admin() || is_feed() || is_preview()) return; 751 if (is_user_logged_in()) { 752 // Local setup guidance only. The diagnostics module checks the 753 // explicit test-link hash and never starts recording or a request. 754 wp_enqueue_script('clickclue-signed-in-check', plugin_dir_url(TRACEWELL_FILE) . 'assets/diagnostics.js', ['wp-i18n'], TRACEWELL_VERSION, ['strategy'=>'defer', 'in_footer'=>true]); 755 wp_set_script_translations('clickclue-signed-in-check', 'clickclue', TRACEWELL_DIR . 'languages'); 756 wp_add_inline_script('clickclue-signed-in-check', 'window.ClickClueCheckConfig = {state:"signed_in"};', 'before'); 757 return; 758 } 759 if (!$s['enabled'] || self::excluded($path) 691 760 || (function_exists('is_account_page') && is_account_page()) 692 761 || (function_exists('is_checkout_pay_page') && is_checkout_pay_page()) 693 762 || (function_exists('is_order_received_page') && is_order_received_page())) { return; } 763 $route = self::plain_page_route($path); 764 if ($route && (!is_singular() || (int)get_queried_object_id() !== $route['id'])) return; 694 765 $url = plugin_dir_url(TRACEWELL_FILE); 695 766 wp_enqueue_script('tracewell-recorder', $url . 'assets/recorder.js', array_values(array_unique(array_merge(['wp-i18n'], apply_filters('tracewell_recorder_dependencies', [])))), TRACEWELL_VERSION, ['strategy' => 'defer', 'in_footer' => true]); 696 767 wp_set_script_translations('tracewell-recorder', 'clickclue', TRACEWELL_DIR . 'languages'); 697 wp_add_inline_script('tracewell-recorder', 'window.TracewellConfig = ' . wp_json_encode(['endpoint' => esc_url_raw(rest_url(self::NS)), ' storageScope'=>self::storage_scope(), 'captureUrl' => esc_url_raw($url . 'assets/capture-engine.js?v=' . TRACEWELL_VERSION), 'diagnosticsUrl' => esc_url_raw($url . 'assets/diagnostics.js?v=' . TRACEWELL_VERSION), 'sampleRate' => $s['sample_rate'], 'consentUI' => $s['consent_ui'], 'privacyUrl' => esc_url_raw(get_privacy_policy_url()), 'consentVersion' => self::consent_version(), 'retentionDays' => min(self::limits()['retention'], (int)$s['retention_days']), 'publicImages' => (bool)Tracewell_Media::state()['enabled'], 'maskText' => $s['mask_text'], 'blockSelector' => $s['block_selector'], 'excludePaths' => implode("\n", self::private_paths()) . "\n" . $s['exclude_paths'], 'pro' => self::pro()], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) . ';', 'before');768 wp_add_inline_script('tracewell-recorder', 'window.TracewellConfig = ' . wp_json_encode(['endpoint' => esc_url_raw(rest_url(self::NS)), 'pagePath'=>self::clean_path($path), 'privateQueryKeys'=>self::private_query_keys(), 'storageScope'=>self::storage_scope(), 'captureUrl' => esc_url_raw($url . 'assets/capture-engine.js?v=' . TRACEWELL_VERSION), 'diagnosticsUrl' => esc_url_raw($url . 'assets/diagnostics.js?v=' . TRACEWELL_VERSION), 'sampleRate' => $s['sample_rate'], 'consentUI' => $s['consent_ui'], 'privacyUrl' => esc_url_raw(get_privacy_policy_url()), 'consentVersion' => self::consent_version(), 'retentionDays' => min(self::limits()['retention'], (int)$s['retention_days']), 'publicImages' => (bool)Tracewell_Media::state()['enabled'], 'maskText' => $s['mask_text'], 'blockSelector' => $s['block_selector'], 'excludePaths' => implode("\n", self::private_paths()) . "\n" . $s['exclude_paths'], 'pro' => self::pro()], JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT) . ';', 'before'); 698 769 do_action('tracewell_frontend_loaded'); 699 770 } -
clickclue/trunk/includes/help-page.php
r3775799 r3776421 13 13 </section> 14 14 <section id="quick-start-record"><h3><?php esc_html_e('Record an eligible visit', 'clickclue'); ?></h3> 15 <ol><li><?php esc_html_e('Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.', 'clickclue'); ?></li><li><?php esc_html_e(' Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then choose Save settings. Preparing alone does not save.', 'clickclue'); ?></li><li><?php esc_html_e('Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.', 'clickclue'); ?></li><li><?php esc_html_e('Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded.', 'clickclue'); ?></li><li><?php esc_html_e('Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.', 'clickclue'); ?></li><li><?php esc_html_e('Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment,what you observed and what you will check.', 'clickclue'); ?></li><li><?php esc_html_e('Restore normal sampling or pause recording after the test.', 'clickclue'); ?></li></ol>15 <ol><li><?php esc_html_e('Publish your website-specific privacy policy and select it in WordPress Settings → Privacy. The built-in replay prompt needs that published link.', 'clickclue'); ?></li><li><?php esc_html_e('Open ClickClue → Settings → Test & diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save.', 'clickclue'); ?></li><li><?php esc_html_e('Clear your page cache. At 100% sampling, every consenting, eligible tab can be selected while recording is enabled.', 'clickclue'); ?></li><li><?php esc_html_e('Under Settings → Test & diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit.', 'clickclue'); ?></li><li><?php esc_html_e('Choose one public page and a question, such as whether someone can find the size guide. Grant replay permission, scroll to the details and try the relevant link using synthetic details. The test panel should confirm an upload.', 'clickclue'); ?></li><li><?php esc_html_e('Return to Settings → Test & diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check.', 'clickclue'); ?></li><li><?php esc_html_e('Restore normal sampling or pause recording after the test.', 'clickclue'); ?></li></ol> 16 16 </section> 17 17 <section id="quick-start-tutorial"><h3><?php esc_html_e('An optional walkthrough in both editions', 'clickclue'); ?></h3> … … 22 22 <p><?php esc_html_e('Install the matching Pro add-on alongside ClickClue Free. Update Free first, then Pro. The current release adds Clues, heatmaps, structural form insights, journeys, comparisons and optional feedback without requiring WooCommerce. Earlier checkout integrations remain documented separately.', 'clickclue'); ?></p> 23 23 <p><?php esc_html_e('Pro requires ClickClue Free and a successful first licence activation for this site. Annual bundles cover 1, 5 or 25 sites with the same Pro features. Open ClickClue → Pro licence to activate. Once unlocked, local tools keep working offline or after updates and support expire; eligible updates and support are separate.', 'clickclue'); ?></p> 24 <p><?php esc_html_e('From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.', 'clickclue'); ?></p> 25 <p><?php esc_html_e('If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.', 'clickclue'); ?></p> 24 26 <p><a href="#heatmaps-and-forms"><?php esc_html_e('Explore page heatmaps and forms', 'clickclue'); ?></a></p> 27 </section> 28 <section id="quick-start-review"><h3><?php esc_html_e('Leave an honest review, when you are ready', 'clickclue'); ?></h3> 29 <p><?php esc_html_e('The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue.', 'clickclue'); ?></p> 30 <p><?php esc_html_e('Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review.', 'clickclue'); ?></p> 25 31 </section> 26 32 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> … … 29 35 <p><?php esc_html_e('The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected.', 'clickclue'); ?></p> 30 36 <p><?php esc_html_e('Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture.', 'clickclue'); ?></p> 31 <ul><li><?php esc_html_e('Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.', 'clickclue'); ?></li><li><?php esc_html_e('Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.', 'clickclue'); ?></li><li><?php esc_html_e('URL quer ies and fragments are removed. Recorded links and arbitrary asset URLs are stripped.', 'clickclue'); ?></li><li><?php esc_html_e('Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.', 'clickclue'); ?></li></ul>37 <ul><li><?php esc_html_e('Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority.', 'clickclue'); ?></li><li><?php esc_html_e('Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched.', 'clickclue'); ?></li><li><?php esc_html_e('URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped.', 'clickclue'); ?></li><li><?php esc_html_e('Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme.', 'clickclue'); ?></li></ul> 32 38 </section> 33 39 <section id="consent-and-masking-approved-images"><h3><?php esc_html_e('Organise approved public images', 'clickclue'); ?></h3> 34 <p><?php esc_html_e('Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. ', 'clickclue'); ?></p>40 <p><?php esc_html_e('Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget.', 'clickclue'); ?></p> 35 41 <p><?php esc_html_e('A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched.', 'clickclue'); ?></p> 36 42 <p><?php esc_html_e('Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded.', 'clickclue'); ?></p> … … 49 55 <p><?php esc_html_e('Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded.', 'clickclue'); ?></p> 50 56 <p><?php esc_html_e('Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use.', 'clickclue'); ?></p> 57 <p><?php esc_html_e('Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit.', 'clickclue'); ?></p> 51 58 <pre><code><div data-tw-block>Private customer information</div></code></pre> 52 59 </section> … … 84 91 </section> 85 92 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> 86 <article id="woocommerce"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy WooCommerce integration', 'clickclue'); ?></h2><p><?php esc_html_e(' Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product.', 'clickclue'); ?></p>87 <section id="woocommerce-scope"><h3><?php esc_html_e(' How this fits the product direction', 'clickclue'); ?></h3>88 <p><?php esc_html_e('ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions.', 'clickclue'); ?></p>93 <article id="woocommerce"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy WooCommerce integration', 'clickclue'); ?></h2><p><?php esc_html_e('Use the optional legacy checkout tools already included in Pro, with their existing data and settings.', 'clickclue'); ?></p> 94 <section id="woocommerce-scope"><h3><?php esc_html_e('Where to find the legacy tools', 'clickclue'); ?></h3> 95 <p><?php esc_html_e('ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations.', 'clickclue'); ?></p> 89 96 </section> 90 97 <section id="woocommerce-signals"><h3><?php esc_html_e('What the integration observes', 'clickclue'); ?></h3> … … 200 207 </section> 201 208 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> 202 <article id="email-and-ai"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy email & AI summaries', 'clickclue'); ?></h2><p><?php esc_html_e('Configure checkout digests and event summaries in the current Pro preview.', 'clickclue'); ?></p>209 <article id="email-and-ai"><p class="edition"><?php esc_html_e('Pro', 'clickclue'); ?></p><h2><?php esc_html_e('Legacy email & AI summaries', 'clickclue'); ?></h2><p><?php esc_html_e('Configure checkout digests and event summaries in the Pro add-on.', 'clickclue'); ?></p> 203 210 <section id="email-and-ai-email"><h3><?php esc_html_e('Configure the legacy checkout digest', 'clickclue'); ?></h3> 204 <p><?php esc_html_e('Th is preview’sdigest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.', 'clickclue'); ?></p>211 <p><?php esc_html_e('The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled.', 'clickclue'); ?></p> 205 212 <ol><li><?php esc_html_e('Configure and test your WordPress mail transport.', 'clickclue'); ?></li><li><?php esc_html_e('Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold.', 'clickclue'); ?></li><li><?php esc_html_e('Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron.', 'clickclue'); ?></li><li><?php esc_html_e('Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery.', 'clickclue'); ?></li></ol> 206 213 </section> 207 214 <section id="email-and-ai-ai"><h3><?php esc_html_e('Summarise legacy checkout evidence', 'clickclue'); ?></h3> 208 <p><?php esc_html_e('This previewsummarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.', 'clickclue'); ?></p>215 <p><?php esc_html_e('This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool.', 'clickclue'); ?></p> 209 216 <p><?php esc_html_e('The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day.', 'clickclue'); ?></p> 210 217 <p><?php esc_html_e('Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis.', 'clickclue'); ?></p> … … 247 254 <p><?php esc_html_e('If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names.', 'clickclue'); ?></p> 248 255 </section> 256 <section id="updating-wordpress-updates"><h3><?php esc_html_e('Update inside WordPress', 'clickclue'); ?></h3> 257 <p><?php esc_html_e('From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks.', 'clickclue'); ?></p> 258 <p><?php esc_html_e('If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress.', 'clickclue'); ?></p> 259 <p><?php esc_html_e('Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available.', 'clickclue'); ?></p> 260 <p><?php esc_html_e('A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.', 'clickclue'); ?></p> 261 </section> 249 262 <section id="updating-replace"><h3><?php esc_html_e('Replace the installed packages', 'clickclue'); ?></h3> 250 <ol><li><?php esc_html_e('Back up your WordPress database and plugin files. Test on a staging copy first.', 'clickclue'); ?></li><li><?php esc_html_e(' Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundleis not an installable plugin.', 'clickclue'); ?></li><li><?php esc_html_e('For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.', 'clickclue'); ?></li><li><?php esc_html_e('When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.', 'clickclue'); ?></li><li><?php esc_html_e('Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.', 'clickclue'); ?></li></ol>263 <ol><li><?php esc_html_e('Back up your WordPress database and plugin files. Test on a staging copy first.', 'clickclue'); ?></li><li><?php esc_html_e('Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin.', 'clickclue'); ?></li><li><?php esc_html_e('For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro.', 'clickclue'); ?></li><li><?php esc_html_e('When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition.', 'clickclue'); ?></li><li><?php esc_html_e('Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review.', 'clickclue'); ?></li></ol> 251 264 </section> 252 265 <section id="updating-v090"><h3><?php esc_html_e('Updating to 0.9.0', 'clickclue'); ?></h3> … … 268 281 </section> 269 282 <section id="updating-v0610"><h3><?php esc_html_e('Compatibility introduced in 0.6.10', 'clickclue'); ?></h3> 270 <p><?php esc_html_e('Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro.', 'clickclue'); ?></p>283 <p><?php esc_html_e('Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro.', 'clickclue'); ?></p> 271 284 <p><?php esc_html_e('The dashboard opens on Recordings, with Pro page analysis under Heatmaps & forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled.', 'clickclue'); ?></p> 272 285 <p><?php esc_html_e('Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage & retention before increasing sampling, retention or storage.', 'clickclue'); ?></p> 273 <p><?php esc_html_e(' The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable.', 'clickclue'); ?></p>286 <p><?php esc_html_e('A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation.', 'clickclue'); ?></p> 274 287 </section> 275 288 <section id="updating-v069"><h3><?php esc_html_e('Compatibility introduced in 0.6.9', 'clickclue'); ?></h3> … … 294 307 <section id="updating-v060"><h3><?php esc_html_e('Compatibility introduced in 0.6.0', 'clickclue'); ?></h3> 295 308 <p><?php esc_html_e('Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide.', 'clickclue'); ?></p> 296 <p><?php esc_html_e('Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service.', 'clickclue'); ?></p>309 <p><?php esc_html_e('Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay.', 'clickclue'); ?></p> 297 310 </section> 298 311 <section id="updating-recovery"><h3><?php esc_html_e('Recover from an unsuccessful update', 'clickclue'); ?></h3> 299 312 <p><?php esc_html_e('Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming.', 'clickclue'); ?></p> 300 <p><?php esc_html_e(' The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable.', 'clickclue'); ?></p>313 <p><?php esc_html_e('If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention.', 'clickclue'); ?></p> 301 314 </section> 302 315 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> … … 344 357 <section id="commercial-team-local-choices"><h3><?php esc_html_e('Local guidance and optional commercial services', 'clickclue'); ?></h3> 345 358 <p><?php esc_html_e('Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit.', 'clickclue'); ?></p> 346 <p><?php esc_html_e('The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email.', 'clickclue'); ?></p> 347 </section> 348 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> 359 <p><?php esc_html_e('Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email.', 'clickclue'); ?></p> 360 </section> 361 <p><a href="#contents"><?php esc_html_e('Back to contents ↑', 'clickclue'); ?></a></p></article> 362 <p><a href="https://wordpress.org/support/plugin/clickclue/reviews/#new-post" rel="noopener noreferrer"><?php esc_html_e('Review ClickClue on WordPress.org', 'clickclue'); ?></a></p> 349 363 <footer><?php esc_html_e('ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation.', 'clickclue'); ?></footer> 350 364 -
clickclue/trunk/languages/clickclue.pot
r3775799 r3776421 1 # Copyright (C) 2026 ClickClue1 # Copyright (C) 2026 pluginsshop 2 2 # This file is distributed under the GPL-2.0-or-later. 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: ClickClue 1.1. 4\n"6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ tracewell\n"5 "Project-Id-Version: ClickClue 1.1.6\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/clickclue\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 8 8 "Language-Team: LANGUAGE <LL@li.org>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026-10- 29T06:47:51+00:00\n"12 "POT-Creation-Date: 2026-10-31T06:32:40+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 16 16 17 17 #. Plugin Name of the plugin 18 #. Author of the plugin19 18 #: tracewell.php 20 19 msgid "ClickClue" … … 24 23 #: tracewell.php 25 24 msgid "Consent-first session replay, stored on your own WordPress server." 25 msgstr "" 26 27 #. Author of the plugin 28 #: tracewell.php 29 msgid "pluginsshop" 30 msgstr "" 31 32 #. Author URI of the plugin 33 #: tracewell.php 34 msgid "https://plugins.shop/" 26 35 msgstr "" 27 36 … … 56 65 57 66 #: includes/admin-page.php:4 58 #: assets/dashboard.js:1 4667 #: assets/dashboard.js:152 59 68 msgid "Refresh recordings" 60 69 msgstr "" … … 125 134 #: includes/admin-page.php:11 126 135 #: assets/dashboard.js:55 127 #: assets/dashboard.js: 86136 #: assets/dashboard.js:92 128 137 msgid "Desktop" 129 138 msgstr "" … … 131 140 #: includes/admin-page.php:11 132 141 #: assets/dashboard.js:55 133 #: assets/dashboard.js: 86142 #: assets/dashboard.js:92 134 143 msgid "Mobile" 135 144 msgstr "" … … 300 309 301 310 #: includes/admin-page.php:34 302 msgid "One path fragment per line. Account, login and order confirmation pages are always excluded."311 msgid "One path fragment per line. Limit: 2,000 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Account, login and order confirmation pages are always excluded." 303 312 msgstr "" 304 313 … … 308 317 309 318 #: includes/admin-page.php:34 310 msgid "CSS selectors. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked."319 msgid "CSS selectors. Limit: 500 bytes; some characters use more than one byte. Longer lists are rejected without changing saved settings. Invalid selectors stop recording. Embedded frames, editable content and private regions stay blocked." 311 320 msgstr "" 312 321 … … 489 498 490 499 #: includes/class-clickclue-pro-previews.php:18 491 #: includes/class-tracewell.php:213 500 #: includes/class-clickclue-review-request.php:46 501 #: includes/class-tracewell.php:214 492 502 msgid "Administrator access required." 493 503 msgstr "" … … 519 529 #: includes/class-clickclue-pro-previews.php:41 520 530 msgid "ClickClue Pro previews" 531 msgstr "" 532 533 #: includes/class-clickclue-review-request.php:12 534 #: includes/class-clickclue-review-request.php:13 535 #: includes/class-clickclue-review-request.php:65 536 msgid "ClickClue review invitation" 537 msgstr "" 538 539 #: includes/class-clickclue-review-request.php:40 540 msgid "Share your experience with ClickClue" 541 msgstr "" 542 543 #: includes/class-clickclue-review-request.php:40 544 msgid "You have used ClickClue across several days. An honest WordPress.org review can help other site owners decide whether it suits them." 545 msgstr "" 546 547 #: includes/class-clickclue-review-request.php:42 548 msgid "Leave an honest review" 549 msgstr "" 550 551 #: includes/class-clickclue-review-request.php:42 552 msgid "Remind me in 30 days" 553 msgstr "" 554 555 #: includes/class-clickclue-review-request.php:42 556 #: assets/recorder.js:1 557 msgid "No thanks" 558 msgstr "" 559 560 #: includes/class-clickclue-review-request.php:49 561 msgid "Choose a valid review invitation action." 562 msgstr "" 563 564 #: includes/class-clickclue-review-request.php:53 565 msgid "Your preference could not be saved. Please retry." 566 msgstr "" 567 568 #: includes/class-clickclue-review-request.php:65 569 msgid "Local review invitation preferences and bounded usage counts" 570 msgstr "" 571 572 #: includes/class-clickclue-review-request.php:70 573 msgid "ClickClue review preferences could not be erased. Please retry." 521 574 msgstr "" 522 575 … … 711 764 #: includes/class-tracewell-workspace.php:83 712 765 #: includes/class-tracewell-workspace.php:105 713 #: includes/class-tracewell-workspace.php:13 6714 #: includes/class-tracewell.php:6 32766 #: includes/class-tracewell-workspace.php:137 767 #: includes/class-tracewell.php:688 715 768 msgid "Recording not found." 716 769 msgstr "" … … 747 800 msgstr "" 748 801 749 #: includes/class-tracewell-workspace.php:1 29750 #: includes/class-tracewell-workspace.php:13 4751 #: includes/class-tracewell-workspace.php:14 1752 #: includes/class-tracewell-workspace.php:14 7802 #: includes/class-tracewell-workspace.php:130 803 #: includes/class-tracewell-workspace.php:135 804 #: includes/class-tracewell-workspace.php:142 805 #: includes/class-tracewell-workspace.php:148 753 806 msgid "The note could not be deleted. Retry." 754 807 msgstr "" 755 808 756 #: includes/class-tracewell-workspace.php:14 3809 #: includes/class-tracewell-workspace.php:144 757 810 msgid "Note not found in this recording." 758 811 msgstr "" 759 812 760 #: includes/class-tracewell-workspace.php:14 5813 #: includes/class-tracewell-workspace.php:146 761 814 msgid "Only the author or an administrator may delete this note." 762 815 msgstr "" 763 816 764 #: includes/class-tracewell-workspace.php:16 2817 #: includes/class-tracewell-workspace.php:163 765 818 msgid "Keep at most 20 saved filters." 766 819 msgstr "" 767 820 768 #: includes/class-tracewell-workspace.php:16 5821 #: includes/class-tracewell-workspace.php:166 769 822 msgid "A saved filter needs a name and valid filters." 770 823 msgstr "" 771 824 772 #: includes/class-tracewell-workspace.php:16 7825 #: includes/class-tracewell-workspace.php:168 773 826 msgid "Invalid saved filter." 774 827 msgstr "" 775 828 776 #: includes/class-tracewell-workspace.php:17 4829 #: includes/class-tracewell-workspace.php:175 777 830 msgid "Saved filters could not be updated. Retry." 778 831 msgstr "" … … 807 860 808 861 #: includes/class-tracewell.php:163 862 msgid "Recorded page paths omit fragments and arbitrary query values. On sites using plain WordPress permalinks, a verified public numeric post or page ID identifies the page." 863 msgstr "" 864 865 #: includes/class-tracewell.php:164 809 866 msgid "Typed values and explicitly private regions are protected. Ordinary page text is readable unless the site enables page-text masking. This does not record your desktop, camera or microphone. Page text, paths and page structure can still contain personal data: masking is not guaranteed anonymisation." 810 867 msgstr "" 811 868 812 #: includes/class-tracewell.php:16 4869 #: includes/class-tracewell.php:165 813 870 msgid "Images are excluded by default. If we separately enable approved public images, individual public, static WordPress media-library images confirmed by an administrator may appear in new consenting recordings. Eligible local images are re-encoded locally without embedded metadata into bounded PNG/JPEG copies. No arbitrary visitor image URL is fetched and no visitor screen pixels are captured. Private and masked regions remain excluded. Selected copies are held in a bounded local approval catalogue; used copies are stored with recordings and follow their deletion and retention. Removing an image approval or turning image capture off removes the affected copies from existing recordings. Previously downloaded exports and backups require separate handling." 814 871 msgstr "" 815 872 816 #: includes/class-tracewell.php:16 5873 #: includes/class-tracewell.php:166 817 874 msgid "Recordings stay on this WordPress server, accessible to authorised reviewers and invited WordPress accounts." 818 875 msgstr "" 819 876 820 #: includes/class-tracewell.php:16 5877 #: includes/class-tracewell.php:166 821 878 msgid "Recordings stay on this WordPress server, accessible to site administrators." 822 879 msgstr "" 823 880 824 881 #. translators: %d: number of days. 825 #: includes/class-tracewell.php:16 5882 #: includes/class-tracewell.php:166 826 883 #, php-format 827 884 msgid "Our current replay retention is %d day, subject to scheduled cleanup." … … 831 888 832 889 #. translators: %d: number of days. 833 #: includes/class-tracewell.php:16 5890 #: includes/class-tracewell.php:166 834 891 msgid "A recording stores the server receipt time and the notice revision reported with the consenting start. Older records have no backfilled consent receipt." 835 892 msgstr "" 836 893 837 894 #. translators: %d: number of days. 838 #: includes/class-tracewell.php:16 6895 #: includes/class-tracewell.php:167 839 896 msgid "The browser stores a replay choice for up to 180 days, and sampling/authorisation in session storage for the tab." 840 897 msgstr "" 841 898 842 #: includes/class-tracewell.php:16 8899 #: includes/class-tracewell.php:169 843 900 msgid "ClickClue Pro may set a first-party HttpOnly recording cookie for up to 30 minutes after consent." 844 901 msgstr "" 845 902 846 #: includes/class-tracewell.php:17 0903 #: includes/class-tracewell.php:171 847 904 msgid "A failed deletion keeps a tab-local retry token. Replay privacy lets you refuse or withdraw; withdrawal stops capture, clears unsent events and requests deletion of the current authorised recording, including its stored image copies. A failed deletion remains unconfirmed and can be retried. Earlier recordings remain subject to retention and administrator deletion." 848 905 msgstr "" 849 906 850 #: includes/class-tracewell.php:17 2907 #: includes/class-tracewell.php:173 851 908 msgid "If we enable optional visitor feedback, you may choose to complete a short flow of up to three rating or predefined-choice questions, including optional conditional follow-ups. An answer is linked to your current authorised recording and stored on this WordPress server. No free-text answer is requested. Refusing feedback does not affect use of the website. Deleting the linked recording also removes its answers. Survey questions can change; saved answers retain the question version shown at the time. Campaigns may use the page, device category and date to show and group responses. A quiet-period marker is kept in this browser session after consent to avoid repeated prompts and is cleared when consent is withdrawn; no cross-visit identifier is added." 852 909 msgstr "" 853 910 854 #: includes/class-tracewell.php:17 4911 #: includes/class-tracewell.php:175 855 912 msgid "Owner: add your legal identity, privacy contact, exact purposes and legal basis, recipients, international transfers, applicable rights and complaint authority. Describe your actual hosting logs, backups and any exported copies." 856 913 msgstr "" 857 914 858 #: includes/class-tracewell.php:17 6915 #: includes/class-tracewell.php:177 859 916 msgid "Describe any enabled AI, email, agency or licence services. These optional services require separate provider review." 860 917 msgstr "" 861 918 862 #: includes/class-tracewell.php:17 8919 #: includes/class-tracewell.php:179 863 920 msgid "Archive each notice revision and retain appropriate consent evidence under your documented retention policy. Privacy controls do not guarantee legal compliance. Do not publish this suggested text without adapting it to your installation." 864 921 msgstr "" 865 922 866 #: includes/class-tracewell.php:22 1923 #: includes/class-tracewell.php:222 867 924 msgid "Request parameters must match the resource in the URL." 868 925 msgstr "" 869 926 870 #: includes/class-tracewell.php:22 4927 #: includes/class-tracewell.php:225 871 928 msgid "Request is too large." 872 929 msgstr "" 873 930 874 #: includes/class-tracewell.php:225 931 #: includes/class-tracewell.php:226 932 #: includes/class-tracewell.php:256 933 msgid "JSON is required." 934 msgstr "" 935 936 #: includes/class-tracewell.php:227 937 msgid "Send a JSON object." 938 msgstr "" 939 940 #: includes/class-tracewell.php:253 941 msgid "Requests must originate from this website." 942 msgstr "" 943 875 944 #: includes/class-tracewell.php:255 876 msgid "JSON is required."877 msgstr ""878 879 #: includes/class-tracewell.php:226880 msgid "Send a JSON object."881 msgstr ""882 883 #: includes/class-tracewell.php:252884 msgid "Requests must originate from this website."885 msgstr ""886 887 #: includes/class-tracewell.php:254888 945 msgid "Recording batch is too large." 889 946 msgstr "" 890 947 891 #: includes/class-tracewell.php:3 03948 #: includes/class-tracewell.php:358 892 949 msgid "Recording authorization expired." 893 950 msgstr "" 894 951 895 #: includes/class-tracewell.php:3 12896 #: includes/class-tracewell.php: 372897 #: includes/class-tracewell.php: 378952 #: includes/class-tracewell.php:367 953 #: includes/class-tracewell.php:427 954 #: includes/class-tracewell.php:433 898 955 msgid "Recording service unavailable. Please retry." 899 956 msgstr "" 900 957 901 #: includes/class-tracewell.php:3 13902 #: includes/class-tracewell.php:3 15903 #: includes/class-tracewell.php: 457904 #: includes/class-tracewell.php:5 15958 #: includes/class-tracewell.php:368 959 #: includes/class-tracewell.php:370 960 #: includes/class-tracewell.php:512 961 #: includes/class-tracewell.php:571 905 962 msgid "Recording no longer exists." 906 963 msgstr "" 907 964 908 #: includes/class-tracewell.php:3 14909 #: includes/class-tracewell.php: 356965 #: includes/class-tracewell.php:369 966 #: includes/class-tracewell.php:411 910 967 msgid "Privacy information changed. Reload and choose again." 911 968 msgstr "" 912 969 913 #: includes/class-tracewell.php: 350914 #: includes/class-tracewell.php: 397970 #: includes/class-tracewell.php:405 971 #: includes/class-tracewell.php:452 915 972 msgid "Browser privacy preference excludes recording." 916 973 msgstr "" 917 974 918 #: includes/class-tracewell.php:351 919 #: includes/class-tracewell.php:398 975 #: includes/class-tracewell.php:406 976 #: includes/class-tracewell.php:453 977 #: includes/class-tracewell.php:517 978 msgid "Recording is paused." 979 msgstr "" 980 981 #: includes/class-tracewell.php:407 982 msgid "Consent is required." 983 msgstr "" 984 985 #: includes/class-tracewell.php:408 986 #: includes/class-tracewell.php:454 987 msgid "Signed-in visits are excluded." 988 msgstr "" 989 990 #: includes/class-tracewell.php:409 991 msgid "Publish and select this website’s privacy policy before using the built-in prompt." 992 msgstr "" 993 994 #: includes/class-tracewell.php:412 995 #: includes/class-tracewell.php:474 996 msgid "Use a page path." 997 msgstr "" 998 999 #: includes/class-tracewell.php:413 1000 msgid "Use valid viewport dimensions." 1001 msgstr "" 1002 1003 #: includes/class-tracewell.php:416 1004 #: includes/class-tracewell.php:475 1005 #: includes/class-tracewell.php:477 1006 msgid "This page is excluded." 1007 msgstr "" 1008 1009 #: includes/class-tracewell.php:427 1010 msgid "Too many recording starts." 1011 msgstr "" 1012 1013 #: includes/class-tracewell.php:434 1014 msgid "Recording allowance reached." 1015 msgstr "" 1016 1017 #: includes/class-tracewell.php:436 1018 #: includes/class-tracewell.php:444 1019 msgid "Unable to create recording." 1020 msgstr "" 1021 1022 #: includes/class-tracewell.php:438 1023 msgid "Recording allowance unavailable." 1024 msgstr "" 1025 1026 #: includes/class-tracewell.php:447 1027 msgid "Unable to confirm recording." 1028 msgstr "" 1029 1030 #: includes/class-tracewell.php:459 1031 msgid "Invalid recording batch." 1032 msgstr "" 1033 920 1034 #: includes/class-tracewell.php:462 921 msgid "Recording is paused."922 msgstr ""923 924 #: includes/class-tracewell.php:352925 msgid "Consent is required."926 msgstr ""927 928 #: includes/class-tracewell.php:353929 #: includes/class-tracewell.php:399930 msgid "Signed-in visits are excluded."931 msgstr ""932 933 #: includes/class-tracewell.php:354934 msgid "Publish and select this website’s privacy policy before using the built-in prompt."935 msgstr ""936 937 #: includes/class-tracewell.php:357938 #: includes/class-tracewell.php:419939 msgid "Use a page path."940 msgstr ""941 942 #: includes/class-tracewell.php:358943 msgid "Use valid viewport dimensions."944 msgstr ""945 946 #: includes/class-tracewell.php:361947 #: includes/class-tracewell.php:420948 #: includes/class-tracewell.php:422949 msgid "This page is excluded."950 msgstr ""951 952 #: includes/class-tracewell.php:372953 msgid "Too many recording starts."954 msgstr ""955 956 #: includes/class-tracewell.php:379957 msgid "Recording allowance reached."958 msgstr ""959 960 #: includes/class-tracewell.php:381961 #: includes/class-tracewell.php:389962 msgid "Unable to create recording."963 msgstr ""964 965 #: includes/class-tracewell.php:383966 msgid "Recording allowance unavailable."967 msgstr ""968 969 #: includes/class-tracewell.php:392970 msgid "Unable to confirm recording."971 msgstr ""972 973 #: includes/class-tracewell.php:404974 msgid "Invalid recording batch."975 msgstr ""976 977 #: includes/class-tracewell.php:407978 1035 msgid "Malformed or out-of-range event." 979 1036 msgstr "" 980 1037 981 #: includes/class-tracewell.php:4 081038 #: includes/class-tracewell.php:463 982 1039 msgid "Malformed incremental event." 983 1040 msgstr "" 984 1041 985 #: includes/class-tracewell.php:4 131042 #: includes/class-tracewell.php:468 986 1043 msgid "Malformed input event." 987 1044 msgstr "" 988 1045 989 #: includes/class-tracewell.php:4 41990 #: includes/class-tracewell.php: 455991 #: includes/class-tracewell.php: 468992 #: includes/class-tracewell.php: 4941046 #: includes/class-tracewell.php:496 1047 #: includes/class-tracewell.php:510 1048 #: includes/class-tracewell.php:523 1049 #: includes/class-tracewell.php:549 993 1050 msgid "Unable to save recording." 994 1051 msgstr "" 995 1052 996 #: includes/class-tracewell.php: 4501053 #: includes/class-tracewell.php:505 997 1054 msgid "Current recording settings could not be read." 998 1055 msgstr "" 999 1056 1000 #: includes/class-tracewell.php: 4641057 #: includes/class-tracewell.php:519 1001 1058 msgid "Privacy authorization changed. Reload and choose again." 1002 1059 msgstr "" 1003 1060 1004 #: includes/class-tracewell.php: 4811005 #: includes/class-tracewell.php: 4851061 #: includes/class-tracewell.php:536 1062 #: includes/class-tracewell.php:540 1006 1063 msgid "Recording storage limit reached." 1007 1064 msgstr "" 1008 1065 1009 #: includes/class-tracewell.php: 4851066 #: includes/class-tracewell.php:540 1010 1067 msgid "Unable to reserve recording storage. Please retry." 1011 1068 msgstr "" 1012 1069 1013 #: includes/class-tracewell.php: 4961070 #: includes/class-tracewell.php:551 1014 1071 msgid "Upload confirmation failed. Please retry." 1015 1072 msgstr "" 1016 1073 1017 #: includes/class-tracewell.php:5 001074 #: includes/class-tracewell.php:556 1018 1075 msgid "This visit is excluded from recording." 1019 1076 msgstr "" 1020 1077 1021 #: includes/class-tracewell.php:5 051022 #: includes/class-tracewell.php:5 141078 #: includes/class-tracewell.php:561 1079 #: includes/class-tracewell.php:570 1023 1080 msgid "Recording checkpoint could not be saved." 1024 1081 msgstr "" 1025 1082 1026 #: includes/class-tracewell.php:5 111083 #: includes/class-tracewell.php:567 1027 1084 msgid "Recording settings could not be read." 1028 1085 msgstr "" 1029 1086 1030 #: includes/class-tracewell.php:5 171087 #: includes/class-tracewell.php:573 1031 1088 msgid "Recording is paused or privacy authorization changed." 1032 1089 msgstr "" 1033 1090 1034 #: includes/class-tracewell.php:5 201091 #: includes/class-tracewell.php:576 1035 1092 msgid "Recording checkpoint could not be confirmed." 1036 1093 msgstr "" 1037 1094 1038 #: includes/class-tracewell.php:5 271095 #: includes/class-tracewell.php:583 1039 1096 msgid "Deletion could not be confirmed. Please retry. Recording data may remain on this server." 1040 1097 msgstr "" 1041 1098 1042 #: includes/class-tracewell.php:6 021099 #: includes/class-tracewell.php:658 1043 1100 msgid "Use a page number from 1 to 1,000,000." 1044 1101 msgstr "" 1045 1102 1046 #: includes/class-tracewell.php:6 061047 #: includes/class-tracewell.php:6 111103 #: includes/class-tracewell.php:662 1104 #: includes/class-tracewell.php:667 1048 1105 msgid "Recordings could not load. Please retry." 1049 1106 msgstr "" 1050 1107 1051 #: includes/class-tracewell.php:6 171052 #: includes/class-tracewell.php:6 201053 #: includes/class-tracewell.php:6 231108 #: includes/class-tracewell.php:673 1109 #: includes/class-tracewell.php:676 1110 #: includes/class-tracewell.php:679 1054 1111 msgid "Recording totals could not load. Please retry." 1055 1112 msgstr "" 1056 1113 1057 #: includes/class-tracewell.php:6 301058 #: includes/class-tracewell.php:6 361114 #: includes/class-tracewell.php:686 1115 #: includes/class-tracewell.php:692 1059 1116 msgid "Recording could not load. Please retry." 1060 1117 msgstr "" 1061 1118 1062 #: includes/class-tracewell.php:6 311119 #: includes/class-tracewell.php:687 1063 1120 msgid "Recording has expired." 1064 1121 msgstr "" 1065 1122 1066 #: includes/class-tracewell.php:6 391123 #: includes/class-tracewell.php:695 1067 1124 msgid "This recording contains an unreadable batch." 1068 1125 msgstr "" 1069 1126 1070 #: includes/class-tracewell.php:6 401127 #: includes/class-tracewell.php:696 1071 1128 msgid "This recording contains an unreadable event." 1072 1129 msgstr "" 1073 1130 1074 #: includes/class-tracewell.php: 6551131 #: includes/class-tracewell.php:711 1075 1132 msgid "Type DELETE to confirm." 1076 1133 msgstr "" 1077 1134 1078 #: includes/class-tracewell.php: 6581135 #: includes/class-tracewell.php:714 1079 1136 msgid "Unable to list recordings for deletion. Please retry." 1080 1137 msgstr "" 1081 1138 1082 #: includes/class-tracewell.php: 6621139 #: includes/class-tracewell.php:718 1083 1140 msgid "Unable to confirm remaining recordings. Please retry." 1084 1141 msgstr "" 1085 1142 1086 #: includes/class-tracewell.php: 6651143 #: includes/class-tracewell.php:721 1087 1144 msgid "Recordings were deleted, but investigation notes could not be cleared. Please retry." 1088 1145 msgstr "" 1089 1146 1090 #: includes/class-tracewell.php: 6731147 #: includes/class-tracewell.php:729 1091 1148 msgid "Storage budget must be a whole number within the supported hosting range." 1092 1149 msgstr "" 1093 1150 1094 #: includes/class-tracewell.php: 6771151 #: includes/class-tracewell.php:733 1095 1152 msgid "Invalid setting type." 1096 1153 msgstr "" 1097 1154 1098 #: includes/class-tracewell.php: 6791155 #: includes/class-tracewell.php:735 1099 1156 msgid "Use a whole number within the supported settings range." 1100 1157 msgstr "" 1101 1158 1102 #: includes/class-tracewell.php: 6821159 #: includes/class-tracewell.php:738 1103 1160 msgid "Use text for privacy exclusions." 1104 1161 msgstr "" 1105 1162 1106 #: includes/class-tracewell.php:685 1163 #: includes/class-tracewell.php:741 1164 #: assets/dashboard.js:219 1165 msgid "Excluded page paths exceed 2,000 bytes. Shorten the list and save again. No settings were changed." 1166 msgstr "" 1167 1168 #: includes/class-tracewell.php:742 1169 #: assets/dashboard.js:220 1170 msgid "Additional exclusion selectors exceed 500 bytes. Shorten the selector list and save again. No settings were changed." 1171 msgstr "" 1172 1173 #: includes/class-tracewell.php:745 1107 1174 msgid "Settings could not be saved. The previous recording settings remain active. Please retry." 1108 1175 msgstr "" 1109 1176 1110 #: includes/class-tracewell.php:7 181111 #: includes/class-tracewell.php:7 221177 #: includes/class-tracewell.php:789 1178 #: includes/class-tracewell.php:793 1112 1179 msgid "ClickClue guide" 1113 1180 msgstr "" … … 1148 1215 #: includes/help-page.php:5 1149 1216 #: includes/help-page.php:6 1150 #: includes/help-page.php: 271151 #: includes/help-page.php: 681152 #: includes/help-page.php:2 181153 #: includes/help-page.php:2 441154 #: includes/help-page.php:3 031217 #: includes/help-page.php:33 1218 #: includes/help-page.php:75 1219 #: includes/help-page.php:225 1220 #: includes/help-page.php:251 1221 #: includes/help-page.php:316 1155 1222 msgid "Free + Pro" 1156 1223 msgstr "" 1157 1224 1158 1225 #: includes/help-page.php:5 1159 #: includes/help-page.php: 271226 #: includes/help-page.php:33 1160 1227 msgid "Consent, masking & exclusions" 1161 1228 msgstr "" 1162 1229 1163 1230 #: includes/help-page.php:5 1164 #: includes/help-page.php: 681231 #: includes/help-page.php:75 1165 1232 msgid "Find, replay & review sessions" 1166 1233 msgstr "" 1167 1234 1168 1235 #: includes/help-page.php:5 1169 #: includes/help-page.php: 861236 #: includes/help-page.php:93 1170 1237 msgid "Legacy WooCommerce integration" 1171 1238 msgstr "" 1172 1239 1173 1240 #: includes/help-page.php:5 1174 #: includes/help-page.php: 861175 #: includes/help-page.php:11 01176 #: includes/help-page.php:13 01177 #: includes/help-page.php:1 571178 #: includes/help-page.php:1 671179 #: includes/help-page.php:1 841180 #: includes/help-page.php:20 21181 #: includes/help-page.php:22 21182 #: includes/help-page.php:3 231183 #: includes/help-page.php:3 331184 #: includes/help-page.php:3 391241 #: includes/help-page.php:93 1242 #: includes/help-page.php:117 1243 #: includes/help-page.php:137 1244 #: includes/help-page.php:164 1245 #: includes/help-page.php:174 1246 #: includes/help-page.php:191 1247 #: includes/help-page.php:209 1248 #: includes/help-page.php:229 1249 #: includes/help-page.php:336 1250 #: includes/help-page.php:346 1251 #: includes/help-page.php:352 1185 1252 #: assets/pro-previews.js:67 1186 1253 msgid "Pro" … … 1188 1255 1189 1256 #: includes/help-page.php:5 1190 #: includes/help-page.php:11 01257 #: includes/help-page.php:117 1191 1258 msgid "Heatmaps & form activity" 1192 1259 msgstr "" 1193 1260 1194 1261 #: includes/help-page.php:5 1195 #: includes/help-page.php:13 01262 #: includes/help-page.php:137 1196 1263 msgid "Clues, journeys & comparisons" 1197 1264 msgstr "" 1198 1265 1199 1266 #: includes/help-page.php:5 1200 #: includes/help-page.php:1 571267 #: includes/help-page.php:164 1201 1268 msgid "Ask for optional visitor feedback" 1202 1269 msgstr "" 1203 1270 1204 1271 #: includes/help-page.php:5 1205 #: includes/help-page.php:1 671272 #: includes/help-page.php:174 1206 1273 msgid "Team roles & replay invitations" 1207 1274 msgstr "" 1208 1275 1209 1276 #: includes/help-page.php:5 1210 #: includes/help-page.php:1 841277 #: includes/help-page.php:191 1211 1278 msgid "Connect sites & export client reports" 1212 1279 msgstr "" 1213 1280 1214 1281 #: includes/help-page.php:5 1215 #: includes/help-page.php:20 21282 #: includes/help-page.php:209 1216 1283 msgid "Legacy email & AI summaries" 1217 1284 msgstr "" 1218 1285 1219 1286 #: includes/help-page.php:5 1220 #: includes/help-page.php:2 181287 #: includes/help-page.php:225 1221 1288 msgid "Storage, retention & deletion" 1222 1289 msgstr "" 1223 1290 1224 1291 #: includes/help-page.php:5 1225 #: includes/help-page.php:2 441292 #: includes/help-page.php:251 1226 1293 msgid "Update safely & keep existing recordings" 1227 1294 msgstr "" 1228 1295 1229 1296 #: includes/help-page.php:5 1230 #: includes/help-page.php:3 031297 #: includes/help-page.php:316 1231 1298 msgid "Troubleshoot a recording" 1232 1299 msgstr "" 1233 1300 1234 1301 #: includes/help-page.php:5 1235 #: includes/help-page.php:3 231302 #: includes/help-page.php:336 1236 1303 #: assets/workspace.js:83 1237 1304 msgid "Explore Grouped Clues" … … 1239 1306 1240 1307 #: includes/help-page.php:5 1241 #: includes/help-page.php:3 331308 #: includes/help-page.php:346 1242 1309 #: assets/workspace.js:83 1243 1310 msgid "Explore Pro Comparisons" … … 1245 1312 1246 1313 #: includes/help-page.php:5 1247 #: includes/help-page.php:3 391314 #: includes/help-page.php:352 1248 1315 #: assets/workspace.js:83 1249 1316 msgid "See Pro Team Tools" … … 1299 1366 1300 1367 #: includes/help-page.php:15 1301 msgid " Choose Prepare test settings to fill the form with recording enabled and 100% sampling. Review the consent prompt, excluded paths and private selectors, then chooseSave settings. Preparing alone does not save."1368 msgid "Open ClickClue → Settings → Test & diagnostics and choose Prepare test settings. This fills the form with recording enabled and 100% sampling while preserving your text-masking choice. Review consent, excluded paths and private selectors, then select Save settings. Preparing alone does not save." 1302 1369 msgstr "" 1303 1370 … … 1307 1374 1308 1375 #: includes/help-page.php:15 1309 msgid " Copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded."1376 msgid "Under Settings → Test & diagnostics, copy the test link into a signed-out private window. Signed-in users, including administrators, are excluded; a signed-in test panel explains how to open an eligible visit." 1310 1377 msgstr "" 1311 1378 … … 1315 1382 1316 1383 #: includes/help-page.php:15 1317 msgid "Return to WordPress. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing the useful moment,what you observed and what you will check."1384 msgid "Return to Settings → Test & diagnostics. Choose Check for my recording, then Review latest recording. Inspect masking and playback. Bookmark the recording and add a note describing what you observed and what you will check." 1318 1385 msgstr "" 1319 1386 … … 1347 1414 1348 1415 #: includes/help-page.php:24 1416 #: includes/help-page.php:257 1417 msgid "From Pro 1.1.5, eligible updates appear on the normal WordPress Plugins screen. Keep Free and Pro on the same version: update Free first, then choose Update now for Pro. You can use WordPress’s optional automatic-update control for Pro. Back up and test your theme and integrations before updating; automatic updates depend on WordPress’s scheduled checks." 1418 msgstr "" 1419 1420 #: includes/help-page.php:25 1421 #: includes/help-page.php:258 1422 msgid "If you already use Pro 1.1.4 or earlier, download the current matching Pro ZIP from your eligible ClickClue account and replace it manually once to install the updater. Update Free to the same current version first. Future eligible Pro releases can then update through WordPress." 1423 msgstr "" 1424 1425 #: includes/help-page.php:26 1349 1426 msgid "Explore page heatmaps and forms" 1350 1427 msgstr "" 1351 1428 1352 #: includes/help-page.php:26 1353 #: includes/help-page.php:67 1429 #: includes/help-page.php:28 1430 msgid "Leave an honest review, when you are ready" 1431 msgstr "" 1432 1433 #: includes/help-page.php:29 1434 msgid "The Help page always links to the WordPress.org review page. A small invitation can also appear inside ClickClue after at least 30 days from its first successfully recorded visit tracked by version 1.1.5, and after you have reviewed ten distinct recordings across five UTC days. These bounded counters and your choice stay in this WordPress installation; they are not interest analytics sent to ClickClue." 1435 msgstr "" 1436 1437 #: includes/help-page.php:30 1438 msgid "Choose Leave an honest review, Remind me in 30 days or No thanks. No thanks permanently dismisses the invitation for your administrator account; updates preserve that choice. You can still use the Help link later. Opening the review page does not tell ClickClue whether you posted a review." 1439 msgstr "" 1440 1441 #: includes/help-page.php:32 1442 #: includes/help-page.php:74 1443 #: includes/help-page.php:92 1444 #: includes/help-page.php:116 1445 #: includes/help-page.php:136 1446 #: includes/help-page.php:163 1447 #: includes/help-page.php:173 1448 #: includes/help-page.php:190 1449 #: includes/help-page.php:208 1450 #: includes/help-page.php:224 1451 #: includes/help-page.php:250 1452 #: includes/help-page.php:315 1453 #: includes/help-page.php:335 1454 #: includes/help-page.php:345 1455 #: includes/help-page.php:351 1456 #: includes/help-page.php:361 1457 msgid "Back to contents ↑" 1458 msgstr "" 1459 1460 #: includes/help-page.php:33 1461 msgid "Control when recording starts, protect private elements and handle withdrawal." 1462 msgstr "" 1463 1464 #: includes/help-page.php:34 1465 msgid "Understand the defaults" 1466 msgstr "" 1467 1468 #: includes/help-page.php:35 1469 msgid "The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected." 1470 msgstr "" 1471 1472 #: includes/help-page.php:36 1473 msgid "Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture." 1474 msgstr "" 1475 1476 #: includes/help-page.php:37 1477 msgid "Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority." 1478 msgstr "" 1479 1480 #: includes/help-page.php:37 1481 msgid "Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched." 1482 msgstr "" 1483 1484 #: includes/help-page.php:37 1485 msgid "URL query values and fragments are removed, except a verified public WordPress post or page ID used to distinguish plain permalinks. Recorded links and arbitrary asset URLs are stripped." 1486 msgstr "" 1487 1488 #: includes/help-page.php:37 1489 msgid "Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme." 1490 msgstr "" 1491 1492 #: includes/help-page.php:39 1493 msgid "Organise approved public images" 1494 msgstr "" 1495 1496 #: includes/help-page.php:40 1497 msgid "Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent. The separately bounded prepared catalogue holds about 46 MiB of encoded image data and URL metadata. Image copies stored with recordings count toward the recording payload budget." 1498 msgstr "" 1499 1500 #: includes/help-page.php:41 1501 msgid "A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched." 1502 msgstr "" 1503 1504 #: includes/help-page.php:42 1505 msgid "Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded." 1506 msgstr "" 1507 1508 #: includes/help-page.php:44 1509 msgid "Publish your notice and keep consent evidence" 1510 msgstr "" 1511 1512 #: includes/help-page.php:45 1513 msgid "In WordPress Settings → Privacy, select a published page with your operator identity, privacy contact, replay purpose, legal basis, recipients, retention, transfers and visitor rights. Adapt the ClickClue suggested text there. The built-in prompt links to this page and blocks capture if it is missing. Allow replay and No thanks have equal visual prominence." 1514 msgstr "" 1515 1516 #: includes/help-page.php:46 1517 msgid "From 0.6.2, affirmative choices include a decision time and notice revision. An older positive choice or a changed notice/retention/masking/edition requires a fresh choice; a valid refusal stays refused. Update both ZIPs and clear page/CDN caches so the current loader and revision reach visitors." 1518 msgstr "" 1519 1520 #: includes/help-page.php:47 1521 msgid "New recordings store the server receipt time, matching revision and retention deadline, deleted with the recording. Increasing retention later does not extend that deadline. A notice change also stops uploads with earlier authorisation. Existing sessions keep blank receipt fields; no historical consent is invented. Keep dated copies of each notice and any CMP ledger under your justified retention policy. A browser flag or technical receipt alone does not prove that consent was informed and valid." 1522 msgstr "" 1523 1524 #: includes/help-page.php:49 1525 msgid "Finish your website-specific privacy setup" 1526 msgstr "" 1527 1528 #: includes/help-page.php:50 1529 msgid "This is a configuration guide, not a compliance certificate. Establish your controller/processor roles, applicable national cookie rules, access controls, processor agreements and international-transfer arrangements. Assess whether a DPIA and a DPO are required for your actual processing before collecting real visits." 1530 msgstr "" 1531 1532 #: includes/help-page.php:51 1533 msgid "Document how you receive and answer access, erasure, objection and other rights requests, normally within one month. The current-visit withdrawal token is not an identity search across every visit. Do not collect new identity data just to make anonymous visits identifiable." 1534 msgstr "" 1535 1536 #: includes/help-page.php:52 1537 msgid "Review cleanup, backups, exports and enabled email/AI/agency services separately. Maintain an incident response process, including authority notification within 72 hours when required and notification to affected people when the applicable threshold is met. Keep your local legal review and decisions with the installation record." 1538 msgstr "" 1539 1540 #: includes/help-page.php:54 1541 msgid "Exclude sensitive regions" 1542 msgstr "" 1543 1544 #: includes/help-page.php:55 1545 msgid "Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded." 1546 msgstr "" 1547 1548 #: includes/help-page.php:56 1549 msgid "Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use." 1550 msgstr "" 1551 1552 #: includes/help-page.php:57 1553 msgid "Excluded page paths can use up to 2,000 UTF-8 bytes and additional selectors up to 500 UTF-8 bytes. Longer rules are rejected without changing saved settings. Review the error and shorten the list; ClickClue never silently cuts an exclusion to fit." 1554 msgstr "" 1555 1556 #: includes/help-page.php:60 1557 msgid "Connect your consent manager (optional)" 1558 msgstr "" 1559 1560 #: includes/help-page.php:61 1561 msgid "Keep the built-in prompt until your consent manager is wired and tested. Turning the prompt off does not remove the consent requirement. Call grant only after the visitor agrees, and withdraw whenever that choice changes." 1562 msgstr "" 1563 1564 #: includes/help-page.php:62 1565 msgid "Do not call grant on page load for every visitor." 1566 msgstr "" 1567 1568 #: includes/help-page.php:62 1569 msgid "Test accept, decline, later withdrawal, cleared storage and the next page visit. A current notice revision is required by the start endpoint." 1570 msgstr "" 1571 1572 #: includes/help-page.php:62 1573 msgid "Archive your CMP notice and consent records. Change the clickclue_consent_notice_revision filter value whenever your CMP replay purpose or notice changes, then clear caches." 1574 msgstr "" 1575 1576 #: includes/help-page.php:62 1577 msgid "Use window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent() for new integrations. Existing integrations remain compatible." 1578 msgstr "" 1579 1580 #: includes/help-page.php:69 1581 msgid "Stop capture and confirm deletion" 1582 msgstr "" 1583 1584 #: includes/help-page.php:70 1585 msgid "Replay privacy lets the visitor stop and delete the current authorised recording. Capture stops immediately. A separate confirmation reports whether saved data was deleted." 1586 msgstr "" 1587 1588 #: includes/help-page.php:71 1589 msgid "A failed deletion keeps a tab-local retry token when session storage is available. Use Retry deletion; reloading that tab or reconnecting also retries. New capture stays off while deletion is unresolved. A former capture token can request deletion for up to 30 days after expiry, but cannot upload. Older recordings follow retention and administrator deletion." 1590 msgstr "" 1591 1592 #: includes/help-page.php:72 1593 msgid "Understand retention and backups" 1594 msgstr "" 1595 1596 #: includes/help-page.php:75 1597 msgid "Use filters, bookmarks, notes and playback controls to keep investigations focused." 1598 msgstr "" 1599 1600 #: includes/help-page.php:76 1601 msgid "Find the right recording" 1602 msgstr "" 1603 1604 #: includes/help-page.php:77 1605 msgid "You can save up to 20 filter combinations per account on each site. In Pro, category filters narrow the list to matching checkout signals." 1606 msgstr "" 1607 1608 #: includes/help-page.php:78 1609 msgid "Open the recording list and filter by path or device. Add a UTC date range when you need a specific period." 1610 msgstr "" 1611 1612 #: includes/help-page.php:78 1613 msgid "Choose watched/unwatched or bookmarked recordings. These states belong to your WordPress account." 1614 msgstr "" 1615 1616 #: includes/help-page.php:78 1617 msgid "Name a useful combination and choose Save these filters. Select it later from Saved filters, or use Clear filters to reset." 1618 msgstr "" 1619 1620 #: includes/help-page.php:80 1621 msgid "Work through the replay" 1622 msgstr "" 1623 1624 #: includes/help-page.php:81 1625 msgid "Use play/pause, seeking and playback speed to inspect a moment." 1626 msgstr "" 1627 1628 #: includes/help-page.php:81 1629 msgid "Skip inactivity, move to the previous/next event or jump to the first error." 1630 msgstr "" 1631 1632 #: includes/help-page.php:81 1633 msgid "Space toggles playback and arrow keys move five seconds when a form control is not focused." 1634 msgstr "" 1635 1636 #: includes/help-page.php:81 1637 msgid "A successfully loaded replay is marked watched for accounts with review permission. A failed load leaves it unwatched." 1638 msgstr "" 1639 1640 #: includes/help-page.php:83 1641 msgid "Keep useful context" 1642 msgstr "" 1643 1644 #: includes/help-page.php:84 1645 msgid "Bookmark a recording and add a concise session note: what you observed, what you want to check and the change you plan to test. Notes are visible to authorised reviewers; they are not a private notebook." 1646 msgstr "" 1647 1354 1648 #: includes/help-page.php:85 1649 msgid "Each recording can hold up to 20 notes of up to 1,000 characters each. The note’s author or an administrator can delete it. Avoid customer names, payment information, passwords and pasted order details. An administrator can delete the recording in either edition. With the separate Pro add-on, administrators can also export permitted recording data; treat downloaded copies with the same care as the original." 1650 msgstr "" 1651 1652 #: includes/help-page.php:87 1653 msgid "Understand recording completeness" 1654 msgstr "" 1655 1656 #: includes/help-page.php:88 1657 msgid "The player shows whether delivery was confirmed through the latest checkpoint, is still unconfirmed, or was interrupted. Confirmation does not prove the visitor’s entire visit was captured." 1658 msgstr "" 1659 1660 #: includes/help-page.php:89 1661 msgid "The recorder retries identical batches and recovers from temporary disconnection using a bounded memory-only queue. Navigation and browser back/forward restoration preserve their own stream checkpoints. Closing the browser can destroy unsent events; do not interpret a missing ending as visitor abandonment." 1662 msgstr "" 1663 1664 #: includes/help-page.php:90 1665 msgid "Computed layout tracking prioritises visible changes and is bounded to2,048 elements and32 open shadow roots. A complex page can exceed that budget. Private boundaries still apply and unsupported content remains excluded." 1666 msgstr "" 1667 1668 #: includes/help-page.php:93 1669 msgid "Use the optional legacy checkout tools already included in Pro, with their existing data and settings." 1670 msgstr "" 1671 1672 #: includes/help-page.php:94 1673 msgid "Where to find the legacy tools" 1674 msgstr "" 1675 1676 #: includes/help-page.php:95 1677 msgid "ClickClue focuses on WordPress replay, heatmaps and visitor interactions. The optional tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. Enable only the integrations you need and test them with your own checkout before using their observations." 1678 msgstr "" 1679 1680 #: includes/help-page.php:97 1681 msgid "What the integration observes" 1682 msgstr "" 1683 1684 #: includes/help-page.php:98 1685 msgid "Classic checkout uses known frontend events. Checkout Blocks uses cart events and visible error notices. Fixed categories include shipping, coupon, validation and general checkout errors; raw notices, payment details and order IDs are not included in those markers." 1686 msgstr "" 1687 1688 #: includes/help-page.php:99 1689 msgid "Embedded payment frames are excluded. Test your actual theme, checkout extensions and payment gateway in staging." 1690 msgstr "" 1691 1692 #: includes/help-page.php:101 1693 msgid "Read the ordered funnel" 1694 msgstr "" 1695 1696 #: includes/help-page.php:102 1697 msgid "Legacy checkout → Checkout funnel shows recorded visits, add-to-cart, checkout view, checkout submit and confirmed paid. Each step counts recordings that reached the steps in order. The displayed conversion and drop-off figures refer to this consenting, sampled, retained set." 1698 msgstr "" 1699 1700 #: includes/help-page.php:103 1701 msgid "A submit is an attempt. Only a linked WooCommerce server paid event can add payment confirmation. The association uses a short-lived capture cookie and a keyed order hash rather than storing a raw order ID in ClickClue. Missing linkage, navigation, sampling or retention can leave an order outside the funnel." 1702 msgstr "" 1703 1704 #: includes/help-page.php:104 1705 msgid "These observations do not calculate recovered revenue or prove why a customer left." 1706 msgstr "" 1707 1708 #: includes/help-page.php:106 1709 msgid "Turn an error into an investigation" 1710 msgstr "" 1711 1712 #: includes/help-page.php:107 1713 msgid "Open Legacy checkout → Checkout issue inbox and select a category. Read the affected-recording counts and suggested checks." 1714 msgstr "" 1715 1716 #: includes/help-page.php:107 1717 msgid "Choose Watch latest example to open a replay with two seconds of context, or View matching recordings to review the group." 1718 msgstr "" 1719 1720 #: includes/help-page.php:107 1721 msgid "Download an investigation brief when you need a text summary of counts, example references, suggested checks and your category note. Review it before sharing." 1722 msgstr "" 1723 1724 #: includes/help-page.php:107 1725 msgid "After making and testing a store change, select Mark a fix. A later matching signal changes Monitoring to Observed again." 1726 msgstr "" 1727 1355 1728 #: includes/help-page.php:109 1729 msgid "Measure investigation time" 1730 msgstr "" 1731 1732 #: includes/help-page.php:110 1733 msgid "Open Legacy checkout → Legacy checkout investigation pilot in Pro to time matched staging tasks against your usual workflow. Record completed and incomplete tasks, confidence and interruptions. Results stay in the current browser for this WordPress account; export CSV before clearing storage. No study data is sent to ClickClue." 1734 msgstr "" 1735 1736 #: includes/help-page.php:112 1737 msgid "Interpret before and after carefully" 1738 msgstr "" 1739 1740 #: includes/help-page.php:113 1741 msgid "Comparisons use equal windows around a fix marker, up to seven days each and limited to retained recordings. Small samples show counts instead of percentages. A single visit may span both windows." 1742 msgstr "" 1743 1744 #: includes/help-page.php:114 1745 msgid "The change history records WordPress update hooks, not every possible deployment. Timing alone does not establish that an update caused an error." 1746 msgstr "" 1747 1748 #: includes/help-page.php:117 1749 msgid "Compare click positions, scroll reach and structural form observations within compatible layouts." 1750 msgstr "" 1751 1752 #: includes/help-page.php:118 1753 msgid "Select the page layout first" 1754 msgstr "" 1755 1756 #: includes/help-page.php:119 1757 msgid "A layout fingerprint is a structural grouping aid. It is not a screenshot, a security identifier or a guarantee that every dynamic layout is identical." 1758 msgstr "" 1759 1760 #: includes/help-page.php:120 1761 msgid "Open Heatmaps & forms and choose your date/device scope." 1762 msgstr "" 1763 1764 #: includes/help-page.php:120 1765 msgid "Choose a page path, layout fingerprint and viewport group. Refresh after recording a new synthetic visit." 1766 msgstr "" 1767 1768 #: includes/help-page.php:120 1769 msgid "Read the recording counts alongside the result. Do not combine different layouts to claim a single page-wide result." 1770 msgstr "" 1771 1772 #: includes/help-page.php:122 1773 msgid "Read click and scroll observations" 1774 msgstr "" 1775 1776 #: includes/help-page.php:123 1777 msgid "The heatmap shows coarsened positions from the top to the bottom of the page. Larger cells represent more clicks. A table gives the displayed cells’ counts and distinct recording counts." 1778 msgstr "" 1779 1780 #: includes/help-page.php:124 1781 msgid "Scroll reach counts observed depth thresholds. It does not establish that someone read or understood the content. Private regions are excluded. The grid remains available for older recordings without measured layout dimensions. The overlay is a reconstruction, not a screenshot; blocked media, fonts and dynamic layout differences can affect its appearance." 1782 msgstr "" 1783 1784 #: includes/help-page.php:125 1785 msgid "Choose Open recorded page overlay to reconstruct a matching masked page." 1786 msgstr "" 1787 1788 #: includes/help-page.php:125 1789 msgid "Switch between Click density and Scroll reach." 1790 msgstr "" 1791 1792 #: includes/help-page.php:125 1793 msgid "Use the page-position slider to inspect the relevant part of the page." 1794 msgstr "" 1795 1796 #: includes/help-page.php:127 1797 msgid "Inspect fields without their values" 1798 msgstr "" 1799 1800 #: includes/help-page.php:128 1801 msgid "Fields use structural positions such as Form 1 · field 2, rather than entered values or labels. The table reports focus, validation signals and submit attempts." 1802 msgstr "" 1803 1356 1804 #: includes/help-page.php:129 1805 msgid "No submit observed counts focused fields in recordings inactive for at least five minutes without a same-form submit. Missing signals, navigation and custom form behaviour can affect it; this is not a confirmed abandonment count." 1806 msgstr "" 1807 1808 #: includes/help-page.php:130 1809 msgid "When form structure changes, select the corresponding new layout. Test AJAX forms and custom validation in your own theme before relying on the observations." 1810 msgstr "" 1811 1812 #: includes/help-page.php:132 1813 msgid "Name structural elements and compare periods" 1814 msgstr "" 1815 1816 #: includes/help-page.php:133 1817 msgid "Whole-range element and form reports let reviewers name an important button or structural field in administration. These aliases are owner-provided context, not text collected from a visitor." 1818 msgstr "" 1819 1820 #: includes/help-page.php:134 1821 msgid "Compare chosen UTC periods and device categories, keeping layout identifiers separate. Open supporting recordings before making an interpretation. Input values remain excluded and focus duration is not typing duration." 1822 msgstr "" 1823 1824 #: includes/help-page.php:137 1825 msgid "Follow an interaction, save a funnel and compare two periods with clear sample counts." 1826 msgstr "" 1827 1828 #: includes/help-page.php:138 1829 msgid "Review a clue in context" 1830 msgstr "" 1831 1832 #: includes/help-page.php:139 1833 msgid "A clue is a lead, not proof of a broken button. Legitimate interactions can meet these conditions. The review status applies to this observation, not an entire website." 1834 msgstr "" 1835 1836 #: includes/help-page.php:140 1837 msgid "Open Clues and choose an observation. Watch opens shortly before its recorded moment." 1838 msgstr "" 1839 1840 #: includes/help-page.php:140 1841 msgid "Inspect what happened before and after. Three clicks within one second can create a repeated-click clue; an eligible button with no observed response for about 1.5 seconds can create a possible unresponsive-click clue." 1842 msgstr "" 1843 1844 #: includes/help-page.php:140 1845 msgid "Mark the observation New, Reviewing, Resolved or Ignored. Note the evidence and the next thing you will check." 1846 msgstr "" 1847 1848 #: includes/help-page.php:142 1849 msgid "Follow an ordered path" 1850 msgstr "" 1851 1852 #: includes/help-page.php:143 1853 msgid "Journeys shows page paths within a retained recording. Save up to twenty funnels, each with two to eight ordered steps matching page paths, clues or form observations. A path prefix includes its child paths." 1854 msgstr "" 1855 1856 #: includes/help-page.php:144 1857 msgid "Use a recorded layout ID when structural field positions matter. Journeys do not identify a person across separate visits or devices." 1858 msgstr "" 1859 1860 #: includes/help-page.php:146 1861 msgid "Compare two periods fairly" 1862 msgstr "" 1863 1864 #: includes/help-page.php:147 1865 msgid "The instant Compare screen analyzes batches of up to 200 retained recordings. Use Whole-range reports for all eligible recordings in the period. Consent, sampling, retention and bounded observations affect coverage. Changes in rates do not establish that a website edit caused the difference. Older recordings do not receive invented new observations." 1866 msgstr "" 1867 1868 #: includes/help-page.php:148 1869 msgid "Choose two separate UTC date ranges." 1870 msgstr "" 1871 1872 #: includes/help-page.php:148 1873 msgid "Use matching page, device and layout filters where appropriate." 1874 msgstr "" 1875 1876 #: includes/help-page.php:148 1877 msgid "Read the sample counts and denominators before interpreting rates." 1878 msgstr "" 1879 1880 #: includes/help-page.php:148 1881 msgid "Inspect representative replays from both periods before drawing a conclusion." 1882 msgstr "" 1883 1884 #: includes/help-page.php:150 1885 msgid "Build a whole-period report" 1886 msgstr "" 1887 1888 #: includes/help-page.php:151 1889 msgid "Use Whole-range reports for all eligible retained recordings in the chosen UTC period. Progress and the observation cutoff remain visible while bounded jobs process the indexes. WP-Cron continues work; manual advancement also works on low-traffic sites. Refresh to include later arrivals." 1890 msgstr "" 1891 1892 #: includes/help-page.php:152 1893 msgid "Counts exclude deleted and expired recordings. A report cannot reconstruct observations that were never captured. Legacy instant Discovery views still show their sample limits; heatmap aggregation follows its separate existing path." 1894 msgstr "" 1895 1896 #: includes/help-page.php:153 1897 msgid "Temporary jobs expire after one hour and are limited to two per reviewer and eight per site. Each job can hold up to100,000 recording memberships and500,000 derived facts; reaching a bound is labelled partial. Narrow the period to complete a larger investigation. Each recording retains up to300 indexed observations." 1898 msgstr "" 1899 1900 #: includes/help-page.php:155 1901 msgid "Follow up a recurring clue" 1902 msgstr "" 1903 1357 1904 #: includes/help-page.php:156 1905 msgid "Whole-range reports groups repeated observations by kind, page, layout, device and structural target. Review affected visits, frequency, trend and replay moments. Set an owner and review state, and record an edit date when relevant." 1906 msgstr "" 1907 1908 #: includes/help-page.php:157 1909 msgid "Before/after comparisons describe observations. They cannot establish that your edit caused a change. Layout changes, sampling, consent and different traffic can all affect the result." 1910 msgstr "" 1911 1912 #: includes/help-page.php:159 1913 msgid "Configure meaningful goals" 1914 msgstr "" 1915 1916 #: includes/help-page.php:160 1917 msgid "Use Goals to create fixed named success observations and select supported form adapters. Manual integration must call the goal only from your actual successful-completion callback. Never pass form values, email addresses, customer IDs or other identifying content." 1918 msgstr "" 1919 1920 #: includes/help-page.php:161 1921 msgid "An integration-reported completion is separate from a submit attempt and does not prove delivery, payment or a business result. Configuring enabled goals changes the consent scope. Use timed funnel steps and the product, enquiry and sign-up templates to inspect the journey before completion." 1922 msgstr "" 1923 1924 #: includes/help-page.php:164 1925 msgid "Publish a rating or fixed-choice question and review responses alongside their recordings." 1926 msgstr "" 1927 1928 #: includes/help-page.php:165 1929 msgid "Create a short optional campaign" 1930 msgstr "" 1931 1358 1932 #: includes/help-page.php:166 1933 msgid "Visitor feedback supports multiple campaigns. Choose up to three rating or fixed-choice questions, an optional conditional follow-up, public paths, a UTC schedule and browser-session frequency controls. Preview the flow and publish your site-specific privacy notice before enabling it." 1934 msgstr "" 1935 1936 #: includes/help-page.php:167 1937 msgid "A campaign requires current replay consent and an eligible sampled recording. Signed-in, private, account and checkout pages stay excluded. No free-text responses are collected. Never ask for identifying or sensitive information." 1938 msgstr "" 1939 1940 #: includes/help-page.php:169 1941 msgid "Review feedback with its context" 1942 msgstr "" 1943 1944 #: includes/help-page.php:170 1945 msgid "Filter results by date, page and device. Responses remain linked to the exact saved question revision and current recording. Legacy single-question results remain available. Pausing stops new responses; deletion, withdrawal and retention remove linked responses." 1946 msgstr "" 1947 1948 #: includes/help-page.php:171 1949 msgid "A browser-session quiet-period marker is stored only after consent, cleared on withdrawal and does not identify people across visits. Responses are voluntary and cannot represent every visitor." 1950 msgstr "" 1951 1952 #: includes/help-page.php:174 1953 msgid "Give colleagues the access they need and share one replay with an existing account." 1954 msgstr "" 1955 1956 #: includes/help-page.php:175 1957 #: includes/help-page.php:177 1958 msgid "Assign roles in WordPress" 1959 msgstr "" 1960 1961 #: includes/help-page.php:176 1962 msgid "Sign in as a WordPress administrator and open Users → All Users." 1963 msgstr "" 1964 1965 #: includes/help-page.php:176 1966 msgid "Edit the existing account that needs access. Under Role, choose ClickClue analyst or ClickClue reviewer." 1967 msgstr "" 1968 1969 #: includes/help-page.php:176 1970 msgid "Select Update User. Ask the person to sign in with their own account and confirm the expected ClickClue access." 1971 msgstr "" 1972 1973 #: includes/help-page.php:177 1974 msgid "Role" 1975 msgstr "" 1976 1977 #: includes/help-page.php:177 1978 msgid "Can review" 1979 msgstr "" 1980 1981 #: includes/help-page.php:177 1982 msgid "Can change" 1983 msgstr "" 1984 1985 #: includes/help-page.php:177 1986 msgid "Administrator" 1987 msgstr "" 1988 1989 #: includes/help-page.php:177 1990 msgid "Recordings, analytics, notes and audit" 1991 msgstr "" 1992 1993 #: includes/help-page.php:177 1994 msgid "Settings, exports, deletion, services and invitations" 1995 msgstr "" 1996 1997 #: includes/help-page.php:177 1998 msgid "ClickClue analyst" 1999 msgstr "" 2000 2001 #: includes/help-page.php:177 2002 msgid "Recordings, analytics and shared notes" 2003 msgstr "" 2004 2005 #: includes/help-page.php:177 2006 msgid "Review state, bookmarks, notes and saved filters" 2007 msgstr "" 2008 2009 #: includes/help-page.php:177 2010 msgid "ClickClue reviewer" 2011 msgstr "" 2012 2013 #: includes/help-page.php:177 2014 msgid "Read only" 2015 msgstr "" 2016 2017 #: includes/help-page.php:177 2018 msgid "Invited existing account" 2019 msgstr "" 2020 2021 #: includes/help-page.php:177 2022 msgid "Only the specifically invited recording" 2023 msgstr "" 2024 2025 #: includes/help-page.php:177 2026 msgid "No access to the full recording list" 2027 msgstr "" 2028 2029 #: includes/help-page.php:179 2030 msgid "Invite someone to one recording" 2031 msgstr "" 2032 2033 #: includes/help-page.php:180 2034 msgid "An invitation is not a public replay link. It expires, binds to one account and recording, and stops working when the recording is deleted." 2035 msgstr "" 2036 2037 #: includes/help-page.php:181 2038 msgid "As an administrator, open a recording and expand Invite someone to this replay." 2039 msgstr "" 2040 2041 #: includes/help-page.php:181 2042 msgid "Choose an existing WordPress account and an expiry of 1–168 hours. Create the invitation." 2043 msgstr "" 2044 2045 #: includes/help-page.php:181 2046 msgid "Copy the link and share it with that person through your own approved channel. Creating the link does not send an email." 2047 msgstr "" 2048 2049 #: includes/help-page.php:181 2050 msgid "The recipient must sign in as the chosen account. Revoke access from Workspace → Active replay invitations when it is no longer needed." 2051 msgstr "" 2052 1359 2053 #: includes/help-page.php:183 2054 msgid "Review access and changes" 2055 msgstr "" 2056 2057 #: includes/help-page.php:184 2058 msgid "Workspace displays the latest 30 entries from a bounded log of up to 100 administrative actions. It includes the actor ID, action, target reference and time, not replay contents. This is a recent activity aid, not a tamper-proof compliance archive." 2059 msgstr "" 2060 2061 #: includes/help-page.php:186 2062 msgid "Work in shared investigations" 2063 msgstr "" 2064 2065 #: includes/help-page.php:187 2066 msgid "Create private or team collections, add retained recordings, assign an eligible WordPress account and choose a review status. Add a discussion at a replay timestamp to keep evidence and context together. Assignment does not grant access or send a message." 2067 msgstr "" 2068 2069 #: includes/help-page.php:188 2070 msgid "Private collections belong to their owner and administrators. Team sharing still requires a ClickClue-capable WordPress role. Deleted or expired recordings lose their linked collection membership and discussion. Avoid putting sensitive visitor details in notes." 2071 msgstr "" 2072 2073 #: includes/help-page.php:191 2074 msgid "Bring authorised site health summaries together while recordings stay on each site." 2075 msgstr "" 2076 2077 #: includes/help-page.php:192 2078 msgid "Connect a remote site" 2079 msgstr "" 2080 2081 #: includes/help-page.php:193 2082 msgid "Connections use HTTPS and do not follow redirects with credentials. Use the final canonical site address. Application passwords are encrypted on the central server using its WordPress salts." 2083 msgstr "" 2084 2085 #: includes/help-page.php:194 2086 msgid "Install and activate compatible ClickClue Free and Pro packages on the remote HTTPS site." 2087 msgstr "" 2088 2089 #: includes/help-page.php:194 2090 msgid "Create a dedicated ClickClue reviewer account there. Generate a WordPress application password in that user’s profile." 2091 msgstr "" 2092 2093 #: includes/help-page.php:194 2094 msgid "On your central site, open Workspace → Your sites → Connect another WordPress site." 2095 msgstr "" 2096 2097 #: includes/help-page.php:194 2098 msgid "Enter the remote site address, reviewer username and application password. Select Connect site." 2099 msgstr "" 2100 2101 #: includes/help-page.php:196 2102 msgid "Understand the overview" 2103 msgstr "" 2104 2105 #: includes/help-page.php:197 2106 msgid "The overview includes the local site and up to 25 remote connections. It reports capture state, retained recording counts, issue counts and other summary information. Remote summaries may be cached for five minutes." 2107 msgstr "" 2108 2109 #: includes/help-page.php:198 2110 msgid "Open WordPress takes you to that site’s workspace. Each site keeps its own recordings, access controls, sampling and storage settings. The overview does not pool storage or increase a single site’s capacity." 2111 msgstr "" 2112 2113 #: includes/help-page.php:199 2114 msgid "Download client report exports a CSV of site summaries with their observation time." 2115 msgstr "" 2116 2117 #: includes/help-page.php:199 2118 msgid "It does not export recording payloads, customer identities or a branded PDF." 2119 msgstr "" 2120 2121 #: includes/help-page.php:199 2122 msgid "Review the report’s site names and contents before sending it to a client." 2123 msgstr "" 2124 1360 2125 #: includes/help-page.php:201 2126 msgid "End a connection" 2127 msgstr "" 2128 2129 #: includes/help-page.php:202 2130 msgid "Disconnect removes the saved connection from the central workspace. Revoke its application password at the remote WordPress account when access should end completely. A changed site address, password, certificate or security rule may require reconnecting." 2131 msgstr "" 2132 2133 #: includes/help-page.php:204 2134 msgid "Save and export an investigation report" 2135 msgstr "" 2136 2137 #: includes/help-page.php:205 2138 msgid "Investigations saves filter recipes combining clues, journeys and feedback. Report totals and exports share their retained population and coverage. Reopening a report reloads live eligible evidence instead of preserving hidden copies of removed recordings." 2139 msgstr "" 2140 2141 #: includes/help-page.php:206 2142 msgid "CSV and JSON exports require the appropriate administrative access. Keep exported files private; the plugin cannot recall files already downloaded. Connected-site summaries remain aggregate health overviews rather than a central store of remote recordings." 2143 msgstr "" 2144 2145 #: includes/help-page.php:209 2146 msgid "Configure checkout digests and event summaries in the Pro add-on." 2147 msgstr "" 2148 2149 #: includes/help-page.php:210 2150 msgid "Configure the legacy checkout digest" 2151 msgstr "" 2152 2153 #: includes/help-page.php:211 2154 msgid "The digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled." 2155 msgstr "" 2156 2157 #: includes/help-page.php:212 2158 msgid "Configure and test your WordPress mail transport." 2159 msgstr "" 2160 2161 #: includes/help-page.php:212 2162 msgid "Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold." 2163 msgstr "" 2164 2165 #: includes/help-page.php:212 2166 msgid "Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron." 2167 msgstr "" 2168 2169 #: includes/help-page.php:212 2170 msgid "Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery." 2171 msgstr "" 2172 2173 #: includes/help-page.php:214 2174 msgid "Summarise legacy checkout evidence" 2175 msgstr "" 2176 2177 #: includes/help-page.php:215 2178 msgid "This integration summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool." 2179 msgstr "" 2180 2181 #: includes/help-page.php:216 2182 msgid "The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day." 2183 msgstr "" 2184 1361 2185 #: includes/help-page.php:217 1362 #: includes/help-page.php:2431363 #: includes/help-page.php:3021364 #: includes/help-page.php:3221365 #: includes/help-page.php:3321366 #: includes/help-page.php:3381367 #: includes/help-page.php:3481368 msgid "Back to contents ↑"1369 msgstr ""1370 1371 #: includes/help-page.php:271372 msgid "Control when recording starts, protect private elements and handle withdrawal."1373 msgstr ""1374 1375 #: includes/help-page.php:281376 msgid "Understand the defaults"1377 msgstr ""1378 1379 #: includes/help-page.php:291380 msgid "The small consent loader runs first. The capture engine loads only after permission, sampling and server authorisation pass. Form values are always masked. Ordinary page text stays readable on new installations. Enable Mask all page text to hide it too. Existing saved masking choices stay unchanged on upgrade; explicitly private and masked regions remain protected."1381 msgstr ""1382 1383 #: includes/help-page.php:301384 msgid "Do Not Track and Global Privacy Control stop recording. Signed-in users and administration, login, account, order-pay and order-confirmation paths are excluded. Browser navigation into an excluded path also stops active capture."1385 msgstr ""1386 1387 #: includes/help-page.php:311388 msgid "Images are excluded by default. An administrator can explicitly approve public, static WordPress library images; only prepared copies of those images can appear in new recordings. Private regions still take priority."1389 msgstr ""1390 1391 #: includes/help-page.php:311392 msgid "Canvas, SVG, audio, video, embedded frames, hidden inputs and editable regions remain excluded. External fonts and CSS background images are not fetched."1393 msgstr ""1394 1395 #: includes/help-page.php:311396 msgid "URL queries and fragments are removed. Recorded links and arbitrary asset URLs are stripped."1397 msgstr ""1398 1399 #: includes/help-page.php:311400 msgid "Replay reconstructs the page. Dynamic or complex layouts can differ from the original; inspect a sample visit on your actual theme."1401 msgstr ""1402 1403 #: includes/help-page.php:331404 msgid "Organise approved public images"1405 msgstr ""1406 1407 #: includes/help-page.php:341408 msgid "Replay images is off by default. Explicitly approve individual public static WordPress attachments and organise them into named collections. The catalogue holds up to 256 approvals. Add or move images in groups of up to 16; browse 12 previews per page. Moving between collections does not alter consent."1409 msgstr ""1410 1411 #: includes/help-page.php:351412 msgid "A recording saves only used copies, bounded to 64 images and 2 MiB within its existing payload allowance. Images are prepared locally without metadata; only supported same-origin local URLs are matched. Private and masked regions always take priority. No arbitrary image URL is fetched."1413 msgstr ""1414 1415 #: includes/help-page.php:361416 msgid "Removing approval or switching image copies off removes affected retained copies. Downloaded exports and backups need separate handling. Updated approvals require current consent. External fonts, CSS backgrounds, SVG, video and embedded content stay excluded."1417 msgstr ""1418 1419 #: includes/help-page.php:381420 msgid "Publish your notice and keep consent evidence"1421 msgstr ""1422 1423 #: includes/help-page.php:391424 msgid "In WordPress Settings → Privacy, select a published page with your operator identity, privacy contact, replay purpose, legal basis, recipients, retention, transfers and visitor rights. Adapt the ClickClue suggested text there. The built-in prompt links to this page and blocks capture if it is missing. Allow replay and No thanks have equal visual prominence."1425 msgstr ""1426 1427 #: includes/help-page.php:401428 msgid "From 0.6.2, affirmative choices include a decision time and notice revision. An older positive choice or a changed notice/retention/masking/edition requires a fresh choice; a valid refusal stays refused. Update both ZIPs and clear page/CDN caches so the current loader and revision reach visitors."1429 msgstr ""1430 1431 #: includes/help-page.php:411432 msgid "New recordings store the server receipt time, matching revision and retention deadline, deleted with the recording. Increasing retention later does not extend that deadline. A notice change also stops uploads with earlier authorisation. Existing sessions keep blank receipt fields; no historical consent is invented. Keep dated copies of each notice and any CMP ledger under your justified retention policy. A browser flag or technical receipt alone does not prove that consent was informed and valid."1433 msgstr ""1434 1435 #: includes/help-page.php:431436 msgid "Finish your website-specific privacy setup"1437 msgstr ""1438 1439 #: includes/help-page.php:441440 msgid "This is a configuration guide, not a compliance certificate. Establish your controller/processor roles, applicable national cookie rules, access controls, processor agreements and international-transfer arrangements. Assess whether a DPIA and a DPO are required for your actual processing before collecting real visits."1441 msgstr ""1442 1443 #: includes/help-page.php:451444 msgid "Document how you receive and answer access, erasure, objection and other rights requests, normally within one month. The current-visit withdrawal token is not an identity search across every visit. Do not collect new identity data just to make anonymous visits identifiable."1445 msgstr ""1446 1447 #: includes/help-page.php:461448 msgid "Review cleanup, backups, exports and enabled email/AI/agency services separately. Maintain an incident response process, including authority notification within 72 hours when required and notification to affected people when the applicable threshold is met. Keep your local legal review and decisions with the installation record."1449 msgstr ""1450 1451 #: includes/help-page.php:481452 msgid "Exclude sensitive regions"1453 msgstr ""1454 1455 #: includes/help-page.php:491456 msgid "Add data-tw-block to a private element or enter its CSS selector in Settings → Recording & privacy. Existing data-private and .rr-block regions are also excluded."1457 msgstr ""1458 1459 #: includes/help-page.php:501460 msgid "Structural classes and IDs may remain for layout. Exclude elements whose attributes contain personal information. Inspect dynamic content, account widgets and order details in a synthetic recording before real use."1461 msgstr ""1462 1463 #: includes/help-page.php:531464 msgid "Connect your consent manager (optional)"1465 msgstr ""1466 1467 #: includes/help-page.php:541468 msgid "Keep the built-in prompt until your consent manager is wired and tested. Turning the prompt off does not remove the consent requirement. Call grant only after the visitor agrees, and withdraw whenever that choice changes."1469 msgstr ""1470 1471 #: includes/help-page.php:551472 msgid "Do not call grant on page load for every visitor."1473 msgstr ""1474 1475 #: includes/help-page.php:551476 msgid "Test accept, decline, later withdrawal, cleared storage and the next page visit. A current notice revision is required by the start endpoint."1477 msgstr ""1478 1479 #: includes/help-page.php:551480 msgid "Archive your CMP notice and consent records. Change the clickclue_consent_notice_revision filter value whenever your CMP replay purpose or notice changes, then clear caches."1481 msgstr ""1482 1483 #: includes/help-page.php:551484 msgid "Use window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent() for new integrations. Existing integrations remain compatible."1485 msgstr ""1486 1487 #: includes/help-page.php:621488 msgid "Stop capture and confirm deletion"1489 msgstr ""1490 1491 #: includes/help-page.php:631492 msgid "Replay privacy lets the visitor stop and delete the current authorised recording. Capture stops immediately. A separate confirmation reports whether saved data was deleted."1493 msgstr ""1494 1495 #: includes/help-page.php:641496 msgid "A failed deletion keeps a tab-local retry token when session storage is available. Use Retry deletion; reloading that tab or reconnecting also retries. New capture stays off while deletion is unresolved. A former capture token can request deletion for up to 30 days after expiry, but cannot upload. Older recordings follow retention and administrator deletion."1497 msgstr ""1498 1499 #: includes/help-page.php:651500 msgid "Understand retention and backups"1501 msgstr ""1502 1503 #: includes/help-page.php:681504 msgid "Use filters, bookmarks, notes and playback controls to keep investigations focused."1505 msgstr ""1506 1507 #: includes/help-page.php:691508 msgid "Find the right recording"1509 msgstr ""1510 1511 #: includes/help-page.php:701512 msgid "You can save up to 20 filter combinations per account on each site. In Pro, category filters narrow the list to matching checkout signals."1513 msgstr ""1514 1515 #: includes/help-page.php:711516 msgid "Open the recording list and filter by path or device. Add a UTC date range when you need a specific period."1517 msgstr ""1518 1519 #: includes/help-page.php:711520 msgid "Choose watched/unwatched or bookmarked recordings. These states belong to your WordPress account."1521 msgstr ""1522 1523 #: includes/help-page.php:711524 msgid "Name a useful combination and choose Save these filters. Select it later from Saved filters, or use Clear filters to reset."1525 msgstr ""1526 1527 #: includes/help-page.php:731528 msgid "Work through the replay"1529 msgstr ""1530 1531 #: includes/help-page.php:741532 msgid "Use play/pause, seeking and playback speed to inspect a moment."1533 msgstr ""1534 1535 #: includes/help-page.php:741536 msgid "Skip inactivity, move to the previous/next event or jump to the first error."1537 msgstr ""1538 1539 #: includes/help-page.php:741540 msgid "Space toggles playback and arrow keys move five seconds when a form control is not focused."1541 msgstr ""1542 1543 #: includes/help-page.php:741544 msgid "A successfully loaded replay is marked watched for accounts with review permission. A failed load leaves it unwatched."1545 msgstr ""1546 1547 #: includes/help-page.php:761548 msgid "Keep useful context"1549 msgstr ""1550 1551 #: includes/help-page.php:771552 msgid "Bookmark a recording and add a concise session note: what you observed, what you want to check and the change you plan to test. Notes are visible to authorised reviewers; they are not a private notebook."1553 msgstr ""1554 1555 #: includes/help-page.php:781556 msgid "Each recording can hold up to 20 notes of up to 1,000 characters each. The note’s author or an administrator can delete it. Avoid customer names, payment information, passwords and pasted order details. An administrator can delete the recording in either edition. With the separate Pro add-on, administrators can also export permitted recording data; treat downloaded copies with the same care as the original."1557 msgstr ""1558 1559 #: includes/help-page.php:801560 msgid "Understand recording completeness"1561 msgstr ""1562 1563 #: includes/help-page.php:811564 msgid "The player shows whether delivery was confirmed through the latest checkpoint, is still unconfirmed, or was interrupted. Confirmation does not prove the visitor’s entire visit was captured."1565 msgstr ""1566 1567 #: includes/help-page.php:821568 msgid "The recorder retries identical batches and recovers from temporary disconnection using a bounded memory-only queue. Navigation and browser back/forward restoration preserve their own stream checkpoints. Closing the browser can destroy unsent events; do not interpret a missing ending as visitor abandonment."1569 msgstr ""1570 1571 #: includes/help-page.php:831572 msgid "Computed layout tracking prioritises visible changes and is bounded to2,048 elements and32 open shadow roots. A complex page can exceed that budget. Private boundaries still apply and unsupported content remains excluded."1573 msgstr ""1574 1575 #: includes/help-page.php:861576 msgid "Existing checkout tools in this preview, while checkout diagnostics move toward the separate Frictions product."1577 msgstr ""1578 1579 #: includes/help-page.php:871580 msgid "How this fits the product direction"1581 msgstr ""1582 1583 #: includes/help-page.php:881584 msgid "ClickClue focuses on WordPress replay, heatmaps and visitor interactions. Checkout-specific diagnostics are planned for Frictions.com, a separate plugin. The tools below remain in Legacy checkout for existing installations. Recorded data, access and configured services are preserved. They are not part of the main ClickClue setup walkthrough, and this is not a release of Frictions."1585 msgstr ""1586 1587 #: includes/help-page.php:901588 msgid "What the integration observes"1589 msgstr ""1590 1591 #: includes/help-page.php:911592 msgid "Classic checkout uses known frontend events. Checkout Blocks uses cart events and visible error notices. Fixed categories include shipping, coupon, validation and general checkout errors; raw notices, payment details and order IDs are not included in those markers."1593 msgstr ""1594 1595 #: includes/help-page.php:921596 msgid "Embedded payment frames are excluded. Test your actual theme, checkout extensions and payment gateway in staging."1597 msgstr ""1598 1599 #: includes/help-page.php:941600 msgid "Read the ordered funnel"1601 msgstr ""1602 1603 #: includes/help-page.php:951604 msgid "Legacy checkout → Checkout funnel shows recorded visits, add-to-cart, checkout view, checkout submit and confirmed paid. Each step counts recordings that reached the steps in order. The displayed conversion and drop-off figures refer to this consenting, sampled, retained set."1605 msgstr ""1606 1607 #: includes/help-page.php:961608 msgid "A submit is an attempt. Only a linked WooCommerce server paid event can add payment confirmation. The association uses a short-lived capture cookie and a keyed order hash rather than storing a raw order ID in ClickClue. Missing linkage, navigation, sampling or retention can leave an order outside the funnel."1609 msgstr ""1610 1611 #: includes/help-page.php:971612 msgid "These observations do not calculate recovered revenue or prove why a customer left."1613 msgstr ""1614 1615 #: includes/help-page.php:991616 msgid "Turn an error into an investigation"1617 msgstr ""1618 1619 #: includes/help-page.php:1001620 msgid "Open Legacy checkout → Checkout issue inbox and select a category. Read the affected-recording counts and suggested checks."1621 msgstr ""1622 1623 #: includes/help-page.php:1001624 msgid "Choose Watch latest example to open a replay with two seconds of context, or View matching recordings to review the group."1625 msgstr ""1626 1627 #: includes/help-page.php:1001628 msgid "Download an investigation brief when you need a text summary of counts, example references, suggested checks and your category note. Review it before sharing."1629 msgstr ""1630 1631 #: includes/help-page.php:1001632 msgid "After making and testing a store change, select Mark a fix. A later matching signal changes Monitoring to Observed again."1633 msgstr ""1634 1635 #: includes/help-page.php:1021636 msgid "Measure investigation time"1637 msgstr ""1638 1639 #: includes/help-page.php:1031640 msgid "Open Legacy checkout → Legacy checkout investigation pilot in Pro to time matched staging tasks against your usual workflow. Record completed and incomplete tasks, confidence and interruptions. Results stay in the current browser for this WordPress account; export CSV before clearing storage. No study data is sent to ClickClue."1641 msgstr ""1642 1643 #: includes/help-page.php:1051644 msgid "Interpret before and after carefully"1645 msgstr ""1646 1647 #: includes/help-page.php:1061648 msgid "Comparisons use equal windows around a fix marker, up to seven days each and limited to retained recordings. Small samples show counts instead of percentages. A single visit may span both windows."1649 msgstr ""1650 1651 #: includes/help-page.php:1071652 msgid "The change history records WordPress update hooks, not every possible deployment. Timing alone does not establish that an update caused an error."1653 msgstr ""1654 1655 #: includes/help-page.php:1101656 msgid "Compare click positions, scroll reach and structural form observations within compatible layouts."1657 msgstr ""1658 1659 #: includes/help-page.php:1111660 msgid "Select the page layout first"1661 msgstr ""1662 1663 #: includes/help-page.php:1121664 msgid "A layout fingerprint is a structural grouping aid. It is not a screenshot, a security identifier or a guarantee that every dynamic layout is identical."1665 msgstr ""1666 1667 #: includes/help-page.php:1131668 msgid "Open Heatmaps & forms and choose your date/device scope."1669 msgstr ""1670 1671 #: includes/help-page.php:1131672 msgid "Choose a page path, layout fingerprint and viewport group. Refresh after recording a new synthetic visit."1673 msgstr ""1674 1675 #: includes/help-page.php:1131676 msgid "Read the recording counts alongside the result. Do not combine different layouts to claim a single page-wide result."1677 msgstr ""1678 1679 #: includes/help-page.php:1151680 msgid "Read click and scroll observations"1681 msgstr ""1682 1683 #: includes/help-page.php:1161684 msgid "The heatmap shows coarsened positions from the top to the bottom of the page. Larger cells represent more clicks. A table gives the displayed cells’ counts and distinct recording counts."1685 msgstr ""1686 1687 #: includes/help-page.php:1171688 msgid "Scroll reach counts observed depth thresholds. It does not establish that someone read or understood the content. Private regions are excluded. The grid remains available for older recordings without measured layout dimensions. The overlay is a reconstruction, not a screenshot; blocked media, fonts and dynamic layout differences can affect its appearance."1689 msgstr ""1690 1691 #: includes/help-page.php:1181692 msgid "Choose Open recorded page overlay to reconstruct a matching masked page."1693 msgstr ""1694 1695 #: includes/help-page.php:1181696 msgid "Switch between Click density and Scroll reach."1697 msgstr ""1698 1699 #: includes/help-page.php:1181700 msgid "Use the page-position slider to inspect the relevant part of the page."1701 msgstr ""1702 1703 #: includes/help-page.php:1201704 msgid "Inspect fields without their values"1705 msgstr ""1706 1707 #: includes/help-page.php:1211708 msgid "Fields use structural positions such as Form 1 · field 2, rather than entered values or labels. The table reports focus, validation signals and submit attempts."1709 msgstr ""1710 1711 #: includes/help-page.php:1221712 msgid "No submit observed counts focused fields in recordings inactive for at least five minutes without a same-form submit. Missing signals, navigation and custom form behaviour can affect it; this is not a confirmed abandonment count."1713 msgstr ""1714 1715 #: includes/help-page.php:1231716 msgid "When form structure changes, select the corresponding new layout. Test AJAX forms and custom validation in your own theme before relying on the observations."1717 msgstr ""1718 1719 #: includes/help-page.php:1251720 msgid "Name structural elements and compare periods"1721 msgstr ""1722 1723 #: includes/help-page.php:1261724 msgid "Whole-range element and form reports let reviewers name an important button or structural field in administration. These aliases are owner-provided context, not text collected from a visitor."1725 msgstr ""1726 1727 #: includes/help-page.php:1271728 msgid "Compare chosen UTC periods and device categories, keeping layout identifiers separate. Open supporting recordings before making an interpretation. Input values remain excluded and focus duration is not typing duration."1729 msgstr ""1730 1731 #: includes/help-page.php:1301732 msgid "Follow an interaction, save a funnel and compare two periods with clear sample counts."1733 msgstr ""1734 1735 #: includes/help-page.php:1311736 msgid "Review a clue in context"1737 msgstr ""1738 1739 #: includes/help-page.php:1321740 msgid "A clue is a lead, not proof of a broken button. Legitimate interactions can meet these conditions. The review status applies to this observation, not an entire website."1741 msgstr ""1742 1743 #: includes/help-page.php:1331744 msgid "Open Clues and choose an observation. Watch opens shortly before its recorded moment."1745 msgstr ""1746 1747 #: includes/help-page.php:1331748 msgid "Inspect what happened before and after. Three clicks within one second can create a repeated-click clue; an eligible button with no observed response for about 1.5 seconds can create a possible unresponsive-click clue."1749 msgstr ""1750 1751 #: includes/help-page.php:1331752 msgid "Mark the observation New, Reviewing, Resolved or Ignored. Note the evidence and the next thing you will check."1753 msgstr ""1754 1755 #: includes/help-page.php:1351756 msgid "Follow an ordered path"1757 msgstr ""1758 1759 #: includes/help-page.php:1361760 msgid "Journeys shows page paths within a retained recording. Save up to twenty funnels, each with two to eight ordered steps matching page paths, clues or form observations. A path prefix includes its child paths."1761 msgstr ""1762 1763 #: includes/help-page.php:1371764 msgid "Use a recorded layout ID when structural field positions matter. Journeys do not identify a person across separate visits or devices."1765 msgstr ""1766 1767 #: includes/help-page.php:1391768 msgid "Compare two periods fairly"1769 msgstr ""1770 1771 #: includes/help-page.php:1401772 msgid "The instant Compare screen analyzes batches of up to 200 retained recordings. Use Whole-range reports for all eligible recordings in the period. Consent, sampling, retention and bounded observations affect coverage. Changes in rates do not establish that a website edit caused the difference. Older recordings do not receive invented new observations."1773 msgstr ""1774 1775 #: includes/help-page.php:1411776 msgid "Choose two separate UTC date ranges."1777 msgstr ""1778 1779 #: includes/help-page.php:1411780 msgid "Use matching page, device and layout filters where appropriate."1781 msgstr ""1782 1783 #: includes/help-page.php:1411784 msgid "Read the sample counts and denominators before interpreting rates."1785 msgstr ""1786 1787 #: includes/help-page.php:1411788 msgid "Inspect representative replays from both periods before drawing a conclusion."1789 msgstr ""1790 1791 #: includes/help-page.php:1431792 msgid "Build a whole-period report"1793 msgstr ""1794 1795 #: includes/help-page.php:1441796 msgid "Use Whole-range reports for all eligible retained recordings in the chosen UTC period. Progress and the observation cutoff remain visible while bounded jobs process the indexes. WP-Cron continues work; manual advancement also works on low-traffic sites. Refresh to include later arrivals."1797 msgstr ""1798 1799 #: includes/help-page.php:1451800 msgid "Counts exclude deleted and expired recordings. A report cannot reconstruct observations that were never captured. Legacy instant Discovery views still show their sample limits; heatmap aggregation follows its separate existing path."1801 msgstr ""1802 1803 #: includes/help-page.php:1461804 msgid "Temporary jobs expire after one hour and are limited to two per reviewer and eight per site. Each job can hold up to100,000 recording memberships and500,000 derived facts; reaching a bound is labelled partial. Narrow the period to complete a larger investigation. Each recording retains up to300 indexed observations."1805 msgstr ""1806 1807 #: includes/help-page.php:1481808 msgid "Follow up a recurring clue"1809 msgstr ""1810 1811 #: includes/help-page.php:1491812 msgid "Whole-range reports groups repeated observations by kind, page, layout, device and structural target. Review affected visits, frequency, trend and replay moments. Set an owner and review state, and record an edit date when relevant."1813 msgstr ""1814 1815 #: includes/help-page.php:1501816 msgid "Before/after comparisons describe observations. They cannot establish that your edit caused a change. Layout changes, sampling, consent and different traffic can all affect the result."1817 msgstr ""1818 1819 #: includes/help-page.php:1521820 msgid "Configure meaningful goals"1821 msgstr ""1822 1823 #: includes/help-page.php:1531824 msgid "Use Goals to create fixed named success observations and select supported form adapters. Manual integration must call the goal only from your actual successful-completion callback. Never pass form values, email addresses, customer IDs or other identifying content."1825 msgstr ""1826 1827 #: includes/help-page.php:1541828 msgid "An integration-reported completion is separate from a submit attempt and does not prove delivery, payment or a business result. Configuring enabled goals changes the consent scope. Use timed funnel steps and the product, enquiry and sign-up templates to inspect the journey before completion."1829 msgstr ""1830 1831 #: includes/help-page.php:1571832 msgid "Publish a rating or fixed-choice question and review responses alongside their recordings."1833 msgstr ""1834 1835 #: includes/help-page.php:1581836 msgid "Create a short optional campaign"1837 msgstr ""1838 1839 #: includes/help-page.php:1591840 msgid "Visitor feedback supports multiple campaigns. Choose up to three rating or fixed-choice questions, an optional conditional follow-up, public paths, a UTC schedule and browser-session frequency controls. Preview the flow and publish your site-specific privacy notice before enabling it."1841 msgstr ""1842 1843 #: includes/help-page.php:1601844 msgid "A campaign requires current replay consent and an eligible sampled recording. Signed-in, private, account and checkout pages stay excluded. No free-text responses are collected. Never ask for identifying or sensitive information."1845 msgstr ""1846 1847 #: includes/help-page.php:1621848 msgid "Review feedback with its context"1849 msgstr ""1850 1851 #: includes/help-page.php:1631852 msgid "Filter results by date, page and device. Responses remain linked to the exact saved question revision and current recording. Legacy single-question results remain available. Pausing stops new responses; deletion, withdrawal and retention remove linked responses."1853 msgstr ""1854 1855 #: includes/help-page.php:1641856 msgid "A browser-session quiet-period marker is stored only after consent, cleared on withdrawal and does not identify people across visits. Responses are voluntary and cannot represent every visitor."1857 msgstr ""1858 1859 #: includes/help-page.php:1671860 msgid "Give colleagues the access they need and share one replay with an existing account."1861 msgstr ""1862 1863 #: includes/help-page.php:1681864 #: includes/help-page.php:1701865 msgid "Assign roles in WordPress"1866 msgstr ""1867 1868 #: includes/help-page.php:1691869 msgid "Sign in as a WordPress administrator and open Users → All Users."1870 msgstr ""1871 1872 #: includes/help-page.php:1691873 msgid "Edit the existing account that needs access. Under Role, choose ClickClue analyst or ClickClue reviewer."1874 msgstr ""1875 1876 #: includes/help-page.php:1691877 msgid "Select Update User. Ask the person to sign in with their own account and confirm the expected ClickClue access."1878 msgstr ""1879 1880 #: includes/help-page.php:1701881 msgid "Role"1882 msgstr ""1883 1884 #: includes/help-page.php:1701885 msgid "Can review"1886 msgstr ""1887 1888 #: includes/help-page.php:1701889 msgid "Can change"1890 msgstr ""1891 1892 #: includes/help-page.php:1701893 msgid "Administrator"1894 msgstr ""1895 1896 #: includes/help-page.php:1701897 msgid "Recordings, analytics, notes and audit"1898 msgstr ""1899 1900 #: includes/help-page.php:1701901 msgid "Settings, exports, deletion, services and invitations"1902 msgstr ""1903 1904 #: includes/help-page.php:1701905 msgid "ClickClue analyst"1906 msgstr ""1907 1908 #: includes/help-page.php:1701909 msgid "Recordings, analytics and shared notes"1910 msgstr ""1911 1912 #: includes/help-page.php:1701913 msgid "Review state, bookmarks, notes and saved filters"1914 msgstr ""1915 1916 #: includes/help-page.php:1701917 msgid "ClickClue reviewer"1918 msgstr ""1919 1920 #: includes/help-page.php:1701921 msgid "Read only"1922 msgstr ""1923 1924 #: includes/help-page.php:1701925 msgid "Invited existing account"1926 msgstr ""1927 1928 #: includes/help-page.php:1701929 msgid "Only the specifically invited recording"1930 msgstr ""1931 1932 #: includes/help-page.php:1701933 msgid "No access to the full recording list"1934 msgstr ""1935 1936 #: includes/help-page.php:1721937 msgid "Invite someone to one recording"1938 msgstr ""1939 1940 #: includes/help-page.php:1731941 msgid "An invitation is not a public replay link. It expires, binds to one account and recording, and stops working when the recording is deleted."1942 msgstr ""1943 1944 #: includes/help-page.php:1741945 msgid "As an administrator, open a recording and expand Invite someone to this replay."1946 msgstr ""1947 1948 #: includes/help-page.php:1741949 msgid "Choose an existing WordPress account and an expiry of 1–168 hours. Create the invitation."1950 msgstr ""1951 1952 #: includes/help-page.php:1741953 msgid "Copy the link and share it with that person through your own approved channel. Creating the link does not send an email."1954 msgstr ""1955 1956 #: includes/help-page.php:1741957 msgid "The recipient must sign in as the chosen account. Revoke access from Workspace → Active replay invitations when it is no longer needed."1958 msgstr ""1959 1960 #: includes/help-page.php:1761961 msgid "Review access and changes"1962 msgstr ""1963 1964 #: includes/help-page.php:1771965 msgid "Workspace displays the latest 30 entries from a bounded log of up to 100 administrative actions. It includes the actor ID, action, target reference and time, not replay contents. This is a recent activity aid, not a tamper-proof compliance archive."1966 msgstr ""1967 1968 #: includes/help-page.php:1791969 msgid "Work in shared investigations"1970 msgstr ""1971 1972 #: includes/help-page.php:1801973 msgid "Create private or team collections, add retained recordings, assign an eligible WordPress account and choose a review status. Add a discussion at a replay timestamp to keep evidence and context together. Assignment does not grant access or send a message."1974 msgstr ""1975 1976 #: includes/help-page.php:1811977 msgid "Private collections belong to their owner and administrators. Team sharing still requires a ClickClue-capable WordPress role. Deleted or expired recordings lose their linked collection membership and discussion. Avoid putting sensitive visitor details in notes."1978 msgstr ""1979 1980 #: includes/help-page.php:1841981 msgid "Bring authorised site health summaries together while recordings stay on each site."1982 msgstr ""1983 1984 #: includes/help-page.php:1851985 msgid "Connect a remote site"1986 msgstr ""1987 1988 #: includes/help-page.php:1861989 msgid "Connections use HTTPS and do not follow redirects with credentials. Use the final canonical site address. Application passwords are encrypted on the central server using its WordPress salts."1990 msgstr ""1991 1992 #: includes/help-page.php:1871993 msgid "Install and activate compatible ClickClue Free and Pro packages on the remote HTTPS site."1994 msgstr ""1995 1996 #: includes/help-page.php:1871997 msgid "Create a dedicated ClickClue reviewer account there. Generate a WordPress application password in that user’s profile."1998 msgstr ""1999 2000 #: includes/help-page.php:1872001 msgid "On your central site, open Workspace → Your sites → Connect another WordPress site."2002 msgstr ""2003 2004 #: includes/help-page.php:1872005 msgid "Enter the remote site address, reviewer username and application password. Select Connect site."2006 msgstr ""2007 2008 #: includes/help-page.php:1892009 msgid "Understand the overview"2010 msgstr ""2011 2012 #: includes/help-page.php:1902013 msgid "The overview includes the local site and up to 25 remote connections. It reports capture state, retained recording counts, issue counts and other summary information. Remote summaries may be cached for five minutes."2014 msgstr ""2015 2016 #: includes/help-page.php:1912017 msgid "Open WordPress takes you to that site’s workspace. Each site keeps its own recordings, access controls, sampling and storage settings. The overview does not pool storage or increase a single site’s capacity."2018 msgstr ""2019 2020 #: includes/help-page.php:1922021 msgid "Download client report exports a CSV of site summaries with their observation time."2022 msgstr ""2023 2024 #: includes/help-page.php:1922025 msgid "It does not export recording payloads, customer identities or a branded PDF."2026 msgstr ""2027 2028 #: includes/help-page.php:1922029 msgid "Review the report’s site names and contents before sending it to a client."2030 msgstr ""2031 2032 #: includes/help-page.php:1942033 msgid "End a connection"2034 msgstr ""2035 2036 #: includes/help-page.php:1952037 msgid "Disconnect removes the saved connection from the central workspace. Revoke its application password at the remote WordPress account when access should end completely. A changed site address, password, certificate or security rule may require reconnecting."2038 msgstr ""2039 2040 #: includes/help-page.php:1972041 msgid "Save and export an investigation report"2042 msgstr ""2043 2044 #: includes/help-page.php:1982045 msgid "Investigations saves filter recipes combining clues, journeys and feedback. Report totals and exports share their retained population and coverage. Reopening a report reloads live eligible evidence instead of preserving hidden copies of removed recordings."2046 msgstr ""2047 2048 #: includes/help-page.php:1992049 msgid "CSV and JSON exports require the appropriate administrative access. Keep exported files private; the plugin cannot recall files already downloaded. Connected-site summaries remain aggregate health overviews rather than a central store of remote recordings."2050 msgstr ""2051 2052 #: includes/help-page.php:2022053 msgid "Configure checkout digests and event summaries in the current Pro preview."2054 msgstr ""2055 2056 #: includes/help-page.php:2032057 msgid "Configure the legacy checkout digest"2058 msgstr ""2059 2060 #: includes/help-page.php:2042061 msgid "This preview’s digest covers the legacy checkout categories. Digests contain fixed category counts and a link to the site’s admin area, without recording payloads or session notes. Digests are deduplicated to at most once per 24-hour interval after acceptance. Notifications start disabled."2062 msgstr ""2063 2064 #: includes/help-page.php:2052065 msgid "Configure and test your WordPress mail transport."2066 msgstr ""2067 2068 #: includes/help-page.php:2052069 msgid "Open Legacy checkout → Legacy checkout notifications & AI and enable the daily email digest. Enter an authorised recipient and a minimum affected-recording threshold."2070 msgstr ""2071 2072 #: includes/help-page.php:2052073 msgid "Save workspace settings. Saving does not itself send an email. The scheduled digest runs through WordPress cron."2074 msgstr ""2075 2076 #: includes/help-page.php:2052077 msgid "Check the mail status and verify actual inbox delivery. Transport acceptance alone does not prove delivery."2078 msgstr ""2079 2080 #: includes/help-page.php:2072081 msgid "Summarise legacy checkout evidence"2082 msgstr ""2083 2084 #: includes/help-page.php:2082085 msgid "This preview summarises legacy checkout evidence only. It does not summarise ordinary click and scroll activity or the visual replay. A recording without checkout signals has no evidence for this tool."2086 msgstr ""2087 2088 #: includes/help-page.php:2092089 msgid "The request sends fixed event categories, counts and relative timing. It excludes DOM content, page paths, notes, raw order IDs and customer details. Usage is charged to the connected API account; the plugin caps requests at 20 per UTC day."2090 msgstr ""2091 2092 #: includes/help-page.php:2102093 2186 msgid "Outputs must cite existing evidence references, but a cited interpretation can still be wrong. ClickClue does not automatically change a store or establish a diagnosis." 2094 2187 msgstr "" 2095 2188 2096 #: includes/help-page.php:21 12189 #: includes/help-page.php:218 2097 2190 msgid "Requests use store:false. That setting is not a promise of zero provider retention; check your account’s data controls." 2098 2191 msgstr "" 2099 2192 2100 #: includes/help-page.php:21 22193 #: includes/help-page.php:219 2101 2194 msgid "In Legacy checkout → Legacy checkout notifications & AI, enter your OpenAI API key and a Responses-compatible model. Enable manual AI summaries and save." 2102 2195 msgstr "" 2103 2196 2104 #: includes/help-page.php:21 22197 #: includes/help-page.php:219 2105 2198 msgid "Open a recording with legacy checkout signals. Expand Legacy checkout AI summary and read the processing description. Choose Summarise checkout with OpenAI only when you want to send that evidence." 2106 2199 msgstr "" 2107 2200 2108 #: includes/help-page.php:21 22201 #: includes/help-page.php:219 2109 2202 msgid "Review the interpretation and use its evidence buttons to inspect the corresponding signals." 2110 2203 msgstr "" 2111 2204 2112 #: includes/help-page.php:2 142205 #: includes/help-page.php:221 2113 2206 msgid "Remove credentials" 2114 2207 msgstr "" 2115 2208 2116 #: includes/help-page.php:2 152209 #: includes/help-page.php:222 2117 2210 msgid "Remove OpenAI key disables further processing. Disable email to stop future digests. Keys and application passwords are encrypted with authenticated encryption and WordPress salts; changing those salts can require reconnecting." 2118 2211 msgstr "" 2119 2212 2120 #: includes/help-page.php:2 182213 #: includes/help-page.php:225 2121 2214 msgid "Plan for your host, understand sampling and keep recording data for only as long as needed." 2122 2215 msgstr "" 2123 2216 2124 #: includes/help-page.php:2 192125 #: includes/help-page.php:22 22217 #: includes/help-page.php:226 2218 #: includes/help-page.php:229 2126 2219 msgid "Local recording in either edition" 2127 2220 msgstr "" 2128 2221 2129 #: includes/help-page.php:22 02222 #: includes/help-page.php:227 2130 2223 msgid "Choose the edition by its analysis and collaboration tools. More traffic does not require Pro. Sampling, retention, storage and your host determine how many recordings you can keep." 2131 2224 msgstr "" 2132 2225 2133 #: includes/help-page.php:22 12226 #: includes/help-page.php:228 2134 2227 msgid "A recording lasts at most 30 minutes and holds at most 8 MiB of payloads. Capture pauses when the chosen storage budget is reached. These controls provide no hosting space and do not guarantee server capacity." 2135 2228 msgstr "" 2136 2229 2137 #: includes/help-page.php:22 22230 #: includes/help-page.php:229 2138 2231 msgid "Control" 2139 2232 msgstr "" 2140 2233 2141 #: includes/help-page.php:22 22234 #: includes/help-page.php:229 2142 2235 #: assets/pro-previews.js:67 2143 2236 msgid "Free" 2144 2237 msgstr "" 2145 2238 2146 #: includes/help-page.php:22 22239 #: includes/help-page.php:229 2147 2240 msgid "Monthly recording quota" 2148 2241 msgstr "" 2149 2242 2150 #: includes/help-page.php:22 22243 #: includes/help-page.php:229 2151 2244 msgid "None" 2152 2245 msgstr "" 2153 2246 2154 #: includes/help-page.php:22 22247 #: includes/help-page.php:229 2155 2248 msgid "Retention setting" 2156 2249 msgstr "" 2157 2250 2158 #: includes/help-page.php:22 22251 #: includes/help-page.php:229 2159 2252 msgid "1–365 days" 2160 2253 msgstr "" 2161 2254 2162 #: includes/help-page.php:22 22255 #: includes/help-page.php:229 2163 2256 msgid "Replay payload budget" 2164 2257 msgstr "" 2165 2258 2166 #: includes/help-page.php:22 22259 #: includes/help-page.php:229 2167 2260 msgid "1–10,240 MiB" 2168 2261 msgstr "" 2169 2262 2170 #: includes/help-page.php:22 22263 #: includes/help-page.php:229 2171 2264 msgid "New-install defaults" 2172 2265 msgstr "" 2173 2266 2174 #: includes/help-page.php:22 22267 #: includes/help-page.php:229 2175 2268 msgid "7 days / 250 MiB" 2176 2269 msgstr "" 2177 2270 2178 #: includes/help-page.php:2 242271 #: includes/help-page.php:231 2179 2272 msgid "Choose a budget from measured recordings" 2180 2273 msgstr "" 2181 2274 2182 #: includes/help-page.php:2 252275 #: includes/help-page.php:232 2183 2276 msgid "Settings → Storage & retention shows recent recording sizes and estimates how many additional recordings may fit in the remaining payload budget. It uses up to 200 recent recordings with no upload in the last minute; a small sample is provisional and visits can resume and grow." 2184 2277 msgstr "" 2185 2278 2186 #: includes/help-page.php:2 262279 #: includes/help-page.php:233 2187 2280 msgid "Both editions start with seven-day retention and 250 MiB. An administrator can choose 1–365 days and 1–10,240 MiB after checking hosting space and justified retention. Updating preserves saved settings; it does not allocate server storage." 2188 2281 msgstr "" 2189 2282 2190 #: includes/help-page.php:2 272283 #: includes/help-page.php:234 2191 2284 msgid "Lowering the payload budget does not delete recordings. Capture stays paused until space is available. Budgets exclude database indexes, backups and hosting logs. MiB means 1,048,576 bytes." 2192 2285 msgstr "" 2193 2286 2194 #: includes/help-page.php:2 292287 #: includes/help-page.php:236 2195 2288 msgid "Preserved version 0.5.1 reference" 2196 2289 msgstr "" 2197 2290 2198 #: includes/help-page.php:23 02291 #: includes/help-page.php:237 2199 2292 msgid "Version 0.5.1 allowed Free 200 starts / 7 days / 50 MB and Pro 5,000 starts / 30 days / 500 MB. These figures describe that historical release only. Follow the current installation and consent guides for setup; notice and consent requirements changed in version 0.6.2." 2200 2293 msgstr "" 2201 2294 2202 #: includes/help-page.php:23 12295 #: includes/help-page.php:238 2203 2296 msgid "Current installation steps" 2204 2297 msgstr "" 2205 2298 2206 #: includes/help-page.php:23 12299 #: includes/help-page.php:238 2207 2300 msgid "Current consent setup" 2208 2301 msgstr "" 2209 2302 2210 #: includes/help-page.php:2 332303 #: includes/help-page.php:240 2211 2304 msgid "Choose a useful sample" 2212 2305 msgstr "" 2213 2306 2214 #: includes/help-page.php:2 342307 #: includes/help-page.php:241 2215 2308 msgid "Estimate eligible, consenting visits and apply the sampling percentage. Sampled recordings are not the same as total traffic. A very low sample can miss less common interaction problems." 2216 2309 msgstr "" 2217 2310 2218 #: includes/help-page.php:2 352311 #: includes/help-page.php:242 2219 2312 msgid "After a synthetic test at 100%, select a sampling rate your host and storage budget can sustain. Review measured recording capacity in Settings → Storage & retention; estimates are not a traffic forecast." 2220 2313 msgstr "" 2221 2314 2222 #: includes/help-page.php:2 372315 #: includes/help-page.php:244 2223 2316 msgid "Retention and deletion" 2224 2317 msgstr "" 2225 2318 2226 #: includes/help-page.php:2 382319 #: includes/help-page.php:245 2227 2320 msgid "Scheduled cleanup uses WordPress cron, with bounded cleanup during dashboard access and session creation. Configure a reliable cron trigger on low-traffic sites. Failed cleanup appears in health checks." 2228 2321 msgstr "" 2229 2322 2230 #: includes/help-page.php:2 392323 #: includes/help-page.php:246 2231 2324 msgid "Deleting a recording removes its chunks, issue index, analytics metrics, session review state, notes, invitations and payment association together. Failed database transactions are reported for retry. Bulk deletion stops if progress cannot be confirmed." 2232 2325 msgstr "" 2233 2326 2234 #: includes/help-page.php:24 02327 #: includes/help-page.php:247 2235 2328 msgid "The last 100 administrative audit entries, saved filter preferences and connection settings have a separate configuration lifecycle. Deactivation keeps stored data. The optional Delete data when uninstalling setting removes plugin tables and configuration." 2236 2329 msgstr "" 2237 2330 2238 #: includes/help-page.php:24 12331 #: includes/help-page.php:248 2239 2332 msgid "Downloaded exports, backups and hosting logs are outside recording deletion. Plan their retention separately and take care not to restore previously deleted recordings from a backup." 2240 2333 msgstr "" 2241 2334 2242 #: includes/help-page.php:2 442335 #: includes/help-page.php:251 2243 2336 msgid "Update ClickClue Free and Pro while keeping your recordings and configuration." 2244 2337 msgstr "" 2245 2338 2246 #: includes/help-page.php:2 452339 #: includes/help-page.php:252 2247 2340 msgid "ClickClue Free and ClickClue Pro" 2248 2341 msgstr "" 2249 2342 2250 #: includes/help-page.php:2 462343 #: includes/help-page.php:253 2251 2344 msgid "The current installer ZIPs use the clickclue and clickclue-pro folders. Both editions keep existing recordings, settings, licence state, consent choices and integration identifiers." 2252 2345 msgstr "" 2253 2346 2254 #: includes/help-page.php:2 472347 #: includes/help-page.php:254 2255 2348 msgid "If you previously installed a package under another folder name, deactivate the existing Pro and Free copies before uploading these ZIPs. Activate the new Free copy first, then Pro. Leave old copies inactive and do not delete or uninstall them to change names." 2256 2349 msgstr "" 2257 2350 2258 #: includes/help-page.php:249 2351 #: includes/help-page.php:256 2352 msgid "Update inside WordPress" 2353 msgstr "" 2354 2355 #: includes/help-page.php:259 2356 msgid "Pro checks update eligibility through the ClickClue licensing service. Download eligibility and package integrity are checked again before installation. A network or verification failure stops that update; it does not remove earned local Pro tools. Manual eligible-account ZIP replacement remains available." 2357 msgstr "" 2358 2359 #: includes/help-page.php:260 2360 #: includes/help-page.php:286 2361 msgid "A valid first licence activation unlocks this site. Once unlocked, local Pro tools keep working offline or after the update and support subscription expires. Expired subscriptions do not receive new Pro packages. Deactivate licence releases the site remotely when available; Forget local licence only clears this installation’s saved licence details. Either action locks Pro tools and pauses scheduled reviews without deleting recordings or settings. A copied site needs its own activation." 2362 msgstr "" 2363 2364 #: includes/help-page.php:262 2259 2365 msgid "Replace the installed packages" 2260 2366 msgstr "" 2261 2367 2262 #: includes/help-page.php:2 502368 #: includes/help-page.php:263 2263 2369 msgid "Back up your WordPress database and plugin files. Test on a staging copy first." 2264 2370 msgstr "" 2265 2371 2266 #: includes/help-page.php:2 502267 msgid " Obtain the current matched ClickClue Free and Pro installer ZIPs through your release or account delivery. The outer download bundleis not an installable plugin."2268 msgstr "" 2269 2270 #: includes/help-page.php:2 502372 #: includes/help-page.php:263 2373 msgid "Download the current ClickClue Free ZIP and, if entitled, the matching Pro ZIP from your account. Use each installable plugin ZIP separately; the WordPress.org SVN repository kit is not an installable plugin." 2374 msgstr "" 2375 2376 #: includes/help-page.php:263 2271 2377 msgid "For an installation already using the clickclue and clickclue-pro folders, upload Free first and accept WordPress’s replacement comparison, then replace Pro." 2272 2378 msgstr "" 2273 2379 2274 #: includes/help-page.php:2 502380 #: includes/help-page.php:263 2275 2381 msgid "When moving from older folders, deactivate existing Pro and Free first. Upload and activate Free, then Pro. Leave the old copies inactive; do not click Delete or uninstall. Never activate two copies of either edition." 2276 2382 msgstr "" 2277 2383 2278 #: includes/help-page.php:2 502384 #: includes/help-page.php:263 2279 2385 msgid "Clear page/asset caches. Check your saved settings and record a signed-out synthetic visit. Confirm masking, playback and the interactions you intend to review." 2280 2386 msgstr "" 2281 2387 2282 #: includes/help-page.php:2 522388 #: includes/help-page.php:265 2283 2389 msgid "Updating to 0.9.0" 2284 2390 msgstr "" 2285 2391 2286 #: includes/help-page.php:2 532392 #: includes/help-page.php:266 2287 2393 msgid "Back up your site, update Free first and then matching Pro without uninstalling, and clear page/CDN caches. Keep the existing installation directory. Free0.9.0 works on its own; Pro0.9.0 requires Free0.9.0 or newer." 2288 2394 msgstr "" 2289 2395 2290 #: includes/help-page.php:2 542396 #: includes/help-page.php:267 2291 2397 msgid "Existing settings, recordings, image approvals, legacy answers and saved funnels are migrated. New tables hold transport checkpoints, report membership and team/campaign records. Valid consent remains when scope is unchanged; enabled goals, campaigns and image approval changes require current positive consent. Previous refusals remain respected." 2292 2398 msgstr "" 2293 2399 2294 #: includes/help-page.php:2 552400 #: includes/help-page.php:268 2295 2401 msgid "Use a signed-out test visit on your own theme and integrations to check masking, approved images, completion goals and withdrawal before relying on new reports." 2296 2402 msgstr "" 2297 2403 2298 #: includes/help-page.php:2 572404 #: includes/help-page.php:270 2299 2405 msgid "Updating to 0.8.1" 2300 2406 msgstr "" 2301 2407 2302 #: includes/help-page.php:2 582408 #: includes/help-page.php:271 2303 2409 msgid "Back up your database and plugin files. Replace Free first, then matching Pro 0.8.1 if installed. Use the package for each existing plugin directory and do not uninstall to update. Clear page and asset caches, then check a signed-out sample visit." 2304 2410 msgstr "" 2305 2411 2306 #: includes/help-page.php:2 592412 #: includes/help-page.php:272 2307 2413 msgid "Updating from 0.8.0 to 0.8.1 preserves valid existing replay choices, recordings and saved settings. Upgrading from a release before 0.8.0 still requires fresh positive replay consent; refusals remain respected." 2308 2414 msgstr "" 2309 2415 2310 #: includes/help-page.php:2 602416 #: includes/help-page.php:273 2311 2417 msgid "This release includes local tutorial help and clearer approved-image privacy guidance. Recording stays paused or enabled according to your saved settings. On multisite, uninstall cleanup follows each site’s own saved deletion preference." 2312 2418 msgstr "" 2313 2419 2314 #: includes/help-page.php:2 622420 #: includes/help-page.php:275 2315 2421 msgid "Compatibility introduced in 0.8.0" 2316 2422 msgstr "" 2317 2423 2318 #: includes/help-page.php:2 632424 #: includes/help-page.php:276 2319 2425 msgid "Version 0.8.0 introduced the approved-image option and a new replay notice. An upgrade from a release before 0.8.0 requires fresh positive replay consent, while existing refusals remain respected. Use the current matched installers and keep the existing plugin folders, recordings and settings; do not uninstall to update." 2320 2426 msgstr "" 2321 2427 2322 #: includes/help-page.php:2 642428 #: includes/help-page.php:277 2323 2429 msgid "Both editions have no monthly recording quota. Free keeps replay, saved filters, bookmarks, notes and every privacy control. Pro adds analysis, visitor feedback and collaboration in the separate add-on." 2324 2430 msgstr "" 2325 2431 2326 #: includes/help-page.php:2 652432 #: includes/help-page.php:278 2327 2433 msgid "Approved image capture starts off. Existing recordings do not gain images or new observations retrospectively. New optional feedback remains off until deliberately published. Existing survey settings are preserved; updating does not enroll a visitor or enable an external service." 2328 2434 msgstr "" 2329 2435 2330 #: includes/help-page.php:2 662436 #: includes/help-page.php:279 2331 2437 msgid "Use fit-width or fit-window, zoom, the event timeline and fullscreen where supported. Review your actual pages with masked text and private regions before increasing recording." 2332 2438 msgstr "" 2333 2439 2334 #: includes/help-page.php:2 672440 #: includes/help-page.php:280 2335 2441 msgid "Configure approved images" 2336 2442 msgstr "" 2337 2443 2338 #: includes/help-page.php:2 692444 #: includes/help-page.php:282 2339 2445 msgid "Compatibility introduced in 0.6.10" 2340 2446 msgstr "" 2341 2447 2342 #: includes/help-page.php:2 702343 msgid "Version 0.6.10 clarified the review workspace and prepared verified Pro update delivery. Use the current matching packages above. Later versions remove its edition-based monthly allowances and share retention/storage controls across Free and Pro."2344 msgstr "" 2345 2346 #: includes/help-page.php:2 712448 #: includes/help-page.php:283 2449 msgid "Version 0.6.10 clarified the review workspace. Its historical update-delivery preparation is superseded by the current WordPress updater described above. Later versions remove edition-based monthly allowances and share retention and storage controls across Free and Pro." 2450 msgstr "" 2451 2452 #: includes/help-page.php:284 2347 2453 msgid "The dashboard opens on Recordings, with Pro page analysis under Heatmaps & forms. Checkout tools and their saved data are preserved under Legacy checkout; configured legacy email and AI services are not automatically disabled." 2348 2454 msgstr "" 2349 2455 2350 #: includes/help-page.php:2 722456 #: includes/help-page.php:285 2351 2457 msgid "Both editions start new installations at seven-day retention and 250 MiB. Upgrading preserves your chosen settings and storage budget. Review Settings → Storage & retention before increasing sampling, retention or storage." 2352 2458 msgstr "" 2353 2459 2354 #: includes/help-page.php:273 2355 msgid "The Pro updater supports verified ClickClue package delivery. Commercial activation and automatic delivery still need a connected service. If a rotated key or copied site prevents reconnecting, the administrator can confirm Forget local licence; it clears this installation’s saved licence details without releasing any remote seat. Installed Pro preview features remain usable." 2356 msgstr "" 2357 2358 #: includes/help-page.php:275 2460 #: includes/help-page.php:288 2359 2461 msgid "Compatibility introduced in 0.6.9" 2360 2462 msgstr "" 2361 2463 2362 #: includes/help-page.php:2 762464 #: includes/help-page.php:289 2363 2465 msgid "Version 0.6.9 brings the 0.6.8 privacy and reliability fixes together with recovery when you return using the browser Back button while a recording start is still pending. Use the current matched installer ZIPs, replacing Free first, then Pro if installed. Do not uninstall or rename their folders." 2364 2466 msgstr "" 2365 2467 2366 #: includes/help-page.php:2 772468 #: includes/help-page.php:290 2367 2469 msgid "Clear page/CDN caches and check a signed-out sample visit. Your recordings, settings, storage budgets, bookmarks and notes remain in place. Version 0.6.8 privacy choices stay valid; older positive choices may need a fresh consent decision." 2368 2470 msgstr "" 2369 2471 2370 #: includes/help-page.php:2 782472 #: includes/help-page.php:291 2371 2473 msgid "On multisite, newly saved filters are separate for each site. Old filters did not record which site they belonged to, so they remain available on the main site; recreate any filters you need on secondary sites." 2372 2474 msgstr "" 2373 2475 2374 #: includes/help-page.php:2 802476 #: includes/help-page.php:293 2375 2477 msgid "Compatibility introduced in 0.6.3" 2376 2478 msgstr "" 2377 2479 2378 #: includes/help-page.php:2 812480 #: includes/help-page.php:294 2379 2481 msgid "Version 0.6.3 improved setup and consent recovery. Install the current matching packages above, replacing Free first, then Pro, and clear page/CDN caches. Existing data, folder names, consent API aliases and storage budgets remain compatible." 2380 2482 msgstr "" 2381 2483 2382 #: includes/help-page.php:2 822484 #: includes/help-page.php:295 2383 2485 msgid "Recording health now flags a missing published privacy policy. The test panel refreshes after a failed start followed by refusal, and identifies origin-verification failures. Test real capture on hosted staging: a browser-based WordPress sandbox can omit the Origin header. Keep origin protection enabled." 2384 2486 msgstr "" 2385 2487 2386 #: includes/help-page.php:2 842488 #: includes/help-page.php:297 2387 2489 msgid "Compatibility introduced in 0.6.2" 2388 2490 msgstr "" 2389 2491 2390 #: includes/help-page.php:2 852492 #: includes/help-page.php:298 2391 2493 msgid "The 0.6.2 release introduced the notice and consent changes below. Install the current matching Free and Pro packages, replacing Free first, then Pro. Existing recordings, roles, notes and storage budgets remain compatible. Do not uninstall or rename folders." 2392 2494 msgstr "" 2393 2495 2394 #: includes/help-page.php:2 862496 #: includes/help-page.php:299 2395 2497 msgid "Publish and select your store-specific privacy policy in WordPress Settings → Privacy. The built-in prompt now needs its published link. Clear page and CDN caches after updating: older loader revisions cannot start or upload recordings under the new notice." 2396 2498 msgstr "" 2397 2499 2398 #: includes/help-page.php: 2872500 #: includes/help-page.php:300 2399 2501 msgid "Older positive browser choices require fresh permission; a valid refusal remains refused. New recordings have a notice revision, server receipt and fixed retention deadline. Existing records have no invented historical consent. See the consent guide for CMP revision handling and evidence." 2400 2502 msgstr "" 2401 2503 2402 #: includes/help-page.php: 2882504 #: includes/help-page.php:301 2403 2505 msgid "Configure the notice and consent evidence" 2404 2506 msgstr "" 2405 2507 2406 #: includes/help-page.php: 2902508 #: includes/help-page.php:303 2407 2509 msgid "Compatibility introduced in 0.6.1" 2408 2510 msgstr "" 2409 2511 2410 #: includes/help-page.php: 2912512 #: includes/help-page.php:304 2411 2513 msgid "Version 0.6.1 used the same Free-first, then Pro replacement flow. Use the current matching packages above. The optional tutorial is available at the top of the dashboard after updating; it does not change capture settings, consent or connected services." 2412 2514 msgstr "" 2413 2515 2414 #: includes/help-page.php: 2922516 #: includes/help-page.php:305 2415 2517 msgid "Existing 0.5.1 and 0.6.0 installations retain their recording identifiers, stored data, consent API aliases and chosen payload budget. Clear page caches after replacing the ZIPs. Tutorial checklist progress is local to the browser, account and edition; resetting it never deletes recordings." 2416 2518 msgstr "" 2417 2519 2418 #: includes/help-page.php: 2942520 #: includes/help-page.php:307 2419 2521 msgid "Compatibility introduced in 0.6.0" 2420 2522 msgstr "" 2421 2523 2422 #: includes/help-page.php: 2952524 #: includes/help-page.php:308 2423 2525 msgid "Version 0.6.0 kept the same WordPress ZIP replacement flow: Free first, then Pro. Folders, database identifiers, existing replays, review notes and consent API aliases remain compatible. Follow the current replacement steps in this guide." 2424 2526 msgstr "" 2425 2527 2426 #: includes/help-page.php: 2962427 msgid "Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay. The preview still has no connected payment or commercial delivery service."2428 msgstr "" 2429 2430 #: includes/help-page.php: 2982528 #: includes/help-page.php:309 2529 msgid "Storage budgets are preserved at the earlier edition’s effective ceiling. Review Settings → Storage & retention before raising them. Older recordings keep their normal replay and position grid; new measured heatmap events enable the page overlay." 2530 msgstr "" 2531 2532 #: includes/help-page.php:311 2431 2533 msgid "Recover from an unsuccessful update" 2432 2534 msgstr "" 2433 2535 2434 #: includes/help-page.php: 2992536 #: includes/help-page.php:312 2435 2537 msgid "Pause capture if the updated site behaves unexpectedly. Keep a copy of the error and your previous package/database backup. Restore the matching plugin files from your known-good backup, then verify the database and settings on staging before resuming." 2436 2538 msgstr "" 2437 2539 2438 #: includes/help-page.php:3 002439 msgid " The preview supports manual ZIP updates. Follow the steps above while commercial automatic updates are unavailable."2440 msgstr "" 2441 2442 #: includes/help-page.php:3 032540 #: includes/help-page.php:313 2541 msgid "If WordPress cannot complete the update, obtain the matching eligible Pro ZIP from your account and use manual replacement. Do not uninstall to update. Check ClickClue → Pro licence if activation or update eligibility needs attention." 2542 msgstr "" 2543 2544 #: includes/help-page.php:316 2443 2545 msgid "Work through the common reasons a replay, page observation or connection is missing." 2444 2546 msgstr "" 2445 2547 2446 #: includes/help-page.php:3 042548 #: includes/help-page.php:317 2447 2549 msgid "No recording appears" 2448 2550 msgstr "" 2449 2551 2450 #: includes/help-page.php:3 052552 #: includes/help-page.php:318 2451 2553 msgid "Confirm recording is enabled and your sample rate is suitable. Clear page caches after changes." 2452 2554 msgstr "" 2453 2555 2454 #: includes/help-page.php:3 052556 #: includes/help-page.php:318 2455 2557 msgid "Use a signed-out private window on an included page. Administrators and other signed-in users are excluded." 2456 2558 msgstr "" 2457 2559 2458 #: includes/help-page.php:3 052560 #: includes/help-page.php:318 2459 2561 msgid "Grant consent. Check whether Do Not Track or Global Privacy Control is active; these choices are respected." 2460 2562 msgstr "" 2461 2563 2462 #: includes/help-page.php:3 052564 #: includes/help-page.php:318 2463 2565 msgid "Open the test link from Settings → Test & diagnostics and read its local status. Look for storage-budget, asset-loading or authorisation errors." 2464 2566 msgstr "" 2465 2567 2466 #: includes/help-page.php:3 052568 #: includes/help-page.php:318 2467 2569 msgid "Confirm the test panel reports an upload. Back in WordPress, clear date/path/device filters and refresh the list." 2468 2570 msgstr "" 2469 2571 2470 #: includes/help-page.php:3 072572 #: includes/help-page.php:320 2471 2573 msgid "The replay looks different" 2472 2574 msgstr "" 2473 2575 2474 #: includes/help-page.php:3 082576 #: includes/help-page.php:321 2475 2577 msgid "Review the page-text masking choice and keep private-region exclusions in place. Use fit-width or fit-window, then adjust zoom. Approved public images can restore product context; everything outside the approved selection remains excluded." 2476 2578 msgstr "" 2477 2579 2478 #: includes/help-page.php:3 092580 #: includes/help-page.php:322 2479 2581 msgid "Replay does not fetch missing external fonts, background images, video or embedded frames. Dynamic builders, animations and browser-specific styles can still differ. Reproduce the specific page state with synthetic content and include your theme, browser, viewport and reproduction steps in a support brief." 2480 2582 msgstr "" 2481 2583 2482 #: includes/help-page.php:3 112584 #: includes/help-page.php:324 2483 2585 msgid "A checkout or payment signal is missing" 2484 2586 msgstr "" 2485 2587 2486 #: includes/help-page.php:3 122588 #: includes/help-page.php:325 2487 2589 msgid "Confirm WooCommerce and both ClickClue packages are active. Test the relevant classic or Blocks checkout with synthetic data and a gateway in test mode." 2488 2590 msgstr "" 2489 2591 2490 #: includes/help-page.php:3 132592 #: includes/help-page.php:326 2491 2593 msgid "A form submit does not confirm payment. Server-confirmed markers need a consenting, linked recording and a paid event. Redirects, browser privacy choices, missing linkage or third-party extensions can affect coverage." 2492 2594 msgstr "" 2493 2595 2494 #: includes/help-page.php:3 152596 #: includes/help-page.php:328 2495 2597 msgid "Legacy checkout email, AI or a remote site fails" 2496 2598 msgstr "" 2497 2599 2498 #: includes/help-page.php:3 162600 #: includes/help-page.php:329 2499 2601 msgid "Email: verify WP-Cron and WordPress mail delivery, the recipient and the threshold. Check the reported transport status." 2500 2602 msgstr "" 2501 2603 2502 #: includes/help-page.php:3 162604 #: includes/help-page.php:329 2503 2605 msgid "AI: confirm opt-in, a valid key, model access and available API budget. Check whether the daily request cap was reached." 2504 2606 msgstr "" 2505 2607 2506 #: includes/help-page.php:3 162608 #: includes/help-page.php:329 2507 2609 msgid "Agency: use the final HTTPS address, a dedicated reviewer and a valid application password. Check security rules and certificate validity." 2508 2610 msgstr "" 2509 2611 2510 #: includes/help-page.php:3 162612 #: includes/help-page.php:329 2511 2613 msgid "Deletion: use Retry deletion and check database health. Do not treat stopped capture as a confirmed deletion." 2512 2614 msgstr "" 2513 2615 2514 #: includes/help-page.php:3 182616 #: includes/help-page.php:331 2515 2617 msgid "Prepare a useful report" 2516 2618 msgstr "" 2517 2619 2518 #: includes/help-page.php:3 192620 #: includes/help-page.php:332 2519 2621 msgid "Write down the expected behaviour, actual result, versions, page, theme, relevant extensions, reproduction steps and the exact non-sensitive error. A recording ID can be useful inside an authorised support exchange." 2520 2622 msgstr "" 2521 2623 2522 #: includes/help-page.php:3 202624 #: includes/help-page.php:333 2523 2625 msgid "Do not send API keys, passwords, full recordings, payment information or real customer details. Use synthetic data and review any exported brief before sharing." 2524 2626 msgstr "" 2525 2627 2526 #: includes/help-page.php:323 2527 #: includes/help-page.php:333 2628 #: includes/help-page.php:336 2629 #: includes/help-page.php:346 2630 #: includes/help-page.php:352 2631 msgid "Turn recorded evidence into a scoped investigation without changing capture or consent." 2632 msgstr "" 2633 2634 #: includes/help-page.php:337 2635 #: includes/help-page.php:347 2636 #: includes/help-page.php:353 2637 msgid "Use the evidence carefully" 2638 msgstr "" 2639 2640 #: includes/help-page.php:338 2641 msgid "After reviewing individual recordings, Pro can group repeated observations so you can inspect their supporting evidence together. In Whole-range reports, select a date range and Grouped clues, then run the local analysis. Read the population and any partial-coverage warning before choosing a replay." 2642 msgstr "" 2643 2528 2644 #: includes/help-page.php:339 2529 msgid "Turn recorded evidence into a scoped investigation without changing capture or consent." 2530 msgstr "" 2531 2532 #: includes/help-page.php:324 2533 #: includes/help-page.php:334 2645 msgid "Older recordings cannot be upgraded into missing observations. Review your Pro observation settings, current notice and consent, clear cached pages and record a new consenting test visit when coverage is missing. A clue is an observation for human review; it is not a diagnosis." 2646 msgstr "" 2647 2534 2648 #: includes/help-page.php:340 2535 msgid "Use the evidence carefully"2536 msgstr ""2537 2538 #: includes/help-page.php:3252539 msgid "After reviewing individual recordings, Pro can group repeated observations so you can inspect their supporting evidence together. In Whole-range reports, select a date range and Grouped clues, then run the local analysis. Read the population and any partial-coverage warning before choosing a replay."2540 msgstr ""2541 2542 #: includes/help-page.php:3262543 msgid "Older recordings cannot be upgraded into missing observations. Review your Pro observation settings, current notice and consent, clear cached pages and record a new consenting test visit when coverage is missing. A clue is an observation for human review; it is not a diagnosis."2544 msgstr ""2545 2546 #: includes/help-page.php:3272547 2649 msgid "Use Save page investigation to open a report draft with its actual page, viewport, layout and report period. Nothing is saved until you choose Save report. Run it against retained data; saved filters do not preserve expired evidence." 2548 2650 msgstr "" 2549 2651 2550 #: includes/help-page.php:3 292652 #: includes/help-page.php:342 2551 2653 msgid "Keep using Free" 2552 2654 msgstr "" 2553 2655 2554 #: includes/help-page.php:3 302656 #: includes/help-page.php:343 2555 2657 msgid "Free includes recording, playback, bookmarks, notes and saved recording filters. Neither edition has an edition-based recording-start quota. Sampling, retention, bounded payloads and your hosting capacity still govern capture." 2556 2658 msgstr "" 2557 2659 2558 #: includes/help-page.php:3 352660 #: includes/help-page.php:348 2559 2661 msgid "From a saved investigation choose Compare this page, then select separate before and after UTC ranges and the relevant layout groups. Read the sample counts and missing coverage alongside each percentage. A layout or traffic change can alter the population." 2560 2662 msgstr "" 2561 2663 2562 #: includes/help-page.php:3 362664 #: includes/help-page.php:349 2563 2665 msgid "Comparisons are descriptive. They do not establish causation, recovered revenue, conversion lift or that a fix worked for every visitor. Collect suitable new consenting visits if a period has insufficient observations; do not treat missing data as zero friction." 2564 2666 msgstr "" 2565 2667 2566 #: includes/help-page.php:3 412668 #: includes/help-page.php:354 2567 2669 msgid "Collection evidence, discussions and live reports remain subject to deletion and retention. Authorised users can see shared notes; keep personal and payment information out. Private investigations start visible only to their owner and administrators." 2568 2670 msgstr "" 2569 2671 2570 #: includes/help-page.php:3 422672 #: includes/help-page.php:355 2571 2673 msgid "In a replay, open Add to an investigation. Choose an existing collection or create a named private investigation with that replay." 2572 2674 msgstr "" 2573 2675 2574 #: includes/help-page.php:3 422676 #: includes/help-page.php:355 2575 2677 msgid "Choose Open investigation and assign to set a next check, eligible WordPress account and work status. Deliberately choose team sharing if required. No link grants new access." 2576 2678 msgstr "" 2577 2679 2578 #: includes/help-page.php:3 422680 #: includes/help-page.php:355 2579 2681 msgid "Use saved Investigation reports for a repeatable question; Review grouped clues connects the saved scope to group assignments and edit dates. Compare this page opens a descriptive comparison." 2580 2682 msgstr "" 2581 2683 2582 #: includes/help-page.php:3 422684 #: includes/help-page.php:355 2583 2685 msgid "Administrators may opt into weekly or monthly Scheduled reports for an eligible WordPress account. The email contains only a private WordPress link, never replay, note or clue details. The live report checks access and current retention when opened. Saving does not send an email; disable the schedule to stop future emails." 2584 2686 msgstr "" 2585 2687 2586 #: includes/help-page.php:3 442688 #: includes/help-page.php:357 2587 2689 msgid "Local guidance and optional commercial services" 2588 2690 msgstr "" 2589 2691 2590 #: includes/help-page.php:3 452692 #: includes/help-page.php:358 2591 2693 msgid "Optional Pro suggestions appear after relevant review actions. Dismiss a suggestion to keep it hidden in this browser for your site and WordPress account. Local guidance preferences can restore them. Intent, bounded local usage counts and dismissals are not sent to ClickClue, contain no note text or visitor identifiers and do not change recording settings. When browser storage is blocked, choices last only for the current visit." 2592 2694 msgstr "" 2593 2695 2594 #: includes/help-page.php:346 2595 msgid "The installed Pro add-on remains usable locally. A commercial licence provides entitled private delivery, updates and support when the commercial service is available. Reading this guide does not connect a licence, begin a subscription or enable email." 2596 msgstr "" 2597 2598 #: includes/help-page.php:349 2696 #: includes/help-page.php:359 2697 msgid "Pro requires the Free plugin and a successful first licence activation for this site. After activation, earned local tools keep working offline or after updates and support expire. Eligible private updates and support require current entitlement. Reading this guide does not activate a licence, begin a subscription or enable email." 2698 msgstr "" 2699 2700 #: includes/help-page.php:362 2701 msgid "Review ClickClue on WordPress.org" 2702 msgstr "" 2703 2704 #: includes/help-page.php:363 2599 2705 msgid "ClickClue · Local recording in WordPress. Return to your WordPress dashboard to change settings. Privacy controls do not establish legal compliance for your installation." 2600 2706 msgstr "" 2601 2707 2602 #: tracewell.php:1 72708 #: tracewell.php:18 2603 2709 msgid "Another ClickClue installation is active. Deactivate that copy before activating this one. Your recordings and settings stay saved." 2604 2710 msgstr "" 2605 2711 2606 #: tracewell.php:1 82712 #: tracewell.php:19 2607 2713 msgid "Only one ClickClue installation may be active. Deactivate the duplicate copy." 2608 2714 msgstr "" … … 2647 2753 2648 2754 #: assets/dashboard.js:50 2649 #: assets/dashboard.js:1 662755 #: assets/dashboard.js:172 2650 2756 msgid "Recording paused" 2651 2757 msgstr "" … … 2683 2789 msgstr "" 2684 2790 2685 #: assets/dashboard.js: 652791 #: assets/dashboard.js:71 2686 2792 msgid "No recordings on this page. Use Previous." 2687 2793 msgstr "" 2688 2794 2689 #: assets/dashboard.js: 652795 #: assets/dashboard.js:71 2690 2796 msgid "No recordings match these filters. Clear filters or widen the date range, then try again." 2691 2797 msgstr "" 2692 2798 2693 #: assets/dashboard.js: 652799 #: assets/dashboard.js:71 2694 2800 msgid "Your first recording will appear here. Start the optional tutorial or set up a consenting, signed-out test visit." 2695 2801 msgstr "" 2696 2802 2697 2803 #. translators: 1: first row, 2: last row, 3: total recordings. @preserve 2698 #: assets/dashboard.js: 672804 #: assets/dashboard.js:73 2699 2805 #, js-format 2700 2806 msgid "%1$s–%2$s of %3$s recording" … … 2703 2809 msgstr[1] "" 2704 2810 2705 #: assets/dashboard.js: 672811 #: assets/dashboard.js:73 2706 2812 msgid "0 recordings" 2707 2813 msgstr "" 2708 2814 2709 #: assets/dashboard.js:7 22815 #: assets/dashboard.js:78 2710 2816 msgid "Could not refresh recordings. Select Refresh recordings to retry." 2711 2817 msgstr "" 2712 2818 2713 #: assets/dashboard.js: 742819 #: assets/dashboard.js:80 2714 2820 msgid "Recordings could not load. Use Refresh recordings to retry." 2715 2821 msgstr "" 2716 2822 2717 #: assets/dashboard.js:8 12823 #: assets/dashboard.js:87 2718 2824 msgid "Loading latest saved activity…" 2719 2825 msgstr "" 2720 2826 2721 #: assets/dashboard.js:8 22827 #: assets/dashboard.js:88 2722 2828 msgid "Loading replay…" 2723 2829 msgstr "" 2724 2830 2725 2831 #. translators: 1: recording date and time in UTC, 2: device category. @preserve 2726 #: assets/dashboard.js: 862832 #: assets/dashboard.js:92 2727 2833 #, js-format 2728 2834 msgid "%1$s UTC · %2$s" 2729 2835 msgstr "" 2730 2836 2731 #: assets/dashboard.js: 882837 #: assets/dashboard.js:94 2732 2838 #: assets/player-frame.js:1 2733 2839 #: assets/player.js:131 … … 2735 2841 msgstr "" 2736 2842 2737 #: assets/dashboard.js: 882843 #: assets/dashboard.js:94 2738 2844 #: assets/player-frame.js:1 2739 2845 #: assets/player.js:131 … … 2741 2847 msgstr "" 2742 2848 2743 #: assets/dashboard.js: 882849 #: assets/dashboard.js:94 2744 2850 #: assets/player-frame.js:1 2745 2851 #: assets/player.js:131 … … 2747 2853 msgstr "" 2748 2854 2749 #: assets/dashboard.js: 882855 #: assets/dashboard.js:94 2750 2856 msgid "Checkout opened" 2751 2857 msgstr "" 2752 2858 2753 #: assets/dashboard.js: 882859 #: assets/dashboard.js:94 2754 2860 msgid "Checkout error" 2755 2861 msgstr "" 2756 2862 2757 #: assets/dashboard.js: 882863 #: assets/dashboard.js:94 2758 2864 msgid "Validation error" 2759 2865 msgstr "" 2760 2866 2761 #: assets/dashboard.js: 882867 #: assets/dashboard.js:94 2762 2868 msgid "Shipping error" 2763 2869 msgstr "" 2764 2870 2765 #: assets/dashboard.js: 882871 #: assets/dashboard.js:94 2766 2872 msgid "Coupon error" 2767 2873 msgstr "" 2768 2874 2769 #: assets/dashboard.js: 882875 #: assets/dashboard.js:94 2770 2876 msgid "Order attempted" 2771 2877 msgstr "" 2772 2878 2773 #: assets/dashboard.js: 882879 #: assets/dashboard.js:94 2774 2880 msgid "Added to cart" 2775 2881 msgstr "" 2776 2882 2777 #: assets/dashboard.js: 882883 #: assets/dashboard.js:94 2778 2884 msgid "Removed from cart" 2779 2885 msgstr "" 2780 2886 2781 #: assets/dashboard.js:9 22887 #: assets/dashboard.js:98 2782 2888 msgid "Event" 2783 2889 msgstr "" 2784 2890 2785 #: assets/dashboard.js: 952891 #: assets/dashboard.js:101 2786 2892 msgid "No marked events in this recording." 2787 2893 msgstr "" 2788 2894 2789 2895 #. translators: %s: server or network error message. @preserve 2790 #: assets/dashboard.js: 982896 #: assets/dashboard.js:104 2791 2897 #, js-format 2792 2898 msgid "Could not load latest activity. %s" 2793 2899 msgstr "" 2794 2900 2795 #: assets/dashboard.js:1 072901 #: assets/dashboard.js:113 2796 2902 msgid "Preparing replay…" 2797 2903 msgstr "" 2798 2904 2799 #: assets/dashboard.js:1 072905 #: assets/dashboard.js:113 2800 2906 msgid "Replay ready" 2801 2907 msgstr "" 2802 2908 2803 #: assets/dashboard.js:1 252909 #: assets/dashboard.js:131 2804 2910 msgid "Loading your current settings…" 2805 2911 msgstr "" 2806 2912 2807 2913 #. translators: %s: server or network error message. @preserve 2808 #: assets/dashboard.js:13 22914 #: assets/dashboard.js:138 2809 2915 #, js-format 2810 2916 msgid "Settings could not load. Retry before making changes. %s" 2811 2917 msgstr "" 2812 2918 2813 #: assets/dashboard.js:1 462919 #: assets/dashboard.js:152 2814 2920 msgid "Refresh" 2815 2921 msgstr "" 2816 2922 2817 2923 #. translators: %s: date and time in UTC. @preserve 2818 #: assets/dashboard.js:16 12924 #: assets/dashboard.js:167 2819 2925 #, js-format 2820 2926 msgid "%s UTC" … … 2822 2928 2823 2929 #. translators: %1$s: sampling percentage. Keep %% as a literal percent sign. @preserve 2824 #: assets/dashboard.js:1 662930 #: assets/dashboard.js:172 2825 2931 #, js-format 2826 2932 msgid "Recording enabled · %1$s%% sample" 2827 2933 msgstr "" 2828 2934 2829 #: assets/dashboard.js:1 672935 #: assets/dashboard.js:173 2830 2936 msgid "Page text and form values masked" 2831 2937 msgstr "" 2832 2938 2833 #: assets/dashboard.js:1 672939 #: assets/dashboard.js:173 2834 2940 msgid "Form values masked · review visible page text" 2835 2941 msgstr "" 2836 2942 2837 #: assets/dashboard.js:1 682943 #: assets/dashboard.js:174 2838 2944 msgid "Built-in consent prompt enabled · published privacy notice selected" 2839 2945 msgstr "" 2840 2946 2841 #: assets/dashboard.js:1 682947 #: assets/dashboard.js:174 2842 2948 msgid "Capture blocked · publish and select a privacy policy in WordPress Settings → Privacy, then clear page caches" 2843 2949 msgstr "" 2844 2950 2845 #: assets/dashboard.js:1 682951 #: assets/dashboard.js:174 2846 2952 msgid "External consent integration needs a test visit" 2847 2953 msgstr "" 2848 2954 2849 2955 #. translators: 1: used storage, 2: storage budget in MiB, 3: recording starts. @preserve 2850 #: assets/dashboard.js:1 692956 #: assets/dashboard.js:175 2851 2957 #, js-format 2852 2958 msgid "%1$s MiB of %2$s MiB · Recording starts this month: %3$s" … … 2854 2960 2855 2961 #. translators: %1$s: UTC time of the last cleanup, or its unavailable status. @preserve 2856 #: assets/dashboard.js:17 02962 #: assets/dashboard.js:176 2857 2963 #, js-format 2858 2964 msgid "Cleanup scheduled · last run %1$s" 2859 2965 msgstr "" 2860 2966 2861 #: assets/dashboard.js:17 02967 #: assets/dashboard.js:176 2862 2968 msgid "not observed yet" 2863 2969 msgstr "" 2864 2970 2865 #: assets/dashboard.js:17 02971 #: assets/dashboard.js:176 2866 2972 msgid "Cleanup is not scheduled" 2867 2973 msgstr "" 2868 2974 2869 2975 #. translators: %1$s: upload date and time in UTC. @preserve 2870 #: assets/dashboard.js:17 12976 #: assets/dashboard.js:177 2871 2977 #, js-format 2872 2978 msgid "Last upload: %1$s UTC" 2873 2979 msgstr "" 2874 2980 2875 #: assets/dashboard.js:17 12981 #: assets/dashboard.js:177 2876 2982 msgid "No uploaded recording yet" 2877 2983 msgstr "" 2878 2984 2879 #: assets/dashboard.js:17 32985 #: assets/dashboard.js:179 2880 2986 msgid "Last cleanup failed. Recording data may remain beyond retention. Check database health and retry cleanup before continuing capture." 2881 2987 msgstr "" 2882 2988 2883 #: assets/dashboard.js:1 752989 #: assets/dashboard.js:181 2884 2990 msgid "Review · " 2885 2991 msgstr "" 2886 2992 2887 2993 #. translators: %1$s: remaining storage in mebibytes. @preserve 2888 #: assets/dashboard.js:1 792994 #: assets/dashboard.js:185 2889 2995 #, js-format 2890 2996 msgid "%1$s MiB of payload budget remaining." … … 2892 2998 2893 2999 #. translators: 1: sample count, 2: average size, 3: 95th percentile size in KiB. @preserve 2894 #: assets/dashboard.js:18 13000 #: assets/dashboard.js:187 2895 3001 #, js-format 2896 3002 msgid "Recent recordings: %1$s · Average: %2$s KiB · 95th percentile: %3$s KiB." … … 2898 3004 2899 3005 #. translators: %1$s: estimated number of additional recordings. @preserve 2900 #: assets/dashboard.js:18 23006 #: assets/dashboard.js:188 2901 3007 #, js-format 2902 3008 msgid "Estimated additional recordings: %1$s" 2903 3009 msgstr "" 2904 3010 2905 #: assets/dashboard.js:18 33011 #: assets/dashboard.js:189 2906 3012 msgid "Small sample: collect more test visits before changing your budget." 2907 3013 msgstr "" 2908 3014 2909 #: assets/dashboard.js:1 843015 #: assets/dashboard.js:190 2910 3016 msgid "Record test visits and wait at least one minute after the last upload to see a size estimate." 2911 3017 msgstr "" 2912 3018 2913 #: assets/dashboard.js:1 863019 #: assets/dashboard.js:192 2914 3020 msgid "Capacity estimates are unavailable. Refresh this page and check that ClickClue is up to date." 2915 3021 msgstr "" 2916 3022 2917 #: assets/dashboard.js:1 883023 #: assets/dashboard.js:194 2918 3024 msgid "Review latest recording" 2919 3025 msgstr "" 2920 3026 2921 #: assets/dashboard.js:1 893027 #: assets/dashboard.js:195 2922 3028 msgid "Could not load capacity. Use Check for my recording to retry." 2923 3029 msgstr "" 2924 3030 2925 #: assets/dashboard.js: 1983031 #: assets/dashboard.js:204 2926 3032 msgid "Test settings prepared, not saved. Review exclusions and consent, then save. Restore normal sampling after testing." 2927 3033 msgstr "" 2928 3034 2929 #: assets/dashboard.js:2 063035 #: assets/dashboard.js:212 2930 3036 msgid "Copied. Paste into a signed-out private window." 2931 3037 msgstr "" 2932 3038 2933 #: assets/dashboard.js:2 073039 #: assets/dashboard.js:213 2934 3040 msgid "Copy the selected link, then paste into a signed-out private window." 2935 3041 msgstr "" 2936 3042 2937 #: assets/dashboard.js:2 123043 #: assets/dashboard.js:226 2938 3044 msgid "The exclusion selector is invalid. Correct it before saving." 2939 3045 msgstr "" 2940 3046 2941 #: assets/dashboard.js:2 163047 #: assets/dashboard.js:230 2942 3048 msgid "Saving…" 2943 3049 msgstr "" 2944 3050 2945 #: assets/dashboard.js:217 3051 #: assets/dashboard.js:233 3052 msgid "The saved settings could not be confirmed. Reload this page to check them before retrying." 3053 msgstr "" 3054 3055 #: assets/dashboard.js:237 2946 3056 msgid "Settings saved." 2947 3057 msgstr "" 2948 3058 2949 3059 #. translators: Keep the literal confirmation token DELETE unchanged. @preserve 2950 #: assets/dashboard.js:2 233060 #: assets/dashboard.js:244 2951 3061 msgid "Permanently delete ALL recordings? Type DELETE to confirm." 2952 3062 msgstr "" 2953 3063 2954 #: assets/dashboard.js:2 293064 #: assets/dashboard.js:250 2955 3065 msgid "Deletion progress could not be confirmed. Please retry." 2956 3066 msgstr "" 2957 3067 2958 #: assets/dashboard.js:2 313068 #: assets/dashboard.js:252 2959 3069 msgid "All recordings deleted. Monthly usage is unchanged." 2960 3070 msgstr "" 2961 3071 2962 #: assets/dashboard.js:2 323072 #: assets/dashboard.js:253 2963 3073 msgid "Deletion stopped because the remaining count is not decreasing. Pause recording, check database health, and retry." 2964 3074 msgstr "" 2965 3075 2966 3076 #. translators: 1: number deleted, 2: number still remaining. @preserve 2967 #: assets/dashboard.js:2 343077 #: assets/dashboard.js:255 2968 3078 #, js-format 2969 3079 msgid "Recordings deleted: %1$s. Remaining: %2$s…" … … 2971 3081 2972 3082 #. translators: %1$s: number of deleted recordings. @preserve 2973 #: assets/dashboard.js:2 363083 #: assets/dashboard.js:257 2974 3084 #, js-format 2975 3085 msgid "Recordings deleted in this pass: %1$s. Run deletion again to continue." 2976 3086 msgstr "" 2977 3087 2978 #: assets/dashboard.js:262 3088 #: assets/dashboard.js:263 3089 #: assets/studio.js:82 3090 msgid "Wait for settings to finish loading or saving before refreshing." 3091 msgstr "" 3092 3093 #: assets/dashboard.js:288 2979 3094 msgid "Open workspace view" 2980 3095 msgstr "" … … 2994 3109 #: assets/diagnostics.js:1 2995 3110 #: assets/recorder.js:1 3111 msgid "No recording is made for this signed-in visit." 3112 msgstr "" 3113 3114 #: assets/diagnostics.js:1 3115 #: assets/recorder.js:1 2996 3116 msgid "Capture stopped. Waiting for deletion confirmation from the server." 2997 3117 msgstr "" … … 3055 3175 #: assets/recorder.js:1 3056 3176 msgid "Close check" 3177 msgstr "" 3178 3179 #: assets/diagnostics.js:1 3180 #: assets/recorder.js:1 3181 msgid "This check does not enable recording." 3057 3182 msgstr "" 3058 3183 … … 3804 3929 3805 3930 #: assets/pro-previews.js:37 3806 msgid "Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Updates remain manual; eligible downloads and support are separate."3931 msgid "Pro requires ClickClue Free and a successful first licence activation for this site. Once unlocked, local tools keep working offline or after updates and support expire. Eligible Pro updates appear in WordPress from version 1.1.5. Update Free first, then Pro. Updates and support depend on your subscription." 3807 3932 msgstr "" 3808 3933 … … 3901 4026 #: assets/pro-previews.js:68 3902 4027 msgid "See example and steps" 4028 msgstr "" 4029 4030 #: assets/pro-previews.js:70 4031 msgid "Suggested starting point: " 3903 4032 msgstr "" 3904 4033 … … 4036 4165 4037 4166 #: assets/recorder.js:1 4038 msgid "No thanks"4039 msgstr ""4040 4041 #: assets/recorder.js:14042 4167 msgid "Close" 4043 4168 msgstr "" … … 4401 4526 msgstr "" 4402 4527 4403 #: assets/studio.js:814404 msgid "Wait for settings to finish saving before leaving this view."4405 msgstr ""4406 4407 4528 #: assets/studio.js:83 4408 #: assets/studio.js:84 4529 msgid "Discard your unsaved settings changes and load the latest saved settings?" 4530 msgstr "" 4531 4532 #: assets/studio.js:86 4533 msgid "Wait for settings to finish loading or saving before leaving this view." 4534 msgstr "" 4535 4536 #: assets/studio.js:88 4537 #: assets/studio.js:89 4409 4538 msgid "Hide review tools" 4410 4539 msgstr "" 4411 4540 4412 #: assets/studio.js:8 34413 #: assets/studio.js:8 44541 #: assets/studio.js:88 4542 #: assets/studio.js:89 4414 4543 msgid "Show review tools" 4415 4544 msgstr "" … … 4428 4557 4429 4558 #: assets/tutorial.js:1 4430 msgid "Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions , keep page text masked and confirm how visitors will give permission."4431 msgstr "" 4432 4433 #: assets/tutorial.js:1 4434 msgid " Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you mustreview and select Save settings. While enabled, other eligible, consenting tabs may also be recorded."4559 msgid "Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text." 4560 msgstr "" 4561 4562 #: assets/tutorial.js:1 4563 msgid "In Settings → Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded." 4435 4564 msgstr "" 4436 4565 -
clickclue/trunk/readme.txt
r3775799 r3776421 1 === ClickClue === 2 Tags: session replay, analytics, privacy, usability 1 === ClickClue – Session Replay === 2 Contributors: pluginsshop 3 Tags: session replay, session recording, user behavior, analytics, privacy 3 4 Requires at least: 6.6 4 5 Tested up to: 7.1 5 6 Requires PHP: 8.1 6 Stable tag: 1.1. 47 Stable tag: 1.1.6 7 8 License: GPL-2.0-or-later 8 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 9 10 10 Consent-first session replay, stored on your WordPressserver.11 Record and replay visitor sessions in WordPress. Understand clicks and scrolling, with consent controls and recordings stored on your server. 11 12 12 13 == Description == 13 See how visitors use your pages. ClickClue records consented website interactions so administrators can replay visits, filter recordings, bookmark useful examples and add review notes. No external analytics account is needed.14 ClickClue is a session recording and replay plugin for WordPress. Watch consenting, signed-out visits to understand navigation, clicks and scrolling. Bookmark recordings and add review notes. Recordings stay in your WordPress database; no external analytics account is required. 14 15 15 Free includes recording, replay, filters, saved filters, bookmarks, notes and all privacy controls. There is no monthly recording allowance, trial period or upgrade requirement for local recording. Your sampling, retention, storage budget and hosting capacity determine how much you keep. 16 = Included in Free = 17 * Session recording and replay with playback controls. 18 * Page, device, date, watched and bookmarked filters, plus saved filters. 19 * Bookmarks and review notes to keep useful examples together. 20 * Visitor consent, masking, page exclusions and private-region controls. 21 * Configurable sampling, retention and storage budget. 16 22 17 The separate Pro add-on adds a website Clues inbox, page click/scroll heatmaps, structural form insights, custom journeys, before-and-after comparisons, optional visitor feedback, team roles, expiring account-bound invitations, connected-site summaries and administrator JSON exports. Pro features are delivered in the separate add-on, not in this Free package. 23 Free has no trial expiry or monthly quota. Consent, sampling, retention, storage and hosting limits apply. 24 25 = Optional ClickClue Pro add-on = 26 Pro adds grouped clues, click/scroll heatmaps, structural form insights, journeys, before-and-after comparisons, optional feedback and team tools. These paid features are not included in Free. Free replay and privacy controls remain available without Pro. 27 28 [Compare Free and Pro](https://clickclue.com/pricing). See the activation FAQ below. 18 29 19 30 == Installation == 20 1. Install and activate ClickClue. Open ClickClue > Settings > Recording & privacy, or choose Start tutorial for the optional walkthrough.21 2. Publish your site-specific p rivacy policy and select it in WordPress Settings > Privacy. The built-in replay prompt cannot record withouta published policy.22 3. Review excluded paths, privacy settingsand sampling; then enable recording and save. Clear page/CDN caches.31 1. Activate ClickClue. Open ClickClue > Settings > Recording & privacy, or choose Start tutorial. 32 2. Publish your site-specific policy and select it in WordPress Settings > Privacy. The built-in prompt needs a published policy. 33 3. Review excluded paths, masking and sampling; then enable recording and save. Clear page/CDN caches. 23 34 4. For your first test, use 100% sampling in a signed-out window. Choose Allow replay and interact with an included page. 24 5. Refresh Recordings a fter a few seconds and choose Watch. Review the actual masking before recording real visitors.35 5. Refresh Recordings and choose Watch. Check masking, then restore your intended sampling rate. 25 36 26 New installations start paused with visitor permission required, 10% sampling, seven-day retention and a 250 MiB replay payload budget. Retention is adjustable from 1 to 365 days and the payload budget from 1 to 10,240 MiB in either edition. These controls do not provide hosting space. Database indexes and backups require additionalspace.37 Defaults: paused, permission required, 10% sampling, seven-day retention and 250 MiB payload budget. Both editions allow 1–365 days and 1–10,240 MiB. Your host supplies storage; indexes and backups need extra space. 27 38 28 Signed-in visitors and account, login, administration, order-pay and order confirmation pages are always excluded. Network activation is not supported; activate separately on eachsite.39 Network activation is not supported. Activate separately on each WordPress site. 29 40 30 41 = Updating an existing installation = 31 Back up your database and plugin files. Install or update ClickClue Free 1.1.4 first, then ClickClue Pro 1.1.4 if used. These packages use the clickclue and clickclue-pro folders. When moving from an older folder name, deactivate the existing Pro and Free copies before uploading and activating Free, then Pro. Keep the old copies inactive; do not use Delete or uninstall to change folders. Existing recordings, settings, licence state and consent choices are retained. Never activate two copies of either edition. Clear page/CDN caches after updating.42 Back up your database and plugin files. Update Free to 1.1.6 first, then Pro to 1.1.6 if used. Recordings, settings and licence state are retained. This update requires fresh positive visitor consent for the revised replay notice; existing valid refusals keep their original expiry. Clear page/CDN caches. 32 43 33 When upgrading from a release before 0.8.0, the updated replay notice requires fresh positive consent; previous refusals remain respected. Updating from 0.8.0 or 0.8.1 preserves valid choices when the recording scope is unchanged. Changing image approvals or enabling or changing Pro goals or campaigns requires current positive consent; previous refusals remain respected. Site isolation, introduced in 0.6.11, scopes visitor permission and recording authorization to the individual site. An unfinished deletion request from an older version cannot be confirmed automatically. The visitor is told it is unconfirmed, recording stays off, and the site owner can review deletion requests using the existing privacy process. Existing recordings continue to follow retention and administrator deletion. 44 Folders are clickclue and clickclue-pro. To migrate from older names, deactivate existing copies, then upload and activate Free followed by Pro. Keep old copies inactive; do not Delete or uninstall them to change folders. Never activate duplicate copies. 45 46 == Frequently Asked Questions == 47 48 = Is Free limited by a monthly recording quota? = 49 No. Consent, sampling, hosting, retention and storage limits apply. Each recording is limited to 30 minutes and 8 MiB. Capture pauses at the storage budget and resumes when space is available. 50 51 = Where are recordings stored? Do I need a ClickClue account? = 52 Recordings stay in your WordPress database. Free sends none to ClickClue or external analytics, and needs no external account or licence. Your WordPress account controls access. 53 54 = Does recording start immediately after installation? = 55 No. Review your policy and settings, enable recording and save. Eligible signed-out visitors must consent. Follow the installation steps to test your pages. 56 57 = Are signed-in visitors or typed values recorded? = 58 Signed-in visitors and account, login, administration, order-pay and order confirmation pages are excluded. Typed values are masked before upload. Ordinary page text is readable by default; Mask all page text is optional. Explicitly private regions remain protected either way. Review your masking and exclusions before recording real visitors. 59 60 = Why can a replay look different from my live page? = 61 Replay reconstructs the website; it is not desktop video. Images are excluded by default. Media, fonts, backgrounds or unavailable styles may differ. Test your theme and hosting. Unuploaded interactions cannot be replayed. 62 63 = Does Pro need activation? = 64 Pro adds the tools listed above and needs matching Free plus a valid first licence activation. Previously activated local tools survive ordinary subscription expiry; updates and support require active entitlement. Explicitly deactivating or forgetting the licence locks Pro without deleting recordings or settings. 34 65 35 66 == Privacy == 36 Capture starts only after visitor permission. Typed values are masked before upload. Ordinary page text stays readable on new installations. You can enable Mask all page text; typed values and explicitly private regions stay protected either way. Existing saved masking choices are preserved on upgrade. Images are excluded by default. Optional, administrator-approved public/static WordPress library images can be prepared locally and included in new recordings. Private regions still take priority. SVG, canvas, audio, video, embedded frames, hidden inputs and editable content remain excluded. Query strings and fragments are removed. Structural classes and IDs can remain for layout; use data-tw-block or exclusion selectors on regions withsensitive attributes.67 Capture requires visitor permission. Saved masking choices survive upgrades. Images are excluded by default. SVG, canvas, audio, video, embedded frames, hidden inputs and editable content remain excluded. URL query values and fragments are removed, except a verified public WordPress post or page ID needed to distinguish plain permalinks. Structural classes and IDs can remain for layout; use data-tw-block or exclusion selectors around sensitive attributes. 37 68 38 Recordings stay in your WordPress database. Free does not send recordings to ClickClue or an external analytics provider. No raw IP addresses are saved by ClickClue. A rotating keyed IP hash is kept temporarily for rate limiting. Existing web server or hosting logs are outside the plugin's control. No request bodies, console logs, customer IDs or order IDs are intentionally collected.69 Free does not intentionally collect raw IP addresses, request bodies, console logs, customer IDs or order IDs. Mask or exclude sensitive details in page text or attributes. A rotating keyed IP hash is kept temporarily for rate limiting. Hosting/server logs are outside the plugin's control. 39 70 40 The built-in prompt saves a site-scoped consent choice for 180 days. Do Not Track and Global Privacy Control prevent recording. Revoking consent stops capture, clears unsent data and requests deletion of the current valid session. A failed deletion remains visible as pending; it is not reported as complete. Older sessions remain subject to retention and administrator deletion.71 The built-in prompt saves site-scoped consent for 180 days. Do Not Track and Global Privacy Control prevent recording. Withdrawal stops capture, clears unsent data and requests deletion of the current valid session. Failed deletion remains visibly pending. Older sessions follow retention and administrator deletion. Unfinished requests from older versions can remain unconfirmed with recording off; dismissing that notice does not confirm deletion. Owners should review such requests through their privacy process. 41 72 42 If you use an external consent manager, disable the built-in prompt only after wiring window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent(). Consent is still required. Privacy controls alone do not establish legal compliance for a particular installation. 73 Changing the privacy notice or recording scope can require fresh permission, including image approvals and Pro goals or campaigns. Existing valid refusals remain respected. For an external consent manager, disable the built-in prompt only after wiring window.ClickClue.grantConsent() and window.ClickClue.withdrawConsent(). Consent is still required. Privacy controls alone do not establish legal compliance for an installation. 74 75 = Approved public images = 76 Off by default. Administrators can approve public, static WordPress images containing no personal or sensitive content. PHP GD and local uploads are required. Bounded PNG/JPEG copies are prepared locally, without arbitrary visitor-URL fetching or screen capture. Private, masked and excluded regions take priority. 77 78 The catalogue allows 256 images and about 46 MiB of data/metadata. Each recording allows 64 used copies and 2 MiB within its budget. Unmatched images stay placeholders. Removing approval removes stored copies, preserving other events; downloaded exports need separate review. Update your notice and test first. 43 79 44 80 == Operation == 45 Recordings are limited to 30 minutes and 8 MB each. Oversized snapshots and event backlogs stop capture. Uploads use acknowledged batches, bounded retries and deduplication. Unsent events stay in memory, up to 2 MiB, and are cleared on withdrawal. Reconnection can resume a paused recorder with a fresh snapshot. Pending data cannot survive a destroyed browser process. Replay shows interrupted or unconfirmed delivery instead of implying a complete visit. Recording pauses when the chosen storage budget is reached; it resumes when space becomes available.81 Uploads use acknowledgements, bounded retries and deduplication. Unsent events stay in memory, up to 2 MiB, and clear on withdrawal. Reconnection can resume capture. Oversized snapshots/backlogs stop capture; browser destruction loses pending data. Replay labels interrupted or unconfirmed delivery. 46 82 47 Cleanup uses hourly WP-Cron plus bounded cleanup during dashboard access and session creation. Configure a real cron trigger on low-traffic sites when timely retention matters. Deactivation preserves data. The optional Delete data when uninstalling setting controls permanent uninstallcleanup.83 Cleanup uses hourly WP-Cron and bounded dashboard/session cleanup. Low-traffic sites need a real cron trigger for timely retention. Deactivation keeps data. Delete data when uninstalling controls permanent cleanup. 48 84 49 The player reconstructs a website; it is not desktop video. Media, external fonts, background images and unavailable styles may differ from the live page. Test performance with your hosting and theme. 85 == Local guidance and optional previews == 86 Tutorial progress stays in the administrator's browser. Preview hide/dismiss preferences stay on-site per administrator and support WordPress privacy export/erasure. Selected previews stay in site/account-scoped browser storage for seven days. Previews send no analytics or email signup. Pricing links use fixed fragments without site, user or recording identifiers. 50 87 88 After the site's first counted recording is 30 days old and an administrator reviews ten distinct recordings across five UTC days, an optional review invitation can appear. Counters started in 1.1.5 and survive updates. Choose an honest review, a 30-day reminder or permanent dismissal per administrator. Counts stay local. Help also has a review link. 51 89 52 = Approved public images=53 T his optional setting is off by default in both editions. An administrator can choose specific public, static WordPress image attachments and confirm that they contain no personal or sensitive content. ClickClue reads eligible local uploads, creates bounded PNG/JPEG copies and stores used copies with the recording. It does not fetch arbitrary visitor image URLs or capture visitor screen pixels. Preparation requires the PHP GD image extension and an eligible local upload. The prepared catalogue is bounded separately from recordings (up to 256 images in named collections, about 46 MiB of encoded image data and URL metadata); Only used copies are loaded with a recording: at most 64 and 2 MiB, counted towards its payload budget. Matching uses up to eight same-origin URL variants per image within a 256 KiB metadata allowance; unmatched images remain placeholders. Private, masked and excluded regions take priority. Removing approval removes stored image copies from existing recordings while preserving other recording events. Exports already downloaded require separate review. Update your site notice and test your exact pages before enabling this option.90 == Translations and development == 91 Translations use clickclue: site language for visitors, user language for the dashboard, English fallback. The languages/ template is not a complete set of human translations. Clear page caches after changing site language. 54 92 55 = First-use guidance = 56 The first-visit checklist and contextual Pro-help dismissals are stored only in the current administrator's browser. They do not send setup or upgrade-interest analytics to ClickClue, change recording consent, or limit Free features. Clear or reset the browser-local tutorial to repeat its guidance. 93 Source and a dependency-locked build are included; see BUILD.txt and THIRD-PARTY-LICENSES.txt. The tutorial opens a translated local guide; assets/help.html has an English copy. 57 94 58 == Translations == 59 Interface translations use the clickclue text domain and WordPress language packs. The site language controls visitor wording; the signed-in user language controls the dashboard. English remains the fallback when a translation is unavailable. The template and translation workflow are in languages/. This release makes the interface translatable; it does not bundle complete translations for every language. Clear page caches after changing the site language. 60 61 == Development == 62 Readable source and a dependency-locked asset build are included. See BUILD.txt and THIRD-PARTY-LICENSES.txt. The tutorial opens a translated local guide inside WordPress; it needs no external documentation account. A static English copy is also included in assets/help.html. 63 64 == Optional Pro previews == 65 Clearly labelled examples explain separate Pro features without enabling them. Hide and dismiss preferences are stored on this WordPress site per administrator and included in WordPress privacy export/erasure. The selected feature stays in browser storage, scoped to this site and account, for seven days; clearing browser storage removes it. Opening previews sends no analytics to ClickClue and creates no email subscription. Get Pro opens the public pricing page with a fixed feature fragment and no site, user or recording identifiers. Pro needs Free and a successful first licence activation. Existing Free recording, privacy and storage choices remain unchanged. 95 == Screenshots == 96 1. Review a fictional recorded visit with playback controls, bookmarks and notes. Example data; ClickClue Free 1.1.5. 97 2. Choose consent, sampling and page-text masking in recording settings. Example settings; ClickClue Free 1.1.5. New installations start paused. 66 98 67 99 == Changelog == 68 100 69 = 1.1.4 = 70 * Uses the same ClickClue logo as the website and adds accessible star indicators to Pro preview navigation. 71 * Keeps ordinary page text readable on new installations while protecting typed values and private regions; existing saved masking choices stay unchanged. 72 * Preserves your text-masking choice when preparing a test visit; clarifies local help and Pro licence activation. 73 74 75 = 1.1.3 = 76 * Opens focused setup after the first individual activation while recording remains paused. 77 * Improves replay visibility on small screens, translated toolbar layouts and replay accessibility. 78 * Keeps review-note emoji local and clarifies recording-capacity retry guidance. 79 80 = 1.1.2 = 81 Matched Free and Pro 1.1.2 stable release. Existing replay features, edition boundaries, privacy choices, stored recordings and licence behaviour are unchanged. Genuine dependency minima remain unchanged. 82 83 84 = 0.10.14 = 85 Keeps the Free/Pro comparison inside narrow Settings screens and renders workspace icons locally without WordPress emoji image requests. Matched companion release for ClickClue Pro 0.10.14; recording and privacy behavior is unchanged. 86 87 88 = 0.10.13 = 89 Matched companion for ClickClue Pro 0.10.13. Free recording, replay, privacy controls and stored data are unchanged. 90 91 92 = 0.10.12 = 93 Matched companion for ClickClue Pro 0.10.12. Explicit data removal also clears saved clue notifications. Free recording and privacy controls are unchanged. 94 95 = 0.10.11 = 96 Adds clearly labelled Pro previews with genuine example screenshots, a Free/Pro comparison and optional replay suggestion. Preview choices stay local; no marketing subscription or remote analytics is created. 97 98 = 0.10.10 = 99 Matched release metadata for the ClickClue Pro activation update. Free recording, replay and privacy controls remain available. 100 101 = 0.10.9 = 102 WordPress translation support for the Free dashboard, consent prompt, replay controls, local help and runtime messages. Includes a translation template and preserves consent and recording state across language changes. 103 104 = 0.10.8 = 105 Safer teammate names on session notes: use WordPress display names, with generic labels for unavailable or email-shaped names. 106 107 = 0.10.7 = 108 Grouped workspace navigation, focused settings and a larger replay canvas. Clearer upload status and draft protection preserve deliberate recording choices. 109 110 = 0.10.6 = 111 * Uses ClickClue names in test links, dashboard and invitation links, reports and installed guidance. 112 * Keeps earlier links and existing integrations compatible without changing saved data or consent. 113 114 = 0.10.5 = 115 * Uses ClickClue names for both installer folders and current installation guidance. 116 * Preserves existing saved data when moving from older folders without uninstalling. 117 * Keeps Pro updates manual. 118 119 120 = 0.10.0 = 121 * Adds a first-visit checklist with recording readiness, signed-out test guidance and replay review progress. 122 * Adds three dismissible, contextual links explaining the separate Pro add-on in the bundled guide. 123 * Keeps setup progress in the current administrator's browser without transmitting usage analytics. 124 * Preserves existing recording, retention, storage and privacy settings. 125 * Update Free first, then matching Pro, without uninstalling. 126 127 = 0.9.0 = 128 * Adds acknowledged upload batches, bounded memory-only retries and recovery after temporary disconnection. 129 * Shows recording completeness in replay; a closed tab or missing batch is not silently labelled complete. 130 * Updates computed layout in bounded batches for changed and visible elements. 131 * Organises up to 256 individually approved public images in named collections, with up to 64 used copies and 2 MiB per recording. 132 * Preserves masking, local storage, existing settings and uncapped monthly Free recording. 133 * Update Free first, then matching Pro, without uninstalling. Image approval changes and enabled Pro goal/campaign changes require current consent. 134 135 = 0.8.1 = 136 * Keeps tutorial help available inside the installed plugin without an external website. 137 * Clarifies optional approved images in the settings and suggested privacy-policy wording. 138 * Applies each site’s uninstall preference when removing ClickClue from a multisite network. 139 * Update Free first, then the matching Pro add-on. Existing recordings, settings and consent choices are preserved. 140 141 = 0.8.0 = 142 * Adds optional, default-off approved public images to replay, while keeping private regions excluded. 143 * Preserves more structural layout detail without fetching arbitrary image URLs or external fonts. 144 * Removes stored approved-image copies when approval is withdrawn; recording events follow normal retention. 145 * Update Free first, then matching Pro, clear page/CDN caches and renew positive replay consent. 146 101 = 1.1.6 = 102 * Reject oversized privacy exclusion rules without silently cutting them or changing saved settings. 103 * Keep embedded documents out of recording and preserve the parent replay. 104 * Refresh current saved settings and protect unsaved changes. 105 * Distinguish public WordPress pages with plain permalinks while removing unrelated URL query data. 106 * Improve mobile recording actions, setup guidance and Pro-preview wording. 107 * Set pluginsshop author information and the plugins.shop author link. 147 108 148 109 Earlier release history is included in changelog.txt. 110 111 == Upgrade Notice == 112 = 1.1.6 = 113 Fixes privacy-rule validation and replay/setup issues. Fresh positive visitor consent is required; valid refusals remain respected. Update Free first, then matching Pro, and clear page/CDN caches. -
clickclue/trunk/src/diagnostic-translations.mjs
r3775799 r3776421 2 2 // Diagnostics loads on demand. Include its messages in the recorder language pack. 3 3 export function diagnosticTranslations() { 4 i18n.__('No recording is made for this signed-in visit.', 'clickclue'); 5 i18n.__('This check does not enable recording.', 'clickclue'); 4 6 i18n.__("After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.", 'clickclue'); 5 7 i18n.__("Allow this replay", 'clickclue'); -
clickclue/trunk/src/diagnostics.mjs
r3775799 r3776421 2 2 // Optional, local-only status panel. It never changes sampling or authorizes a 3 3 // signed-in/excluded visit. Its own DOM is excluded by the recorder. 4 const api = window.ClickClue || window.Tracewell; 5 if (api && !document.getElementById('clickclue-check')) { 4 const signedInCheck = window.ClickClueCheckConfig?.state === 'signed_in'; 5 const api = signedInCheck ? {diagnostics:()=>({state:'signed_in',consent:false,browserOptOut:false,deletion:'not_requested'})} : window.ClickClue || window.Tracewell; 6 let topLevel = false; try { topLevel = window.top === window; } catch {} 7 if (topLevel && ['#clickclue-check','#tracewell-check'].includes(location.hash) && api && !document.getElementById('clickclue-check')) { 8 if (location.hash === '#tracewell-check') history.replaceState(null, '', location.pathname + location.search + '#clickclue-check'); 6 9 const host = document.createElement('div'); host.id = 'clickclue-check'; host.setAttribute('data-tw-block', ''); 7 10 const root = host.attachShadow({ mode: 'open' }); … … 14 17 const status = el('div', '', 'status'); status.setAttribute('role', 'status'); const title = el('strong', ''), detail = el('p', ''); status.append(title, detail); panel.append(status); 15 18 const upload = el('p', '', 'upload'); panel.append(upload); 16 const next = el('p', i18n.__('After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.', 'clickclue')); panel.append(next);19 const next = el('p', i18n.__('After the upload, return to WordPress and watch this visit. Check that sample form values and private content are masked.', 'clickclue')); next.hidden = signedInCheck; panel.append(next); 17 20 const actions = el('div', '', 'actions'); 18 21 const consent = el('button', i18n.__('Allow this replay', 'clickclue')); consent.type = 'button'; consent.onclick = () => api.grantConsent(); … … 20 23 const retry = el('button', i18n.__('Retry deletion', 'clickclue'), 'secondary'); retry.type = 'button'; retry.onclick = () => api.retryDeletion(); 21 24 actions.append(consent, stop, retry); panel.append(actions); 22 const close = el('button', i18n.__('Close check', 'clickclue'), 'secondary'); close.type = 'button'; panel.append(close, el('small', i18n.__('Closing this panel does not change your consent. Use Replay privacy to change it later.', 'clickclue')));25 const close = el('button', i18n.__('Close check', 'clickclue'), 'secondary'); close.type = 'button'; panel.append(close, el('small', signedInCheck ? i18n.__('This check does not enable recording.', 'clickclue') : i18n.__('Closing this panel does not change your consent. Use Replay privacy to change it later.', 'clickclue'))); 23 26 const states = { 24 27 waiting: [i18n.__('Waiting for permission', 'clickclue'), i18n.__('Choose Allow this replay to test capture.', 'clickclue')], … … 46 49 }; 47 50 function render() { 48 const d = api.diagnostics(), copy = states[d.state] || states.unavailable;51 const d = api.diagnostics(), displayState = d.privacyNoticeReady === false && ['waiting','denied'].includes(d.state) ? 'privacy_notice' : d.state, copy = states[displayState] || states.unavailable; 49 52 title.textContent = copy[0]; detail.textContent = copy[1]; 50 53 upload.textContent = d.lastUploadAt ? i18n.sprintf(/* translators: %1$s: number of events accepted by the server. @preserve */ i18n.__("Upload confirmed by your server · %1$s events accepted in this tab.", 'clickclue'), d.uploadedEvents) : i18n.__('No upload confirmed in this tab yet.', 'clickclue'); 51 consent.hidden = d.consent || d.browserOptOut || ['pending', 'failed', 'legacy_unconfirmed'].includes(d.deletion); stop.hidden = !d.consent; 54 consent.hidden = d.consent || d.browserOptOut || d.privacyNoticeReady === false || ['privacy_notice','signed_in','paused','excluded','consent_changed'].includes(d.state) || ['pending', 'failed', 'legacy_unconfirmed'].includes(d.deletion); stop.hidden = !d.consent; 55 if (signedInCheck) upload.textContent = i18n.__('No recording is made for this signed-in visit.', 'clickclue'); 52 56 retry.hidden = d.deletion !== 'failed'; 53 57 if (d.state === 'denied') upload.textContent = { pending: i18n.__('Capture stopped. Waiting for deletion confirmation from the server.', 'clickclue'), confirmed: i18n.__('Capture stopped. The server confirmed deletion of the current session.', 'clickclue'), failed: i18n.__('Capture stopped. Deletion could not be confirmed. Retry deletion or contact this website’s owner.', 'clickclue'), legacy_unconfirmed:i18n.__('An earlier deletion request is unconfirmed after the plugin update. Capture stays off. Contact this website’s owner and review the Replay privacy notice.', 'clickclue'), not_requested: i18n.__('Capture is off. No current session was submitted for deletion.', 'clickclue') }[d.deletion]; -
clickclue/trunk/src/privacy.mjs
r3775799 r3776421 1 import {recordedPagePath} from './page-path.mjs'; 1 2 import {imageFit,imagePosition} from './media.mjs'; 2 3 import {sanitizeLayout,layoutDeclarations} from './layout.mjs'; 3 4 export const mask = (text) => String(text ?? '').replace(/\S/g, '*'); 4 export function cleanPath(raw, base = 'https://example.invalid') { 5 try { return new URL(raw, base).pathname.replace(/[^/]*(?:@|%40)[^/]*/gi, '[masked]').slice(0, 500); } 6 catch { return '/'; } 7 } 5 export const cleanPath = recordedPagePath; 8 6 export function cleanCSS(raw) { 9 7 // Read CSS tokens before discarding URLs, comments and string contents. -
clickclue/trunk/src/recorder.mjs
r3775799 r3776421 1 1 import {diagnosticTranslations} from './diagnostic-translations.mjs'; 2 diagnosticTranslations();3 2 import {i18n} from './i18n.mjs'; 4 import { c leanPath } from './privacy.mjs';3 import { capturePagePath, plainPageRoute } from './page-path.mjs'; 5 4 import { createTransport } from './transport.mjs'; 6 5 const config = window.TracewellConfig; 7 if (config && !window.Tracewell) { 6 // Embedded documents stay excluded even when they load their own plugin script. 7 // Check before storage or consent handling: same-origin frames share the tab's 8 // authorization, but must never add their document to the top-level recording. 9 let topLevel = false; 10 try { topLevel = window.top === window; } catch {} 11 if (topLevel && config && !window.Tracewell) { 12 diagnosticTranslations(); 8 13 const scriptNonce = document.currentScript?.nonce; 9 14 const getStorage = name => { try { return window[name]; } catch { return { getItem: () => null, setItem() {}, removeItem() {} }; } }; … … 54 59 const excludedNow = () => { 55 60 // Evaluate privacy rules before redacting identifiers from recorded paths. 56 let path;try{path=decodeURIComponent(new URL(location.href).pathname).toLowerCase();}catch{return true;} 61 let path, url;try{url=new URL(location.href);path=decodeURIComponent(url.pathname).toLowerCase();}catch{return true;} 62 const route=plainPageRoute(location.href); 63 if (['preview','preview_id','preview_nonce','rest_route',...(config.privateQueryKeys||['order-pay','order-received'])].some(key=>url.searchParams.has(key))) return true; 64 if ((url.searchParams.has('p')||url.searchParams.has('page_id')) && (!route || capturePagePath(location.href,config)!==route.identity)) return true; 65 const identity=decodeURIComponent(capturePagePath(location.href,config)).toLowerCase(); 57 66 return ['/wp-admin','/wp-login.php','/my-account','/order-received','/order-pay','/wp-json',...(typeof config.excludePaths==='string'?config.excludePaths.split(/\r\n|\r|\n/):[])].some(value=>{ 58 try { const rule=decodeURIComponent(value.trim()).toLowerCase(); return rule && path.includes(rule); }67 try { const rule=decodeURIComponent(value.trim()).toLowerCase(); return rule && (path.includes(rule)||identity.includes(rule)); } 59 68 catch { return true; } 60 69 }); … … 97 106 capture=captureFactory({media:authorization.media||[],maskText:config.maskText!==false,blockSelector:config.blockSelector,emit(event){ 98 107 if(generation!==version||!pageActive||!transportAllowed())return; 108 if(event.type===4)event={...event,data:{...event.data,href:capturePagePath(location.href,config)}}; 99 109 instance.enqueue(event); 100 110 }}); … … 120 130 // A start mutates server state. Keep its response after withdrawal so a 121 131 // late authorization can be deleted instead of silently orphaned. 122 startRequest = post('/start', { consent: true, consent_version: choice.revision, token: authorization?.token, path: c leanPath(location.href), width: innerWidth, height: innerHeight });132 startRequest = post('/start', { consent: true, consent_version: choice.revision, token: authorization?.token, path: capturePagePath(location.href,config), width: innerWidth, height: innerHeight }); 123 133 const auth = await startRequest; startRequest = null; 124 134 if (generation !== version || choice?.allowed !== true || !validChoice(choice) || optedOut() || excludedNow()) { … … 251 261 // recording is active. Do not expose stale authorizations after withdrawal. 252 262 visitorAuthorization: () => state === 'recording' && pageActive && !pendingDeletion && !legacyDeletion && choice?.allowed === true && validChoice(choice) && !optedOut() && !excludedNow() && typeof authorization?.token === 'string' ? { token: authorization.token } : null, 253 diagnostics: () => ({ state, consent: choice?.allowed === true, browserOptOut: optedOut(), sampleRate: Number(config.sampleRate || 10), maskText: config.maskText !== false, lastUploadAt, uploadedEvents, transport:transport?.stats()||null, deletion:legacyDeletion?'legacy_unconfirmed':deletion }) };263 diagnostics: () => ({ state, privacyNoticeReady: !config.consentUI || !!privacyUrl, consent: choice?.allowed === true, browserOptOut: optedOut(), sampleRate: Number(config.sampleRate || 10), maskText: config.maskText !== false, lastUploadAt, uploadedEvents, transport:transport?.stats()||null, deletion:legacyDeletion?'legacy_unconfirmed':deletion }) }; 254 264 window.ClickClue = window.Tracewell; 255 265 window.addEventListener('tracewell:consent', event => event.detail === true ? grant() : withdraw()); … … 280 290 function ready() { 281 291 if (pendingDeletion) { withdraw(); } 282 if (optedOut()) setState('browser_opt_out'); else if (choice?.allowed === false) setState('denied'); 292 if (optedOut()) setState('browser_opt_out'); else if (choice?.allowed === false) setState('denied'); else if(config.consentUI&&!privacyUrl)setState('privacy_notice'); 283 293 renderPrivacy(!!legacyDeletion); start(); 284 294 if (['#clickclue-check', '#tracewell-check'].includes(location.hash) && config.diagnosticsUrl) { -
clickclue/trunk/src/tutorial.mjs
r3775799 r3776421 4 4 const core = [ 5 5 {id:'privacy', title:i18n.__('Set up a safe test', 'clickclue'), section:i18n.__('Start with a sample visit', 'clickclue'), view:'settings', target:'tw-settings-form', action:i18n.__('Open settings', 'clickclue'), admin:true, 6 body:i18n.__('Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions , keep page text masked and confirm how visitors will give permission.', 'clickclue'),7 check:i18n.__(' Choose Prepare test settings only when you are ready. It fills the form with recording enabled and 100% sampling; you mustreview and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.', 'clickclue'),6 body:i18n.__('Start on staging with a current backup and sample customer details. New installations start paused, with 10% sampling, seven-day retention and a 250 MiB replay payload budget. Publish and select your store’s policy in WordPress Settings → Privacy before using the built-in prompt. In Settings → Recording & privacy, review page exclusions and confirm how visitors will give permission. Ordinary page text stays readable by default; typed values and private regions remain masked. Enable Mask all page text if you need to hide other visible text.', 'clickclue'), 7 check:i18n.__('In Settings → Test & diagnostics, choose Prepare test settings only when you are ready. It enables recording and sets 100% sampling in the form while preserving your text-masking choice; review and select Save settings. While enabled, other eligible, consenting tabs may also be recorded.', 'clickclue'), 8 8 success:i18n.__('You have reviewed the consent prompt, exclusions and masking, and deliberately saved your test settings.', 'clickclue'), doc:'consent-and-masking', more:i18n.__('Read the privacy guide', 'clickclue')}, 9 9 {id:'visit', title:i18n.__('Record one test visit', 'clickclue'), section:i18n.__('Start with a sample visit', 'clickclue'), view:'settings', target:'tw-copy-test', action:i18n.__('Find my test link', 'clickclue'), admin:true, -
clickclue/trunk/uninstall.php
r3775799 r3776421 28 28 $wpdb->query($wpdb->prepare('DROP TABLE IF EXISTS %i',$tracewell_table_name)); 29 29 } 30 delete_option('clickclue_first_recording_at');delete_metadata('user',0,$wpdb->prefix.'clickclue_review_request','',true); 30 31 delete_option('tracewell_media'); delete_option('tracewell_settings'); delete_option('tracewell_db_version'); delete_option('tracewell_pro_db_version'); 31 32 delete_option('tracewell_changes'); delete_option('tracewell_last_cleanup');
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)