| 
          "use strict";(()=>{var N=class{constructor(e={}){this.namespace=e.namespace,this.prefix=[this.namespace,e.prefix].filter(Boolean).join(" "),this.enabled=e.enabled!==!1,this.timestamp=e.timestamp!==!1,this.timestampFormat=e.timestampFormat||"locale"}getTimestamp(){let e=new Date;return this.timestampFormat==="ISO"?e.toISOString():e.toLocaleString()}formatMessage(e,...t){let s=[this.prefix];return this.timestamp&&s.push(`[${this.getTimestamp()}]`),s.push(`[${e.toUpperCase()}]`),[s.join(" "),...t]}debug(...e){this.enabled&&console.debug(...this.formatMessage("debug",...e))}info(...e){this.enabled&&console.info(...this.formatMessage("info",...e))}warn(...e){this.enabled&&console.warn(...this.formatMessage("warn",...e))}error(...e){this.enabled&&console.error(...this.formatMessage("error",...e))}log(...e){this.enabled&&console.log(...this.formatMessage("log",...e))}custom(e,...t){this.enabled&&console.log(...this.formatMessage(e,...t))}group(e,t){if(!this.enabled)return t();console.group(`${this.prefix} ${e}`);try{t()}finally{console.groupEnd()}}groupCollapsed(e,t){if(!this.enabled)return t();console.groupCollapsed(`${this.prefix} ${e}`);try{t()}finally{console.groupEnd()}}table(e,t){this.enabled&&(this.info("Table data:"),console.table(e,t))}time(e){this.enabled&&console.time(`${this.prefix} ${e}`)}timeEnd(e){this.enabled&&console.timeEnd(`${this.prefix} ${e}`)}timeLog(e){this.enabled&&console.timeLog(`${this.prefix} ${e}`)}enable(){this.enabled=!0}disable(){this.enabled=!1}setPrefix(e){this.prefix=e}};function L(u={}){return new N(u)}function P(u,e){function t(s){return s.replace(/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,"")}if(window.trustedTypes){let c=window.trustedTypes.createPolicy("myHTMLPolicy",{createHTML:t}).createHTML(e);u.innerHTML=c}else{let s=t(e);u.innerHTML=s}}async function V(u){let{tagName:e,id:t,attributes:s={},parentSelector:c="body",parentElement:m,textContent:l,innerHTML:M,innerElement:x,returnElement:y=!0,checkExisting:E=!0,replaceExisting:H=!1,insertionMethod:g="append",contextElement:b,waitTimeout:I=3e4,persistent:D=!1,autoRemove:C=!0,debounceDelay:A=500,observerConfig:h={childList:!0,subtree:!0,attributes:!1,attributeOldValue:!1,characterData:!1,characterDataOldValue:!1},namespace:_,onMount:v}=u,n=L({prefix:"[createElement]",namespace:_}),r={action:"create",tagName:e,id:t,parentMethod:c?"selector":"element",parentIdentifier:c||(m?m.tagName:"unknown"),waitTimeout:I,insertionMethod:g};if(n.info(`Starting element creation: <${e}> with ID="${t}"${b?" (conditional)":""} using ${g} insertion`),!e||typeof e!="string")return n.error("Element creation failed: Tag parameter is required and must be a string",r),null;if(!t||typeof t!="string")return n.error("Element creation failed: ID parameter is required and must be a non-empty string",r),null;if(!c&&!m)return n.error("Element creation failed: Either parentSelector or parentElement must be provided",r),null;if(g!=="append"&&g!=="insertBeforeElement"&&g!=="prepend")return n.error("Element creation failed: insertionMethod must be 'append', 'insertBeforeElement', or 'prepend'",r),null;function O(a,i,o){try{let p=new DOMParser().parseFromString(i,"text/html"),d=p.querySelector("parsererror");if(d)throw new Error(`HTML parsing error: ${d.textContent}`);let $=Array.from(p.body.childNodes);return $.length===0?(n.warn(`No valid elements found in HTML string: "${i.substring(0,50)}${i.length>50?"...":""}"`,o),!1):($.forEach(w=>{let k=a.ownerDocument.importNode(w,!0);a.appendChild(k)}),n.debug(`Created DOM elements programmatically: "${i.substring(0,50)}${i.length>50?"...":""}" (${$.length} elements)`,o),!0)}catch(f){n.warn(`DOMParser failed, attempting fallback method: ${f.message}`,o);try{return P(a,i),n.debug(`Successfully created DOM elements via fallback method: "${i.substring(0,50)}${i.length>50?"...":""}"`,o),!0}catch(p){return n.error(`DOM insertion failed: ${p.message}`,{...o,originalError:f.message,fallbackError:p.message}),!1}}}function T(){try{let a=null;if(E&&(a=document.getElementById(t),a))if(r.action="exists",H)n.info(`Found existing element with ID="${t}", replacing as requested`,r),a.remove(),r.action="replace";else return n.warn(`Element with ID="${t}" already exists, skipping creation. Use replaceExisting=true to replace.`,r),y?a:null;let i=m;if(!i&&c){let d=document.querySelector(c);if(!d)return n.error(`Element creation failed: Parent element not found with selector: ${c}`,r),null;i=d,n.debug(`Found parent element with selector: ${c}`,r)}if(!i)return n.error("Element creation failed: No valid parent element found",r),null;let o=document.createElement(e);n.debug(`Created DOM element: <${e}>`,r),o.setAttribute("id",t),n.debug(`Set required ID attribute: id="${t}"`,r);let f=Object.keys(s).length;if(f>0&&(Object.entries(s).forEach(([d,$])=>{$!=null&&(o.setAttribute(d,String($)),n.debug(`Set attribute: ${d}="${$}"`,r))}),n.debug(`Applied ${f} additional attributes to element`,r)),x&&typeof x=="function")try{let d=x();d instanceof HTMLElement?(o.appendChild(d),n.debug("Inserted child element via innerElement callback",r)):(n.warn("innerElement callback did not return a valid HTMLElement, falling back to other content methods",r),l!==void 0?(o.textContent=l,n.debug(`Set textContent: "${l.substring(0,100)}${l.length>100?"...":""}"`,r)):M!==void 0&&O(o,M,r))}catch(d){n.error("Error executing innerElement callback, falling back to other content methods:",d,r),l!==void 0?(o.textContent=l,n.debug(`Set textContent: "${l.substring(0,100)}${l.length>100?"...":""}"`,r)):M!==void 0&&O(o,M,r)}else l!==void 0?(o.textContent=l,n.debug(`Set textContent: "${l.substring(0,100)}${l.length>100?"...":""}"`,r)):M!==void 0&&O(o,M,r);if(g==="insertBeforeElement")if(i.parentElement)i.parentElement.insertBefore(o,i),n.debug("Inserted element before parent",r);else return n.error("Element insertion failed: Parent element has no parent to insert before",r),null;else g==="prepend"?(i.insertBefore(o,i.firstChild),n.debug("Prepended element as first child of parent",r)):(i.appendChild(o),n.debug("Appended element to end of parent",r));if(v&&typeof v=="function")try{v(o),n.debug(`Successfully called onMount callback for element ID="${t}"`,r)}catch(d){n.warn(`Error in onMount callback for element ID="${t}":`,d,r)}let p=`Element creation successful: <${e}> (ID="${t}") ${r.action==="replace"?"replaced and ":""}${g}ed to ${r.parentMethod==="selector"?`parent selected by "${c}"`:"provided parent element"}${b?" (after content element)":""}`;return n.info(p,{...r,success:!0,hasAttributes:f>0,hasContent:!!(l||M||x),parentTagName:i.tagName,elementPath:o.tagName+"#"+o.id+(o.className?`.${o.className.replace(/\s+/g,".")}`:"")}),y?o:null}catch(a){let i=`Element creation failed with exception: ${a.message||"Unknown error"}`;return n.error(i,{...r,success:!1,error:a.message||"Unknown error",stack:a.stack||"No stack trace available"}),null}}async function S(){try{if(typeof b=="function"){let a=await b();return a instanceof HTMLElement&&document.contains(a)}else if(typeof b=="string")return document.querySelector(b)!==null}catch(a){n.warn(`Error checking content element for element ID="${t}":`,a)}return!1}function B(){if(!D&&!C)return;n.info(`Setting up ${D?"persistent":""}${D&&C?" and ":""}${C?"auto-removal":""} monitoring for element ID="${t}"`);let a=null,i=new MutationObserver(async()=>{a&&clearTimeout(a),a=setTimeout(async()=>{n.debug(`Persistent monitoring check triggered for element ID="${t}"`);let f=await S(),p=document.getElementById(t);f?D&&!p?(n.info(`Context element found but managed element missing, recreating element ID="${t}"`),T()):n.debug(`Both context and managed elements exist for ID="${t}"`):C&&p?(n.info(`Context element no longer present, removing managed element ID="${t}"`),p.remove()):n.debug(`Context element no longer present for element ID="${t}"`)},A)}),o={childList:h.childList===!0,subtree:h.subtree===!0,attributes:h.attributes===!0,attributeOldValue:h.attributeOldValue===!0,characterData:h.characterData===!0,characterDataOldValue:h.characterDataOldValue===!0};i.observe(document.documentElement||document.body,o),n.debug(`Started persistent MutationObserver for element ID="${t}"`)}if(!b)return T();if(n.info(`Checking initial condition for element ID="${t}"`,{...r,waitCondition:typeof b=="function"?"callback":b,persistent:D}),await S()){n.info(`Initial content element already satisfied for element ID="${t}"`,r);let a=T();return(D||C)&&B(),a}return new Promise(a=>{let i=Date.now(),o=null,f=null,p=!1;function d(w){p||C&&(p=!0,o&&(clearTimeout(o),o=null),f&&(f.disconnect(),f=null,n.debug(`Disconnected MutationObserver for element ID="${t}"`,r)),a(w))}o=setTimeout(()=>{n.error(`Element creation failed: Wait condition timeout after ${I}ms for element ID="${t}"`,{...r,success:!1,timeoutReached:!0,waitCondition:typeof b=="function"?"callback":b}),d(null)},I),n.info(`Setting up MutationObserver for element ID="${t}"`,{...r,observerConfig:h,waitCondition:typeof b=="function"?"callback":b}),f=new MutationObserver(async w=>{if(!p&&(n.debug(`MutationObserver detected ${w.length} mutations for element ID="${t}"`,r),await S())){let k=Date.now()-i;n.info(`Wait condition satisfied via MutationObserver for element ID="${t}" after DOM changes`,{...r,elapsedTime:k});let F=T();(D||C)&&B(),d(F)}});let $={childList:h.childList===!0,subtree:h.subtree===!0,attributes:h.attributes===!0,attributeOldValue:h.attributeOldValue===!0,characterData:h.characterData===!0,characterDataOldValue:h.characterDataOldValue===!0};f.observe(document.documentElement||document.body,$),n.debug(`Started MutationObserver monitoring for element ID="${t}"`,{...r,target:"document.documentElement"})})}function q({selector:u,onReady:e,onRemoved:t}){let s=new Set,c=()=>typeof u=="function"?u():document.querySelector(u),m=c();m&&m instanceof HTMLElement&&(s.add(m),e(m));let l=new MutationObserver(M=>{M.forEach(x=>{x.addedNodes.forEach(y=>{if(y.nodeType===Node.ELEMENT_NODE){let E=c();E&&E instanceof HTMLElement&&!s.has(E)&&(s.add(E),e(E)),typeof u=="string"&&y instanceof Element&&y.querySelectorAll(u).forEach(g=>{g instanceof HTMLElement&&!s.has(g)&&(s.add(g),e(g))})}}),t&&x.removedNodes.forEach(y=>{y.nodeType===Node.ELEMENT_NODE&&s.forEach(E=>{(y===E||y instanceof Element&&y.contains(E))&&(s.delete(E),t(E))})})})});return l.observe(document.body,{childList:!0,subtree:!0}),()=>{l.disconnect(),s.clear()}}(async function(){"use strict";GM_addStyle(` |