var rrweb=function(e){"use strict";var G;function P(e){return e.nodeType===e.ELEMENT_NODE}function B(e){var t=null==e?void 0:e.host;return Boolean((null==t?void 0:t.shadowRoot)===e)}function W(e){return"[object ShadowRoot]"===Object.prototype.toString.call(e)}function j(e){try{var t=e.rules||e.cssRules;return t?r=(r=Array.from(t).map(d).join("")).includes(" background-clip: text;")&&!r.includes(" -webkit-background-clip: text;")?r.replace(" background-clip: text;"," -webkit-background-clip: text; background-clip: text;"):r:null}catch(e){return null}var r}function d(e){var t=e.cssText;if("styleSheet"in e)try{t=j(e.styleSheet)||t}catch(e){}return t}(r=G=G||{})[r.Document=0]="Document",r[r.DocumentType=1]="DocumentType",r[r.Element=2]="Element",r[r.Text=3]="Text",r[r.CDATA=4]="CDATA",r[r.Comment=5]="Comment";t.prototype.getId=function(e){return e&&null!=(e=null==(e=this.getMeta(e))?void 0:e.id)?e:-1},t.prototype.getNode=function(e){return this.idNodeMap.get(e)||null},t.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},t.prototype.getMeta=function(e){return this.nodeMetaMap.get(e)||null},t.prototype.removeNodeFromMap=function(e){var t=this,r=this.getId(e);this.idNodeMap.delete(r),e.childNodes&&e.childNodes.forEach(function(e){return t.removeNodeFromMap(e)})},t.prototype.has=function(e){return this.idNodeMap.has(e)},t.prototype.hasNode=function(e){return this.nodeMetaMap.has(e)},t.prototype.add=function(e,t){var r=t.id;this.idNodeMap.set(r,e),this.nodeMetaMap.set(e,t)},t.prototype.replace=function(e,t){var r=this.getNode(e);r&&(r=this.nodeMetaMap.get(r))&&this.nodeMetaMap.set(t,r),this.idNodeMap.set(e,t)},t.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap};var re=t;function t(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}function f(){return new re}function Y(e){var t=e.maskInputOptions,r=e.tagName,o=e.type,n=e.value,e=e.maskInputFn,n=n||"";return n=t[r.toLowerCase()]||t[o]?e?e(n):"*".repeat(n.length):n}var oe="__rrweb_original__";var U,ne,V=1,ae=new RegExp("[^a-z0-9-_:]"),ie=-2;function g(){return V++}var y=/url\((?:(')([^']*)'|(")(.*?)"|([^)]*))\)/gm,v=/^(?!www\.|(?:http|ftp)s?:\/\/|[A-Za-z]:\\|\/\/|#).*/,b=/^(data:)([^,]*),(.*)/i;function se(e,d){return(e||"").replace(y,function(e,t,r,o,n,a){r=r||n||a,n=t||o||"";if(!r)return e;if(!v.test(r))return"url(".concat(n).concat(r).concat(n,")");if(b.test(r))return"url(".concat(n).concat(r).concat(n,")");if("/"===r[0])return"url(".concat(n).concat((-1<(a=d).indexOf("//")?a.split("/").slice(0,3).join("/"):a.split("/")[0]).split("?")[0]+r).concat(n,")");var i=d.split("/"),t=r.split("/");i.pop();for(var s=0,l=t;s=a.length);)if(","===(d=s(I)).slice(-1))d=C(n,d.substring(0,d.length-1)),l.push(d);else for(var c="",d=C(n,d),u=!1;;){var m=a.charAt(i);if(""===m){l.push((d+c).trim());break}if(u)")"===m&&(u=!1);else{if(","===m){i+=1,l.push((d+c).trim());break}"("===m&&(u=!0)}c+=m,i+=1}return l.join(", ")}return"style"===r&&o?se(o,le()):"object"===t&&"data"===r&&o?C(e,o):o}function w(e,t,r){if(!e)return!1;if(e.nodeType!==e.ELEMENT_NODE)return!!r&&w(e.parentNode,t,r);for(var o=e.classList.length;o--;){var n=e.classList[o];if(t.test(n))return!0}return!!r&&w(e.parentNode,t,r)}function de(e,t,r){e=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(null!==e){if("string"==typeof t){if(e.classList.contains(t))return 1;if(e.closest(".".concat(t)))return 1}else if(w(e,t,!0))return 1;if(r){if(e.matches(r))return 1;if(e.closest(r))return 1}}}function ue(e,t){var r=t.doc,o=t.mirror,n=t.blockClass,a=t.blockSelector,i=t.maskTextClass,s=t.maskTextSelector,l=t.inlineStylesheet,c=t.maskInputOptions,d=void 0===c?{}:c,u=t.maskTextFn,m=t.maskInputFn,c=t.dataURLOptions,h=void 0===c?{}:c,p=t.inlineImages,F=t.recordCanvas,P=t.keepIframeSrcFn,c=t.newlyAddedElement,B=void 0!==c&&c,f=(t=r,!(c=o).hasNode(t)||1===(c=c.getId(t))?void 0:c);switch(e.nodeType){case e.DOCUMENT_NODE:return"CSS1Compat"!==e.compatMode?{type:G.Document,childNodes:[],compatMode:e.compatMode}:{type:G.Document,childNodes:[]};case e.DOCUMENT_TYPE_NODE:return{type:G.DocumentType,name:e.name,publicId:e.publicId,systemId:e.systemId,rootId:f};case e.ELEMENT_NODE:for(var g,y,v=e,b=(A={doc:r,blockClass:n,blockSelector:a,inlineStylesheet:l,maskInputOptions:d,maskInputFn:m,dataURLOptions:h,inlineImages:p,recordCanvas:F,keepIframeSrcFn:P,newlyAddedElement:B,rootId:f}).doc,I=A.blockClass,S=A.blockSelector,C=A.inlineStylesheet,w=void 0===(w=A.maskInputOptions)?{}:w,T=A.maskInputFn,E=void 0===(N=A.dataURLOptions)?{}:N,N=A.inlineImages,k=A.recordCanvas,W=A.keepIframeSrcFn,M=void 0!==(M=A.newlyAddedElement)&&M,A=A.rootId,I=function(e,t,r){if("string"==typeof t){if(e.classList.contains(t))return!0}else for(var o=e.classList.length;o--;){var n=e.classList[o];if(t.test(n))return!0}return!!r&&e.matches(r)}(v,I,S),R=function(e){return e instanceof HTMLFormElement?"form":(e=e.tagName.toLowerCase().trim(),ae.test(e)?"div":e)}(v),_={},V=v.attributes.length,D=0;D'):r.write('')),c=r),o.add(c,e),(e.type===G.Document||e.type===G.Element)&&!n)for(var d=0,u=e.childNodes;dr.removeEventListener(e,t,o)}const o="Please stop import mirror directly. Instead of that,\r\nnow you can use replayer.getMirror() to access the mirror instance of a replayer,\r\nor you can use record.mirror to access the mirror instance during recording.";function _(n,a,i={}){let s=null,l=0;return function(...e){var t=Date.now(),r=(l||!1!==i.leading||(l=t),a-(t-l));const o=this;r<=0||a{l=!1===i.leading?0:Date.now(),s=null,n.apply(o,e)},r))}}function be(e,t,r,o,n=window){const a=n.Object.getOwnPropertyDescriptor(e,t);return n.Object.defineProperty(e,t,o?r:{set(e){setTimeout(()=>{r.set.call(this,e)},0),a&&a.set&&a.set.call(this,e)}}),()=>be(e,t,a||{},!0)}function O(e,t,r){try{if(!(t in e))return()=>{};const n=e[t];var o=r(n);return"function"==typeof o&&(o.prototype=o.prototype||{},Object.defineProperties(o,{__rrweb_original__:{enumerable:!1,value:n}})),e[t]=o,()=>{e[t]=n}}catch(e){return()=>{}}}function Ie(){return window.innerHeight||document.documentElement&&document.documentElement.clientHeight||document.body&&document.body.clientHeight}function Se(){return window.innerWidth||document.documentElement&&document.documentElement.clientWidth||document.body&&document.body.clientWidth}function x(e,t,r,o){if(e){var n=e.nodeType===e.ELEMENT_NODE?e:e.parentElement;if(n){if("string"==typeof t){if(n.classList.contains(t))return!0;if(o&&null!==n.closest("."+t))return!0}else if(w(n,t,o))return!0;if(r){if(e.matches(r))return!0;if(o&&null!==n.closest(r))return!0}}}return!1}function Ce(e,t){return-1!==t.getId(e)}function we(e,t){return t.getId(e)===ie}function Te(e,t){var r;return!B(e)&&(r=t.getId(e),!t.has(r)||(!e.parentNode||e.parentNode.nodeType!==e.DOCUMENT_NODE)&&(!e.parentNode||Te(e.parentNode,t)))}function Ee(e){return Boolean(e.changedTouches)}function Ne(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),Node.prototype.contains||(Node.prototype.contains=(...e)=>{let t=e[0];if(!(0 in e))throw new TypeError("1 argument is required");do{if(this===t)return!0}while(t=t&&t.parentNode);return!1})}function ke(e){const r={};var t=(e,t)=>{t={value:e,parent:t,children:[]};return r[e.node.id]=t},o=[];for(const s of e){var n,{nextId:a,parentId:i}=s;a&&a in r?(a=r[a]).parent?(n=a.parent.children.indexOf(a),a.parent.children.splice(n,0,t(s,a.parent))):(n=o.indexOf(a),o.splice(n,0,t(s,null))):i in r?(a=r[i]).children.push(t(s,a)):o.push(t(s,null))}return o}function Me(t,r){r(t.value);for(let e=t.children.length-1;0<=e;e--)Me(t.children[e],r)}function z(e,t){return Boolean("IFRAME"===e.nodeName&&t.getMeta(e))}function Ae(e,t){return Boolean("LINK"===e.nodeName&&e.nodeType===e.ELEMENT_NODE&&e.getAttribute&&"stylesheet"===e.getAttribute("rel")&&t.getMeta(e))}function Re(e,t){var r,e=null==(e=null==(e=e.ownerDocument)?void 0:e.defaultView)?void 0:e.frameElement;return e&&e!==t?(r=e.getBoundingClientRect(),t=Re(e,t),e=r.height/e.clientHeight,{x:r.x*t.relativeScale+t.x,y:r.y*t.relativeScale+t.y,relativeScale:e,absoluteScale:t.absoluteScale*e}):{x:0,y:0,relativeScale:1,absoluteScale:1}}function X(e){return Boolean(null==e?void 0:e.shadowRoot)}function i(e,t){e=e[t[0]];return 1===t.length?e:i(e.cssRules[t[1]].cssRules,t.slice(2))}function _e(e){var e=[...e],t=e.pop();return{positions:e,index:t}}function De(t){var r=new Set,o=[];for(let e=t.length;e--;){var n=t[e];r.has(n.id)||(o.push(n),r.add(n.id))}return o}e.mirror={map:{},getId(){return console.error(o),-1},getNode(){return console.error(o),null},removeNodeFromMap(){console.error(o)},has(){return console.error(o),!1},reset(){console.error(o)}},"undefined"!=typeof window&&window.Proxy&&window.Reflect&&(e.mirror=new Proxy(e.mirror,{get(e,t,r){return"map"===t&&console.error(o),Reflect.get(e,t,r)}}));class Oe{constructor(){this.id=1,this.styleIDMap=new WeakMap,this.idStyleMap=new Map}getId(e){return null!=(e=this.styleIDMap.get(e))?e:-1}has(e){return this.styleIDMap.has(e)}add(e,t){if(this.has(e))return this.getId(e);let r;return r=void 0===t?this.id++:t,this.styleIDMap.set(e,r),this.idStyleMap.set(r,e),r}getStyle(e){return this.idStyleMap.get(e)||null}reset(){this.styleIDMap=new WeakMap,this.idStyleMap=new Map,this.id=1}generateId(){return this.id++}}var r=Object.freeze({__proto__:null,on:Z,get _mirror(){return e.mirror},throttle:_,hookSetter:be,patch:O,getWindowHeight:Ie,getWindowWidth:Se,isBlocked:x,isSerialized:Ce,isIgnored:we,isAncestorRemoved:Te,isTouchEvent:Ee,polyfill:Ne,queueToResolveTrees:ke,iterateResolveTree:Me,isSerializedIframe:z,isSerializedStylesheet:Ae,getBaseDimension:Re,hasShadowRoot:X,getNestedRule:i,getPositionsAndIndex:_e,uniqueTextMutations:De,StyleSheetMirror:Oe}),K=(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))(K||{}),J=(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))(J||{}),c=(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))(c||{}),h=(e=>(e[e["2D"]=0]="2D",e[e.WebGL=1]="WebGL",e[e.WebGL2=2]="WebGL2",e))(h||{}),L=(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))(L||{}),p=(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))({});function xe(e){return"__ln"in e}class Le{constructor(){this.length=0,this.head=null}get(t){if(t>=this.length)throw new Error("Position outside of list range");let r=this.head;for(let e=0;e{e.forEach(this.processMutation),this.emit()},this.emit=()=>{if(!this.frozen&&!this.locked){const l=[],c=new Le,d=e=>{let t=e,r=ie;for(;r===ie;)t=t&&t.nextSibling,r=t&&this.mirror.getId(t);return r};for(var r,o,n=t=>{var e;let r=null,o=r=(null==(i=null==(i=t.getRootNode)?void 0:i.call(t))?void 0:i.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&t.getRootNode().host?t.getRootNode().host:r;for(;(null==(e=null==(e=null==o?void 0:o.getRootNode)?void 0:e.call(o))?void 0:e.nodeType)===Node.DOCUMENT_FRAGMENT_NODE&&o.getRootNode().host;)o=o.getRootNode().host;var n,a,i=!(this.doc.contains(t)||o&&this.doc.contains(o));if(t.parentNode&&!i)return i=B(t.parentNode)?this.mirror.getId(r):this.mirror.getId(t.parentNode),n=d(t),-1===i||-1===n?c.addNode(t):void((a=H(t,{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:e=>{z(e,this.mirror)&&this.iframeManager.addIframe(e),Ae(e,this.mirror)&&this.stylesheetManager.trackLinkElement(e),X(t)&&this.shadowDomManager.addShadowRoot(t.shadowRoot,this.doc)},onIframeLoad:(e,t)=>{this.iframeManager.attachIframe(e,t),this.shadowDomManager.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{this.stylesheetManager.attachLinkElement(e,t)}}))&&l.push({parentId:i,nextId:n,node:a}))};this.mapRemoves.length;)this.mirror.removeNodeFromMap(this.mapRemoves.shift());for(const u of Array.from(this.movedSet.values()))Be(this.removes,u,this.mirror)&&!this.movedSet.has(u.parentNode)||n(u);for(const m of Array.from(this.addedSet.values()))!We(this.droppedSet,m)&&!Be(this.removes,m,this.mirror)||We(this.movedSet,m)?n(m):this.droppedSet.add(m);let e=null;for(;c.length;){let t=null;if(!(t=e&&(r=this.mirror.getId(e.value.parentNode),o=d(e.value),-1!==r)&&-1!==o?e:t))for(let e=c.length-1;0<=e;e--){var a=c.get(e);if(a){var i=this.mirror.getId(a.value.parentNode),s=d(a.value);if(-1!==s){if(-1!==i){t=a;break}s=a.value;if(s.parentNode&&s.parentNode.nodeType===Node.DOCUMENT_FRAGMENT_NODE){i=s.parentNode.host;if(-1!==this.mirror.getId(i)){t=a;break}}}}}if(!t){for(;c.head;)c.removeNode(c.head.value);break}e=t.previous,c.removeNode(t.value),n(t.value)}var t={texts:this.texts.map(e=>({id:this.mirror.getId(e.node),value:e.value})).filter(e=>this.mirror.has(e.id)),attributes:this.attributes.map(e=>({id:this.mirror.getId(e.node),attributes:e.attributes})).filter(e=>this.mirror.has(e.id)),removes:this.removes,adds:l};(t.texts.length||t.attributes.length||t.removes.length||t.adds.length)&&(this.texts=[],this.attributes=[],this.removes=[],this.addedSet=new Set,this.movedSet=new Set,this.droppedSet=new Set,this.movedMap={},this.mutationCb(t))}},this.processMutation=o=>{if(!we(o.target,this.mirror))switch(o.type){case"characterData":var e=o.target.textContent;x(o.target,this.blockClass,this.blockSelector,!1)||e===o.oldValue||this.texts.push({value:de(o.target,this.maskTextClass,this.maskTextSelector)&&e?this.maskTextFn?this.maskTextFn(e):e.replace(/[\S]/g,"*"):e,node:o.target});break;case"attributes":{var r=o.target;let e=o.target.getAttribute(o.attributeName);if("value"===o.attributeName&&(e=Y({maskInputOptions:this.maskInputOptions,tagName:o.target.tagName,type:o.target.getAttribute("type"),value:e,maskInputFn:this.maskInputFn})),x(o.target,this.blockClass,this.blockSelector,!1)||e===o.oldValue)return;let t=this.attributes.find(e=>e.node===o.target);if("IFRAME"===r.tagName&&"src"===o.attributeName&&!this.keepIframeSrcFn(e)){if(r.contentDocument)return;o.attributeName="rr_src"}if(t||(t={node:o.target,attributes:{}},this.attributes.push(t)),"style"===o.attributeName){var n=this.doc.createElement("span"),a=(o.oldValue&&n.setAttribute("style",o.oldValue),void 0!==t.attributes.style&&null!==t.attributes.style||(t.attributes.style={}),t.attributes.style);for(const l of Array.from(r.style)){var i=r.style.getPropertyValue(l),s=r.style.getPropertyPriority(l);i===n.style.getPropertyValue(l)&&s===n.style.getPropertyPriority(l)||(a[l]=""===s?i:[i,s])}for(const c of Array.from(n.style))""===r.style.getPropertyValue(c)&&(a[c]=!1)}else t.attributes[o.attributeName]=ce(this.doc,r.tagName,o.attributeName,e);break}case"childList":x(o.target,this.blockClass,this.blockSelector,!0)||(o.addedNodes.forEach(e=>this.genAdds(e,o.target)),o.removedNodes.forEach(e=>{var t=this.mirror.getId(e),r=B(o.target)?this.mirror.getId(o.target.host):this.mirror.getId(o.target);x(o.target,this.blockClass,this.blockSelector,!1)||we(e,this.mirror)||!Ce(e,this.mirror)||(this.addedSet.has(e)?(Pe(this.addedSet,e),this.droppedSet.add(e)):this.addedSet.has(o.target)&&-1===t||Te(o.target,this.mirror)||(this.movedSet.has(e)&&this.movedMap[t+"@"+r]?Pe(this.movedSet,e):this.removes.push({parentId:r,id:t,isShadow:!(!B(o.target)||!W(o.target))||void 0})),this.mapRemoves.push(e))}))}},this.genAdds=(t,r)=>{if(this.mirror.hasNode(t)){if(we(t,this.mirror))return;this.movedSet.add(t);let e=null;(e=r&&this.mirror.hasNode(r)?this.mirror.getId(r):e)&&-1!==e&&(this.movedMap[this.mirror.getId(t)+"@"+e]=!0)}else this.addedSet.add(t),this.droppedSet.delete(t);x(t,this.blockClass,this.blockSelector,!1)||t.childNodes.forEach(e=>this.genAdds(e))}}init(t){["mutationCb","blockClass","blockSelector","maskTextClass","maskTextSelector","inlineStylesheet","maskInputOptions","maskTextFn","maskInputFn","keepIframeSrcFn","recordCanvas","inlineImages","slimDOMOptions","dataURLOptions","doc","mirror","iframeManager","stylesheetManager","shadowDomManager","canvasManager"].forEach(e=>{this[e]=t[e]})}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 Pe(t,e){t.delete(e),e.childNodes.forEach(e=>Pe(t,e))}function Be(e,t,r){return 0!==e.length&&function e(t,r,o){const n=r["parentNode"];if(!n)return!1;const a=o.getId(n);if(t.some(e=>e.id===a))return!0;return e(t,n,o)}(e,t,r)}function We(e,t){return 0!==e.size&&function e(t,r){const o=r["parentNode"];if(!o)return!1;if(t.has(o))return!0;return e(t,o)}(e,t)}var Ve=Object.defineProperty,Ge=Object.defineProperties,Ue=Object.getOwnPropertyDescriptors,je=Object.getOwnPropertySymbols,Ye=Object.prototype.hasOwnProperty,He=Object.prototype.propertyIsEnumerable,Ze=(e,t,r)=>t in e?Ve(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ze=(e,t)=>{for(var r in t=t||{})Ye.call(t,r)&&Ze(e,r,t[r]);if(je)for(var r of je(t))He.call(t,r)&&Ze(e,r,t[r]);return e},Xe=(e,t)=>Ge(e,Ue(t));const Q=[],Ke="undefined"!=typeof CSSGroupingRule,Je="undefined"!=typeof CSSMediaRule,Qe="undefined"!=typeof CSSSupportsRule,qe="undefined"!=typeof CSSConditionRule;function $e(t){try{if("composedPath"in t){var e=t.composedPath();if(e.length)return e[0]}else if("path"in t&&t.path.length)return t.path[0];return t.target}catch(e){return t.target}}function et(e,t){var r=new Fe;Q.push(r),r.init(e);let o=window.MutationObserver||window.__rrMutationObserver;var n=null==(n=null==(e=null==window?void 0:window.Zone)?void 0:e.__symbol__)?void 0:n.call(e,"MutationObserver"),e=new(o=n&&window[n]?window[n]:o)(r.processMutations.bind(r));return e.observe(t,{attributes:!0,attributeOldValue:!0,characterData:!0,characterDataOldValue:!0,childList:!0,subtree:!0}),e}function tt({mouseInteractionCb:n,doc:r,mirror:a,blockClass:i,blockSelector:s,sampling:e}){if(!1===e.mouseInteraction)return()=>{};const t=!0===e.mouseInteraction||void 0===e.mouseInteraction?{}:e.mouseInteraction,l=[];return Object.keys(c).filter(e=>Number.isNaN(Number(e))&&!e.endsWith("_Departed")&&!1!==t[e]).forEach(e=>{var o,t=e.toLowerCase(),e=(o=e,e=>{var t,r=$e(e);x(r,i,s,!0)||(e=Ee(e)?e.changedTouches[0]:e)&&(r=a.getId(r),{clientX:e,clientY:t}=e,n({type:c[o],id:r,x:e,y:t}))});l.push(Z(t,e,r))}),()=>{l.forEach(e=>e())}}function rt({scrollCb:o,doc:n,mirror:a,blockClass:i,blockSelector:s,sampling:e}){return Z("scroll",_(e=>{var t,r,e=$e(e);e&&!x(e,i,s,!0)&&(t=a.getId(e),e===n?(r=n.scrollingElement||n.documentElement,o({id:t,x:r.scrollLeft,y:r.scrollTop})):o({id:t,x:e.scrollLeft,y:e.scrollTop}))},e.scroll||100),n)}function ot(e,t){e=ze({},e);return t||delete e.userTriggered,e}const nt=["INPUT","TEXTAREA","SELECT"],at=new WeakMap;function it(e){var t,r;return e=e,t=[],Ke&&e.parentRule instanceof CSSGroupingRule||Je&&e.parentRule instanceof CSSMediaRule||Qe&&e.parentRule instanceof CSSSupportsRule||qe&&e.parentRule instanceof CSSConditionRule?(r=Array.from(e.parentRule.cssRules).indexOf(e),t.unshift(r)):e.parentStyleSheet&&(r=Array.from(e.parentStyleSheet.cssRules).indexOf(e),t.unshift(r)),t}function F(e,t,r){let o,n;return e?(e.ownerNode?o=t.getId(e.ownerNode):n=r.getId(e),{styleId:n,id:o}):{}}function st({mirror:e,stylesheetManager:r},t){let o=null;o="#document"===t.nodeName?e.getId(t):e.getId(t.host);e="#document"===t.nodeName?null==(e=t.defaultView)?void 0:e.Document:null==(e=null==(e=t.ownerDocument)?void 0:e.defaultView)?void 0:e.ShadowRoot;const n=Object.getOwnPropertyDescriptor(null==e?void 0:e.prototype,"adoptedStyleSheets");return null!==o&&-1!==o&&e&&n?(Object.defineProperty(t,"adoptedStyleSheets",{configurable:n.configurable,enumerable:n.enumerable,get(){var e;return null==(e=n.get)?void 0:e.call(this)},set(e){var t=null==(t=n.set)?void 0:t.call(this,e);if(null!==o&&-1!==o)try{r.adoptStyleSheets(e,o)}catch(e){}return t}}),()=>{Object.defineProperty(t,"adoptedStyleSheets",{configurable:n.configurable,enumerable:n.enumerable,get:n.get,set:n.set})}):()=>{}}function lt(e,t={}){var r=e.doc.defaultView;if(!r)return()=>{};{var o=e,n=t;const{mutationCb:v,mousemoveCb:b,mouseInteractionCb:I,scrollCb:S,viewportResizeCb:C,inputCb:w,mediaInteractionCb:T,styleSheetRuleCb:E,styleDeclarationCb:N,canvasMutationCb:k,fontCb:M,selectionCb:A}=o;o.mutationCb=(...e)=>{n.mutation&&n.mutation(...e),v(...e)},o.mousemoveCb=(...e)=>{n.mousemove&&n.mousemove(...e),b(...e)},o.mouseInteractionCb=(...e)=>{n.mouseInteraction&&n.mouseInteraction(...e),I(...e)},o.scrollCb=(...e)=>{n.scroll&&n.scroll(...e),S(...e)},o.viewportResizeCb=(...e)=>{n.viewportResize&&n.viewportResize(...e),C(...e)},o.inputCb=(...e)=>{n.input&&n.input(...e),w(...e)},o.mediaInteractionCb=(...e)=>{n.mediaInteaction&&n.mediaInteaction(...e),T(...e)},o.styleSheetRuleCb=(...e)=>{n.styleSheetRule&&n.styleSheetRule(...e),E(...e)},o.styleDeclarationCb=(...e)=>{n.styleDeclaration&&n.styleDeclaration(...e),N(...e)},o.canvasMutationCb=(...e)=>{n.canvasMutation&&n.canvasMutation(...e),k(...e)},o.fontCb=(...e)=>{n.font&&n.font(...e),M(...e)},o.selectionCb=(...e)=>{n.selection&&n.selection(...e),A(...e)}}const a=et(e,e.doc),i=function({mousemoveCb:r,sampling:e,doc:t,mirror:n}){if(!1===e.mousemove)return()=>{};var o="number"==typeof e.mousemove?e.mousemove:50,e="number"==typeof e.mousemoveCallback?e.mousemoveCallback:500;let a=[],i;const s=_(e=>{const t=Date.now()-i;r(a.map(e=>(e.timeOffset-=t,e)),e),a=[],i=null},e),l=[Z("mousemove",e=_(e=>{var t=$e(e),{clientX:r,clientY:o}=Ee(e)?e.changedTouches[0]:e;i=i||Date.now(),a.push({x:r,y:o,id:n.getId(t),timeOffset:Date.now()-i}),s("undefined"!=typeof DragEvent&&e instanceof DragEvent?J.Drag:e instanceof MouseEvent?J.MouseMove:J.TouchMove)},o,{trailing:!1}),t),Z("touchmove",e,t),Z("drag",e,t)];return()=>{l.forEach(e=>e())}}(e),s=tt(e),l=rt(e),c=function({viewportResizeCb:r}){let o=-1,n=-1;return Z("resize",_(()=>{var e=Ie(),t=Se();o===e&&n===t||(r({width:Number(t),height:Number(e)}),o=e,n=t)},200),window)}(e),d=function({inputCb:o,doc:a,mirror:n,blockClass:e,blockSelector:t,ignoreClass:i,maskInputOptions:s,maskInputFn:l,sampling:r,userTriggeredOnInput:c}){function d(r){let o=$e(r);r=r.isTrusted;if((o=o&&"OPTION"===o.tagName?o.parentElement:o)&&o.tagName&&!(nt.indexOf(o.tagName)<0)&&!x(o,e,t,!0)){var n=o.type;if(!o.classList.contains(i)){let e=o.value,t=!1;"radio"===n||"checkbox"===n?t=o.checked:(s[o.tagName.toLowerCase()]||s[n])&&(e=Y({maskInputOptions:s,tagName:o.tagName,type:n,value:e,maskInputFn:l})),u(o,ot({text:e,isChecked:t,userTriggered:r},c));r=o.name;"radio"===n&&r&&t&&a.querySelectorAll(`input[type="radio"][name="${r}"]`).forEach(e=>{e!==o&&u(e,ot({text:e.value,isChecked:!t,userTriggered:!1},c))})}}}function u(e,t){var r=at.get(e);r&&r.text===t.text&&r.isChecked===t.isChecked||(at.set(e,t),r=n.getId(e),o(Xe(ze({},t),{id:r})))}var m;const h=("last"===r.input?["change"]:["input","change"]).map(e=>Z(e,d,a)),p=a.defaultView;return p?(r=p.Object.getOwnPropertyDescriptor(p.HTMLInputElement.prototype,"value"),m=[[p.HTMLInputElement.prototype,"value"],[p.HTMLInputElement.prototype,"checked"],[p.HTMLSelectElement.prototype,"value"],[p.HTMLTextAreaElement.prototype,"value"],[p.HTMLSelectElement.prototype,"selectedIndex"],[p.HTMLOptionElement.prototype,"selected"]],r&&r.set&&h.push(...m.map(e=>be(e[0],e[1],{set(){d({target:this})}},!1,p))),()=>{h.forEach(e=>e())}):()=>{h.forEach(e=>e())}}(e),u=function({mediaInteractionCb:i,blockClass:s,blockSelector:l,mirror:c,sampling:e}){var t=a=>_(e=>{var t,r,o,n,e=$e(e);e&&!x(e,s,l,!0)&&({currentTime:t,volume:r,muted:o,playbackRate:n}=e,i({type:a,id:c.getId(e),currentTime:t,volume:r,muted:o,playbackRate:n}))},e.media||500);const r=[Z("play",t(L.Play)),Z("pause",t(L.Pause)),Z("seeked",t(L.Seeked)),Z("volumechange",t(L.VolumeChange)),Z("ratechange",t(L.RateChange))];return()=>{r.forEach(e=>e())}}(e),m=function({styleSheetRuleCb:a,mirror:i,stylesheetManager:s},{win:e}){const n=e.CSSStyleSheet.prototype.insertRule,o=(e.CSSStyleSheet.prototype.insertRule=function(e,t){var{id:r,styleId:o}=F(this,i,s.styleMirror);return(r&&-1!==r||o&&-1!==o)&&a({id:r,styleId:o,adds:[{rule:e,index:t}]}),n.apply(this,[e,t])},e.CSSStyleSheet.prototype.deleteRule);e.CSSStyleSheet.prototype.deleteRule=function(e){var{id:t,styleId:r}=F(this,i,s.styleMirror);return(t&&-1!==t||r&&-1!==r)&&a({id:t,styleId:r,removes:[{index:e}]}),o.apply(this,[e])};let l;e.CSSStyleSheet.prototype.replace&&(l=e.CSSStyleSheet.prototype.replace,e.CSSStyleSheet.prototype.replace=function(e){var{id:t,styleId:r}=F(this,i,s.styleMirror);return(t&&-1!==t||r&&-1!==r)&&a({id:t,styleId:r,replace:e}),l.apply(this,[e])});let c;e.CSSStyleSheet.prototype.replaceSync&&(c=e.CSSStyleSheet.prototype.replaceSync,e.CSSStyleSheet.prototype.replaceSync=function(e){var{id:t,styleId:r}=F(this,i,s.styleMirror);return(t&&-1!==t||r&&-1!==r)&&a({id:t,styleId:r,replaceSync:e}),c.apply(this,[e])});const t={},d=(Ke?t.CSSGroupingRule=e.CSSGroupingRule:(Je&&(t.CSSMediaRule=e.CSSMediaRule),qe&&(t.CSSConditionRule=e.CSSConditionRule),Qe&&(t.CSSSupportsRule=e.CSSSupportsRule)),{});return Object.entries(t).forEach(([n,e])=>{d[n]={insertRule:e.prototype.insertRule,deleteRule:e.prototype.deleteRule},e.prototype.insertRule=function(e,t){var{id:r,styleId:o}=F(this.parentStyleSheet,i,s.styleMirror);return(r&&-1!==r||o&&-1!==o)&&a({id:r,styleId:o,adds:[{rule:e,index:[...it(this),t||0]}]}),d[n].insertRule.apply(this,[e,t])},e.prototype.deleteRule=function(e){var{id:t,styleId:r}=F(this.parentStyleSheet,i,s.styleMirror);return(t&&-1!==t||r&&-1!==r)&&a({id:t,styleId:r,removes:[{index:[...it(this),e]}]}),d[n].deleteRule.apply(this,[e])}}),()=>{e.CSSStyleSheet.prototype.insertRule=n,e.CSSStyleSheet.prototype.deleteRule=o,l&&(e.CSSStyleSheet.prototype.replace=l),c&&(e.CSSStyleSheet.prototype.replaceSync=c),Object.entries(t).forEach(([e,t])=>{t.prototype.insertRule=d[e].insertRule,t.prototype.deleteRule=d[e].deleteRule})}}(e,{win:r}),h=st(e,e.doc),p=function({styleDeclarationCb:a,mirror:i,ignoreCSSAttributes:s,stylesheetManager:l},{win:e}){const c=e.CSSStyleDeclaration.prototype.setProperty,o=(e.CSSStyleDeclaration.prototype.setProperty=function(e,t,r){var o,n;return!s.has(e)&&({id:o,styleId:n}=F(null==(o=this.parentRule)?void 0:o.parentStyleSheet,i,l.styleMirror),o&&-1!==o||n&&-1!==n)&&a({id:o,styleId:n,set:{property:e,value:t,priority:r},index:it(this.parentRule)}),c.apply(this,[e,t,r])},e.CSSStyleDeclaration.prototype.removeProperty);return e.CSSStyleDeclaration.prototype.removeProperty=function(e){var t,r;return!s.has(e)&&({id:t,styleId:r}=F(null==(t=this.parentRule)?void 0:t.parentStyleSheet,i,l.styleMirror),t&&-1!==t||r&&-1!==r)&&a({id:t,styleId:r,remove:{property:e},index:it(this.parentRule)}),o.apply(this,[e])},()=>{e.CSSStyleDeclaration.prototype.setProperty=c,e.CSSStyleDeclaration.prototype.removeProperty=o}}(e,{win:r}),f=e.collectFonts?function({fontCb:r,doc:e}){const t=e.defaultView;if(!t)return()=>{};const o=[],n=new WeakMap,a=t.FontFace;return t.FontFace=function(e,t,r){var o=new a(e,t,r);return n.set(o,{family:e,buffer:"string"!=typeof t,descriptors:r,fontSource:"string"==typeof t?t:JSON.stringify(Array.from(new Uint8Array(t)))}),o},e=O(e.fonts,"add",function(e){return function(t){return setTimeout(()=>{var e=n.get(t);e&&(r(e),n.delete(t))},0),e.apply(this,[t])}}),o.push(()=>{t.FontFace=a}),o.push(e),()=>{o.forEach(e=>e())}}(e):()=>{},g=function(e){const{doc:l,mirror:c,blockClass:d,blockSelector:u,selectionCb:m}=e;let h=!0;return(e=()=>{var t=l.getSelection();if(!(!t||h&&null!=t&&t.isCollapsed)){h=t.isCollapsed||!1;var r=[],o=t.rangeCount||0;for(let e=0;e{Q.forEach(e=>e.reset()),a.disconnect(),i(),s(),l(),c(),d(),u(),m(),h(),p(),f(),g(),y.forEach(e=>e())}}class ct{constructor(e){this.generateIdFn=e,this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap}getId(e,t,r,o){r=r||this.getIdToRemoteIdMap(e),o=o||this.getRemoteIdToIdMap(e);let n=r.get(t);return n||(n=this.generateIdFn(),r.set(t,n),o.set(n,t)),n}getIds(t,e){const r=this.getIdToRemoteIdMap(t),o=this.getRemoteIdToIdMap(t);return e.map(e=>this.getId(t,e,r,o))}getRemoteId(e,t,r){r=r||this.getRemoteIdToIdMap(e);return"number"!=typeof t?t:r.get(t)||-1}getRemoteIds(t,e){const r=this.getRemoteIdToIdMap(t);return e.map(e=>this.getRemoteId(t,e,r))}reset(e){e?(this.iframeIdToRemoteIdMap.delete(e),this.iframeRemoteIdToIdMap.delete(e)):(this.iframeIdToRemoteIdMap=new WeakMap,this.iframeRemoteIdToIdMap=new WeakMap)}getIdToRemoteIdMap(e){let t=this.iframeIdToRemoteIdMap.get(e);return t||(t=new Map,this.iframeIdToRemoteIdMap.set(e,t)),t}getRemoteIdToIdMap(e){let t=this.iframeRemoteIdToIdMap.get(e);return t||(t=new Map,this.iframeRemoteIdToIdMap.set(e,t)),t}}class dt{constructor(e){this.iframes=new WeakMap,this.crossOriginIframeMap=new WeakMap,this.crossOriginIframeMirror=new ct(g),this.mutationCb=e.mutationCb,this.wrappedEmit=e.wrappedEmit,this.stylesheetManager=e.stylesheetManager,this.recordCrossOriginIframes=e.recordCrossOriginIframes,this.crossOriginIframeStyleMirror=new ct(this.stylesheetManager.styleMirror.generateId.bind(this.stylesheetManager.styleMirror)),this.mirror=e.mirror,this.recordCrossOriginIframes&&window.addEventListener("message",this.handleMessage.bind(this))}addIframe(e){this.iframes.set(e,!0),e.contentWindow&&this.crossOriginIframeMap.set(e.contentWindow,e)}addLoadListener(e){this.loadListener=e}attachIframe(e,t){this.mutationCb({adds:[{parentId:this.mirror.getId(e),nextId:null,node:t}],removes:[],texts:[],attributes:[],isAttachIframe:!0}),null!=(t=this.loadListener)&&t.call(this,e),e.contentDocument&&e.contentDocument.adoptedStyleSheets&&0{this.replaceIds(e,t,["parentId","nextId","previousId"]),this.replaceIdOnNode(e.node,t)}),e.data.removes.forEach(e=>{this.replaceIds(e,t,["parentId","id"])}),e.data.attributes.forEach(e=>{this.replaceIds(e,t,["id"])}),e.data.texts.forEach(e=>{this.replaceIds(e,t,["id"])}),e;case J.Drag:case J.TouchMove:case J.MouseMove:return e.data.positions.forEach(e=>{this.replaceIds(e,t,["id"])}),e;case J.ViewportResize:return!1;case J.MediaInteraction:case J.MouseInteraction:case J.Scroll:case J.CanvasMutation:case J.Input:return this.replaceIds(e.data,t,["id"]),e;case J.StyleSheetRule:case J.StyleDeclaration:return this.replaceIds(e.data,t,["id"]),this.replaceStyleIds(e.data,t,["styleId"]),e;case J.Font:return e;case J.Selection:return e.data.ranges.forEach(e=>{this.replaceIds(e,t,["start","end"])}),e;case J.AdoptedStyleSheet:return this.replaceIds(e.data,t,["id"]),this.replaceStyleIds(e.data,t,["styleIds"]),null!=(r=e.data.styles)&&r.forEach(e=>{this.replaceStyleIds(e,t,["styleId"])}),e}}}replace(e,t,r,o){for(const n of o)!Array.isArray(t[n])&&"number"!=typeof t[n]||(Array.isArray(t[n])?t[n]=e.getIds(r,t[n]):t[n]=e.getId(r,t[n]));return t}replaceIds(e,t,r){return this.replace(this.crossOriginIframeMirror,e,t,r)}replaceStyleIds(e,t,r){return this.replace(this.crossOriginIframeStyleMirror,e,t,r)}replaceIdOnNode(e,t){this.replaceIds(e,t,["id"]),"childNodes"in e&&e.childNodes.forEach(e=>{this.replaceIdOnNode(e,t)})}}var ut=Object.defineProperty,mt=Object.defineProperties,ht=Object.getOwnPropertyDescriptors,pt=Object.getOwnPropertySymbols,ft=Object.prototype.hasOwnProperty,gt=Object.prototype.propertyIsEnumerable,yt=(e,t,r)=>t in e?ut(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,vt=(e,t)=>{for(var r in t=t||{})ft.call(t,r)&&yt(e,r,t[r]);if(pt)for(var r of pt(t))gt.call(t,r)&&yt(e,r,t[r]);return e},bt=(e,t)=>mt(e,ht(t));class It{constructor(e){this.shadowDoms=new WeakSet,this.restorePatches=[],this.mutationCb=e.mutationCb,this.scrollCb=e.scrollCb,this.bypassOptions=e.bypassOptions,this.mirror=e.mirror;const r=this;this.restorePatches.push(O(Element.prototype,"attachShadow",function(t){return function(e){e=t.call(this,e);return this.shadowRoot&&r.addShadowRoot(this.shadowRoot,this.ownerDocument),e}}))}addShadowRoot(e,t){!W(e)||this.shadowDoms.has(e)||(this.shadowDoms.add(e),et(bt(vt({},this.bypassOptions),{doc:t,mutationCb:this.mutationCb,mirror:this.mirror,shadowDomManager:this}),e),rt(bt(vt({},this.bypassOptions),{scrollCb:this.scrollCb,doc:e,mirror:this.mirror})),setTimeout(()=>{e.adoptedStyleSheets&&0e()),this.shadowDoms=new WeakSet}}for(var St="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Ct="undefined"==typeof Uint8Array?[]:new Uint8Array(256),wt=0;wt>2])+St[(3&t[n])<<4|t[n+1]>>4])+St[(15&t[n+1])<<2|t[n+2]>>6])+St[63&t[n+2]];return r%3==2?o=o.substring(0,o.length-1)+"=":r%3==1&&(o=o.substring(0,o.length-2)+"=="),o}function Et(e){for(var t,r,o,n,a=.75*e.length,i=e.length,s=0,a=("="===e[e.length-1]&&(a--,"="===e[e.length-2])&&a--,new ArrayBuffer(a)),l=new Uint8Array(a),c=0;c>4,l[s++]=(15&r)<<4|o>>2,l[s++]=(3&o)<<6|63&n;return a}const Nt=new Map;const kt=(t,r,o)=>{if(t&&(At(t,r)||"object"==typeof t)){r=function(e,t){let r=Nt.get(e);return r||(r=new Map,Nt.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}(o,t.constructor.name);let e=r.indexOf(t);return-1===e&&(e=r.length,r.push(t)),e}};const Mt=(e,t,r)=>[...e].map(e=>function t(e,r,o){var n;return e instanceof Array?e.map(e=>t(e,r,o)):null===e?e: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?{rr_type:e.constructor.name,args:[Object.values(e)]}:e instanceof ArrayBuffer?{rr_type:e.constructor.name,base64:Tt(e)}:e instanceof DataView?{rr_type:e.constructor.name,args:[t(e.buffer,r,o),e.byteOffset,e.byteLength]}:e instanceof HTMLImageElement?(n=e.src,{rr_type:e.constructor.name,src:n}):e instanceof HTMLCanvasElement?{rr_type:"HTMLImageElement",src:e.toDataURL()}:e instanceof ImageData?{rr_type:e.constructor.name,args:[t(e.data,r,o),e.width,e.height]}:At(e,r)||"object"==typeof e?{rr_type:e.constructor.name,index:kt(e,r,o)}:e}(e,t,r)),At=(t,r)=>{var e=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject","WebGLVertexArrayObjectOES"].filter(e=>"function"==typeof r[e]);return Boolean(e.find(e=>t instanceof r[e]))};function Rt(e,o,n){const t=[];try{var r=O(e.HTMLCanvasElement.prototype,"getContext",function(r){return function(e,...t){return x(this,o,n,!0)||"__context"in this||(this.__context=e),r.apply(this,[e,...t])}});t.push(r)}catch(e){console.error("failed to patch HTMLCanvasElement.prototype.getContext")}return()=>{t.forEach(e=>e())}}function _t(t,o,n,a,i,e,s){var r,l=[];for(const d of Object.getOwnPropertyNames(t))if(!["isContextLost","canvas","drawingBufferWidth","drawingBufferHeight"].includes(d))try{"function"==typeof t[d]&&(r=O(t,d,function(r){return function(...e){var t=r.apply(this,e);return kt(t,s,this),x(this.canvas,a,i,!0)||(e=Mt([...e],s,this),e={type:o,property:d,args:e},n(this.canvas,e)),t}}),l.push(r))}catch(e){var c=be(t,d,{set(e){n(this.canvas,{type:o,property:d,args:[e],setter:!0})}});l.push(c)}return l}function Dt(e,t,r){t=void 0===t?null:t,e=function(e,t){var r=atob(e);if(t){for(var o=new Uint8Array(r.length),n=0,a=r.length;n{(this.rafStamps.invokeId&&this.rafStamps.latestId!==this.rafStamps.invokeId||!this.rafStamps.invokeId)&&(this.rafStamps.invokeId=this.rafStamps.latestId),this.pendingCanvasMutations.has(e)||this.pendingCanvasMutations.set(e,[]),this.pendingCanvasMutations.get(e).push(t)};var{sampling:t="all",win:r,blockClass:o,blockSelector:n,recordCanvas:a,dataURLOptions:i}=e;this.mutationCb=e.mutationCb,this.mirror=e.mirror,a&&"all"===t&&this.initCanvasMutationObserver(r,o,n),a&&"number"==typeof t&&this.initCanvasFPSObserver(t,r,o,n,{dataURLOptions:i})}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(e,r,o,n,a){const t=Rt(r,o,n),l=new Map,c=new Pt,i=(c.onmessage=e=>{var t,r,o,n=e.data["id"];l.set(n,!1),"base64"in e.data&&({base64:e,type:t,width:r,height:o}=e.data,this.mutationCb({id:n,type:h["2D"],commands:[{property:"clearRect",args:[0,0,r,o]},{property:"drawImage",args:[{rr_type:"ImageBitmap",args:[{rr_type:"Blob",data:[{rr_type:"ArrayBuffer",base64:e}],type:t}]},0,0]}]}))},1e3/e);let s=0,d;const u=()=>{const t=[];return r.document.querySelectorAll("canvas").forEach(e=>{x(e,o,n,!0)||t.push(e)}),t},m=e=>{d=(s&&e-s{return e=this,i=null,s=function*(){var e,t,r=this.mirror.getId(o);l.get(r)||(l.set(r,!0),["webgl","webgl2"].includes(o.__context)&&!1===(null==(t=null==(e=o.getContext(o.__context))?void 0:e.getContextAttributes())?void 0:t.preserveDrawingBuffer)&&null!=e&&e.clear(e.COLOR_BUFFER_BIT),t=yield createImageBitmap(o),c.postMessage({id:r,bitmap:t,width:o.width,height:o.height,dataURLOptions:a.dataURLOptions},[t]))},new Promise((t,r)=>{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});var e,i,s})),requestAnimationFrame(m))};d=requestAnimationFrame(m),this.resetObservers=()=>{t(),cancelAnimationFrame(d)}}initCanvasMutationObserver(e,t,r){this.startRAFTimestamping(),this.startPendingCanvasMutationFlusher();const o=Rt(e,t,r),n=function(r,o,n,a){const t=[];var e;for(const s of Object.getOwnPropertyNames(o.CanvasRenderingContext2D.prototype))try{"function"==typeof o.CanvasRenderingContext2D.prototype[s]&&(e=O(o.CanvasRenderingContext2D.prototype,s,function(e){return function(...t){return x(this.canvas,n,a,!0)||setTimeout(()=>{var e=Mt([...t],o,this);r(this.canvas,{type:h["2D"],property:s,args:e})},0),e.apply(this,t)}}),t.push(e))}catch(e){var i=be(o.CanvasRenderingContext2D.prototype,s,{set(e){r(this.canvas,{type:h["2D"],property:s,args:[e],setter:!0})}});t.push(i)}return()=>{t.forEach(e=>e())}}(this.processMutation.bind(this),e,t,r),a=function(e,t,r,o){const n=[];return n.push(..._t(t.WebGLRenderingContext.prototype,h.WebGL,e,r,o,0,t)),void 0!==t.WebGL2RenderingContext&&n.push(..._t(t.WebGL2RenderingContext.prototype,h.WebGL2,e,r,o,0,t)),()=>{n.forEach(e=>e())}}(this.processMutation.bind(this),e,t,r,this.mirror);this.resetObservers=()=>{o(),n(),a()}}startPendingCanvasMutationFlusher(){requestAnimationFrame(()=>this.flushPendingCanvasMutations())}startRAFTimestamping(){const t=e=>{this.rafStamps.latestId=e,requestAnimationFrame(t)};requestAnimationFrame(t)}flushPendingCanvasMutations(){this.pendingCanvasMutations.forEach((e,t)=>{var r=this.mirror.getId(t);this.flushPendingCanvasMutationFor(t,r)}),requestAnimationFrame(()=>this.flushPendingCanvasMutations())}flushPendingCanvasMutationFor(e,t){var r,o;this.frozen||this.locked||(o=this.pendingCanvasMutations.get(e))&&-1!==t&&(r=o.map(e=>{var t=e,r=["type"],o={};for(n in t)Wt.call(t,n)&&r.indexOf(n)<0&&(o[n]=t[n]);if(null!=t&&Bt)for(var n of Bt(t))r.indexOf(n)<0&&Vt.call(t,n)&&(o[n]=t[n]);return o}),o=o[0]["type"],this.mutationCb({id:t,type:o,commands:r}),this.pendingCanvasMutations.delete(e))}}class Ut{constructor(e){this.trackedLinkElements=new WeakSet,this.styleMirror=new Oe,this.mutationCb=e.mutationCb,this.adoptedStyleSheetCb=e.adoptedStyleSheetCb}attachLinkElement(e,t){"_cssText"in t.attributes&&this.mutationCb({adds:[],removes:[],texts:[],attributes:[{id:t.id,attributes:t.attributes}]}),this.trackLinkElement(e)}trackLinkElement(e){this.trackedLinkElements.has(e)||(this.trackedLinkElements.add(e),this.trackStylesheetInLinkElement(e))}adoptStyleSheets(e,t){if(0!==e.length){var r,o={id:t,styleIds:[]},n=[];for(const a of e){let e;this.styleMirror.has(a)?e=this.styleMirror.getId(a):(e=this.styleMirror.add(a),r=Array.from(a.rules||CSSRule),n.push({styleId:e,rules:r.map((e,t)=>({rule:d(e),index:t}))})),o.styleIds.push(e)}0t in e?jt(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,q=(e,t)=>{for(var r in t=t||{})zt.call(t,r)&&Kt(e,r,t[r]);if(Zt)for(var r of Zt(t))Xt.call(t,r)&&Kt(e,r,t[r]);return e},Jt=(e,t)=>Yt(e,Ht(t));function $(e){return Jt(q({},e),{timestamp:Date.now()})}let ee,Qt,qt,$t=!1;const te=f();function n(F={}){const{emit:o,checkoutEveryNms:n,checkoutEveryNth:a,blockClass:S="rr-block",blockSelector:C=null,ignoreClass:P="rr-ignore",maskTextClass:w="rr-mask",maskTextSelector:T=null,inlineStylesheet:E=!0,maskAllInputs:B,maskInputOptions:e,slimDOMOptions:t,maskInputFn:r,maskTextFn:N,hooks:W,packFn:i,sampling:s={},dataURLOptions:k={},mousemoveWait:l,recordCanvas:M=!1,recordCrossOriginIframes:c=!1,userTriggeredOnInput:V=!1,collectFonts:G=!1,inlineImages:A=!1,plugins:d,keepIframeSrcFn:R=()=>!1,ignoreCSSAttributes:U=new Set([])}=F,u=!c||window.parent===window;let m=!1;if(!u)try{window.parent.document,m=!1}catch(e){m=!0}if(u&&!o)throw new Error("emit function is required");void 0!==l&&void 0===s.mousemove&&(s.mousemove=l),te.reset();const _=!0===B?{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}:void 0!==e?e:{password:!0},D=!0===t||"all"===t?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaVerification:!0,headMetaAuthorship:"all"===t,headMetaDescKeywords:"all"===t}:t||{};Ne();let h,p=0;const f=e=>{for(const t of d||[])t.eventProcessor&&(e=t.eventProcessor(e));return e=i?i(e):e},g=(ee=(e,t)=>{var r;null==(r=Q[0])||!r.isFrozen()||e.type===K.FullSnapshot||e.type===K.IncrementalSnapshot&&e.data.source===J.Mutation||Q.forEach(e=>e.unfreeze()),u?null!=o&&o(f(e),t):m&&(r={type:"rrweb",event:f(e),isCheckout:t},window.parent.postMessage(r,"*")),e.type===K.FullSnapshot?(h=e,p=0):e.type!==K.IncrementalSnapshot||e.data.source===J.Mutation&&e.data.isAttachIframe||(p++,t=a&&p>=a,r=n&&e.timestamp-h.timestamp>n,(t||r)&&Qt(!0))},e=>{ee($({type:K.IncrementalSnapshot,data:q({source:J.Mutation},e)}))}),j=e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.Scroll},e)})),Y=e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.CanvasMutation},e)}));const O=new Ut({mutationCb:g,adoptedStyleSheetCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.AdoptedStyleSheet},e)}))}),x=new dt({mirror:te,mutationCb:g,stylesheetManager:O,recordCrossOriginIframes:c,wrappedEmit:ee});for(const y of d||[])y.getMirror&&y.getMirror({nodeMirror:te,crossOriginIframeMirror:x.crossOriginIframeMirror,crossOriginIframeStyleMirror:x.crossOriginIframeStyleMirror});qt=new Gt({recordCanvas:M,mutationCb:Y,win:window,blockClass:S,blockSelector:C,mirror:te,sampling:s.canvas,dataURLOptions:k});const L=new It({mutationCb:g,scrollCb:j,bypassOptions:{blockClass:S,blockSelector:C,maskTextClass:w,maskTextSelector:T,inlineStylesheet:E,maskInputOptions:_,dataURLOptions:k,maskTextFn:N,maskInputFn:r,recordCanvas:M,inlineImages:A,sampling:s,slimDOMOptions:D,iframeManager:x,stylesheetManager:O,canvasManager:qt,keepIframeSrcFn:R},mirror:te});Qt=(e=!1)=>{ee($({type:K.Meta,data:{href:window.location.href,width:Se(),height:Ie()}}),e),O.reset(),Q.forEach(e=>e.lock()),e=document,t={mirror:te,blockClass:S,blockSelector:C,maskTextClass:w,maskTextSelector:T,inlineStylesheet:E,maskAllInputs:_,maskTextFn:N,slimDOM:D,dataURLOptions:k,recordCanvas:M,inlineImages:A,onSerialize:e=>{z(e,te)&&x.addIframe(e),Ae(e,te)&&O.trackLinkElement(e),X(e)&&L.addShadowRoot(e.shadowRoot,document)},onIframeLoad:(e,t)=>{x.attachIframe(e,t),L.observeAttachShadow(e)},onStylesheetLoad:(e,t)=>{O.attachLinkElement(e,t)},keepIframeSrcFn:R},r=void 0===(r=(t=t||{}).mirror)?new re:r,o=t.blockClass,n=t.blockSelector,a=t.maskTextClass,i=t.maskTextSelector,s=t.inlineStylesheet,l=t.inlineImages,c=t.recordCanvas,d=void 0!==(d=t.maskAllInputs)&&d,u=t.maskTextFn,m=t.maskInputFn,h=void 0!==(h=t.slimDOM)&&h,p=t.dataURLOptions,f=t.preserveWhiteSpace,g=t.onSerialize,y=t.onIframeLoad,v=t.iframeLoadTimeout,b=t.onStylesheetLoad,I=t.stylesheetLoadTimeout,t=t.keepIframeSrcFn;var t,r,o,n,a,i,s,l,c,d,u,m,h,p,f,g,y,v,b,I,e=H(e,{doc:e,mirror:r,blockClass:void 0===o?"rr-block":o,blockSelector:void 0===n?null:n,maskTextClass:void 0===a?"rr-mask":a,maskTextSelector:void 0===i?null:i,skipChild:!1,inlineStylesheet:void 0===s||s,maskInputOptions:!0===d?{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}:!1===d?{password:!0}:d,maskTextFn:u,maskInputFn:m,slimDOMOptions:!0===h||"all"===h?{script:!0,comment:!0,headFavicon:!0,headWhitespace:!0,headMetaDescKeywords:"all"===h,headMetaSocial:!0,headMetaRobots:!0,headMetaHttpEquiv:!0,headMetaAuthorship:!0,headMetaVerification:!0}:!1===h?{}:h,dataURLOptions:p,inlineImages:void 0!==l&&l,recordCanvas:void 0!==c&&c,preserveWhiteSpace:f,onSerialize:g,onIframeLoad:y,iframeLoadTimeout:v,onStylesheetLoad:b,stylesheetLoadTimeout:I,keepIframeSrcFn:void 0===t?function(){return!1}:t,newlyAddedElement:!1});if(!e)return console.warn("Failed to snapshot the document");ee($({type:K.FullSnapshot,data:{node:e,initialOffset:{left:void 0!==window.pageXOffset?window.pageXOffset:(null==document?void 0:document.documentElement.scrollLeft)||(null==(o=null==(r=null==document?void 0:document.body)?void 0:r.parentElement)?void 0:o.scrollLeft)||(null==(n=null==document?void 0:document.body)?void 0:n.scrollLeft)||0,top:void 0!==window.pageYOffset?window.pageYOffset:(null==document?void 0:document.documentElement.scrollTop)||(null==(i=null==(a=null==document?void 0:document.body)?void 0:a.parentElement)?void 0:i.scrollTop)||(null==(s=null==document?void 0:document.body)?void 0:s.scrollTop)||0}}})),Q.forEach(e=>e.unlock()),document.adoptedStyleSheets&&0{ee($({type:K.DomContentLoaded,data:{}}))})),e=>{return lt({mutationCb:g,mousemoveCb:(e,t)=>ee($({type:K.IncrementalSnapshot,data:{source:t,positions:e}})),mouseInteractionCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.MouseInteraction},e)})),scrollCb:j,viewportResizeCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.ViewportResize},e)})),inputCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.Input},e)})),mediaInteractionCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.MediaInteraction},e)})),styleSheetRuleCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.StyleSheetRule},e)})),styleDeclarationCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.StyleDeclaration},e)})),canvasMutationCb:Y,fontCb:e=>ee($({type:K.IncrementalSnapshot,data:q({source:J.Font},e)})),selectionCb:e=>{ee($({type:K.IncrementalSnapshot,data:q({source:J.Selection},e)}))},blockClass:S,ignoreClass:P,maskTextClass:w,maskTextSelector:T,maskInputOptions:_,inlineStylesheet:E,sampling:s,recordCanvas:M,inlineImages:A,userTriggeredOnInput:V,collectFonts:G,doc:e,maskInputFn:r,maskTextFn:N,keepIframeSrcFn:R,blockSelector:C,slimDOMOptions:D,dataURLOptions:k,mirror:te,iframeManager:x,stylesheetManager:O,shadowDomManager:L,canvasManager:qt,ignoreCSSAttributes:U,plugins:(null==(e=null==d?void 0:d.filter(e=>e.observer))?void 0:e.map(t=>({observer:t.observer,options:t.options,callback:e=>ee($({type:K.Plugin,data:{plugin:t.name,payload:e}}))})))||[]},W)}),I=(x.addLoadListener(e=>{v.push(b(e.contentDocument))}),()=>{Qt(),v.push(b(document)),$t=!0});return"interactive"===document.readyState||"complete"===document.readyState?I():v.push(Z("load",()=>{ee($({type:K.Load,data:{}})),I()},window)),()=>{v.forEach(e=>e()),$t=!1}}catch(e){console.warn(e)}}n.addCustomEvent=(e,t)=>{if(!$t)throw new Error("please add custom event after start recording");ee($({type:K.Custom,data:{tag:e,payload:t}}))},n.freezePage=()=>{Q.forEach(e=>e.freeze())},n.takeFullSnapshot=e=>{if(!$t)throw new Error("please take full snapshot after start recording");Qt(e)},n.mirror=te,(l=N=N||{})[l.Document=0]="Document",l[l.DocumentType=1]="DocumentType",l[l.Element=2]="Element",l[l.Text=3]="Text",l[l.CDATA=4]="CDATA",l[l.Comment=5]="Comment";a.prototype.getId=function(e){return e&&null!=(e=null==(e=this.getMeta(e))?void 0:e.id)?e:-1},a.prototype.getNode=function(e){return this.idNodeMap.get(e)||null},a.prototype.getIds=function(){return Array.from(this.idNodeMap.keys())},a.prototype.getMeta=function(e){return this.nodeMetaMap.get(e)||null},a.prototype.removeNodeFromMap=function(e){var t=this,r=this.getId(e);this.idNodeMap.delete(r),e.childNodes&&e.childNodes.forEach(function(e){return t.removeNodeFromMap(e)})},a.prototype.has=function(e){return this.idNodeMap.has(e)},a.prototype.hasNode=function(e){return this.nodeMetaMap.has(e)},a.prototype.add=function(e,t){var r=t.id;this.idNodeMap.set(r,e),this.nodeMetaMap.set(e,t)},a.prototype.replace=function(e,t){var r=this.getNode(e);r&&(r=this.nodeMetaMap.get(r))&&this.nodeMetaMap.set(t,r),this.idNodeMap.set(e,t)},a.prototype.reset=function(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap};var u,er=a;function a(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}function tr(e){var t=[];for(const n in e){var r,o=e[n];"string"==typeof o&&(r=ir(n),t.push(r+`: ${o};`))}return t.join(" ")}const rr=/-([a-z])/g,or=/^--[a-zA-Z0-9-]+$/,nr=e=>or.test(e)?e:e.replace(rr,(e,t)=>t?t.toUpperCase():""),ar=/\B([A-Z])/g,ir=e=>e.replace(ar,"-$1").toLowerCase();class s{constructor(){this.childNodes=[],this.parentElement=null,this.parentNode=null,this.ELEMENT_NODE=u.ELEMENT_NODE,this.TEXT_NODE=u.TEXT_NODE}get firstChild(){return this.childNodes[0]||null}get lastChild(){return this.childNodes[this.childNodes.length-1]||null}get nextSibling(){var e,t=this.parentNode;return t&&(e=(t=t.childNodes).indexOf(this),t[e+1])||null}contains(e){if(e===this)return!0;for(const t of this.childNodes)if(t.contains(e))return!0;return!1}appendChild(e){throw new Error("RRDomException: Failed to execute 'appendChild' on 'RRNode': This RRNode type does not support this method.")}insertBefore(e,t){throw new Error("RRDomException: Failed to execute 'insertBefore' on 'RRNode': This RRNode type does not support this method.")}removeChild(e){throw new Error("RRDomException: Failed to execute 'removeChild' on 'RRNode': This RRNode type does not support this method.")}toString(){return"RRNode"}}function sr(e){return class extends e{constructor(e,t,r){super(),this.nodeType=u.DOCUMENT_TYPE_NODE,this.RRNodeType=N.DocumentType,this.textContent=null,this.name=e,this.publicId=t,this.systemId=r,this.nodeName=e}toString(){return"RRDocumentType"}}}function lr(e){return class extends e{constructor(e){super(),this.nodeType=u.ELEMENT_NODE,this.RRNodeType=N.Element,this.attributes={},this.shadowRoot=null,this.tagName=e.toUpperCase(),this.nodeName=e.toUpperCase()}get textContent(){let t="";return this.childNodes.forEach(e=>t+=e.textContent),t}set textContent(e){this.childNodes=[this.ownerDocument.createTextNode(e)]}get classList(){return new mr(this.attributes.class,e=>{this.attributes.class=e})}get id(){return this.attributes.id||""}get className(){return this.attributes.class||""}get style(){const o=this.attributes.style?function(e){const t={},r=/:(.+)/;return e.replace(/\/\*.*?\*\//g,"").split(/;(?![^(]*\))/g).forEach(function(e){e&&1<(e=e.split(r)).length&&(t[nr(e[0].trim())]=e[1].trim())}),t}(this.attributes.style):{},n=/\B([A-Z])/g;return o.setProperty=(e,t,r)=>{n.test(e)||(e=nr(e),t?o[e]=t:delete o[e],"important"===r&&(o[e]+=" !important"),this.attributes.style=tr(o))},o.removeProperty=e=>{var t;return n.test(e)?"":(e=nr(e),t=o[e]||"",delete o[e],this.attributes.style=tr(o),t)},o}getAttribute(e){return this.attributes[e]||null}setAttribute(e,t){this.attributes[e]=t}setAttributeNS(e,t,r){this.setAttribute(t,r)}removeAttribute(e){delete this.attributes[e]}appendChild(e){return this.childNodes.push(e),e.parentNode=this,e.parentElement=this,e}insertBefore(e,t){if(null===t)return this.appendChild(e);t=this.childNodes.indexOf(t);if(-1==t)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 this.childNodes.splice(t,0,e),e.parentElement=this,e.parentNode=this,e}removeChild(e){var t=this.childNodes.indexOf(e);if(-1===t)throw new Error("Failed to execute 'removeChild' on 'RRElement': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(t,1),e.parentElement=null,e.parentNode=null,e}attachShadow(e){var t=this.ownerDocument.createElement("SHADOWROOT");return this.shadowRoot=t}dispatchEvent(e){return!0}toString(){let e="";for(const t in this.attributes)e+=`${t}="${this.attributes[t]}" `;return this.tagName+" "+e}}}function cr(e){return class extends e{constructor(e){super(),this.nodeType=u.TEXT_NODE,this.nodeName="#text",this.RRNodeType=N.Text,this.data=e}get textContent(){return this.data}set textContent(e){this.data=e}toString(){return"RRText text="+JSON.stringify(this.data)}}}function dr(e){return class extends e{constructor(e){super(),this.nodeType=u.COMMENT_NODE,this.nodeName="#comment",this.RRNodeType=N.Comment,this.data=e}get textContent(){return this.data}set textContent(e){this.data=e}toString(){return"RRComment text="+JSON.stringify(this.data)}}}function ur(e){return class extends e{constructor(e){super(),this.nodeName="#cdata-section",this.nodeType=u.CDATA_SECTION_NODE,this.RRNodeType=N.CDATA,this.data=e}get textContent(){return this.data}set textContent(e){this.data=e}toString(){return"RRCDATASection data="+JSON.stringify(this.data)}}}class mr{constructor(e,t){this.classes=[],this.add=(...e)=>{for(const r of e){var t=String(r);0<=this.classes.indexOf(t)||this.classes.push(t)}this.onChange&&this.onChange(this.classes.join(" "))},this.remove=(...t)=>{this.classes=this.classes.filter(e=>-1===t.indexOf(e)),this.onChange&&this.onChange(this.classes.join(" "))},e&&(e=e.trim().split(/\s+/),this.classes.push(...e)),this.onChange=t}}(l=u=u||{})[l.PLACEHOLDER=0]="PLACEHOLDER",l[l.ELEMENT_NODE=1]="ELEMENT_NODE",l[l.ATTRIBUTE_NODE=2]="ATTRIBUTE_NODE",l[l.TEXT_NODE=3]="TEXT_NODE",l[l.CDATA_SECTION_NODE=4]="CDATA_SECTION_NODE",l[l.ENTITY_REFERENCE_NODE=5]="ENTITY_REFERENCE_NODE",l[l.ENTITY_NODE=6]="ENTITY_NODE",l[l.PROCESSING_INSTRUCTION_NODE=7]="PROCESSING_INSTRUCTION_NODE",l[l.COMMENT_NODE=8]="COMMENT_NODE",l[l.DOCUMENT_NODE=9]="DOCUMENT_NODE",l[l.DOCUMENT_TYPE_NODE=10]="DOCUMENT_TYPE_NODE",l[l.DOCUMENT_FRAGMENT_NODE=11]="DOCUMENT_FRAGMENT_NODE";const hr={svg:"http://www.w3.org/2000/svg","xlink:href":"http://www.w3.org/1999/xlink",xmlns:"http://www.w3.org/2000/xmlns/"},pr={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 k(t,e,r,o){var n,a=t.childNodes,i=e.childNodes;o=o||e.mirror||e.ownerDocument.mirror,(0{var e=m.getContext("2d");e&&e.drawImage(w,0,0,w.width,w.height)}}else m.setAttribute(C,y)}for({name:d}of Array.from(f))d in g||m.removeAttribute(d);switch(h.scrollLeft&&(m.scrollLeft=h.scrollLeft),h.scrollTop&&(m.scrollTop=h.scrollTop),l=u.scrollData,s=u.inputData,u.tagName){case"AUDIO":case"VIDEO":var b=t,I=u;void 0!==I.paused&&(I.paused?b.pause():b.play()),void 0!==I.muted&&(b.muted=I.muted),void 0!==I.volume&&(b.volume=I.volume),void 0!==I.currentTime&&(b.currentTime=I.currentTime),void 0!==I.playbackRate&&(b.playbackRate=I.playbackRate);break;case"CANVAS":b=e;if(null!==b.rr_dataURL){const T=document.createElement("img");T.onload=()=>{var e=S.getContext("2d");e&&e.drawImage(T,0,0,T.width,T.height)},T.src=b.rr_dataURL}b.canvasMutations.forEach(e=>r.applyCanvas(e.event,e.mutation,t));break;case"STYLE":{const E=S.sheet;E&&e.rules.forEach(e=>r.applyStyleSheetMutation(e,E))}}u.shadowRoot&&(S.shadowRoot||S.attachShadow({mode:"open"}),f=S.shadowRoot.childNodes,c=u.shadowRoot.childNodes,0i){const C=e[l+1];let t=null;for(C&&r.childNodes.forEach(e=>{o.mirror.getId(e)===n.getId(C)&&(t=e)});s<=l;++s){var I=gr(e[s],o.mirror,n);r.insertBefore(I,t),k(I,e[s],o,n)}}else if(s>l)for(;a<=i;a++){var S=t[a];S&&(r.removeChild(S),o.mirror.removeNodeFromMap(S))}}function gr(e,t,r){var o=r.getId(e),n=r.getMeta(e);let a=null;if(null===(a=-1e.RRNodeType===N.Element&&"HTML"===e.tagName)||null}get body(){var e;return(null==(e=this.documentElement)?void 0:e.childNodes.find(e=>e.RRNodeType===N.Element&&"BODY"===e.tagName))||null}get head(){var e;return(null==(e=this.documentElement)?void 0:e.childNodes.find(e=>e.RRNodeType===N.Element&&"HEAD"===e.tagName))||null}get implementation(){return this}get firstElementChild(){return this.documentElement}appendChild(e){const t=e.RRNodeType;if(t!==N.Element&&t!==N.DocumentType||!this.childNodes.some(e=>e.RRNodeType===t))return e.parentElement=null,(e.parentNode=this).childNodes.push(e),e;throw new Error(`RRDomException: Failed to execute 'appendChild' on 'RRNode': Only one ${t===N.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`)}insertBefore(e,t){const r=e.RRNodeType;if((r===N.Element||r===N.DocumentType)&&this.childNodes.some(e=>e.RRNodeType===r))throw new Error(`RRDomException: Failed to execute 'insertBefore' on 'RRNode': Only one ${r===N.Element?"RRElement":"RRDoctype"} on RRDocument allowed.`);if(null===t)return this.appendChild(e);t=this.childNodes.indexOf(t);if(-1==t)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 this.childNodes.splice(t,0,e),e.parentElement=null,e.parentNode=this,e}removeChild(e){var t=this.childNodes.indexOf(e);if(-1===t)throw new Error("Failed to execute 'removeChild' on 'RRDocument': The RRNode to be removed is not a child of this RRNode.");return this.childNodes.splice(t,1),e.parentElement=null,e.parentNode=null,e}open(){this.childNodes=[]}close(){}write(e){let t;''===e?t="-//W3C//DTD XHTML 1.0 Transitional//EN":''===e&&(t="-//W3C//DTD HTML 4.0 Transitional//EN"),t&&(e=this.createDocumentType("html",t,""),this.open(),this.appendChild(e))}createDocument(e,t,r){return new Mo}createDocumentType(e,t,r){e=new(sr(s))(e,t,r);return e.ownerDocument=this,e}createElement(e){e=new(lr(s))(e);return e.ownerDocument=this,e}createElementNS(e,t){return this.createElement(t)}createTextNode(e){e=new(cr(s))(e);return e.ownerDocument=this,e}createComment(e){e=new(dr(s))(e);return e.ownerDocument=this,e}createCDATASection(e){e=new(ur(s))(e);return e.ownerDocument=this,e}toString(){return"RRDocument"}}){constructor(e){super(),this.UNSERIALIZED_STARTING_ID=-2,this._unserializedId=this.UNSERIALIZED_STARTING_ID,this.mirror=new Ar,this.scrollData=null,e&&(this.mirror=e)}get unserializedId(){return this._unserializedId--}createDocument(e,t,r){return new yr}createDocumentType(e,t,r){e=new vr(e,t,r);return e.ownerDocument=this,e}createElement(e){var t=e.toUpperCase();let r;switch(t){case"AUDIO":case"VIDEO":r=new Ir(t);break;case"IFRAME":r=new wr(t,this.mirror);break;case"CANVAS":r=new Sr(t);break;case"STYLE":r=new Cr(t);break;default:r=new br(t)}return r.ownerDocument=this,r}createComment(e){e=new Er(e);return e.ownerDocument=this,e}createCDATASection(e){e=new Nr(e);return e.ownerDocument=this,e}createTextNode(e){e=new Tr(e);return e.ownerDocument=this,e}destroyTree(){this.childNodes=[],this.mirror.reset()}open(){super.open(),this._unserializedId=this.UNSERIALIZED_STARTING_ID}}const vr=sr(s);class br extends lr(s){constructor(){super(...arguments),this.inputData=null,this.scrollData=null}}class Ir extends(l=br,class extends l{attachShadow(e){throw new Error("RRDomException: Failed to execute 'attachShadow' on 'RRElement': This RRElement does not support attachShadow")}play(){this.paused=!1}pause(){this.paused=!0}}){}class Sr extends br{constructor(){super(...arguments),this.rr_dataURL=null,this.canvasMutations=[]}getContext(){return null}}class Cr extends br{constructor(){super(...arguments),this.rules=[]}}class wr extends br{constructor(e,t){super(e),this.contentDocument=new yr,this.contentDocument.mirror=t}}const Tr=cr(s),Er=dr(s),Nr=ur(s);function kr(e,t,r,o){let n;switch(e.nodeType){case u.DOCUMENT_NODE:o&&"IFRAME"===o.nodeName?n=o.contentDocument:(n=t).compatMode=e.compatMode;break;case u.DOCUMENT_TYPE_NODE:n=t.createDocumentType(e.name,e.publicId,e.systemId);break;case u.ELEMENT_NODE:var a,i,s=e,l=(l=s)instanceof HTMLFormElement?"FORM":l.tagName.toUpperCase(),c=n=t.createElement(l);for({name:a,value:i}of Array.from(s.attributes))c.attributes[a]=i;s.scrollLeft&&(c.scrollLeft=s.scrollLeft),s.scrollTop&&(c.scrollTop=s.scrollTop);break;case u.TEXT_NODE:n=t.createTextNode(e.textContent||"");break;case u.CDATA_SECTION_NODE:n=t.createCDATASection(e.data);break;case u.COMMENT_NODE:n=t.createComment(e.textContent||"");break;case u.DOCUMENT_FRAGMENT_NODE:n=o.attachShadow({mode:"open"});break;default:return null}var l;let d=r.getMeta(e);return t instanceof yr&&(d||(d=Rr(n,t.unserializedId),r.add(e,d)),t.mirror.add(n,Object.assign({},d))),n}function Mr(e,n=new er,a=new yr){!function t(e,r){const o=kr(e,a,n,r);null!==o&&("IFRAME"!==(null==r?void 0:r.nodeName)&&e.nodeType!==u.DOCUMENT_FRAGMENT_NODE&&(null!=r&&r.appendChild(o),o.parentNode=r,o.parentElement=r),"IFRAME"===e.nodeName?(r=e.contentDocument)&&t(r,o):e.nodeType!==u.DOCUMENT_NODE&&e.nodeType!==u.ELEMENT_NODE&&e.nodeType!==u.DOCUMENT_FRAGMENT_NODE||(e.nodeType===u.ELEMENT_NODE&&e.shadowRoot&&t(e.shadowRoot,o),e.childNodes.forEach(e=>t(e,o))))}(e,null)}class Ar{constructor(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}getId(e){return e&&null!=(e=null==(e=this.getMeta(e))?void 0:e.id)?e:-1}getNode(e){return this.idNodeMap.get(e)||null}getIds(){return Array.from(this.idNodeMap.keys())}getMeta(e){return this.nodeMetaMap.get(e)||null}removeNodeFromMap(e){var t=this.getId(e);this.idNodeMap.delete(t),e.childNodes&&e.childNodes.forEach(e=>this.removeNodeFromMap(e))}has(e){return this.idNodeMap.has(e)}hasNode(e){return this.nodeMetaMap.has(e)}add(e,t){var r=t.id;this.idNodeMap.set(r,e),this.nodeMetaMap.set(e,t)}replace(e,t){var r=this.getNode(e);r&&(r=this.nodeMetaMap.get(r))&&this.nodeMetaMap.set(t,r),this.idNodeMap.set(e,t)}reset(){this.idNodeMap=new Map,this.nodeMetaMap=new WeakMap}}function Rr(e,t){switch(e.RRNodeType){case N.Document:return{id:t,type:e.RRNodeType,childNodes:[]};case N.DocumentType:return{id:t,type:e.RRNodeType,name:e.name,publicId:e.publicId,systemId:e.systemId};case N.Element:return{id:t,type:e.RRNodeType,tagName:e.tagName.toLowerCase(),attributes:{},childNodes:[]};case N.Text:case N.Comment:return{id:t,type:e.RRNodeType,textContent:e.textContent||""};case N.CDATA:return{id:t,type:e.RRNodeType,textContent:""}}}function _r(o){return{all:o=o||new Map,on:function(e,t){var r=o.get(e);r?r.push(t):o.set(e,[t])},off:function(e,t){var r=o.get(e);r&&(t?r.splice(r.indexOf(t)>>>0,1):o.set(e,[]))},emit:function(t,r){var e=o.get(t);e&&e.slice().map(function(e){e(r)}),(e=o.get("*"))&&e.slice().map(function(e){e(t,r)})}}}var Dr;function Or(l=window,c=document){if(!("scrollBehavior"in c.documentElement.style&&!0!==l.__forceSmoothScrollPolyfill__)){var e,t=l.HTMLElement||l.Element;const m=468,h={scroll:l.scroll||l.scrollTo,scrollBy:l.scrollBy,elementScroll:t.prototype.scroll||d,scrollIntoView:t.prototype.scrollIntoView},p=l.performance&&l.performance.now?l.performance.now.bind(l.performance):Date.now,r=(e=l.navigator.userAgent,new RegExp(["MSIE ","Trident/","Edge/"].join("|")).test(e)?1:0);function d(e,t){this.scrollLeft=e,this.scrollTop=t}function o(e){if(null===e||"object"!=typeof e||void 0===e.behavior||"auto"===e.behavior||"instant"===e.behavior)return!0;if("object"==typeof e&&"smooth"===e.behavior)return!1;throw new TypeError("behavior member of ScrollOptions "+e.behavior+" is not a valid value for enumeration ScrollBehavior.")}function n(e,t){return"Y"===t?e.clientHeight+r{var e=performance.now();for(this.timeOffset+=(e-r)*this.speed,r=e;this.actions.length;){var t=this.actions[0];if(!(this.timeOffset>=t.delay))break;this.actions.shift(),t.doAction()}(0e.delay))return o+1;r=o-1}}return t}}function Lr(e,t){var r;e.type===K.IncrementalSnapshot&&e.data.source===J.MouseMove&&e.data.positions&&e.data.positions.length?(r=e.data.positions[0].timeOffset,r=e.timestamp+r,e.delay=r-t):(e.delay=e.timestamp-t,e.delay)}function Fr(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var o,n,a=r.call(e),i=[];try{for(;(void 0===t||0=e.length?void 0:e)&&e[o++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),c=l.next();!c.done;c=l.next()){var d=c.value;if(void 0===d)return jr(n,a);var u,m,h,p,f,g="string"==typeof d?{target:d}:d,y=g.target,v=g.actions,b=void 0===v?[]:v,I=g.cond,S=void 0===I?function(){return!0}:I,C=void 0===y,w=null!=y?y:n,T=E.states[w];if(S(a,i))return m=(u=Fr(Yr((C?Br(b):[].concat(s.exit,b,T.entry).filter(function(e){return e})).map(function(e){return Vr(e,N._options.actions)}),a,i),3))[0],h=u[1],p=u[2],{value:f=null!=y?y:n,context:h,actions:m,changed:y!==n||0t in e?Xr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,to=(e,t)=>{for(var r in t=t||{})qr.call(t,r)&&eo(e,r,t[r]);if(Qr)for(var r of Qr(t))$r.call(t,r)&&eo(e,r,t[r]);return e},ro=(e,t)=>Kr(e,Jr(t));function oo(e,{getCastFn:d,applyEventsSynchronously:u,emitter:m}){return zr(Hr({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:Wr({lastPlayedEvent:(e,t)=>"CAST_EVENT"===t.type?t.payload.event:e.lastPlayedEvent}),recordTimeOffset:Wr((e,t)=>{let r=e.timeOffset;return"payload"in t&&"timeOffset"in t.payload&&(r=t.payload.timeOffset),ro(to({},e),{timeOffset:r,baselineTime:e.events[0].timestamp+r})}),play(e){var t,{timer:r,events:e,baselineTime:o,lastPlayedEvent:n}=e;r.clear();for(const s of e)Lr(s,o);e=function(t,r){for(let e=t.length-1;0<=e;e--){var o=t[e];if(o.type===K.Meta&&o.timestamp<=r)return t.slice(e)}return t}(e,o);let a=null==n?void 0:n.timestamp;o<((a=(null==n?void 0:n.type)===K.IncrementalSnapshot&&n.data.source===J.MouseMove?n.timestamp+(null==(t=n.data.positions[0])?void 0:t.timeOffset):a)||0)&&m.emit(p.PlayBack);var i=new Array;for(const l of e)if(!(a&&a{c()},delay:l.delay})}u(i),m.emit(p.Flush),r.start()},pause(e){e.timer.clear()},resetLastPlayedEvent:Wr(e=>ro(to({},e),{lastPlayedEvent:null})),startLive:Wr({baselineTime:(e,t)=>(e.timer.toggleLiveMode(!0),e.timer.start(),"TO_LIVE"===t.type&&t.payload.baselineTime?t.payload.baselineTime:Date.now())}),addEvent:Wr((e,t)=>{var{baselineTime:o,timer:n,events:a}=e;if("ADD_EVENT"===t.type){var i=t.payload["event"];Lr(i,o);let r=a.length-1;if(!a[r]||a[r].timestamp<=i.timestamp)a.push(i);else{let e=-1,t=0;for(;t<=r;){var s=Math.floor((t+r)/2);a[s].timestamp<=i.timestamp?t=s+1:r=s-1}-1===e&&(e=t),a.splice(e,0,i)}t=i.timestamp{l()},delay:i.delay})}return ro(to({},e),{events:a})})}}))}var no=(e,i,s)=>new Promise((t,r)=>{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});const ao=new Map;function io(e,t){let r=ao.get(e);return r||(r=new Map,ao.set(e,r)),r.has(t)||r.set(t,[]),r.get(t)}function m(o,n,a){return r=>no(this,null,function*(){if(r&&"object"==typeof r&&"rr_type"in r){var e,t;if(a&&(a.isUnchanged=!1),"ImageBitmap"===r.rr_type&&"args"in r)return e=yield m(o,n,a)(r.args),yield createImageBitmap.apply(null,e);if("index"in r)return a||null===n?r:({rr_type:e,index:t}=r,io(n,e)[t]);if("args"in r)return{rr_type:e,args:t}=r,new window[e](...yield Promise.all(t.map(m(o,n,a))));if("base64"in r)return Et(r.base64);if("src"in r)return o.get(r.src)||((e=new Image).src=r.src,o.set(r.src,e),e);if("data"in r&&"Blob"===r.rr_type)return t=yield Promise.all(r.data.map(m(o,n,a))),new Blob(t,{type:r.type})}else if(Array.isArray(r))return yield Promise.all(r.map(m(o,n,a)));return r})}var so=(e,i,s)=>new Promise((t,r)=>{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});const lo=["WebGLActiveInfo","WebGLBuffer","WebGLFramebuffer","WebGLProgram","WebGLRenderbuffer","WebGLShader","WebGLShaderPrecisionFormat","WebGLTexture","WebGLUniformLocation","WebGLVertexArrayObject"];function co(){return so(this,arguments,function*({mutation:t,target:e,type:r,imageMap:o,errorHandler:n}){try{var a,i,s,l=function(e,t){try{return t===h.WebGL?e.getContext("webgl")||e.getContext("experimental-webgl"):e.getContext("webgl2")}catch(e){return null}}(e,r);l&&(t.setter?l[t.property]=t.args[0]:(a=l[t.property],i=yield Promise.all(t.args.map(m(o,l))),s=a.apply(l,i),c=l,null!=(d=s)&&d.constructor&&(u=d.constructor.name,lo.includes(u))&&!(c=io(c,u)).includes(d)&&c.push(d),0))}catch(e){n(t,e)}var c,d,u})}var uo=(e,i,s)=>new Promise((t,r)=>{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});function mo(){return e=this,i=arguments,s=function*({event:t,mutation:r,target:o,imageMap:n,canvasEventMap:e,errorHandler:a}){try{var i=e.get(t)||r,s="commands"in i?i.commands:[i];if([h.WebGL,h.WebGL2].includes(r.type))for(let e=0;e{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});var e,i,s}var ho=Object.defineProperty,po=Object.defineProperties,fo=Object.getOwnPropertyDescriptors,go=Object.getOwnPropertySymbols,yo=Object.prototype.hasOwnProperty,vo=Object.prototype.propertyIsEnumerable,bo=(e,t,r)=>t in e?ho(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Io=(e,t)=>{for(var r in t=t||{})yo.call(t,r)&&bo(e,r,t[r]);if(go)for(var r of go(t))vo.call(t,r)&&bo(e,r,t[r]);return e},So=(e,t)=>po(e,fo(t)),Co=(e,i,s)=>new Promise((t,r)=>{var o=e=>{try{a(s.next(e))}catch(e){r(e)}},n=e=>{try{a(s.throw(e))}catch(e){r(e)}},a=e=>e.done?t(e.value):Promise.resolve(e.value).then(o,n);a((s=s.apply(e,i)).next())});const wo=_r,To="[replayer]",Eo={duration:500,lineCap:"round",lineWidth:3,strokeStyle:"red"};function No(e){return e.type==K.IncrementalSnapshot&&(e.data.source==J.TouchMove||e.data.source==J.MouseInteraction&&e.data.type==c.TouchStart)}var l=n["addCustomEvent"],ko=n["freezePage"];return e.EventType=K,e.IncrementalSource=J,e.MouseInteractions=c,e.Replayer=class{constructor(e,t){if(this.usingVirtualDom=!1,this.virtualDom=new yr,this.mouseTail=null,this.tailPositions=[],this.emitter=wo(),this.legacy_missingNodeRetryMap={},this.cache=pe(),this.imageMap=new Map,this.canvasEventMap=new Map,this.mirror=f(),this.styleMirror=new Oe,this.firstFullSnapshot=null,this.newDocumentQueue=[],this.mousePos=null,this.touchActive=null,this.lastSelectionData=null,this.constructedStyleMutations=[],this.adoptedStyleSheets=[],this.handleResize=e=>{this.iframe.style.display="inherit";for(const t of[this.mouseTail,this.iframe])t&&(t.setAttribute("width",String(e.width)),t.setAttribute("height",String(e.height)))},this.applyEventsSynchronously=e=>{for(const t of e){switch(t.type){case K.DomContentLoaded:case K.Load:case K.Custom:continue;case K.FullSnapshot:case K.Meta:case K.Plugin:case K.IncrementalSnapshot:}this.getCastFn(t,!0)()}!0===this.touchActive?this.mouse.classList.add("touch-active"):!1===this.touchActive&&this.mouse.classList.remove("touch-active"),this.touchActive=null},this.getCastFn=(o,n=!1)=>{let a;switch(o.type){case K.DomContentLoaded:case K.Load:break;case K.Custom:a=()=>{this.emitter.emit(p.CustomEvent,o)};break;case K.Meta:a=()=>this.emitter.emit(p.Resize,{width:o.data.width,height:o.data.height});break;case K.FullSnapshot:a=()=>{var e;if(this.firstFullSnapshot){if(this.firstFullSnapshot===o)return void(this.firstFullSnapshot=!0)}else this.firstFullSnapshot=!0;this.rebuildFullSnapshot(o,n),null!=(e=this.iframe.contentWindow)&&e.scrollTo(o.data.initialOffset),this.styleMirror.reset()};break;case K.IncrementalSnapshot:a=()=>{if(this.applyIncremental(o,n),!n&&(o===this.nextUserInteractionEvent&&(this.nextUserInteractionEvent=null,this.backToNormal()),this.config.skipInactive)&&!this.nextUserInteractionEvent){for(const t of this.service.state.context.events)if(!(t.timestamp<=o.timestamp)&&this.isUserInteraction(t)){t.delay-o.delay>1e4*this.speedService.state.context.timer.speed&&(this.nextUserInteractionEvent=t);break}var e;this.nextUserInteractionEvent&&(e=this.nextUserInteractionEvent.delay-o.delay,e={speed:Math.min(Math.round(e/5e3),this.config.maxSpeed)},this.speedService.send({type:"FAST_FORWARD",payload:e}),this.emitter.emit(p.SkipStart,e))}}}return()=>{a&&a();for(const t of this.config.plugins||[])t.handler&&t.handler(o,n,{replayer:this});this.service.send({type:"CAST_EVENT",payload:{event:o}});const e=this.service.state.context.events.length-1;if(o===this.service.state.context.events[e]){const r=()=>{e{r()},Math.max(0,50-o.data.positions[0].timeOffset)):r()}this.emitter.emit(p.EventCast,o)}},(null==t||!t.liveMode)&&e.length<2)throw new Error("Replayer need at least 2 events.");var r={speed:1,maxSpeed:360,root:document.body,loadTimeout:0,skipInactive:!1,showWarning:!0,showDebug:!1,blockClass:"rr-block",liveMode:!1,insertStyleRules:[],triggerFocus:!0,UNSAFE_replayCanvas:!1,pauseAnimation:!0,mouseTail:Eo,useVirtualDom:!0};this.config=Object.assign({},r,t),this.handleResize=this.handleResize.bind(this),this.getCastFn=this.getCastFn.bind(this),this.applyEventsSynchronously=this.applyEventsSynchronously.bind(this),this.emitter.on(p.Resize,this.handleResize),this.setupDom();for(const n of this.config.plugins||[])n.getMirror&&n.getMirror({nodeMirror:this.mirror});this.emitter.on(p.Flush,()=>{if(this.usingVirtualDom){var e={mirror:this.mirror,applyCanvas:(e,t,r)=>{mo({event:e,mutation:t,target:r,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})},applyInput:this.applyInput.bind(this),applyScroll:this.applyScroll.bind(this),applyStyleSheetMutation:(e,t)=>{e.source===J.StyleSheetRule?this.applyStyleSheetRule(e,t):e.source===J.StyleDeclaration&&this.applyStyleDeclaration(e,t)}};if(this.iframe.contentDocument&&k(this.iframe.contentDocument,this.virtualDom,e,this.virtualDom.mirror),this.virtualDom.destroyTree(),this.usingVirtualDom=!1,Object.keys(this.legacy_missingNodeRetryMap).length)for(const o in this.legacy_missingNodeRetryMap)try{var t=this.legacy_missingNodeRetryMap[o],r=gr(t.node,this.mirror,this.virtualDom.mirror);k(r,t.node,e,this.virtualDom.mirror),t.node=r}catch(e){this.config.showWarning&&console.warn(e)}this.constructedStyleMutations.forEach(e=>{this.applyStyleSheetMutation(e)}),this.constructedStyleMutations=[],this.adoptedStyleSheets.forEach(e=>{this.applyAdoptedStyleSheet(e)}),this.adoptedStyleSheets=[]}this.mousePos&&(this.moveAndHover(this.mousePos.x,this.mousePos.y,this.mousePos.id,!0,this.mousePos.debugData),this.mousePos=null),this.lastSelectionData&&(this.applySelection(this.lastSelectionData),this.lastSelectionData=null)}),this.emitter.on(p.PlayBack,()=>{this.firstFullSnapshot=null,this.mirror.reset(),this.styleMirror.reset()});r=new xr([],{speed:this.config.speed,liveMode:this.config.liveMode}),this.service=oo({events:e.map(e=>t&&t.unpackFn?t.unpackFn(e):e).sort((e,t)=>e.timestamp-t.timestamp),timer:r,timeOffset:0,baselineTime:0,lastPlayedEvent:null},{getCastFn:this.getCastFn,applyEventsSynchronously:this.applyEventsSynchronously,emitter:this.emitter}),this.service.start(),this.service.subscribe(e=>{this.emitter.emit(p.StateChange,{player:e})}),this.speedService=zr(Hr({id:"speed",context:{normalSpeed:-1,timer:r},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:(e,t)=>{"payload"in t&&e.timer.setSpeed(t.payload.speed)},recordSpeed:Wr({normalSpeed:e=>e.timer.speed}),restoreSpeed:e=>{e.timer.setSpeed(e.normalSpeed)}}})),this.speedService.start(),this.speedService.subscribe(e=>{this.emitter.emit(p.StateChange,{speed:e})}),e=this.service.state.context.events.find(e=>e.type===K.Meta);const o=this.service.state.context.events.find(e=>e.type===K.FullSnapshot);if(e){const{width:a,height:i}=e.data;setTimeout(()=>{this.emitter.emit(p.Resize,{width:a,height:i})},0)}o&&setTimeout(()=>{var e;this.firstFullSnapshot||(this.firstFullSnapshot=o,this.rebuildFullSnapshot(o),null!=(e=this.iframe.contentWindow)&&e.scrollTo(o.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(e,t){return this.emitter.on(e,t),this}off(e,t){return this.emitter.off(e,t),this}setConfig(t){Object.keys(t).forEach(e=>{t[e],this.config[e]=t[e]}),this.config.skipInactive||this.backToNormal(),void 0!==t.speed&&this.speedService.send({type:"SET_SPEED",payload:{speed:t.speed}}),void 0!==t.mouseTail&&(!1===t.mouseTail?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(){var e=this.service.state.context.events[0],t=this.service.state.context.events[this.service.state.context.events.length-1];return{startTime:e.timestamp,endTime:t.timestamp,totalTime:t.timestamp-e.timestamp}}getCurrentTime(){return this.timer.timeOffset+this.getTimeOffset()}getTimeOffset(){var{baselineTime:e,events:t}=this.service.state.context;return e-t[0].timestamp}getMirror(){return this.mirror}play(e=0){this.service.state.matches("paused")||this.service.send({type:"PAUSE"}),this.service.send({type:"PLAY",payload:{timeOffset:e}}),null!=(e=null==(e=this.iframe.contentDocument)?void 0:e.getElementsByTagName("html")[0])&&e.classList.remove("rrweb-paused"),this.emitter.emit(p.Start)}pause(e){void 0===e&&this.service.state.matches("playing")&&this.service.send({type:"PAUSE"}),"number"==typeof e&&(this.play(e),this.service.send({type:"PAUSE"})),null!=(e=null==(e=this.iframe.contentDocument)?void 0:e.getElementsByTagName("html")[0])&&e.classList.add("rrweb-paused"),this.emitter.emit(p.Pause)}resume(e=0){console.warn("The 'resume' was deprecated in 1.0. Please use 'play' method which has the same interface."),this.play(e),this.emitter.emit(p.Resume)}destroy(){this.pause(),this.config.root.removeChild(this.wrapper),this.emitter.emit(p.Destroy)}startLive(e){this.service.send({type:"TO_LIVE",payload:{baselineTime:e}})}addEvent(e){const t=this.config.unpackFn?this.config.unpackFn(e):e;No(t)&&this.mouse.classList.add("touch-device"),Promise.resolve().then(()=>this.service.send({type:"ADD_EVENT",payload:{event:t}}))}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=pe()}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),!1!==this.config.mouseTail&&(this.mouseTail=document.createElement("canvas"),this.mouseTail.classList.add("replayer-mouse-tail"),this.mouseTail.style.display="inherit",this.wrapper.appendChild(this.mouseTail)),this.iframe=document.createElement("iframe");var e=["allow-same-origin"];this.config.UNSAFE_replayCanvas&&e.push("allow-scripts"),this.iframe.style.display="none",this.iframe.setAttribute("sandbox",e.join(" ")),this.disableInteract(),this.wrapper.appendChild(this.iframe),this.iframe.contentWindow&&this.iframe.contentDocument&&(Or(this.iframe.contentWindow,this.iframe.contentDocument),Ne(this.iframe.contentWindow))}rebuildFullSnapshot(e,t=!1){if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");Object.keys(this.legacy_missingNodeRetryMap).length&&console.warn("Found unresolved missing node map",this.legacy_missingNodeRetryMap),this.legacy_missingNodeRetryMap={};const o=[];var r=(e,t)=>{this.collectIframeAndAttachDocument(o,e);for(const r of this.config.plugins||[])r.onBuild&&r.onBuild(e,{id:t,replayer:this})};ve(e.data.node,{doc:this.iframe.contentDocument,afterAppend:r,cache:this.cache,mirror:this.mirror}),r(this.iframe.contentDocument,e.data.node.id);for(const{mutationInQueue:a,builtNode:i}of o)this.attachDocumentToIframe(a,i),this.newDocumentQueue=this.newDocumentQueue.filter(e=>e!==a);var{documentElement:r,head:n}=this.iframe.contentDocument;this.insertStyleRules(r,n),this.service.state.matches("playing")||this.iframe.contentDocument.getElementsByTagName("html")[0].classList.add("rrweb-paused"),this.emitter.emit(p.FullsnapshotRebuilded,e),t||this.waitForStylesheetLoad(),this.config.UNSAFE_replayCanvas&&this.preloadAllImages()}insertStyleRules(e,t){var r,o=[`.${this.config.blockClass} { background: currentColor }`,"noscript { display: none !important; }"].concat(this.config.insertStyleRules);if(this.config.pauseAnimation&&o.push("html.rrweb-paused *, html.rrweb-paused *:before, html.rrweb-paused *:after { animation-play-state: paused !important; }"),this.usingVirtualDom){var n=this.virtualDom.createElement("style");this.virtualDom.mirror.add(n,Rr(n,this.virtualDom.unserializedId)),e.insertBefore(n,t),n.rules.push({source:J.StyleSheetRule,adds:o.map((e,t)=>({rule:e,index:t}))})}else{var a=document.createElement("style");e.insertBefore(a,t);for(let e=0;e{this.collectIframeAndAttachDocument(s,e);var r,o=i.getMeta(e);(null==o?void 0:o.type)===G.Element&&"HTML"===(null==o?void 0:o.tagName.toUpperCase())&&({documentElement:o,head:r}=a.contentDocument,this.insertStyleRules(o,r));for(const n of this.config.plugins||[])n.onBuild&&n.onBuild(e,{id:t,replayer:this})};ge(e.node,{doc:a.contentDocument,mirror:i,hackCss:!0,skipChild:!1,afterAppend:t,cache:this.cache}),t(a.contentDocument,e.node.id);for(const{mutationInQueue:r,builtNode:o}of s)this.attachDocumentToIframe(r,o),this.newDocumentQueue=this.newDocumentQueue.filter(e=>e!==r)}collectIframeAndAttachDocument(e,t){var r;z(t,this.mirror)&&(r=this.newDocumentQueue.find(e=>e.parentId===this.mirror.getId(t)))&&e.push({mutationInQueue:r,builtNode:t})}waitForStylesheetLoad(){var e=null==(e=this.iframe.contentDocument)?void 0:e.head;if(e){const o=new Set;let t,r=this.service.state;const n=()=>{r=this.service.state},a=(this.emitter.on(p.Start,n),this.emitter.on(p.Pause,n),()=>{this.emitter.off(p.Start,n),this.emitter.off(p.Pause,n)});e.querySelectorAll('link[rel="stylesheet"]').forEach(e=>{e.sheet||(o.add(e),e.addEventListener("load",()=>{o.delete(e),0===o.size&&-1!==t&&(r.matches("playing")&&this.play(this.getCurrentTime()),this.emitter.emit(p.LoadStylesheetEnd),t&&clearTimeout(t),a())}))}),0{r.matches("playing")&&this.play(this.getCurrentTime()),t=-1,a()},this.config.loadTimeout))}}preloadAllImages(){return Co(this,null,function*(){this.service.state;var e=()=>{this.service.state},t=(this.emitter.on(p.Start,e),this.emitter.on(p.Pause,e),[]);for(const r of this.service.state.context.events)r.type===K.IncrementalSnapshot&&r.data.source===J.CanvasMutation&&(t.push(this.deserializeAndPreloadCanvasEvents(r.data,r)),("commands"in r.data?r.data.commands:[r.data]).forEach(e=>{this.preloadImages(e,r)}));return Promise.all(t)})}preloadImages(e,t){var r;"drawImage"!==e.property||"string"!=typeof e.args[0]||this.imageMap.has(t)||(null!=(t=null==(r=(t=document.createElement("canvas")).getContext("2d"))?void 0:r.createImageData(t.width,t.height))&&t.data,JSON.parse(e.args[0]),null!=r&&r.putImageData(t,0,0))}deserializeAndPreloadCanvasEvents(t,o){return Co(this,null,function*(){if(!this.canvasEventMap.has(o)){const r={isUnchanged:!0};var e;"commands"in t?(e=yield Promise.all(t.commands.map(t=>Co(this,null,function*(){var e=yield Promise.all(t.args.map(m(this.imageMap,null,r)));return So(Io({},t),{args:e})}))),!1===r.isUnchanged&&this.canvasEventMap.set(o,So(Io({},t),{commands:e}))):(e=yield Promise.all(t.args.map(m(this.imageMap,null,r))),!1===r.isUnchanged&&this.canvasEventMap.set(o,So(Io({},t),{args:e})))}})}applyIncremental(r,o){var e;const n=r["data"];switch(n.source){case J.Mutation:try{this.applyMutation(n,o)}catch(e){this.warn("Exception in mutation "+(e.message||e),n)}break;case J.Drag:case J.TouchMove:case J.MouseMove:o?(s=n.positions[n.positions.length-1],this.mousePos={x:s.x,y:s.y,id:s.id,debugData:n}):(n.positions.forEach(e=>{var t={doAction:()=>{this.moveAndHover(e.x,e.y,e.id,o,n)},delay:e.timeOffset+r.timestamp-this.service.state.context.baselineTime};this.timer.addAction(t)}),this.timer.addAction({doAction(){},delay:r.delay-(null==(s=n.positions[0])?void 0:s.timeOffset)}));break;case J.MouseInteraction:if(-1!==n.id&&!o){var t=new Event(c[n.type].toLowerCase()),a=this.mirror.getNode(n.id);if(!a)return this.debugNodeNotFound(n,n.id);this.emitter.emit(p.MouseInteraction,{type:n.type,target:a});var i=this.config["triggerFocus"];switch(n.type){case c.Blur:"blur"in a&&a.blur();break;case c.Focus:i&&a.focus&&a.focus({preventScroll:!0});break;case c.Click:case c.TouchStart:case c.TouchEnd:o?(n.type===c.TouchStart?this.touchActive=!0:n.type===c.TouchEnd&&(this.touchActive=!1),this.mousePos={x:n.x,y:n.y,id:n.id,debugData:n}):(n.type===c.TouchStart&&(this.tailPositions.length=0),this.moveAndHover(n.x,n.y,n.id,o,n),n.type===c.Click?(this.mouse.classList.remove("active"),this.mouse.offsetWidth,this.mouse.classList.add("active")):n.type===c.TouchStart?(this.mouse.offsetWidth,this.mouse.classList.add("touch-active")):n.type===c.TouchEnd&&this.mouse.classList.remove("touch-active"));break;case c.TouchCancel:o?this.touchActive=!1:this.mouse.classList.remove("touch-active");break;default:a.dispatchEvent(t)}}break;case J.Scroll:if(-1!==n.id)if(this.usingVirtualDom){var s=this.virtualDom.mirror.getNode(n.id);if(!s)return this.debugNodeNotFound(n,n.id);s.scrollData=n}else this.applyScroll(n,o);break;case J.ViewportResize:this.emitter.emit(p.Resize,{width:n.width,height:n.height});break;case J.Input:if(-1!==n.id)if(this.usingVirtualDom){var s=this.virtualDom.mirror.getNode(n.id);if(!s)return this.debugNodeNotFound(n,n.id);s.inputData=n}else this.applyInput(n);break;case J.MediaInteraction:s=(this.usingVirtualDom?this.virtualDom:this).mirror.getNode(n.id);if(!s)return this.debugNodeNotFound(n,n.id);try{n.currentTime&&(s.currentTime=n.currentTime),n.volume&&(s.volume=n.volume),n.muted&&(s.muted=n.muted),n.type===L.Pause&&s.pause(),n.type===L.Play&&s.play(),n.type===L.RateChange&&(s.playbackRate=n.playbackRate)}catch(e){this.config.showWarning&&console.warn("Failed to replay media interactions: "+(e.message||e))}break;case J.StyleSheetRule:case J.StyleDeclaration:this.usingVirtualDom?n.styleId?this.constructedStyleMutations.push(n):n.id&&null!=(s=this.virtualDom.mirror.getNode(n.id))&&s.rules.push(n):this.applyStyleSheetMutation(n);break;case J.CanvasMutation:if(!this.config.UNSAFE_replayCanvas)return;if(this.usingVirtualDom){s=this.virtualDom.mirror.getNode(n.id);if(!s)return this.debugNodeNotFound(n,n.id);s.canvasMutations.push({event:r,mutation:n})}else{s=this.mirror.getNode(n.id);if(!s)return this.debugNodeNotFound(n,n.id);mo({event:r,mutation:n,target:s,imageMap:this.imageMap,canvasEventMap:this.canvasEventMap,errorHandler:this.warnCanvasMutationFailed.bind(this)})}break;case J.Font:try{var l=new FontFace(n.family,n.buffer?new Uint8Array(JSON.parse(n.fontSource)):n.fontSource,n.descriptors);null!=(e=this.iframe.contentDocument)&&e.fonts.add(l)}catch(e){this.config.showWarning&&console.warn(e)}break;case J.Selection:o?this.lastSelectionData=n:this.applySelection(n);break;case J.AdoptedStyleSheet:this.usingVirtualDom?this.adoptedStyleSheets.push(n):this.applyAdoptedStyleSheet(n)}}applyMutation(m,e){if(this.config.useVirtualDom&&!this.usingVirtualDom&&e&&(this.usingVirtualDom=!0,Mr(this.iframe.contentDocument,this.mirror,this.virtualDom),Object.keys(this.legacy_missingNodeRetryMap).length))for(const i in this.legacy_missingNodeRetryMap)try{var t=this.legacy_missingNodeRetryMap[i],r=kr(t.node,this.virtualDom,this.mirror);r&&(t.node=r)}catch(e){this.config.showWarning&&console.warn(e)}const h=(this.usingVirtualDom?this.virtualDom:this).mirror,u=(m.removes.forEach(t=>{var e,r=h.getNode(t.id);if(!r)return m.removes.find(e=>e.id===t.parentId)?void 0:this.warnNodeNotFound(m,t.id);let o=h.getNode(t.parentId);if(!o)return this.warnNodeNotFound(m,t.parentId);if(t.isShadow&&X(o)&&(o=o.shadowRoot),h.removeNodeFromMap(r),o)try{o.removeChild(r),this.usingVirtualDom&&"#text"===r.nodeName&&"STYLE"===o.nodeName&&0<(null==(e=o.rules)?void 0:e.length)&&(o.rules=[])}catch(e){if(!(e instanceof DOMException))throw e;this.warn("parent could not remove child in mutation",o,r,m)}}),Io({},this.legacy_missingNodeRetryMap)),p=[],f=e=>{let t=null;return e.nextId&&(t=h.getNode(e.nextId)),null!==e.nextId&&void 0!==e.nextId&&-1!==e.nextId&&!t},o=e=>{if(!this.iframe.contentDocument)return console.warn("Looks like your replayer has been destroyed.");let t=h.getNode(e.parentId);if(!t)return(e.node.type===G.Document?this.newDocumentQueue:p).push(e);e.node.isShadow&&(t=(X(t)||t.attachShadow({mode:"open"}),t.shadowRoot));let r=null,o=null;if(e.previousId&&(r=h.getNode(e.previousId)),e.nextId&&(o=h.getNode(e.nextId)),f(e))return p.push(e);if(!e.node.rootId||h.getNode(e.node.rootId)){var n=e.node.rootId?h.getNode(e.node.rootId):this.usingVirtualDom?this.virtualDom:this.iframe.contentDocument;if(z(t,h))this.attachDocumentToIframe(e,t);else{var a=(e,t)=>{for(const r of this.config.plugins||[])r.onBuild&&r.onBuild(e,{id:t,replayer:this})},i=ge(e.node,{doc:n,mirror:h,skipChild:!0,hackCss:!0,cache:this.cache,afterAppend:a});if(-1===e.previousId||-1===e.nextId)u[e.node.id]={node:i,mutation:e};else{var s=h.getMeta(t);if(s&&s.type===G.Element&&"textarea"===s.tagName&&e.node.type===G.Text)for(const l of Array.isArray(t.childNodes)?t.childNodes:Array.from(t.childNodes))l.nodeType===t.TEXT_NODE&&t.removeChild(l);if(r&&r.nextSibling&&r.nextSibling.parentNode)t.insertBefore(i,r.nextSibling);else if(o&&o.parentNode)t.contains(o)?t.insertBefore(i,o):t.insertBefore(i,null);else{if(t===n)for(;n.firstChild;)n.removeChild(n.firstChild);t.appendChild(i)}if(a(i,e.node.id),this.usingVirtualDom&&"#text"===i.nodeName&&"STYLE"===t.nodeName&&0<(null==(s=t.rules)?void 0:s.length)&&(t.rules=[]),z(i,this.mirror)){const c=this.mirror.getId(i),d=this.newDocumentQueue.find(e=>e.parentId===c);d&&(this.attachDocumentToIframe(d,i),this.newDocumentQueue=this.newDocumentQueue.filter(e=>e!==d))}(e.previousId||e.nextId)&&this.legacy_resolveMissingNode(u,t,i,e)}}}};m.adds.forEach(e=>{o(e)});for(var n=Date.now();p.length;){var a=ke(p);if(p.length=0,500{o(e)}):this.debug("Drop resolve tree since there is no parent for the root node.",s)}Object.keys(u).length&&Object.assign(this.legacy_missingNodeRetryMap,u),De(m.texts).forEach(t=>{var e,r=h.getNode(t.id);if(!r)return m.removes.find(e=>e.id===t.id)?void 0:this.warnNodeNotFound(m,t.id);r.textContent=t.value,this.usingVirtualDom&&0<(null==(e=null==(r=r.parentNode)?void 0:r.rules)?void 0:e.length)&&(r.rules=[])}),m.attributes.forEach(t=>{var e=h.getNode(t.id);if(!e)return m.removes.find(e=>e.id===t.id)?void 0:this.warnNodeNotFound(m,t.id);for(const d in t.attributes)if("string"==typeof d){var r=t.attributes[d];if(null===r)e.removeAttribute(d);else if("string"==typeof r)try{if("_cssText"===d&&("LINK"===e.nodeName||"STYLE"===e.nodeName))try{var o=h.getMeta(e),n=(Object.assign(o.attributes,t.attributes),ge(o,{doc:e.ownerDocument,mirror:h,skipChild:!0,hackCss:!0,cache:this.cache})),a=e.nextSibling,i=e.parentNode;if(n&&i){i.removeChild(e),i.insertBefore(n,a),h.replace(t.id,n);break}}catch(e){}e.setAttribute(d,r)}catch(e){this.config.showWarning&&console.warn("An error occurred may due to the checkout feature.",e)}else if("style"===d){var s,l=r,c=e;for(const u in l)!1===l[u]?c.style.removeProperty(u):l[u]instanceof Array?(s=l[u],c.style.setProperty(u,s[0],s[1])):(s=l[u],c.style.setProperty(u,s))}}})}applyScroll(e,t){var r,o=this.mirror.getNode(e.id);if(!o)return this.debugNodeNotFound(e,e.id);var n=this.mirror.getMeta(o);if(o===this.iframe.contentDocument)null!=(r=this.iframe.contentWindow)&&r.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"});else if((null==n?void 0:n.type)===G.Document)null!=(r=o.defaultView)&&r.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"});else try{o.scrollTo({top:e.y,left:e.x,behavior:t?"auto":"smooth"})}catch(e){}}applyInput(e){var t=this.mirror.getNode(e.id);if(!t)return this.debugNodeNotFound(e,e.id);try{t.checked=e.isChecked,t.value=e.text}catch(e){}}applySelection(e){try{const a=new Set;var t=e.ranges.map(({start:e,startOffset:t,end:r,endOffset:o})=>{var n,e=this.mirror.getNode(e),r=this.mirror.getNode(r);if(e&&r)return(n=new Range).setStart(e,t),n.setEnd(r,o),(r=null==(t=e.ownerDocument)?void 0:t.getSelection())&&a.add(r),{range:n,selection:r}});a.forEach(e=>e.removeAllRanges()),t.forEach(e=>{var t;return e&&(null==(t=e.selection)?void 0:t.addRange(e.range))})}catch(e){}}applyStyleSheetMutation(e){var t;let r=null;e.styleId?r=this.styleMirror.getStyle(e.styleId):e.id&&(r=(null==(t=this.mirror.getNode(e.id))?void 0:t.sheet)||null),r&&(e.source===J.StyleSheetRule?this.applyStyleSheetRule(e,r):e.source===J.StyleDeclaration&&this.applyStyleDeclaration(e,r))}applyStyleSheetRule(e,a){var t,r,o;if(null!=(t=e.adds)&&t.forEach(({rule:e,index:t})=>{try{var r,o,n;Array.isArray(t)?({positions:r,index:o}=_e(t),i(a.cssRules,r).insertRule(e,o)):(n=void 0===t?void 0:Math.min(t,a.cssRules.length),null!=a&&a.insertRule(e,n))}catch(e){}}),null!=(t=e.removes)&&t.forEach(({index:e})=>{try{var t,r;Array.isArray(e)?({positions:t,index:r}=_e(e),i(a.cssRules,t).deleteRule(r||0)):null!=a&&a.deleteRule(e)}catch(e){}}),e.replace)try{null!=(r=a.replace)&&r.call(a,e.replace)}catch(e){}if(e.replaceSync)try{null!=(o=a.replaceSync)&&o.call(a,e.replaceSync)}catch(e){}}applyStyleDeclaration(e,t){e.set&&i(t.rules,e.index).style.setProperty(e.set.property,e.set.value,e.set.priority),e.remove&&i(t.rules,e.index).style.removeProperty(e.remove.property)}applyAdoptedStyleSheet(e){var t;const n=this.mirror.getNode(e.id);if(n){null!=(t=e.styles)&&t.forEach(e=>{var t,r;let o=null;if(X(n)?o=(null==(t=n.ownerDocument)?void 0:t.defaultView)||null:"#document"===n.nodeName&&(o=n.defaultView),o)try{r=new o.CSSStyleSheet,this.styleMirror.add(r,e.styleId),this.applyStyleSheetRule({source:J.StyleSheetRule,adds:e.rules},r)}catch(e){}});const a=10;let o=0;const i=(e,t)=>{var r=t.map(e=>this.styleMirror.getStyle(e)).filter(e=>null!==e);X(e)?e.shadowRoot.adoptedStyleSheets=r:"#document"===e.nodeName&&(e.adoptedStyleSheets=r),r.length!==t.length&&oi(e,t),0+100*o),o++)};i(n,e.styleIds)}}legacy_resolveMissingNode(e,t,r,o){var n,{previousId:o,nextId:a}=o,o=o&&e[o],a=a&&e[a];o&&({node:o,mutation:n}=o,t.insertBefore(o,r),delete e[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],n.previousId||n.nextId)&&this.legacy_resolveMissingNode(e,t,o,n),a&&({node:o,mutation:n}=a,t.insertBefore(o,r.nextSibling),delete e[n.node.id],delete this.legacy_missingNodeRetryMap[n.node.id],n.previousId||n.nextId)&&this.legacy_resolveMissingNode(e,t,o,n)}moveAndHover(e,t,r,o,n){var a=this.mirror.getNode(r);if(!a)return this.debugNodeNotFound(n,r);n=Re(a,this.iframe),r=e*n.absoluteScale+n.x,e=t*n.absoluteScale+n.y;this.mouse.style.left=r+"px",this.mouse.style.top=e+"px",o||this.drawMouseTail({x:r,y:e}),this.hoverElements(a)}drawMouseTail(t){if(this.mouseTail){const{lineCap:e,lineWidth:r,strokeStyle:o,duration:n}=!0===this.config.mouseTail?Eo:Object.assign({},Eo,this.config.mouseTail),a=()=>{if(this.mouseTail){const t=this.mouseTail.getContext("2d");t&&this.tailPositions.length&&(t.clearRect(0,0,this.mouseTail.width,this.mouseTail.height),t.beginPath(),t.lineWidth=r,t.lineCap=e,t.strokeStyle=o,t.moveTo(this.tailPositions[0].x,this.tailPositions[0].y),this.tailPositions.forEach(e=>t.lineTo(e.x,e.y)),t.stroke())}};this.tailPositions.push(t),a(),setTimeout(()=>{this.tailPositions=this.tailPositions.filter(e=>e!==t),a()},n/this.speedService.state.context.timer.speed)}}hoverElements(e){var t;null!=(t=this.iframe.contentDocument)&&t.querySelectorAll(".\\:hover").forEach(e=>{e.classList.remove(":hover")});let r=e;for(;r;)r.classList&&r.classList.add(":hover"),r=r.parentElement}isUserInteraction(e){return e.type===K.IncrementalSnapshot&&e.data.source>J.Mutation&&e.data.source<=J.Input}backToNormal(){this.nextUserInteractionEvent=null,this.speedService.state.matches("normal")||(this.speedService.send({type:"BACK_TO_NORMAL"}),this.emitter.emit(p.SkipEnd,{speed:this.speedService.state.context.normalSpeed}))}warnNodeNotFound(e,t){this.warn(`Node with id '${t}' not found. `,e)}warnCanvasMutationFailed(e,t){this.warn("Has error on canvas update",t,"canvas mutation:",e)}debugNodeNotFound(e,t){this.debug(To,`Node with id '${t}' not found. `,e)}warn(...e){this.config.showWarning&&console.warn(To,...e)}debug(...e){this.config.showDebug&&console.log(To,...e)}},e.ReplayerEvents=p,e.addCustomEvent=l,e.freezePage=ko,e.record=n,e.utils=r,Object.defineProperty(e,"__esModule",{value:!0}),e}({});function parseBoolean(e){return"string"==typeof e?"true"===e.toLowerCase():Boolean(e)}const formtraceScriptElement=document.getElementById("formproofScript");let token_formtrace="",automaticRecord_formtrace=!0,saveOnSubmit_formtrace=!0,keepVideo_formtrace=!1,tfaTwilio_formtrace=!1,blackList_formtrace=!1,phoneInputId_formtrace="",privacityInputId_formtrace="",guide_formtrace="",callback_formtrace="",formTraceId="",debug_formtrace=!1,baseApi_formtrace="https://formtrace-api.aurionx.ai/api",regex=/^(\+1)?[ ()-]*((?!(\d)\3{9})\d{3}[ ()-]?\d{3}[ ()-]?\d{4})$/,epd_formtrace="",esp_formtrace="",redirectId_formtrace="";const urlParamsBrowser=new URLSearchParams(window.location.search),recordingIdFromBrowser=urlParamsBrowser.get("formTraceId");let redirectValue_formtrace="";const hiddenFormTraceInputId=document.getElementById("redirectId");if(hiddenFormTraceInputId&&(hiddenFormTraceInputId.value=recordingIdFromBrowser),formtraceScriptElement){const BL=formtraceScriptElement.getAttribute("src"),CL=new URLSearchParams(BL.split("?")[1]);token_formtrace=CL.get("token"),phoneInputId_formtrace=CL.get("phoneInputId"),callback_formtrace=CL.get("callback"),guide_formtrace=CL.get("guide"),formTraceId=recordingIdFromBrowser,debug_formtrace=parseBoolean(CL.get("debug")),epd_formtrace=parseBoolean(CL.get("epd")),esp_formtrace=parseBoolean(CL.get("esp")),tfaTwilio_formtrace=parseBoolean(CL.get("tfaTwilio")),keepVideo_formtrace=!!CL.get("keepVideo")&&CL.get("keepVideo"),blackList_formtrace=parseBoolean(CL.get("blackList")),privacityInputId_formtrace=CL.get("privacityId"),redirectId_formtrace=CL.get("redirectId"),saveOnSubmit_formtrace=!CL.get("saveOnSubmit")||CL.get("saveOnSubmit")}else console.error("You need add id='formproofScript' to script");const events_formtrace=[],formTraceApiSave=baseApi_formtrace+"/recordings";let savingLoading_formtrace=!1,record_formtrace=!0;const sendTfaCodeApi=baseApi_formtrace+"/tfa/sendCode",validateTfCodeApi=baseApi_formtrace+"/tfa/validate",validateBlackListApi=baseApi_formtrace+"/blacklist";if(automaticRecord_formtrace){console.log("formTrace v.1.3.0 initialized");const DL=document.getElementById(redirectId_formtrace);if(DL?.value&&(redirectValue_formtrace=DL.value||""),debug_formtrace&&guide_formtrace)alert("Formtrace loaded coreg");else if(debug_formtrace&&!0===debug_formtrace){let e="Formtrace loaded normal";e+=redirectValue_formtrace?" | redirect: "+redirectValue_formtrace:" | no redirect";const FL=document.getElementById(privacityInputId_formtrace);FL?e+=" | terms detected @ "+privacityInputId_formtrace:e+=" | no terms detected",alert(e)}formTraceStartRecord()}function formTraceStartRecord(){rrweb.record({emit(e){record_formtrace&&events_formtrace.push(e)},recordCanvas:!0,packFn:rrweb.packFn})}let _formtraceProcessing=!1,_pendingPostBack=null;async function handleFormTraceSubmit(t,r=!1){if(_formtraceProcessing)debug_formtrace&&console.log("formTrace#skipping duplicate processing");else{var o=document.getElementById(redirectId_formtrace),n=document.getElementById(privacityInputId_formtrace);if(debug_formtrace&&!0===debug_formtrace){let e="Formtrace Submit Intercepted";o?.value?e+=" | redirect: "+o.value:e+=" | no redirect",e+=n?" | terms detected @ "+privacityInputId_formtrace:" | no terms detected",!r&&t&&t.target instanceof HTMLFormElement||(e+=" | __doPostBack mode"),e+=` | edp=${epd_formtrace} esp=`+esp_formtrace,alert(e),console.log("Form submission handled:",t?.target||"via __doPostBack")}o=!0===tfaTwilio_formtrace&&!1===blackList_formtrace||!0===blackList_formtrace;if(debug_formtrace&&console.log("formTrace#handleFormTraceSubmit config:",{needsBlocking:o,tfaTwilio:tfaTwilio_formtrace,blackList:blackList_formtrace,epd:epd_formtrace,esp:esp_formtrace,fromDoPostBack:r,hasEvent:!!t}),o)debug_formtrace&&console.log("formTrace#entering BLOCKING mode (TFA or BlackList active)"),t&&(t.preventDefault(),debug_formtrace&&console.log("formTrace#preventDefault() called"),esp_formtrace)&&(t.stopPropagation(),debug_formtrace)&&console.log("formTrace#stopPropagation() called"),(_formtraceProcessing=!0)===tfaTwilio_formtrace&&!1===blackList_formtrace?(debug_formtrace&&console.log("formTrace#starting TFA validation"),await tfaValidation(tfaTwilio_formtrace,phoneInputId_formtrace,sendTfaCodeApi,validateTfCodeApi,saveOnSubmit_formtrace,t)):!0===blackList_formtrace&&(debug_formtrace&&console.log("formTrace#starting BlackList validation"),await blackListPhone(tfaTwilio_formtrace,blackList_formtrace,phoneInputId_formtrace,validateBlackListApi,saveOnSubmit_formtrace,t)),_formtraceProcessing=!1,debug_formtrace&&console.log("formTrace#BLOCKING mode completed");else if(!0===epd_formtrace&&t)if(debug_formtrace&&console.log("formTrace#entering EPD mode (block, save, resume)"),validateAspNetForm()){t.preventDefault();n=t.submitter;debug_formtrace&&console.log("formTrace#submitter button:",n?.name||n?.id||"none"),_formtraceProcessing=!0,debug_formtrace&&console.log("formTrace#saving recording with keepalive...");try{await saveRecording(saveOnSubmit_formtrace,t,!0)}catch(e){debug_formtrace&&console.log("formTrace#save failed but continuing with submit:",e.message)}redirectValue_formtrace?(debug_formtrace&&console.log("formTrace#skipping resumeFormSubmit (redirect configured)"),_formtraceProcessing=!1):t&&t.target instanceof HTMLFormElement?(debug_formtrace&&console.log("formTrace#about to resume form submit"),resumeFormSubmit(t.target,r,n)):_formtraceProcessing=!1}else debug_formtrace&&console.log("formTrace#ASP.NET validation failed, not saving");else debug_formtrace&&console.log("formTrace#entering ORGANIC mode (fire-and-forget)"),validateAspNetForm()?saveRecordingFireAndForget(t):debug_formtrace&&console.log("formTrace#ASP.NET validation failed, not saving (organic mode)")}}function validateAspNetForm(){if("function"==typeof window.WebForm_OnSubmit)try{var e=window.WebForm_OnSubmit();return debug_formtrace&&console.log("formTrace#WebForm_OnSubmit result:",e),e}catch(e){return debug_formtrace&&console.log("formTrace#WebForm_OnSubmit error:",e.message),!0}if("function"==typeof window.Page_ClientValidate)try{var t=window.Page_ClientValidate();return debug_formtrace&&console.log("formTrace#Page_ClientValidate result:",t),t}catch(e){return debug_formtrace&&console.log("formTrace#Page_ClientValidate error:",e.message),!0}return debug_formtrace&&console.log("formTrace#no ASP.NET validation found, assuming valid"),!0}function saveRecordingFireAndForget(t){if(saveOnSubmit_formtrace){debug_formtrace&&console.log("formTrace#fire-and-forget starting...");let e;if(t&&t.target instanceof HTMLFormElement?(e=t.target,debug_formtrace&&console.log("formTrace#form obtained from event.target")):(e=document.getElementById("formproofScript")?.closest("form")||document.querySelector("form"),debug_formtrace&&console.log("formTrace#form obtained from DOM search")),e&&e instanceof HTMLFormElement){debug_formtrace&&console.log("formTrace#form found:",e.id||e.name||"unnamed form");var r,o,n={};for([r,o]of new FormData(e).entries())n[r]=o;debug_formtrace&&console.log("formTrace#form data collected, fields:",Object.keys(n).length),formTraceSaveRecordFireAndForget(n)}else debug_formtrace&&console.error("formTrace#no form found - cannot save")}else debug_formtrace&&console.log("formTrace#fire-and-forget skipped (saveOnSubmit=false)")}function resumeFormSubmit(t,e,r=null){if(debug_formtrace&&console.log("formTrace#resumeFormSubmit called",{formId:t?.id||t?.name||"unnamed",wasFromDoPostBack:e,hasPendingPostBack:!!_pendingPostBack,hasSubmitterButton:!!r,submitterName:r?.name||r?.id||"none"}),_formtraceProcessing=!0,e&&_pendingPostBack){var{eventTarget:e,eventArgument:o,originalFunc:n}=_pendingPostBack;debug_formtrace&&console.log("formTrace#resuming via __doPostBack",{eventTarget:e,eventArgument:o}),_pendingPostBack=null,n&&(n.call(window,e,o),debug_formtrace)&&console.log("formTrace#__doPostBack executed successfully")}else if(r)debug_formtrace&&console.log("formTrace#resuming via submitter button click"),r.click(),debug_formtrace&&console.log("formTrace#submitter button clicked");else{debug_formtrace&&console.log("formTrace#resuming via form.submit() (no submitter button)");try{HTMLFormElement.prototype.submit.call(t),debug_formtrace&&console.log("formTrace#form.submit() executed via prototype")}catch(e){debug_formtrace&&console.log("formTrace#prototype.submit failed, error:",e.message);n=t.querySelector('input[type="submit"], button[type="submit"]');n?(debug_formtrace&&console.log("formTrace#clicking found submit button as fallback"),n.click()):console.error("formTrace#could not find a way to submit the form")}}setTimeout(()=>{_formtraceProcessing=!1,debug_formtrace&&console.log("formTrace#processing flag reset")},100)}async function formTraceSaveRecordFireAndForget(t){debug_formtrace&&console.log("formTrace#formTraceSaveRecordFireAndForget starting..."),record_formtrace=!1;var r=document.getElementById(privacityInputId_formtrace);r&&(t.terms=r.innerText,debug_formtrace)&&console.log("formTrace#terms text captured");let o;recordingIdFromBrowser?(o=recordingIdFromBrowser,debug_formtrace&&console.log("formTrace#using existing formTraceId from URL:",o)):(o=generateUUID(),debug_formtrace&&console.log("formTrace#generated new formTraceId:",o));r=document.getElementById("formproofScript")?.closest("form")||document.querySelector("form"),o&&r&&(r.querySelector('input[name="formTraceId"]')||(r.appendChild(createHiddenInput("formTraceId",o)),debug_formtrace&&console.log("formTrace#hidden input formTraceId added to form")),t.formTraceId=o),r=window.navigator.userAgent;try{debug_formtrace&&console.log("formTrace#fetching client IP...");let e="";try{var n=await(await fetch("https://api.ipify.org/?format=json")).json();e=n?.ip||"",debug_formtrace&&console.log("formTrace#client IP obtained:",e)}catch(e){debug_formtrace&&console.log("formTrace#could not get IP, continuing anyway")}var a=events_formtrace,i=!recordingIdFromBrowser&&guide_formtrace?"partial":redirectId_formtrace&&!guide_formtrace?"partial-followMe":"completed",s=(debug_formtrace&&(console.log("formTrace#recording status:",i),console.log("formTrace#events count:",a.length)),{form:t,events:JSON.stringify(a),clientIp:e,userAgent:r,token:token_formtrace||"",status:i});recordingIdFromBrowser||!guide_formtrace&&!redirectId_formtrace||(s.provider=guide_formtrace,s.formTraceId=o),o&&(s.formTraceId=o),debug_formtrace&&console.log("formTrace#sending data with keepalive=true..."),await saveRecordings(s,!0),debug_formtrace&&console.log("formTrace#fire-and-forget save completed successfully:",o)}catch(e){console.error("formTrace#error in fire-and-forget save:",e),debug_formtrace&&console.log("formTrace#save failed with error:",e.message)}}function generateUUID(){return crypto.randomUUID()}function createHiddenInput(e,t){var r=document.createElement("input");return r.type="hidden",r.id=e,r.name=e,r.value=t,r}async function formTraceSaveRecordWithOnsubmitEvent(r,o=!1){savingLoading_formtrace=!0,record_formtrace=!1;var n=document.getElementById(privacityInputId_formtrace);n&&(r.terms=n.innerText);let a;a=recordingIdFromBrowser||(guide_formtrace||redirectId_formtrace,generateUUID());n=document.getElementById("formproofScript")?.closest("form")||document.querySelector("form"),a&&n&&(n.querySelector('input[name="formTraceId"]')||n.appendChild(createHiddenInput("formTraceId",a)),r.formTraceId=a),n=window.navigator.userAgent;debug_formtrace&&console.log("formTrace#formTraceSaveRecordWithOnsubmitEvent starting, useKeepalive:",o);try{let e="";if(o)debug_formtrace&&console.log("formTrace#skipping IP fetch (keepalive mode)");else try{debug_formtrace&&console.log("formTrace#fetching IP from ipify...");const p=new AbortController;var i=setTimeout(()=>p.abort(),2e3),s=await fetch("https://api.ipify.org/?format=json",{signal:p.signal}),l=(clearTimeout(i),await s.json());e=l?.ip||"",debug_formtrace&&console.log("formTrace#IP obtained:",e)}catch(e){debug_formtrace&&console.log("formTrace#could not get IP, continuing anyway:",e.message)}var c,d=events_formtrace,u=!recordingIdFromBrowser&&guide_formtrace?"partial":redirectId_formtrace&&!guide_formtrace?"partial-followMe":"completed",m={form:r,events:JSON.stringify(d),clientIp:e,userAgent:n,token:token_formtrace||"",status:u},h=(recordingIdFromBrowser||!guide_formtrace&&!redirectId_formtrace||(m.provider=guide_formtrace,m.formTraceId=a),a&&(m.formTraceId=a),debug_formtrace&&console.log("formTrace#about to call saveRecordings, payload size:",JSON.stringify(m).length,"bytes"),await saveRecordings(m,o));debug_formtrace&&console.log("formTrace#saveRecordings completed, formTraceId:",a);let t={formTraceId:a};try{h&&"function"==typeof h.json&&(t=await h.json())}catch(e){debug_formtrace&&console.log("formTrace#could not parse response json:",e.message)}return""!==redirectValue_formtrace&&((c=new URL(redirectValue_formtrace)).searchParams.set("formTraceId",a),window.location.href=c.toString()),callback_formtrace&&test({form:r,formProofResponse:t}),t}catch(e){console.error("Error al guardar la grabación:",e)}finally{savingLoading_formtrace=!1}}async function formTraceSaveRecord(e={}){savingLoading_formtrace=!0,record_formtrace=!1;var t=document.getElementById(privacityInputId_formtrace),t=(t&&(e.terms=t.innerText),recordingIdFromBrowser||(guide_formtrace||redirectId_formtrace)&&generateUUID()),r=document.getElementById("formproofScript")?.closest("form")||document.querySelector("form"),r=(t&&r&&(r.appendChild(createHiddenInput("formTraceId",t)),e.formTraceId=t),window.navigator.userAgent);try{var o=(await(await fetch("https://api.ipify.org/?format=json")).json())?.ip,n=events_formtrace,a=!recordingIdFromBrowser&&guide_formtrace?"partial":"completed",i={form:e,events:JSON.stringify(n),clientIp:o,userAgent:r,token:token_formtrace||"",status:a};recordingIdFromBrowser||!guide_formtrace&&!redirectId_formtrace||(i.provider=guide_formtrace,i.formTraceId=t);var s,l=await(await saveRecordings(i)).json(),c=document.getElementById(redirectId_formtrace);return c?.value&&((s=new URL(c.value)).searchParams.set("formTraceId",t),window.location.href=s.toString()),callback_formtrace&&test({form:e,formProofResponse:l}),l}catch(e){console.error("Error al guardar la grabación:",e)}finally{savingLoading_formtrace=!1}}async function tfaValidation(e,t,r,o,n,a){var t=document.getElementById(t);t?(t=t.value)&®ex.test(t)?await phoneInformationModal(t,a):showPhoneInvalidModal():inputIdNoExist()}function showPhoneInvalidModal(){var e=document.createElement("dialog");e.id="invalidPhone",e.classList.add("dialog-styles"),e.innerHTML=`
Invalid Phone

Please enter a valid phone number

`,document.body.appendChild(e);const t=document.getElementById("invalidPhone");t.showModal(),document.getElementById("closePhoneModal").addEventListener("click",()=>{t.close()})}async function showTfaModal(e,t){var r=document.createElement("dialog");r.id="tfaTwilio",r.classList.add("dialog-styles"),r.innerHTML=`
Two-Factor Authetication

Enter the code sent to your authentication method or provide a backup code.

5-digits code

Resend Code

`,document.body.appendChild(r);const o=document.getElementById("tfaTwilio");o.showModal(),document.getElementById("closeBtn").addEventListener("click",()=>{var e=document.getElementById("phoneInfo");document.getElementById("showTfa").innerText="Continue",e.close(),o.close()}),document.getElementById("closeTfa").addEventListener("click",()=>{var e=document.getElementById("phoneInfo");document.getElementById("showTfa").innerText="Continue",e.close(),o.close()}),await verifyTfaCode(e,t)}async function verifyTfaCode(t,r){document.getElementById("sendAnother").addEventListener("click",async()=>{await send2faCode(t,clientToken),console.log("Code resent")});const o=document.getElementById("sendBtn"),n=document.getElementById("error");o.addEventListener("click",async()=>{o.innerText="Verifying...",o.disabled=!0;var e=await validate2faCode(document.getElementById("code").value,t);o.disabled=!1,200===e.status?(console.log("formproof#onSubmit"),saveOnSubmit_formtrace&&await saveRecording(saveOnSubmit_formtrace,r)):(409===e.status?n.textContent="Code used. Please try again.":400===e.status?n.textContent="Invalid code. Please enter a valid code.":n.textContent="An unexpected error has occurred, please try again later.",o.innerText="Verify")})}function showLoading(){var e=document.createElement("div");e.id="loadingIndicator",e.innerHTML='
',document.body.appendChild(e)}function hideLoading(){var e=document.getElementById("loadingIndicator");e&&e.remove()}function showServerErrorModal(){var e=document.createElement("dialog");e.id="ftaCodeError",e.classList.add("dialog-styles"),e.innerHTML=`
Internal Server Error

An unexpected error has occurred, please try again later

`,document.body.appendChild(e);const t=document.getElementById("ftaCodeError");t.showModal(),document.getElementById("closeFtaError").addEventListener("click",async()=>{document.getElementById("showTfa").innerText="Continue",t.close()})}function inputIdNoExist(){var e=document.createElement("dialog");e.id="inputIdError",e.classList.add("dialog-styles"),e.innerHTML=`
Error in phoneInputId

fix inputId since it doesn't exist

`,document.body.appendChild(e);const t=document.getElementById("inputIdError");t.showModal(),document.getElementById("closeInputIdError").addEventListener("click",()=>{t.close()}),document.getElementById("close").addEventListener("click",()=>{t.close()})}async function phoneInformationModal(t,r){var e=formatPhoneNumber(t),o=document.createElement("dialog");o.id="phoneInfo",o.classList.add("dialog-styles"),o.innerHTML=`

We need to validate your identity, we will send a validation code to the following cell phone number

`,document.body.appendChild(o),document.getElementById("cellphone").textContent=e,document.getElementById("cellphone").style.fontSize="28px";const n=document.getElementById("phoneInfo"),a=(n.showModal(),document.getElementById("closeInfoPhone").addEventListener("click",()=>{n.close()}),document.getElementById("showTfa"));a.addEventListener("click",async()=>{a.innerText="Sending Code...",a.disable=!0;var e=await send2faCode(t,clientToken);200===e.status?await showTfaModal(t,r):404===e.status||400===e.status?(document.getElementById("errorText").style.display="block",a.style.display="none"):500===e.status&&showServerErrorModal()}),document.getElementById("closePhone").addEventListener("click",()=>{n.close()})}function formatPhoneNumber(e){return e.replace(/\D/g,"").replace(/(\d{3})(\d{3})(\d{4})/,"$1 $2 $3")}async function saveRecording(t,r,o=!1){if(t){debug_formtrace&&console.log("formTrace#saving on submit"+(o?" (keepalive mode)":""));let e;if(r&&r.target instanceof HTMLFormElement?(e=r.target,debug_formtrace&&console.log("formTrace#form obtained from event.target")):(e=(e=document.getElementById("formproofScript")?.closest("form"))||document.querySelector("form"),debug_formtrace&&console.log("formTrace#form obtained from DOM (no event available)")),e&&e instanceof HTMLFormElement){var n,a,i={};for([n,a]of new FormData(e).entries())i[n]=a;t=await formTraceSaveRecordWithOnsubmitEvent(i,o);debug_formtrace&&console.log("formTrace#Success formTraceId:",t)}else console.error("formTrace#Invalid form element - no form found")}}async function blackListPhone(e,t,r,o,n,a){var r=document.getElementById(r);(r?(r=r.value)&®ex.test(r)?(showLoading(),await validatePhoneInBlackList(e,t,r,n,a),hideLoading):showPhoneInvalidModal:inputIdNoExist)()}async function validatePhoneInBlackList(e,t,r,o,n){var a=await(await verifyPhoneBlackListApi(r,clientToken)).json();!0===a.valid&&!0===a.showTfa||!1===a.valid&&!0===a.showTfa?await phoneInformationModal(r,n):!0===a.valid&&!1===a.showTfa&&await saveRecording(o,n)}async function send2faCode(e,t){return fetch(sendTfaCodeApi,{method:"POST",headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"},body:JSON.stringify({cellphone:e,token:t})})}async function validate2faCode(e,t){return fetch(validateTfCodeApi,{method:"POST",headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"},body:JSON.stringify({code:e,cellphone:t})})}async function verifyPhoneBlackListApi(e,t){return fetch(validateBlackListApi,{method:"POST",headers:{"Content-Type":"application/json","Access-Control-Allow-Origin":"*"},body:JSON.stringify({cellphone:e,token:t})})}async function saveRecordings(e,t=!1){const o=JSON.stringify(e);var e=o.length,r=6e4{const r=new XMLHttpRequest;r.open("POST",formTraceApiSave,!0),r.setRequestHeader("Content-Type","application/json"),r.onload=function(){debug_formtrace&&console.log("formTrace#XHR completed, status:",r.status),e({ok:200<=r.status&&r.status<300,status:r.status,json:async()=>{try{return JSON.parse(r.responseText)}catch(e){return{status:r.status}}}})},r.onerror=function(){debug_formtrace&&console.log("formTrace#XHR error"),t(new Error("XHR failed"))},r.ontimeout=function(){debug_formtrace&&console.log("formTrace#XHR timeout"),t(new Error("XHR timeout"))},r.timeout=3e4,debug_formtrace&&console.log("formTrace#XHR sending..."),r.send(o)});e={method:"POST",body:o,headers:{"Content-Type":"application/json"}};t&&(e.keepalive=!0,debug_formtrace)&&console.log("formTrace#using fetch with keepalive"),debug_formtrace&&console.log("formTrace#fetch starting...");try{var n=await fetch(formTraceApiSave,e);return debug_formtrace&&console.log("formTrace#fetch completed, status:",n.status),n}catch(e){if(debug_formtrace&&console.log("formTrace#fetch error:",e.message),navigator.sendBeacon){r=new Blob([o],{type:"text/plain"});const a=navigator.sendBeacon(formTraceApiSave,r);return debug_formtrace&&console.log("formTrace#sendBeacon fallback result:",a),{ok:a,json:async()=>({success:a,message:"sent via beacon fallback"})}}throw e}}document.addEventListener("DOMContentLoaded",()=>{if(debug_formtrace&&console.log("formTrace#DOMContentLoaded - initializing event listeners"),document.addEventListener("submit",async e=>{debug_formtrace&&console.log("formTrace#submit event captured",{formId:e.target?.id||"unnamed",formAction:e.target?.action||"no action"}),await handleFormTraceSubmit(e)},!0),debug_formtrace&&console.log("formTrace#submit event listener registered (capture=true)"),"function"==typeof window.__doPostBack){debug_formtrace&&console.log("formTrace#__doPostBack detected, installing hook...");const o=window.__doPostBack;window.__doPostBack=function(e,t){var r;return debug_formtrace&&console.log("formTrace#__doPostBack intercepted:",{eventTarget:e,eventArgument:t,isProcessing:_formtraceProcessing}),_formtraceProcessing?(debug_formtrace&&console.log("formTrace#skipping __doPostBack (already processing)"),o.call(this,e,t)):(r=!0===tfaTwilio_formtrace&&!1===blackList_formtrace||!0===blackList_formtrace,debug_formtrace&&console.log("formTrace#__doPostBack mode check:",{needsBlocking:r,epd:epd_formtrace,willBlock:r||!0===epd_formtrace}),r||!0===epd_formtrace?(debug_formtrace&&console.log("formTrace#__doPostBack BLOCKING mode - saving pending postback"),_pendingPostBack={eventTarget:e,eventArgument:t,originalFunc:o},void handleFormTraceSubmit(null,!0)):(debug_formtrace&&console.log("formTrace#__doPostBack ORGANIC mode - fire-and-forget"),saveRecordingFireAndForget(null),debug_formtrace&&console.log("formTrace#__doPostBack executing original postback"),o.call(this,e,t)))},debug_formtrace&&console.log("formTrace#__doPostBack hook installed (organic mode)")}else debug_formtrace&&console.log("formTrace#__doPostBack not found (not ASP.NET WebForms)");if(void 0===window.__doPostBack){debug_formtrace&&console.log("formTrace#__doPostBack undefined, setting up late hook via defineProperty");let t,r=!1;Object.defineProperty(window,"__doPostBack",{get:function(){return t},set:function(e){if(r||"function"!=typeof e)t=e;else{r=!0,debug_formtrace&&console.log("formTrace#__doPostBack late hook triggered - installing interceptor");const o=e;t=function(e,t){var r;return debug_formtrace&&console.log("formTrace#__doPostBack intercepted (late hook):",{eventTarget:e,eventArgument:t,isProcessing:_formtraceProcessing}),_formtraceProcessing?(debug_formtrace&&console.log("formTrace#skipping late hook (already processing)"),o.call(this,e,t)):(r=!0===tfaTwilio_formtrace&&!1===blackList_formtrace||!0===blackList_formtrace,debug_formtrace&&console.log("formTrace#late hook mode check:",{needsBlocking:r,epd:epd_formtrace,willBlock:r||!0===epd_formtrace}),r||!0===epd_formtrace?(debug_formtrace&&console.log("formTrace#late hook BLOCKING mode"),_pendingPostBack={eventTarget:e,eventArgument:t,originalFunc:o},void handleFormTraceSubmit(null,!0)):(debug_formtrace&&console.log("formTrace#late hook ORGANIC mode - fire-and-forget"),saveRecordingFireAndForget(null),debug_formtrace&&console.log("formTrace#late hook executing original postback"),o.call(this,e,t)))},debug_formtrace&&console.log("formTrace#__doPostBack late hook installed (organic mode)")}},configurable:!0})}}),window.formTraceSaveRecord=formTraceSaveRecord;