diff --git a/.nojekyll b/.nojekyll
new file mode 100644
index 0000000..e69de29
diff --git a/chrome.zip b/chrome.zip
index 27e9d8a..1fab0f8 100644
Binary files a/chrome.zip and b/chrome.zip differ
diff --git a/chrome/Options/options.html b/chrome/Options/options.html
new file mode 100644
index 0000000..c934f0e
--- /dev/null
+++ b/chrome/Options/options.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/Popup/popup.html b/chrome/Popup/popup.html
new file mode 100644
index 0000000..58716fb
--- /dev/null
+++ b/chrome/Popup/popup.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Popup
+
+
+
+
+
+
+
+
+
+
+
diff --git a/chrome/assets/css/GitHubIcon-DRgDSdCA.css b/chrome/assets/css/GitHubIcon-DRgDSdCA.css
new file mode 100644
index 0000000..f7fde32
--- /dev/null
+++ b/chrome/assets/css/GitHubIcon-DRgDSdCA.css
@@ -0,0 +1 @@
+._d-none_gy5mj_1{display:none!important}._button_gy5mj_5{padding:11px 16px;font-size:13px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}._button_gy5mj_5:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}._button_gy5mj_5:active{transform:translateY(0)}._fullWidth_gy5mj_26{width:100%}._primary_gy5mj_30{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}._secondary_gy5mj_35{background:#f8f9fc;color:#1a1a2e;border:1px solid #e2e8f0}._secondary_gy5mj_35:hover{background:#eef2f7}._settings_gy5mj_44{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}._github_gy5mj_49{background:linear-gradient(135deg,#24292e,#1a1a1a);color:#fff}._support_gy5mj_54{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff}._small_gy5mj_59{padding:12px 10px;font-size:12px;gap:6px}._medium_gy5mj_65{padding:11px 16px;font-size:13px}._large_gy5mj_70{padding:14px 28px;font-size:14px}
diff --git a/chrome/assets/css/options-Cu2a6WOY.css b/chrome/assets/css/options-Cu2a6WOY.css
new file mode 100644
index 0000000..696a80e
--- /dev/null
+++ b/chrome/assets/css/options-Cu2a6WOY.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";._d-none_v3h83_1{display:none!important}._wrapper_v3h83_5{margin-bottom:24px}._label_v3h83_9{display:block;font-size:13px;font-weight:600;margin-bottom:10px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}._input_v3h83_19{width:100%;padding:14px 16px;font-size:15px;background-color:#fff;color:#1a1a2e;border:2px solid #e2e8f0;border-radius:10px;transition:all .2s ease;box-sizing:border-box}._input_v3h83_19:hover{border-color:#cbd5e1}._input_v3h83_19:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}._input_v3h83_19::-moz-placeholder{color:#94a3b8}._input_v3h83_19::placeholder{color:#94a3b8}._d-none_oetqd_1{display:none!important}._wrapper_oetqd_5{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#f8f9fc;border-radius:10px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}._wrapper_oetqd_5:hover{background:#eef2f7;border-color:#e2e8f0}._checkbox_oetqd_21{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#6366f1}._text_oetqd_29{font-size:14px;line-height:1.5;color:#64748b;font-weight:500}*,*:before,*:after{box-sizing:border-box}html,body,ul[class],ol[class]{padding:0}html,body,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html,body{border:0}ul,ol{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}a:hover{text-decoration:none}img,video,picture,svg{max-width:100%;display:block}img{height:auto;font-style:italic;background-repeat:no-repeat;background-size:cover;shape-margin:1rem}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:focus,textarea:active,select:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}:is(ul,ol)>*:not(li){outline:2px dotted red}html{height:100%}body{text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100vw;min-height:100vh;min-height:100svh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:initial}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}:has(:target){scroll-behavior:smooth}}:root{color-scheme:light dark}table{border-collapse:collapse;border-spacing:0}dialog{box-sizing:border-box;max-width:unset;max-height:unset}:root{color-scheme:light}input,textarea,select{border:1px solid #ccc}._d-none_1hb5m_13{display:none!important}body{color:#1a1a2e;background:linear-gradient(180deg,#f8f9fc,#eef2f7);min-height:100vh;display:flex;justify-content:center;padding:50px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}._options_1hb5m_27{width:100%;max-width:480px}._header_1hb5m_32{margin-bottom:32px;text-align:center}._header_1hb5m_32 h1{font-size:26px;font-weight:700;margin-bottom:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}._header_1hb5m_32 p{color:#64748b;font-size:14px;font-weight:500}._form_1hb5m_51{background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 15px -3px #0000001a;border:1px solid #e2e8f0}._section_1hb5m_59{margin-bottom:24px}._actions_1hb5m_63{display:flex;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid #e2e8f0}._status_1hb5m_72{font-size:14px;color:#10b981;font-weight:600;display:flex;align-items:center;gap:8px}._status_1hb5m_72:before{content:"";display:inline-block;width:8px;height:8px;background:#10b981;border-radius:50%;animation:_pulse_1hb5m_1 1s ease-in-out}._footer_1hb5m_90{margin-top:24px;text-align:center}._githubLink_1hb5m_95{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s ease;text-decoration:none}._githubLink_1hb5m_95:hover{color:#1a1a2e;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d;transform:translateY(-1px)}._githubLink_1hb5m_95 svg{flex-shrink:0}@keyframes _pulse_1hb5m_1{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}
diff --git a/chrome/assets/css/popup-ByqSU3Zm.css b/chrome/assets/css/popup-ByqSU3Zm.css
new file mode 100644
index 0000000..080d988
--- /dev/null
+++ b/chrome/assets/css/popup-ByqSU3Zm.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";._d-none_127h0_1{display:none!important}._card_127h0_5{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}._large_127h0_13{padding:28px;box-shadow:0 10px 15px -3px #0000001a}._header_127h0_18{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}._title_127h0_25{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#64748b}._d-none_1dzc3_1{display:none!important}._content_1dzc3_5{display:flex;align-items:center;gap:14px;margin-bottom:16px}._favicon_1dzc3_12{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:#f8f9fc;-o-object-fit:cover;object-fit:cover;border:1px solid #e2e8f0}._faviconPlaceholder_1dzc3_22{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;flex-shrink:0}._details_1dzc3_36{flex:1;min-width:0}._title_1dzc3_41{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}._url_1dzc3_52{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._d-none_6a002_1{display:none!important}._footer_6a002_5{display:flex;gap:10px}._button_6a002_10{flex:1}*,*:before,*:after{box-sizing:border-box}html,body,ul[class],ol[class]{padding:0}html,body,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html,body{border:0}ul,ol{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}a:hover{text-decoration:none}img,video,picture,svg{max-width:100%;display:block}img{height:auto;font-style:italic;background-repeat:no-repeat;background-size:cover;shape-margin:1rem}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:focus,textarea:active,select:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}:is(ul,ol)>*:not(li){outline:2px dotted red}html{height:100%}body{text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100vw;min-height:100vh;min-height:100svh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:initial}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}:has(:target){scroll-behavior:smooth}}:root{color-scheme:light dark}table{border-collapse:collapse;border-spacing:0}dialog{box-sizing:border-box;max-width:unset;max-height:unset}:root{color-scheme:light}input,textarea,select{border:1px solid #ccc}._d-none_19dhs_13{display:none!important}body{color:#1a1a2e;background:linear-gradient(180deg,#f8f9fc,#eef2f7);width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}._popup_19dhs_24{width:380px;padding:20px}._header_19dhs_29{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}._title_19dhs_36{font-size:18px;font-weight:700;letter-spacing:-.3px;color:#1a1a2e;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}._greeting_19dhs_47{font-size:13px;color:#64748b;margin-top:6px;font-weight:500}._tabCard_19dhs_54{margin-bottom:14px}._statsCard_19dhs_58{background:#fff;border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 2px 8px #0000000f}._statsTitle_19dhs_66{font-size:13px;font-weight:600;color:#64748b;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}._statsGrid_19dhs_75{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}._statItem_19dhs_81{display:flex;flex-direction:column;align-items:center;padding:8px;background:#f8f9fc;border-radius:8px}._statValue_19dhs_90{font-size:20px;font-weight:700;color:#6366f1}._statLabel_19dhs_96{font-size:11px;color:#64748b;margin-top:4px}._visitCard_19dhs_102{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:14px;box-shadow:0 2px 8px #0000000f}._visitLabel_19dhs_113{font-size:13px;color:#64748b}._visitCount_19dhs_118{font-size:18px;font-weight:700;color:#6366f1}
diff --git a/chrome/assets/js/GitHubIcon-DnWgqK1U.chunk.js b/chrome/assets/js/GitHubIcon-DnWgqK1U.chunk.js
new file mode 100644
index 0000000..3d8ed8d
--- /dev/null
+++ b/chrome/assets/js/GitHubIcon-DnWgqK1U.chunk.js
@@ -0,0 +1,9 @@
+(function(){const hl=document.createElement("link").relList;if(hl&&hl.supports&&hl.supports("modulepreload"))return;for(const j of document.querySelectorAll('link[rel="modulepreload"]'))o(j);new MutationObserver(j=>{for(const J of j)if(J.type==="childList")for(const ml of J.addedNodes)ml.tagName==="LINK"&&ml.rel==="modulepreload"&&o(ml)}).observe(document,{childList:!0,subtree:!0});function F(j){const J={};return j.integrity&&(J.integrity=j.integrity),j.referrerPolicy&&(J.referrerPolicy=j.referrerPolicy),j.crossOrigin==="use-credentials"?J.credentials="include":j.crossOrigin==="anonymous"?J.credentials="omit":J.credentials="same-origin",J}function o(j){if(j.ep)return;j.ep=!0;const J=F(j);fetch(j.href,J)}})();var ei={exports:{}},ge={};var d1;function Js(){if(d1)return ge;d1=1;var M=Symbol.for("react.transitional.element"),hl=Symbol.for("react.fragment");function F(o,j,J){var ml=null;if(J!==void 0&&(ml=""+J),j.key!==void 0&&(ml=""+j.key),"key"in j){J={};for(var Rl in j)Rl!=="key"&&(J[Rl]=j[Rl])}else J=j;return j=J.ref,{$$typeof:M,type:o,key:ml,ref:j!==void 0?j:null,props:J}}return ge.Fragment=hl,ge.jsx=F,ge.jsxs=F,ge}var h1;function ws(){return h1||(h1=1,ei.exports=Js()),ei.exports}var vi=ws(),ni={exports:{}},B={};var o1;function Ws(){if(o1)return B;o1=1;var M=Symbol.for("react.transitional.element"),hl=Symbol.for("react.portal"),F=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),ml=Symbol.for("react.context"),Rl=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),yl=Symbol.iterator;function wl(v){return v===null||typeof v!="object"?null:(v=yl&&v[yl]||v["@@iterator"],typeof v=="function"?v:null)}var Yl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ql=Object.assign,Dt={};function Wl(v,E,r){this.props=v,this.context=E,this.refs=Dt,this.updater=r||Yl}Wl.prototype.isReactComponent={},Wl.prototype.setState=function(v,E){if(typeof v!="object"&&typeof v!="function"&&v!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,v,E,"setState")},Wl.prototype.forceUpdate=function(v){this.updater.enqueueForceUpdate(this,v,"forceUpdate")};function wt(){}wt.prototype=Wl.prototype;function pl(v,E,r){this.props=v,this.context=E,this.refs=Dt,this.updater=r||Yl}var nt=pl.prototype=new wt;nt.constructor=pl,ql(nt,Wl.prototype),nt.isPureReactComponent=!0;var Tt=Array.isArray;function Gl(){}var L={H:null,A:null,T:null,S:null},jl=Object.prototype.hasOwnProperty;function Et(v,E,r){var D=r.ref;return{$$typeof:M,type:v,key:E,ref:D!==void 0?D:null,props:r}}function Xu(v,E){return Et(v.type,E,v.props)}function At(v){return typeof v=="object"&&v!==null&&v.$$typeof===M}function Xl(v){var E={"=":"=0",":":"=2"};return"$"+v.replace(/[=:]/g,function(r){return E[r]})}var zu=/\/+/g;function Ut(v,E){return typeof v=="object"&&v!==null&&v.key!=null?Xl(""+v.key):E.toString(36)}function St(v){switch(v.status){case"fulfilled":return v.value;case"rejected":throw v.reason;default:switch(typeof v.status=="string"?v.then(Gl,Gl):(v.status="pending",v.then(function(E){v.status==="pending"&&(v.status="fulfilled",v.value=E)},function(E){v.status==="pending"&&(v.status="rejected",v.reason=E)})),v.status){case"fulfilled":return v.value;case"rejected":throw v.reason}}throw v}function b(v,E,r,D,C){var X=typeof v;(X==="undefined"||X==="boolean")&&(v=null);var I=!1;if(v===null)I=!0;else switch(X){case"bigint":case"string":case"number":I=!0;break;case"object":switch(v.$$typeof){case M:case hl:I=!0;break;case k:return I=v._init,b(I(v._payload),E,r,D,C)}}if(I)return C=C(v),I=D===""?"."+Ut(v,0):D,Tt(C)?(r="",I!=null&&(r=I.replace(zu,"$&/")+"/"),b(C,E,r,"",function(ra){return ra})):C!=null&&(At(C)&&(C=Xu(C,r+(C.key==null||v&&v.key===C.key?"":(""+C.key).replace(zu,"$&/")+"/")+I)),E.push(C)),1;I=0;var Bl=D===""?".":D+":";if(Tt(v))for(var ol=0;ol>>1,nl=b[tl];if(0>>1;tlj(r,q))Dj(C,r)?(b[tl]=C,b[D]=q,tl=D):(b[tl]=r,b[E]=q,tl=E);else if(Dj(C,q))b[tl]=C,b[D]=q,tl=D;else break l}}return _}function j(b,_){var q=b.sortIndex-_.sortIndex;return q!==0?q:b.id-_.id}if(M.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var J=performance;M.unstable_now=function(){return J.now()}}else{var ml=Date,Rl=ml.now();M.unstable_now=function(){return ml.now()-Rl}}var p=[],A=[],k=1,R=null,yl=3,wl=!1,Yl=!1,ql=!1,Dt=!1,Wl=typeof setTimeout=="function"?setTimeout:null,wt=typeof clearTimeout=="function"?clearTimeout:null,pl=typeof setImmediate<"u"?setImmediate:null;function nt(b){for(var _=F(A);_!==null;){if(_.callback===null)o(A);else if(_.startTime<=b)o(A),_.sortIndex=_.expirationTime,hl(p,_);else break;_=F(A)}}function Tt(b){if(ql=!1,nt(b),!Yl)if(F(p)!==null)Yl=!0,Gl||(Gl=!0,Xl());else{var _=F(A);_!==null&&St(Tt,_.startTime-b)}}var Gl=!1,L=-1,jl=5,Et=-1;function Xu(){return Dt?!0:!(M.unstable_now()-Etb&&Xu());){var tl=R.callback;if(typeof tl=="function"){R.callback=null,yl=R.priorityLevel;var nl=tl(R.expirationTime<=b);if(b=M.unstable_now(),typeof nl=="function"){R.callback=nl,nt(b),_=!0;break t}R===F(p)&&o(p),nt(b)}else o(p);R=F(p)}if(R!==null)_=!0;else{var v=F(A);v!==null&&St(Tt,v.startTime-b),_=!1}}break l}finally{R=null,yl=q,wl=!1}_=void 0}}finally{_?Xl():Gl=!1}}}var Xl;if(typeof pl=="function")Xl=function(){pl(At)};else if(typeof MessageChannel<"u"){var zu=new MessageChannel,Ut=zu.port2;zu.port1.onmessage=At,Xl=function(){Ut.postMessage(null)}}else Xl=function(){Wl(At,0)};function St(b,_){L=Wl(function(){b(M.unstable_now())},_)}M.unstable_IdlePriority=5,M.unstable_ImmediatePriority=1,M.unstable_LowPriority=4,M.unstable_NormalPriority=3,M.unstable_Profiling=null,M.unstable_UserBlockingPriority=2,M.unstable_cancelCallback=function(b){b.callback=null},M.unstable_forceFrameRate=function(b){0>b||125tl?(b.sortIndex=q,hl(A,b),F(p)===null&&b===F(A)&&(ql?(wt(L),L=-1):ql=!0,St(Tt,q-tl))):(b.sortIndex=nl,hl(p,b),Yl||wl||(Yl=!0,Gl||(Gl=!0,Xl()))),b},M.unstable_shouldYield=Xu,M.unstable_wrapCallback=function(b){var _=yl;return function(){var q=yl;yl=_;try{return b.apply(this,arguments)}finally{yl=q}}}})(ii)),ii}var b1;function Fs(){return b1||(b1=1,ci.exports=$s()),ci.exports}var yi={exports:{}},Nl={};var z1;function ks(){if(z1)return Nl;z1=1;var M=mi();function hl(p){var A="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(M)}catch{}}return M(),yi.exports=ks(),yi.exports}var E1;function Ps(){if(E1)return be;E1=1;var M=Fs(),hl=mi(),F=Is();function o(l){var t="https://react.dev/errors/"+l;if(1nl||(l.current=tl[nl],tl[nl]=null,nl--)}function r(l,t){nl++,tl[nl]=l.current,l.current=t}var D=v(null),C=v(null),X=v(null),I=v(null);function Bl(l,t){switch(r(X,t),r(C,l),r(D,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?Yv(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=Yv(t),l=Gv(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}E(D),r(D,l)}function ol(){E(D),E(C),E(X)}function ra(l){l.memoizedState!==null&&r(I,l);var t=D.current,u=Gv(t,l.type);t!==u&&(r(C,l),r(D,u))}function ze(l){C.current===l&&(E(D),E(C)),I.current===l&&(E(I),de._currentValue=q)}var Xn,si;function Tu(l){if(Xn===void 0)try{throw Error()}catch(u){var t=u.stack.trim().match(/\n( *(at )?)/);Xn=t&&t[1]||"",si=-1)":-1e||i[a]!==d[e]){var g=`
+`+i[a].replace(" at new "," at ");return l.displayName&&g.includes("")&&(g=g.replace("",l.displayName)),g}while(1<=a&&0<=e);break}}}finally{Qn=!1,Error.prepareStackTrace=u}return(u=l?l.displayName||l.name:"")?Tu(u):""}function _1(l,t){switch(l.tag){case 26:case 27:case 5:return Tu(l.type);case 16:return Tu("Lazy");case 13:return l.child!==t&&t!==null?Tu("Suspense Fallback"):Tu("Suspense");case 19:return Tu("SuspenseList");case 0:case 15:return Zn(l.type,!1);case 11:return Zn(l.type.render,!1);case 1:return Zn(l.type,!0);case 31:return Tu("Activity");default:return""}}function di(l){try{var t="",u=null;do t+=_1(l,u),u=l,l=l.return;while(l);return t}catch(a){return`
+Error generating stack: `+a.message+`
+`+a.stack}}var Vn=Object.prototype.hasOwnProperty,xn=M.unstable_scheduleCallback,Ln=M.unstable_cancelCallback,r1=M.unstable_shouldYield,O1=M.unstable_requestPaint,$l=M.unstable_now,M1=M.unstable_getCurrentPriorityLevel,hi=M.unstable_ImmediatePriority,oi=M.unstable_UserBlockingPriority,Te=M.unstable_NormalPriority,D1=M.unstable_LowPriority,Si=M.unstable_IdlePriority,U1=M.log,H1=M.unstable_setDisableYieldValue,Oa=null,Fl=null;function Wt(l){if(typeof U1=="function"&&H1(l),Fl&&typeof Fl.setStrictMode=="function")try{Fl.setStrictMode(Oa,l)}catch{}}var kl=Math.clz32?Math.clz32:R1,p1=Math.log,N1=Math.LN2;function R1(l){return l>>>=0,l===0?32:31-(p1(l)/N1|0)|0}var Ee=256,Ae=262144,_e=4194304;function Eu(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function re(l,t,u){var a=l.pendingLanes;if(a===0)return 0;var e=0,n=l.suspendedLanes,f=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?e=Eu(a):(f&=c,f!==0?e=Eu(f):u||(u=c&~l,u!==0&&(e=Eu(u))))):(c=a&~n,c!==0?e=Eu(c):f!==0?e=Eu(f):u||(u=a&~l,u!==0&&(e=Eu(u)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,u=t&-t,n>=u||n===32&&(u&4194048)!==0)?t:e}function Ma(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function q1(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function gi(){var l=_e;return _e<<=1,(_e&62914560)===0&&(_e=4194304),l}function Kn(l){for(var t=[],u=0;31>u;u++)t.push(l);return t}function Da(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function B1(l,t,u,a,e,n){var f=l.pendingLanes;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=u,l.entangledLanes&=u,l.errorRecoveryDisabledLanes&=u,l.shellSuspendCounter=0;var c=l.entanglements,i=l.expirationTimes,d=l.hiddenUpdates;for(u=f&~u;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var Q1=/[\n"\\]/g;function ct(l){return l.replace(Q1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function kn(l,t,u,a,e,n,f,c){l.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.type=f:l.removeAttribute("type"),t!=null?f==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+ft(t)):l.value!==""+ft(t)&&(l.value=""+ft(t)):f!=="submit"&&f!=="reset"||l.removeAttribute("value"),t!=null?In(l,f,ft(t)):u!=null?In(l,f,ft(u)):a!=null&&l.removeAttribute("value"),e==null&&n!=null&&(l.defaultChecked=!!n),e!=null&&(l.checked=e&&typeof e!="function"&&typeof e!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+ft(c):l.removeAttribute("name")}function pi(l,t,u,a,e,n,f,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||u!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){Fn(l);return}u=u!=null?""+ft(u):"",t=t!=null?""+ft(t):u,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??e,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(l.name=f),Fn(l)}function In(l,t,u){t==="number"&&De(l.ownerDocument)===l||l.defaultValue===""+u||(l.defaultValue=""+u)}function Ku(l,t,u,a){if(l=l.options,t){t={};for(var e=0;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),af=!1;if(Nt)try{var Na={};Object.defineProperty(Na,"passive",{get:function(){af=!0}}),window.addEventListener("test",Na,Na),window.removeEventListener("test",Na,Na)}catch{af=!1}var Ft=null,ef=null,He=null;function Gi(){if(He)return He;var l,t=ef,u=t.length,a,e="value"in Ft?Ft.value:Ft.textContent,n=e.length;for(l=0;l=Ba),xi=" ",Li=!1;function Ki(l,t){switch(l){case"keyup":return hm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ji(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var $u=!1;function Sm(l,t){switch(l){case"compositionend":return Ji(t);case"keypress":return t.which!==32?null:(Li=!0,xi);case"textInput":return l=t.data,l===xi&&Li?null:l;default:return null}}function gm(l,t){if($u)return l==="compositionend"||!vf&&Ki(l,t)?(l=Gi(),He=ef=Ft=null,$u=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:u,offset:t-l};l=a}l:{for(;u;){if(u.nextSibling){u=u.nextSibling;break l}u=u.parentNode}u=void 0}u=l0(u)}}function u0(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?u0(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function a0(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=De(l.document);t instanceof l.HTMLIFrameElement;){try{var u=typeof t.contentWindow.location.href=="string"}catch{u=!1}if(u)l=t.contentWindow;else break;t=De(l.document)}return t}function df(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Om=Nt&&"documentMode"in document&&11>=document.documentMode,Fu=null,hf=null,ja=null,of=!1;function e0(l,t,u){var a=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;of||Fu==null||Fu!==De(a)||(a=Fu,"selectionStart"in a&&df(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ja&&Ga(ja,a)||(ja=a,a=_n(hf,"onSelect"),0>=f,e-=f,_t=1<<32-kl(t)+e|u<G?(x=U,U=null):x=U.sibling;var W=h(m,U,s[G],z);if(W===null){U===null&&(U=x);break}l&&U&&W.alternate===null&&t(m,U),y=n(W,y,G),w===null?H=W:w.sibling=W,w=W,U=x}if(G===s.length)return u(m,U),K&&qt(m,G),H;if(U===null){for(;GG?(x=U,U=null):x=U.sibling;var bu=h(m,U,W.value,z);if(bu===null){U===null&&(U=x);break}l&&U&&bu.alternate===null&&t(m,U),y=n(bu,y,G),w===null?H=bu:w.sibling=bu,w=bu,U=x}if(W.done)return u(m,U),K&&qt(m,G),H;if(U===null){for(;!W.done;G++,W=s.next())W=T(m,W.value,z),W!==null&&(y=n(W,y,G),w===null?H=W:w.sibling=W,w=W);return K&&qt(m,G),H}for(U=a(U);!W.done;G++,W=s.next())W=S(U,m,G,W.value,z),W!==null&&(l&&W.alternate!==null&&U.delete(W.key===null?G:W.key),y=n(W,y,G),w===null?H=W:w.sibling=W,w=W);return l&&U.forEach(function(Ks){return t(m,Ks)}),K&&qt(m,G),H}function el(m,y,s,z){if(typeof s=="object"&&s!==null&&s.type===ql&&s.key===null&&(s=s.props.children),typeof s=="object"&&s!==null){switch(s.$$typeof){case wl:l:{for(var H=s.key;y!==null;){if(y.key===H){if(H=s.type,H===ql){if(y.tag===7){u(m,y.sibling),z=e(y,s.props.children),z.return=m,m=z;break l}}else if(y.elementType===H||typeof H=="object"&&H!==null&&H.$$typeof===jl&&Ru(H)===y.type){u(m,y.sibling),z=e(y,s.props),La(z,s),z.return=m,m=z;break l}u(m,y);break}else t(m,y);y=y.sibling}s.type===ql?(z=Du(s.props.children,m.mode,z,s.key),z.return=m,m=z):(z=Xe(s.type,s.key,s.props,null,m.mode,z),La(z,s),z.return=m,m=z)}return f(m);case Yl:l:{for(H=s.key;y!==null;){if(y.key===H)if(y.tag===4&&y.stateNode.containerInfo===s.containerInfo&&y.stateNode.implementation===s.implementation){u(m,y.sibling),z=e(y,s.children||[]),z.return=m,m=z;break l}else{u(m,y);break}else t(m,y);y=y.sibling}z=Af(s,m.mode,z),z.return=m,m=z}return f(m);case jl:return s=Ru(s),el(m,y,s,z)}if(St(s))return O(m,y,s,z);if(Xl(s)){if(H=Xl(s),typeof H!="function")throw Error(o(150));return s=H.call(s),N(m,y,s,z)}if(typeof s.then=="function")return el(m,y,Je(s),z);if(s.$$typeof===pl)return el(m,y,Ve(m,s),z);we(m,s)}return typeof s=="string"&&s!==""||typeof s=="number"||typeof s=="bigint"?(s=""+s,y!==null&&y.tag===6?(u(m,y.sibling),z=e(y,s),z.return=m,m=z):(u(m,y),z=Ef(s,m.mode,z),z.return=m,m=z),f(m)):u(m,y)}return function(m,y,s,z){try{xa=0;var H=el(m,y,s,z);return ca=null,H}catch(U){if(U===fa||U===Le)throw U;var w=Pl(29,U,null,m.mode);return w.lanes=z,w.return=m,w}}}var Bu=D0(!0),U0=D0(!1),tu=!1;function Bf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Cf(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function uu(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function au(l,t,u){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,($&2)!==0){var e=a.pending;return e===null?t.next=t:(t.next=e.next,e.next=t),a.pending=t,t=je(l),m0(l,null,u),t}return Ge(l,a,t,u),je(l)}function Ka(l,t,u){if(t=t.updateQueue,t!==null&&(t=t.shared,(u&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,zi(l,u)}}function Yf(l,t){var u=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,u===a)){var e=null,n=null;if(u=u.firstBaseUpdate,u!==null){do{var f={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};n===null?e=n=f:n=n.next=f,u=u.next}while(u!==null);n===null?e=n=t:n=n.next=t}else e=n=t;u={baseState:a.baseState,firstBaseUpdate:e,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},l.updateQueue=u;return}l=u.lastBaseUpdate,l===null?u.firstBaseUpdate=t:l.next=t,u.lastBaseUpdate=t}var Gf=!1;function Ja(){if(Gf){var l=na;if(l!==null)throw l}}function wa(l,t,u,a){Gf=!1;var e=l.updateQueue;tu=!1;var n=e.firstBaseUpdate,f=e.lastBaseUpdate,c=e.shared.pending;if(c!==null){e.shared.pending=null;var i=c,d=i.next;i.next=null,f===null?n=d:f.next=d,f=i;var g=l.alternate;g!==null&&(g=g.updateQueue,c=g.lastBaseUpdate,c!==f&&(c===null?g.firstBaseUpdate=d:c.next=d,g.lastBaseUpdate=i))}if(n!==null){var T=e.baseState;f=0,g=d=i=null,c=n;do{var h=c.lane&-536870913,S=h!==c.lane;if(S?(V&h)===h:(a&h)===h){h!==0&&h===ea&&(Gf=!0),g!==null&&(g=g.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var O=l,N=c;h=t;var el=u;switch(N.tag){case 1:if(O=N.payload,typeof O=="function"){T=O.call(el,T,h);break l}T=O;break l;case 3:O.flags=O.flags&-65537|128;case 0:if(O=N.payload,h=typeof O=="function"?O.call(el,T,h):O,h==null)break l;T=R({},T,h);break l;case 2:tu=!0}}h=c.callback,h!==null&&(l.flags|=64,S&&(l.flags|=8192),S=e.callbacks,S===null?e.callbacks=[h]:S.push(h))}else S={lane:h,tag:c.tag,payload:c.payload,callback:c.callback,next:null},g===null?(d=g=S,i=T):g=g.next=S,f|=h;if(c=c.next,c===null){if(c=e.shared.pending,c===null)break;S=c,c=S.next,S.next=null,e.lastBaseUpdate=S,e.shared.pending=null}}while(!0);g===null&&(i=T),e.baseState=i,e.firstBaseUpdate=d,e.lastBaseUpdate=g,n===null&&(e.shared.lanes=0),iu|=f,l.lanes=f,l.memoizedState=T}}function H0(l,t){if(typeof l!="function")throw Error(o(191,l));l.call(t)}function p0(l,t){var u=l.callbacks;if(u!==null)for(l.callbacks=null,l=0;ln?n:8;var f=b.T,c={};b.T=c,uc(l,!1,t,u);try{var i=e(),d=b.S;if(d!==null&&d(c,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var g=Bm(i,a);Fa(l,t,g,et(l))}else Fa(l,t,a,et(l))}catch(T){Fa(l,t,{then:function(){},status:"rejected",reason:T},et())}finally{_.p=n,f!==null&&c.types!==null&&(f.types=c.types),b.T=f}}function Qm(){}function lc(l,t,u,a){if(l.tag!==5)throw Error(o(476));var e=iy(l).queue;cy(l,e,t,q,u===null?Qm:function(){return yy(l),u(a)})}function iy(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:q},next:null};var u={};return t.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:u},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function yy(l){var t=iy(l);t.next===null&&(t=l.alternate.memoizedState),Fa(l,t.next.queue,{},et())}function tc(){return Dl(de)}function vy(){return gl().memoizedState}function my(){return gl().memoizedState}function Zm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var u=et();l=uu(u);var a=au(t,l,u);a!==null&&(Jl(a,t,u),Ka(a,t,u)),t={cache:pf()},l.payload=t;return}t=t.return}}function Vm(l,t,u){var a=et();u={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},an(l)?dy(t,u):(u=zf(l,t,u,a),u!==null&&(Jl(u,l,a),hy(u,t,a)))}function sy(l,t,u){var a=et();Fa(l,t,u,a)}function Fa(l,t,u,a){var e={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null};if(an(l))dy(t,e);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var f=t.lastRenderedState,c=n(f,u);if(e.hasEagerState=!0,e.eagerState=c,Il(c,f))return Ge(l,t,e,0),fl===null&&Ye(),!1}catch{}if(u=zf(l,t,e,a),u!==null)return Jl(u,l,a),hy(u,t,a),!0}return!1}function uc(l,t,u,a){if(a={lane:2,revertLane:Bc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},an(l)){if(t)throw Error(o(479))}else t=zf(l,u,a,2),t!==null&&Jl(t,l,2)}function an(l){var t=l.alternate;return l===Y||t!==null&&t===Y}function dy(l,t){ya=Fe=!0;var u=l.pending;u===null?t.next=t:(t.next=u.next,u.next=t),l.pending=t}function hy(l,t,u){if((u&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,zi(l,u)}}var ka={readContext:Dl,use:Pe,useCallback:sl,useContext:sl,useEffect:sl,useImperativeHandle:sl,useLayoutEffect:sl,useInsertionEffect:sl,useMemo:sl,useReducer:sl,useRef:sl,useState:sl,useDebugValue:sl,useDeferredValue:sl,useTransition:sl,useSyncExternalStore:sl,useId:sl,useHostTransitionStatus:sl,useFormState:sl,useActionState:sl,useOptimistic:sl,useMemoCache:sl,useCacheRefresh:sl};ka.useEffectEvent=sl;var oy={readContext:Dl,use:Pe,useCallback:function(l,t){return Cl().memoizedState=[l,t===void 0?null:t],l},useContext:Dl,useEffect:I0,useImperativeHandle:function(l,t,u){u=u!=null?u.concat([l]):null,tn(4194308,4,uy.bind(null,t,l),u)},useLayoutEffect:function(l,t){return tn(4194308,4,l,t)},useInsertionEffect:function(l,t){tn(4,2,l,t)},useMemo:function(l,t){var u=Cl();t=t===void 0?null:t;var a=l();if(Cu){Wt(!0);try{l()}finally{Wt(!1)}}return u.memoizedState=[a,t],a},useReducer:function(l,t,u){var a=Cl();if(u!==void 0){var e=u(t);if(Cu){Wt(!0);try{u(t)}finally{Wt(!1)}}}else e=t;return a.memoizedState=a.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:e},a.queue=l,l=l.dispatch=Vm.bind(null,Y,l),[a.memoizedState,l]},useRef:function(l){var t=Cl();return l={current:l},t.memoizedState=l},useState:function(l){l=$f(l);var t=l.queue,u=sy.bind(null,Y,t);return t.dispatch=u,[l.memoizedState,u]},useDebugValue:If,useDeferredValue:function(l,t){var u=Cl();return Pf(u,l,t)},useTransition:function(){var l=$f(!1);return l=cy.bind(null,Y,l.queue,!0,!1),Cl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,u){var a=Y,e=Cl();if(K){if(u===void 0)throw Error(o(407));u=u()}else{if(u=t(),fl===null)throw Error(o(349));(V&127)!==0||Y0(a,t,u)}e.memoizedState=u;var n={value:u,getSnapshot:t};return e.queue=n,I0(j0.bind(null,a,n,l),[l]),a.flags|=2048,ma(9,{destroy:void 0},G0.bind(null,a,n,u,t),null),u},useId:function(){var l=Cl(),t=fl.identifierPrefix;if(K){var u=rt,a=_t;u=(a&~(1<<32-kl(a)-1)).toString(32)+u,t="_"+t+"R_"+u,u=ke++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?f.createElement("select",{is:a.is}):f.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?f.createElement(e,{is:a.is}):f.createElement(e)}}n[Ol]=t,n[Ql]=a;l:for(f=t.child;f!==null;){if(f.tag===5||f.tag===6)n.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===t)break l;for(;f.sibling===null;){if(f.return===null||f.return===t)break l;f=f.return}f.sibling.return=f.return,f=f.sibling}t.stateNode=n;l:switch(Hl(n,e,a),e){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&Xt(t)}}return il(t),Sc(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,u),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&Xt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(l=X.current,ua(t)){if(l=t.stateNode,u=t.memoizedProps,a=null,e=Ml,e!==null)switch(e.tag){case 27:case 5:a=e.memoizedProps}l[Ol]=t,l=!!(l.nodeValue===u||a!==null&&a.suppressHydrationWarning===!0||Bv(l.nodeValue,u)),l||Pt(t,!0)}else l=rn(l).createTextNode(a),l[Ol]=t,t.stateNode=l}return il(t),null;case 31:if(u=t.memoizedState,l===null||l.memoizedState!==null){if(a=ua(t),u!==null){if(l===null){if(!a)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(557));l[Ol]=t}else Uu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),l=!1}else u=Mf(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),l=!0;if(!l)return t.flags&256?(tt(t),t):(tt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return il(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(e=ua(t),a!==null&&a.dehydrated!==null){if(l===null){if(!e)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));e[Ol]=t}else Uu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),e=!1}else e=Mf(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),e=!0;if(!e)return t.flags&256?(tt(t),t):(tt(t),null)}return tt(t),(t.flags&128)!==0?(t.lanes=u,t):(u=a!==null,l=l!==null&&l.memoizedState!==null,u&&(a=t.child,e=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(e=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==e&&(a.flags|=2048)),u!==l&&u&&(t.child.flags|=8192),yn(t,t.updateQueue),il(t),null);case 4:return ol(),l===null&&jc(t.stateNode.containerInfo),il(t),null;case 10:return Ct(t.type),il(t),null;case 19:if(E(Sl),a=t.memoizedState,a===null)return il(t),null;if(e=(t.flags&128)!==0,n=a.rendering,n===null)if(e)Pa(a,!1);else{if(dl!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=$e(l),n!==null){for(t.flags|=128,Pa(a,!1),l=n.updateQueue,t.updateQueue=l,yn(t,l),t.subtreeFlags=0,l=u,u=t.child;u!==null;)s0(u,l),u=u.sibling;return r(Sl,Sl.current&1|2),K&&qt(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&$l()>hn&&(t.flags|=128,e=!0,Pa(a,!1),t.lanes=4194304)}else{if(!e)if(l=$e(n),l!==null){if(t.flags|=128,e=!0,l=l.updateQueue,t.updateQueue=l,yn(t,l),Pa(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!K)return il(t),null}else 2*$l()-a.renderingStartTime>hn&&u!==536870912&&(t.flags|=128,e=!0,Pa(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(l=a.last,l!==null?l.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=$l(),l.sibling=null,u=Sl.current,r(Sl,e?u&1|2:u&1),K&&qt(t,a.treeForkCount),l):(il(t),null);case 22:case 23:return tt(t),Xf(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(u&536870912)!==0&&(t.flags&128)===0&&(il(t),t.subtreeFlags&6&&(t.flags|=8192)):il(t),u=t.updateQueue,u!==null&&yn(t,u.retryQueue),u=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==u&&(t.flags|=2048),l!==null&&E(Nu),null;case 24:return u=null,l!==null&&(u=l.memoizedState.cache),t.memoizedState.cache!==u&&(t.flags|=2048),Ct(bl),il(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function wm(l,t){switch(rf(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return Ct(bl),ol(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return ze(t),null;case 31:if(t.memoizedState!==null){if(tt(t),t.alternate===null)throw Error(o(340));Uu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(tt(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Uu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return E(Sl),null;case 4:return ol(),null;case 10:return Ct(t.type),null;case 22:case 23:return tt(t),Xf(),l!==null&&E(Nu),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return Ct(bl),null;case 25:return null;default:return null}}function Xy(l,t){switch(rf(t),t.tag){case 3:Ct(bl),ol();break;case 26:case 27:case 5:ze(t);break;case 4:ol();break;case 31:t.memoizedState!==null&&tt(t);break;case 13:tt(t);break;case 19:E(Sl);break;case 10:Ct(t.type);break;case 22:case 23:tt(t),Xf(),l!==null&&E(Nu);break;case 24:Ct(bl)}}function le(l,t){try{var u=t.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var e=a.next;u=e;do{if((u.tag&l)===l){a=void 0;var n=u.create,f=u.inst;a=n(),f.destroy=a}u=u.next}while(u!==e)}}catch(c){ll(t,t.return,c)}}function fu(l,t,u){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var n=e.next;a=n;do{if((a.tag&l)===l){var f=a.inst,c=f.destroy;if(c!==void 0){f.destroy=void 0,e=t;var i=u,d=c;try{d()}catch(g){ll(e,i,g)}}}a=a.next}while(a!==n)}}catch(g){ll(t,t.return,g)}}function Qy(l){var t=l.updateQueue;if(t!==null){var u=l.stateNode;try{p0(t,u)}catch(a){ll(l,l.return,a)}}}function Zy(l,t,u){u.props=Yu(l.type,l.memoizedProps),u.state=l.memoizedState;try{u.componentWillUnmount()}catch(a){ll(l,t,a)}}function te(l,t){try{var u=l.ref;if(u!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof u=="function"?l.refCleanup=u(a):u.current=a}}catch(e){ll(l,t,e)}}function Ot(l,t){var u=l.ref,a=l.refCleanup;if(u!==null)if(typeof a=="function")try{a()}catch(e){ll(l,t,e)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(e){ll(l,t,e)}else u.current=null}function Vy(l){var t=l.type,u=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break l;case"img":u.src?a.src=u.src:u.srcSet&&(a.srcset=u.srcSet)}}catch(e){ll(l,l.return,e)}}function gc(l,t,u){try{var a=l.stateNode;os(a,l.type,u,t),a[Ql]=t}catch(e){ll(l,l.return,e)}}function xy(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&du(l.type)||l.tag===4}function bc(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||xy(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&du(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function zc(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u).insertBefore(l,t):(t=u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u,t.appendChild(l),u=u._reactRootContainer,u!=null||t.onclick!==null||(t.onclick=pt));else if(a!==4&&(a===27&&du(l.type)&&(u=l.stateNode,t=null),l=l.child,l!==null))for(zc(l,t,u),l=l.sibling;l!==null;)zc(l,t,u),l=l.sibling}function vn(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?u.insertBefore(l,t):u.appendChild(l);else if(a!==4&&(a===27&&du(l.type)&&(u=l.stateNode),l=l.child,l!==null))for(vn(l,t,u),l=l.sibling;l!==null;)vn(l,t,u),l=l.sibling}function Ly(l){var t=l.stateNode,u=l.memoizedProps;try{for(var a=l.type,e=t.attributes;e.length;)t.removeAttributeNode(e[0]);Hl(t,a,u),t[Ol]=l,t[Ql]=u}catch(n){ll(l,l.return,n)}}var Qt=!1,El=!1,Tc=!1,Ky=typeof WeakSet=="function"?WeakSet:Set,rl=null;function Wm(l,t){if(l=l.containerInfo,Zc=Nn,l=a0(l),df(l)){if("selectionStart"in l)var u={start:l.selectionStart,end:l.selectionEnd};else l:{u=(u=l.ownerDocument)&&u.defaultView||window;var a=u.getSelection&&u.getSelection();if(a&&a.rangeCount!==0){u=a.anchorNode;var e=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{u.nodeType,n.nodeType}catch{u=null;break l}var f=0,c=-1,i=-1,d=0,g=0,T=l,h=null;t:for(;;){for(var S;T!==u||e!==0&&T.nodeType!==3||(c=f+e),T!==n||a!==0&&T.nodeType!==3||(i=f+a),T.nodeType===3&&(f+=T.nodeValue.length),(S=T.firstChild)!==null;)h=T,T=S;for(;;){if(T===l)break t;if(h===u&&++d===e&&(c=f),h===n&&++g===a&&(i=f),(S=T.nextSibling)!==null)break;T=h,h=T.parentNode}T=S}u=c===-1||i===-1?null:{start:c,end:i}}else u=null}u=u||{start:0,end:0}}else u=null;for(Vc={focusedElem:l,selectionRange:u},Nn=!1,rl=t;rl!==null;)if(t=rl,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,rl=l;else for(;rl!==null;){switch(t=rl,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(u=0;u title"))),Hl(n,a,u),n[Ol]=l,_l(n),a=n;break l;case"link":var f=kv("link","href",e).get(a+(u.href||""));if(f){for(var c=0;cel&&(f=el,el=N,N=f);var m=t0(c,N),y=t0(c,el);if(m&&y&&(S.rangeCount!==1||S.anchorNode!==m.node||S.anchorOffset!==m.offset||S.focusNode!==y.node||S.focusOffset!==y.offset)){var s=T.createRange();s.setStart(m.node,m.offset),S.removeAllRanges(),N>el?(S.addRange(s),S.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),S.addRange(s))}}}}for(T=[],S=c;S=S.parentNode;)S.nodeType===1&&T.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;cu?32:u,b.T=null,u=Dc,Dc=null;var n=vu,f=Kt;if(Al=0,Sa=vu=null,Kt=0,($&6)!==0)throw Error(o(331));var c=$;if($|=4,uv(n.current),Py(n,n.current,f,u),$=c,ce(0,!1),Fl&&typeof Fl.onPostCommitFiberRoot=="function")try{Fl.onPostCommitFiberRoot(Oa,n)}catch{}return!0}finally{_.p=e,b.T=a,Tv(l,t)}}function Av(l,t,u){t=yt(u,t),t=fc(l.stateNode,t,2),l=au(l,t,2),l!==null&&(Da(l,2),Mt(l))}function ll(l,t,u){if(l.tag===3)Av(l,l,u);else for(;t!==null;){if(t.tag===3){Av(t,l,u);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(yu===null||!yu.has(a))){l=yt(u,l),u=_y(2),a=au(t,u,2),a!==null&&(ry(u,a,t,l),Da(a,2),Mt(a));break}}t=t.return}}function Nc(l,t,u){var a=l.pingCache;if(a===null){a=l.pingCache=new km;var e=new Set;a.set(t,e)}else e=a.get(t),e===void 0&&(e=new Set,a.set(t,e));e.has(u)||(_c=!0,e.add(u),l=us.bind(null,l,t,u),t.then(l,l))}function us(l,t,u){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&u,l.warmLanes&=~u,fl===l&&(V&u)===u&&(dl===4||dl===3&&(V&62914560)===V&&300>$l()-dn?($&2)===0&&ga(l,0):rc|=u,oa===V&&(oa=0)),Mt(l)}function _v(l,t){t===0&&(t=gi()),l=Mu(l,t),l!==null&&(Da(l,t),Mt(l))}function as(l){var t=l.memoizedState,u=0;t!==null&&(u=t.retryLane),_v(l,u)}function es(l,t){var u=0;switch(l.tag){case 31:case 13:var a=l.stateNode,e=l.memoizedState;e!==null&&(u=e.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),_v(l,u)}function ns(l,t){return xn(l,t)}var Tn=null,za=null,Rc=!1,En=!1,qc=!1,su=0;function Mt(l){l!==za&&l.next===null&&(za===null?Tn=za=l:za=za.next=l),En=!0,Rc||(Rc=!0,cs())}function ce(l,t){if(!qc&&En){qc=!0;do for(var u=!1,a=Tn;a!==null;){if(l!==0){var e=a.pendingLanes;if(e===0)var n=0;else{var f=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-kl(42|l)+1)-1,n&=e&~(f&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(u=!0,Dv(a,n))}else n=V,n=re(a,a===fl?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(n&3)===0||Ma(a,n)||(u=!0,Dv(a,n));a=a.next}while(u);qc=!1}}function fs(){rv()}function rv(){En=Rc=!1;var l=0;su!==0&&gs()&&(l=su);for(var t=$l(),u=null,a=Tn;a!==null;){var e=a.next,n=Ov(a,t);n===0?(a.next=null,u===null?Tn=e:u.next=e,e===null&&(za=u)):(u=a,(l!==0||(n&3)!==0)&&(En=!0)),a=e}Al!==0&&Al!==5||ce(l),su!==0&&(su=0)}function Ov(l,t){for(var u=l.suspendedLanes,a=l.pingedLanes,e=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var g=i.transferSize,T=i.initiatorType;g&&Cv(T)&&(i=i.responseEnd,f+=g*(i"u"?null:document;function wv(l,t,u){var a=Ta;if(a&&typeof t=="string"&&t){var e=ct(t);e='link[rel="'+l+'"][href="'+e+'"]',typeof u=="string"&&(e+='[crossorigin="'+u+'"]'),Jv.has(e)||(Jv.add(e),l={rel:l,crossOrigin:u,href:t},a.querySelector(e)===null&&(t=a.createElement("link"),Hl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Ms(l){Jt.D(l),wv("dns-prefetch",l,null)}function Ds(l,t){Jt.C(l,t),wv("preconnect",l,t)}function Us(l,t,u){Jt.L(l,t,u);var a=Ta;if(a&&l&&t){var e='link[rel="preload"][as="'+ct(t)+'"]';t==="image"&&u&&u.imageSrcSet?(e+='[imagesrcset="'+ct(u.imageSrcSet)+'"]',typeof u.imageSizes=="string"&&(e+='[imagesizes="'+ct(u.imageSizes)+'"]')):e+='[href="'+ct(l)+'"]';var n=e;switch(t){case"style":n=Ea(l);break;case"script":n=Aa(l)}ot.has(n)||(l=R({rel:"preload",href:t==="image"&&u&&u.imageSrcSet?void 0:l,as:t},u),ot.set(n,l),a.querySelector(e)!==null||t==="style"&&a.querySelector(me(n))||t==="script"&&a.querySelector(se(n))||(t=a.createElement("link"),Hl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Hs(l,t){Jt.m(l,t);var u=Ta;if(u&&l){var a=t&&typeof t.as=="string"?t.as:"script",e='link[rel="modulepreload"][as="'+ct(a)+'"][href="'+ct(l)+'"]',n=e;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Aa(l)}if(!ot.has(n)&&(l=R({rel:"modulepreload",href:l},t),ot.set(n,l),u.querySelector(e)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(u.querySelector(se(n)))return}a=u.createElement("link"),Hl(a,"link",l),_l(a),u.head.appendChild(a)}}}function ps(l,t,u){Jt.S(l,t,u);var a=Ta;if(a&&l){var e=xu(a).hoistableStyles,n=Ea(l);t=t||"default";var f=e.get(n);if(!f){var c={loading:0,preload:null};if(f=a.querySelector(me(n)))c.loading=5;else{l=R({rel:"stylesheet",href:l,"data-precedence":t},u),(u=ot.get(n))&&$c(l,u);var i=f=a.createElement("link");_l(i),Hl(i,"link",l),i._p=new Promise(function(d,g){i.onload=d,i.onerror=g}),i.addEventListener("load",function(){c.loading|=1}),i.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Mn(f,t,a)}f={type:"stylesheet",instance:f,count:1,state:c},e.set(n,f)}}}function Ns(l,t){Jt.X(l,t);var u=Ta;if(u&&l){var a=xu(u).hoistableScripts,e=Aa(l),n=a.get(e);n||(n=u.querySelector(se(e)),n||(l=R({src:l,async:!0},t),(t=ot.get(e))&&Fc(l,t),n=u.createElement("script"),_l(n),Hl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Rs(l,t){Jt.M(l,t);var u=Ta;if(u&&l){var a=xu(u).hoistableScripts,e=Aa(l),n=a.get(e);n||(n=u.querySelector(se(e)),n||(l=R({src:l,async:!0,type:"module"},t),(t=ot.get(e))&&Fc(l,t),n=u.createElement("script"),_l(n),Hl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Wv(l,t,u,a){var e=(e=X.current)?On(e):null;if(!e)throw Error(o(446));switch(l){case"meta":case"title":return null;case"style":return typeof u.precedence=="string"&&typeof u.href=="string"?(t=Ea(u.href),u=xu(e).hoistableStyles,a=u.get(t),a||(a={type:"style",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(u.rel==="stylesheet"&&typeof u.href=="string"&&typeof u.precedence=="string"){l=Ea(u.href);var n=xu(e).hoistableStyles,f=n.get(l);if(f||(e=e.ownerDocument||e,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,f),(n=e.querySelector(me(l)))&&!n._p&&(f.instance=n,f.state.loading=5),ot.has(l)||(u={rel:"preload",as:"style",href:u.href,crossOrigin:u.crossOrigin,integrity:u.integrity,media:u.media,hrefLang:u.hrefLang,referrerPolicy:u.referrerPolicy},ot.set(l,u),n||qs(e,l,u,f.state))),t&&a===null)throw Error(o(528,""));return f}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=u.async,u=u.src,typeof u=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Aa(u),u=xu(e).hoistableScripts,a=u.get(t),a||(a={type:"script",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,l))}}function Ea(l){return'href="'+ct(l)+'"'}function me(l){return'link[rel="stylesheet"]['+l+"]"}function $v(l){return R({},l,{"data-precedence":l.precedence,precedence:null})}function qs(l,t,u,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Hl(t,"link",u),_l(t),l.head.appendChild(t))}function Aa(l){return'[src="'+ct(l)+'"]'}function se(l){return"script[async]"+l}function Fv(l,t,u){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+ct(u.href)+'"]');if(a)return t.instance=a,_l(a),a;var e=R({},u,{"data-href":u.href,"data-precedence":u.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),_l(a),Hl(a,"style",e),Mn(a,u.precedence,l),t.instance=a;case"stylesheet":e=Ea(u.href);var n=l.querySelector(me(e));if(n)return t.state.loading|=4,t.instance=n,_l(n),n;a=$v(u),(e=ot.get(e))&&$c(a,e),n=(l.ownerDocument||l).createElement("link"),_l(n);var f=n;return f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Hl(n,"link",a),t.state.loading|=4,Mn(n,u.precedence,l),t.instance=n;case"script":return n=Aa(u.src),(e=l.querySelector(se(n)))?(t.instance=e,_l(e),e):(a=u,(e=ot.get(n))&&(a=R({},u),Fc(a,e)),l=l.ownerDocument||l,e=l.createElement("script"),_l(e),Hl(e,"link",a),l.head.appendChild(e),t.instance=e);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Mn(a,u.precedence,l));return t.instance}function Mn(l,t,u){for(var a=u.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),e=a.length?a[a.length-1]:null,n=e,f=0;f title"):null)}function Bs(l,t,u){if(u===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Pv(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function Cs(l,t,u,a){if(u.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var e=Ea(a.href),n=t.querySelector(me(e));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Un.bind(l),t.then(l,l)),u.state.loading|=4,u.instance=n,_l(n);return}n=t.ownerDocument||t,a=$v(a),(e=ot.get(e))&&$c(a,e),n=n.createElement("link"),_l(n);var f=n;f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Hl(n,"link",a),u.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(u,t),(t=u.state.preload)&&(u.state.loading&3)===0&&(l.count++,u=Un.bind(l),t.addEventListener("load",u),t.addEventListener("error",u))}}var kc=0;function Ys(l,t){return l.stylesheets&&l.count===0&&pn(l,l.stylesheets),0kc?50:800)+t);return l.unsuspend=u,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(e)}}:null}function Un(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)pn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Hn=null;function pn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Hn=new Map,t.forEach(Gs,l),Hn=null,Un.call(l))}function Gs(l,t){if(!(t.state.loading&4)){var u=Hn.get(l);if(u)var a=u.get(null);else{u=new Map,Hn.set(l,u);for(var e=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(M)}catch{}}return M(),fi.exports=Ps(),fi.exports}var sd=ld();const td="_button_gy5mj_5",ud="_fullWidth_gy5mj_26",ad="_primary_gy5mj_30",ed="_secondary_gy5mj_35",nd="_settings_gy5mj_44",fd="_github_gy5mj_49",cd="_support_gy5mj_54",id="_small_gy5mj_59",yd="_medium_gy5mj_65",vd="_large_gy5mj_70",jn={"d-none":"_d-none_gy5mj_1",button:td,fullWidth:ud,primary:ad,secondary:ed,settings:nd,github:fd,support:cd,small:id,medium:yd,large:vd},dd=({variant:M="primary",size:hl="medium",fullWidth:F=!1,children:o,className:j,...J})=>{const ml=[jn.button,jn[M],jn[hl],F&&jn.fullWidth,j].filter(Boolean).join(" ");return vi.jsx("button",{type:"button",className:ml,...J,children:o})},hd=({size:M=14})=>vi.jsx("svg",{width:M,height:M,viewBox:"0 0 24 24",fill:"currentColor",children:vi.jsx("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})});export{dd as B,hd as G,sd as c,vi as j,md as r};
diff --git a/chrome/assets/js/background.bundle.js b/chrome/assets/js/background.bundle.js
new file mode 100644
index 0000000..59f2280
--- /dev/null
+++ b/chrome/assets/js/background.bundle.js
@@ -0,0 +1 @@
+import{b as r,g as n,s as i}from"./storage-DjahtsqZ.chunk.js";r.runtime.onInstalled.addListener(()=>{});r.runtime.onMessage.addListener(s=>{const e=s;if(e.type==="PAGE_VISITED"){n(["visitCount"]).then(({visitCount:t})=>{i({visitCount:t+1})});return}if(e.type==="GET_VISIT_COUNT")return n(["visitCount"]).then(({visitCount:t})=>({type:"VISIT_COUNT_RESPONSE",count:t}))});
diff --git a/chrome/assets/js/contentScript.bundle.js b/chrome/assets/js/contentScript.bundle.js
new file mode 100644
index 0000000..f3a9068
--- /dev/null
+++ b/chrome/assets/js/contentScript.bundle.js
@@ -0,0 +1 @@
+(function(){"use strict";function O(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var h={exports:{}},B=h.exports,S;function j(){return S||(S=1,(function(a,f){(function(x,c){c(a)})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:B,function(x){if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw new Error("This script should only be loaded in a browser extension.");if(globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id)x.exports=globalThis.browser;else{const c="The message port closed before a response was received.",T=u=>{const C={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(C).length===0)throw new Error("api-metadata.json has not been included in browser-polyfill");class R extends WeakMap{constructor(r,n=void 0){super(n),this.createItem=r}get(r){return this.has(r)||this.set(r,this.createItem(r)),super.get(r)}}const D=e=>e&&typeof e=="object"&&typeof e.then=="function",_=(e,r)=>(...n)=>{u.runtime.lastError?e.reject(new Error(u.runtime.lastError.message)):r.singleCallbackArg||n.length<=1&&r.singleCallbackArg!==!1?e.resolve(n[0]):e.resolve(n)},w=e=>e==1?"argument":"arguments",U=(e,r)=>function(g,...i){if(i.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${w(r.maxArgs)} for ${e}(), got ${i.length}`);return new Promise((m,o)=>{if(r.fallbackToNoCallback)try{g[e](...i,_({resolve:m,reject:o},r))}catch(s){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,s),g[e](...i),r.fallbackToNoCallback=!1,r.noCallback=!0,m()}else r.noCallback?(g[e](...i),m()):g[e](...i,_({resolve:m,reject:o},r))})},F=(e,r,n)=>new Proxy(r,{apply(g,i,m){return n.call(i,e,...m)}});let p=Function.call.bind(Object.prototype.hasOwnProperty);const y=(e,r={},n={})=>{let g=Object.create(null),i={has(o,s){return s in e||s in g},get(o,s,A){if(s in g)return g[s];if(!(s in e))return;let t=e[s];if(typeof t=="function")if(typeof r[s]=="function")t=F(e,e[s],r[s]);else if(p(n,s)){let d=U(s,n[s]);t=F(e,e[s],d)}else t=t.bind(e);else if(typeof t=="object"&&t!==null&&(p(r,s)||p(n,s)))t=y(t,r[s],n[s]);else if(p(n,"*"))t=y(t,r[s],n["*"]);else return Object.defineProperty(g,s,{configurable:!0,enumerable:!0,get(){return e[s]},set(d){e[s]=d}}),t;return g[s]=t,t},set(o,s,A,t){return s in g?g[s]=A:e[s]=A,!0},defineProperty(o,s,A){return Reflect.defineProperty(g,s,A)},deleteProperty(o,s){return Reflect.deleteProperty(g,s)}},m=Object.create(e);return new Proxy(m,i)},E=e=>({addListener(r,n,...g){r.addListener(e.get(n),...g)},hasListener(r,n){return r.hasListener(e.get(n))},removeListener(r,n){r.removeListener(e.get(n))}}),G=new R(e=>typeof e!="function"?e:function(n){const g=y(n,{},{getContent:{minArgs:0,maxArgs:0}});e(g)}),L=new R(e=>typeof e!="function"?e:function(n,g,i){let m=!1,o,s=new Promise(b=>{o=function(l){m=!0,b(l)}}),A;try{A=e(n,g,o)}catch(b){A=Promise.reject(b)}const t=A!==!0&&D(A);if(A!==!0&&!t&&!m)return!1;const d=b=>{b.then(l=>{i(l)},l=>{let P;l&&(l instanceof Error||typeof l.message=="string")?P=l.message:P="An unexpected error occurred",i({__mozWebExtensionPolyfillReject__:!0,message:P})}).catch(l=>{console.error("Failed to send onMessage rejected reply",l)})};return d(t?A:s),!0}),V=({reject:e,resolve:r},n)=>{u.runtime.lastError?u.runtime.lastError.message===c?r():e(new Error(u.runtime.lastError.message)):n&&n.__mozWebExtensionPolyfillReject__?e(new Error(n.message)):r(n)},$=(e,r,n,...g)=>{if(g.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${w(r.maxArgs)} for ${e}(), got ${g.length}`);return new Promise((i,m)=>{const o=V.bind(null,{resolve:i,reject:m});g.push(o),n.sendMessage(...g)})},Z={devtools:{network:{onRequestFinished:E(G)}},runtime:{onMessage:E(L),onMessageExternal:E(L),sendMessage:$.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:$.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},v={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return C.privacy={network:{"*":v},services:{"*":v},websites:{"*":v}},y(u,Z,C)};x.exports=T(chrome)}})})(h)),h.exports}var q=j();const k=O(q),I={username:"",enableLogging:!1,visitCount:0};async function W(a){const f=await k.storage.local.get(a),x={};for(const c of a)x[c]=f[c]??I[c];return x}function M(){const f=(document.body?.innerText||"").split(/\s+/).filter(T=>T.length>0).length,x=document.querySelectorAll("a").length,c=document.querySelectorAll("img").length;return{url:window.location.href,title:document.title,wordCount:f,linkCount:x,imageCount:c,timestamp:Date.now()}}k.runtime.onMessage.addListener(a=>{if(a.type==="GET_PAGE_INFO")return Promise.resolve({type:"PAGE_INFO_RESPONSE",data:M()})});function N(){const a=M();k.runtime.sendMessage({type:"PAGE_VISITED",data:a}).catch(()=>{})}document.readyState==="complete"?N():window.addEventListener("load",N),W(["enableLogging"]).then(({enableLogging:a})=>{a&&console.log("[Web Extension Starter] Content script loaded on:",window.location.href)})})();
diff --git a/chrome/assets/js/options.bundle.js b/chrome/assets/js/options.bundle.js
new file mode 100644
index 0000000..2f51f50
--- /dev/null
+++ b/chrome/assets/js/options.bundle.js
@@ -0,0 +1 @@
+import{j as e,r as c,B as u,G as _,c as x}from"./GitHubIcon-DnWgqK1U.chunk.js";import{g,s as b}from"./storage-DjahtsqZ.chunk.js";const f="_wrapper_v3h83_5",j="_label_v3h83_9",v="_input_v3h83_19",l={wrapper:f,label:j,input:v},N=({label:o,id:t,className:a,...r})=>e.jsxs("div",{className:l.wrapper,children:[o&&e.jsx("label",{htmlFor:t,className:l.label,children:o}),e.jsx("input",{id:t,className:`${l.input} ${a||""}`.trim(),...r})]}),k="_wrapper_oetqd_5",w="_checkbox_oetqd_21",S="_text_oetqd_29",h={wrapper:k,checkbox:w,text:S},y=({label:o,id:t,checked:a,onChange:r,...i})=>e.jsxs("label",{htmlFor:t,className:h.wrapper,children:[e.jsx("input",{type:"checkbox",id:t,className:h.checkbox,checked:a,onChange:r,...i}),e.jsx("span",{className:h.text,children:o})]}),E="_options_1hb5m_27",L="_header_1hb5m_32",C="_form_1hb5m_51",$="_section_1hb5m_59",q="_actions_1hb5m_63",B="_status_1hb5m_72",G="_footer_1hb5m_90",I="_githubLink_1hb5m_95",s={options:E,header:L,form:C,section:$,actions:q,status:B,footer:G,githubLink:I},z=()=>{const[o,t]=c.useState(""),[a,r]=c.useState(!1),[i,m]=c.useState(!1);c.useEffect(()=>{g(["username","enableLogging"]).then(n=>{t(n.username),r(n.enableLogging)})},[]);const d=async n=>{n.preventDefault(),await b({username:o,enableLogging:a}),m(!0),setTimeout(()=>m(!1),2e3)};return e.jsxs("div",{className:s.options,children:[e.jsxs("header",{className:s.header,children:[e.jsx("h1",{children:"Extension Settings"}),e.jsx("p",{children:"Configure your extension preferences"})]}),e.jsxs("form",{onSubmit:d,className:s.form,children:[e.jsx("div",{className:s.section,children:e.jsx(N,{label:"Your Name",id:"username",name:"username",placeholder:"Enter your name",spellCheck:!1,autoComplete:"off",value:o,onChange:n=>t(n.target.value)})}),e.jsx("div",{className:s.section,children:e.jsx(y,{id:"logging",name:"logging",label:"Show the features enabled on each page in the console",checked:a,onChange:n=>r(n.target.checked)})}),e.jsxs("div",{className:s.actions,children:[e.jsx(u,{type:"submit",variant:"primary",size:"large",children:"Save Settings"}),i&&e.jsx("span",{className:s.status,children:"Settings saved"})]})]}),e.jsx("footer",{className:s.footer,children:e.jsxs("a",{href:"https://github.com/abhijithvijayan/web-extension-starter",target:"_blank",rel:"noopener noreferrer",className:s.githubLink,children:[e.jsx(_,{size:18}),e.jsx("span",{children:"View on GitHub"})]})})]})},p=document.getElementById("options-root");if(!p)throw new Error("Could not find root container to mount the app");const F=x.createRoot(p);F.render(e.jsx(c.StrictMode,{children:e.jsx(z,{})}));
diff --git a/chrome/assets/js/popup.bundle.js b/chrome/assets/js/popup.bundle.js
new file mode 100644
index 0000000..fa14af9
--- /dev/null
+++ b/chrome/assets/js/popup.bundle.js
@@ -0,0 +1 @@
+import{j as t,B as m,G as C,r as l,c as I}from"./GitHubIcon-DnWgqK1U.chunk.js";import{b as r,g as w}from"./storage-DjahtsqZ.chunk.js";const y="_card_127h0_5",S="_large_127h0_13",T="_header_127h0_18",L="_title_127h0_25",_={card:y,large:S,header:T,title:L},k=({title:s,size:c="default",children:n,className:d})=>{const h=[_.card,c==="large"&&_.large,d].filter(Boolean).join(" ");return t.jsxs("div",{className:h,children:[s&&t.jsx("div",{className:_.header,children:t.jsx("span",{className:_.title,children:s})}),n]})},G="_content_1dzc3_5",E="_favicon_1dzc3_12",P="_faviconPlaceholder_1dzc3_22",M="_details_1dzc3_36",z="_title_1dzc3_41",U="_url_1dzc3_52",o={content:G,favicon:E,faviconPlaceholder:P,details:M,title:z,url:U},V=({title:s,url:c,favIconUrl:n,onReload:d})=>{const h=x=>x.charAt(0).toUpperCase();return t.jsxs(k,{title:"Current Tab",children:[t.jsxs("div",{className:o.content,children:[n?t.jsx("img",{src:n,alt:"",className:o.favicon}):t.jsx("div",{className:o.faviconPlaceholder,children:h(s)}),t.jsxs("div",{className:o.details,children:[t.jsx("p",{className:o.title,children:s}),t.jsx("p",{className:o.url,children:c})]})]}),t.jsx(m,{variant:"secondary",fullWidth:!0,onClick:d,children:"Reload Tab"})]})},W=({size:s=14})=>t.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[t.jsx("circle",{cx:"12",cy:"12",r:"3"}),t.jsx("path",{d:"M12 1v2m0 18v2M4.22 4.22l1.42 1.42m12.72 12.72 1.42 1.42M1 12h2m18 0h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}),B=({size:s=14})=>t.jsx("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"})}),$="_footer_6a002_5",H="_button_6a002_10",u={footer:$,button:H},R=({onSettings:s,onGitHub:c,onSupport:n})=>t.jsxs("div",{className:u.footer,children:[t.jsxs(m,{variant:"settings",size:"small",className:u.button,onClick:s,children:[t.jsx(W,{}),t.jsx("span",{children:"Settings"})]}),t.jsxs(m,{variant:"github",size:"small",className:u.button,onClick:c,children:[t.jsx(C,{}),t.jsx("span",{children:"GitHub"})]}),t.jsxs(m,{variant:"support",size:"small",className:u.button,onClick:n,children:[t.jsx(B,{}),t.jsx("span",{children:"Support"})]})]}),A="_popup_19dhs_24",O="_header_19dhs_29",q="_title_19dhs_36",F="_greeting_19dhs_47",D="_tabCard_19dhs_54",J="_statsCard_19dhs_58",K="_statsTitle_19dhs_66",Q="_statsGrid_19dhs_75",X="_statItem_19dhs_81",Y="_statValue_19dhs_90",Z="_statLabel_19dhs_96",tt="_visitCard_19dhs_102",st="_visitLabel_19dhs_113",et="_visitCount_19dhs_118",e={popup:A,header:O,title:q,greeting:F,tabCard:D,statsCard:J,statsTitle:K,statsGrid:Q,statItem:X,statValue:Y,statLabel:Z,visitCard:tt,visitLabel:st,visitCount:et};function j(s){return r.tabs.create({url:s})}const at=()=>{const[s,c]=l.useState(null),[n,d]=l.useState(null),[h,x]=l.useState(0),[p,f]=l.useState("");l.useEffect(()=>{r.tabs.query({active:!0,currentWindow:!0}).then(i=>{const a=i[0];a&&(c({title:a.title||"Unknown",url:a.url||"Unknown",favIconUrl:a.favIconUrl}),a.id&&r.tabs.sendMessage(a.id,{type:"GET_PAGE_INFO"}).then(N=>{const v=N;v?.data&&d(v.data)}).catch(()=>{}))}),r.runtime.sendMessage({type:"GET_VISIT_COUNT"}).then(i=>{const a=i;a?.count!==void 0&&x(a.count)}).catch(()=>{}),w(["username"]).then(({username:i})=>{f(i)})},[]);const g=async()=>{const a=(await r.tabs.query({active:!0,currentWindow:!0}))[0];a?.id&&await r.tabs.reload(a.id)};return t.jsxs("section",{className:e.popup,children:[t.jsxs("header",{className:e.header,children:[t.jsx("h1",{className:e.title,children:"Web Extension Starter"}),p&&t.jsxs("p",{className:e.greeting,children:["Hello, ",p,"!"]})]}),s&&t.jsx("div",{className:e.tabCard,children:t.jsx(V,{title:s.title,url:s.url,favIconUrl:s.favIconUrl,onReload:g})}),n&&t.jsxs("div",{className:e.statsCard,children:[t.jsx("h3",{className:e.statsTitle,children:"Page Stats"}),t.jsxs("div",{className:e.statsGrid,children:[t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.wordCount}),t.jsx("span",{className:e.statLabel,children:"Words"})]}),t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.linkCount}),t.jsx("span",{className:e.statLabel,children:"Links"})]}),t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.imageCount}),t.jsx("span",{className:e.statLabel,children:"Images"})]})]})]}),t.jsxs("div",{className:e.visitCard,children:[t.jsx("span",{className:e.visitLabel,children:"Pages tracked:"}),t.jsx("span",{className:e.visitCount,children:h})]}),t.jsx(R,{onSettings:()=>j("/Options/options.html"),onGitHub:()=>j("https://github.com/abhijithvijayan/web-extension-starter"),onSupport:()=>j("https://www.buymeacoffee.com/abhijithvijayan")})]})},b=document.getElementById("popup-root");if(!b)throw new Error("Could not find root container to mount the app");const nt=I.createRoot(b);nt.render(t.jsx(l.StrictMode,{children:t.jsx(at,{})}));
diff --git a/chrome/assets/js/storage-DjahtsqZ.chunk.js b/chrome/assets/js/storage-DjahtsqZ.chunk.js
new file mode 100644
index 0000000..b789b2c
--- /dev/null
+++ b/chrome/assets/js/storage-DjahtsqZ.chunk.js
@@ -0,0 +1 @@
+function q(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var p={exports:{}},W=p.exports,N;function D(){return N||(N=1,(function(i,v){(function(x,c){c(i)})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:W,function(x){if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw new Error("This script should only be loaded in a browser extension.");if(globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id)x.exports=globalThis.browser;else{const c="The message port closed before a response was received.",F=u=>{const y={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(y).length===0)throw new Error("api-metadata.json has not been included in browser-polyfill");class E extends WeakMap{constructor(r,g=void 0){super(g),this.createItem=r}get(r){return this.has(r)||this.set(r,this.createItem(r)),super.get(r)}}const L=e=>e&&typeof e=="object"&&typeof e.then=="function",P=(e,r)=>(...g)=>{u.runtime.lastError?e.reject(new Error(u.runtime.lastError.message)):r.singleCallbackArg||g.length<=1&&r.singleCallbackArg!==!1?e.resolve(g[0]):e.resolve(g)},b=e=>e==1?"argument":"arguments",_=(e,r)=>function(n,...a){if(a.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${b(r.maxArgs)} for ${e}(), got ${a.length}`);return new Promise((m,A)=>{if(r.fallbackToNoCallback)try{n[e](...a,P({resolve:m,reject:A},r))}catch{n[e](...a),r.fallbackToNoCallback=!1,r.noCallback=!0,m()}else r.noCallback?(n[e](...a),m()):n[e](...a,P({resolve:m,reject:A},r))})},S=(e,r,g)=>new Proxy(r,{apply(n,a,m){return g.call(a,e,...m)}});let h=Function.call.bind(Object.prototype.hasOwnProperty);const w=(e,r={},g={})=>{let n=Object.create(null),a={has(A,s){return s in e||s in n},get(A,s,o){if(s in n)return n[s];if(!(s in e))return;let t=e[s];if(typeof t=="function")if(typeof r[s]=="function")t=S(e,e[s],r[s]);else if(h(g,s)){let f=_(s,g[s]);t=S(e,e[s],f)}else t=t.bind(e);else if(typeof t=="object"&&t!==null&&(h(r,s)||h(g,s)))t=w(t,r[s],g[s]);else if(h(g,"*"))t=w(t,r[s],g["*"]);else return Object.defineProperty(n,s,{configurable:!0,enumerable:!0,get(){return e[s]},set(f){e[s]=f}}),t;return n[s]=t,t},set(A,s,o,t){return s in n?n[s]=o:e[s]=o,!0},defineProperty(A,s,o){return Reflect.defineProperty(n,s,o)},deleteProperty(A,s){return Reflect.deleteProperty(n,s)}},m=Object.create(e);return new Proxy(m,a)},k=e=>({addListener(r,g,...n){r.addListener(e.get(g),...n)},hasListener(r,g){return r.hasListener(e.get(g))},removeListener(r,g){r.removeListener(e.get(g))}}),B=new E(e=>typeof e!="function"?e:function(g){const n=w(g,{},{getContent:{minArgs:0,maxArgs:0}});e(n)}),M=new E(e=>typeof e!="function"?e:function(g,n,a){let m=!1,A,s=new Promise(d=>{A=function(l){m=!0,d(l)}}),o;try{o=e(g,n,A)}catch(d){o=Promise.reject(d)}const t=o!==!0&&L(o);if(o!==!0&&!t&&!m)return!1;const f=d=>{d.then(l=>{a(l)},l=>{let T;l&&(l instanceof Error||typeof l.message=="string")?T=l.message:T="An unexpected error occurred",a({__mozWebExtensionPolyfillReject__:!0,message:T})}).catch(l=>{})};return f(t?o:s),!0}),j=({reject:e,resolve:r},g)=>{u.runtime.lastError?u.runtime.lastError.message===c?r():e(new Error(u.runtime.lastError.message)):g&&g.__mozWebExtensionPolyfillReject__?e(new Error(g.message)):r(g)},R=(e,r,g,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${b(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((a,m)=>{const A=j.bind(null,{resolve:a,reject:m});n.push(A),g.sendMessage(...n)})},O={devtools:{network:{onRequestFinished:k(B)}},runtime:{onMessage:k(M),onMessageExternal:k(M),sendMessage:R.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:R.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},C={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return y.privacy={network:{"*":C},services:{"*":C},websites:{"*":C}},w(u,O,y)};x.exports=F(chrome)}})})(p)),p.exports}var U=D();const $=q(U),I={username:"",enableLogging:!1,visitCount:0};async function Z(i){const v=await $.storage.local.get(i),x={};for(const c of i)x[c]=v[c]??I[c];return x}async function z(i){await $.storage.local.set(i)}export{$ as b,Z as g,z as s};
diff --git a/chrome/css/options.css b/chrome/css/options.css
deleted file mode 100644
index f14742b..0000000
--- a/chrome/css/options.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);@import url(chrome://global/skin/in-content/common.css);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}:root{max-width:700px;margin:auto}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{display:block;box-sizing:border-box;margin-left:0;width:100%;resize:vertical;-moz-tab-size:4!important;tab-size:4!important}input[type=checkbox]{vertical-align:-.15em}textarea:not(:root):focus{border-color:#4d90fe;transition:border-color .2s}hr:not(:root){margin-right:-17px;margin-left:-17px;border:none;border-bottom:1px solid hsla(0,0%,66.7%,.27)}img{vertical-align:middle}@-moz-document url-prefix(""){:root{background-color:#fff}body{min-height:250px}body>*{margin-left:6px;margin-right:6px}input[type=checkbox]{vertical-align:-.4em}}@media (prefers-color-scheme:dark){:root{background-color:var(--in-content-box-background,#292a2d)}body,h3{color:var(--in-content-page-color,#e8eaed)}a{color:var(--in-content-link-color,#8ab4f8)}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{color:inherit;background-color:transparent}}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}
\ No newline at end of file
diff --git a/chrome/css/popup.css b/chrome/css/popup.css
deleted file mode 100644
index 14f64f0..0000000
--- a/chrome/css/popup.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}#popup{min-width:350px;padding:30px 20px}#popup h2{font-size:25px;text-align:center}#popup #options__button{width:50%;background:green;color:#fff;font-weight:500;border-radius:15px;padding:5px 10px;justify-content:center;margin:20px auto;cursor:pointer;opacity:.8;display:flex}#popup .links__holder ul{display:flex;margin-top:1em;justify-content:space-around}#popup .links__holder ul li button{border-radius:25px;font-size:20px;font-weight:600;padding:10px 17px;background-color:rgba(0,0,255,.7);color:#fff;cursor:pointer}
\ No newline at end of file
diff --git a/chrome/js/background.bundle.js b/chrome/js/background.bundle.js
deleted file mode 100644
index 6b233d4..0000000
--- a/chrome/js/background.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=4)}([function(e,r,s){var n,g,t;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,g=[e],void 0===(t="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const t=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},m=e=>1==e?"argument":"arguments",o=(e,r)=>function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(t){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",t),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))}))},i=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let A=Function.call.bind(Object.prototype.hasOwnProperty);const l=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,t,a){if(t in n)return n[t];if(!(t in e))return;let m=e[t];if("function"==typeof m)if("function"==typeof r[t])m=i(e,e[t],r[t]);else if(A(s,t)){let r=o(t,s[t]);m=i(e,e[t],r)}else m=m.bind(e);else if("object"==typeof m&&null!==m&&(A(r,t)||A(s,t)))m=l(m,r[t],s[t]);else{if(!A(s,"*"))return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:()=>e[t],set(r){e[t]=r}}),m;m=l(m,r[t],s["*"])}return n[t]=m,m},set:(r,s,g,t)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},t=Object.create(e);return new Proxy(t,g)},c=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let x=!1;const u=new g((e=>"function"!=typeof e?e:function(r,n,g){let a,m,o=!1,i=new Promise((e=>{a=function(r){x||(console.warn(s,(new Error).stack),x=!0),o=!0,e(r)}}));try{m=e(r,n,a)}catch(e){m=Promise.reject(e)}const A=!0!==m&&t(m);if(!0!==m&&!A&&!o)return!1;const l=e=>{e.then((e=>{g(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return l(A?m:i),!0})),d=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},f=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const g=d.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)}))},p={runtime:{onMessage:c(u),onMessageExternal:c(u),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},b={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":b},services:{"*":b},websites:{"*":b}},l(e,p,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=t)},function(e,r,s){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function g(e,r="🐶",s){const g=(t=e)&&(null==t?void 0:t.stack)&&(null==t?void 0:t.message)&&"string"==typeof t.stack&&"string"==typeof t.message;var t;const a=g?e.message:e,m=s||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(m)}‾\n ${r} < `,a,`\n \\_${"__".repeat(m)}_\n `),g&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return g("Meow","🐱"),this},r[n.ONE]=function(e){return g(e),this},r[n.TWO]=function(e,r){return g(r,e),this},r[n.THREE]=function(e,r,s){return g(r,e,s),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},,,function(e,r,s){"use strict";s.r(r);s(1);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.emoji("🦄","onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return Promise.resolve("got your message, thanks!")}))}]);
\ No newline at end of file
diff --git a/chrome/js/contentScript.bundle.js b/chrome/js/contentScript.bundle.js
deleted file mode 100644
index 96e0bb1..0000000
--- a/chrome/js/contentScript.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}({5:function(e,t){console.log("helloworld from content script")}});
\ No newline at end of file
diff --git a/chrome/js/options.bundle.js b/chrome/js/options.bundle.js
deleted file mode 100644
index 5aacf66..0000000
--- a/chrome/js/options.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=8)}({1:function(e,n,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(n,"__esModule",{value:!0});var o;function r(e,n="🐶",t){const r=(i=e)&&(null==i?void 0:i.stack)&&(null==i?void 0:i.message)&&"string"==typeof i.stack&&"string"==typeof i.message;var i;const u=r?e.message:e,c=t||(null==e?void 0:e.toString().length)*o.LINE_LENGTH_VARIABLE||o.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(c)}‾\n ${n} < `,u,`\n \\_${"__".repeat(c)}_\n `),r&&("undefined"!=typeof window?(console.groupCollapsed(n+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(n+" > Stack Trace:"),console.error(e.stack)))}n.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(o||(o={})),console.emoji=function(...e){const n=[];return n[0]=function(){return r("Meow","🐱"),this},n[o.ONE]=function(e){return r(e),this},n[o.TWO]=function(e,n){return r(n,e),this},n[o.THREE]=function(e,n,t){return r(n,e,t),this},this.emoji=function(...e){return n[e.length](...e),this},this.emoji(...e),this}},8:function(e,n,t){"use strict";t.r(n);t(1);console.emoji("🦄","Hello World from options main file!")}});
\ No newline at end of file
diff --git a/chrome/js/popup.bundle.js b/chrome/js/popup.bundle.js
deleted file mode 100644
index cc0b202..0000000
--- a/chrome/js/popup.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r,t){var n,s,o;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,s=[e],void 0===(o="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const o=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},i=e=>1==e?"argument":"arguments",g=(e,r)=>function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(o){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",o),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))}))},m=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let l=Function.call.bind(Object.prototype.hasOwnProperty);const c=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,o,a){if(o in n)return n[o];if(!(o in e))return;let i=e[o];if("function"==typeof i)if("function"==typeof r[o])i=m(e,e[o],r[o]);else if(l(t,o)){let r=g(o,t[o]);i=m(e,e[o],r)}else i=i.bind(e);else if("object"==typeof i&&null!==i&&(l(r,o)||l(t,o)))i=c(i,r[o],t[o]);else{if(!l(t,"*"))return Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:()=>e[o],set(r){e[o]=r}}),i;i=c(i,r[o],t["*"])}return n[o]=i,i},set:(r,t,s,o)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},o=Object.create(e);return new Proxy(o,s)},A=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let u=!1;const f=new s((e=>"function"!=typeof e?e:function(r,n,s){let a,i,g=!1,m=new Promise((e=>{a=function(r){u||(console.warn(t,(new Error).stack),u=!0),g=!0,e(r)}}));try{i=e(r,n,a)}catch(e){i=Promise.reject(e)}const l=!0!==i&&o(i);if(!0!==i&&!l&&!g)return!1;const c=e=>{e.then((e=>{s(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return c(l?i:m),!0})),h=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},d=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const s=h.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)}))},x={runtime:{onMessage:A(f),onMessageExternal:A(f),sendMessage:d.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:d.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},p={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":p},services:{"*":p},websites:{"*":p}},c(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=o)},function(e,r,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function s(e,r="🐶",t){const s=(o=e)&&(null==o?void 0:o.stack)&&(null==o?void 0:o.message)&&"string"==typeof o.stack&&"string"==typeof o.message;var o;const a=s?e.message:e,i=t||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(i)}‾\n ${r} < `,a,`\n \\_${"__".repeat(i)}_\n `),s&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return s("Meow","🐱"),this},r[n.ONE]=function(e){return s(e),this},r[n.TWO]=function(e,r){return s(r,e),this},r[n.THREE]=function(e,r,t){return s(r,e,t),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},function(e,r,t){e.exports=t(6)},,,,function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof h?r:h,o=Object.create(s.prototype),a=new T(n||[]);return o._invoke=function(e,r,t){var n=l;return function(s,o){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw o;return P()}for(t.method=s,t.arg=o;;){var a=t.delegate;if(a){var i=k(a,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,a),o}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function h(){}function d(){}function x(){}var p={};p[o]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(j([])));v&&v!==t&&n.call(v,o)&&(p=v);var b=x.prototype=h.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function E(e,r){function t(s,o,a,i){var g=m(e[s],e,o);if("throw"!==g.type){var l=g.arg,c=l.value;return c&&"object"==typeof c&&n.call(c,"__await")?r.resolve(c.__await).then((function(e){t("next",e,a,i)}),(function(e){t("throw",e,a,i)})):r.resolve(c).then((function(e){l.value=e,a(l)}),(function(e){return t("throw",e,a,i)}))}i(g.arg)}var s;this._invoke=function(e,n){function o(){return new r((function(r,s){t(e,n,r,s)}))}return s=s?s.then(o,o):o()}}function k(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,k(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var o=s.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function L(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function _(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function j(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,a=function t(){for(;++s=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var g=n.call(a,"catchLoc"),m=n.call(a,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),_(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;_(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:j(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,r,t){"use strict";t.r(r);var n=t(2),s=t.n(n),o=(t(1),t(0)),a=t.n(o);function i(e,r,t,n,s,o,a){try{var i=e[o](a),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var o=e.apply(r,t);function a(e){i(o,n,s,a,g,"next",e)}function g(e){i(o,n,s,a,g,"throw",e)}a(void 0)}))}}function m(e){return a.a.tabs.create({url:e})}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,a.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.emoji("🦄",n),document.getElementById("github__button").addEventListener("click",(function(){return m("https://github.com/abhijithvijayan/web-extension-starter")})),document.getElementById("donate__button").addEventListener("click",(function(){return m("https://www.buymeacoffee.com/abhijithvijayan")})),document.getElementById("options__button").addEventListener("click",(function(){return m("options.html")}));case 11:case"end":return e.stop()}}),e)}))))}]);
\ No newline at end of file
diff --git a/chrome/manifest.json b/chrome/manifest.json
index df3beaa..b25bdfc 100644
--- a/chrome/manifest.json
+++ b/chrome/manifest.json
@@ -1,7 +1,7 @@
{
- "manifest_version": 2,
+ "manifest_version": 3,
"name": "Sample WebExtension",
- "version": "1.0.0",
+ "version": "3.0.0",
"icons": {
"16": "assets/icons/favicon-16.png",
"32": "assets/icons/favicon-32.png",
@@ -13,44 +13,59 @@
"short_name": "Sample Name",
"permissions": [
"activeTab",
- "storage",
+ "storage"
+ ],
+ "optional_permissions": [],
+ "host_permissions": [],
+ "optional_host_permissions": [
"http://*/*",
"https://*/*"
],
- "content_security_policy": "script-src 'self'; object-src 'self'",
+ "content_security_policy": {
+ "extension_pages": "script-src 'self'; object-src 'self';"
+ },
"author": "abhijithvijayan",
- "minimum_chrome_version": "49",
- "browser_action": {
- "default_popup": "popup.html",
+ "minimum_chrome_version": "88",
+ "action": {
+ "default_popup": "Popup/popup.html",
"default_icon": {
"16": "assets/icons/favicon-16.png",
"32": "assets/icons/favicon-32.png",
"48": "assets/icons/favicon-48.png",
"128": "assets/icons/favicon-128.png"
},
- "default_title": "tiny title",
- "chrome_style": false
+ "default_title": "tiny title"
},
- "options_page": "options.html",
+ "options_page": "Options/options.html",
"options_ui": {
- "page": "options.html",
- "open_in_tab": true,
- "chrome_style": false
+ "page": "Options/options.html",
+ "open_in_tab": true
},
"background": {
- "scripts": [
- "js/background.bundle.js"
- ],
- "persistent": false
+ "service_worker": "assets/js/background.bundle.js",
+ "type": "module"
},
"content_scripts": [
{
+ "run_at": "document_start",
"matches": [
"http://*/*",
"https://*/*"
],
+ "css": [],
"js": [
- "js/contentScript.bundle.js"
+ "assets/js/contentScript.bundle.js"
+ ]
+ }
+ ],
+ "web_accessible_resources": [
+ {
+ "resources": [
+ "assets/*"
+ ],
+ "matches": [
+ "http://*/*",
+ "https://*/*"
]
}
]
diff --git a/chrome/options.html b/chrome/options.html
deleted file mode 100644
index 4191126..0000000
--- a/chrome/options.html
+++ /dev/null
@@ -1 +0,0 @@
-Options
\ No newline at end of file
diff --git a/chrome/popup.html b/chrome/popup.html
deleted file mode 100644
index 2a196b1..0000000
--- a/chrome/popup.html
+++ /dev/null
@@ -1 +0,0 @@
-Popup
\ No newline at end of file
diff --git a/firefox.xpi b/firefox.xpi
index 593e79d..d815562 100644
Binary files a/firefox.xpi and b/firefox.xpi differ
diff --git a/firefox/Options/options.html b/firefox/Options/options.html
new file mode 100644
index 0000000..c934f0e
--- /dev/null
+++ b/firefox/Options/options.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Options
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firefox/Popup/popup.html b/firefox/Popup/popup.html
new file mode 100644
index 0000000..58716fb
--- /dev/null
+++ b/firefox/Popup/popup.html
@@ -0,0 +1,17 @@
+
+
+
+
+
+ Popup
+
+
+
+
+
+
+
+
+
+
+
diff --git a/firefox/assets/css/GitHubIcon-DRgDSdCA.css b/firefox/assets/css/GitHubIcon-DRgDSdCA.css
new file mode 100644
index 0000000..f7fde32
--- /dev/null
+++ b/firefox/assets/css/GitHubIcon-DRgDSdCA.css
@@ -0,0 +1 @@
+._d-none_gy5mj_1{display:none!important}._button_gy5mj_5{padding:11px 16px;font-size:13px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px}._button_gy5mj_5:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}._button_gy5mj_5:active{transform:translateY(0)}._fullWidth_gy5mj_26{width:100%}._primary_gy5mj_30{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}._secondary_gy5mj_35{background:#f8f9fc;color:#1a1a2e;border:1px solid #e2e8f0}._secondary_gy5mj_35:hover{background:#eef2f7}._settings_gy5mj_44{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff}._github_gy5mj_49{background:linear-gradient(135deg,#24292e,#1a1a1a);color:#fff}._support_gy5mj_54{background:linear-gradient(135deg,#f59e0b,#ea580c);color:#fff}._small_gy5mj_59{padding:12px 10px;font-size:12px;gap:6px}._medium_gy5mj_65{padding:11px 16px;font-size:13px}._large_gy5mj_70{padding:14px 28px;font-size:14px}
diff --git a/firefox/assets/css/options-Cu2a6WOY.css b/firefox/assets/css/options-Cu2a6WOY.css
new file mode 100644
index 0000000..696a80e
--- /dev/null
+++ b/firefox/assets/css/options-Cu2a6WOY.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";._d-none_v3h83_1{display:none!important}._wrapper_v3h83_5{margin-bottom:24px}._label_v3h83_9{display:block;font-size:13px;font-weight:600;margin-bottom:10px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.5px}._input_v3h83_19{width:100%;padding:14px 16px;font-size:15px;background-color:#fff;color:#1a1a2e;border:2px solid #e2e8f0;border-radius:10px;transition:all .2s ease;box-sizing:border-box}._input_v3h83_19:hover{border-color:#cbd5e1}._input_v3h83_19:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 4px #6366f126}._input_v3h83_19::-moz-placeholder{color:#94a3b8}._input_v3h83_19::placeholder{color:#94a3b8}._d-none_oetqd_1{display:none!important}._wrapper_oetqd_5{display:flex;align-items:flex-start;gap:14px;padding:16px;background:#f8f9fc;border-radius:10px;cursor:pointer;transition:all .2s ease;border:2px solid transparent}._wrapper_oetqd_5:hover{background:#eef2f7;border-color:#e2e8f0}._checkbox_oetqd_21{width:20px;height:20px;margin-top:2px;cursor:pointer;accent-color:#6366f1}._text_oetqd_29{font-size:14px;line-height:1.5;color:#64748b;font-weight:500}*,*:before,*:after{box-sizing:border-box}html,body,ul[class],ol[class]{padding:0}html,body,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html,body{border:0}ul,ol{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}a:hover{text-decoration:none}img,video,picture,svg{max-width:100%;display:block}img{height:auto;font-style:italic;background-repeat:no-repeat;background-size:cover;shape-margin:1rem}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:focus,textarea:active,select:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}:is(ul,ol)>*:not(li){outline:2px dotted red}html{height:100%}body{text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100vw;min-height:100vh;min-height:100svh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:initial}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}:has(:target){scroll-behavior:smooth}}:root{color-scheme:light dark}table{border-collapse:collapse;border-spacing:0}dialog{box-sizing:border-box;max-width:unset;max-height:unset}:root{color-scheme:light}input,textarea,select{border:1px solid #ccc}._d-none_1hb5m_13{display:none!important}body{color:#1a1a2e;background:linear-gradient(180deg,#f8f9fc,#eef2f7);min-height:100vh;display:flex;justify-content:center;padding:50px 20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}._options_1hb5m_27{width:100%;max-width:480px}._header_1hb5m_32{margin-bottom:32px;text-align:center}._header_1hb5m_32 h1{font-size:26px;font-weight:700;margin-bottom:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}._header_1hb5m_32 p{color:#64748b;font-size:14px;font-weight:500}._form_1hb5m_51{background:#fff;border-radius:14px;padding:28px;box-shadow:0 10px 15px -3px #0000001a;border:1px solid #e2e8f0}._section_1hb5m_59{margin-bottom:24px}._actions_1hb5m_63{display:flex;align-items:center;gap:16px;margin-top:28px;padding-top:24px;border-top:1px solid #e2e8f0}._status_1hb5m_72{font-size:14px;color:#10b981;font-weight:600;display:flex;align-items:center;gap:8px}._status_1hb5m_72:before{content:"";display:inline-block;width:8px;height:8px;background:#10b981;border-radius:50%;animation:_pulse_1hb5m_1 1s ease-in-out}._footer_1hb5m_90{margin-top:24px;text-align:center}._githubLink_1hb5m_95{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:500;color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:10px;transition:all .2s ease;text-decoration:none}._githubLink_1hb5m_95:hover{color:#1a1a2e;border-color:#cbd5e1;box-shadow:0 1px 2px #0000000d;transform:translateY(-1px)}._githubLink_1hb5m_95 svg{flex-shrink:0}@keyframes _pulse_1hb5m_1{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}
diff --git a/firefox/assets/css/popup-ByqSU3Zm.css b/firefox/assets/css/popup-ByqSU3Zm.css
new file mode 100644
index 0000000..080d988
--- /dev/null
+++ b/firefox/assets/css/popup-ByqSU3Zm.css
@@ -0,0 +1 @@
+@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";._d-none_127h0_1{display:none!important}._card_127h0_5{background:#fff;border-radius:14px;padding:18px;box-shadow:0 4px 6px -1px #0000001a;border:1px solid #e2e8f0}._large_127h0_13{padding:28px;box-shadow:0 10px 15px -3px #0000001a}._header_127h0_18{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}._title_127h0_25{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:#64748b}._d-none_1dzc3_1{display:none!important}._content_1dzc3_5{display:flex;align-items:center;gap:14px;margin-bottom:16px}._favicon_1dzc3_12{width:44px;height:44px;border-radius:10px;flex-shrink:0;background:#f8f9fc;-o-object-fit:cover;object-fit:cover;border:1px solid #e2e8f0}._faviconPlaceholder_1dzc3_22{width:44px;height:44px;border-radius:10px;background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:700;flex-shrink:0}._details_1dzc3_36{flex:1;min-width:0}._title_1dzc3_41{font-size:14px;font-weight:600;color:#1a1a2e;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3}._url_1dzc3_52{font-size:12px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}._d-none_6a002_1{display:none!important}._footer_6a002_5{display:flex;gap:10px}._button_6a002_10{flex:1}*,*:before,*:after{box-sizing:border-box}html,body,ul[class],ol[class]{padding:0}html,body,ul[class],ol[class],figure,blockquote,dl,dd{margin:0}html,body{border:0}ul,ol{list-style:none}a:not([class]){-webkit-text-decoration-skip:ink;text-decoration-skip-ink:auto}a:hover{text-decoration:none}img,video,picture,svg{max-width:100%;display:block}img{height:auto;font-style:italic;background-repeat:no-repeat;background-size:cover;shape-margin:1rem}article>*+*{margin-top:1em}input,button,textarea,select{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:focus,textarea:active,select:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}:is(ul,ol)>*:not(li){outline:2px dotted red}html{height:100%}body{text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100vw;min-height:100vh;min-height:100svh}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}html{scroll-behavior:initial}}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}:has(:target){scroll-behavior:smooth}}:root{color-scheme:light dark}table{border-collapse:collapse;border-spacing:0}dialog{box-sizing:border-box;max-width:unset;max-height:unset}:root{color-scheme:light}input,textarea,select{border:1px solid #ccc}._d-none_19dhs_13{display:none!important}body{color:#1a1a2e;background:linear-gradient(180deg,#f8f9fc,#eef2f7);width:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}._popup_19dhs_24{width:380px;padding:20px}._header_19dhs_29{text-align:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid #e2e8f0}._title_19dhs_36{font-size:18px;font-weight:700;letter-spacing:-.3px;color:#1a1a2e;background:linear-gradient(135deg,#6366f1,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}._greeting_19dhs_47{font-size:13px;color:#64748b;margin-top:6px;font-weight:500}._tabCard_19dhs_54{margin-bottom:14px}._statsCard_19dhs_58{background:#fff;border-radius:12px;padding:16px;margin-bottom:14px;box-shadow:0 2px 8px #0000000f}._statsTitle_19dhs_66{font-size:13px;font-weight:600;color:#64748b;margin-bottom:12px;text-transform:uppercase;letter-spacing:.5px}._statsGrid_19dhs_75{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}._statItem_19dhs_81{display:flex;flex-direction:column;align-items:center;padding:8px;background:#f8f9fc;border-radius:8px}._statValue_19dhs_90{font-size:20px;font-weight:700;color:#6366f1}._statLabel_19dhs_96{font-size:11px;color:#64748b;margin-top:4px}._visitCard_19dhs_102{display:flex;justify-content:space-between;align-items:center;background:#fff;border-radius:12px;padding:14px 16px;margin-bottom:14px;box-shadow:0 2px 8px #0000000f}._visitLabel_19dhs_113{font-size:13px;color:#64748b}._visitCount_19dhs_118{font-size:18px;font-weight:700;color:#6366f1}
diff --git a/firefox/assets/js/GitHubIcon-DnWgqK1U.chunk.js b/firefox/assets/js/GitHubIcon-DnWgqK1U.chunk.js
new file mode 100644
index 0000000..3d8ed8d
--- /dev/null
+++ b/firefox/assets/js/GitHubIcon-DnWgqK1U.chunk.js
@@ -0,0 +1,9 @@
+(function(){const hl=document.createElement("link").relList;if(hl&&hl.supports&&hl.supports("modulepreload"))return;for(const j of document.querySelectorAll('link[rel="modulepreload"]'))o(j);new MutationObserver(j=>{for(const J of j)if(J.type==="childList")for(const ml of J.addedNodes)ml.tagName==="LINK"&&ml.rel==="modulepreload"&&o(ml)}).observe(document,{childList:!0,subtree:!0});function F(j){const J={};return j.integrity&&(J.integrity=j.integrity),j.referrerPolicy&&(J.referrerPolicy=j.referrerPolicy),j.crossOrigin==="use-credentials"?J.credentials="include":j.crossOrigin==="anonymous"?J.credentials="omit":J.credentials="same-origin",J}function o(j){if(j.ep)return;j.ep=!0;const J=F(j);fetch(j.href,J)}})();var ei={exports:{}},ge={};var d1;function Js(){if(d1)return ge;d1=1;var M=Symbol.for("react.transitional.element"),hl=Symbol.for("react.fragment");function F(o,j,J){var ml=null;if(J!==void 0&&(ml=""+J),j.key!==void 0&&(ml=""+j.key),"key"in j){J={};for(var Rl in j)Rl!=="key"&&(J[Rl]=j[Rl])}else J=j;return j=J.ref,{$$typeof:M,type:o,key:ml,ref:j!==void 0?j:null,props:J}}return ge.Fragment=hl,ge.jsx=F,ge.jsxs=F,ge}var h1;function ws(){return h1||(h1=1,ei.exports=Js()),ei.exports}var vi=ws(),ni={exports:{}},B={};var o1;function Ws(){if(o1)return B;o1=1;var M=Symbol.for("react.transitional.element"),hl=Symbol.for("react.portal"),F=Symbol.for("react.fragment"),o=Symbol.for("react.strict_mode"),j=Symbol.for("react.profiler"),J=Symbol.for("react.consumer"),ml=Symbol.for("react.context"),Rl=Symbol.for("react.forward_ref"),p=Symbol.for("react.suspense"),A=Symbol.for("react.memo"),k=Symbol.for("react.lazy"),R=Symbol.for("react.activity"),yl=Symbol.iterator;function wl(v){return v===null||typeof v!="object"?null:(v=yl&&v[yl]||v["@@iterator"],typeof v=="function"?v:null)}var Yl={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},ql=Object.assign,Dt={};function Wl(v,E,r){this.props=v,this.context=E,this.refs=Dt,this.updater=r||Yl}Wl.prototype.isReactComponent={},Wl.prototype.setState=function(v,E){if(typeof v!="object"&&typeof v!="function"&&v!=null)throw Error("takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,v,E,"setState")},Wl.prototype.forceUpdate=function(v){this.updater.enqueueForceUpdate(this,v,"forceUpdate")};function wt(){}wt.prototype=Wl.prototype;function pl(v,E,r){this.props=v,this.context=E,this.refs=Dt,this.updater=r||Yl}var nt=pl.prototype=new wt;nt.constructor=pl,ql(nt,Wl.prototype),nt.isPureReactComponent=!0;var Tt=Array.isArray;function Gl(){}var L={H:null,A:null,T:null,S:null},jl=Object.prototype.hasOwnProperty;function Et(v,E,r){var D=r.ref;return{$$typeof:M,type:v,key:E,ref:D!==void 0?D:null,props:r}}function Xu(v,E){return Et(v.type,E,v.props)}function At(v){return typeof v=="object"&&v!==null&&v.$$typeof===M}function Xl(v){var E={"=":"=0",":":"=2"};return"$"+v.replace(/[=:]/g,function(r){return E[r]})}var zu=/\/+/g;function Ut(v,E){return typeof v=="object"&&v!==null&&v.key!=null?Xl(""+v.key):E.toString(36)}function St(v){switch(v.status){case"fulfilled":return v.value;case"rejected":throw v.reason;default:switch(typeof v.status=="string"?v.then(Gl,Gl):(v.status="pending",v.then(function(E){v.status==="pending"&&(v.status="fulfilled",v.value=E)},function(E){v.status==="pending"&&(v.status="rejected",v.reason=E)})),v.status){case"fulfilled":return v.value;case"rejected":throw v.reason}}throw v}function b(v,E,r,D,C){var X=typeof v;(X==="undefined"||X==="boolean")&&(v=null);var I=!1;if(v===null)I=!0;else switch(X){case"bigint":case"string":case"number":I=!0;break;case"object":switch(v.$$typeof){case M:case hl:I=!0;break;case k:return I=v._init,b(I(v._payload),E,r,D,C)}}if(I)return C=C(v),I=D===""?"."+Ut(v,0):D,Tt(C)?(r="",I!=null&&(r=I.replace(zu,"$&/")+"/"),b(C,E,r,"",function(ra){return ra})):C!=null&&(At(C)&&(C=Xu(C,r+(C.key==null||v&&v.key===C.key?"":(""+C.key).replace(zu,"$&/")+"/")+I)),E.push(C)),1;I=0;var Bl=D===""?".":D+":";if(Tt(v))for(var ol=0;ol>>1,nl=b[tl];if(0>>1;tlj(r,q))Dj(C,r)?(b[tl]=C,b[D]=q,tl=D):(b[tl]=r,b[E]=q,tl=E);else if(Dj(C,q))b[tl]=C,b[D]=q,tl=D;else break l}}return _}function j(b,_){var q=b.sortIndex-_.sortIndex;return q!==0?q:b.id-_.id}if(M.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var J=performance;M.unstable_now=function(){return J.now()}}else{var ml=Date,Rl=ml.now();M.unstable_now=function(){return ml.now()-Rl}}var p=[],A=[],k=1,R=null,yl=3,wl=!1,Yl=!1,ql=!1,Dt=!1,Wl=typeof setTimeout=="function"?setTimeout:null,wt=typeof clearTimeout=="function"?clearTimeout:null,pl=typeof setImmediate<"u"?setImmediate:null;function nt(b){for(var _=F(A);_!==null;){if(_.callback===null)o(A);else if(_.startTime<=b)o(A),_.sortIndex=_.expirationTime,hl(p,_);else break;_=F(A)}}function Tt(b){if(ql=!1,nt(b),!Yl)if(F(p)!==null)Yl=!0,Gl||(Gl=!0,Xl());else{var _=F(A);_!==null&&St(Tt,_.startTime-b)}}var Gl=!1,L=-1,jl=5,Et=-1;function Xu(){return Dt?!0:!(M.unstable_now()-Etb&&Xu());){var tl=R.callback;if(typeof tl=="function"){R.callback=null,yl=R.priorityLevel;var nl=tl(R.expirationTime<=b);if(b=M.unstable_now(),typeof nl=="function"){R.callback=nl,nt(b),_=!0;break t}R===F(p)&&o(p),nt(b)}else o(p);R=F(p)}if(R!==null)_=!0;else{var v=F(A);v!==null&&St(Tt,v.startTime-b),_=!1}}break l}finally{R=null,yl=q,wl=!1}_=void 0}}finally{_?Xl():Gl=!1}}}var Xl;if(typeof pl=="function")Xl=function(){pl(At)};else if(typeof MessageChannel<"u"){var zu=new MessageChannel,Ut=zu.port2;zu.port1.onmessage=At,Xl=function(){Ut.postMessage(null)}}else Xl=function(){Wl(At,0)};function St(b,_){L=Wl(function(){b(M.unstable_now())},_)}M.unstable_IdlePriority=5,M.unstable_ImmediatePriority=1,M.unstable_LowPriority=4,M.unstable_NormalPriority=3,M.unstable_Profiling=null,M.unstable_UserBlockingPriority=2,M.unstable_cancelCallback=function(b){b.callback=null},M.unstable_forceFrameRate=function(b){0>b||125tl?(b.sortIndex=q,hl(A,b),F(p)===null&&b===F(A)&&(ql?(wt(L),L=-1):ql=!0,St(Tt,q-tl))):(b.sortIndex=nl,hl(p,b),Yl||wl||(Yl=!0,Gl||(Gl=!0,Xl()))),b},M.unstable_shouldYield=Xu,M.unstable_wrapCallback=function(b){var _=yl;return function(){var q=yl;yl=_;try{return b.apply(this,arguments)}finally{yl=q}}}})(ii)),ii}var b1;function Fs(){return b1||(b1=1,ci.exports=$s()),ci.exports}var yi={exports:{}},Nl={};var z1;function ks(){if(z1)return Nl;z1=1;var M=mi();function hl(p){var A="https://react.dev/errors/"+p;if(1"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(M)}catch{}}return M(),yi.exports=ks(),yi.exports}var E1;function Ps(){if(E1)return be;E1=1;var M=Fs(),hl=mi(),F=Is();function o(l){var t="https://react.dev/errors/"+l;if(1nl||(l.current=tl[nl],tl[nl]=null,nl--)}function r(l,t){nl++,tl[nl]=l.current,l.current=t}var D=v(null),C=v(null),X=v(null),I=v(null);function Bl(l,t){switch(r(X,t),r(C,l),r(D,null),t.nodeType){case 9:case 11:l=(l=t.documentElement)&&(l=l.namespaceURI)?Yv(l):0;break;default:if(l=t.tagName,t=t.namespaceURI)t=Yv(t),l=Gv(t,l);else switch(l){case"svg":l=1;break;case"math":l=2;break;default:l=0}}E(D),r(D,l)}function ol(){E(D),E(C),E(X)}function ra(l){l.memoizedState!==null&&r(I,l);var t=D.current,u=Gv(t,l.type);t!==u&&(r(C,l),r(D,u))}function ze(l){C.current===l&&(E(D),E(C)),I.current===l&&(E(I),de._currentValue=q)}var Xn,si;function Tu(l){if(Xn===void 0)try{throw Error()}catch(u){var t=u.stack.trim().match(/\n( *(at )?)/);Xn=t&&t[1]||"",si=-1)":-1e||i[a]!==d[e]){var g=`
+`+i[a].replace(" at new "," at ");return l.displayName&&g.includes("")&&(g=g.replace("",l.displayName)),g}while(1<=a&&0<=e);break}}}finally{Qn=!1,Error.prepareStackTrace=u}return(u=l?l.displayName||l.name:"")?Tu(u):""}function _1(l,t){switch(l.tag){case 26:case 27:case 5:return Tu(l.type);case 16:return Tu("Lazy");case 13:return l.child!==t&&t!==null?Tu("Suspense Fallback"):Tu("Suspense");case 19:return Tu("SuspenseList");case 0:case 15:return Zn(l.type,!1);case 11:return Zn(l.type.render,!1);case 1:return Zn(l.type,!0);case 31:return Tu("Activity");default:return""}}function di(l){try{var t="",u=null;do t+=_1(l,u),u=l,l=l.return;while(l);return t}catch(a){return`
+Error generating stack: `+a.message+`
+`+a.stack}}var Vn=Object.prototype.hasOwnProperty,xn=M.unstable_scheduleCallback,Ln=M.unstable_cancelCallback,r1=M.unstable_shouldYield,O1=M.unstable_requestPaint,$l=M.unstable_now,M1=M.unstable_getCurrentPriorityLevel,hi=M.unstable_ImmediatePriority,oi=M.unstable_UserBlockingPriority,Te=M.unstable_NormalPriority,D1=M.unstable_LowPriority,Si=M.unstable_IdlePriority,U1=M.log,H1=M.unstable_setDisableYieldValue,Oa=null,Fl=null;function Wt(l){if(typeof U1=="function"&&H1(l),Fl&&typeof Fl.setStrictMode=="function")try{Fl.setStrictMode(Oa,l)}catch{}}var kl=Math.clz32?Math.clz32:R1,p1=Math.log,N1=Math.LN2;function R1(l){return l>>>=0,l===0?32:31-(p1(l)/N1|0)|0}var Ee=256,Ae=262144,_e=4194304;function Eu(l){var t=l&42;if(t!==0)return t;switch(l&-l){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:return 128;case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:return l&261888;case 262144:case 524288:case 1048576:case 2097152:return l&3932160;case 4194304:case 8388608:case 16777216:case 33554432:return l&62914560;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return l}}function re(l,t,u){var a=l.pendingLanes;if(a===0)return 0;var e=0,n=l.suspendedLanes,f=l.pingedLanes;l=l.warmLanes;var c=a&134217727;return c!==0?(a=c&~n,a!==0?e=Eu(a):(f&=c,f!==0?e=Eu(f):u||(u=c&~l,u!==0&&(e=Eu(u))))):(c=a&~n,c!==0?e=Eu(c):f!==0?e=Eu(f):u||(u=a&~l,u!==0&&(e=Eu(u)))),e===0?0:t!==0&&t!==e&&(t&n)===0&&(n=e&-e,u=t&-t,n>=u||n===32&&(u&4194048)!==0)?t:e}function Ma(l,t){return(l.pendingLanes&~(l.suspendedLanes&~l.pingedLanes)&t)===0}function q1(l,t){switch(l){case 1:case 2:case 4:case 8:case 64:return t+250;case 16:case 32:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t+5e3;case 4194304:case 8388608:case 16777216:case 33554432:return-1;case 67108864:case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function gi(){var l=_e;return _e<<=1,(_e&62914560)===0&&(_e=4194304),l}function Kn(l){for(var t=[],u=0;31>u;u++)t.push(l);return t}function Da(l,t){l.pendingLanes|=t,t!==268435456&&(l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0)}function B1(l,t,u,a,e,n){var f=l.pendingLanes;l.pendingLanes=u,l.suspendedLanes=0,l.pingedLanes=0,l.warmLanes=0,l.expiredLanes&=u,l.entangledLanes&=u,l.errorRecoveryDisabledLanes&=u,l.shellSuspendCounter=0;var c=l.entanglements,i=l.expirationTimes,d=l.hiddenUpdates;for(u=f&~u;0"u")return null;try{return l.activeElement||l.body}catch{return l.body}}var Q1=/[\n"\\]/g;function ct(l){return l.replace(Q1,function(t){return"\\"+t.charCodeAt(0).toString(16)+" "})}function kn(l,t,u,a,e,n,f,c){l.name="",f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"?l.type=f:l.removeAttribute("type"),t!=null?f==="number"?(t===0&&l.value===""||l.value!=t)&&(l.value=""+ft(t)):l.value!==""+ft(t)&&(l.value=""+ft(t)):f!=="submit"&&f!=="reset"||l.removeAttribute("value"),t!=null?In(l,f,ft(t)):u!=null?In(l,f,ft(u)):a!=null&&l.removeAttribute("value"),e==null&&n!=null&&(l.defaultChecked=!!n),e!=null&&(l.checked=e&&typeof e!="function"&&typeof e!="symbol"),c!=null&&typeof c!="function"&&typeof c!="symbol"&&typeof c!="boolean"?l.name=""+ft(c):l.removeAttribute("name")}function pi(l,t,u,a,e,n,f,c){if(n!=null&&typeof n!="function"&&typeof n!="symbol"&&typeof n!="boolean"&&(l.type=n),t!=null||u!=null){if(!(n!=="submit"&&n!=="reset"||t!=null)){Fn(l);return}u=u!=null?""+ft(u):"",t=t!=null?""+ft(t):u,c||t===l.value||(l.value=t),l.defaultValue=t}a=a??e,a=typeof a!="function"&&typeof a!="symbol"&&!!a,l.checked=c?l.checked:!!a,l.defaultChecked=!!a,f!=null&&typeof f!="function"&&typeof f!="symbol"&&typeof f!="boolean"&&(l.name=f),Fn(l)}function In(l,t,u){t==="number"&&De(l.ownerDocument)===l||l.defaultValue===""+u||(l.defaultValue=""+u)}function Ku(l,t,u,a){if(l=l.options,t){t={};for(var e=0;e"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),af=!1;if(Nt)try{var Na={};Object.defineProperty(Na,"passive",{get:function(){af=!0}}),window.addEventListener("test",Na,Na),window.removeEventListener("test",Na,Na)}catch{af=!1}var Ft=null,ef=null,He=null;function Gi(){if(He)return He;var l,t=ef,u=t.length,a,e="value"in Ft?Ft.value:Ft.textContent,n=e.length;for(l=0;l=Ba),xi=" ",Li=!1;function Ki(l,t){switch(l){case"keyup":return hm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function Ji(l){return l=l.detail,typeof l=="object"&&"data"in l?l.data:null}var $u=!1;function Sm(l,t){switch(l){case"compositionend":return Ji(t);case"keypress":return t.which!==32?null:(Li=!0,xi);case"textInput":return l=t.data,l===xi&&Li?null:l;default:return null}}function gm(l,t){if($u)return l==="compositionend"||!vf&&Ki(l,t)?(l=Gi(),He=ef=Ft=null,$u=!1,l):null;switch(l){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:u,offset:t-l};l=a}l:{for(;u;){if(u.nextSibling){u=u.nextSibling;break l}u=u.parentNode}u=void 0}u=l0(u)}}function u0(l,t){return l&&t?l===t?!0:l&&l.nodeType===3?!1:t&&t.nodeType===3?u0(l,t.parentNode):"contains"in l?l.contains(t):l.compareDocumentPosition?!!(l.compareDocumentPosition(t)&16):!1:!1}function a0(l){l=l!=null&&l.ownerDocument!=null&&l.ownerDocument.defaultView!=null?l.ownerDocument.defaultView:window;for(var t=De(l.document);t instanceof l.HTMLIFrameElement;){try{var u=typeof t.contentWindow.location.href=="string"}catch{u=!1}if(u)l=t.contentWindow;else break;t=De(l.document)}return t}function df(l){var t=l&&l.nodeName&&l.nodeName.toLowerCase();return t&&(t==="input"&&(l.type==="text"||l.type==="search"||l.type==="tel"||l.type==="url"||l.type==="password")||t==="textarea"||l.contentEditable==="true")}var Om=Nt&&"documentMode"in document&&11>=document.documentMode,Fu=null,hf=null,ja=null,of=!1;function e0(l,t,u){var a=u.window===u?u.document:u.nodeType===9?u:u.ownerDocument;of||Fu==null||Fu!==De(a)||(a=Fu,"selectionStart"in a&&df(a)?a={start:a.selectionStart,end:a.selectionEnd}:(a=(a.ownerDocument&&a.ownerDocument.defaultView||window).getSelection(),a={anchorNode:a.anchorNode,anchorOffset:a.anchorOffset,focusNode:a.focusNode,focusOffset:a.focusOffset}),ja&&Ga(ja,a)||(ja=a,a=_n(hf,"onSelect"),0>=f,e-=f,_t=1<<32-kl(t)+e|u<G?(x=U,U=null):x=U.sibling;var W=h(m,U,s[G],z);if(W===null){U===null&&(U=x);break}l&&U&&W.alternate===null&&t(m,U),y=n(W,y,G),w===null?H=W:w.sibling=W,w=W,U=x}if(G===s.length)return u(m,U),K&&qt(m,G),H;if(U===null){for(;GG?(x=U,U=null):x=U.sibling;var bu=h(m,U,W.value,z);if(bu===null){U===null&&(U=x);break}l&&U&&bu.alternate===null&&t(m,U),y=n(bu,y,G),w===null?H=bu:w.sibling=bu,w=bu,U=x}if(W.done)return u(m,U),K&&qt(m,G),H;if(U===null){for(;!W.done;G++,W=s.next())W=T(m,W.value,z),W!==null&&(y=n(W,y,G),w===null?H=W:w.sibling=W,w=W);return K&&qt(m,G),H}for(U=a(U);!W.done;G++,W=s.next())W=S(U,m,G,W.value,z),W!==null&&(l&&W.alternate!==null&&U.delete(W.key===null?G:W.key),y=n(W,y,G),w===null?H=W:w.sibling=W,w=W);return l&&U.forEach(function(Ks){return t(m,Ks)}),K&&qt(m,G),H}function el(m,y,s,z){if(typeof s=="object"&&s!==null&&s.type===ql&&s.key===null&&(s=s.props.children),typeof s=="object"&&s!==null){switch(s.$$typeof){case wl:l:{for(var H=s.key;y!==null;){if(y.key===H){if(H=s.type,H===ql){if(y.tag===7){u(m,y.sibling),z=e(y,s.props.children),z.return=m,m=z;break l}}else if(y.elementType===H||typeof H=="object"&&H!==null&&H.$$typeof===jl&&Ru(H)===y.type){u(m,y.sibling),z=e(y,s.props),La(z,s),z.return=m,m=z;break l}u(m,y);break}else t(m,y);y=y.sibling}s.type===ql?(z=Du(s.props.children,m.mode,z,s.key),z.return=m,m=z):(z=Xe(s.type,s.key,s.props,null,m.mode,z),La(z,s),z.return=m,m=z)}return f(m);case Yl:l:{for(H=s.key;y!==null;){if(y.key===H)if(y.tag===4&&y.stateNode.containerInfo===s.containerInfo&&y.stateNode.implementation===s.implementation){u(m,y.sibling),z=e(y,s.children||[]),z.return=m,m=z;break l}else{u(m,y);break}else t(m,y);y=y.sibling}z=Af(s,m.mode,z),z.return=m,m=z}return f(m);case jl:return s=Ru(s),el(m,y,s,z)}if(St(s))return O(m,y,s,z);if(Xl(s)){if(H=Xl(s),typeof H!="function")throw Error(o(150));return s=H.call(s),N(m,y,s,z)}if(typeof s.then=="function")return el(m,y,Je(s),z);if(s.$$typeof===pl)return el(m,y,Ve(m,s),z);we(m,s)}return typeof s=="string"&&s!==""||typeof s=="number"||typeof s=="bigint"?(s=""+s,y!==null&&y.tag===6?(u(m,y.sibling),z=e(y,s),z.return=m,m=z):(u(m,y),z=Ef(s,m.mode,z),z.return=m,m=z),f(m)):u(m,y)}return function(m,y,s,z){try{xa=0;var H=el(m,y,s,z);return ca=null,H}catch(U){if(U===fa||U===Le)throw U;var w=Pl(29,U,null,m.mode);return w.lanes=z,w.return=m,w}}}var Bu=D0(!0),U0=D0(!1),tu=!1;function Bf(l){l.updateQueue={baseState:l.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,lanes:0,hiddenCallbacks:null},callbacks:null}}function Cf(l,t){l=l.updateQueue,t.updateQueue===l&&(t.updateQueue={baseState:l.baseState,firstBaseUpdate:l.firstBaseUpdate,lastBaseUpdate:l.lastBaseUpdate,shared:l.shared,callbacks:null})}function uu(l){return{lane:l,tag:0,payload:null,callback:null,next:null}}function au(l,t,u){var a=l.updateQueue;if(a===null)return null;if(a=a.shared,($&2)!==0){var e=a.pending;return e===null?t.next=t:(t.next=e.next,e.next=t),a.pending=t,t=je(l),m0(l,null,u),t}return Ge(l,a,t,u),je(l)}function Ka(l,t,u){if(t=t.updateQueue,t!==null&&(t=t.shared,(u&4194048)!==0)){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,zi(l,u)}}function Yf(l,t){var u=l.updateQueue,a=l.alternate;if(a!==null&&(a=a.updateQueue,u===a)){var e=null,n=null;if(u=u.firstBaseUpdate,u!==null){do{var f={lane:u.lane,tag:u.tag,payload:u.payload,callback:null,next:null};n===null?e=n=f:n=n.next=f,u=u.next}while(u!==null);n===null?e=n=t:n=n.next=t}else e=n=t;u={baseState:a.baseState,firstBaseUpdate:e,lastBaseUpdate:n,shared:a.shared,callbacks:a.callbacks},l.updateQueue=u;return}l=u.lastBaseUpdate,l===null?u.firstBaseUpdate=t:l.next=t,u.lastBaseUpdate=t}var Gf=!1;function Ja(){if(Gf){var l=na;if(l!==null)throw l}}function wa(l,t,u,a){Gf=!1;var e=l.updateQueue;tu=!1;var n=e.firstBaseUpdate,f=e.lastBaseUpdate,c=e.shared.pending;if(c!==null){e.shared.pending=null;var i=c,d=i.next;i.next=null,f===null?n=d:f.next=d,f=i;var g=l.alternate;g!==null&&(g=g.updateQueue,c=g.lastBaseUpdate,c!==f&&(c===null?g.firstBaseUpdate=d:c.next=d,g.lastBaseUpdate=i))}if(n!==null){var T=e.baseState;f=0,g=d=i=null,c=n;do{var h=c.lane&-536870913,S=h!==c.lane;if(S?(V&h)===h:(a&h)===h){h!==0&&h===ea&&(Gf=!0),g!==null&&(g=g.next={lane:0,tag:c.tag,payload:c.payload,callback:null,next:null});l:{var O=l,N=c;h=t;var el=u;switch(N.tag){case 1:if(O=N.payload,typeof O=="function"){T=O.call(el,T,h);break l}T=O;break l;case 3:O.flags=O.flags&-65537|128;case 0:if(O=N.payload,h=typeof O=="function"?O.call(el,T,h):O,h==null)break l;T=R({},T,h);break l;case 2:tu=!0}}h=c.callback,h!==null&&(l.flags|=64,S&&(l.flags|=8192),S=e.callbacks,S===null?e.callbacks=[h]:S.push(h))}else S={lane:h,tag:c.tag,payload:c.payload,callback:c.callback,next:null},g===null?(d=g=S,i=T):g=g.next=S,f|=h;if(c=c.next,c===null){if(c=e.shared.pending,c===null)break;S=c,c=S.next,S.next=null,e.lastBaseUpdate=S,e.shared.pending=null}}while(!0);g===null&&(i=T),e.baseState=i,e.firstBaseUpdate=d,e.lastBaseUpdate=g,n===null&&(e.shared.lanes=0),iu|=f,l.lanes=f,l.memoizedState=T}}function H0(l,t){if(typeof l!="function")throw Error(o(191,l));l.call(t)}function p0(l,t){var u=l.callbacks;if(u!==null)for(l.callbacks=null,l=0;ln?n:8;var f=b.T,c={};b.T=c,uc(l,!1,t,u);try{var i=e(),d=b.S;if(d!==null&&d(c,i),i!==null&&typeof i=="object"&&typeof i.then=="function"){var g=Bm(i,a);Fa(l,t,g,et(l))}else Fa(l,t,a,et(l))}catch(T){Fa(l,t,{then:function(){},status:"rejected",reason:T},et())}finally{_.p=n,f!==null&&c.types!==null&&(f.types=c.types),b.T=f}}function Qm(){}function lc(l,t,u,a){if(l.tag!==5)throw Error(o(476));var e=iy(l).queue;cy(l,e,t,q,u===null?Qm:function(){return yy(l),u(a)})}function iy(l){var t=l.memoizedState;if(t!==null)return t;t={memoizedState:q,baseState:q,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:q},next:null};var u={};return t.next={memoizedState:u,baseState:u,baseQueue:null,queue:{pending:null,lanes:0,dispatch:null,lastRenderedReducer:Gt,lastRenderedState:u},next:null},l.memoizedState=t,l=l.alternate,l!==null&&(l.memoizedState=t),t}function yy(l){var t=iy(l);t.next===null&&(t=l.alternate.memoizedState),Fa(l,t.next.queue,{},et())}function tc(){return Dl(de)}function vy(){return gl().memoizedState}function my(){return gl().memoizedState}function Zm(l){for(var t=l.return;t!==null;){switch(t.tag){case 24:case 3:var u=et();l=uu(u);var a=au(t,l,u);a!==null&&(Jl(a,t,u),Ka(a,t,u)),t={cache:pf()},l.payload=t;return}t=t.return}}function Vm(l,t,u){var a=et();u={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null},an(l)?dy(t,u):(u=zf(l,t,u,a),u!==null&&(Jl(u,l,a),hy(u,t,a)))}function sy(l,t,u){var a=et();Fa(l,t,u,a)}function Fa(l,t,u,a){var e={lane:a,revertLane:0,gesture:null,action:u,hasEagerState:!1,eagerState:null,next:null};if(an(l))dy(t,e);else{var n=l.alternate;if(l.lanes===0&&(n===null||n.lanes===0)&&(n=t.lastRenderedReducer,n!==null))try{var f=t.lastRenderedState,c=n(f,u);if(e.hasEagerState=!0,e.eagerState=c,Il(c,f))return Ge(l,t,e,0),fl===null&&Ye(),!1}catch{}if(u=zf(l,t,e,a),u!==null)return Jl(u,l,a),hy(u,t,a),!0}return!1}function uc(l,t,u,a){if(a={lane:2,revertLane:Bc(),gesture:null,action:a,hasEagerState:!1,eagerState:null,next:null},an(l)){if(t)throw Error(o(479))}else t=zf(l,u,a,2),t!==null&&Jl(t,l,2)}function an(l){var t=l.alternate;return l===Y||t!==null&&t===Y}function dy(l,t){ya=Fe=!0;var u=l.pending;u===null?t.next=t:(t.next=u.next,u.next=t),l.pending=t}function hy(l,t,u){if((u&4194048)!==0){var a=t.lanes;a&=l.pendingLanes,u|=a,t.lanes=u,zi(l,u)}}var ka={readContext:Dl,use:Pe,useCallback:sl,useContext:sl,useEffect:sl,useImperativeHandle:sl,useLayoutEffect:sl,useInsertionEffect:sl,useMemo:sl,useReducer:sl,useRef:sl,useState:sl,useDebugValue:sl,useDeferredValue:sl,useTransition:sl,useSyncExternalStore:sl,useId:sl,useHostTransitionStatus:sl,useFormState:sl,useActionState:sl,useOptimistic:sl,useMemoCache:sl,useCacheRefresh:sl};ka.useEffectEvent=sl;var oy={readContext:Dl,use:Pe,useCallback:function(l,t){return Cl().memoizedState=[l,t===void 0?null:t],l},useContext:Dl,useEffect:I0,useImperativeHandle:function(l,t,u){u=u!=null?u.concat([l]):null,tn(4194308,4,uy.bind(null,t,l),u)},useLayoutEffect:function(l,t){return tn(4194308,4,l,t)},useInsertionEffect:function(l,t){tn(4,2,l,t)},useMemo:function(l,t){var u=Cl();t=t===void 0?null:t;var a=l();if(Cu){Wt(!0);try{l()}finally{Wt(!1)}}return u.memoizedState=[a,t],a},useReducer:function(l,t,u){var a=Cl();if(u!==void 0){var e=u(t);if(Cu){Wt(!0);try{u(t)}finally{Wt(!1)}}}else e=t;return a.memoizedState=a.baseState=e,l={pending:null,lanes:0,dispatch:null,lastRenderedReducer:l,lastRenderedState:e},a.queue=l,l=l.dispatch=Vm.bind(null,Y,l),[a.memoizedState,l]},useRef:function(l){var t=Cl();return l={current:l},t.memoizedState=l},useState:function(l){l=$f(l);var t=l.queue,u=sy.bind(null,Y,t);return t.dispatch=u,[l.memoizedState,u]},useDebugValue:If,useDeferredValue:function(l,t){var u=Cl();return Pf(u,l,t)},useTransition:function(){var l=$f(!1);return l=cy.bind(null,Y,l.queue,!0,!1),Cl().memoizedState=l,[!1,l]},useSyncExternalStore:function(l,t,u){var a=Y,e=Cl();if(K){if(u===void 0)throw Error(o(407));u=u()}else{if(u=t(),fl===null)throw Error(o(349));(V&127)!==0||Y0(a,t,u)}e.memoizedState=u;var n={value:u,getSnapshot:t};return e.queue=n,I0(j0.bind(null,a,n,l),[l]),a.flags|=2048,ma(9,{destroy:void 0},G0.bind(null,a,n,u,t),null),u},useId:function(){var l=Cl(),t=fl.identifierPrefix;if(K){var u=rt,a=_t;u=(a&~(1<<32-kl(a)-1)).toString(32)+u,t="_"+t+"R_"+u,u=ke++,0<\/script>",n=n.removeChild(n.firstChild);break;case"select":n=typeof a.is=="string"?f.createElement("select",{is:a.is}):f.createElement("select"),a.multiple?n.multiple=!0:a.size&&(n.size=a.size);break;default:n=typeof a.is=="string"?f.createElement(e,{is:a.is}):f.createElement(e)}}n[Ol]=t,n[Ql]=a;l:for(f=t.child;f!==null;){if(f.tag===5||f.tag===6)n.appendChild(f.stateNode);else if(f.tag!==4&&f.tag!==27&&f.child!==null){f.child.return=f,f=f.child;continue}if(f===t)break l;for(;f.sibling===null;){if(f.return===null||f.return===t)break l;f=f.return}f.sibling.return=f.return,f=f.sibling}t.stateNode=n;l:switch(Hl(n,e,a),e){case"button":case"input":case"select":case"textarea":a=!!a.autoFocus;break l;case"img":a=!0;break l;default:a=!1}a&&Xt(t)}}return il(t),Sc(t,t.type,l===null?null:l.memoizedProps,t.pendingProps,u),null;case 6:if(l&&t.stateNode!=null)l.memoizedProps!==a&&Xt(t);else{if(typeof a!="string"&&t.stateNode===null)throw Error(o(166));if(l=X.current,ua(t)){if(l=t.stateNode,u=t.memoizedProps,a=null,e=Ml,e!==null)switch(e.tag){case 27:case 5:a=e.memoizedProps}l[Ol]=t,l=!!(l.nodeValue===u||a!==null&&a.suppressHydrationWarning===!0||Bv(l.nodeValue,u)),l||Pt(t,!0)}else l=rn(l).createTextNode(a),l[Ol]=t,t.stateNode=l}return il(t),null;case 31:if(u=t.memoizedState,l===null||l.memoizedState!==null){if(a=ua(t),u!==null){if(l===null){if(!a)throw Error(o(318));if(l=t.memoizedState,l=l!==null?l.dehydrated:null,!l)throw Error(o(557));l[Ol]=t}else Uu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),l=!1}else u=Mf(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=u),l=!0;if(!l)return t.flags&256?(tt(t),t):(tt(t),null);if((t.flags&128)!==0)throw Error(o(558))}return il(t),null;case 13:if(a=t.memoizedState,l===null||l.memoizedState!==null&&l.memoizedState.dehydrated!==null){if(e=ua(t),a!==null&&a.dehydrated!==null){if(l===null){if(!e)throw Error(o(318));if(e=t.memoizedState,e=e!==null?e.dehydrated:null,!e)throw Error(o(317));e[Ol]=t}else Uu(),(t.flags&128)===0&&(t.memoizedState=null),t.flags|=4;il(t),e=!1}else e=Mf(),l!==null&&l.memoizedState!==null&&(l.memoizedState.hydrationErrors=e),e=!0;if(!e)return t.flags&256?(tt(t),t):(tt(t),null)}return tt(t),(t.flags&128)!==0?(t.lanes=u,t):(u=a!==null,l=l!==null&&l.memoizedState!==null,u&&(a=t.child,e=null,a.alternate!==null&&a.alternate.memoizedState!==null&&a.alternate.memoizedState.cachePool!==null&&(e=a.alternate.memoizedState.cachePool.pool),n=null,a.memoizedState!==null&&a.memoizedState.cachePool!==null&&(n=a.memoizedState.cachePool.pool),n!==e&&(a.flags|=2048)),u!==l&&u&&(t.child.flags|=8192),yn(t,t.updateQueue),il(t),null);case 4:return ol(),l===null&&jc(t.stateNode.containerInfo),il(t),null;case 10:return Ct(t.type),il(t),null;case 19:if(E(Sl),a=t.memoizedState,a===null)return il(t),null;if(e=(t.flags&128)!==0,n=a.rendering,n===null)if(e)Pa(a,!1);else{if(dl!==0||l!==null&&(l.flags&128)!==0)for(l=t.child;l!==null;){if(n=$e(l),n!==null){for(t.flags|=128,Pa(a,!1),l=n.updateQueue,t.updateQueue=l,yn(t,l),t.subtreeFlags=0,l=u,u=t.child;u!==null;)s0(u,l),u=u.sibling;return r(Sl,Sl.current&1|2),K&&qt(t,a.treeForkCount),t.child}l=l.sibling}a.tail!==null&&$l()>hn&&(t.flags|=128,e=!0,Pa(a,!1),t.lanes=4194304)}else{if(!e)if(l=$e(n),l!==null){if(t.flags|=128,e=!0,l=l.updateQueue,t.updateQueue=l,yn(t,l),Pa(a,!0),a.tail===null&&a.tailMode==="hidden"&&!n.alternate&&!K)return il(t),null}else 2*$l()-a.renderingStartTime>hn&&u!==536870912&&(t.flags|=128,e=!0,Pa(a,!1),t.lanes=4194304);a.isBackwards?(n.sibling=t.child,t.child=n):(l=a.last,l!==null?l.sibling=n:t.child=n,a.last=n)}return a.tail!==null?(l=a.tail,a.rendering=l,a.tail=l.sibling,a.renderingStartTime=$l(),l.sibling=null,u=Sl.current,r(Sl,e?u&1|2:u&1),K&&qt(t,a.treeForkCount),l):(il(t),null);case 22:case 23:return tt(t),Xf(),a=t.memoizedState!==null,l!==null?l.memoizedState!==null!==a&&(t.flags|=8192):a&&(t.flags|=8192),a?(u&536870912)!==0&&(t.flags&128)===0&&(il(t),t.subtreeFlags&6&&(t.flags|=8192)):il(t),u=t.updateQueue,u!==null&&yn(t,u.retryQueue),u=null,l!==null&&l.memoizedState!==null&&l.memoizedState.cachePool!==null&&(u=l.memoizedState.cachePool.pool),a=null,t.memoizedState!==null&&t.memoizedState.cachePool!==null&&(a=t.memoizedState.cachePool.pool),a!==u&&(t.flags|=2048),l!==null&&E(Nu),null;case 24:return u=null,l!==null&&(u=l.memoizedState.cache),t.memoizedState.cache!==u&&(t.flags|=2048),Ct(bl),il(t),null;case 25:return null;case 30:return null}throw Error(o(156,t.tag))}function wm(l,t){switch(rf(t),t.tag){case 1:return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 3:return Ct(bl),ol(),l=t.flags,(l&65536)!==0&&(l&128)===0?(t.flags=l&-65537|128,t):null;case 26:case 27:case 5:return ze(t),null;case 31:if(t.memoizedState!==null){if(tt(t),t.alternate===null)throw Error(o(340));Uu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 13:if(tt(t),l=t.memoizedState,l!==null&&l.dehydrated!==null){if(t.alternate===null)throw Error(o(340));Uu()}return l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 19:return E(Sl),null;case 4:return ol(),null;case 10:return Ct(t.type),null;case 22:case 23:return tt(t),Xf(),l!==null&&E(Nu),l=t.flags,l&65536?(t.flags=l&-65537|128,t):null;case 24:return Ct(bl),null;case 25:return null;default:return null}}function Xy(l,t){switch(rf(t),t.tag){case 3:Ct(bl),ol();break;case 26:case 27:case 5:ze(t);break;case 4:ol();break;case 31:t.memoizedState!==null&&tt(t);break;case 13:tt(t);break;case 19:E(Sl);break;case 10:Ct(t.type);break;case 22:case 23:tt(t),Xf(),l!==null&&E(Nu);break;case 24:Ct(bl)}}function le(l,t){try{var u=t.updateQueue,a=u!==null?u.lastEffect:null;if(a!==null){var e=a.next;u=e;do{if((u.tag&l)===l){a=void 0;var n=u.create,f=u.inst;a=n(),f.destroy=a}u=u.next}while(u!==e)}}catch(c){ll(t,t.return,c)}}function fu(l,t,u){try{var a=t.updateQueue,e=a!==null?a.lastEffect:null;if(e!==null){var n=e.next;a=n;do{if((a.tag&l)===l){var f=a.inst,c=f.destroy;if(c!==void 0){f.destroy=void 0,e=t;var i=u,d=c;try{d()}catch(g){ll(e,i,g)}}}a=a.next}while(a!==n)}}catch(g){ll(t,t.return,g)}}function Qy(l){var t=l.updateQueue;if(t!==null){var u=l.stateNode;try{p0(t,u)}catch(a){ll(l,l.return,a)}}}function Zy(l,t,u){u.props=Yu(l.type,l.memoizedProps),u.state=l.memoizedState;try{u.componentWillUnmount()}catch(a){ll(l,t,a)}}function te(l,t){try{var u=l.ref;if(u!==null){switch(l.tag){case 26:case 27:case 5:var a=l.stateNode;break;case 30:a=l.stateNode;break;default:a=l.stateNode}typeof u=="function"?l.refCleanup=u(a):u.current=a}}catch(e){ll(l,t,e)}}function Ot(l,t){var u=l.ref,a=l.refCleanup;if(u!==null)if(typeof a=="function")try{a()}catch(e){ll(l,t,e)}finally{l.refCleanup=null,l=l.alternate,l!=null&&(l.refCleanup=null)}else if(typeof u=="function")try{u(null)}catch(e){ll(l,t,e)}else u.current=null}function Vy(l){var t=l.type,u=l.memoizedProps,a=l.stateNode;try{l:switch(t){case"button":case"input":case"select":case"textarea":u.autoFocus&&a.focus();break l;case"img":u.src?a.src=u.src:u.srcSet&&(a.srcset=u.srcSet)}}catch(e){ll(l,l.return,e)}}function gc(l,t,u){try{var a=l.stateNode;os(a,l.type,u,t),a[Ql]=t}catch(e){ll(l,l.return,e)}}function xy(l){return l.tag===5||l.tag===3||l.tag===26||l.tag===27&&du(l.type)||l.tag===4}function bc(l){l:for(;;){for(;l.sibling===null;){if(l.return===null||xy(l.return))return null;l=l.return}for(l.sibling.return=l.return,l=l.sibling;l.tag!==5&&l.tag!==6&&l.tag!==18;){if(l.tag===27&&du(l.type)||l.flags&2||l.child===null||l.tag===4)continue l;l.child.return=l,l=l.child}if(!(l.flags&2))return l.stateNode}}function zc(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?(u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u).insertBefore(l,t):(t=u.nodeType===9?u.body:u.nodeName==="HTML"?u.ownerDocument.body:u,t.appendChild(l),u=u._reactRootContainer,u!=null||t.onclick!==null||(t.onclick=pt));else if(a!==4&&(a===27&&du(l.type)&&(u=l.stateNode,t=null),l=l.child,l!==null))for(zc(l,t,u),l=l.sibling;l!==null;)zc(l,t,u),l=l.sibling}function vn(l,t,u){var a=l.tag;if(a===5||a===6)l=l.stateNode,t?u.insertBefore(l,t):u.appendChild(l);else if(a!==4&&(a===27&&du(l.type)&&(u=l.stateNode),l=l.child,l!==null))for(vn(l,t,u),l=l.sibling;l!==null;)vn(l,t,u),l=l.sibling}function Ly(l){var t=l.stateNode,u=l.memoizedProps;try{for(var a=l.type,e=t.attributes;e.length;)t.removeAttributeNode(e[0]);Hl(t,a,u),t[Ol]=l,t[Ql]=u}catch(n){ll(l,l.return,n)}}var Qt=!1,El=!1,Tc=!1,Ky=typeof WeakSet=="function"?WeakSet:Set,rl=null;function Wm(l,t){if(l=l.containerInfo,Zc=Nn,l=a0(l),df(l)){if("selectionStart"in l)var u={start:l.selectionStart,end:l.selectionEnd};else l:{u=(u=l.ownerDocument)&&u.defaultView||window;var a=u.getSelection&&u.getSelection();if(a&&a.rangeCount!==0){u=a.anchorNode;var e=a.anchorOffset,n=a.focusNode;a=a.focusOffset;try{u.nodeType,n.nodeType}catch{u=null;break l}var f=0,c=-1,i=-1,d=0,g=0,T=l,h=null;t:for(;;){for(var S;T!==u||e!==0&&T.nodeType!==3||(c=f+e),T!==n||a!==0&&T.nodeType!==3||(i=f+a),T.nodeType===3&&(f+=T.nodeValue.length),(S=T.firstChild)!==null;)h=T,T=S;for(;;){if(T===l)break t;if(h===u&&++d===e&&(c=f),h===n&&++g===a&&(i=f),(S=T.nextSibling)!==null)break;T=h,h=T.parentNode}T=S}u=c===-1||i===-1?null:{start:c,end:i}}else u=null}u=u||{start:0,end:0}}else u=null;for(Vc={focusedElem:l,selectionRange:u},Nn=!1,rl=t;rl!==null;)if(t=rl,l=t.child,(t.subtreeFlags&1028)!==0&&l!==null)l.return=t,rl=l;else for(;rl!==null;){switch(t=rl,n=t.alternate,l=t.flags,t.tag){case 0:if((l&4)!==0&&(l=t.updateQueue,l=l!==null?l.events:null,l!==null))for(u=0;u title"))),Hl(n,a,u),n[Ol]=l,_l(n),a=n;break l;case"link":var f=kv("link","href",e).get(a+(u.href||""));if(f){for(var c=0;cel&&(f=el,el=N,N=f);var m=t0(c,N),y=t0(c,el);if(m&&y&&(S.rangeCount!==1||S.anchorNode!==m.node||S.anchorOffset!==m.offset||S.focusNode!==y.node||S.focusOffset!==y.offset)){var s=T.createRange();s.setStart(m.node,m.offset),S.removeAllRanges(),N>el?(S.addRange(s),S.extend(y.node,y.offset)):(s.setEnd(y.node,y.offset),S.addRange(s))}}}}for(T=[],S=c;S=S.parentNode;)S.nodeType===1&&T.push({element:S,left:S.scrollLeft,top:S.scrollTop});for(typeof c.focus=="function"&&c.focus(),c=0;cu?32:u,b.T=null,u=Dc,Dc=null;var n=vu,f=Kt;if(Al=0,Sa=vu=null,Kt=0,($&6)!==0)throw Error(o(331));var c=$;if($|=4,uv(n.current),Py(n,n.current,f,u),$=c,ce(0,!1),Fl&&typeof Fl.onPostCommitFiberRoot=="function")try{Fl.onPostCommitFiberRoot(Oa,n)}catch{}return!0}finally{_.p=e,b.T=a,Tv(l,t)}}function Av(l,t,u){t=yt(u,t),t=fc(l.stateNode,t,2),l=au(l,t,2),l!==null&&(Da(l,2),Mt(l))}function ll(l,t,u){if(l.tag===3)Av(l,l,u);else for(;t!==null;){if(t.tag===3){Av(t,l,u);break}else if(t.tag===1){var a=t.stateNode;if(typeof t.type.getDerivedStateFromError=="function"||typeof a.componentDidCatch=="function"&&(yu===null||!yu.has(a))){l=yt(u,l),u=_y(2),a=au(t,u,2),a!==null&&(ry(u,a,t,l),Da(a,2),Mt(a));break}}t=t.return}}function Nc(l,t,u){var a=l.pingCache;if(a===null){a=l.pingCache=new km;var e=new Set;a.set(t,e)}else e=a.get(t),e===void 0&&(e=new Set,a.set(t,e));e.has(u)||(_c=!0,e.add(u),l=us.bind(null,l,t,u),t.then(l,l))}function us(l,t,u){var a=l.pingCache;a!==null&&a.delete(t),l.pingedLanes|=l.suspendedLanes&u,l.warmLanes&=~u,fl===l&&(V&u)===u&&(dl===4||dl===3&&(V&62914560)===V&&300>$l()-dn?($&2)===0&&ga(l,0):rc|=u,oa===V&&(oa=0)),Mt(l)}function _v(l,t){t===0&&(t=gi()),l=Mu(l,t),l!==null&&(Da(l,t),Mt(l))}function as(l){var t=l.memoizedState,u=0;t!==null&&(u=t.retryLane),_v(l,u)}function es(l,t){var u=0;switch(l.tag){case 31:case 13:var a=l.stateNode,e=l.memoizedState;e!==null&&(u=e.retryLane);break;case 19:a=l.stateNode;break;case 22:a=l.stateNode._retryCache;break;default:throw Error(o(314))}a!==null&&a.delete(t),_v(l,u)}function ns(l,t){return xn(l,t)}var Tn=null,za=null,Rc=!1,En=!1,qc=!1,su=0;function Mt(l){l!==za&&l.next===null&&(za===null?Tn=za=l:za=za.next=l),En=!0,Rc||(Rc=!0,cs())}function ce(l,t){if(!qc&&En){qc=!0;do for(var u=!1,a=Tn;a!==null;){if(l!==0){var e=a.pendingLanes;if(e===0)var n=0;else{var f=a.suspendedLanes,c=a.pingedLanes;n=(1<<31-kl(42|l)+1)-1,n&=e&~(f&~c),n=n&201326741?n&201326741|1:n?n|2:0}n!==0&&(u=!0,Dv(a,n))}else n=V,n=re(a,a===fl?n:0,a.cancelPendingCommit!==null||a.timeoutHandle!==-1),(n&3)===0||Ma(a,n)||(u=!0,Dv(a,n));a=a.next}while(u);qc=!1}}function fs(){rv()}function rv(){En=Rc=!1;var l=0;su!==0&&gs()&&(l=su);for(var t=$l(),u=null,a=Tn;a!==null;){var e=a.next,n=Ov(a,t);n===0?(a.next=null,u===null?Tn=e:u.next=e,e===null&&(za=u)):(u=a,(l!==0||(n&3)!==0)&&(En=!0)),a=e}Al!==0&&Al!==5||ce(l),su!==0&&(su=0)}function Ov(l,t){for(var u=l.suspendedLanes,a=l.pingedLanes,e=l.expirationTimes,n=l.pendingLanes&-62914561;0c)break;var g=i.transferSize,T=i.initiatorType;g&&Cv(T)&&(i=i.responseEnd,f+=g*(i"u"?null:document;function wv(l,t,u){var a=Ta;if(a&&typeof t=="string"&&t){var e=ct(t);e='link[rel="'+l+'"][href="'+e+'"]',typeof u=="string"&&(e+='[crossorigin="'+u+'"]'),Jv.has(e)||(Jv.add(e),l={rel:l,crossOrigin:u,href:t},a.querySelector(e)===null&&(t=a.createElement("link"),Hl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Ms(l){Jt.D(l),wv("dns-prefetch",l,null)}function Ds(l,t){Jt.C(l,t),wv("preconnect",l,t)}function Us(l,t,u){Jt.L(l,t,u);var a=Ta;if(a&&l&&t){var e='link[rel="preload"][as="'+ct(t)+'"]';t==="image"&&u&&u.imageSrcSet?(e+='[imagesrcset="'+ct(u.imageSrcSet)+'"]',typeof u.imageSizes=="string"&&(e+='[imagesizes="'+ct(u.imageSizes)+'"]')):e+='[href="'+ct(l)+'"]';var n=e;switch(t){case"style":n=Ea(l);break;case"script":n=Aa(l)}ot.has(n)||(l=R({rel:"preload",href:t==="image"&&u&&u.imageSrcSet?void 0:l,as:t},u),ot.set(n,l),a.querySelector(e)!==null||t==="style"&&a.querySelector(me(n))||t==="script"&&a.querySelector(se(n))||(t=a.createElement("link"),Hl(t,"link",l),_l(t),a.head.appendChild(t)))}}function Hs(l,t){Jt.m(l,t);var u=Ta;if(u&&l){var a=t&&typeof t.as=="string"?t.as:"script",e='link[rel="modulepreload"][as="'+ct(a)+'"][href="'+ct(l)+'"]',n=e;switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":n=Aa(l)}if(!ot.has(n)&&(l=R({rel:"modulepreload",href:l},t),ot.set(n,l),u.querySelector(e)===null)){switch(a){case"audioworklet":case"paintworklet":case"serviceworker":case"sharedworker":case"worker":case"script":if(u.querySelector(se(n)))return}a=u.createElement("link"),Hl(a,"link",l),_l(a),u.head.appendChild(a)}}}function ps(l,t,u){Jt.S(l,t,u);var a=Ta;if(a&&l){var e=xu(a).hoistableStyles,n=Ea(l);t=t||"default";var f=e.get(n);if(!f){var c={loading:0,preload:null};if(f=a.querySelector(me(n)))c.loading=5;else{l=R({rel:"stylesheet",href:l,"data-precedence":t},u),(u=ot.get(n))&&$c(l,u);var i=f=a.createElement("link");_l(i),Hl(i,"link",l),i._p=new Promise(function(d,g){i.onload=d,i.onerror=g}),i.addEventListener("load",function(){c.loading|=1}),i.addEventListener("error",function(){c.loading|=2}),c.loading|=4,Mn(f,t,a)}f={type:"stylesheet",instance:f,count:1,state:c},e.set(n,f)}}}function Ns(l,t){Jt.X(l,t);var u=Ta;if(u&&l){var a=xu(u).hoistableScripts,e=Aa(l),n=a.get(e);n||(n=u.querySelector(se(e)),n||(l=R({src:l,async:!0},t),(t=ot.get(e))&&Fc(l,t),n=u.createElement("script"),_l(n),Hl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Rs(l,t){Jt.M(l,t);var u=Ta;if(u&&l){var a=xu(u).hoistableScripts,e=Aa(l),n=a.get(e);n||(n=u.querySelector(se(e)),n||(l=R({src:l,async:!0,type:"module"},t),(t=ot.get(e))&&Fc(l,t),n=u.createElement("script"),_l(n),Hl(n,"link",l),u.head.appendChild(n)),n={type:"script",instance:n,count:1,state:null},a.set(e,n))}}function Wv(l,t,u,a){var e=(e=X.current)?On(e):null;if(!e)throw Error(o(446));switch(l){case"meta":case"title":return null;case"style":return typeof u.precedence=="string"&&typeof u.href=="string"?(t=Ea(u.href),u=xu(e).hoistableStyles,a=u.get(t),a||(a={type:"style",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};case"link":if(u.rel==="stylesheet"&&typeof u.href=="string"&&typeof u.precedence=="string"){l=Ea(u.href);var n=xu(e).hoistableStyles,f=n.get(l);if(f||(e=e.ownerDocument||e,f={type:"stylesheet",instance:null,count:0,state:{loading:0,preload:null}},n.set(l,f),(n=e.querySelector(me(l)))&&!n._p&&(f.instance=n,f.state.loading=5),ot.has(l)||(u={rel:"preload",as:"style",href:u.href,crossOrigin:u.crossOrigin,integrity:u.integrity,media:u.media,hrefLang:u.hrefLang,referrerPolicy:u.referrerPolicy},ot.set(l,u),n||qs(e,l,u,f.state))),t&&a===null)throw Error(o(528,""));return f}if(t&&a!==null)throw Error(o(529,""));return null;case"script":return t=u.async,u=u.src,typeof u=="string"&&t&&typeof t!="function"&&typeof t!="symbol"?(t=Aa(u),u=xu(e).hoistableScripts,a=u.get(t),a||(a={type:"script",instance:null,count:0,state:null},u.set(t,a)),a):{type:"void",instance:null,count:0,state:null};default:throw Error(o(444,l))}}function Ea(l){return'href="'+ct(l)+'"'}function me(l){return'link[rel="stylesheet"]['+l+"]"}function $v(l){return R({},l,{"data-precedence":l.precedence,precedence:null})}function qs(l,t,u,a){l.querySelector('link[rel="preload"][as="style"]['+t+"]")?a.loading=1:(t=l.createElement("link"),a.preload=t,t.addEventListener("load",function(){return a.loading|=1}),t.addEventListener("error",function(){return a.loading|=2}),Hl(t,"link",u),_l(t),l.head.appendChild(t))}function Aa(l){return'[src="'+ct(l)+'"]'}function se(l){return"script[async]"+l}function Fv(l,t,u){if(t.count++,t.instance===null)switch(t.type){case"style":var a=l.querySelector('style[data-href~="'+ct(u.href)+'"]');if(a)return t.instance=a,_l(a),a;var e=R({},u,{"data-href":u.href,"data-precedence":u.precedence,href:null,precedence:null});return a=(l.ownerDocument||l).createElement("style"),_l(a),Hl(a,"style",e),Mn(a,u.precedence,l),t.instance=a;case"stylesheet":e=Ea(u.href);var n=l.querySelector(me(e));if(n)return t.state.loading|=4,t.instance=n,_l(n),n;a=$v(u),(e=ot.get(e))&&$c(a,e),n=(l.ownerDocument||l).createElement("link"),_l(n);var f=n;return f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Hl(n,"link",a),t.state.loading|=4,Mn(n,u.precedence,l),t.instance=n;case"script":return n=Aa(u.src),(e=l.querySelector(se(n)))?(t.instance=e,_l(e),e):(a=u,(e=ot.get(n))&&(a=R({},u),Fc(a,e)),l=l.ownerDocument||l,e=l.createElement("script"),_l(e),Hl(e,"link",a),l.head.appendChild(e),t.instance=e);case"void":return null;default:throw Error(o(443,t.type))}else t.type==="stylesheet"&&(t.state.loading&4)===0&&(a=t.instance,t.state.loading|=4,Mn(a,u.precedence,l));return t.instance}function Mn(l,t,u){for(var a=u.querySelectorAll('link[rel="stylesheet"][data-precedence],style[data-precedence]'),e=a.length?a[a.length-1]:null,n=e,f=0;f title"):null)}function Bs(l,t,u){if(u===1||t.itemProp!=null)return!1;switch(l){case"meta":case"title":return!0;case"style":if(typeof t.precedence!="string"||typeof t.href!="string"||t.href==="")break;return!0;case"link":if(typeof t.rel!="string"||typeof t.href!="string"||t.href===""||t.onLoad||t.onError)break;return t.rel==="stylesheet"?(l=t.disabled,typeof t.precedence=="string"&&l==null):!0;case"script":if(t.async&&typeof t.async!="function"&&typeof t.async!="symbol"&&!t.onLoad&&!t.onError&&t.src&&typeof t.src=="string")return!0}return!1}function Pv(l){return!(l.type==="stylesheet"&&(l.state.loading&3)===0)}function Cs(l,t,u,a){if(u.type==="stylesheet"&&(typeof a.media!="string"||matchMedia(a.media).matches!==!1)&&(u.state.loading&4)===0){if(u.instance===null){var e=Ea(a.href),n=t.querySelector(me(e));if(n){t=n._p,t!==null&&typeof t=="object"&&typeof t.then=="function"&&(l.count++,l=Un.bind(l),t.then(l,l)),u.state.loading|=4,u.instance=n,_l(n);return}n=t.ownerDocument||t,a=$v(a),(e=ot.get(e))&&$c(a,e),n=n.createElement("link"),_l(n);var f=n;f._p=new Promise(function(c,i){f.onload=c,f.onerror=i}),Hl(n,"link",a),u.instance=n}l.stylesheets===null&&(l.stylesheets=new Map),l.stylesheets.set(u,t),(t=u.state.preload)&&(u.state.loading&3)===0&&(l.count++,u=Un.bind(l),t.addEventListener("load",u),t.addEventListener("error",u))}}var kc=0;function Ys(l,t){return l.stylesheets&&l.count===0&&pn(l,l.stylesheets),0kc?50:800)+t);return l.unsuspend=u,function(){l.unsuspend=null,clearTimeout(a),clearTimeout(e)}}:null}function Un(){if(this.count--,this.count===0&&(this.imgCount===0||!this.waitingForImages)){if(this.stylesheets)pn(this,this.stylesheets);else if(this.unsuspend){var l=this.unsuspend;this.unsuspend=null,l()}}}var Hn=null;function pn(l,t){l.stylesheets=null,l.unsuspend!==null&&(l.count++,Hn=new Map,t.forEach(Gs,l),Hn=null,Un.call(l))}function Gs(l,t){if(!(t.state.loading&4)){var u=Hn.get(l);if(u)var a=u.get(null);else{u=new Map,Hn.set(l,u);for(var e=l.querySelectorAll("link[data-precedence],style[data-precedence]"),n=0;n"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(M)}catch{}}return M(),fi.exports=Ps(),fi.exports}var sd=ld();const td="_button_gy5mj_5",ud="_fullWidth_gy5mj_26",ad="_primary_gy5mj_30",ed="_secondary_gy5mj_35",nd="_settings_gy5mj_44",fd="_github_gy5mj_49",cd="_support_gy5mj_54",id="_small_gy5mj_59",yd="_medium_gy5mj_65",vd="_large_gy5mj_70",jn={"d-none":"_d-none_gy5mj_1",button:td,fullWidth:ud,primary:ad,secondary:ed,settings:nd,github:fd,support:cd,small:id,medium:yd,large:vd},dd=({variant:M="primary",size:hl="medium",fullWidth:F=!1,children:o,className:j,...J})=>{const ml=[jn.button,jn[M],jn[hl],F&&jn.fullWidth,j].filter(Boolean).join(" ");return vi.jsx("button",{type:"button",className:ml,...J,children:o})},hd=({size:M=14})=>vi.jsx("svg",{width:M,height:M,viewBox:"0 0 24 24",fill:"currentColor",children:vi.jsx("path",{d:"M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"})});export{dd as B,hd as G,sd as c,vi as j,md as r};
diff --git a/firefox/assets/js/background.bundle.js b/firefox/assets/js/background.bundle.js
new file mode 100644
index 0000000..59f2280
--- /dev/null
+++ b/firefox/assets/js/background.bundle.js
@@ -0,0 +1 @@
+import{b as r,g as n,s as i}from"./storage-DjahtsqZ.chunk.js";r.runtime.onInstalled.addListener(()=>{});r.runtime.onMessage.addListener(s=>{const e=s;if(e.type==="PAGE_VISITED"){n(["visitCount"]).then(({visitCount:t})=>{i({visitCount:t+1})});return}if(e.type==="GET_VISIT_COUNT")return n(["visitCount"]).then(({visitCount:t})=>({type:"VISIT_COUNT_RESPONSE",count:t}))});
diff --git a/firefox/assets/js/contentScript.bundle.js b/firefox/assets/js/contentScript.bundle.js
new file mode 100644
index 0000000..f3a9068
--- /dev/null
+++ b/firefox/assets/js/contentScript.bundle.js
@@ -0,0 +1 @@
+(function(){"use strict";function O(a){return a&&a.__esModule&&Object.prototype.hasOwnProperty.call(a,"default")?a.default:a}var h={exports:{}},B=h.exports,S;function j(){return S||(S=1,(function(a,f){(function(x,c){c(a)})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:B,function(x){if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw new Error("This script should only be loaded in a browser extension.");if(globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id)x.exports=globalThis.browser;else{const c="The message port closed before a response was received.",T=u=>{const C={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(C).length===0)throw new Error("api-metadata.json has not been included in browser-polyfill");class R extends WeakMap{constructor(r,n=void 0){super(n),this.createItem=r}get(r){return this.has(r)||this.set(r,this.createItem(r)),super.get(r)}}const D=e=>e&&typeof e=="object"&&typeof e.then=="function",_=(e,r)=>(...n)=>{u.runtime.lastError?e.reject(new Error(u.runtime.lastError.message)):r.singleCallbackArg||n.length<=1&&r.singleCallbackArg!==!1?e.resolve(n[0]):e.resolve(n)},w=e=>e==1?"argument":"arguments",U=(e,r)=>function(g,...i){if(i.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${w(r.maxArgs)} for ${e}(), got ${i.length}`);return new Promise((m,o)=>{if(r.fallbackToNoCallback)try{g[e](...i,_({resolve:m,reject:o},r))}catch(s){console.warn(`${e} API method doesn't seem to support the callback parameter, falling back to call it without a callback: `,s),g[e](...i),r.fallbackToNoCallback=!1,r.noCallback=!0,m()}else r.noCallback?(g[e](...i),m()):g[e](...i,_({resolve:m,reject:o},r))})},F=(e,r,n)=>new Proxy(r,{apply(g,i,m){return n.call(i,e,...m)}});let p=Function.call.bind(Object.prototype.hasOwnProperty);const y=(e,r={},n={})=>{let g=Object.create(null),i={has(o,s){return s in e||s in g},get(o,s,A){if(s in g)return g[s];if(!(s in e))return;let t=e[s];if(typeof t=="function")if(typeof r[s]=="function")t=F(e,e[s],r[s]);else if(p(n,s)){let d=U(s,n[s]);t=F(e,e[s],d)}else t=t.bind(e);else if(typeof t=="object"&&t!==null&&(p(r,s)||p(n,s)))t=y(t,r[s],n[s]);else if(p(n,"*"))t=y(t,r[s],n["*"]);else return Object.defineProperty(g,s,{configurable:!0,enumerable:!0,get(){return e[s]},set(d){e[s]=d}}),t;return g[s]=t,t},set(o,s,A,t){return s in g?g[s]=A:e[s]=A,!0},defineProperty(o,s,A){return Reflect.defineProperty(g,s,A)},deleteProperty(o,s){return Reflect.deleteProperty(g,s)}},m=Object.create(e);return new Proxy(m,i)},E=e=>({addListener(r,n,...g){r.addListener(e.get(n),...g)},hasListener(r,n){return r.hasListener(e.get(n))},removeListener(r,n){r.removeListener(e.get(n))}}),G=new R(e=>typeof e!="function"?e:function(n){const g=y(n,{},{getContent:{minArgs:0,maxArgs:0}});e(g)}),L=new R(e=>typeof e!="function"?e:function(n,g,i){let m=!1,o,s=new Promise(b=>{o=function(l){m=!0,b(l)}}),A;try{A=e(n,g,o)}catch(b){A=Promise.reject(b)}const t=A!==!0&&D(A);if(A!==!0&&!t&&!m)return!1;const d=b=>{b.then(l=>{i(l)},l=>{let P;l&&(l instanceof Error||typeof l.message=="string")?P=l.message:P="An unexpected error occurred",i({__mozWebExtensionPolyfillReject__:!0,message:P})}).catch(l=>{console.error("Failed to send onMessage rejected reply",l)})};return d(t?A:s),!0}),V=({reject:e,resolve:r},n)=>{u.runtime.lastError?u.runtime.lastError.message===c?r():e(new Error(u.runtime.lastError.message)):n&&n.__mozWebExtensionPolyfillReject__?e(new Error(n.message)):r(n)},$=(e,r,n,...g)=>{if(g.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${w(r.maxArgs)} for ${e}(), got ${g.length}`);return new Promise((i,m)=>{const o=V.bind(null,{resolve:i,reject:m});g.push(o),n.sendMessage(...g)})},Z={devtools:{network:{onRequestFinished:E(G)}},runtime:{onMessage:E(L),onMessageExternal:E(L),sendMessage:$.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:$.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},v={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return C.privacy={network:{"*":v},services:{"*":v},websites:{"*":v}},y(u,Z,C)};x.exports=T(chrome)}})})(h)),h.exports}var q=j();const k=O(q),I={username:"",enableLogging:!1,visitCount:0};async function W(a){const f=await k.storage.local.get(a),x={};for(const c of a)x[c]=f[c]??I[c];return x}function M(){const f=(document.body?.innerText||"").split(/\s+/).filter(T=>T.length>0).length,x=document.querySelectorAll("a").length,c=document.querySelectorAll("img").length;return{url:window.location.href,title:document.title,wordCount:f,linkCount:x,imageCount:c,timestamp:Date.now()}}k.runtime.onMessage.addListener(a=>{if(a.type==="GET_PAGE_INFO")return Promise.resolve({type:"PAGE_INFO_RESPONSE",data:M()})});function N(){const a=M();k.runtime.sendMessage({type:"PAGE_VISITED",data:a}).catch(()=>{})}document.readyState==="complete"?N():window.addEventListener("load",N),W(["enableLogging"]).then(({enableLogging:a})=>{a&&console.log("[Web Extension Starter] Content script loaded on:",window.location.href)})})();
diff --git a/firefox/assets/js/options.bundle.js b/firefox/assets/js/options.bundle.js
new file mode 100644
index 0000000..2f51f50
--- /dev/null
+++ b/firefox/assets/js/options.bundle.js
@@ -0,0 +1 @@
+import{j as e,r as c,B as u,G as _,c as x}from"./GitHubIcon-DnWgqK1U.chunk.js";import{g,s as b}from"./storage-DjahtsqZ.chunk.js";const f="_wrapper_v3h83_5",j="_label_v3h83_9",v="_input_v3h83_19",l={wrapper:f,label:j,input:v},N=({label:o,id:t,className:a,...r})=>e.jsxs("div",{className:l.wrapper,children:[o&&e.jsx("label",{htmlFor:t,className:l.label,children:o}),e.jsx("input",{id:t,className:`${l.input} ${a||""}`.trim(),...r})]}),k="_wrapper_oetqd_5",w="_checkbox_oetqd_21",S="_text_oetqd_29",h={wrapper:k,checkbox:w,text:S},y=({label:o,id:t,checked:a,onChange:r,...i})=>e.jsxs("label",{htmlFor:t,className:h.wrapper,children:[e.jsx("input",{type:"checkbox",id:t,className:h.checkbox,checked:a,onChange:r,...i}),e.jsx("span",{className:h.text,children:o})]}),E="_options_1hb5m_27",L="_header_1hb5m_32",C="_form_1hb5m_51",$="_section_1hb5m_59",q="_actions_1hb5m_63",B="_status_1hb5m_72",G="_footer_1hb5m_90",I="_githubLink_1hb5m_95",s={options:E,header:L,form:C,section:$,actions:q,status:B,footer:G,githubLink:I},z=()=>{const[o,t]=c.useState(""),[a,r]=c.useState(!1),[i,m]=c.useState(!1);c.useEffect(()=>{g(["username","enableLogging"]).then(n=>{t(n.username),r(n.enableLogging)})},[]);const d=async n=>{n.preventDefault(),await b({username:o,enableLogging:a}),m(!0),setTimeout(()=>m(!1),2e3)};return e.jsxs("div",{className:s.options,children:[e.jsxs("header",{className:s.header,children:[e.jsx("h1",{children:"Extension Settings"}),e.jsx("p",{children:"Configure your extension preferences"})]}),e.jsxs("form",{onSubmit:d,className:s.form,children:[e.jsx("div",{className:s.section,children:e.jsx(N,{label:"Your Name",id:"username",name:"username",placeholder:"Enter your name",spellCheck:!1,autoComplete:"off",value:o,onChange:n=>t(n.target.value)})}),e.jsx("div",{className:s.section,children:e.jsx(y,{id:"logging",name:"logging",label:"Show the features enabled on each page in the console",checked:a,onChange:n=>r(n.target.checked)})}),e.jsxs("div",{className:s.actions,children:[e.jsx(u,{type:"submit",variant:"primary",size:"large",children:"Save Settings"}),i&&e.jsx("span",{className:s.status,children:"Settings saved"})]})]}),e.jsx("footer",{className:s.footer,children:e.jsxs("a",{href:"https://github.com/abhijithvijayan/web-extension-starter",target:"_blank",rel:"noopener noreferrer",className:s.githubLink,children:[e.jsx(_,{size:18}),e.jsx("span",{children:"View on GitHub"})]})})]})},p=document.getElementById("options-root");if(!p)throw new Error("Could not find root container to mount the app");const F=x.createRoot(p);F.render(e.jsx(c.StrictMode,{children:e.jsx(z,{})}));
diff --git a/firefox/assets/js/popup.bundle.js b/firefox/assets/js/popup.bundle.js
new file mode 100644
index 0000000..fa14af9
--- /dev/null
+++ b/firefox/assets/js/popup.bundle.js
@@ -0,0 +1 @@
+import{j as t,B as m,G as C,r as l,c as I}from"./GitHubIcon-DnWgqK1U.chunk.js";import{b as r,g as w}from"./storage-DjahtsqZ.chunk.js";const y="_card_127h0_5",S="_large_127h0_13",T="_header_127h0_18",L="_title_127h0_25",_={card:y,large:S,header:T,title:L},k=({title:s,size:c="default",children:n,className:d})=>{const h=[_.card,c==="large"&&_.large,d].filter(Boolean).join(" ");return t.jsxs("div",{className:h,children:[s&&t.jsx("div",{className:_.header,children:t.jsx("span",{className:_.title,children:s})}),n]})},G="_content_1dzc3_5",E="_favicon_1dzc3_12",P="_faviconPlaceholder_1dzc3_22",M="_details_1dzc3_36",z="_title_1dzc3_41",U="_url_1dzc3_52",o={content:G,favicon:E,faviconPlaceholder:P,details:M,title:z,url:U},V=({title:s,url:c,favIconUrl:n,onReload:d})=>{const h=x=>x.charAt(0).toUpperCase();return t.jsxs(k,{title:"Current Tab",children:[t.jsxs("div",{className:o.content,children:[n?t.jsx("img",{src:n,alt:"",className:o.favicon}):t.jsx("div",{className:o.faviconPlaceholder,children:h(s)}),t.jsxs("div",{className:o.details,children:[t.jsx("p",{className:o.title,children:s}),t.jsx("p",{className:o.url,children:c})]})]}),t.jsx(m,{variant:"secondary",fullWidth:!0,onClick:d,children:"Reload Tab"})]})},W=({size:s=14})=>t.jsxs("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[t.jsx("circle",{cx:"12",cy:"12",r:"3"}),t.jsx("path",{d:"M12 1v2m0 18v2M4.22 4.22l1.42 1.42m12.72 12.72 1.42 1.42M1 12h2m18 0h2M4.22 19.78l1.42-1.42M18.36 5.64l1.42-1.42"})]}),B=({size:s=14})=>t.jsx("svg",{width:s,height:s,viewBox:"0 0 24 24",fill:"currentColor",children:t.jsx("path",{d:"M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"})}),$="_footer_6a002_5",H="_button_6a002_10",u={footer:$,button:H},R=({onSettings:s,onGitHub:c,onSupport:n})=>t.jsxs("div",{className:u.footer,children:[t.jsxs(m,{variant:"settings",size:"small",className:u.button,onClick:s,children:[t.jsx(W,{}),t.jsx("span",{children:"Settings"})]}),t.jsxs(m,{variant:"github",size:"small",className:u.button,onClick:c,children:[t.jsx(C,{}),t.jsx("span",{children:"GitHub"})]}),t.jsxs(m,{variant:"support",size:"small",className:u.button,onClick:n,children:[t.jsx(B,{}),t.jsx("span",{children:"Support"})]})]}),A="_popup_19dhs_24",O="_header_19dhs_29",q="_title_19dhs_36",F="_greeting_19dhs_47",D="_tabCard_19dhs_54",J="_statsCard_19dhs_58",K="_statsTitle_19dhs_66",Q="_statsGrid_19dhs_75",X="_statItem_19dhs_81",Y="_statValue_19dhs_90",Z="_statLabel_19dhs_96",tt="_visitCard_19dhs_102",st="_visitLabel_19dhs_113",et="_visitCount_19dhs_118",e={popup:A,header:O,title:q,greeting:F,tabCard:D,statsCard:J,statsTitle:K,statsGrid:Q,statItem:X,statValue:Y,statLabel:Z,visitCard:tt,visitLabel:st,visitCount:et};function j(s){return r.tabs.create({url:s})}const at=()=>{const[s,c]=l.useState(null),[n,d]=l.useState(null),[h,x]=l.useState(0),[p,f]=l.useState("");l.useEffect(()=>{r.tabs.query({active:!0,currentWindow:!0}).then(i=>{const a=i[0];a&&(c({title:a.title||"Unknown",url:a.url||"Unknown",favIconUrl:a.favIconUrl}),a.id&&r.tabs.sendMessage(a.id,{type:"GET_PAGE_INFO"}).then(N=>{const v=N;v?.data&&d(v.data)}).catch(()=>{}))}),r.runtime.sendMessage({type:"GET_VISIT_COUNT"}).then(i=>{const a=i;a?.count!==void 0&&x(a.count)}).catch(()=>{}),w(["username"]).then(({username:i})=>{f(i)})},[]);const g=async()=>{const a=(await r.tabs.query({active:!0,currentWindow:!0}))[0];a?.id&&await r.tabs.reload(a.id)};return t.jsxs("section",{className:e.popup,children:[t.jsxs("header",{className:e.header,children:[t.jsx("h1",{className:e.title,children:"Web Extension Starter"}),p&&t.jsxs("p",{className:e.greeting,children:["Hello, ",p,"!"]})]}),s&&t.jsx("div",{className:e.tabCard,children:t.jsx(V,{title:s.title,url:s.url,favIconUrl:s.favIconUrl,onReload:g})}),n&&t.jsxs("div",{className:e.statsCard,children:[t.jsx("h3",{className:e.statsTitle,children:"Page Stats"}),t.jsxs("div",{className:e.statsGrid,children:[t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.wordCount}),t.jsx("span",{className:e.statLabel,children:"Words"})]}),t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.linkCount}),t.jsx("span",{className:e.statLabel,children:"Links"})]}),t.jsxs("div",{className:e.statItem,children:[t.jsx("span",{className:e.statValue,children:n.imageCount}),t.jsx("span",{className:e.statLabel,children:"Images"})]})]})]}),t.jsxs("div",{className:e.visitCard,children:[t.jsx("span",{className:e.visitLabel,children:"Pages tracked:"}),t.jsx("span",{className:e.visitCount,children:h})]}),t.jsx(R,{onSettings:()=>j("/Options/options.html"),onGitHub:()=>j("https://github.com/abhijithvijayan/web-extension-starter"),onSupport:()=>j("https://www.buymeacoffee.com/abhijithvijayan")})]})},b=document.getElementById("popup-root");if(!b)throw new Error("Could not find root container to mount the app");const nt=I.createRoot(b);nt.render(t.jsx(l.StrictMode,{children:t.jsx(at,{})}));
diff --git a/firefox/assets/js/storage-DjahtsqZ.chunk.js b/firefox/assets/js/storage-DjahtsqZ.chunk.js
new file mode 100644
index 0000000..b789b2c
--- /dev/null
+++ b/firefox/assets/js/storage-DjahtsqZ.chunk.js
@@ -0,0 +1 @@
+function q(i){return i&&i.__esModule&&Object.prototype.hasOwnProperty.call(i,"default")?i.default:i}var p={exports:{}},W=p.exports,N;function D(){return N||(N=1,(function(i,v){(function(x,c){c(i)})(typeof globalThis<"u"?globalThis:typeof self<"u"?self:W,function(x){if(!(globalThis.chrome&&globalThis.chrome.runtime&&globalThis.chrome.runtime.id))throw new Error("This script should only be loaded in a browser extension.");if(globalThis.browser&&globalThis.browser.runtime&&globalThis.browser.runtime.id)x.exports=globalThis.browser;else{const c="The message port closed before a response was received.",F=u=>{const y={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(Object.keys(y).length===0)throw new Error("api-metadata.json has not been included in browser-polyfill");class E extends WeakMap{constructor(r,g=void 0){super(g),this.createItem=r}get(r){return this.has(r)||this.set(r,this.createItem(r)),super.get(r)}}const L=e=>e&&typeof e=="object"&&typeof e.then=="function",P=(e,r)=>(...g)=>{u.runtime.lastError?e.reject(new Error(u.runtime.lastError.message)):r.singleCallbackArg||g.length<=1&&r.singleCallbackArg!==!1?e.resolve(g[0]):e.resolve(g)},b=e=>e==1?"argument":"arguments",_=(e,r)=>function(n,...a){if(a.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${b(r.maxArgs)} for ${e}(), got ${a.length}`);return new Promise((m,A)=>{if(r.fallbackToNoCallback)try{n[e](...a,P({resolve:m,reject:A},r))}catch{n[e](...a),r.fallbackToNoCallback=!1,r.noCallback=!0,m()}else r.noCallback?(n[e](...a),m()):n[e](...a,P({resolve:m,reject:A},r))})},S=(e,r,g)=>new Proxy(r,{apply(n,a,m){return g.call(a,e,...m)}});let h=Function.call.bind(Object.prototype.hasOwnProperty);const w=(e,r={},g={})=>{let n=Object.create(null),a={has(A,s){return s in e||s in n},get(A,s,o){if(s in n)return n[s];if(!(s in e))return;let t=e[s];if(typeof t=="function")if(typeof r[s]=="function")t=S(e,e[s],r[s]);else if(h(g,s)){let f=_(s,g[s]);t=S(e,e[s],f)}else t=t.bind(e);else if(typeof t=="object"&&t!==null&&(h(r,s)||h(g,s)))t=w(t,r[s],g[s]);else if(h(g,"*"))t=w(t,r[s],g["*"]);else return Object.defineProperty(n,s,{configurable:!0,enumerable:!0,get(){return e[s]},set(f){e[s]=f}}),t;return n[s]=t,t},set(A,s,o,t){return s in n?n[s]=o:e[s]=o,!0},defineProperty(A,s,o){return Reflect.defineProperty(n,s,o)},deleteProperty(A,s){return Reflect.deleteProperty(n,s)}},m=Object.create(e);return new Proxy(m,a)},k=e=>({addListener(r,g,...n){r.addListener(e.get(g),...n)},hasListener(r,g){return r.hasListener(e.get(g))},removeListener(r,g){r.removeListener(e.get(g))}}),B=new E(e=>typeof e!="function"?e:function(g){const n=w(g,{},{getContent:{minArgs:0,maxArgs:0}});e(n)}),M=new E(e=>typeof e!="function"?e:function(g,n,a){let m=!1,A,s=new Promise(d=>{A=function(l){m=!0,d(l)}}),o;try{o=e(g,n,A)}catch(d){o=Promise.reject(d)}const t=o!==!0&&L(o);if(o!==!0&&!t&&!m)return!1;const f=d=>{d.then(l=>{a(l)},l=>{let T;l&&(l instanceof Error||typeof l.message=="string")?T=l.message:T="An unexpected error occurred",a({__mozWebExtensionPolyfillReject__:!0,message:T})}).catch(l=>{})};return f(t?o:s),!0}),j=({reject:e,resolve:r},g)=>{u.runtime.lastError?u.runtime.lastError.message===c?r():e(new Error(u.runtime.lastError.message)):g&&g.__mozWebExtensionPolyfillReject__?e(new Error(g.message)):r(g)},R=(e,r,g,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${b(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise((a,m)=>{const A=j.bind(null,{resolve:a,reject:m});n.push(A),g.sendMessage(...n)})},O={devtools:{network:{onRequestFinished:k(B)}},runtime:{onMessage:k(M),onMessageExternal:k(M),sendMessage:R.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:R.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},C={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return y.privacy={network:{"*":C},services:{"*":C},websites:{"*":C}},w(u,O,y)};x.exports=F(chrome)}})})(p)),p.exports}var U=D();const $=q(U),I={username:"",enableLogging:!1,visitCount:0};async function Z(i){const v=await $.storage.local.get(i),x={};for(const c of i)x[c]=v[c]??I[c];return x}async function z(i){await $.storage.local.set(i)}export{$ as b,Z as g,z as s};
diff --git a/firefox/css/options.css b/firefox/css/options.css
deleted file mode 100644
index f14742b..0000000
--- a/firefox/css/options.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);@import url(chrome://global/skin/in-content/common.css);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}:root{max-width:700px;margin:auto}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{display:block;box-sizing:border-box;margin-left:0;width:100%;resize:vertical;-moz-tab-size:4!important;tab-size:4!important}input[type=checkbox]{vertical-align:-.15em}textarea:not(:root):focus{border-color:#4d90fe;transition:border-color .2s}hr:not(:root){margin-right:-17px;margin-left:-17px;border:none;border-bottom:1px solid hsla(0,0%,66.7%,.27)}img{vertical-align:middle}@-moz-document url-prefix(""){:root{background-color:#fff}body{min-height:250px}body>*{margin-left:6px;margin-right:6px}input[type=checkbox]{vertical-align:-.4em}}@media (prefers-color-scheme:dark){:root{background-color:var(--in-content-box-background,#292a2d)}body,h3{color:var(--in-content-page-color,#e8eaed)}a{color:var(--in-content-link-color,#8ab4f8)}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{color:inherit;background-color:transparent}}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}
\ No newline at end of file
diff --git a/firefox/css/popup.css b/firefox/css/popup.css
deleted file mode 100644
index 14f64f0..0000000
--- a/firefox/css/popup.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}#popup{min-width:350px;padding:30px 20px}#popup h2{font-size:25px;text-align:center}#popup #options__button{width:50%;background:green;color:#fff;font-weight:500;border-radius:15px;padding:5px 10px;justify-content:center;margin:20px auto;cursor:pointer;opacity:.8;display:flex}#popup .links__holder ul{display:flex;margin-top:1em;justify-content:space-around}#popup .links__holder ul li button{border-radius:25px;font-size:20px;font-weight:600;padding:10px 17px;background-color:rgba(0,0,255,.7);color:#fff;cursor:pointer}
\ No newline at end of file
diff --git a/firefox/js/background.bundle.js b/firefox/js/background.bundle.js
deleted file mode 100644
index 6b233d4..0000000
--- a/firefox/js/background.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=4)}([function(e,r,s){var n,g,t;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,g=[e],void 0===(t="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const t=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},m=e=>1==e?"argument":"arguments",o=(e,r)=>function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(t){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",t),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))}))},i=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let A=Function.call.bind(Object.prototype.hasOwnProperty);const l=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,t,a){if(t in n)return n[t];if(!(t in e))return;let m=e[t];if("function"==typeof m)if("function"==typeof r[t])m=i(e,e[t],r[t]);else if(A(s,t)){let r=o(t,s[t]);m=i(e,e[t],r)}else m=m.bind(e);else if("object"==typeof m&&null!==m&&(A(r,t)||A(s,t)))m=l(m,r[t],s[t]);else{if(!A(s,"*"))return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:()=>e[t],set(r){e[t]=r}}),m;m=l(m,r[t],s["*"])}return n[t]=m,m},set:(r,s,g,t)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},t=Object.create(e);return new Proxy(t,g)},c=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let x=!1;const u=new g((e=>"function"!=typeof e?e:function(r,n,g){let a,m,o=!1,i=new Promise((e=>{a=function(r){x||(console.warn(s,(new Error).stack),x=!0),o=!0,e(r)}}));try{m=e(r,n,a)}catch(e){m=Promise.reject(e)}const A=!0!==m&&t(m);if(!0!==m&&!A&&!o)return!1;const l=e=>{e.then((e=>{g(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return l(A?m:i),!0})),d=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},f=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const g=d.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)}))},p={runtime:{onMessage:c(u),onMessageExternal:c(u),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},b={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":b},services:{"*":b},websites:{"*":b}},l(e,p,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=t)},function(e,r,s){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function g(e,r="🐶",s){const g=(t=e)&&(null==t?void 0:t.stack)&&(null==t?void 0:t.message)&&"string"==typeof t.stack&&"string"==typeof t.message;var t;const a=g?e.message:e,m=s||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(m)}‾\n ${r} < `,a,`\n \\_${"__".repeat(m)}_\n `),g&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return g("Meow","🐱"),this},r[n.ONE]=function(e){return g(e),this},r[n.TWO]=function(e,r){return g(r,e),this},r[n.THREE]=function(e,r,s){return g(r,e,s),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},,,function(e,r,s){"use strict";s.r(r);s(1);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.emoji("🦄","onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return Promise.resolve("got your message, thanks!")}))}]);
\ No newline at end of file
diff --git a/firefox/js/contentScript.bundle.js b/firefox/js/contentScript.bundle.js
deleted file mode 100644
index 96e0bb1..0000000
--- a/firefox/js/contentScript.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}({5:function(e,t){console.log("helloworld from content script")}});
\ No newline at end of file
diff --git a/firefox/js/options.bundle.js b/firefox/js/options.bundle.js
deleted file mode 100644
index 5aacf66..0000000
--- a/firefox/js/options.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=8)}({1:function(e,n,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(n,"__esModule",{value:!0});var o;function r(e,n="🐶",t){const r=(i=e)&&(null==i?void 0:i.stack)&&(null==i?void 0:i.message)&&"string"==typeof i.stack&&"string"==typeof i.message;var i;const u=r?e.message:e,c=t||(null==e?void 0:e.toString().length)*o.LINE_LENGTH_VARIABLE||o.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(c)}‾\n ${n} < `,u,`\n \\_${"__".repeat(c)}_\n `),r&&("undefined"!=typeof window?(console.groupCollapsed(n+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(n+" > Stack Trace:"),console.error(e.stack)))}n.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(o||(o={})),console.emoji=function(...e){const n=[];return n[0]=function(){return r("Meow","🐱"),this},n[o.ONE]=function(e){return r(e),this},n[o.TWO]=function(e,n){return r(n,e),this},n[o.THREE]=function(e,n,t){return r(n,e,t),this},this.emoji=function(...e){return n[e.length](...e),this},this.emoji(...e),this}},8:function(e,n,t){"use strict";t.r(n);t(1);console.emoji("🦄","Hello World from options main file!")}});
\ No newline at end of file
diff --git a/firefox/js/popup.bundle.js b/firefox/js/popup.bundle.js
deleted file mode 100644
index cc0b202..0000000
--- a/firefox/js/popup.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r,t){var n,s,o;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,s=[e],void 0===(o="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const o=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},i=e=>1==e?"argument":"arguments",g=(e,r)=>function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(o){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",o),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))}))},m=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let l=Function.call.bind(Object.prototype.hasOwnProperty);const c=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,o,a){if(o in n)return n[o];if(!(o in e))return;let i=e[o];if("function"==typeof i)if("function"==typeof r[o])i=m(e,e[o],r[o]);else if(l(t,o)){let r=g(o,t[o]);i=m(e,e[o],r)}else i=i.bind(e);else if("object"==typeof i&&null!==i&&(l(r,o)||l(t,o)))i=c(i,r[o],t[o]);else{if(!l(t,"*"))return Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:()=>e[o],set(r){e[o]=r}}),i;i=c(i,r[o],t["*"])}return n[o]=i,i},set:(r,t,s,o)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},o=Object.create(e);return new Proxy(o,s)},A=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let u=!1;const f=new s((e=>"function"!=typeof e?e:function(r,n,s){let a,i,g=!1,m=new Promise((e=>{a=function(r){u||(console.warn(t,(new Error).stack),u=!0),g=!0,e(r)}}));try{i=e(r,n,a)}catch(e){i=Promise.reject(e)}const l=!0!==i&&o(i);if(!0!==i&&!l&&!g)return!1;const c=e=>{e.then((e=>{s(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return c(l?i:m),!0})),h=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},d=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const s=h.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)}))},x={runtime:{onMessage:A(f),onMessageExternal:A(f),sendMessage:d.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:d.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},p={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":p},services:{"*":p},websites:{"*":p}},c(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=o)},function(e,r,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function s(e,r="🐶",t){const s=(o=e)&&(null==o?void 0:o.stack)&&(null==o?void 0:o.message)&&"string"==typeof o.stack&&"string"==typeof o.message;var o;const a=s?e.message:e,i=t||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(i)}‾\n ${r} < `,a,`\n \\_${"__".repeat(i)}_\n `),s&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return s("Meow","🐱"),this},r[n.ONE]=function(e){return s(e),this},r[n.TWO]=function(e,r){return s(r,e),this},r[n.THREE]=function(e,r,t){return s(r,e,t),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},function(e,r,t){e.exports=t(6)},,,,function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof h?r:h,o=Object.create(s.prototype),a=new T(n||[]);return o._invoke=function(e,r,t){var n=l;return function(s,o){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw o;return P()}for(t.method=s,t.arg=o;;){var a=t.delegate;if(a){var i=k(a,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,a),o}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function h(){}function d(){}function x(){}var p={};p[o]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(j([])));v&&v!==t&&n.call(v,o)&&(p=v);var b=x.prototype=h.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function E(e,r){function t(s,o,a,i){var g=m(e[s],e,o);if("throw"!==g.type){var l=g.arg,c=l.value;return c&&"object"==typeof c&&n.call(c,"__await")?r.resolve(c.__await).then((function(e){t("next",e,a,i)}),(function(e){t("throw",e,a,i)})):r.resolve(c).then((function(e){l.value=e,a(l)}),(function(e){return t("throw",e,a,i)}))}i(g.arg)}var s;this._invoke=function(e,n){function o(){return new r((function(r,s){t(e,n,r,s)}))}return s=s?s.then(o,o):o()}}function k(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,k(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var o=s.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function L(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function _(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function j(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,a=function t(){for(;++s=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var g=n.call(a,"catchLoc"),m=n.call(a,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),_(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;_(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:j(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,r,t){"use strict";t.r(r);var n=t(2),s=t.n(n),o=(t(1),t(0)),a=t.n(o);function i(e,r,t,n,s,o,a){try{var i=e[o](a),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var o=e.apply(r,t);function a(e){i(o,n,s,a,g,"next",e)}function g(e){i(o,n,s,a,g,"throw",e)}a(void 0)}))}}function m(e){return a.a.tabs.create({url:e})}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,a.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.emoji("🦄",n),document.getElementById("github__button").addEventListener("click",(function(){return m("https://github.com/abhijithvijayan/web-extension-starter")})),document.getElementById("donate__button").addEventListener("click",(function(){return m("https://www.buymeacoffee.com/abhijithvijayan")})),document.getElementById("options__button").addEventListener("click",(function(){return m("options.html")}));case 11:case"end":return e.stop()}}),e)}))))}]);
\ No newline at end of file
diff --git a/firefox/manifest.json b/firefox/manifest.json
index 24f9ec2..27198b2 100644
--- a/firefox/manifest.json
+++ b/firefox/manifest.json
@@ -1,7 +1,7 @@
{
- "manifest_version": 2,
+ "manifest_version": 3,
"name": "Sample WebExtension",
- "version": "1.0.0",
+ "version": "3.0.0",
"icons": {
"16": "assets/icons/favicon-16.png",
"32": "assets/icons/favicon-32.png",
@@ -13,45 +13,70 @@
"short_name": "Sample Name",
"permissions": [
"activeTab",
- "storage",
+ "storage"
+ ],
+ "optional_permissions": [],
+ "optional_host_permissions": [
"http://*/*",
"https://*/*"
],
- "content_security_policy": "script-src 'self'; object-src 'self'",
+ "content_security_policy": {
+ "extension_pages": "script-src 'self'; object-src 'self';"
+ },
"author": "abhijithvijayan",
- "applications": {
+ "browser_specific_settings": {
"gecko": {
- "id": "{754FB1AD-CC3B-4856-B6A0-7786F8CA9D17}"
+ "id": "{754FB1AD-CC3B-4856-B6A0-7786F8CA9D17}",
+ "strict_min_version": "112.0",
+ "data_collection_permissions": {
+ "required": [
+ "none"
+ ],
+ "optional": []
+ }
}
},
- "browser_action": {
- "default_popup": "popup.html",
+ "action": {
+ "default_popup": "Popup/popup.html",
"default_icon": {
"16": "assets/icons/favicon-16.png",
"32": "assets/icons/favicon-32.png",
"48": "assets/icons/favicon-48.png",
"128": "assets/icons/favicon-128.png"
},
- "default_title": "tiny title",
- "browser_style": false
+ "default_title": "tiny title"
},
"options_ui": {
- "page": "options.html",
+ "page": "Options/options.html",
"open_in_tab": true
},
"background": {
"scripts": [
- "js/background.bundle.js"
- ]
+ "assets/js/background.bundle.js"
+ ],
+ "type": "module"
},
"content_scripts": [
{
+ "run_at": "document_start",
"matches": [
"http://*/*",
"https://*/*"
],
+ "css": [],
"js": [
- "js/contentScript.bundle.js"
+ "assets/js/contentScript.bundle.js"
+ ]
+ }
+ ],
+ "web_accessible_resources": [
+ {
+ "resources": [
+ "assets/*"
+ ],
+ "matches": [
+ "http://*/*",
+ "https://*/*"
]
}
]
diff --git a/firefox/options.html b/firefox/options.html
deleted file mode 100644
index 4191126..0000000
--- a/firefox/options.html
+++ /dev/null
@@ -1 +0,0 @@
-Options
\ No newline at end of file
diff --git a/firefox/popup.html b/firefox/popup.html
deleted file mode 100644
index 2a196b1..0000000
--- a/firefox/popup.html
+++ /dev/null
@@ -1 +0,0 @@
-Popup
\ No newline at end of file
diff --git a/opera.crx b/opera.crx
deleted file mode 100644
index 330e811..0000000
Binary files a/opera.crx and /dev/null differ
diff --git a/opera/assets/icons/favicon-128.png b/opera/assets/icons/favicon-128.png
deleted file mode 100644
index a8b3fdd..0000000
Binary files a/opera/assets/icons/favicon-128.png and /dev/null differ
diff --git a/opera/assets/icons/favicon-16.png b/opera/assets/icons/favicon-16.png
deleted file mode 100644
index 67bbe65..0000000
Binary files a/opera/assets/icons/favicon-16.png and /dev/null differ
diff --git a/opera/assets/icons/favicon-32.png b/opera/assets/icons/favicon-32.png
deleted file mode 100644
index 92a38ce..0000000
Binary files a/opera/assets/icons/favicon-32.png and /dev/null differ
diff --git a/opera/assets/icons/favicon-48.png b/opera/assets/icons/favicon-48.png
deleted file mode 100644
index d41f7b8..0000000
Binary files a/opera/assets/icons/favicon-48.png and /dev/null differ
diff --git a/opera/css/options.css b/opera/css/options.css
deleted file mode 100644
index f14742b..0000000
--- a/opera/css/options.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);@import url(chrome://global/skin/in-content/common.css);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}:root{max-width:700px;margin:auto}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{display:block;box-sizing:border-box;margin-left:0;width:100%;resize:vertical;-moz-tab-size:4!important;tab-size:4!important}input[type=checkbox]{vertical-align:-.15em}textarea:not(:root):focus{border-color:#4d90fe;transition:border-color .2s}hr:not(:root){margin-right:-17px;margin-left:-17px;border:none;border-bottom:1px solid hsla(0,0%,66.7%,.27)}img{vertical-align:middle}@-moz-document url-prefix(""){:root{background-color:#fff}body{min-height:250px}body>*{margin-left:6px;margin-right:6px}input[type=checkbox]{vertical-align:-.4em}}@media (prefers-color-scheme:dark){:root{background-color:var(--in-content-box-background,#292a2d)}body,h3{color:var(--in-content-page-color,#e8eaed)}a{color:var(--in-content-link-color,#8ab4f8)}input:not([type]),input[type=number],input[type=password],input[type=search],input[type=text],input[type=url],textarea{color:inherit;background-color:transparent}}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}
\ No newline at end of file
diff --git a/opera/css/popup.css b/opera/css/popup.css
deleted file mode 100644
index 14f64f0..0000000
--- a/opera/css/popup.css
+++ /dev/null
@@ -1 +0,0 @@
-@import url(https://fonts.googleapis.com/css?family=Nunito:400,600);*,:after,:before{box-sizing:border-box}body,html,ol[class],ul[class]{padding:0}blockquote,body,dd,dl,figure,html,ol[class],ul[class]{margin:0}body,html{border:0}ol,ul{list-style:none}a:not([class]){text-decoration-skip-ink:auto}a:hover{text-decoration:none}img{max-width:100%;display:block}article>*+*{margin-top:1em}button,input,select,textarea{font:inherit}textarea{resize:none}button:focus,input:active,input:focus,textarea:active,textarea:focus{outline:none!important;box-shadow:none!important}h1,h2,h3,h4,h5{font-size:inherit;font-weight:inherit;margin:0 0 10px}p{margin:0 0 15px}:is(ul,ol)>:not(li),a:is(:not([href]),[href=""],[href="#"]){outline:2px dotted red}img:not([alt]),img:not([height]),img:not([width]){filter:blur(10px)}@media (prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}html{height:100%;scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.3;overflow-x:hidden;width:100%}*{margin:0;padding:0;border:0;outline:0}body{color:#0d0d0d;background-color:#f3f3f3}#popup{min-width:350px;padding:30px 20px}#popup h2{font-size:25px;text-align:center}#popup #options__button{width:50%;background:green;color:#fff;font-weight:500;border-radius:15px;padding:5px 10px;justify-content:center;margin:20px auto;cursor:pointer;opacity:.8;display:flex}#popup .links__holder ul{display:flex;margin-top:1em;justify-content:space-around}#popup .links__holder ul li button{border-radius:25px;font-size:20px;font-weight:600;padding:10px 17px;background-color:rgba(0,0,255,.7);color:#fff;cursor:pointer}
\ No newline at end of file
diff --git a/opera/js/background.bundle.js b/opera/js/background.bundle.js
deleted file mode 100644
index 6b233d4..0000000
--- a/opera/js/background.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function s(n){if(r[n])return r[n].exports;var g=r[n]={i:n,l:!1,exports:{}};return e[n].call(g.exports,g,g.exports,s),g.l=!0,g.exports}s.m=e,s.c=r,s.d=function(e,r,n){s.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},s.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},s.t=function(e,r){if(1&r&&(e=s(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(s.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var g in e)s.d(n,g,function(r){return e[r]}.bind(null,g));return n},s.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return s.d(r,"a",r),r},s.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},s.p="",s(s.s=4)}([function(e,r,s){var n,g,t;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,g=[e],void 0===(t="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",s="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class g extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const t=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,s)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):s.singleCallbackArg||n.length<=1&&!1!==s.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},m=e=>1==e?"argument":"arguments",o=(e,r)=>function(s,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((g,t)=>{if(r.fallbackToNoCallback)try{s[e](...n,a({resolve:g,reject:t},r))}catch(t){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",t),s[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,g()}else r.noCallback?(s[e](...n),g()):s[e](...n,a({resolve:g,reject:t},r))}))},i=(e,r,s)=>new Proxy(r,{apply:(r,n,g)=>s.call(n,e,...g)});let A=Function.call.bind(Object.prototype.hasOwnProperty);const l=(e,r={},s={})=>{let n=Object.create(null),g={has:(r,s)=>s in e||s in n,get(g,t,a){if(t in n)return n[t];if(!(t in e))return;let m=e[t];if("function"==typeof m)if("function"==typeof r[t])m=i(e,e[t],r[t]);else if(A(s,t)){let r=o(t,s[t]);m=i(e,e[t],r)}else m=m.bind(e);else if("object"==typeof m&&null!==m&&(A(r,t)||A(s,t)))m=l(m,r[t],s[t]);else{if(!A(s,"*"))return Object.defineProperty(n,t,{configurable:!0,enumerable:!0,get:()=>e[t],set(r){e[t]=r}}),m;m=l(m,r[t],s["*"])}return n[t]=m,m},set:(r,s,g,t)=>(s in n?n[s]=g:e[s]=g,!0),defineProperty:(e,r,s)=>Reflect.defineProperty(n,r,s),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},t=Object.create(e);return new Proxy(t,g)},c=e=>({addListener(r,s,...n){r.addListener(e.get(s),...n)},hasListener:(r,s)=>r.hasListener(e.get(s)),removeListener(r,s){r.removeListener(e.get(s))}});let x=!1;const u=new g((e=>"function"!=typeof e?e:function(r,n,g){let a,m,o=!1,i=new Promise((e=>{a=function(r){x||(console.warn(s,(new Error).stack),x=!0),o=!0,e(r)}}));try{m=e(r,n,a)}catch(e){m=Promise.reject(e)}const A=!0!==m&&t(m);if(!0!==m&&!A&&!o)return!1;const l=e=>{e.then((e=>{g(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",g({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return l(A?m:i),!0})),d=({reject:s,resolve:n},g)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():s(e.runtime.lastError):g&&g.__mozWebExtensionPolyfillReject__?s(new Error(g.message)):n(g)},f=(e,r,s,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${m(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const g=d.bind(null,{resolve:e,reject:r});n.push(g),s.sendMessage(...n)}))},p={runtime:{onMessage:c(u),onMessageExternal:c(u),sendMessage:f.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:f.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},b={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":b},services:{"*":b},websites:{"*":b}},l(e,p,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,g):n)||(e.exports=t)},function(e,r,s){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function g(e,r="🐶",s){const g=(t=e)&&(null==t?void 0:t.stack)&&(null==t?void 0:t.message)&&"string"==typeof t.stack&&"string"==typeof t.message;var t;const a=g?e.message:e,m=s||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(m)}‾\n ${r} < `,a,`\n \\_${"__".repeat(m)}_\n `),g&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return g("Meow","🐱"),this},r[n.ONE]=function(e){return g(e),this},r[n.TWO]=function(e,r){return g(r,e),this},r[n.THREE]=function(e,r,s){return g(r,e,s),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},,,function(e,r,s){"use strict";s.r(r);s(1);var n=s(0),g=s.n(n);g.a.runtime.onInstalled.addListener((function(){console.emoji("🦄","onInstalled....")})),g.a.runtime.onMessage.addListener((function(e,r,s){return Promise.resolve("got your message, thanks!")}))}]);
\ No newline at end of file
diff --git a/opera/js/contentScript.bundle.js b/opera/js/contentScript.bundle.js
deleted file mode 100644
index 96e0bb1..0000000
--- a/opera/js/contentScript.bundle.js
+++ /dev/null
@@ -1 +0,0 @@
-!function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=5)}({5:function(e,t){console.log("helloworld from content script")}});
\ No newline at end of file
diff --git a/opera/js/options.bundle.js b/opera/js/options.bundle.js
deleted file mode 100644
index 5aacf66..0000000
--- a/opera/js/options.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var n={};function t(o){if(n[o])return n[o].exports;var r=n[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,t),r.l=!0,r.exports}t.m=e,t.c=n,t.d=function(e,n,o){t.o(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:o})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,n){if(1&n&&(e=t(e)),8&n)return e;if(4&n&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(t.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&n&&"string"!=typeof e)for(var r in e)t.d(o,r,function(n){return e[n]}.bind(null,r));return o},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},t.p="",t(t.s=8)}({1:function(e,n,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(n,"__esModule",{value:!0});var o;function r(e,n="🐶",t){const r=(i=e)&&(null==i?void 0:i.stack)&&(null==i?void 0:i.message)&&"string"==typeof i.stack&&"string"==typeof i.message;var i;const u=r?e.message:e,c=t||(null==e?void 0:e.toString().length)*o.LINE_LENGTH_VARIABLE||o.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(c)}‾\n ${n} < `,u,`\n \\_${"__".repeat(c)}_\n `),r&&("undefined"!=typeof window?(console.groupCollapsed(n+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(n+" > Stack Trace:"),console.error(e.stack)))}n.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(o||(o={})),console.emoji=function(...e){const n=[];return n[0]=function(){return r("Meow","🐱"),this},n[o.ONE]=function(e){return r(e),this},n[o.TWO]=function(e,n){return r(n,e),this},n[o.THREE]=function(e,n,t){return r(n,e,t),this},this.emoji=function(...e){return n[e.length](...e),this},this.emoji(...e),this}},8:function(e,n,t){"use strict";t.r(n);t(1);console.emoji("🦄","Hello World from options main file!")}});
\ No newline at end of file
diff --git a/opera/js/popup.bundle.js b/opera/js/popup.bundle.js
deleted file mode 100644
index cc0b202..0000000
--- a/opera/js/popup.bundle.js
+++ /dev/null
@@ -1,34 +0,0 @@
-!function(e){var r={};function t(n){if(r[n])return r[n].exports;var s=r[n]={i:n,l:!1,exports:{}};return e[n].call(s.exports,s,s.exports,t),s.l=!0,s.exports}t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:n})},t.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},t.t=function(e,r){if(1&r&&(e=t(e)),8&r)return e;if(4&r&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(t.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&r&&"string"!=typeof e)for(var s in e)t.d(n,s,function(r){return e[r]}.bind(null,s));return n},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},t.p="",t(t.s=7)}([function(e,r,t){var n,s,o;"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self&&self,s=[e],void 0===(o="function"==typeof(n=function(e){"use strict";if("undefined"==typeof browser||Object.getPrototypeOf(browser)!==Object.prototype){const r="The message port closed before a response was received.",t="Returning a Promise is the preferred way to send a reply from an onMessage/onMessageExternal listener, as the sendResponse will be removed from the specs (See https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage)",n=e=>{const n={alarms:{clear:{minArgs:0,maxArgs:1},clearAll:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getAll:{minArgs:0,maxArgs:0}},bookmarks:{create:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},getChildren:{minArgs:1,maxArgs:1},getRecent:{minArgs:1,maxArgs:1},getSubTree:{minArgs:1,maxArgs:1},getTree:{minArgs:0,maxArgs:0},move:{minArgs:2,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeTree:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}},browserAction:{disable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},enable:{minArgs:0,maxArgs:1,fallbackToNoCallback:!0},getBadgeBackgroundColor:{minArgs:1,maxArgs:1},getBadgeText:{minArgs:1,maxArgs:1},getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},openPopup:{minArgs:0,maxArgs:0},setBadgeBackgroundColor:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setBadgeText:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},browsingData:{remove:{minArgs:2,maxArgs:2},removeCache:{minArgs:1,maxArgs:1},removeCookies:{minArgs:1,maxArgs:1},removeDownloads:{minArgs:1,maxArgs:1},removeFormData:{minArgs:1,maxArgs:1},removeHistory:{minArgs:1,maxArgs:1},removeLocalStorage:{minArgs:1,maxArgs:1},removePasswords:{minArgs:1,maxArgs:1},removePluginData:{minArgs:1,maxArgs:1},settings:{minArgs:0,maxArgs:0}},commands:{getAll:{minArgs:0,maxArgs:0}},contextMenus:{remove:{minArgs:1,maxArgs:1},removeAll:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},cookies:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:1,maxArgs:1},getAllCookieStores:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},devtools:{inspectedWindow:{eval:{minArgs:1,maxArgs:2,singleCallbackArg:!1}},panels:{create:{minArgs:3,maxArgs:3,singleCallbackArg:!0},elements:{createSidebarPane:{minArgs:1,maxArgs:1}}}},downloads:{cancel:{minArgs:1,maxArgs:1},download:{minArgs:1,maxArgs:1},erase:{minArgs:1,maxArgs:1},getFileIcon:{minArgs:1,maxArgs:2},open:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},pause:{minArgs:1,maxArgs:1},removeFile:{minArgs:1,maxArgs:1},resume:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},extension:{isAllowedFileSchemeAccess:{minArgs:0,maxArgs:0},isAllowedIncognitoAccess:{minArgs:0,maxArgs:0}},history:{addUrl:{minArgs:1,maxArgs:1},deleteAll:{minArgs:0,maxArgs:0},deleteRange:{minArgs:1,maxArgs:1},deleteUrl:{minArgs:1,maxArgs:1},getVisits:{minArgs:1,maxArgs:1},search:{minArgs:1,maxArgs:1}},i18n:{detectLanguage:{minArgs:1,maxArgs:1},getAcceptLanguages:{minArgs:0,maxArgs:0}},identity:{launchWebAuthFlow:{minArgs:1,maxArgs:1}},idle:{queryState:{minArgs:1,maxArgs:1}},management:{get:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},getSelf:{minArgs:0,maxArgs:0},setEnabled:{minArgs:2,maxArgs:2},uninstallSelf:{minArgs:0,maxArgs:1}},notifications:{clear:{minArgs:1,maxArgs:1},create:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:0},getPermissionLevel:{minArgs:0,maxArgs:0},update:{minArgs:2,maxArgs:2}},pageAction:{getPopup:{minArgs:1,maxArgs:1},getTitle:{minArgs:1,maxArgs:1},hide:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setIcon:{minArgs:1,maxArgs:1},setPopup:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},setTitle:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0},show:{minArgs:1,maxArgs:1,fallbackToNoCallback:!0}},permissions:{contains:{minArgs:1,maxArgs:1},getAll:{minArgs:0,maxArgs:0},remove:{minArgs:1,maxArgs:1},request:{minArgs:1,maxArgs:1}},runtime:{getBackgroundPage:{minArgs:0,maxArgs:0},getPlatformInfo:{minArgs:0,maxArgs:0},openOptionsPage:{minArgs:0,maxArgs:0},requestUpdateCheck:{minArgs:0,maxArgs:0},sendMessage:{minArgs:1,maxArgs:3},sendNativeMessage:{minArgs:2,maxArgs:2},setUninstallURL:{minArgs:1,maxArgs:1}},sessions:{getDevices:{minArgs:0,maxArgs:1},getRecentlyClosed:{minArgs:0,maxArgs:1},restore:{minArgs:0,maxArgs:1}},storage:{local:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}},managed:{get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1}},sync:{clear:{minArgs:0,maxArgs:0},get:{minArgs:0,maxArgs:1},getBytesInUse:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}}},tabs:{captureVisibleTab:{minArgs:0,maxArgs:2},create:{minArgs:1,maxArgs:1},detectLanguage:{minArgs:0,maxArgs:1},discard:{minArgs:0,maxArgs:1},duplicate:{minArgs:1,maxArgs:1},executeScript:{minArgs:1,maxArgs:2},get:{minArgs:1,maxArgs:1},getCurrent:{minArgs:0,maxArgs:0},getZoom:{minArgs:0,maxArgs:1},getZoomSettings:{minArgs:0,maxArgs:1},goBack:{minArgs:0,maxArgs:1},goForward:{minArgs:0,maxArgs:1},highlight:{minArgs:1,maxArgs:1},insertCSS:{minArgs:1,maxArgs:2},move:{minArgs:2,maxArgs:2},query:{minArgs:1,maxArgs:1},reload:{minArgs:0,maxArgs:2},remove:{minArgs:1,maxArgs:1},removeCSS:{minArgs:1,maxArgs:2},sendMessage:{minArgs:2,maxArgs:3},setZoom:{minArgs:1,maxArgs:2},setZoomSettings:{minArgs:1,maxArgs:2},update:{minArgs:1,maxArgs:2}},topSites:{get:{minArgs:0,maxArgs:0}},webNavigation:{getAllFrames:{minArgs:1,maxArgs:1},getFrame:{minArgs:1,maxArgs:1}},webRequest:{handlerBehaviorChanged:{minArgs:0,maxArgs:0}},windows:{create:{minArgs:0,maxArgs:1},get:{minArgs:1,maxArgs:2},getAll:{minArgs:0,maxArgs:1},getCurrent:{minArgs:0,maxArgs:1},getLastFocused:{minArgs:0,maxArgs:1},remove:{minArgs:1,maxArgs:1},update:{minArgs:2,maxArgs:2}}};if(0===Object.keys(n).length)throw new Error("api-metadata.json has not been included in browser-polyfill");class s extends WeakMap{constructor(e,r){super(r),this.createItem=e}get(e){return this.has(e)||this.set(e,this.createItem(e)),super.get(e)}}const o=e=>e&&"object"==typeof e&&"function"==typeof e.then,a=(r,t)=>(...n)=>{e.runtime.lastError?r.reject(e.runtime.lastError):t.singleCallbackArg||n.length<=1&&!1!==t.singleCallbackArg?r.resolve(n[0]):r.resolve(n)},i=e=>1==e?"argument":"arguments",g=(e,r)=>function(t,...n){if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((s,o)=>{if(r.fallbackToNoCallback)try{t[e](...n,a({resolve:s,reject:o},r))}catch(o){console.warn(e+" API method doesn't seem to support the callback parameter, falling back to call it without a callback: ",o),t[e](...n),r.fallbackToNoCallback=!1,r.noCallback=!0,s()}else r.noCallback?(t[e](...n),s()):t[e](...n,a({resolve:s,reject:o},r))}))},m=(e,r,t)=>new Proxy(r,{apply:(r,n,s)=>t.call(n,e,...s)});let l=Function.call.bind(Object.prototype.hasOwnProperty);const c=(e,r={},t={})=>{let n=Object.create(null),s={has:(r,t)=>t in e||t in n,get(s,o,a){if(o in n)return n[o];if(!(o in e))return;let i=e[o];if("function"==typeof i)if("function"==typeof r[o])i=m(e,e[o],r[o]);else if(l(t,o)){let r=g(o,t[o]);i=m(e,e[o],r)}else i=i.bind(e);else if("object"==typeof i&&null!==i&&(l(r,o)||l(t,o)))i=c(i,r[o],t[o]);else{if(!l(t,"*"))return Object.defineProperty(n,o,{configurable:!0,enumerable:!0,get:()=>e[o],set(r){e[o]=r}}),i;i=c(i,r[o],t["*"])}return n[o]=i,i},set:(r,t,s,o)=>(t in n?n[t]=s:e[t]=s,!0),defineProperty:(e,r,t)=>Reflect.defineProperty(n,r,t),deleteProperty:(e,r)=>Reflect.deleteProperty(n,r)},o=Object.create(e);return new Proxy(o,s)},A=e=>({addListener(r,t,...n){r.addListener(e.get(t),...n)},hasListener:(r,t)=>r.hasListener(e.get(t)),removeListener(r,t){r.removeListener(e.get(t))}});let u=!1;const f=new s((e=>"function"!=typeof e?e:function(r,n,s){let a,i,g=!1,m=new Promise((e=>{a=function(r){u||(console.warn(t,(new Error).stack),u=!0),g=!0,e(r)}}));try{i=e(r,n,a)}catch(e){i=Promise.reject(e)}const l=!0!==i&&o(i);if(!0!==i&&!l&&!g)return!1;const c=e=>{e.then((e=>{s(e)}),(e=>{let r;r=e&&(e instanceof Error||"string"==typeof e.message)?e.message:"An unexpected error occurred",s({__mozWebExtensionPolyfillReject__:!0,message:r})})).catch((e=>{console.error("Failed to send onMessage rejected reply",e)}))};return c(l?i:m),!0})),h=({reject:t,resolve:n},s)=>{e.runtime.lastError?e.runtime.lastError.message===r?n():t(e.runtime.lastError):s&&s.__mozWebExtensionPolyfillReject__?t(new Error(s.message)):n(s)},d=(e,r,t,...n)=>{if(n.lengthr.maxArgs)throw new Error(`Expected at most ${r.maxArgs} ${i(r.maxArgs)} for ${e}(), got ${n.length}`);return new Promise(((e,r)=>{const s=h.bind(null,{resolve:e,reject:r});n.push(s),t.sendMessage(...n)}))},x={runtime:{onMessage:A(f),onMessageExternal:A(f),sendMessage:d.bind(null,"sendMessage",{minArgs:1,maxArgs:3})},tabs:{sendMessage:d.bind(null,"sendMessage",{minArgs:2,maxArgs:3})}},p={clear:{minArgs:1,maxArgs:1},get:{minArgs:1,maxArgs:1},set:{minArgs:1,maxArgs:1}};return n.privacy={network:{"*":p},services:{"*":p},websites:{"*":p}},c(e,x,n)};if("object"!=typeof chrome||!chrome||!chrome.runtime||!chrome.runtime.id)throw new Error("This script should only be loaded in a browser extension.");e.exports=n(chrome)}else e.exports=browser})?n.apply(r,s):n)||(e.exports=o)},function(e,r,t){"use strict";
-/**
- * emoji-log
- *
- * @author abhijithvijayan
- * @license MIT License
- *
- * Art by Colin J. Randall
- *
- * \
- * \
- * \\
- * \\
- * >\/7
- * _.-(6' \
- * (=___._/` \
- * ) \ |
- * / / |
- * / > /
- * j < _\
- * _.-' : ``.
- * \ r=._\ `.
- * <`\\_ \ .`-.
- * \ r-7 `-. ._ ' . `\
- * \`, `-.`7 7) )
- * \/ \| \' / `-._
- * || .'
- * \\ (
- * >\ >
- * ,.-' >.'
- * <.'_.''
- * <'
- *
- */Object.defineProperty(r,"__esModule",{value:!0});var n;function s(e,r="🐶",t){const s=(o=e)&&(null==o?void 0:o.stack)&&(null==o?void 0:o.message)&&"string"==typeof o.stack&&"string"==typeof o.message;var o;const a=s?e.message:e,i=t||(null==e?void 0:e.toString().length)*n.LINE_LENGTH_VARIABLE||n.DEFAULT_LINE_LENGTH;console.log(`\n /‾${"‾‾".repeat(i)}‾\n ${r} < `,a,`\n \\_${"__".repeat(i)}_\n `),s&&("undefined"!=typeof window?(console.groupCollapsed(r+" > Stack Trace:"),console.error(e.stack),console.groupEnd()):(console.log(r+" > Stack Trace:"),console.error(e.stack)))}r.CustomConsole=class{},function(e){e[e.LINE_LENGTH_VARIABLE=.66]="LINE_LENGTH_VARIABLE",e[e.DEFAULT_LINE_LENGTH=4]="DEFAULT_LINE_LENGTH",e[e.ONE=1]="ONE",e[e.TWO=2]="TWO",e[e.THREE=3]="THREE"}(n||(n={})),console.emoji=function(...e){const r=[];return r[0]=function(){return s("Meow","🐱"),this},r[n.ONE]=function(e){return s(e),this},r[n.TWO]=function(e,r){return s(r,e),this},r[n.THREE]=function(e,r,t){return s(r,e,t),this},this.emoji=function(...e){return r[e.length](...e),this},this.emoji(...e),this}},function(e,r,t){e.exports=t(6)},,,,function(e,r,t){var n=function(e){"use strict";var r,t=Object.prototype,n=t.hasOwnProperty,s="function"==typeof Symbol?Symbol:{},o=s.iterator||"@@iterator",a=s.asyncIterator||"@@asyncIterator",i=s.toStringTag||"@@toStringTag";function g(e,r,t,n){var s=r&&r.prototype instanceof h?r:h,o=Object.create(s.prototype),a=new T(n||[]);return o._invoke=function(e,r,t){var n=l;return function(s,o){if(n===A)throw new Error("Generator is already running");if(n===u){if("throw"===s)throw o;return P()}for(t.method=s,t.arg=o;;){var a=t.delegate;if(a){var i=k(a,t);if(i){if(i===f)continue;return i}}if("next"===t.method)t.sent=t._sent=t.arg;else if("throw"===t.method){if(n===l)throw n=u,t.arg;t.dispatchException(t.arg)}else"return"===t.method&&t.abrupt("return",t.arg);n=A;var g=m(e,r,t);if("normal"===g.type){if(n=t.done?u:c,g.arg===f)continue;return{value:g.arg,done:t.done}}"throw"===g.type&&(n=u,t.method="throw",t.arg=g.arg)}}}(e,t,a),o}function m(e,r,t){try{return{type:"normal",arg:e.call(r,t)}}catch(e){return{type:"throw",arg:e}}}e.wrap=g;var l="suspendedStart",c="suspendedYield",A="executing",u="completed",f={};function h(){}function d(){}function x(){}var p={};p[o]=function(){return this};var y=Object.getPrototypeOf,v=y&&y(y(j([])));v&&v!==t&&n.call(v,o)&&(p=v);var b=x.prototype=h.prototype=Object.create(p);function w(e){["next","throw","return"].forEach((function(r){e[r]=function(e){return this._invoke(r,e)}}))}function E(e,r){function t(s,o,a,i){var g=m(e[s],e,o);if("throw"!==g.type){var l=g.arg,c=l.value;return c&&"object"==typeof c&&n.call(c,"__await")?r.resolve(c.__await).then((function(e){t("next",e,a,i)}),(function(e){t("throw",e,a,i)})):r.resolve(c).then((function(e){l.value=e,a(l)}),(function(e){return t("throw",e,a,i)}))}i(g.arg)}var s;this._invoke=function(e,n){function o(){return new r((function(r,s){t(e,n,r,s)}))}return s=s?s.then(o,o):o()}}function k(e,t){var n=e.iterator[t.method];if(n===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=r,k(e,t),"throw"===t.method))return f;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var s=m(n,e.iterator,t.arg);if("throw"===s.type)return t.method="throw",t.arg=s.arg,t.delegate=null,f;var o=s.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=r),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function L(e){var r={tryLoc:e[0]};1 in e&&(r.catchLoc=e[1]),2 in e&&(r.finallyLoc=e[2],r.afterLoc=e[3]),this.tryEntries.push(r)}function _(e){var r=e.completion||{};r.type="normal",delete r.arg,e.completion=r}function T(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(L,this),this.reset(!0)}function j(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var s=-1,a=function t(){for(;++s=0;--o){var a=this.tryEntries[o],i=a.completion;if("root"===a.tryLoc)return s("end");if(a.tryLoc<=this.prev){var g=n.call(a,"catchLoc"),m=n.call(a,"finallyLoc");if(g&&m){if(this.prev=0;--t){var s=this.tryEntries[t];if(s.tryLoc<=this.prev&&n.call(s,"finallyLoc")&&this.prev=0;--r){var t=this.tryEntries[r];if(t.finallyLoc===e)return this.complete(t.completion,t.afterLoc),_(t),f}},catch:function(e){for(var r=this.tryEntries.length-1;r>=0;--r){var t=this.tryEntries[r];if(t.tryLoc===e){var n=t.completion;if("throw"===n.type){var s=n.arg;_(t)}return s}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:j(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=r),f}},e}(e.exports);try{regeneratorRuntime=n}catch(e){Function("r","regeneratorRuntime = r")(n)}},function(e,r,t){"use strict";t.r(r);var n=t(2),s=t.n(n),o=(t(1),t(0)),a=t.n(o);function i(e,r,t,n,s,o,a){try{var i=e[o](a),g=i.value}catch(e){return void t(e)}i.done?r(g):Promise.resolve(g).then(n,s)}function g(e){return function(){var r=this,t=arguments;return new Promise((function(n,s){var o=e.apply(r,t);function a(e){i(o,n,s,a,g,"next",e)}function g(e){i(o,n,s,a,g,"throw",e)}a(void 0)}))}}function m(e){return a.a.tabs.create({url:e})}document.addEventListener("DOMContentLoaded",g(s.a.mark((function e(){var r,t,n;return s.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.a.tabs.query({active:!0,lastFocusedWindow:!0});case 2:return r=e.sent,t=r.length&&r[0].url,e.next=6,a.a.runtime.sendMessage({msg:"hello",url:t});case 6:n=e.sent,console.emoji("🦄",n),document.getElementById("github__button").addEventListener("click",(function(){return m("https://github.com/abhijithvijayan/web-extension-starter")})),document.getElementById("donate__button").addEventListener("click",(function(){return m("https://www.buymeacoffee.com/abhijithvijayan")})),document.getElementById("options__button").addEventListener("click",(function(){return m("options.html")}));case 11:case"end":return e.stop()}}),e)}))))}]);
\ No newline at end of file
diff --git a/opera/manifest.json b/opera/manifest.json
deleted file mode 100644
index fb12519..0000000
--- a/opera/manifest.json
+++ /dev/null
@@ -1,58 +0,0 @@
-{
- "manifest_version": 2,
- "name": "Sample WebExtension",
- "version": "1.0.0",
- "icons": {
- "16": "assets/icons/favicon-16.png",
- "32": "assets/icons/favicon-32.png",
- "48": "assets/icons/favicon-48.png",
- "128": "assets/icons/favicon-128.png"
- },
- "description": "Sample description",
- "homepage_url": "https://github.com/abhijithvijayan/web-extension-starter",
- "short_name": "Sample Name",
- "permissions": [
- "activeTab",
- "storage",
- "http://*/*",
- "https://*/*"
- ],
- "content_security_policy": "script-src 'self'; object-src 'self'",
- "developer": {
- "name": "abhijithvijayan"
- },
- "minimum_opera_version": "36",
- "browser_action": {
- "default_popup": "popup.html",
- "default_icon": {
- "16": "assets/icons/favicon-16.png",
- "32": "assets/icons/favicon-32.png",
- "48": "assets/icons/favicon-48.png",
- "128": "assets/icons/favicon-128.png"
- },
- "default_title": "tiny title",
- "chrome_style": false
- },
- "options_page": "options.html",
- "options_ui": {
- "page": "options.html",
- "open_in_tab": true
- },
- "background": {
- "scripts": [
- "js/background.bundle.js"
- ],
- "persistent": false
- },
- "content_scripts": [
- {
- "matches": [
- "http://*/*",
- "https://*/*"
- ],
- "js": [
- "js/contentScript.bundle.js"
- ]
- }
- ]
-}
\ No newline at end of file
diff --git a/opera/options.html b/opera/options.html
deleted file mode 100644
index 4191126..0000000
--- a/opera/options.html
+++ /dev/null
@@ -1 +0,0 @@
-Options
\ No newline at end of file
diff --git a/opera/popup.html b/opera/popup.html
deleted file mode 100644
index 2a196b1..0000000
--- a/opera/popup.html
+++ /dev/null
@@ -1 +0,0 @@
-Popup
\ No newline at end of file